Pink Petal Games

PyTFall => PyTFall: General information => Topic started by: Xela on December 28, 2012, 06:29:26 AM

Title: General Discussion
Post by: Xela on December 28, 2012, 06:29:26 AM
We still need writers, graphics and game designers so if you want to dedicate some of your time into development of this project, feel free to post here or PM me!


Anyway, some development snapshots:

(http://s14.postimg.org/o0xg6lt6l/screenshot0001.png) (http://postimg.org/image/o0xg6lt6l/) (http://s14.postimg.org/3r04rgs1p/screenshot0002.png) (http://postimg.org/image/3r04rgs1p/) (http://s14.postimg.org/6jtcbhse5/screenshot0003.png) (http://postimg.org/image/6jtcbhse5/) (http://s14.postimg.org/9o408a96l/screenshot0004.png) (http://postimg.org/image/9o408a96l/)

(http://s14.postimg.org/9a2o8op31/screenshot0005.png) (http://postimg.org/image/9a2o8op31/) (http://s14.postimg.org/we3519se5/screenshot0006.png) (http://postimg.org/image/we3519se5/) (http://s14.postimg.org/wof8ycwe5/screenshot0007.png) (http://postimg.org/image/wof8ycwe5/) (http://s14.postimg.org/7fptqy22l/screenshot0008.png) (http://postimg.org/image/7fptqy22l/)

(http://s14.postimg.org/fvjzm6ubh/screenshot0009.png) (http://postimg.org/image/fvjzm6ubh/) (http://s14.postimg.org/69qf5w35p/screenshot0010.png) (http://postimg.org/image/69qf5w35p/) (http://s14.postimg.org/kdmaeaad9/screenshot0011.png) (http://postimg.org/image/kdmaeaad9/) (http://s14.postimg.org/bssyn4071/screenshot0012.png) (http://postimg.org/image/bssyn4071/)

(http://s14.postimg.org/ll086i0hp/screenshot0013.png) (http://postimg.org/image/ll086i0hp/) (http://s14.postimg.org/lma5zx2bh/screenshot0014.png) (http://postimg.org/image/lma5zx2bh/) (http://s14.postimg.org/74hk5o0e5/screenshot0015.png) (http://postimg.org/image/74hk5o0e5/) (http://s14.postimg.org/qnm5f0z5p/screenshot0016.png) (http://postimg.org/image/qnm5f0z5p/)

(http://s14.postimg.org/fqktq9ce5/screenshot0017.png) (http://postimg.org/image/fqktq9ce5/) (http://s14.postimg.org/69v0jmsjh/screenshot0018.png) (http://postimg.org/image/69v0jmsjh/) (http://s14.postimg.org/r1nhemj99/screenshot0019.png) (http://postimg.org/image/r1nhemj99/) (http://s14.postimg.org/biq1hiayl/screenshot0020.png) (http://postimg.org/image/biq1hiayl/)

(http://s14.postimg.org/m6tsgckxp/screenshot0021.png) (http://postimg.org/image/m6tsgckxp/) (http://s14.postimg.org/f8poaemt9/screenshot0022.png) (http://postimg.org/image/f8poaemt9/) (http://s14.postimg.org/phi5g8av1/screenshot0023.png) (http://postimg.org/image/phi5g8av1/)
Title: Re: Writers needed!
Post by: DarkTl on December 28, 2012, 06:55:35 AM
Sadly, I'm extremely bad with writing as well as almost any another art. I couldn't even make a decent, good looking house when I tried to play Sims long ago  :D

But if you need help with pics and packs (searching, not drawing), count me in.
Title: Re: Writers needed!
Post by: Xela on December 28, 2012, 07:30:51 AM
Sadly, I'm extremely bad with writing as well as almost any another art. I couldn't even make a decent, good looking house when I tried to play Sims long ago  :D

But if you need help with pics and packs (searching, not drawing), count me in.

Haha, I have exactly the same problem, it would take me about the same time to code a bridge between girls and battle engine to transfer and set magic spells as writing 10 mediocre interactions :(

Well, if you want to help, this is what needs to be done:

1) I will need 5 - 10 new girls soon for meeting girls in town scenarios. I want to handle them same as SimBr 1x, you meet them, talk to them and interact until disposition is high enough to ask them to work for you. Mass producing packs is far to soon at this point (Stats could be changed and castes/locations added) but I will need a small amount for development purposes.

2) Pictures for items and maybe 6 new items for combat. I found some nice pics for brothel upgrades but couldn't find anything for advertisement and didn't try to find anything for items. It would be nice if each of 6 pieces of apparel and 6 items had an Anime/Game type picture coming with them.

3) Someone could design or borrow from another game 15 - 20 traits. I would prefer quality over quantity, traits can have any effect on the game like raising max for stats, effecting Jobs, Costumers and interactions. The more interesting they are the better but I guess that requires a degree of artistic creativity as well :(

In any case, this is a lot of work as it is already...
Title: Re: Writers needed!
Post by: DarkTl on December 28, 2012, 10:37:18 AM
Alright, I've managed to extract images from my favorite Kamidori Alchemy Meister's resources. There're all sorts of pictures: weapons, skills, furniture, ingredients, enemy and ally units, etc. Almost 4000 pictures totally.
(http://s002.youpic.su/pictures/1356642000/88a4ec6b0e4d054c7148e10548619d3b.jpg) (http://youpic.su) (http://s002.youpic.su/pictures/1356642000/4de3ba1d87456ecaf626c79a07cbc04d.png) (http://youpic.su) (http://s002.youpic.su/pictures/1356642000/369516e35d3faac0716dc6cf27b775c1.jpg) (http://youpic.su) (http://s002.youpic.su/pictures/1356642000/b9bdd2a3e31c0e0a0321c369220aaa49.jpg) (http://youpic.su) (http://s002.youpic.su/pictures/1356642000/0beadd334cbb0cfd659f8768a8b11c14.jpg) (http://youpic.su)

(http://s002.youpic.su/pictures/1356642000/fed046d751a8c398c2724d5171c8c483.jpg) (http://youpic.su) (http://s002.youpic.su/pictures/1356642000/thumb_5e5b054d7bc9eb7aa79499a4c24d6ca3.jpg) (http://youpic.su/view.php?id=s002.youpic.su/pictures/1356642000/5e5b054d7bc9eb7aa79499a4c24d6ca3.jpg) (http://s002.youpic.su/pictures/1356642000/thumb_495e2be1b1e13900c7c8417444c6302c.jpg) (http://youpic.su/view.php?id=s002.youpic.su/pictures/1356642000/495e2be1b1e13900c7c8417444c6302c.jpg)
Sorry about bones picture. I wish we have spoiler tag here.

I'll upload them somewhere if you want to use them.

However, most of them have alpha channels. For instance, scythe actually looks like (http://s002.youpic.su/pictures/1356642000/608ba163d4cafdf215b6c127d4fcef53.jpg) (http://youpic.su)
If you unable to work with alpha channels (or your game doesn't support it), I can remove them (but it'll take some time to modify so many pics).
Title: Re: Writers needed!
Post by: Xela on December 28, 2012, 11:09:54 AM
First release will only have 6 dresses, 6 items and maybe 2 each of weapons/armor and 2 potions so we don't actually need so many pics.

Enemies could be very useful, hopefully not all of those are so dark and ugly... allies will be drawn from girl's list.


Alpha masks are supported but I've never used those before, might be fun figuring it out.

Title: Re: Writers needed!
Post by: DarkTl on December 28, 2012, 11:43:58 AM
Of course, there're cute enemies as well. But you don't expect to meet only naked girls in Dark Deep Dungeon of Undead  :)
(http://s002.youpic.su/pictures/1356642000/thumb_250a5266888d3dce56eab263080a6190.jpg) (http://youpic.su/view.php?id=s002.youpic.su/pictures/1356642000/250a5266888d3dce56eab263080a6190.jpg)
All enemies are here (https://dl.dropbox.com/u/79429937/pic1.7z).
Here (https://dl.dropbox.com/u/79429937/Pics.7z) some weapons, potions and accessorizes. Game mechanics mostly doesn't use armor, I'll look for it somewhere else.

And I'm not sure what do you mean by advertisement pictures. Girls give brothel's leaflets to people on streets?
Title: Re: Writers needed!
Post by: GonDra on December 28, 2012, 12:21:18 PM
If you can give me examples (aka a dummy Trait or two) I will try my hand at it.
I have mostly forgotten how SimBr 1x was and played so I will look that up later, before thinking about meeting scripts - also do you already have a collection of pictures for your girls, if so it would help to have a list of names and (if you want them to act accordingly) the series/manga.

I won't promise anything, but it will try to write something.
Title: Re: Writers needed!
Post by: Xela on December 28, 2012, 12:37:12 PM
Of course, there're cute enemies as well. But you don't expect to meet only naked girls in Dark Deep Dungeon of Undead  :)
(http://s002.youpic.su/pictures/1356642000/thumb_250a5266888d3dce56eab263080a6190.jpg) (http://youpic.su/view.php?id=s002.youpic.su/pictures/1356642000/250a5266888d3dce56eab263080a6190.jpg)
All enemies are here (https://dl.dropbox.com/u/79429937/pic1.7z).
Here (https://dl.dropbox.com/u/79429937/Pics.7z) some weapons, potions and accessorizes. Game mechanics mostly doesn't use armor, I'll look for it somewhere else.

Ok, couple of decent enemies there! Also I think there is a form of white energy effect that could be useful as extra spell.

And I'm not sure what do you mean by advertisement pictures. Girls give brothel's leaflets to people on streets?

LoL

That would be hard to find :) Maybe some just some nice looking girls talking to the crowd or giving out any sort of leaflets. I tried but gave up on it...
Title: Re: Writers needed!
Post by: hewhocumsbynight on December 28, 2012, 12:47:08 PM
I could really use a couple of people to help me out with texts for PyTFall. If you don't like writing but like hunting for pics and/or making packs, some help is needed in those areas as well.

Let me know if you're interested.

Hey, I know I kinda bailed on you before, but RL interfered in the form of finals and family.  I apologize for my sudden exit, but, if you want, I can help you with writing.  I'm not the best writer, but I'm not the worst either.  So, I'd be interested.
Title: Re: Writers needed!
Post by: DarkTl on December 28, 2012, 12:57:23 PM
Maybe some just some nice looking girls talking to the crowd or giving out any sort of leaflets. I tried but gave up on it...
I'll do my best.

Btw, it seems that Alchemy Meister uses mpeg files in combat, like this (https://dl.dropbox.com/u/79429937/MVB904.MPG) one. If you can and want to use them too, I'll upload 'em.
Title: Re: Writers needed!
Post by: Xela on December 28, 2012, 01:12:41 PM
If you can give me examples (aka a dummy Trait or two) I will try my hand at it.

Well, traits are non-existent in the game right now so there are no dummies. There are two approaches we could try:

There was already someone who tried to make a list for PyTFall on SimBro forums but he disappeared somewhere... This was my post to him:

#####################################
Design or borrow from the original (or both) around 10 - 15 (or any amount) traits and write them down for me. Should be in following format:

1) Name of a trait
2) Description of a trait
3) Stats level Max/Min penalty or increase
4) Active Effect during jobs
5) Special effects
6) Conditions to acquire.


Let me clarify a little bit:
1) Name of the trait is what the trait is called, it will appear on the screen like Abilities in original SimBrothel.
2) Description will describe a trait when you hover with your mouse over it.
3) Stat level cap penalty or increase. This will modify maximum value of a stat (for example) 'Blowjob Addict' may raise stat cap of Blowjob to 150 instead of 100, Trait like Noble might raise Refinement by 20, Refinement Max by 20 and set Minimum refinement a girl could have to 30.
4) Active effects are the things that happen as girls preform jobs. For example 'Cute' trait might increase costumer satisfaction and give a random 30% chance to increase Charisma by +1 every day or something along those lines or 'Blowjob Addict' trait will make girl ask costumers if they want a blowjob even if they came for 'Normalsex' and have a 50/50% chance of Blowjob stat increase each day.
5) Special effects is too broad but if you can think of something, put that into writing. These are things like special conversations or interactions if you met girl with this trait in town or special behavior during jobs like refusing one type of act but asking if costumer prefers another.
6) Conditions to acquire. How can a girl get this trait if she did not have it from the beginning? This is also very broad, this can be you having a specific amount of conversations with the girl or a certain amount of interactions or during preforming jobs as a random chance or spending a fixed amount of days in a certain school or even better random chance that increases with every day that girl spends in school...
#################################


Even if it takes longer than simply borrowing Alkion's traits system, I want to write separate functions for each trait to make them meaningful and less generic.

I've ripped apart original SimBrothel and these are traits used in it (Does not mean that we actually have to use these obviously):

"Splendid Body";
"Big breast";
"Rest";
"Smart";
"Strong";
"Shy";
"Lolita";
"Artist";
"Maid";
"Happiness";
"Lucky";
"Tough";
"Nymphomaniac";
"Obedient";
"Sex Addict";
"Experience";
"Good Health";
"Exhibitionnist";
"Famous";
"Tips";
"Noble";
"Excellent Reputation";
"Cat Girl";

I have mostly forgotten how SimBr 1x was and played so I will look that up later, before thinking about meeting scripts - also do you already have a collection of pictures for your girls, if so it would help to have a list of names and (if you want them to act accordingly) the series/manga.

No list yet but we are talking about generic texts right now, modders can take care of individual events for girls later if they want to. My concern right now are texts for when you meet girls in town and have to interact with them in different ways to increase their disposition for you. Same as with SimBro 1x but with nicer graphics. Also in SimBro many responses are based on girl's traits, that is also something to consider.


Last thing are interactions with girls that you already own.

In any case, if you want to try a hand at something, tell me and I will explain what needs to be done in more detail.
Title: Re: Writers needed!
Post by: Xela on December 28, 2012, 01:17:02 PM
Hey, I know I kinda bailed on you before, but RL interfered in the form of finals and family.  I apologize for my sudden exit, but, if you want, I can help you with writing.  I'm not the best writer, but I'm not the worst either.  So, I'd be interested.

Great! Well, first thing: Download the current version of PytFall and read the script in Tifa's folder, see if you have any questions and how much of it do you understand?
Title: Re: Writers needed!
Post by: DarkTl on December 28, 2012, 02:59:38 PM
I've found (https://dl.dropbox.com/u/79429937/flyers.7z) a couple of more or less "advertising" pics. It's been a long time, so I don't remember all those great sites I've used before. If I'll find them again, there will be more.
Title: Re: Writers needed!
Post by: Xela on December 28, 2012, 03:11:27 PM
I've found (https://dl.dropbox.com/u/79429937/flyers.7z) a couple of more or less "advertising" pics. It's been a long time, so I don't remember all those great sites I've used before. If I'll find them again, there will be more.

 Awesome pic for hiring girls to advertise advertising!

 Well, if you can find pics like some lord entering in a building, billboard and so on, game already will look that much better, plus we can also remove advertising forms with no pictures and replace those with something we can find pictures for.
Title: Re: Writers needed!
Post by: DarkTl on December 28, 2012, 05:29:08 PM
Now that's a bit difficult. I'll see what I can do.
Take a look at this (https://dl.dropbox.com/u/79429937/flyers1.7z) in the meantime, perhaps you'll find something useful.
Title: Re: Writers needed!
Post by: hewhocumsbynight on December 28, 2012, 05:41:54 PM
Great! Well, first thing: Download the current version of PytFall and read the script in Tifa's folder, see if you have any questions and how much of it do you understand?

I'm sorry, I am really out of the loop.  Where can I find the latest version?
Title: Re: Writers needed!
Post by: Xela on December 28, 2012, 05:45:54 PM
Now that's a bit difficult. I'll see what I can do.
Take a look at this (https://dl.dropbox.com/u/79429937/flyers1.7z) in the meantime, perhaps you'll find something useful.

One of the pics could be used as an option for strip club...
Title: Re: Writers needed!
Post by: Xela on December 28, 2012, 05:54:05 PM
I'm sorry, I am really out of the loop.  Where can I find the latest version?


My thread in Mods section: http://pinkpetal.org/index.php?topic=824.0

This is the link for direct dowload: http://sharesix.com/s9980c1sl4si (http://sharesix.com/s9980c1sl4si)

RenPy script is very basic, interactions and girl meeting will be done in a very similar way to Tifa's quest. It will take 30 - 60 minutes to figure out but then it just feels like plain writing without the code.

I'll see if I can get some sleep...
Title: Re: Writers needed!
Post by: hewhocumsbynight on December 28, 2012, 08:31:07 PM
Thanks!  I'll review it tonight, and tell you if I have any questions!
Title: Re: Writers needed!
Post by: Unchained on December 28, 2012, 10:30:11 PM
I downloaded Pytfall to see what kind of writing was needed, but I see that a when I put it through my unzipper it's telling me that it's a locked archive and I need a password.

Is there something basic I'm missing here?
Title: Re: Writers needed!
Post by: Xela on December 29, 2012, 05:03:52 AM
I downloaded Pytfall to see what kind of writing was needed, but I see that a when I put it through my unzipper it's telling me that it's a locked archive and I need a password.

Is there something basic I'm missing here?

It's not locked so what you're missing is likely a good archive manager: http://www.rarlab.com/download.htm (http://www.rarlab.com/download.htm)

Well, since there is a chance that someone will take care of writing, I will not stuff girl interactions screen with content (writing+pics) that was planned for the weekend but will work on adding ranks, meet in town system and magic spells bridge from sGirl class to battle engine.
Title: Re: Writers needed!
Post by: GonDra on December 29, 2012, 12:03:45 PM
So I played around with PyTFall a bit to get a feel for the game and found a few things in the next day thing that could be written better.
Here is a googledoc with a few suggestions from me - I am sure some of these are pretty bad as I didn't check them again and I am a pretty tired today.
(there shouldn't be the need for a google account to comment if I didn't screw up.)

a small bug i found: the buy girl screen doesn't show the correct day.
bigger bug: it seems like resting a girl dooesn't work ( or am I doing something wrong?)

I tried working on traits yesterday after I came back from a party but I didn't have the heart looking into that document yet.

edit: removed the link to the googledoc because it is now irrelevant
Title: Re: Writers needed!
Post by: hewhocumsbynight on December 29, 2012, 12:23:37 PM
I am truly sorry, Xela, but I am pretty sure that this level of code-writing is far beyond my abilities.  I apologize for wasting your time.
Title: Re: Writers needed!
Post by: Xela on December 29, 2012, 12:48:33 PM
So I played around with PyTFall a bit to get a feel for the game and found a few things in the next day thing that could be written better.
Here is a googledoc (https://docs.google.com/document/d/1QPCt-56J_6J4Sab6bOciSJboI0vg4zUqdYlkn_r8Mgo/edit) with a few suggestions from me - I am sure some of these are pretty bad as I didn't check them again and I am a pretty tired today.
(there shouldn't be the need for a google account to comment if I didn't screw up.)

a small bug i found: the buy girl screen doesn't show the correct day.
bigger bug: it seems like resting a girl dooesn't work ( or am I doing something wrong?)

I tried working on traits yesterday after I came back from a party but I didn't have the heart looking into that document yet.

Right...

Bug on girl screen: Nice catch, I'll fix that.
Resting should work fine? I am not sure what the problem is there.

Your texts are a lot better than mine!
Peasants, Beggars, Merchants and so on are variations of costumer's 'Caste'. Girls will have ranks to match those castes. If costumers caste is lower than girl's rank, she may refuse him. That will be coded in later. The kind of costumers that visit the brothel is determined by brothel's reputation.
 
Title: Re: Writers needed!
Post by: Xela on December 29, 2012, 12:54:16 PM
I am truly sorry, Xela, but I am pretty sure that this level of code-writing is far beyond my abilities.  I apologize for wasting your time.

I wouldn't call that code... in any case, if you're still up for writing texts, tell me. I'll put them into the game myself.
Title: Re: Writers needed!
Post by: hewhocumsbynight on December 29, 2012, 12:56:20 PM
I can write lines, but someone else will have to insert.  Truly, my inexperience knows few bounds.

Anyway, where do you want me to start?
Title: Re: Writers needed!
Post by: GonDra on December 29, 2012, 01:37:14 PM
Resting should work fine? I am not sure what the problem is there.
If I set a girl to rest, the 'Fatigue' counter goes up instead of down, regardless of items on her, garden or bar attachment of the brothel.
Also it would be nice if you could get to the jobs of a girl easier than now.

Your texts are a lot better than mine!
Peasants, Beggars, Merchants and so on are variations of costumer's 'Caste'. Girls will have ranks to match those castes. If costumers caste is lower than girl's rank, she may refuse him. That will be coded in later. The kind of costumers that visit the brothel is determined by brothel's reputation.
Thanks but I think some are a bit... 'cheesy' for a lack of a better word.
I had gathered the thing with the castes, it is a good idea although I hope you implement it the other way round too (high class customers rejecting low class girls sometimes/always).
Title: Re: Writers needed!
Post by: Xela on December 29, 2012, 01:59:39 PM
If I set a girl to rest, the 'Fatigue' counter goes up instead of down, regardless of items on her, garden or bar attachment of the brothel.
Also it would be nice if you could get to the jobs of a girl easier than now.

LooooL

Yeah, you're right, I didn't know that. The trouble is that those functions are very raw, I was planning to advance those between version 0.2 and 0.3, but roadmap is in no way set in stone.

Clients rejecting girls is a must as well, it is all very easy to code in.

By the way, see if you can figure out any of the actual code, cause if you can it would be easier just to send you the dev version so you can edit/add texts yourself.

Code: [Select]
        def whore(self, char, girl, hero):
           
            img = None # Image category displayed to player.
            txt = '' # Variable to contain all texts of events
            evtlist = [] # List of events to be appended to global
            chr = char[girl] # Variable refering to specific girl we're dealing with
            client = Customer(self.rep,self.fame) # Client is created here. His stats are based of brothel's stats (reputation and fame)
           
            chr.AP -= 1 # First thing we do is decreasing our girl's Action Points by one, if her AP is 0 or below, game would not run this function

           
            if chr.health < 60: # First thing we check for is her health, if below 60, her injuries will not allow her to work
                ilists.WhrsinBrtlList.remove(chr.id) # This removes her brothel whoring for the rest of the day
                txt = txt + "This girl is injured and is in need of medical attention" # We add this text to variable txt we declared ealier
                img = 'profile' # We provide picture category, I would like this to be rest in the future
               
                ident = os.urandom(8) # This is a precaucion. We make sure that there is a no way in hell we get two of the same enteries in one list by generating a random from 8 unicode characters.
                evtlist.append(self.id) # Appending brothel id, we can sort by brothels on next day list in the future
                evtlist.append(chr) # We append girl herself
                evtlist.append(img) # Adding image category to the list
                evtlist.append(txt) # Adding text
                evtlist.append(ident) # and finally adding the unique ID
                NextDayList.append(evtlist) # This is the very last thing that we do, NextDayList is the only Global variable we have in the game at this point. It will contain all info Next day needs to show us.
                return # Breaking out of this method, since she cannot work due to injury, rest of this method is useless.
               
            if chr.fatigue > 260: # Same thing for fatique, if she is in good health but very tired, we remove do not allow her to whore this day
                ilists.WhrsinBrtlList.remove(chr.id)
                txt = txt + "This girl is to tired to move, let along fuck someone (something)"
                img = 'profile'
               
                ident = os.urandom(8)
                evtlist.append(self.id)
                evtlist.append(chr)
                evtlist.append(img)
                evtlist.append(txt)
                evtlist.append(ident)
                NextDayList.append(evtlist)
                return               
           
            txt = txt + '%s came into %s and requested %s for a sweet act of %s. \n'%(client.caste, self.name, chr.name, client.act)
            # Ok, if we got this far, she is both, healthy and energetic. Code above adds first line to interactions text. %s means we insert something into the next, here we insernt: Caste of the client, Name of the brothel, Name of the charecter, Act he/she requested.
            if client.act == 'sex':

                txt = txt + random.choice(['They had a really good time!\n',
                                                          'He looked at her hungerly, then rushed towards her. Her pussy felt like heaven to him!'])
                # Random choice will pick one of the options for the list, basically random.choice() method, picking one of the options from a list ['They.....', 'He.....', 'Bla bla bla and so on']
                chr.mod('normalsex', +2) # adding 2 to sex stat, chr.mod method will insure that stat remains within Max and Min of the stat, if we just used chr.normalsex += 2 we could go above Max value (100 by default)
                chr.mod('constitution', +2) # same for constitution
                chr.mod('fatigue', +20)
                hero.add_money(client.cash) # giving main player clients money, this whole 'whore' method is raw so right now hero gets whatever costumer comes with.
                repmodify = random.randint(1,3) # Just creating a variable with a value between 1 to 3.
                self.modrep(repmodify) # Modding brothels reputation, since this is the method of brothel class, self refers to whatever brothel we're in.
                txt = txt + "He paid her %s of gold. Brothel's reputation increased by %s\n"%(client.cash,repmodify) # More text, by the way \n means that next text we append will start from a new line
                txt = txt + 'Her Sex and Constitution went up!\n'
                img = 'sex' # Picking the image again
               
            if client.act == 'anal': # Client wants anal

                txt = txt + random.choice(['He pushed towards the bed and took her in the butt like there is no tomorrow!\n',
                                                          'They had a really good time!\n'])
                chr.mod('anal', +2)
                chr.mod('constitution', +2)
                chr.mod('fatigue', +20)
                hero.add_money(client.cash)
                repmodify = random.randint(1,3)
                self.modrep(repmodify)
                txt = txt + "He paid her %s of gold. Brothel's reputation increased by %s\n"%(client.cash,repmodify)
                txt = txt + 'Her Anal and Constitution went up!\n'
                img = 'anal'
               
            if client.act == 'blowjob':

                txt = txt + random.choice(['They had a really good time!\n',
                                                          'He slapped her face with his cock little bit and then shoved it all the way into her throat!\n'])
                chr.mod('blowjob', +2)
                chr.mod('constitution', +2)
                chr.mod('fatigue', +20)
                hero.add_money(client.cash)
                repmodify = random.randint(1,3)
                self.modrep(repmodify)
                txt = txt + "He paid her %s of gold. Brothel's reputation increase by %s\n"%(client.cash,repmodify)
                txt = txt + 'Her Blowjob and Constitution went up!\n'
                img = 'blowjob'

            if client.act == 'lesbian':

                txt = txt + random.choice(['They had a really good time!\n',
                                                          "She 'ate' her pussy out!\n"])
                   
                chr.mod('lesbian', +2)
                chr.mod('constitution', +2)
                chr.mod('fatigue', +20)
                hero.add_money(client.cash)
                repmodify = random.randint(1,3)
                self.modrep(repmodify)
                txt = txt + "She paid her %s of gold. Brothel's reputation increased by %s\n"%(client.cash,repmodify)
                txt = txt + 'Her Lesbian and Constitution went up!\n'
                img = 'les'               
               
            ident = os.urandom(8)
            evtlist.append(self.id)
            evtlist.append(chr)
            evtlist.append(img)
            evtlist.append(txt)
            evtlist.append(ident)
            NextDayList.append(evtlist)
               
           
           

 
        def rest(self,char,girl):
           
            img = None
            txt = '' # String of events
            evtlist = [] # list of events to be appended to global
            chr = char[girl]
           
            hmodify = random.randint(8, 12)
            fmodify = random.randint(140, 160)
            mmodify = random.randint(4, 8)
            chr.mod('fatigue', fmodify)
            chr.mod('health', hmodify)
            txt = txt + random.choice(['%s took a break today. She recovered %s of health and lost %s of fatigue'%(chr.name,hmodify,fmodify),
                                                     'She spent the day relaxing. Resting from daily tasks allowed %s to recover %s health and get rid of %s fatigue'%(chr.name,hmodify,fmodify),
                                                     '%s comfortably rested in her room recovering %s health, %s MP and loosing %s of fatigue'%(chr.name,hmodify,mmodify,fmodify)])
            img = 'profile'
           
            ident = os.urandom(8)
            evtlist.append(self.id)
            evtlist.append(chr)
            evtlist.append(img)
            evtlist.append(txt)
            evtlist.append(ident)
            NextDayList.append(evtlist)
Title: Re: Writers needed!
Post by: GonDra on December 29, 2012, 02:54:41 PM
By the way, see if you can figure out any of the actual code, cause if you can it would be easier just to send you the dev version so you can edit/add texts yourself.

Seems reasonable enough as long as I don't have to write actual logic and can just add strings.
Just a warning though: I have no experience with python, never looked into it at all.
Title: Re: Writers needed!
Post by: Xela on December 29, 2012, 03:39:01 PM
I can write lines, but someone else will have to insert.  Truly, my inexperience knows few bounds.

Anyway, where do you want me to start?

Ok, there are four things that need text at this point:

1) World. Something similar to what you wrote before but for PyTFall. To introduce player to the universe. Will be shown every time the game starts. Player can skip this. Some gameplay realities like Social ladder inequalities, city being infamous for it's brothels, legalized slavery and so on must be mentioned but since noone knows all the realities so early in development, we can add some of those later.

2) Interactions:

(http://img229.imagevenue.com/loc415/th_561691537_1_123_415lo.jpg) (http://img229.imagevenue.com/img.php?image=561691537_1_123_415lo.jpg) (http://img269.imagevenue.com/loc568/th_561695978_2_123_568lo.jpg) (http://img269.imagevenue.com/img.php?image=561695978_2_123_568lo.jpg) (http://img185.imagevenue.com/loc110/th_561698157_3_123_110lo.jpg) (http://img185.imagevenue.com/img.php?image=561698157_3_123_110lo.jpg)
(http://img203.imagevenue.com/loc514/th_561703902_5_123_514lo.jpg) (http://img203.imagevenue.com/img.php?image=561703902_5_123_514lo.jpg)

For all of the above categories, assume that some of the categories have menus of choices, and those menus can have their own menus...

The idea is that you request something from the girl and she replies to you based on her stats or/and traits (we do not have traits yet so just stats for now).

Stats are:

                charisma=0, - Her beauty, looks and so on
                refinement=0, - VERY/Most important stat in the game, represents her behavior in court, ability to appeal to costumers, to get better ranks. Note that this will be capped at 40 at the start. As she gains experience and refinement, player can rank her up. Higher ranks will mean higher cap for refinement. In the end I think maxed out refinement will be between 150 - 200 from ranks, items and events.
                libido=0, Self-explanatory.
                constitution=0 How many actions she can take each day, in reality that will be determined by AP (Action Points). Base AP will be 2, she gets one extra for every 20 cont she has. Base can also be changed by items/events.
                exp=0, Experience, not entirely sure what to do with this except having a required amount for a rankup.
                joy=0, Happiness
                character=0, Another REALLY important stat, it's like obedience, high character means she is strongheaded.
                reputation=0, Not entirely sure we need this, Rank is basically the same thing...
                health=0, HP
                fame=0, How infamous she is, Girls with high fame will attract better costumers with more cash in their pockets.
                mood=0, No idea why this is in the game, since stats are not final, I prolly had some purpose for this at some point but forgot :(
                disposition=0, Min = 0, Max = 1000!!! Her loyalty, love, respect and so on towards the player. This is what interactions and girl meet are supposed to be changing before anything else.
                fatigue = 0, Max = 300, How tired she is, eventually will be shown to a player as text and not as number.
               
                attack = 0,
                magic = 0,
                defence=0,
                agility = 0,
                mp = 0, Battle Stats like in fighting games, since players do not dodge attacks: it's Speed, how long does it take before she can attack again.
               
                anal=0,
                normalsex=0,
                blowjob=0,
                lesbian=0 Sex stats or skills as they are called in WM.

Girls responses to your requests can depend on any stat, her performance can depend on any stat and so on.

For example is her fatigue is above 260 she can refuse to date you on those grounds, her performance during sex acts can depend on her skill. Basically it's your whim. You write responses for girls while asking them different stuff, they reply, either generic reply or many different replies for the same question based on their stats.

If you decide to write this, you are free to choose buttons (on pictures are the first things I came up with) and menu options. Possibility for menu is for example:

Date:

Menu: Restaurant, Walk in the park, Walk on the beach and so on.

If Restaurant:

Menu: Steak, Lobster, Beans, Chicken and so on.

Also keep in mind that game can remember what you did and where you went with every girl, it can also remember what girl liked, so for example you can decide that first time she tries lobster there is a 20% chance she will love it and her disposition will grow by insane amount if you take her out for it again. Or you can decide that the very first time she tries lobster there is a 10% chance that she discovers that she has allergy for it and ends up being really sick.

Like I've said, it's your whim! options are limitless and all are very easy for me to code in. RenPy is an engine that allows pink Sakura petals falling at any point of conversation or realistic rain/snow with soundeffects and so on and that is considered as Medium difficulty to code. Any options, choices or flags are very easy.

3) Base code for that is not ready yet, but the idea can be easily explained. There will be many places in the city, you walk around and see girl's portraits (Button of profile pictures that you can click), lets say maximum 3 per place like in SimBro 1x. You pick a girl and get menus much like in interactions, idea is to get deposition high enough and ask her to join you.

4) Texts on Next week... the idea should be more or less self-explanatory.

If you have any questions, feel free to ask.
Title: Re: Writers needed!
Post by: Xela on December 29, 2012, 07:39:59 PM
Seems reasonable enough as long as I don't have to write actual logic and can just add strings.
Just a warning though: I have no experience with python, never looked into it at all.

Ok, I've fixed the Day in the market, fixed Rest, added all/most of your texts (Those are actually MUCH better in game), girls can be reassigned now even if brothel is full and interactions screen is there as well.

I sent you the SDK, forgot to add that there no compile time with python so you just launch the game after you edit/add texts and it works.

Tell me what texts you want to work on and I'll write logic for them leaving strings empty or plain. Keep in mind that since game is in early stages of development, there is nothing that cannot be done (save 3D graphics, Python would be to slow and my coding skills likely inadequate) so simple stuff like game knowing if costumer is a she (If needs to be mentioned outside of lesbian code-block where you simply control all texts) is easily doable.

Edit: Also if you're willing to write for more categories, those can be easily added. Game creates picture category as long as there is one picture called 'something 0' in the folder. So for example if there is a picture called profile 0.jpg or .png game will create that, all other files that start with profile will go there so the only thing needed for new acts are texts and making sure costumers request those (adding one word to costumer class).

Other than that traits are still not designed. Only dresses actually do something, items and brothel upgrades are useless right now. I wanted to work on interactions and girlmeets but if you would prefer to write for next day, I'll finish the logic for Costumer, Brothel and sGirl classes first.
Title: Re: Writers needed!
Post by: hewhocumsbynight on December 30, 2012, 12:45:01 AM
Sounds good!  I'll get working on the intro! 

How long do you want the intro to be?  Also, what are any relevant names, like the name of the city, or anything else that's absolutely necessary for an intro?
Title: Re: Writers needed!
Post by: Xela on December 30, 2012, 01:12:30 AM
Sounds good!  I'll get working on the intro! 

How long do you want the intro to be?  Also, what are any relevant names, like the name of the city, or anything else that's absolutely necessary for an intro?

Well, Maybe PyTFall  as a name for a city but nothing is set in stone this far. I don't know how long it has to be, shouldn't be unnecessary long, just to make it interesting for the player and explain the gameworld. If you can sneak in a decent explanation why there are girls from different universes, it would not hurt...  other than that I can't think of anything absolutely necessary right now, but if something comes up in future, it can be added later.

PS: Maybe sneak Arena to it? I want it to be a pretty interesting part of the game at some point... also think about presentation, do we present it as text or text + pictures or something else?
Title: Re: Writers needed!
Post by: hewhocumsbynight on December 30, 2012, 08:57:04 AM
Okay, sounds good!
Title: Re: Writers needed!
Post by: Xela on December 30, 2012, 09:05:17 AM
Okay, sounds good!

Cool, take your time, we are not in any hurry. I'll continue to advance the code while you guys stuff it with content each at their own pace, it will be a couple of month at least before a decent Alpha can be released.

In February another writer might join us, he did some good work on SlaveMaker in the past.
Title: Re: Writers needed!
Post by: DarkTl on December 30, 2012, 09:34:07 AM
Some more (https://dl.dropbox.com/u/79429937/somemore.7z) kinda advertisement pics and a couple of armor icons lists. To find more specific pics for advertisement I'm going to look through all game-related galleries on e-hentai, and that will take some time.
Title: Re: Writers needed!
Post by: Xela on December 30, 2012, 09:54:01 AM
Some more (https://dl.dropbox.com/u/79429937/somemore.7z) kinda advertisement pics and a couple of armor icons lists. To find more specific pics for advertisement I'm going to look through all game-related galleries on e-hentai, and that will take some time.

I caught a flu so I may be a bit slow today because of a splitting headache but I cannot see how that would work for advertising?

One of the pictures would be awesome for a happiness/health/fatigue favorable event in a bar. Armor pics are great, with just a few items planned this might be an overkill already, but if you find more, especially bigger pictures post those here pls.
Title: Re: Writers needed!
Post by: DarkTl on December 30, 2012, 10:07:53 AM
Well, you asked for a "lord entering building". Let's pretend there is a lord, and we are looking via his eyes  :D

I wounder if cheerleader pictures can be used for advertising too. There're a lot of them everywhere.
Title: Re: Writers needed!
Post by: Xela on December 30, 2012, 10:15:11 AM
Well, you asked for a "lord entering building". Let's pretend there is a lord, and we are looking via his eyes  :D

I wounder if cheerleader pictures can be used for advertising too. There're a lot of them everywhere.

LoL

One of the games endings... I cannot remember which one, there was an awesome pic of some rich guy entering or exiting the building that would work, maybe it will come to me later. Gotta have been one of the Sims (SM, HHS, SB)

Edit: Otherwise we can simply use some random pics of a couple well dresses snubs.

Edit 2: Codewise:

Ranks are ready and should work (Not tested yet). This is only for prostitute types (Whores and Strippers), Warrior types will not need this.
Will be used HEAVILY in game events and Next Day functions, used in costumer generation and Game Endings. In order to rank up girl will need an amount of Refinement, Experience and upgrading can cost a GOOD deal of money. System should work but since there is no logic on Next day and no events depending on it, it's pretty useless right now. Upgrading raises the cap of refinement by 15, other bonuses later. After I am done with magic spells I'll create first prototypes of methods for calculating girls price, upkeep and wages.

Code: [Select]
            self.wranks = dict(
                r1 = dict(id = 1, name = 'Rank 1: Kirimise (Almost beggar)', price = 0),
                r2 = dict(id = 2, name = "Rank 2: Heya-Mochi (Low-class prostitute)", price = 100, ref = 30, exp = 1000),
                r3 = dict(id = 3, name = "Rank 3: Zashiki-Mochi (Middle-class Prostitute)", price = 400, ref = 45, exp = 2500),
                r4 = dict(id = 4, name = "Rank 4: Tsuke-Mawashi (Courtesan)", price = 1000, ref = 60, exp = 5000),
                r5 = dict(id = 5, name = "Rank 5: Chûsan (Famous)", price = 2000, ref = 75, exp = 10000),
                r6 = dict(id = 6, name = "Rank 6: Yobidashi (High-Class Courtesan)", price = 5000, ref = 90, exp = 20000),
                r7 = dict(id = 7, name = "Rank 7: Koshi (Nation famous)", price = 10000, ref = 100, exp = 40000),
                r8 = dict(id = 8, name =  "Rank 8: Tayu (Legendary)", price = 30000, ref = 130, exp = 100000)
                )


Option of the main screen:

(http://imageshack.us/a/img12/574/88834262.th.jpg) (http://imageshack.us/photo/my-images/12/88834262.jpg/)
(http://img16.imageshack.us/img16/3759/49339115.jpg) (http://imageshack.us/photo/my-images/16/49339115.jpg/)
Title: Re: Writers needed!
Post by: DarkTl on December 30, 2012, 11:51:20 AM
1 advertising and some armor from various games. (https://dl.dropbox.com/u/79429937/1.7z)
Title: Re: Writers needed!
Post by: Xela on December 30, 2012, 12:05:01 PM
1 advertising and some armor from various games. (https://dl.dropbox.com/u/79429937/1.7z)

Maybe, looks good!

Ok, magic/attacks bridge is built, not very pretty codewise (I don't want to bother with making code look nice at this point) but it will work flawlessly.

Code: [Select]
    <girl
        id="Hinata"
        folder="naruto"
        name="Hinata Hyuuga"
        desc="Kunoichi from Naruto series"
        charisma="30"
        refinement="14"
        libido="30"
        constitution="30"
        exp="0"
        joy="30"
        character="25"
        reputation="0"
        health="100"
       
        attack = '16'
        magic = '10'
        defence = '17'
        agility = '15'
        mp = '20'
       
        anal="0"
        normalsex="3"
        blowjob="1"
        lesbian="0"
       
        occupation="prostitute"
        location="slavemarket"
        status="slave">

        <bskill name = "FistAttack"/>
        <mskill name = "Water 1"/>
        <trait name="meek" />
    </girl>

Skills for battle available now are FistAttack, KnifeAttack, ClawAttack, SwordAttack (just two soundbites for 4 of these, need to add 1 for each at some point) and magic Fire, Water and Earth 1,2 levels each. Maybe we can create a shop to buy magic or have it taught in schools later.

I think this is it for today, damn headache is killing me...

I'll resume working on this in a couple of days, after New Years, but will be logging in to check on forum and kill damn spambots.
Title: Re: Writers needed!
Post by: GonDra on December 30, 2012, 05:15:26 PM
I played around some more and have begun manipulating the scripts a bit, haven't added anything new yet, but changed a few things.
While I was testing those changes, I found a minor thing: the advertisement you only have to pay for once (the sign) is still clickable after you bought it. As long as you don't implement a feature where customers, that you couldn't serve, have a negative impact on your brothel I don't see any reason to still have the button pressable.

A thing I also did was reducing the text size in the girlprofile screen - it is more comfortable (to me at least) to see most of the stats without scrolling in the window.
I also changed the order in which the stats are listed a bit. (I put Health and Fatigue at the top of the list because those are probably going to be the most variable ones.)

I am not sure how you want to handle implementing changes from me into your versions so I am just going to link you my modified files in a PM.
Title: Re: Writers needed!
Post by: Xela on December 30, 2012, 05:48:55 PM
I played around some more and have begun manipulating the scripts a bit, haven't added anything new yet, but changed a few things.
While I was testing those changes, I found a minor thing: the advertisement you only have to pay for once (the sign) is still clickable after you bought it. As long as you don't implement a feature where customers, that you couldn't serve, have a negative impact on your brothel I don't see any reason to still have the button pressable.

Ok, that will have to be fixed, either locked on or removed the second it is enabled.

 
A thing I also did was reducing the text size in the girlprofile screen - it is more comfortable (to me at least) to see most of the stats without scrolling in the window.
I also changed the order in which the stats are listed a bit. (I put Health and Fatigue at the top of the list because those are probably going to be the most variable ones.)

At this point I am just throwing stuff on the screen in random order just to make sure it's all displaying correctly :)

Project will be two month old soon, in the beginning screen looked like this:

(http://i47.servimg.com/u/f47/17/97/08/04/th/111.jpg) (http://www.servimg.com/image_preview.php?i=3&u=17970804) (http://i47.servimg.com/u/f47/17/97/08/04/th/210.jpg) (http://www.servimg.com/image_preview.php?i=2&u=17970804)

In any case, as stats and girl's info pile up on us, small buttons can be added to the top of viewport to display only battlestats, sex stats and so on.

Here you can find all the stuff you can do with texts:
http://www.renpy.org/doc/html/text.html#general-text-tags (http://www.renpy.org/doc/html/text.html#general-text-tags)

I am not sure how you want to handle implementing changes from me into your versions so I am just going to link you my modified files in a PM.

Either that or you get a dropbox account and we just add all changes to a version in a shared folder. If you decide to go with dropbox, use this link:

http://db.tt/n73tZzn9 (http://db.tt/n73tZzn9)

We'll both get extra 500mb for free :)

Edit: I've added your changes to the game and sent you back new version with mine and your updates. I've also realigned hboxes on girl profile screen cause last time I didn't do it properly and changing textsize forced hboxes to loose alignment. Small text looks a lot better by the way.

(http://img850.imageshack.us/img850/9471/19621103.jpg) (http://imageshack.us/photo/my-images/850/19621103.jpg/)

I'll try to get some sleep...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 01, 2013, 07:02:32 AM
Some cloth icons. (https://dl.dropbox.com/u/79429937/clothes_icons.jpg)

About girls packs, could you be more specific with images categories and their names?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 01, 2013, 04:25:47 PM
Some cloth icons. (https://dl.dropbox.com/u/79429937/clothes_icons.jpg)

About girls packs, could you be more specific with images categories and their names?

Ok,

Goal of girlpacks required now is to use them in tests of girlmeetintown system I'll be working on soon, what that system is like I've explained somewhere before (I think). New categories of pictures I would like to see for now are:

profilehappy
profileangry
profileneural

even if there is only one pic for each. If none are found girl will use simple profile category.

Rest of the categories you can just check in the last preAlpha release.

About how they work:

Game will automatically create a category once a picture called "______ 0" is found in folder so for example profile 0.jpg (jpeg or png) will create a profile category. All other pictures starting with "profile" as the first word will end up in that category (for example profile 1.jpg, profile (1).jpg, profile Qra313IoP465.jpg will also end up in profile category). profilehappy on the other hand will not and profilehappy 0.jpg or profile1 0.jpg will create a new category.

battle_pics are not necessary at this point, neither are quest pics but throw those in if you find them.

I'll attach last version of data.xml file (location needs to be "city"), if you feel like it, pick at least one girl with a LOT of pics (from large profile Anime like Bleach, Naruto, DBZ, One Piece etc.) and see if you can find profile emotions pictures where background can be removed for a nice transparent .png but that is in no way a must! In data.xml:

id = "Tifa" Unique ID of a girl ONLY to be used in Code! Must be the same as folder where her pictures reside AND MUST BE ONE WORD. So if you want to throw a familyname in there, use Tifa_Lockhart as an id.

folder = ffvii Folder of series. data.xml for the entire series is placed there. Same rule as above, must be one word so use something like ffvii or Final_Fantasy_VII for folders as well.

name = Tifa Lockhart Will be used in game to display to player, no rules here.

Rest of the file doesn't need explaining.

You can just use pictures from WM packs. 

I'll resume working on the game in a couple of days myself.

EDIT:
Last thing, if you don't feel like making a bunch of packs, create one, I figured while writing this whole thing that it would prolly be easier to make one girl and clone her 20 times using code :) It should be doable, I haven't tried but I see no reason for it not to work.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 02, 2013, 09:24:44 AM
Two questions.
Should images names start with a small letter, i.e. "profile 0" but not "Profile 0"?
And what about "occupation" thing in xml?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 02, 2013, 01:34:34 PM
Should images names start with a small letter, i.e. "profile 0" but not "Profile 0"?

Yeap, small letters. It's easy to rename files in Windows in batch or you can just use renamer software with custom settings.

And what about "occupation" thing in xml?

I am not entirely sure myself... :D

Occupation is what she is suppose to be doing in game. For now I've used warrior and prostitute. I am also thinking about adventurer, undecided, teacher, nurse, priest and maybe merchant. Basically this is for an extra (if == prostitute: then .....) check during recruiting in town. The idea is to allow easy recruiting for players that don't want to spend time chatting, doing some quests and raising disposition. If she is a prostitute, she can be recruited on first or second meeting and will work for you for a decent fee for as long as she remains happy.

I would use 'prostitute' or 'warrior' for now, but you can add more if you feel like it. It will not mess with game.

Location is whereever a girl is at this moment, it is already used by the game a LOT.

Status: It is supposed to be girl's legal social rank determining her rights. So far I want to use: slave, free, foreigner, worker (peasant), citizen, noble, royalty. It will be used in some events and in WMlike version during slave conversion (trying to enslave a citizen, noble or royalty without heavy preparations will result in game over by decapitation of player).
For now just use 'free' I guess.

Status and Occupation I am planning to start using to a point soon in PyTFall and to use HEAVILY when we enter WM territory (Dungeons, Slave training and so on) after version 1.0 of PyTFall is ready.


Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 02, 2013, 01:58:16 PM
I see. Well, in the first place I'll convert my wm ex packs.
It's a shame that Future's packs are inaccessible anymore, I really liked them. I wonder if someone still has backups.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 02, 2013, 02:08:33 PM
I see. Well, in the first place I'll convert my wm ex packs.
It's a shame that Future's packs are inaccessible anymore, I really liked them. I wonder if someone still has backups.

I have all of those but cannot upload anything right now :(

Will have to wait a week at least. By the way, if there are packs with rest and/or some sort of striptease category, DO NOT REMOVE those please. We already need 'rest' and striptease job will be added at some point in the future.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: hewhocumsbynight on January 02, 2013, 05:08:33 PM
I have all of the WM EX girl files intact, I think.  I'll try to upload them, if anyone wants, along with WM EX itself.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 02, 2013, 06:01:27 PM
I'll try to upload them, if anyone wants, along with WM EX itself.
I would appreciate that.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: hewhocumsbynight on January 02, 2013, 08:28:42 PM
On it!
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: hewhocumsbynight on January 02, 2013, 08:48:21 PM
Okay, so it turns out the file is 2.92 gigs big, so I don't know where to upload it.  Ideas?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 03, 2013, 02:37:05 PM
Well, dropbox allows you to use at least 2 GB free space. When I'll download them, you will upload another 0,92 GB.
You might also use this referral (http://db.tt/vghNQ0cC) link so we both get additional 500 MB.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 03, 2013, 11:29:34 PM
Had a surge of creativity and used it partially to work on my projects for PyTFall:
I finished the first draft of a few Traits, fleshed out an idea for a meetscript and put together a girl (Pass: whoremaster) out of pics for a WM girl that I had not finished.

That is it for today, time to sleep.

(Links removed)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 04, 2013, 05:12:21 AM
Had a surge of creativity and used it partially to work on my projects for PyTFall:
I finished the first draft (https://docs.google.com/document/d/1YUOTNf4jyZnnz1-UOGXD8Wlj57HCgmZuc9gUM0i9F9E/edit) of a few Traits, fleshed out an idea for a meetscript and put together a girl (https://docs.google.com/open?id=0B1reSH_aYDBvazVMdHZSX2RQNGc) (Pass: whoremaster) out of pics for a WM girl that I had not finished.

That is it for today, time to sleep.

I am on a messed up internet connection right now so I cannot download the girl. Maybe for Oral addict trait we could have the game count how many times did the girl have a successful blowjob/lesbo action and work from there... but it looks good, I'll see if I can put in some time into advancing code tonight.


Edit: I got my connection back. Girlpack looks great but some names of pics are a bit off. I did some coding today, mostly logic behind calculating price and upkeep for different types. Groundwork has been set up, tomorrow I'll see if I can add traits and advance work functions.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 05, 2013, 05:41:23 AM
I have converted Aegis pack (https://dl.dropbox.com/u/79429937/persona3.7z), same password. I'm not sure what to do with ecchi and combat categories, so I just leave them alone for now. I'm also not sure about quest category, since in your Tifa pack there're two quest categories names, "quest1 0" and "quest2 0".
Let me know if I've made any mistakes.
Oh, and I've used "ai" occupation  :)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 05, 2013, 07:07:47 AM
I have converted Aegis pack (https://dl.dropbox.com/u/79429937/persona3.7z), same password. I'm not sure what to do with ecchi and combat categories, so I just leave them alone for now. I'm also not sure about quest category, since in your Tifa pack there're two quest categories names, "quest1 0" and "quest2 0".
Let me know if I've made any mistakes.
Oh, and I've used "ai" occupation  :)

Looks great,

I think ecchi and battle categories should be just left along for now, we may find use for those later and will most definitely find use for those in WMlike version.

You've missed the main point of battle_sprite and quest categories:
1) These must be .png with transparent backgrounds and not .jpg
2) battle_sprite (2).jpg would prolly look ridiculous in battle scenarios. You need to imagine battlescreen with girls on the left side when you search for those pics.
3) battle_sprite (1).jpg is better but legs are cut. It would look 'ok' but not great.
4) battle_sprite 0.jpg and battle_sprite (3).jpg should both look awesome once background is removed.
5) About quest pics... Tifa's were rushed, that's why there are two quest categories. Basically the idea behind quest category is to use pics in quest created in style of visual novel. Meaning .png files without backgrounds and in the future, variations, same as with profile (if those can be found), like questhappy, questsad, questangry, questneutral and so on.

Last, couple of blowjob pics belonged in group category, not important for testing purposes but should be noted for future.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 05, 2013, 08:52:15 AM
Damn it, totally forgot to remove background after resizing. Here it is, all is done. (https://dl.dropbox.com/u/79429937/aegis.7z)

Now if I'll convert the rest of mine and Future's (if someone will upload them) persona characters, it will be close to ten.

Btw, if I understand correctly, when we have several characters from the same game/anime/etc., then we must use one data.xml for all of them. It means that character installation is not as user friendly as in vanilla wm, since players must either manually edit xml for each added character, or just install the whole pack with premade xml even if they only want a couple of characters.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 05, 2013, 11:51:36 AM
Damn it, totally forgot to remove background after resizing. Here it is, all is done. (https://dl.dropbox.com/u/79429937/aegis.7z)

Now if I'll convert the rest of mine and Future's (if someone will upload them) persona characters, it will be close to ten.

Ok, after you're done, I'll start working on girlsmeet townscreens. For now there is more than enough work with functions and it is going very, very slow because I am still down with flu and cannot focus :(



Btw, if I understand correctly, when we have several characters from the same game/anime/etc., then we must use one data.xml for all of them. It means that character installation is not as user friendly as in vanilla wm, since players must either manually edit xml for each added character, or just install the whole pack with premade xml even if they only want a couple of characters.

Well, my logic is that people tend to pick shows that they like and are familiar with. In such a case they would prefer all girls from the series. Also this way makes it a lot easier to prevent doubles, so there are some advantages and there is nothing preventing creating a folder Naruto-TL-Mod with it's own data.xml file.

If needs be, it should be possible to recode loading function but at this point there is no way of knowing what a better approach would be.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 06, 2013, 10:18:40 AM
First pack with four main persona3 characters is ready (https://dl.dropbox.com/u/79429937/persona3.7z).
Now I'm just gonna wait for someone uploading at least one Future's pack with Naoto from persona4, since it's kinda waste of time to do it from scratch while there is almost ready one.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 06, 2013, 10:56:57 AM
Alright, there is no rush. I will only be able to really push code further next weekend. First time in my life does a cold or a flu diminish my mental capacity to this degree, takes forever to write and debug a simple method...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 12, 2013, 11:22:08 PM
I am still alive and trying to write for PyTFall.

Didn't manage to get much done since last time but I added two more Traits to my doc. (link killed)
If you have any ideas/comments regarding new traits or the ones in the doc don't hesitate to add a comment to it.

I have pretty much scrapped my idea for a meet script but I would be happy to help people working on scripts for characters as my time permits.
Implementation of scripts seems to be almost impossible at the moment though.
Things that would be nice to have (explained):
-checking for set flags
-deducting and adding money (with checks how much money is actually avaible?)
-a function for adding the girl that adds the girl to the players workforce (since the example script goes off into battle I have no idea how that works)

Not necessary but it would be nice:
A way to manipulate a girls stats depending on the choices you choose to acquire her. (If you persuade her to work for you she should be more willing and happy than if you enslave her with the help of law enforcement because she owes you money.)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 13, 2013, 05:18:37 AM
Ok, lets handle one thing at a time:

Didn't manage to get much done since last time but I added two more Traits to my doc (https://docs.google.com/document/d/1-wJ0U_WZ8z6pSMHeyTpY60a06eB-HcSJyGegWRQ9vbc/edit).
If you have any ideas/comments regarding new traits or the ones in the doc don't hesitate to add a comment to it.

Hopefully will be adding traits till the end of the month, we'll see how it all works then.


I have pretty much scrapped my idea for a meet script but I would be happy to help people working on scripts for characters as my time permits.

As I have said, girlsmeet part of the game doesn't exist yet but groundwork for interactions with girls you already own has been created, that requires a lot of writing and imagination as well and is done in similar way to other scripts.


Implementation of scripts seems to be almost impossible at the moment though.
Things that would be nice to have (explained):
-checking for set flags

There are 2 major kinds of flags that will be used in the game:

- Global Flags

Use this when you need game to remember something for all girls and events. Useful when you want a specific event or part of an event to appear once or a limited number of times in a game.

Stored in: global_flags

Set:

$global_flags.setflag('house_burned_down')

Check:

if global_flags.flag('house_burned_down'):
    "You cannot enter here any longer"

Delete:

$global_flags.delflag('house_burned_down')

Alternatively!:

Easy RenPy way can always be used! Simply create a variable and set it to true (or whatever you want it to be set to):

#Making sure it's unique, you can simply put name of the current label you're working with in variable's name, labels must all have unique names, game will not start with two labels called exactly the same but a second variable with the same name will simply overwrite the value of first and might mess with the game.

Set:

$i_am_some_random_flag = true

Check:

if i_am_some_random_flag:
    "Do something!"

Delete:

del i_am_some_random_flag

or $del i_am_some_random_flag

I believe both will work fine...


- Girl Flags

Stored in events attribute of sGirls's class. This plainly means that these flags will be unique to each instance of that class or with other words, unique to each girl in game.

This is addressed to a specific girl so it must be called accordingly. If used in girl interactions (or my own code) use 'chr', otherwise use whatever you're currently working with:

Set:

$chr.setevt('talked_about_sausages')

Note: Will be set to True. If you need to specify something more concrete use:

$chr.setevt('talked_about_sausages', 1)
Means that you've talked about sausages one time.

Mod:

No point in modding if it is a normal flag (True or False) but if it is an event flag with for example a counter:

$chr.setevt('talked_about_sausages', 1)
$chr.modevt('talked_about_sausages', 1)
Would mean that you've talked about sausages two times. Negative values will decrease the amount but that is not really applicable to this scenario.

Check:

if chr.getevt('talked_about_sausages'):
    "Do something"


Or for example:

if chr.getevt('talked_about_sausages') <= 3:
    $chr.modevt('talked_about_sausages', 1)
    "You talk about sausages"
If at the moment of this code block, event is set to 3 or less, it will add one to the counter.

else:
    "Do Something"
If 4 or more...


Delete:

$chr.delevt('talked_about_sausages')
In reality, simply sets to False, but for all intent and purposes, it will not be affecting game any longer. Completely deleting event flag is outside of scope of a modder.



Other than that, flags can also be used for brothels, events, traits and pretty much everything else in the game... Ask if something very specific is required, most things and conditions are VERY easy to achieve with RenPy/Python.


-deducting and adding money (with checks how much money is actually avaible?)

Player money is an attribute of Player class (Shocker really :D ). The only instance of that class is 'hero' who is also our player, so:

$hero.take_money(1000)
Will check if player has 1000 or more gold and take that money from him. Will also return True if successful or False if he's a broke bastard.

$hero.add_money(1000)
Will add money to player.


-a function for adding the girl that adds the girl to the players workforce (since the example script goes off into battle I have no idea how that works)
Not entirely sure what's stopping you from checking battle script, it's simply one more label with same rules as all others. activedemo.rpy is the file.
Assuming that 'chr' is set to a girl you're working with:

$chr.location = 'brothel'
Adds girl to your list, not in any particular brothel, just means she's working for you from that point on.


A way to manipulate a girls stats depending on the choices you choose to acquire her. (If you persuade her to work for you she should be more willing and happy than if you enslave her with the help of law enforcement because she owes you money.)

This is much more complex of a topic since I am not entirely sure how advanced girl's 'AI' has to be... The thing is that I only wanted to add enslavement and complicated stuff like that to WM version, with dungeon, slaver's guild, training capabilities and so on. You have the list of current stats, to set any of those to whatever you want:

$chr.disposition = 400
$chr.character = 99

or to modify with checking the Max and Min:

$chr.mod('disposition', 400)
$chr.mod('character', 99)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 13, 2013, 11:07:02 AM
Four more (https://dl.dropbox.com/u/79429937/persona4.7z) characters from persona4.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 13, 2013, 12:04:22 PM
Four more (https://dl.dropbox.com/u/79429937/persona4.7z) characters from persona4.

Got'em, thanks!

Edit: Can you PM me your Dropbox registration? I've set up a shared folder for PyTFall, you can create your own folder in there and throw everything in there?

@GonDra

I've sent you invitation weeks ago, no confirmation from you yet?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 14, 2013, 01:24:41 PM
Do you need more packs, or it would be better to continue to look for advertising pictures?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 14, 2013, 01:46:13 PM
Do you need more packs, or it would be better to continue to look for advertising pictures?

Should be enough packs for now I think. I am doing some work on Next Day right now, it'll be a few more days till I start girlstownmeet part.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 14, 2013, 07:32:04 PM
Ok, we may have someone new wishing to help with development, we've been chatting in PMs for a while but this info may be useful to Gon and TL as well as it can be applied to any part of the game:

=====================================
Well... interactions are one of the most popular features in sims like WM and base code for that is ready, yet, there is close to 0 content:

Find pyt - screens - grilinteractions.rpy file.

----
Inside there is a label, labels are codeblocks and a major part of RenPy coding system and coding style that PyTFall uses.
All the code inside such a label runs from top to bottom until it jumps to a next label or breaks (either returning you to previous label or ending the game).

----
There is also a screen part and that is the second (and last) part of RenPy/PyTFall coding system. It contains all graphical and user interface elements.

The main difference between the two is that screen part is being refreshed, code being 'reread' from top to bottom in set intervals of time or EVERY time player interacts with the game or any function calls for a refresh. That means all stuff that effects the game is coded into labels and all stuff that is responsible for interactions and displaying information to player is in screens.

------------
Edit: Now that I've read this myself, it should be noted that the main difference between the two is prolly the scripting language :) Label uses RenPy label language and screen uses RenPy screen language, it's not really all that important since I will never ask someone to learn screen language cause it is fairly complex but label language has like 10 keywords and just a couple of rules so anyone interested should be able to nail it fast.
------------

This is by no means the only programming style in Python or even RenPy, in fact there is nothing preventing us coding the entire game in pure Python or using any other coding style. This is simply the way I learned from Eliont (Alkion programmer).
==========================================================

What needs to be done:

Every time a button on the right side of the screen is clicked:

(http://img269.imagevenue.com/loc568/th_561695978_2_123_568lo.jpg) (http://img269.imagevenue.com/img.php?image=561695978_2_123_568lo.jpg)

A line of code is executed:
Code: [Select]
textbutton "Fuck" action Return(['act','fuck']) minimum(250,30)
It returns a Python List containing two strings (string is programmers lingo for a bit of text): ['act', 'fuck']

There is a codeblock inside a label running a what is called "an infinite loop":

Code: [Select]
   while true:
                result = ui.interact()
               
                if result[0] == 'act':
                    jump('interact_%s'%result[1]) #will jump to whatever the first index of user interaction with game will be.

ui.interact() function will grab the Result of user interaction like pressing a button.

if result[0] == 'act': Means that if the first entry in list that was returned by ui.interact() function is 'act', the following block of code will be executed.

jump('interact_%s'%result[1]) %s was already explained in Tifa's script. It means that game will try to make a jump to a label called "interact_{Whatever the second entry of the list is}"

In our case it will jump to interact_fuck label:

Code: [Select]
label interact_fuck:
    "I'm really not sure about this... "
    "I guess if you really want to, it's ok... right? "
    $ginterimg = chr.img('sex',resize=(int(config.screen_width*0.794),int(config.screen_height*0.802)), force=false, mode = 'return')
    "She did show quite a bit of skill today... maybe she deserves some praise as well? "
    $jump('girl_interactions')

Note that we have not disabled the screen so it will keep on running until we tell the game otherwise (Like exiting the entire interaction scenario)

Since you've said that you have already figured out RenPy label language, this new label abides by every single rule and command of that language and is no different from any other label from any RenPy game.

One thing you should know is:

$ginterimg = chr.img('sex',resize=(int(config.screen_width*0.794),int(config.screen_height*0.802)), force=false, mode = 'return')

ginterimg is a simple Python variable. The image that interaction screen displays is set to this variable. That means that whatever you set it to will be displayed on the screen.

chr  is the girl we're currently working with, it was set when you picked a girl in the list.

img is the method of sGirl class that displays us pictures from categories, rest is meaningless technobabble, if you want it to be explained fully, feel free to ask but what you need to know is:

$ginterimg = chr.img('sex',resize=(int(config.screen_width*0.794),int(config.screen_height*0.802)), force=false, mode = 'return')

Change sex to any other category, like les, profile, quests or any other and game will display a random picture from that category. How categories are created has been explained in previous posts.

What I need you to do is create any amount of scenarios of any complexity for interactions. These can be going out to restaurant, talking about any topics, threatening, praising, sex acts. You can have checks and balances, like for example:

Code: [Select]
if chr.charisma > 50:
    "Do this"
elif chr.charisma < 30: #elif stands for else if...
    "Do something else"
else:
    "Do some crazy third thing"

You should also give rewards or punishments to girls for interactions:

chr.mod('charisma', 2) will increase charisma by two, -2 will decrease it by two, mod method of sGirl class will ensure that you will NEVER go outside Minimum and Maximum bounds.

If you wish to increase Min or Max themselves:

chr.min['charisma'] += 20 will increase absolute minimum of a stat by 20

chr.max['Defense'] -= 20 will decrease the absolute maximum defense by 20

chr.max['Attack'] = 50 will set the absolute maximum of attack to 50

Some useful things to know (since you don't come from Python background)

= sets something
== checks is one thing is equals to another
+ returns a sum of two values
+= adds two values

Examples:
Lets say a girl has 20 charisma:

chr.charisma += 10 will increase the value of charisma by 10, Maximum of a stat can be damned.
chr.charisma + 10 will return a 30, chr.charisma will remain at 20
if chr.charisma == 10:
   #do something

Will check if girl's charisma equals to 10 and execute the following codeblock, while:

chr.charsima = 10, will set it to 10, even if it was 20 before.

From here on out, you can create labels like:

label interact_talk:

and create blocks of code in them of any complexity, you should already know how to create menus, all kinds of flags and checks and stat modifiers.

If you have any questions, feel free to ask.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 15, 2013, 03:58:24 PM
Ok, small update:

nighthalkex who just joined the dev team has already managed to create rudimentary scripts for some of the girl interactions (nearly giving up in the process) and is now working on advancing those. At the very least I now know for sure that I wasn't BSing anyone or myself by saying that RenPy label language could be figured out in less than a day with a bit of help and dedication and no previous coding experience.


We also may have another person joining us, we'll see if he can find something interesting to do on the project.

While talking to nighthalkex a couple of useful things came up that should be mentioned here as well:

Prolly the best way to figure out RenPy is:

1) Download RenPy from the site or our SDK.
2) Go through the well commented script that comes with SDK and introduses to the simplest game one can make with RenPy.
3) Watch the tutorial demo to see what RenPy is capable of (just for fun).
4) Go through this thread and through Tifa's quest script file.
5) Ask any question you may have and pick something in the project to work with.

Another thing is for scripting:

#Rolling dice:

$if dice(10):
    "Do something"

Plainly means that there is 10% chance of the following code clock to be executed. night already used that in one of his scripts. If you're in developer mode, game will also tell you what the results of the dice roll were. Great way to add a unique interesting event to interaction.


As for myself, I am still getting splitting headaches as a flu aftereffect but I did manage to get something done:

1) Girl's price is now based on the commonwealth of her stats and rank instead if being fixed on 500.

2) Girl's now have upkeep, also based on their stats and occupation. Game will deduct that from your wallet every round so girls now cost you money per turn.

3) Girls ask an amount of money they expect for their services! If client cannot pay, they negotiate, all very rudimentary now but the groundwork has been layed out.

4) Girls and Costumers will refuse to deal with one another if their ranks/castes are to far apart, code for that is about 50% done and will definitely be finished tomorrow, I will prolly leave the next day function and sGirl/Costumer classes along (cause I am getting bored with it right now and it really helps to keep rotating assignments to keep myself motivated) and use DarkTl's packs to create a good girlmeet in town system (Something I should be doing right now if I followed the damn roadmap anyway!)

--------------
Edit:
Enough for today,
New version of Otherworld is almost ready and I wanna see what that's like :)

Edit 2:
Latest Otherworld dev version is not really playable due to the lack of content and some small but irritating bugs. What I've read on the blog made me believe it was a lot farther along. I guess he meant backbone codewise and not 'playabilitywise', it will be another month or so :(
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 16, 2013, 10:13:09 AM
Four advertising pictures. (https://dl.dropbox.com/u/79429937/adv.7z) If you need even more then I'm afraid we have no choice but to use random cheerleaders and pictures with girls holding microphones (and most likely singing) on stages.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: OverHao on January 16, 2013, 08:01:16 PM
Hi everyone I'm here to help for the graphic side


hi Xela (I'm sorry if I repeat myself)



if you tell me the size of the images for objects, clothes, enemies etc.
and style: pixel or illustration
I'll start working on it as soon as possible
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 17, 2013, 05:58:31 AM
Hi guys! With Xela's permission, I'm also here for help with the project. For this moment, I can't offer much more then collecting and editing pictures, but I'm dedicating myself to learn how to do scripts in RenPy and looking forward to make some events soon.


 Can this be used as a suggestion thread too? There's quite few things that I'm interested about if there's any plans for them or not.







Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 17, 2013, 05:07:44 PM
Hello everyone and welcome to all the new people willing to contribute to the project!


Four advertising pictures. (https://dl.dropbox.com/u/79429937/adv.7z) If you need even more then I'm afraid we have no choice but to use random cheerleaders and pictures with girls holding microphones (and most likely singing) on stages.

Lets leave that for now and refocus on roadmap. I have finished the basecode for:

4) Girls and Costumers will refuse to deal with one another if their ranks/castes are to far apart, code for that is about 50% done and will definitely be finished tomorrow.

and will start with girlsmeeting system tomorrow or the day after. For now it is enough for the next day logic, especially since there is space on the roadmap to work on it later. We need pictures for interesting locations in the city. I have a LOT of those from Eliont's resources collection that he specifically told me to use for any of the projects, but if you have an idea or theme for a location with picture/pictures, I will put that in. For now I think that you've spent enough time trying to cover bases for advertisement pics and we still do not have all the categories (but like I've said we can simply adapt categories to the pictures we have when we get there...)
----------------------------------------------------------

Hi everyone I'm here to help for the graphic side

hi Xela (I'm sorry if I repeat myself)

if you tell me the size of the images for objects, clothes, enemies etc.
and style: pixel or illustration
I'll start working on it as soon as possible

Hello! And welcome to the forum!

I am afraid that I cannot answer your question because I know next nothing about graphical design and this is the first game (or anything else) that I code for.

I figure you can can start with:

 making sure game looks nice/great. We are currently going with wood theme but if you have a different idea, redesigning interface should not be to hard. Otherwise you can just create or search for pictures and art to make game screens look the best they can. I mean, at this point we still have the default starting screen that RenPy comes with (when you first start the game). Eliont went with a beautiful picture of docks and custom buttons for Alkion. Maybe if you can find a picture and find/create a couple of nice buttons I could put those in game? Or better wood frames with a bit of rd effect like in WM Wood skin (I can throw files in Dropbox folder if you haven't seen those yet)

Option two:

You had a bunch of ideas for highly graphical game elements on SimBro forum. Explain in more detail what those were and maybe I can figure out how to code those into the game so you have something to work on that can make the project very unique?

It's up to you, I think first option is more to the point right now cause while I am not a complete nub with photoshop, it takes me forever to make something worthwhile with it and I usually just rush the first thing I can make...

In any case, you should get DropBox and give me your ID/Email so I can add you to the shared folder, there you can familiarize yourself with the code and the SDK.

To answer your questions:
1) Size can be adjusted with RenPy resizing functions or I can make new custom resize functions if those do not quit us. I have no idea what the size of anything should be :)
2) We have more than enough enemies (over 500 from 5 or 6 different games) right now so there is little point in making more unless you wish to create something unique and interesting.
3) Objects and clothes can also be stolen from other games (you are more than welcome to create anything like that yourself but to me it seems like an insane amount of work)
4) Style I leave completely up to you, there is currently no plans on what game should look like what so ever. I am basically just rolling with the flow trying to code logic. If you want to take care of design, you're more than welcome to take the lead in it and I'll just code your graphics into the game.

Hi guys! With Xela's permission, I'm also here for help with the project. For this moment, I can't offer much more then collecting and editing pictures, but I'm dedicating myself to learn how to do scripts in RenPy and looking forward to make some events soon.


 Can this be used as a suggestion thread too? There's quite few things that I'm interested about if there's any plans for them or not.

I suppose we can just use this thread until it gets to hectic and then we'll simply reorganize and split.

About plans, most of my plans come from a point of view of 'large picture'.

1) I want there to be a SimBro 1x style girlmeet option in the game.

2) Jobs that make sense and have interesting events (random, chance or otherwise) based on traits, ranks, castes, preferences and so on.

3) I am toying with an idea to advance girls classes in order to create stuff they love/hate/like/dislike and later use in interactions, events, quests and conversations.

4) Picture categories must be unique to jobs and versatile enough for quests and events to make sense. I have no decided yet on what the best option is:

- to create default pics for all categories without faces
- to default pics to profile category (or any other category that exists and makes sense) of the same girl

5) I want there to be quests, interactions, events and missions.

6) Two game milestones.
- A simpler SimBro version with a very limited amount of traits, items and logic.
- A much more advanced WM/Slavemaker-like version with unlimited amount of items (pixel art or just small pics), loads of traits and a very smart enslavement/training system and other elements like Arena, Contests for your girls versus NPC and so on.

The trouble is that I am currently find it VERY difficult to draw lines between the two, but still trying to do so.

7) AP (Action points) for both, girls and player, so player decides, spend those on training the player, girls or allow girls to work. Already girls spend AP during work and stop working if they run out. Soon interacting/training girls will spend their and players AP as well.

8) NPC's that are fun and eventful (hopefully)

9) Endings based on some form of game milestones and endgame stats, player can choose if he wants to play past ending or start a new game, maybe even some form of new game +.

10) Jokers, not a must but I want to have those.

11) Economy? I can code in a 'city that lives' but only if there is a realistic and fun application for it in WMlike version.

12) Social status is likely to play a VERY important part in the game. More in WMlike version than in SimBro one but it should already make an impact on SimBro version as well.

Maybe more, but the thing is that nothing is really set in stone. I have created a coding roadmap, so right now the plan is to  stick with it and hoping that a game that comes out in the end will be fun :)


==========================
Clocking out, it's almost 1a.m. here already...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: OverHao on January 17, 2013, 06:04:10 PM
ok i will start immediately with the GUI


I love this project and I will do my best  ;)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 17, 2013, 06:10:11 PM
ok i will start immediately with the GUI


I love this project and I will do my best  ;)

Great, I've sent you invite to DropBox and put wood skin files for photoshop in there. It was made by a pretty damn good Russian designer for the original WM, and it's where I got the buttons from. If wood theme remains, it might be useful to you.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 18, 2013, 04:11:16 AM
We need pictures for interesting locations in the city.
Could you provide some information about the world history then? Is it strictly medieval, or steampunk, or postapocalypse, or something like in Otherworld, etc.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 18, 2013, 02:55:24 PM
Could you provide some information about the world history then? Is it strictly medieval, or steampunk, or postapocalypse, or something like in Otherworld, etc.

I would say, something along the lines of FF VII, FF VIII.

Magic, Some tech, All sorts of weapons and most architecture types should be allowed.

I was thinking about some form of a failed slave revolt taking place in the country that was squashed but with very significant losses so now slaves are not allowed to train in battle magic or combat ad violating that rule comes at a great price but other than that I didn't give the world to much thought.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 18, 2013, 04:34:42 PM
Hi Xela
 
I have a few questions if you don't mind
 
1. First of all, should I ask these questions here with PM or post them on forum?

Best ask in here so I do not have to write stuff twice or trice.

2. I looked for pictures that you ask me to, but I must admit that I'm not really sure what some of these categories are supposed to mean. Like where they will be actually used and how much often (so I will not be wasting efforts on a lot images for category that are rarely seen where its better to use just the most accurate one). Few examples what I'm unsure about:
 
- is profilenormal same as profile (show in brothel screen) or is it something only used when meeting girls?
 
- there are two types of nude pics on net - one where girl is nude, but otherwise normal (=standing, doing something common) and the other type where she is undressed in bed or showing herself or spreading etc. (=sexy ones, just before action...)
 
- what degree of anger/sadness is better? Is she supposed to be just a little upset about something, or is complete "battle rage" or "down in tears" better?
 
The idea behind this is that when I'm in actual "Development" I want to put a little more efford into this than if it would be just a another girlpack - these will be probably presented with the game afterall. 
 
I uploaded some Sakura pictures so you can tell me what is good and what is not accurate and I will use that example for all future girls - for now I'm collecting for Hinata and one other girl for general testing (like you wanted) and then I want to make my own one and try writing events for her.

Ok... I am not sure about a lot of that stuff either but here's what makes sense to me:

profilenormal (Should be 'profileneutral') will be used a lot I expect, just like the other profile pics with feelings. Rage and down  in tears is a definite overkill for profilesad and profileangry categories, but might be ok for lets say profilerage and profile tears categories :D

Simply said, the amount of categories will depend for the most part on the amount of people that would be willing to work on events, quests and interactions etc., but night is already using those in basic script he's working on for interactions menu. For example, when you choose to scold the girl, when text is stating that she is defiant or sad and randomly chosen profile picture from 'profile' category shows her looking really happy dancing in the field of some freaking flowers doesn't do justice to the game. Another application is to use those to display as profile pictures depending on girl's joy in idle girl management screen. Another during events and girlmeets in town and I am sure we will find many different applications as we work on the game in the future. Since it is very easy to make sure that if category is not found, game will fall back on more basic categories or some form of default pictures that could be applicable to all girls (I will take care of that code later), you should really decide for yourself what degree of anger/sadness is better...

I don't have a lot of time today and will not do any coding but I glanced through your Sakura folder and it looks really good!

3. That comes with another thing - you wanted only some categories of images that you're testing now, but when I'm at it, the're is almost no difference if I'm looking for just something or taking all that's useable from site where I am. So I will do so (and most of WM packs can be improved, trust me) but I need a list of all image categories in use now (or planned) - with all of these WM versions, I'm confused a bit.
 
But that comes with another issue - adding sex pics enlarge size of these girls a lot, and if I upload them to dropbox, it can take a lot of precious space away. Is that no issue, or should I use some sort or placeholders and store them separatedly? (nice solution, but there will be nothing to look at through development )

Ok, like I've said in my PM to you, I simply could use a couple of girls from the shows I am familiar with so testing the code I write for the game is more fun. We will NOT be making actual packs for the game any time soon cause there is no way of telling what image categories there will be in the end! It is as simple as that, we may need to adjust categories, traits, stats, locations, castes and so on MANY times in the future... We already have Hinata, Sakura and a bunch of girls from Persona games, couple more maybe but no more than 10 - 15 AND definitely we don't need a lot of sex pics, just one or more per category will do just fine!

4. I want to normalize size of these images to save space and memory, do you know what size/resolution/ratio is best? (but i can figure that myself)

Game native resolution is 1280x800, frames holding the pics even smaller. Size of the pictures is adjusted for the player by RenPy. I cannot tell for certain if game will support different resolutions cause that means a good deal of extra work and RenPy is exelent with managing window size + Full Screen Size so there is little point. Also even resized by RenPy engine, larger pics look a lot better than small once...

5. You mentioned Simbro1x girl meeting style - that version have predefined standard actions that you can perform with a girl, like chat, give gift... is it's still viable for me to write a specific story for a girl with its own different options and splits? Something thats goes through more meetings in style more like current tifa quest - will that work together?
 

Yes, as code advances, it will be possible to replace interactions, girlmeets, events and quests from default to unique once OR any mix of of the two. Basically, I will have the game to look for the label called:

label 'uniquegirlid'_'ineractionname', if that does not exist, game will use the default label that can be used for all girls. With unique girlmeets, events and interactions you will be able to use specific pics as easy as you would categories, so if a modder really cares to make a good pack for a girl, you can choose texts to match the pics perfectly, you can either use pictures that are not even in any of the categories but are totally unique or to choose specific pic from a category or to use a random pic from a category... it's all up to the creator, you can even throw unique backgrounds for totally unique scenes to be used only with that girl in her pics folder and use those as backgrounds for the events.

6. And mentioning Simbro1x, there is something about this version I'm really interested about - customers chosing girls by their character or appereance. Is there any plans of implementing that in this project? I actually wrote a quite agitating wall of text about this (located at my folder now) but if you already discarted that idea, just ignore my suggestion.

I've read the file, the truth is that SimBro 1X is not opensource and I have no frigging clue what happens under the hood, only what I see during gameplay. It is also one of the stupider things about the game, like a girl changing color of her hair to suit the costumer while picture shows her usual color and usually the wrong picture category :)

Is it hard to code? No... Is it hard to 'fake' using the current code, end-user being non the wiser, again, no. Right now the logic simply creates a costumer during the interaction so there is no pool being generated and matched against girls in your brothels but if we decide to change that, costumer class will not need to be changed or even adjusted... Matching is also easy, do we need it? I have no frigging clue once again...

I suggest we get back to this topic during:

v0.2 - 0.3 - Advanced logic behind next day.

v0.2 - 0.3 - Advanced logic for traits, 6 items planned for the original release, 6 pieces of clothing for girls and advertising + updates for brothels.

I am doing my best to code the game in such way that puts nothing or at the very least next to nothing off the table. I already understand that game needs to not only make sense but also be fun to play, hence the costumer/girls ranks + castes matches so player is forced to do management that is not repetitive and as unique to each round.

Another thing as costumers go, I want to create a number of NPC costumers that will have names and maybe portraits, come back to your brothel for favorite girls/actions and play other roles, maybe we can even give them own avatars. It is fairly easy to do and adds a lot of depth to gameplay, I am actually surprised that it has not been done before. In any case, it's one of the ideas I have for the game.

Anyway, the logic we have now is very basic and doesn't kill a single option or possibility, when we get to the advanced stuff, we will all put some ideas on the table, go through them and decide on how to proceed.

X. And at last, is this ok with you to read message this long and explaining? I found that some people are uncomfortable if they are forced to read anything more then is absolutly necessary - so if your time is really precious, i will try my best to shorten any futher messaging to required minimum. Anyway, I'm hoping there will be no need for many questions like these and I will become more of a help then a nuisance soon.

It's ok, especially since I have not addressed this stuff elsewhere, just do it here next time so I don't have to answer same questions later.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 18, 2013, 09:07:10 PM
Ok, thank you
So you want there to be both "profile" and "profileneutral" categories together? That is the part I was confused about, I somewhat assumed that they were one. But I can see now that it's better to have them separated. However, because they're so close, it's easy to be left with picture that you (girlpack creator) want to have in both - very easy, because lot of emotional pictures will get filtered into happy/sad/anger categories, so almost everything left in "profile" after sorting will be pictures with normal expression (=good for both). It can be solved easily by duplicating that picture, but I was wondering...


Can it be scripted that the game will be choosing picture from more picture types then one? Because, for example, if all screens that were previously using "profile" pictures will now use "profile + profileneutral" pictures, while emotion screen will just use "profileneutral" pictures (even better "neutral">"profileneutral">"profile" to have every possibility) that would solve it more elegantly.
(a very minor issue, I know, just using it to better understand how it all work)

Title: Re: PyTFall Dev Thread: Writers needed!
Post by: OverHao on January 18, 2013, 10:10:52 PM
Perfect, i will check immediately the wood skin  ;D


just one question:
of my old GUI concept I particularly like the screen of the daily report :



(http://img541.imageshack.us/img541/9607/breport.jpg) (http://imageshack.us/photo/my-images/541/breport.jpg/)
the way it works is simple:
clicking on the images you can see the results of girls divided by brothel and for every girl by clicking scroll through the customers of the evening displaying in the center the image result
(sorry if my English is not so good, but I hope it is understandable)


do you think that you can use it in the game?
I know that maybe program it now is a waste of time
but I think it simplifies user navigation
and I just wondering to know if it is possible to implement it in the future

Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 19, 2013, 01:40:32 AM
Ok, thank you
So you want there to be both "profile" and "profileneutral" categories together? That is the part I was confused about, I somewhat assumed that they were one. But I can see now that it's better to have them separated. However, because they're so close, it's easy to be left with picture that you (girlpack creator) want to have in both - very easy, because lot of emotional pictures will get filtered into happy/sad/anger categories, so almost everything left in "profile" after sorting will be pictures with normal expression (=good for both). It can be solved easily by duplicating that picture, but I was wondering...


Can it be scripted that the game will be choosing picture from more picture types then one? Because, for example, if all screens that were previously using "profile" pictures will now use "profile + profileneutral" pictures, while emotion screen will just use "profileneutral" pictures (even better "neutral">"profileneutral">"profile" to have every possibility) that would solve it more elegantly.
(a very minor issue, I know, just using it to better understand how it all work)


I think so, it should be doable to choose pictures from different categories if 'profile' or anything else is requested but I'll have to take a look at the method to say for sure. Maybe we can do away with normal profile all together, nothing will have to be changed in code, just tell the method to look for profileneutral category when 'profile' is requested but doesn't exists. It is simply that right now "profile" is the only category that absolutely must exists but that can be changed with one line of code. I guess you might be right, there is a good chance that we'll get rid of profile for future packs all together :)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 19, 2013, 01:48:46 AM
Perfect, i will check immediately the wood skin  ;D


just one question:
of my old GUI concept I particularly like the screen of the daily report :



(http://img541.imageshack.us/img541/9607/breport.jpg) (http://imageshack.us/photo/my-images/541/breport.jpg/)
the way it works is simple:
clicking on the images you can see the results of girls divided by brothel and for every girl by clicking scroll through the customers of the evening displaying in the center the image result
(sorry if my English is not so good, but I hope it is understandable)


do you think that you can use it in the game?
I know that maybe program it now is a waste of time
but I think it simplifies user navigation
and I just wondering to know if it is possible to implement it in the future

Yeah, I liked that as well but when you've disappeared I didn't want to steal the concept since you might have come back and got another team together, we would have two games in the making with exactly the same Next day interface :D

This is very easy to do, nothing major needs to be coded into the game to make this screen work by the way, so I would expect the workload to be at around 3 - 4 hours tops. There will also be an important events screen and brothel reports screen so we may have to work it into the design. I just wanted to use what we have and add a bunch of buttons to resort the girls and other stuff that will finds it's way into report in the future.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 19, 2013, 06:45:48 AM
I was thinking about some form of a failed slave revolt taking place in the country that was squashed but with very significant losses so now slaves are not allowed to train in battle magic or combat
So we talk about postwar world after all?  :)
(http://s002.youpic.su/pictures/1358542800/thumb_dc39184791e777eb49fe656066a97bfd.jpg) (http://youpic.su/view.php?id=s002.youpic.su/pictures/1358542800/dc39184791e777eb49fe656066a97bfd.jpg)
Here (https://dl.dropbox.com/u/79429937/city1.7z) some general pics. Let me know if you need more specific images.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 19, 2013, 10:57:29 AM
So we talk about postwar world after all?  :)
(http://s002.youpic.su/pictures/1358542800/thumb_dc39184791e777eb49fe656066a97bfd.jpg) (http://youpic.su/view.php?id=s002.youpic.su/pictures/1358542800/dc39184791e777eb49fe656066a97bfd.jpg)
Here (https://dl.dropbox.com/u/79429937/city1.7z) some general pics. Let me know if you need more specific images.

Edit:
And don't nuke PyTFall, you forgot to rename profile pics for Aegis and that broke it today once already :)

Should be enough for now, I'll see if I can start laying the groundwork for girlsmeet system tonight.



###########################################
Damn it! My noobiness as a programmer is definitely showing... Took me almost 3 hours to code and debug this:

Code: [Select]
        def getcityGirlsList(self, char):
            self.cityGirlsList = []
            for entry in char:
                if char[entry].get('location') == 'city':
                    self.cityGirlsList.append(entry)                       
         
        def getGMLists(self, char, day):
           
            if self.gml_reshuffle == day:
                self.getcityGirlsList(char)
                self.ParkGatesList = []
               
                while len(self.cityGirlsList) > 0:
                   
                    for entry in self.cityGirlsList:
                        if len(self.ParkGatesList) < 3:
                                self.ParkGatesList.append(self.cityGirlsList.pop(random.randrange(len(self.cityGirlsList))))
                               
                        else:
                            break   
               
                    break
           
            if self.gml_reshuffle == day:
                self.gml_reshuffle = day + random.randint(5,7)


But this was the most complicated part of girlsmeet system codewise... From here on it will be just screens, pictures + buttons and that is by far the easy part. What this code'll do for us is creating lists from random city girls for girlsmeet screens (we can pick an amount of girls for every screen as we please) and reshuffle those every five to seven days.

###########################################
And last update for tonight:

First two pics introduce new location (Park Gates):

(http://img160.imagevenue.com/loc548/th_634472359_1_122_548lo.jpg) (http://img160.imagevenue.com/img.php?image=634472359_1_122_548lo.jpg) (http://img28.imagevenue.com/loc487/th_634481162_2_122_487lo.jpg) (http://img28.imagevenue.com/img.php?image=634481162_2_122_487lo.jpg)



Third and fourth:
Girls appear after the girlsmeet button is clicked, disappear if clicked again. Each of the girl's pictures is a button in itself, it highlights when player hovers with mouse over it and if clicked, calls for something similar to interaction window. New set of girls 9 days later (Overlaps are more than possible since we do not have that many girls to work with)
 
(http://img159.imagevenue.com/loc156/th_863448982_3_122_156lo.jpg) (http://img159.imagevenue.com/img.php?image=863448982_3_122_156lo.jpg) (http://img217.imagevenue.com/loc933/th_634492933_4_122_933lo.jpg) (http://img217.imagevenue.com/img.php?image=634492933_4_122_933lo.jpg)

The idea is to talk and action girls into joining up with you. From here on out it is just robotic work, adding new locations, improving the screens and adding interactions/events...



Last: Just a couple random pics from interaction scripts night has been working on with use of profile'feelings' categories:


(http://img139.imagevenue.com/loc429/th_634495334_19_01_20130_11_23_122_429lo.jpg) (http://img139.imagevenue.com/img.php?image=634495334_19_01_20130_11_23_122_429lo.jpg) (http://img168.imagevenue.com/loc902/th_635323981_5_122_902lo.jpg) (http://img168.imagevenue.com/img.php?image=635323981_5_122_902lo.jpg) (http://img262.imagevenue.com/loc170/th_635331998_6_122_170lo.jpg) (http://img262.imagevenue.com/img.php?image=635331998_6_122_170lo.jpg)
     
I am going to get some sleep...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 20, 2013, 06:46:19 AM

And don't nuke PyTFall, you forgot to rename profile pics for Aegis and that broke it today once already :)
Oops  :D
Well, when I made packs for wm ex I tested each of them in game before uploading to avoid any mistakes. When we'll have more or less stable and working version of PyTFall I can do the same.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 20, 2013, 08:27:58 AM
Oops  :D
Well, when I made packs for wm ex I tested each of them in game before uploading to avoid any mistakes. When we'll have more or less stable and working version of PyTFall I can do the same.

LoL

Now that is not fair :)
Current version of PyTFall is not playable yet due to the lack of content and advanced functionality but it is both working and stable.

Anyway:

Plans for tonight:

- Add a couple more places
- Add interactions menu for girlsmeets opening an avenue of work for modders who want to write for the game

I will start in a couple of hours...
#####################################

Tried to start coding 4 times but damn headaches kept getting in the way. I've only managed to add a new place (for the first time, without new label, just a new screen). Taking a page out of Otherworld's book, instead of going there straight from the citymap, you have to go to park gates first and than move around (pressing an arrow button on screen). Basically, I've learned a couple new RenPy functions that might come useful later. Now I need to figure out how I want to proceed with girlsmeet interactions and I'll try to code that in if I have time tomorrow.

New screens:


(http://img223.imagevenue.com/loc650/th_722561349_1_122_650lo.jpg) (http://img223.imagevenue.com/img.php?image=722561349_1_122_650lo.jpg) (http://img246.imagevenue.com/loc441/th_722612568_2_122_441lo.jpg) (http://img246.imagevenue.com/img.php?image=722612568_2_122_441lo.jpg) (http://img105.imagevenue.com/loc409/th_722618368_3_122_409lo.jpg) (http://img105.imagevenue.com/img.php?image=722618368_3_122_409lo.jpg)

     
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: nighthalkex on January 20, 2013, 06:37:41 PM
So, just a kind of important thing:


In my folder (nighthalkex), inside the shared folder PyTFall, there is a Hinata folder that I just updated. I put some new pics that I found but the important part is that I created a few new categories. I did that for the action Go Out, in the interaction menu. There were no pics for those, so I had to find them and create those categories. I am just posting this here so the guys doing girl packs or hunting for picks could know what to look for and what to name them.


So, the new categories are:


date
datebeach
ent
shop


That is all  ;D
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 20, 2013, 07:16:24 PM
So, just a kind of important thing:


In my folder (nighthalkex), inside the shared folder PyTFall, there is a Hinata folder that I just updated. I put some new pics that I found but the important part is that I created a few new categories. I did that for the action Go Out, in the interaction menu. There were no pics for those, so I had to find them and create those categories. I am just posting this here so the guys doing girl packs or hunting for picks could know what to look for and what to name them.


So, the new categories are:


date
datebeach
ent
shop


That is all  ;D

ent = entertainment
shop = shopping

Not all members of Dev team decided to join the shared folder so what those categories are supposed to show will remain a mystery until we include those in another prealpha release :)

Also, soon I'll put some time into img method to make sure new advanced categories fall back to simpler categories and if those don't exist, fall to profile. Another thing I've been putting off for to long is writing a well commented advanced interaction to give an example of what game is already capable of... I'll add that to girlsmeet interactions after I'm done with it.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: OverHao on January 20, 2013, 10:30:58 PM
I put the layout of some screens in the dropbox folder let me know if they fit  ;)


when I'm done with the layouts I'll start working on real graphics
for now I'm thinking of keeping a skin of wood, parchment and metal
any advice is welcome



Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 05:27:19 AM
I put the layout of some screens in the dropbox folder let me know if they fit  ;)


when I'm done with the layouts I'll start working on real graphics
for now I'm thinking of keeping a skin of wood, parchment and metal
any advice is welcome

I left my thoughts in the file.

One very important thing I want to add is a request that you make screens in elements (frames) instead of a entire background like for WM. That way we can make adjustments in RenPy in case we need to add stuff later (screens like everything else in the game are a subject to change) without having to go to drawing board every time and also create reusable elements (like the gold/day bar, I can create a separate screen and call it whenever I wish using 'RenPy 'use' statement.)

Edit:

I want to add a couple of things:

1) RenPy can write text on buttons, in any font, color, style etc.
2) RenPy has functions that can repaint any image in GreyScale/BW/Sepia and so on so if we need inactive buttons, don't do unnecessary work, it's one word of code for me and a lot more time for you (renaming, saving, transferring files).
3) RenPy can use layers, zoom in and many other image manipulation if your design depends on those.

4) RenPy also supports many more complicated image transformations, you can have buttons, pictures and other stuff fly around the screen, have moving text and so on. I am IN NO WAY saying that we got to have any of that but you should at the very least know it is a possibility.

5) If you have question on more complicated stuff (if it is possible and if so, whether I have the skill to write code for complex gui elements), feel free to ask :)

I think this is it...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 21, 2013, 07:12:20 AM
Hi, I have spent last few days putting together pictures for Sakura, Hinata and Tenten, I will upload them today – I tried my best to ensure they have all of these quest and emotional categories, and these dating ones when it was possible. All of these pictures have variants in, like in “full” pack – I perfectly understand these are not needed now, but I did it for myself as a reference to see what can be found and test where is good to have diversity, and where it’s just confusing - I plan to update them through development according to categories we add or discard. 

My option about girl images:

While I think it’s really nice to have specialized picture category for all events (shopping...), you shouldn’t really expect these to be present – while it’s not usually a problem for popular characters, people will always request/make less know ones too, and my experience from previous games is that sometimes it’s a problem to even get a set of decent profile pictures.

Happy/sad pictures shouldn’t be used in main screens according to girl happiness. These are usually of somewhat less quality then “normal” ones and just imagine it, if you are a good manager (not hard in these type of games), all these smiling faces = really creepy :-)

date – there’s a usually a lot of pictures with girl going out, cuddling and have fun with a guy from all of these fanfiction pairings. But that’s it, there’s a GUY in it. I can’t help it, but it doesn’t feel right to me... you know, it’s hard to imagine that this Naruto here is supposed to be you. Ideal would be pictures with only girl looking like she is with someone or where guy can’t be easily seen or recognized, but these are much harder to find... what are your options about it?

profile / profileneutral – still unsure about these, because while there are profile pictures that are not good for neutral emotion, all of neutral pictures are usually applicable for profile

costume - quite common there is a nice picture of girl cosplaying or just wearing something really different from her standard outfit or maybe with change of hairstyle/hair color, that makes her too unrecognizable for it to be used as standard profile (maybe it can be, but it just doesn’t fit in there that smoothly)  - but these are really fun so I would love to have them as a category used somewhere
---------------------
ok, that should be all for girl pictures for now. I would like to start working on events now. What should I do?

I’m most interested in writing unique events for chosen girls. For some of characters I like, I have ideas for introduction events, explaining why they are not opposed to work for you, maybe some sort of mini-quest or just few little scenes, probably in visual novel style that happen when you visit a location in city... I’m a fan of these.
Also some interaction between those girls, if you have them working for you. And I sometimes came around a picture that inspires me to imagine some sort of situation... I would like to write some of these too.

But I’m not sure if that’s a good thing to do because you have planned interaction system like simbro1x version, when you go somewhere and see a list of present girls that you can speak with. I think that’s great for generic use and little alterations I not sure if it’s compatible with that I’m imagining.
And it still would only add a girl, even if with events, so it would be probably only a “scripted girlpack“, one-time events that doesn’t add much into game.

In the way I see it, at this stage it would be more beneficial to make some generic day-to-day brothel events, those that would use emotion pictures and not target specific girl.
But I don’t have that many ideas there, and they also seems harder to code. But I can try too.

Awaiting your command sire!
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 08:01:27 AM
I agree with you on categories and picture front so I am not going to repeat what you wrote.

On events and quests. Basically the system is ready, but you're right to say that it is prolly to early. Tifa's quest I created to show some of the capabilities of RenPy and that it basically tops WM, Otherword and Slavemaker as far as events, quests and interactions go because you do not have to mess with .xml files, can choose backgrounds, pictures, music and call conversations and images with one line of code.

But we will be adding many new places I expect... maybe a new location, like a different city or city outskirts and so on. Also a more advanced system for calling girl interactions and events is not ready, the idea I have is to check all girls for unique labels, in those labels, conditions for activating events will have to be places. That way you can replace any interaction, any event or create new unique once to appear in any city. Maybe something can also be done with flags, I need to try a number of approaches (and there are MANY to choose from) and figure out which will be easier for modder to understand (because while you will prolly develop a good grasp on RenPy as you write, modders that are not part of dev team and will come later need simpler options).

In any case, for now, I suggest you simply take a look at RenPy and PyTFall, read this thread as there is a lot of useful info here (I'll restructure it at some point and out it into one post and a file in gamefolder). Read comments inside the interactions, jobs and quest and see what question you may have.

I am planning to create girlsmeet interface and it will need events later (some we can prolly copy from somewhere, but many should be unique) and I also like some advanced stuff like girls asking you to buy stuff for them during shopping and other events. Also adding things that girl like/dislike like in SimBro 1x (it will be a bit more advanced in PytFall thou and will not depend only on traits).

Still getting splitting headaches as an aftereffect from a flu and Doc said it may be a few days until it's over so I can only work on the game in between those. You'll have to wait at least until I am finished with girlsmeet screen and advanced interaction event before you start actual scripting. If you want to try something right now, just take some of the stuff that has already been done as an example and write something of your own, testing it in the process. Ask questions as they come. It will help you get a feel for the engine.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 21, 2013, 10:14:20 AM
it’s hard to imagine that this Naruto here is supposed to be you. Ideal would be pictures with only girl looking like she is with someone or where guy can’t be easily seen or recognized, but these are much harder to find...
I guess we can use profilehappy pics, or maybe pics with girl standing or walking somewhere on the street. Anything but Naruto  :)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 21, 2013, 12:15:05 PM
Hey guys,

just wanted to say hello. I'll try to contribute something useful to this project on the Python side of things :-)

Greets,
rudi
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 12:21:41 PM
Hey guys,

just wanted to say hello. I'll try to contribute something useful to this project on the Python side of things :-)

Greets,
rudi

 :)

Welcome to the forum and project!

PS: Rudi works on porting Otherworld to Python, we've met on Otherworld forum before it got nuked by viruses. He is a more skilled programmer than me so depending on time both of us have to spend coding for the project, it just might go a lot faster!
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 21, 2013, 01:34:10 PM
Finally got around to getting my Dropbox set up correctly and am downloading the shared folder as I type this, I will probably take a look later after I worked a bit on other stuff.

One thing that I mulled a bit the last few days is if the player character should be vocalised at all.
It is easier for people to think it is them doing decisions if you don't actually put words in their mouth, so that they can imagine that they are speaking in a specific slang.
There is also the problem how different modders will write the dialogue for the player - preventing that the player will switch personality when he speaks with two different girls.
I personally would prefer to write/read 'You explain that you are <playername> a local businessman in the entertainment sector' than a lengthy dialog (but maybe I would do that because I suck at writing dialogs).
Anyway, this is just what I think about it and if you want to have the character speak that is doable too although you would probably need a character description to keep the dialog relatively consistent.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 01:53:21 PM
Finally got around to getting my Dropbox set up correctly and am downloading the shared folder as I type this, I will probably take a look later after I worked a bit on other stuff.

One thing that I mulled a bit the last few days is if the player character should be vocalised at all.
It is easier for people to think it is them doing decisions if you don't actually put words in their mouth, so that they can imagine that they are speaking in a specific slang.
There is also the problem how different modders will write the dialogue for the player - preventing that the player will switch personality when he speaks with two different girls.
I personally would prefer to write/read 'You explain that you are <playername> a local businessman in the entertainment sector' than a lengthy dialog (but maybe I would do that because I suck at writing dialogs).
Anyway, this is just what I think about it and if you want to have the character speak that is doable too although you would probably need a character description to keep the dialog relatively consistent.

Good point... If we create different player character types, amount of work for content creation will multiplied...

Maybe you're right, we can keep it to girls and narrator only or simply allow modders to make their own choices... the trouble is that there is also nothing we can do, we only control the content we release the game with, it is impossible to prevent modders from creating content as they please or at the very least, close to impossible.

I want to hear from Night and CW on this topic. I am sure they gave dialogues more thought than I have.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 21, 2013, 02:14:27 PM
:)

Welcome to the forum and project!

PS: Rudi works on porting Otherworld to Python, we've met on Otherworld forum before it got nuked by viruses. He is a more skilled programmer than me so depending on time both of us have to spend coding for the project, it just might go a lot faster!

Thank you for the praise, but it is undeserved. I'm just an amateur and have nothing to show yet, except for me liking to fool around with Python. However, if anybody needs something coded in Python I might be able to help.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 21, 2013, 04:09:26 PM
There is also the problem how different modders will write the dialogue for the player - preventing that the player will switch personality when he speaks with two different girls.
In slavemaker, for example, main character's personality theoretically bases on his/her background, traits and so on. This is tremendous amount of work, but modders will be able to write it's own dialogue for each background or traits set if PytFall will use the similar system.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 04:23:06 PM
In slavemaker, for example, main character's personality theoretically bases on his/her background, traits and so on. This is tremendous amount of work, but modders will be able to write it's own dialogue for each background or traits set if PytFall will use the similar system.

Yeah, Slavemaker's GUI and gameplay leave a lot to be desired but amount of usercreated content is incredible. In PyTFall modders will be able to write own dialogues regardless of the system we choose, we'll take it one step at a time, for now we need to decide how we handle this right now...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 21, 2013, 05:04:35 PM
Hey guys,


I looked at Items and their effects today and noticed a problem.

Consider this scenario:
A girl has a charisma attribute. Minimum value is 0, maximum value is 100. Currently her charisma is 90.
Now she puts on a nice dress (charisma + 20). The current implementation recognizes that this would raise charisma above maximum and limits the value to 100.
Next, she takes off the dress. The current implementation drops her charisma by 20, leaving her 10 charisma short of where she started.

Suggestions?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 21, 2013, 05:26:08 PM
I'd say, Xela, it's too early to worry about it then, just like it's too early to create girls packs.
Either modders could use dialogues presets if you feel like adding MC's backgrounds or some others MC-related flags, or rpg-like well-branched dialogues if you don't.
Branched dialogues are supported, aren't they?

A girl has a charisma attribute. Minimum value is 0, maximum value is 100. Currently her charisma is 90.
Now she puts on a nice dress (charisma + 20). The current implementation recognizes that this would raise charisma above maximum and limits the value to 100.
Next, she takes off the dress. The current implementation drops her charisma by 20, leaving her 10 charisma short of where she started.

Suggestions?

You probably should use two variables for each stat, one for the base value and one for the actual value shown to player, i.e. base value + equipment effects limited by 100.
Or one limited by 100 and shown to player and second unlimited and not shown.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 05:28:42 PM
Hey guys,


I looked at Items and their effects today and noticed a problem.

Consider this scenario:
A girl has a charisma attribute. Minimum value is 0, maximum value is 100. Currently her charisma is 90.
Now she puts on a nice dress (charisma + 20). The current implementation recognizes that this would raise charisma above maximum and limits the value to 100.
Next, she takes off the dress. The current implementation drops her charisma by 20, leaving her 10 charisma short of where she started.

Suggestions?

An obvious solution would be to rewrite the whole method and have it add whatever value to a stat without actually having to mod the stat. kind of a two variables scenario, one is stat itself (base) and another whatever the equipment adds to it. That would solve most problems...

Other less technical solution would be to have every item in preWMlike version of PyTFall modify maximum of a stat as well as the base, also solving the problem.

Leaving it as it is would be the least technical option :)

I am sure there are other solutions thou...

Edit: The thing is that we already have a very advanced items system in Alkion, so I wanted to create the simplest system possible for SimBro version of PyTFall and then simply use the Alkion system for WMlike version when we get to it... this thing with items was definitely not intended to work like this, but I would say live and learn :)

I am wondering what the best way to solve this thou... I don't want the sGirl's class to get to messy so now we need to think of a way to mod the original self.charisma stat by second variable: Writing separate method like self.getStat('stat') and use that in game seems like an answer... but that would make transition to WMlike version a bit more of a mess I expect...

I'll check how it is done in Alkion and figure out the best way... maybe it will be simpler to leave the matter as it is for SimBro PyTFall or just import Alkion's system right now and be done with it.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 05:34:21 PM
I'd say, Xela, it's too early to worry about it then, just like it's too early to create girls packs.
Either modders could use dialogues presets if you feel like adding MC's backgrounds or some others MC-related flags, or rpg-like well-branched dialogues if you don't.

Well, night is already writing some interactions and CW will prolly soon start as well so it not that early...

Branched dialogues are supported, aren't they?

Yeap!

You probably should use two variables for each stat, one for the base value and one for the actual value shown to player, i.e. base value + equipment effects.

That's what I've said :)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 21, 2013, 05:47:27 PM
Hmm... wouldn't it also work if you simply counted the stat higher but if the stat was larger than the max you only give out max?
Should even work if you increased max at a later point.
Not sure how permanent increases to a stat would work in the long run though - you still would need a check to make sure you don't exceed the maximum the variable can hold (if that is applicable in Python).

Edit: (I have only limited knowledge of the codebase and don't know Python ignore my possible ignorance)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 21, 2013, 06:11:26 PM
Yes, that would also work GonDra.


I have yet another suggestion: Only store the base value of the attribute and calculate the equipment bonuses on the fly every time the attribute is accessed. This is A LOT slower than the current system, but it is guaranteed that the returned value is correct and there is only one method that contains all the attribute calculation code. For now I'm sure it's not too slow, but it is definitely only a makeshift solution begging replacement.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 06:15:36 PM
Hmm... wouldn't it also work if you simply counted the stat higher but if the stat was larger than the max you only give out max?
Should even work if you increased max at a later point.
Not sure how permanent increases to a stat would work in the long run though - you still would need a check to make sure you don't exceed the maximum the variable can hold (if that is applicable in Python).

Edit: (I have only limited knowledge of the codebase and don't know Python ignore my possible ignorance)

It would work as well... like I've said, I will check how it works in Alkion and try to figure out the best way to handle it. Rudi wrote an option on how to solve it already, but in pure Python so implementation needs to be checked.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 21, 2013, 06:24:44 PM
No, what I sent you does not solve this problem, writing that lead me to find this problem ;-)

However, I can definitely solve this problem if we can decide how it should be solved.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 21, 2013, 06:57:49 PM
No, what I sent you does not solve this problem, writing that lead me to find this problem ;-)

However, I can definitely solve this problem if we can decide how it should be solved.

 Not today :)

 I've already spent all the time I wanted to code in today chatting but it was still very well spent! I'll finish remodeling parkscreens tonight (something that has to be done to make girlsmeet system work later) and take a look at Alkion's code tomorrow on how items are handled there, we can create a whole new system for sure, especially with you on the team but ditching a ready to go system with import from .xml and ready to use screen language would be a damn waste...

 Also, your code is still a bit above my 'paygrade' and while I do understand most of it, it will take some time getting used to...

Edit:
 Ok, so Eliont's code is also not easy for me to figure out (at least I am used to it) but best I can tell, Alkion has exactly the same problem :)

 I'll ask him tomorrow, it's 2 a.m. again so GN.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 22, 2013, 05:13:14 AM
Well, night is already writing some interactions and CW will prolly soon start as well so it not that early...
Excuse me, but I thought we talk about modders, not members of PyTFall dev team itself  ;)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 22, 2013, 06:09:26 AM
Excuse me, but I thought we talk about modders, not members of PyTFall dev team itself  ;)

Nope, I believe Dra meant the development team as well as modders. I asked Eliont about the Alkion's items and the way it works now is that items simply are allowed to mod stats above their Max parameters... so basically kind of a 'lazy' approach I suggested where all items are simply capable of raising the max stat, only implemented a bit differently.

I have finished my two major screens on one label experiment cause while that worked flawlessly, creating girlsmeet interactions would be a hell to code in in that setup. Graphically, nothing will change, only the code. I'll finish the transition and then start working on gm interations menu.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 22, 2013, 03:59:15 PM
Alright, so I thought about what code I could write for PyTFall. There are lots of possibilities and most of them involve me designing how parts of the game will work. I'm not sure that's a good thing, as somebody else might want to do it differently. Therefore, we either should have a discussion previously or somebody with the authority to do that should decide how that particular feature should be implemented. Let me give you an example: Brothels
Should they provide jobs and stat bonuses to inhabitants like in SlaveMaker?
Should their properties be decided by the rooms they encompass like in Otherworld? Should they even have rooms?
Should they influence available customers, like in sibr1x (I think...)?
Can the player own more than one? Run more than one?
Not everything can be set in stone at this point, but some decisions will be necessary.
How many slaves can the player own? Many slaves means lots of work for the player, so managing each one of them should be simple (think WM here). Few slaves means lots of playertime for every one of them, so managing them can be quite involved (as it is in SlaveMaker).
Many slaves means multiple houses can be useful. Few slaves mean a single house at any given time will be sufficient.

We could add a simple design document into the Dropbox, so each of us can edit it. A .doc file (not .docx!) would be a good choice, as most people will be able to edit it and pictures can be included if artists want to sketch GUI layouts or similar stuff. In this document, we could collect ideas and develop a common vision for this game.

To get started, we could talk about a very interesting question: At this point, what would be the most fun, interesting or sexy new feature/improvement to the game (in your opinion)?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 22, 2013, 06:05:16 PM
First thing I would like to ask is that you try to dumb down code to my level. You quickly tend to customize classes and use inheritance where it can be avoided. Even if it might be a better way of programming, it is also more difficult for me to read and understand.

I started the project to have something I can understand and advance, so for as long as it is possible I would like to avoid having a School/Brothel/Bank inherit from one Building class and having to modify class behavior like __getattr__, __repr__, ect.. Even for items you've employed "collections.Counter" inheritance (that I've heard of but never used before), I've seen a good 15 items system so far and non of them had to use any module while working great.

I know this is a nuisance but I would like to avoid having to go through documentation or hurting my head figuring out classes every time I wish to modify the game.

Alright, so I thought about what code I could write for PyTFall. There are lots of possibilities and most of them involve me designing how parts of the game will work. I'm not sure that's a good thing, as somebody else might want to do it differently. Therefore, we either should have a discussion previously or somebody with the authority to do that should decide how that particular feature should be implemented. Let me give you an example: Brothels

Brothels are as good of an example as any :)




Should they provide jobs and stat bonuses to inhabitants like in SlaveMaker?
Should their properties be decided by the rooms they encompass like in Otherworld? Should they even have rooms?

Yes, they should obviously have rooms but WM/Simbrothel type of rooms. After Alkion is ready (new version was released today and it is getting good, much of the coding is ready, now it is mostly about content and re-balancing) I will prolly translate it to English if time allows and we will have a game with a lot of different rooms :) No need for two games...

They also already provide jobs and should provide bonuses during jobs if upgraded in the future. Also I had half a mind to allow more advanced upgrades like in SimBro 1x or Alkion through buying furniture and similar stuff, but that was planned for the advanced version.



Should they influence available customers, like in sibr1x (I think...)?
Can the player own more than one? Run more than one?

Yes, they already determine costumer's caste based on brothel's reputation. More than that? Like fetishes, I didn't plan anything like that but SW raised that issue. He wanted Brothels to attract costumer with certain preferences based on advertising but that wasn't in my original plans. Design was supposed to be simpler than that.

For now, I suggest keeping it simple, release a playable Alpha, then look at the game as a whole and decide what parts are more important and focus on those!

For the second question, please take a look at the game, Player is obviously allowed to own and run more than one brothel.

Not everything can be set in stone at this point, but some decisions will be necessary.

True, take a look at what's already there. On top of this brothels are supposed to have at least strippers after the lounge is bought, if you've read previous posts, you prolly already know that the idea was to have player balance Brothel's reputation (that influences costumer castes) vs ranks of girls working in the brothel. Strippers would rouse up clients that will later buy sex and entertain overflow of costumers getting cash out of them.



How many slaves can the player own? Many slaves means lots of work for the player, so managing each one of them should be simple (think WM here). Few slaves means lots of playertime for every one of them, so managing them can be quite involved (as it is in SlaveMaker).

Also was addressed somewhere. I tested the engine on 4 years old laptop with a logical equivalent of :

For 2 000 000 interactions (around 400 000 girls in game), game crashes on next day.

For 200 000 interactions (around 40 000 girls in game), next day calculations take around 7 - 9 seconds. Saving takes 20 - 25 seconds.

For 20 000 interactions (around 4 000 girls in game), next day calculations take around 1 - 2 seconds. Saving takes 1 - 2 seconds as well.

For 2 000 interactions (a more realistic scenario of 400 girls in game), next day calculations and saving are instantaneous.

So we're in the clear  to have a lot of slaves like in WM. Also, game will be be based around AP (Action Points) and I am planning to make managing/training any one - two unique slave/s VERY entertaining as well as running brothel but that is also planned for a more advanced version.


Many slaves means multiple houses can be useful. Few slaves mean a single house at any given time will be sufficient.

Many houses, many girls, less than half of them slaves if you've read previous posts. Girl's have kind of castes themselves that go from slave to royal and all will have different rights. Implementation will be half/half between the simpler SimBrolike and advanced WMlike versions of the game, how deeply implemented in the simpler version, only the flowing gamedesign will tell.


We could add a simple design document into the Dropbox, so each of us can edit it. A .doc file (not .docx!) would be a good choice, as most people will be able to edit it and pictures can be included if artists want to sketch GUI layouts or similar stuff. In this document, we could collect ideas and develop a common vision for this game.

Please lets not do that... it takes insane amount of time and pouring out brainstorms into such documents quickly corrupts the concept. Both of those I've seen happen in Alkion and a couple different projects. There many problems in projects with more than one programmer, in Alkion, it was mainly difference in skill between Eliont who studied to be one and can code in an impressive amount of languages, has specialization (media streaming) and learned Python just so he could code in RenPy in his spare time and me who just listened to lectures and read a limited amount of Python Documentation so I could try and code some form of WM2. I don't want this to turn into another Alkion :)

My advice is this:

Choose what you want to code, like brothels, ask here what that is supposed to be like in general and then simply write what and how your planning to code in .doc. You don't have to be to specific, just the general plan and how you're planning to implement that.

To get started, we could talk about a very interesting question: At this point, what would be the most fun, interesting or sexy new feature/improvement to the game (in your opinion)?

Jokers? Mission system? Traits?

 I know a good one: Exploration engine   ???

My idea was to finish the girlsmeets, finish the advanced logic for Brothels/Costumers/Girls/Traits. Finish every tool modders may require and release the freaking stable Alpha version, still without Jokers and some other stuff but playable, stable and with some fun content! Then work on adding jokers and other features that are secondary to gameplay to enrich the game, balance it out properly while during that time new and new content is created and then, release a beta, debug - release The Final 1.0 version of SimBrothel PyTFall and then after a short break, start pushing that into a more advanced game with territory control, advanced slave training, advanced Arena maybe even some form of exploration engine.

Long story short, I think the most amazing/sexy thing right now would be to release a working version :)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 22, 2013, 07:01:17 PM
Ideas plz:

This is from SimBro 1x:

Menu:

Chat: Interests, Hang outs, Shopping, Romance
Insult: Dumb, Boring, Ugly, Slut
Give Money: 25, 50, 75, 100
Touch: Hug, Hold Hand, Slap Butt, Grab Breast
Play Game: 5 Questions, Find Something, ?, ? Doesn't work
Compliment: Clever, Smart, Cute, Breast
Joke: Kids, Adult, Sex, Gross
Give Gift: A lineup of items, can be substituted with take shopping or we'll just add items.
Kiss: Hand, Forehead, Cheek, Mouth
Proposition: Friends, Girlfriend, Sex, Hire


All and all, I think we need 'Subdue' (Starts a battle scenario and maybe some events like someone coming to her rescue), 'Date' (Scenario with background switch), maybe some form of 'Special'?

I would like something more original than plainly ripping the whole thing off SimBro 1x. Any ideas?

I am going to get some sleep...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 22, 2013, 07:14:18 PM
Quote
First thing I would like to ask is that you try to dumb down code to my level.
Concerning inheritance:
That's a proven concept. Every Python object is an instance of some class and every class has a superclass, except for the "object" class. Understanding inheritance is important for programming in Python (and not only Python).

Concerning special methods (e.g. __repr__):
I do that quite often in my own project, for various reasons. The code I sent you for PyTFall only used __str__, which modifies how a class looks when it is printed. As a result, whatever __str__ does has zero influence on the inner workings of a class and can be safely ignored. I only included that to be able to test the class comfortably.

Quote
I would like to avoid having to go through documentation
You think my badly written code is easier to understand than the official Python docs? If I don't use what Python has to offer, I have to code the same functionality myself, reinventing the wheel. Usually, the fastest and easiest way to solve a problem in Python is to look up the solution in the docs or on stackoverflow. That's also the easiest way to learn the language, IMHO. I do it all the time.

Quote
I started the project to have something I can understand and advance
I can understand that. However, I don't think you are doing yourself, or your project, any favors by wanting to implement everything "by hand". Nevertheless, I will only use standard library objects for future PyTFall code.

Quote
take a look at what's already there. [...] Also was addressed somewhere
You know, I spent 3 hours reading when I quickly scanned through this thread my first time around here and obviously I missed quite a lot. I also played the game a little bit. Despite that, it is really hard for me to tell which of the parts that are already there are only makeshift solutions meant to be replaced and which are established concepts that should be kept and expanded upon.

Quote
Please lets not do that
Alright, as far as I'm concerned, that's entirely your call.

Quote
Choose what you want to code, like brothels, ask here what that is supposed to be like in general
I'm interested in customers. What do you have in mind for them? They have a social class. What else? Do different locations have different frequencies of particular customer types?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 22, 2013, 08:05:29 PM

I'm interested in customers. What do you have in mind for them? They have a social class. What else? Do different locations have different frequencies of particular customer types?

Clients:

I've planned the following, some of it is implemented, some not:

- Have social status, status depends on Brothel's reputation, every brothel has a minimum and a maximum reputation, that is being loaded from .xml file along a number of other stats. Maximum reputation is what prevents a lord or a royal from ever coming to some shitty ran down building for example.

- Have traits, like for example Huge Dick, Fat, Violent etc. I've never compiled a list of any traits, the idea was to ask people on forums what they wanted to see and come up with a couple myself. Traits trigger would trigger events in girl's behavior, job performance and so on. Absence of a trait would be a most common trait :) Rest are random chances, maybe once in 5 - 7 costumers, one gets a trait.

- Have an amount of money with them, random int depending on caste.

- Have an amount of money they would be willing to spend, rest is up for grabs by checks during the act itself, tips, girls bartering skill (actual skill or simply intelligence check) and so on.

- Gender

- Act (what they wish to do in brothel)

- Pronoun (he/she) for texts.

Number of stats:

- set of 'Battle Stats' (Like girl/player)
- Charisma
- Libido


Recently, it was suggested that a costumer should also have portrait based on it's caste and maybe traits.


Another thing, while I planned to implement this only for the advanced version, plans can be changed especially since we now have you on board as a programmer, I wanted to create a set of "Returning" costumers, not a large number, lets say 5 - 20 depending on day of the game. They would not be randomly generated every turn but will always be present in a list or a dict and have special events and texts during jobs. Maybe related quests even...

Such a costumer would also need:

- Name
- Picture (for quest, matching the portrait)
- Favorite girl or girls (no idea what's better, 1 or several)
- Favorite Act


Amount of clients will depend on brothel's fame and advertising techniques but since clients will be generated elsewhere, it should not important to the class.

Other stuff? I don't know, I think that is as far as my thoughts took me, if anyone can think of some cool stuff to add here, you're more than welcome.

And it's 3 am now, I REALLY need to get some sleep!

PS: On the code issues, it's all good as long as you agree to explain something I might not understand in detail. I realize that I am not doing myself any favors not using everything Python has to offer but my way works as well ;)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 23, 2013, 02:47:37 AM
Of course I am willing to explain my code, but so far, you did not ask any direct questions about it  ;)

EDIT: I added specifications for customer code to my dropbox folder. Please review it  and decide if you want a common base class for characters or not.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 04:39:43 AM
Of course I am willing to explain my code, but so far, you did not ask any direct questions about it  ;)

EDIT: I added specifications for customer code to my dropbox folder. Please review it  and decide if you want a common base class for characters or not.

No common base if it can be helped. I left comments inside the file.


Ideas plz:

This is from SimBro 1x:

Menu:

Chat: Interests, Hang outs, Shopping, Romance
Insult: Dumb, Boring, Ugly, Slut
Give Money: 25, 50, 75, 100
Touch: Hug, Hold Hand, Slap Butt, Grab Breast
Play Game: 5 Questions, Find Something, ?, ? Doesn't work
Compliment: Clever, Smart, Cute, Breast
Joke: Kids, Adult, Sex, Gross
Give Gift: A lineup of items, can be substituted with take shopping or we'll just add items.
Kiss: Hand, Forehead, Cheek, Mouth
Proposition: Friends, Girlfriend, Sex, Hire


All and all, I think we need 'Subdue' (Starts a battle scenario and maybe some events like someone coming to her rescue), 'Date' (Scenario with background switch), maybe some form of 'Special'?

I would like something more original than plainly ripping the whole thing off SimBro 1x. Any ideas?

I am going to get some sleep...

Any ideas from the people who played SimBro 1x and felt that something was missing or should I just copy/paste from it and we'll expand on it later?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 23, 2013, 06:40:35 AM
Since you ask about missing parts, you might want to take a look at Popuri's interactions mod (http://pinkpetal.org/index.php?topic=907.0). It has some interesting ideas, like nice/not nice dates, punishments and so on.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 23, 2013, 06:41:28 AM
Suggestion time!

Number of girls:

I think we need to avoid both extremes
– with very small number (like up to 10) it will tend to have too much micromanagement and generally plays more like rpg, and that general feeling is more like a harem then being a boos that runs his brothel establishment
– with very large number (100+) , game will need too much simplification to avoid being overwhelming for player to manage, and with reduced importance that single girl will have, impact of any work invested into girls individualities, traits, meeting system or events will be lessened too...
so I suggest game to be balanced somewhere about 40 girls working

I really liked simbro1x system in that matter; there was a weekly plan of actions for every girl that repeated itself, so with a bit of careful planning all that was needed was to set it once, and then the whole building pretty much runs on auto, allowing this “set and forget” playstyle where number of girls never becomes an issue... and gives player time for all those fun things like making movies, looking for new girls, doing missions...

btw. Xela, you don’t plan fetishes, but still want clients to have traits? I’m sorry, but I don’t see a real difference if a customer can have trait “big dick” or if he can have trait “likes blondes”

interaction menu:

I like the idea to be able to just rewrite the lines in interaction menu, thus making the girl unique, as easy variant to setting a fully customized event.
And for that we need lines that are replaceable, something simple like introduction, what are you doing, how are you... what can be banal “I’m fine” in vanilla, can become something more interesting “I’m another step closer to conquer the world!” or “I’m just thinking about testing my new “Starlight Breaker” move on someone, will you stay still for a bit?” when customized – I like that
...but on a second thought, it’s probably easy to customize text on these buttons too, so there’s no need to have them (you know, like Chat>interest to Boast>Show her your mad skillz! option)

But most of the simbro1x options will do (but please no jokes...)
...and it could be nice if we use these new image categories we have planned, like date on beach...

Another idea:

About all of these dating options – because there was already some thoughts about player personal relationship with his whores, maybe it will be a good idea to separate those two – how much she likes you, and how much is she convinced to work as a whore. It will give a more deep and options to interactions. And with that it will be possible not only to play the Romeo, but also the Bad Guy who threaten girls into working for them!
I’m imagining something like convincing (you can get this much money, become famous bla bla...) and threatening (I’m a friend with THESE guys, and you wouldn’t want them to pay you a visit...)
Simplified variant can  be to have only this current “relationship” stat to have a negative numbers to indicate hate and fear, with a Hire option to have some chance on success on this side too.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 07:10:42 AM
Since you ask about missing parts, you might want to take a look at Popuri's interactions mod (http://pinkpetal.org/index.php?topic=907.0). It has some interesting ideas, like nice/not nice dates, punishments and so on.

I was talking about girlsmeets, not interactions.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 23, 2013, 07:21:08 AM
Jeez, I know. But some parts like differet types of dates can be used in meeting scripts too.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 23, 2013, 07:50:34 AM
About all of these dating options – because there was already some thoughts about player personal relationship with his whores, maybe it will be a good idea to separate those two – how much she likes you, and how much is she convinced to work as a whore.
Thus, even if she doesn't want to be a whore, she still can work for you at some neutral jobs, like waitress.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 23, 2013, 08:15:38 AM
Thus, even if she doesn't want to be a whore, she still can work for you at some neutral jobs, like waitress.

Yes, your right, I totally forgot about these... And I actually used this type of jobs alot...
 
What I wrote doesn't make that much sense now, because girls that want to work for you, but don't have any kind of relationship with you are those appearing in standard "buy me” menu, so there is no need to simulate that kind of situation in interaction menu...
 
sorry :-( overthinking something again...
 
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 08:35:50 AM
Suggestion time!

Finally :)


Number of girls:

I think we need to avoid both extremes
– with very small number (like up to 10) it will tend to have too much micromanagement and generally plays more like rpg, and that general feeling is more like a harem then being a boos that runs his brothel establishment
– with very large number (100+) , game will need too much simplification to avoid being overwhelming for player to manage, and with reduced importance that single girl will have, impact of any work invested into girls individualities, traits, meeting system or events will be lessened too...
so I suggest game to be balanced somewhere about 40 girls working

I really liked simbro1x system in that matter; there was a weekly plan of actions for every girl that repeated itself, so with a bit of careful planning all that was needed was to set it once, and then the whole building pretty much runs on auto, allowing this “set and forget” playstyle where number of girls never becomes an issue... and gives player time for all those fun things like making movies, looking for new girls, doing missions...

Making movies is a lot more Set&Forget than jobs in SimBro 1x. On the account of girls, allow me to present another option:
(I write this with advanced version of the game in mind)


- Allow any amount of girls
- Allow personal training consisting of:
"Unique conversations" (Setting flags in girls namespace)
"Unique Skills Training" Add set of skills into a class namespace that would be to slow to train in schools or in jobs, but only can be trained through personal supervision.
"Unique events" Having girl do specific action to advance those skills
"A number of hidden stats that can be accessed only through preforming some special action."
- Spend AP for both you and girl while training.

Girls that were trained in such way would have a significant modifier to price (those would almost always or always be slaves).
They would also have significant modifiers to price costumers pay for their cervices and only girls trained in such fashion could achieve maximum rank.

There is a Russian slavemaker alternative called "Valet Pletey" that is currently no longer being developed cause engine for the game was poorly chosen. I want to combine something similar with WM.


As far as player is concerned, girls trained in such fashion are the absolute Elite (of their professions, slaves or not). They educate nobel's youth if training was intellectual (Not as job probably, you simply sell them for a decent price or maybe sign some form of a long term contract if they are free.). Service the best costumers, preform for the most noble of citizens and so on.

btw. Xela, you don’t plan fetishes, but still want clients to have traits? I’m sorry, but I don’t see a real difference if a customer can have trait “big dick” or if he can have trait “likes blondes”

Real difference:

- Girls are simply presented with a costumer trait like 'Huge Dick' and have to deal with it in some fashion.

- Likes blondes would only make sense if we generated costumers first and matched those with existing girls, means extra code and little benefit (in my opinion anyway)





interaction menu:

I like the idea to be able to just rewrite the lines in interaction menu, thus making the girl unique, as easy variant to setting a fully customized event.
And for that we need lines that are replaceable, something simple like introduction, what are you doing, how are you... what can be banal “I’m fine” in vanilla, can become something more interesting “I’m another step closer to conquer the world!” or “I’m just thinking about testing my new “Starlight Breaker” move on someone, will you stay still for a bit?” when customized – I like that
...but on a second thought, it’s probably easy to customize text on these buttons too, so there’s no need to have them (you know, like Chat>interest to Boast>Show her your mad skillz! option)

Modifying text on those buttons would require knowledge of screen language and game itself or me creating code making it easier in some way. There is a number of approaches on how that can be accomplished, it is easier to create a menu as a part of a unique event or interaction that appears after the usual button is clicked, that already can be done with one word: menu: :)


Jokes are out! ;)
Dates are in, other categories used for interactions as well. We can add to/change girlsmeets as we move forward.

As for the relationship between ingame character, it is a very serious topic that needs to be addressed separately or even in separate thread/dropbox file. I am still not entirely sure how that needs to be approached. Tools at our disposal right now are stats, flags, counters, functions, how that all comes together I am not entirely sure yet, especially I have a huge difficulty separating simpler from advanced version as far as this topic is concerned, cause I want it to be an advanced system in WMlike version and have absolutely no idea where to draw the line between that and SimBro one...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 09:06:29 AM

Yes, your right, I totally forgot about these... And I actually used this type of jobs alot...
 
What I wrote doesn't make that much sense now, because girls that want to work for you, but don't have any kind of relationship with you are those appearing in standard "buy me” menu, so there is no need to simulate that kind of situation in interaction menu...
 
sorry :-( overthinking something again...

Thus, even if she doesn't want to be a whore, she still can work for you at some neutral jobs, like waitress.


Well, here we are entering the "I am not sure about how to handle this in SimBro version territory".

For the advanced version, I have nearly all the answers:

Girl has a profession. If that is prostitute and free, she will never refuse a whore job simply cause she dislikes you.

Slaves will have a very simple acceptance attribute set to true/false that will be one of the modifiers to their price. If acceptance is set to true, she will almost always obey.

The logic is that if a girl is a slave or free and agreed to whore for you, she should simply do so, I never understood games logic where girl decided to work for you but refuses all the time because her obedience or whatever is to low.

They will still refuse if:

- Injured
- Exhausted
- Customer is to ugly, has a trait they dislike or Caste/Rank is to far apart (Now THIS will depend on their disposition/fear/character/obedience or whatever we decide to go with!)


In Advanced version, there may be dozens of jobs but in SimBro one, waitress wasn't even planned. Also there will be counters, if you ask a Warrior (Free girl since slaves cannot be warriors under the current concept) to whore for you, she'll tell you to get lost during the Next Day, if you repeat that one more time, she'll tell you to F#ck off and leave you, with a huge hit to disposition.

So right now, while I have a fairly clear idea of how to proceed with WMlike version, SimBro one is still undecided.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 23, 2013, 10:03:50 AM
So warriors will never agree to whore then, regardless of any circumstances?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 10:48:50 AM
So warriors will never agree to whore then, regardless of any circumstances?

In WMlike version you will be able to have them change profession if disposition is high enough. Another option would be to use drugs. I was thinking to have a drug that slowly destroys a girl but confuses into doing whatever the hell. But after 40 - 50 days the best you can do is to sell her really cheap as damage will prolly be irreparable.

But as long as profession is set to Warrior, she will refuse whoring under any normal condition, yes. That is only for free girls, Slaves will also have professions (Warrior excluded) but they will behave differently and accept most jobs. Also max of stats will be modified by the game, warrior will never be able to get to skilled in sex stats and prostitute will never be able to get to skilled in battle stats and so on.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 23, 2013, 11:21:44 AM

Real difference:

- Girls are simply presented with a costumer trait like 'Huge Dick' and have to deal with it in some fashion.

- Likes blondes would only make sense if we generated costumers first and matched those with existing girls, means extra code and little benefit (in my opinion anyway)
sorry... I was under impression that there will be some sort of matching system / preselection included in that Social Status system you have in mind, like when a Lord will come to visit.

----------
About that girls meeting, will it be using its own game screen with standard pictures, visual novel style or a combination of these? Because if there will be options like "go to pub/beach/restaurant" that will take places somewhere, with its own submenus like "buy her a drink", then that's for sure be enough. (You suggested something like that on page 2, and just background and questgirl can do it fine)
---------
Girl that doesn't whore is a nice concept - there's a lot of interesting characters who simply do not have enough H pictures to work as one, and this is ideal for them. Also good for all these series themed girl packs, because most of the minor characters usually suffers from the same scarcity, but without them it never feels complete. (you can still be intimate with them personaly throught relationship, yes?)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 12:15:25 PM
sorry... I was under impression that there will be some sort of matching system / preselection included in that Social Status system you have in mind, like when a Lord will come to visit.

Yeah and it is already working but not the way you think. Based on Brothel's reputation, single costumer is created during the act and is awarded with rank, gender and other attributes. But this costumer is not matched vs all girls in the brothel (he doesn't pick the one he likes best) meaning that it would be possible to check his/her stats, traits and so on vs girls but there would be no way to ensure that if there was another blond girl in the brothel available, he went for her and not for redhead or brown. That would also be possible to code, have a pool of costumers being generated and matched vs every girl in brothel, but that seems a bit tedious to do at the moment, especially since there are so many different thing to do.

It is definitely possible to simply check if costumer has a fetish for a girl he ended up with right now, but I don't want to do things half way, if we implement costumer preferences, code should trully check every girl for every costumer for such a fetish. It is not hard to do at all, but I though that would require a bit of extra work and further delay the game. We can simply agree that your way is better than what we have now and code that in later (that path is in no way closed by the one currently implemented!, the only thing that has to be changed is generating costumer before the act and iterate over every girl in brothel he's visiting and finding a way to relay the result of that iteration to act method so it can be added to txt variable).




----------
About that girls meeting, will it be using its own game screen with standard pictures, visual novel style or a combination of these? Because if there will be options like "go to pub/beach/restaurant" that will take places somewhere, with its own submenus like "buy her a drink", then that's for sure be enough. (You suggested something like that on page 2, and just background and questgirl can do it fine)
---------

Those things are not related, everything you said will be possible but there might be some exceptions. I need to see the endresult of girlsmeet screen/label first, the trouble is that it has to be a bit more complex than the one in SimBro 1x because it can be called from many different locations, needs to know what location to return to from the main menu of the screen and know where to return from each separate interaction especially if background is changed during the interaction (As opposed to simple interaction screen that always returns to the same place, making it really easy to code)... I am working on figuring out how to make all of that happen and allow any sort of modding right now.




Girl that doesn't whore is a nice concept - there's a lot of interesting characters who simply do not have enough H pictures to work as one, and this is ideal for them. Also good for all these series themed girl packs, because most of the minor characters usually suffers from the same scarcity, but without them it never feels complete. (you can still be intimate with them personaly throught relationship, yes?)

Sure, that is never an issue.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 23, 2013, 01:05:52 PM
Thanks a lot for your explanation! I get it now... and agree that there are better things to do now.


Anyway, you will be free from my questions for a while, because I'll be at a place without Internet until monday.  But I take renpy with me to get a better grip of it and try to make some of the scenes I talked about. Hope I understand you better then


--------------edit----------------
I reuploaded Hinata and Sakura pictures again, they should have these new dating categories now +Tenten
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 01:16:17 PM
Thanks a lot for your explanation! I get it now... and agree that there are better things to do now.


Anyway, you will be free from my questions for a while, because I'll be at a place without Internet until monday.  But I take renpy with me to get a better grip of it and try to make some of the scenes I talked about. Hope I understand you better then


Goodluck, I once went to a place without a net and not much to do as well, so I ripped the entire RenPy documentation from their site and went through it, although I didn't understand any of it back then, still proved to be a good exercise. I will write an advanced interaction using as many tricks as possible and then try to organize everything I wrote in this thread on modding into one thread and/or file.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 04:06:39 PM
Post 666  :P

PHEW  8)

PyTFall version has been upped from 0.12 to 0.2 in Dropbox dev folder. Codework for girlsmeets is officially finished! Now content remains but that's work for our writers, or most of it can be copy/pasted from SimBro 1x! Only hiring works.

I need to write an advanced interaction for night, prolly will start tonight and finish tomorrow. Then either modding guide or Traits + advanced logic (0.2 - 0.3)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 23, 2013, 04:20:05 PM
Also max of stats will be modified by the game, warrior will never be able to get to skilled in sex stats and prostitute will never be able to get to skilled in battle stats and so on.
I see. So this "occupation" thing is basically like character class in some rpg. I guess available traits will be different too.

Girl that doesn't whore is a nice concept - there's a lot of interesting characters who simply do not have enough H pictures to work as one, and this is ideal for them.
Then you'll need some kind of flag to forbid change of profession for such characters into prostitute.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 04:26:24 PM
I see. So this "occupation" thing is basically like character class in some rpg. I guess available traits will be different too.

Yeap, nice comparison! Very likely for traits to be different. Each girl will have a list of traits that are blocked, either by game requirements or by girl pack creators (option inside .xml file).


Then you'll need some kind of flag to forbid change of profession for such characters into prostitute.

Shouldn't be to hard...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 23, 2013, 06:27:22 PM
I implemented the Customer class: see patch_customers.py in my dropbox folder. You can either replace your pyt - classes.rpy file, or you can do the following: The contents of patch_customers.py should be appended to the Brothel class, the client line in the whore method should be replaced and the old Customer class should be deleted. It worked flawlessly for me in 2.0.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 23, 2013, 06:53:14 PM
I implemented the Customer class: see patch_customers.py in my dropbox folder. You can either replace your pyt - classes.rpy file, or you can do the following: The contents of patch_customers.py should be appended to the Brothel class, the client line in the whore method should be replaced and the old Customer class should be deleted. It worked flawlessly for me in 2.0.

Perfect! I left some comments inside the file as well, I'll throw that in my dev version.

I am off to bed (2 am).
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 24, 2013, 09:44:57 AM
Advanced interaction night asked me to write for him is added to dev version along with a new girl (Tenten) and pics CW has gathered.

I didn't understand what you wanted me to do exactly in a couple of places, but I've added a new battle scenario, example of a menu without jumps (setting flags instead) for 2 and 3 choices, if/elif/else condition block you're asked for, explained how to change backgrounds and hide screens and how to go back to girlsinteraction screen without having to jump labels. The whole thing is really low on texts, the point was to explain as much of new tricks as possible so you can do more with your scripts.

Feel free to ask questions if you did not understand something.

PS: New Costumer class is also in there :)

Edit: I am not sure on what to do next, roadmap points to advanced logic and traits so that will probably be it.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: OverHao on January 24, 2013, 11:14:24 AM
ok updates on graphics side:


I'm almost finished layouts for screens available in the version of the game that I have in my folder
[size=78%](you can write an updated list of all current game screens?)[/size]

after all the layouts was confirmed I star some mood boards (collage of pictures to get the atmosphere and feel of the graphics in general)


then step to the real graphics



Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 24, 2013, 11:22:14 AM
ok updates on graphics side:


I'm almost finished layouts for screens available in the version of the game that I have in my folder
[size=78%](you can write an updated list of all current game screens?)[/size]

after all the layouts was confirmed I star some mood boards (collage of pictures to get the atmosphere and feel of the graphics in general)


then step to the real graphics

Good Job!

I've responded in .txt file in your folder already, it's all good basically, but we need to find a place in girlmanagement+list combo for filters and do all equipment screen last.

I forgot to add to the file that girlmanagement+list screen will have to hold a lot more data than it does now... it has to be addressed is some fashion, we can prolly improve upon it as we move forward, it shouldn't be hard if screens are built out of small elements like frames, bars, boxes...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: OverHao on January 24, 2013, 11:36:57 AM
I think about it a little bit and see what comes out  ;)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 24, 2013, 12:37:15 PM
Worked a bit on the girlinteractions and dropped my changes into a folder with my username into the dropbox.
There is a text file in there with the specific things I changed.
Will take a look at the the girlinteractions again if I don't get distracted later, maybe I will polish them a bit, they are awfully thin and same sounding at the moment.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 24, 2013, 01:04:45 PM
Worked a bit on the girlinteractions and dropped my changes into a folder with my username into the dropbox.
There is a text file in there with the specific things I changed.
Will take a look at the the girlinteractions again if I don't get distracted later, maybe I will polish them a bit, they are awfully thin and same sounding at the moment.

Agreed, I think best approach is to start slow with the basics and then add to it. There is a LOT of room to improve those, not only in area of texts and events but also in area of rewards, one of the main things these interactions are supposed to modify is disposition. Maybe also other similar stats in the future. Right now that is missing completely. Also slave vs free behavior is absent, but it's like I've said, babysteps... :)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 24, 2013, 03:46:44 PM
Didn't manage to get much done since last time but I added two more Traits to my doc (https://docs.google.com/document/d/1-wJ0U_WZ8z6pSMHeyTpY60a06eB-HcSJyGegWRQ9vbc/edit).
If you have any ideas/comments regarding new traits or the ones in the doc don't hesitate to add a comment to it.

Can you drop a copy of that into dropbox? I cannot get access to file.


Question:

What do we want from traits? I am working on loading traits into the game from .xml file.
So far traits have:
id = Name
desc = description
mod stat = stat modifier
max stat = max stat modifier
min stat = min stat modifier
blocks = to set trait blocks, for example small breasts should block huge boobs permanently since a change such a descriptor would ruin pictures (huge boobs for Sakura or Rukia for example or small breasts for Tsunade)
effects = sets effect flags (for example, if we ever add pregnancy, sterile would be an effect flag)

What else?

All 'active' trait effects will be hardcoded into the game during acts (jobs).
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 24, 2013, 07:09:05 PM
Sorry, renamed something in that folder and it seems to have screwed up the link for some reason.
Anyway dropped the traits into my folder.

edited because I didn't check my shit.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 24, 2013, 07:27:36 PM
Sorry, renamed something in that folder and it seems to have screwed up the link for some reason.
Anyway dropped the traits into my folder.

edited because I didn't check my shit.

Thanks, traits are going a lot better and faster than expected. I'll prolly finish the whole system if I have a couple of hours free tomorrow (without content), borrowing bupkis from Alkion this time as Traits system their seems unnecessary complicated.

I am out for tonight.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 25, 2013, 03:32:58 AM
What else?
Maybe available occupations? Or some kind of "temporary" flag for non-permanent traits, like small scars which eventually will heal themselves in a few days (if you going to use 'em).
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 25, 2013, 03:55:29 AM
Or some kind of "temporary" flag for non-permanent traits, like small scars which eventually will heal themselves in a few days (if you going to use 'em).

Good call. This has potential!

Maybe available occupations?

I still haven't though of an occupation that would block a trait. I doubt that we need something this advanced, it would be bothersome to add every occupation to every trait in the game. Maybe instead it would be simpler to remove traits during a girl switching for one occupation to the next?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 25, 2013, 08:24:11 AM
Alright guys, I was thinking about what I could tackle next codewise. What system would really make the game better at this point?

Xela, you mentioned a mission system. I take it the girlsmeet encounters you are working on are something different. Are missions quests? Or randomly generated short- to mid-term goals for the player? Or something else?

The "exploration engine" sounds even more interesting to me, but given Xela's plans they are scheduled for far later in the process, so it's probably to early to work on that.

So, team, what do you think I should do? Please remember I'm really bad at creating content, I would much rather create systems that make it easy/easier/possible for you to add content.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 25, 2013, 12:23:18 PM
Xela, you mentioned a mission system. I take it the girlsmeet encounters you are working on are something different. Are missions quests? Or randomly generated short- to mid-term goals for the player? Or something else?

Girlsmeet encounters are a way to acquire girls. Missions are used for different purposes. For example, acquire 3 girls in 15 days of time or rank up 3 girls 3 levels or train a girl to specific stats or have sex with a 'city girl' or buy a new brothel and so on. But that is just one of the things you could work on.

The "exploration engine" sounds even more interesting to me, but given Xela's plans they are scheduled for far later in the process, so it's probably to early to work on that.

Exploration engine was meant as a joke :) Unless you figured out RenPy, making one could be troublesome. Also, like you've said, it's way to early.

 
Alright guys, I was thinking about what I could tackle next codewise. What system would really make the game better at this point?

So, team, what do you think I should do? Please remember I'm really bad at creating content, I would much rather create systems that make it easy/easier/possible for you to add content.

I figure there are many things you can do:

1) Work on advancing game logic. Jobs, Brothels, Items, Advertising, Events. Content can be left to the simplest sentences, it can be improved later. Balancing out the game

2) Arena, logic for the Arena anyway (This is very challenging)... For Arena there is shitzloads of code to write too, There must be tournaments every 30 - 35 days or so to create a top 10 - 20 lineup, must be a way for girls that are working for you to participate, girls that are in the game but NOT working for you and NPC (with portraits again :D). 3 Lineups, 1vs1, 2vs2, 3vs3. Betting system, you can place bets on the next fight, there should be odds (like 1.2 payout if team 1 wins, 1.6 payout if team 2 wins) as well. Autocalc battle system that calculates a winner based on stats (a system similar to WM can be created that describes the fight action by action but I would call that an overkill and I've never planned to write that myself) with some of random factor such as luck involved. Basically, you get the idea, this was planned for later as well but it would make a great addon.

3) Mission system.

4) Function or class that takes my 'day' variable and returns day of the week based on it, maybe moon cycle as well, some modders love that crap, I  was planning to code that in eventually.

5) Joker system, awards that iterate over one of the girl's lists or single girl increasing different attributes, give you new girls, other bonuses or can be traded for money. (Basically same thing as items that we call jokers and put on separate window cause it's a historic part of SimBrothel)
 
6) Advance girl's AI, maybe add a couple of stats and write a behavior system towards player and all aspects of the game as you would envision it.

7) - I can go on for a while like this... Maybe you feel like there should be something in the game that hasn't been planned? Or want to work on something planned but I did not mention here. It's up to you basically, I always welcome free code contributions!  ::)  ;D
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 25, 2013, 03:50:30 PM
Dev version has been updated, traits should now be working, waiting for content. Girl's Traits at the end of viewport on girlprofile screen.

OK, how can you restore AP then? Can max AP be increased or decreased?

Your explanation makes sense, and it feels better than what I had thought of.
Any Idea how many Actionpoints a girl should get? (different amounts for slaves/normal girls?)

Also i have the feeling all this design talk should be collected in a single place.

Agreed, collecting it here :)

AP system already partially works! Has been for a while. Right now it works like this:

- Girls have 'baseAP' that is set to 2 at the beginning of the game and can be modified later by traits, items, events.
- On top of that, girl get extra 1 AP per EVERY 15 (Or 20, I don't remember how much) points of Constitution she has. Every turn, AP is being restored at the next day by adding baseAP to whatever the amount she gets from Constitution.

This is how it presently works.

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<traits>
    <trait
        id="Dummy"   #Name
        desc="This is a dummy trait! " #Description
        temp='3'> # if set to more than 0, trait is temporary, it will disappear after the set number of days. 0 defines a permanent trait that can only be removed thought some sort of user interaction.

        <mod charisma = '50' /> # Changes the stat
        <max charisma = '10' /> # Changes Max of a stat
        <max refinement = '10' />
        <min charisma = '20' /> Changes Min of a stat
        <effects name = 'Confused' /> # Sets a girl flag to true, whatever that flag may be
        <blocks name = 'Cute' /> # Blocks this trait
    </trait>
   
    </traits>

Do we need anything else? Method to apply traits to girls is finished, now methods that removes traits, tracks temporary traits and modification to girl's .xml load function to enable traits that she starts with remain. 

New fields in girl's .xml file:

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<girls>
   <girl
      id="Sakura"
                 folder="naruto"
      name="Sakura Haruno"
      desc="MedicalNin from Naruto series"
      charisma="20"
      refinement = "10"
      libido="40"
      constitution="40"
      exp="0"
      joy="20"
      character="45"
      reputation="0"
      health="100"
     
      anal="0"
      normalsex="5"
      blowjob="2"
      lesbian="0"
     
      attack = '18'
      defence = '15'
      magic = '10'
      agility = '12'
      mp = '15'
     
      occupation="Prostitute"
      location="slavemarket"
      status="slave">
     
      <bskill name = "FistAttack"/>
      <mskill name = "Fire 1"/>
     
      <absolute_block trait = 'Megahuge Tits'/> #Permanently blocks trait for this girl.
      <block trait = 'Weakminded'/> #Just blocks this trait (These blocks can be removed, when you get rid of a different trait that blocked this trait for example)
      <trait name="Dummy" /> #Activates this trait on gamestart.
   </girl>
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on January 25, 2013, 07:30:11 PM
I implemented a Calendar class that returns the weekday, week and lunar phase given a count of days. I assumed that you start counting days at 1, but it's a trivial adjustment if you actually start at 0. The names of the days, the length of a week and the length and start of the lunar cycle can be customized when instantiating the class. For real-world names and lengths, just instantiate without any arguments. I'm still undecided what to tackle next, so I did this as a "target of opportunity".
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 25, 2013, 08:37:08 PM
I implemented a Calendar class that returns the weekday, week and lunar phase given a count of days. I assumed that you start counting days at 1, but it's a trivial adjustment if you actually start at 0. The names of the days, the length of a week and the length and start of the lunar cycle can be customized when instantiating the class. For real-world names and lengths, just instantiate without any arguments. I'm still undecided what to tackle next, so I did this as a "target of opportunity".

Awesome!

I added it to the game, later we'll display pictures instead of text for the cycles, but it works great!

For now, Day of the week and Mooncycle reported in the tooltip of main menu.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 26, 2013, 06:12:38 AM
I gave some thought to girls system, more specifically days off. Perhaps player should be somehow forced to provide them from time to time, at least to free girls. Maybe min fatigue will increase if you don't give it for a long time, or girl herself might sometimes ask player to provide one or several days off, and refusing will hit her disposition.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 26, 2013, 06:37:46 AM
I gave some thought to girls system, more specifically days off. Perhaps player should be somehow forced to provide them from time to time, at least to free girls. Maybe min fatigue will increase if you don't give it for a long time, or girl herself might sometimes ask player to provide one or several days off, and refusing will hit her disposition.

We're planning to allow a good deal of girls, that will prolly not be the best approach. Min fatigue increasing doesn't make any sense so you'll have to explain me that one. Girl asking a player for several days off every time she gets tires will get old really fast but it is a good idea random event that could happen on throwing dice on next day. Girl could always ask for vacation time.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 26, 2013, 08:17:50 AM
Min fatigue increasing doesn't make any sense so you'll have to explain me that one.
I heard somewhere that IRL we have holidays and vacations not just for fun. Everyday rest after work isn't enough for full recovering, fatigue is gradually accumulating, and to avoid it we have holidays every week and even vacations every year (most of us, hopefully  :) ).
In game it means that girl without days off at all cannot rest fully no matter how many AP you put into rest, i.e. her min fatigue cannot be 0, and eventually, maybe months or year later, she will too tired to work at all (when min fatigue=max fatigue).

Girl asking a player for several days off every time she gets tires will get old really fast but it is a good idea random event that could happen on throwing dice on next day. Girl could always ask for vacation time.
Yup, that's what I'm talking about. Random days off to visit her parents and friends, go shopping, because of some illness and so on, not just when she tired.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 26, 2013, 09:18:18 AM
I heard somewhere that IRL we have holidays and vacations not just for fun. Everyday rest after work isn't enough for full recovering, fatigue is gradually accumulating, and to avoid it we have holidays every week and even vacations every year (most of us, hopefully  :) ).
In game it means that girl without days off at all cannot rest fully no matter how many AP you put into rest, i.e. her min fatigue cannot be 0, and eventually, maybe months or year later, she will too tired to work at all (when min fatigue=max fatigue).

New stat? Like accumulated fatigue? Girls gets + 1 per day and starts loosing normal fatigue faster if 'AF' goes above 150? Resets to 0 if you give her vacation time?


Yup, that's what I'm talking about. Random days off to visit her parents and friends, go shopping, because of some illness and so on, not just when she tired.

Kinda counter-intuitive. Girls gets rest-days to visit family and friends. I'll enhance rest job later adding texts to it, if girl is a slave, she would be taking it easy, if girls is free, she would go and visit friends/family.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 26, 2013, 09:45:52 AM
Well, you know how in slavemaker sometimes stat minimum (usually lust  :D ) becomes more then 0. And if you want to lower it, you should use special means.
In our case I'm not sure about the numbers, but let's say every week without a day off will cause random increase of min fatigue, 1-5 points for example. I guess we need a new variable for it, yes. And one day off will drop it by, let's say, 20-40 points.

Kinda counter-intuitive. Girls gets rest-days to visit family and friends.
Sometimes they can spend money in shops buying new items, like girls in wm already do in their free time.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 26, 2013, 10:17:31 AM
Ok People, Look alive!  ???

I would say it's time to take care of advanced logic, after that game should be at least semi-playable. We need to discuss stats, traits, jobs and so on.

Lets start with traits. I would say that the system is ready and working, needs testing obviously and traits themselves. If anyone is up to it, grab the file in the shared folder, throw it into your own folder and add traits as you see them, we can balance those out later, when game pace is clearer.

Traits in the original SimBro:

"Splendid Body";
"Big breast";
"Rest";
"Smart";
"Strong";
"Shy";
"Lolita";
"Artist";
"Maid";
"Happiness";
"Lucky";
"Tough";
"Nymphomaniac";
"Obedient";
"Sex Addict";
"Experience";
"Good Health";
"Exhibitionnist";
"Famous";
"Tips";
"Noble";
"Excellent Reputation";
"Cat Girl";

We all know traits in WM. Write special effects on separate file, I'll add them to the game separately, those can be pretty much anything at all.


Stats:

                charisma=0, - Her beauty, looks and so on
#Do we need beauty like in WM as well? Then we calc looks from (beauty+charisma)/2?

                refinement=0, - VERY/Most important stat in the game, represents her behavior in court, ability to appeal to costumers, to get better ranks. Note that this will be capped at 40 at the start. As she gains experience and refinement, player can rank her up. Higher ranks will mean higher cap for refinement. In the end I think maxed out refinement will be between 150 - 200 from ranks, items and events.

                libido=0, Self-explanatory.

                constitution=0 How many actions she can take each day, in reality that will be determined by AP (Action Points). Base AP will be 2, she gets one extra for every 20 cont she has. Base can also be changed by items/events.
#I knew I covered it somewhere before :)

                exp=0, Experience, not entirely sure what to do with this except having a required amount for a rankup.

                joy=0, Happiness Do we need Happiness as a separate stat?

                character=0, Another REALLY important stat, it's like obedience, high character means she is strongheaded.
#Maybe add obedience to it as well? Character being strongheaded (refusing stuff she dislikes) and low obedience, rejecting everything you ask of her (for untrained slaves mostly since trained slave would have a max of this one at about10 and free girls work for a wage, organization and protection)

                reputation=0, Not entirely sure we need this, Rank is basically the same thing...
Looking at it now, we do NEED this, if only for Arena/Warriors since they have no brothel ranks.

                health=0, HP - Hard to live without it :)

                fame=0, How infamous she is, Girls with high fame will attract better costumers with more cash in their pockets.
I have some good ideas on how to make this a very interesting stat.

                mood=0, No idea why this is in the game, since stats are not final, I prolly had some purpose for this at some point but forgot :(
I do not remember putting this into the game, must have been first days of development (I started with sGirl class). Can anyone think of a good use for this that would justify spending time modifying this stat in functions?

                disposition=0, Min =-1000, Max = 1000!!! Her loyalty, love, respect and so on towards the player. This is what interactions and girl meet are supposed to be changing before anything else. Maybe -500 so you can push her into hatred territory? Or add more stats like love/hate. Maybe later (MUCH LATER) we can also add new stats signifying disposition between girls as well so they can form friendships...

                fatigue = 0, Max = 300, How tired she is, eventually will be shown to a player as text and not as number.
               
                attack = 0,
                magic = 0,
                defence=0,
                agility = 0,
                mp = 0, Battle Stats like in fighting games, since players do not dodge attacks: it's Speed, how long does it take before she can attack again.
Since battle stats are mimicking those of the battle engine, there is not much that can be added here.
               
                anal=0,
                normalsex=0,
                blowjob=0,
                lesbian=0Sex stats or skills as they are called in WM.
New stats will be required if we add new categories, but I forgot about strip(tease)... maybe also 'Service' skill like in WM? Obviously a lot more after slavetraining is added.


Anything else that would make sense? Anything forgotten? Any advice on how to use these stats? I will go through the code soon and start modifying all aspects of the game according to stats table we create here. Balancing it all out later.

Jobs:

What do we want for jobs? Any events during jobs you had in mind?

Planned so far:
- Whore
- Rest
- Heal
- Training (several kinds of training)
- Striptease

Do we want more? Cleaning? Going to court? Hunting, Guarding or something else for Warrior types to do, especially before Arena is ready, or should we keep Warrior types out of the game before we move to Advanced version???

Brothels:

What else do brothels need at this point? Ideas? Events? Other? :)
I think that I will start with adding advertising and upgrades first (today).


From a different SimBro thread...
"Filthy"<-"Very Dirty"<-"Dirty"<-"Messy"-"Tidy"-> "Clean"-> "Very Clean"-> "Spotless"



Girls:

What do you feel they're missing? Stats/traits we've covered already... anything else?

Clients:

They are already fairly advanced, especially for the first version, but anything you want to see here?


I think this is it... Got something to add? Comment upon? Changing this stuff later in the development even if game is coded in Python is a bit tedious so we need to make some good decisions now! so later there is more time to make game look the best it possibly can and create UI that is intuitive and not a click'o'click micromanagement fetish :)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 26, 2013, 10:40:17 AM
Sometimes they can spend money in shops buying new items, like girls in wm already do in their free time.

Would make more sense after a better items system is installed, but yeah, if a free girl gets enough gold, she can go out and get a dress, why not, it's really easy to code in and makes a great event. That got me thinking, maybe another good event would be a girl start using drugs if her joy is to low... you find out and can decide if you wish to send her to clinic or throw her out of your brothel after she's all 'used up'...


There is too much red cause I am kinda using this thread to keep track of ideas and concepts and thread is getting bigger and bigger, making stuff harder to find :)

Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 26, 2013, 11:09:10 AM
Do we need beauty like in WM as well? Then we calc looks from (beauty+charisma)/2?
Well, as wiki states, charisma is "compelling attractiveness or charm that can inspire devotion in others". In other words, it's not just beauty, it's more like power of character, power of mind. You might want to combine it with character stat though.

Do we need Happiness as a separate stat?
I guess if you want you could use happiness as complex stat which depends on joy, disposition, fatigue, money, e.t.c.
Oh, and joy's minimum should be -100, I think. Or from -50 to 50.

Maybe add obedience to it as well?
Well, if girl doesn't like cleaning, but she still does it because of high obedience with penalties to joy and disposition, it means she has strong character. However, if girls are not going to refuse any jobs except for occupation limitations, I'm not sure we need both stats at the same time. Maybe character for free girls and obedience for slaves?

Can anyone think of a good use for this that would justify spending time modifying this stat in functions?
Maybe it means girl's rage for pics like profileangry?  :)
Or since we already have joy and love, mood can be used for things like "in a mood for a work", "in a mood for a date", "in a mood for talking", "in a mood for a fight" and so on, if you want to code such things.

Maybe -500 so you can push her into hatred territory?
Definitely. I never understood why wm uses both love and hate, while max love usually means min hate and vice versa.

Since battle stats are mimicking those of the battle engine, there is not much that can be added here.
Magic defence? Luck(=critical hits)?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 26, 2013, 11:37:27 AM
Well, as wiki states, charisma is "compelling attractiveness or charm that can inspire devotion in others". In other words, it's not just beauty, it's more like power of character, power of mind. You might want to combine it with character stat though.

Maybe for advanced version... but we need intelligence now I think. How and when to raise all of these stats is the real question.



I guess if you want you could use happiness as complex stat which depends on joy, disposition, fatigue, money, e.t.c.

You mean long term fatigue we talked about? Normal fatigue flies around all the time, difficult to have stats depending on it.



Oh, and joy's minimum should be -100, I think. Or from -50 to 50.

Maybe, not sure what we need this for thou. Joy is not difficult to control of in most games.



Well, if girl doesn't like cleaning, but she still does it because of high obedience with penalties to joy and disposition, it means she has strong character. However, if girls are not going to refuse any jobs except for occupation limitations, I'm not sure we need both stats at the same time. Maybe character for free girls and obedience for slaves?

I never said any jobs, I said jobs depending on her occupation, remember? Strippers for example will be a lot more willing to whore if required than warriors. Both are likely to refuse cleaning if they're free.


Maybe it means girl's rage for pics like profileangry?  :)
Or since we already have joy and love, mood can be used for things like "in a mood for a work", "in a mood for a date", "in a mood for talking", "in a mood for a fight" and so on, if you want to code such things.
Definitely. I never understood why wm uses both love and hate, while max love usually means min hate and vice versa.
Magic defence? Luck(=critical hits)?

Luck as a general stat is better... I don't remember if there were critical hits in the engine. I need to take a look as magic defense works.

We don't have love yet either. I really like 'in a mood for idea', prolly will add that to SimBro version.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 26, 2013, 11:59:51 AM
               libido=0, Self-explanatory.
Maybe also nymphomania like in slavemaker? In wm popular whores often have 0 libido after working day, and you can't do anything except for constantly buying special items.

New stats will be required if we add new categories, but I forgot about striptease... maybe also 'Service' skill like in WM?
I don't even try throwing up ideas. Games like "valet pletey" (I'm still not sure about such translation) and newest slavemaker have more than I ever would be able to think up  :)

Anything else that would make sense? Anything forgotten?
Depends. Minor stats like fitness, cooking, singing, dancing if you feel like taking some ideas from other games.

Do we want more? Cleaning? Going to court? Hunting, Guarding or something else for Warrior types to do, especially before Arena is ready, or should we keep Warrior types out of the game before we move to Advanced version?
Cleaning (mostly for slaves) and guarding for warriors at least. Personally i never liked gangs as they being used in wm, I prefer wm ex girls guarding brothel. Others jobs can be added in advanced version.
Btw, what about exploring catacombs or just some wild places for warriors?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 26, 2013, 12:19:46 PM
Maybe also nymphomania like in slavemaker? In wm popular whores often have 0 libido after working day, and you can't do anything except for constantly buying special items.

Screw Slavemaker ;) Girls will recover a good amount of libido on day switch and even more while resting.



I don't even try throwing up ideas. Games like "valet pletey" (I'm still not sure about such translation) and newest slavemaker have more than I ever would be able to think up  :)

Translates as Servant of Whips. It's kind of low on events thou and I got really bored with slavemaker long time ago, I've downloaded new version not to long ago but it seems the same with more girls...




Depends. Minor stats like fitness, cooking, singing, dancing if you feel like taking some ideas from other games.
Cleaning (mostly for slaves) and guarding for warriors at least. Personally i never liked gangs as they being used in wm, I prefer wm ex girls guarding brothel. Others jobs can be added in advanced version.

Right, so guarding and cleaning are in... Fitness = Constitution?   Singing + Dancing will increase Refinement for now.

Cooking, Signing, Dancing we leave for advanced version.


Btw, what about exploring catacombs or just some wild places for warriors?

Kinda goes without saying for advanced version. Do we need this for SimBro one?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 26, 2013, 12:42:49 PM
It's kind of low on events thou and I got really bored with slavemaker long time ago, I've downloaded new version not to long ago but it seems the same with more girls...
You don't need to play, just take a look at "sex training" page  :D
(http://s002.youpic.su/pictures/1359147600/thumb_7bd019998e6705bd747bb4cff05d4b5f.jpg) (http://youpic.su/view.php?id=s002.youpic.su/pictures/1359147600/7bd019998e6705bd747bb4cff05d4b5f.jpg)
For example, things like bondage probably need preparations even more than normal sex.

Fitness = Constitution?
Not exactly. (http://www.otakubell.com/smw/index.php/V3:Fitness) It's kinda substat, like dancing for refinement.

Kinda goes without saying for advanced version. Do we need this for SimBro one?
Without it there is no way warriors can bring any profit, isn't it?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 26, 2013, 01:16:14 PM
You don't need to play, just take a look at "sex training" page  :D
(http://s002.youpic.su/pictures/1359147600/thumb_7bd019998e6705bd747bb4cff05d4b5f.jpg) (http://youpic.su/view.php?id=s002.youpic.su/pictures/1359147600/7bd019998e6705bd747bb4cff05d4b5f.jpg)

So more or less like trainings in Servants of Whip. Bunch of counters. We'll have this in advanced version since SimBro one doesn't have slave training.


Not exactly. (http://www.otakubell.com/smw/index.php/V3:Fitness) It's kinda substat, like dancing for refinement.

Right, not needed for SimBro version either.


Without it there is no way warriors can bring any profit, isn't it?

Good point, we need to decide on how to handle this in SimBro version. Since there are not enough items, either let Warriors whore until advanced one or create some sort of Security Agency and rent them out for cash. (This can be used in advanced version later)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 26, 2013, 02:10:59 PM
I really don't see what warrior-girls would add to (the simple version of) the game.
I don't see any reason why you would need guardians for the brothels assuming that whoring isn't illegal in PyTFall.
The bouncers for the occasional rowdy guest would be pretty much included in the running costs of the brothel. (that reminds me: a finance screen would be nice)

On the subject of stats: The easier they are to distinguish the better.
I would replace charisma with beauty since refinement seems to mean almost the same.
Don't think we need a happiness stat, we have joy already.

Do we need a separate obedience stat from disposition? I had Interpreted it as respect or trust in the lower ranges and liking/loving you in the upper part of the spectrum.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 26, 2013, 02:28:43 PM
or create some sort of Security Agency and rent them out for cash. (This can be used in advanced version later)
Maybe bounty hunters or old good racket then?

I don't see any reason why you would need guardians for the brothels assuming that whoring isn't illegal in PyTFall.
Why not? They protect your brothel not just from drunk customers, but from competitors and criminals as well and prevent slaves (and maybe prisoners) from escaping. Sounds too important to me to simply put it in the running costs and forget. Even if brothels are legal, I doubt this business is perfectly safe.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 26, 2013, 03:09:28 PM
Maybe bounty hunters or old good racket then?

Why not? They protect your brothel not just from drunk customers, but from competitors and criminals as well and prevent slaves (and maybe prisoners) from escaping. Sounds too important to me to simply put it in the running costs and forget. Even if brothels are legal, I doubt this business is perfectly safe.


I really don't see what warrior-girls would add to (the simple version of) the game.
I don't see any reason why you would need guardians for the brothels assuming that whoring isn't illegal in PyTFall.
The bouncers for the occasional rowdy guest would be pretty much included in the running costs of the brothel. (that reminds me: a finance screen would be nice)

SimBro 1x has warrior types but they are handled same as prostitutes. I think best solution for now is not to include any behavior modifier based on occupation. If Rudy decides to code Arena, we'll add the whole warriors block to SimBrothel version and make occupation count. If not, we simply ignore occupation in SimBro version all together and any girl can do any job.


(that reminds me: a finance screen would be nice)

What does finance screen do? I understand that it is a reports screen but what should it display? I myself never really cared all that much for finance stats. Can you make a list with everything you wish to see there?


On the subject of stats: The easier they are to distinguish the better.
I would replace charisma with beauty since refinement seems to mean almost the same.
Don't think we need a happiness stat, we have joy already.

Do we need a separate obedience stat from disposition? I had Interpreted it as respect or trust in the lower ranges and liking/loving you in the upper part of the spectrum.

Right, so screw happiness, at least until the advanced version. I think we should keep charisma for now, it has been in every  SimBro version and decide if we want beauty as well in SimBro version.

Don't know about separation as we do not even have obedience right now. What would be a modifier to obedience without slave training(considering that interactions/girlsmeets are modifiers to disposition)? Any ideas?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 26, 2013, 07:24:26 PM
SimBro 1x has warrior types but they are handled same as prostitutes. I think best solution for now is not to include any behavior modifier based on occupation. If Rudy decides to code Arena, we'll add the whole warriors block to SimBrothel version and make occupation count. If not, we simply ignore occupation in SimBro version all together and any girl can do any job.
That is exactly my problem: there is no incentive, no added gameplay from having guards - girls or not. I simply think we shouldn't bother using our energy on them unless we have a something similar interesting from them as we get from the whores.
(Ok reading this again it sounds a bit harsh. Basically I want you to think if it makes the game more interesting and enjoyable or if it adds an annoying step for the player to keep your game flowing.)

What does finance screen do? I understand that it is a reports screen but what should it display? I myself never really cared all that much for finance stats. Can you make a list with everything you wish to see there?
The bare basics would be just a simple message how much profit you are making, but it would be nice to have a clean list of the income and expenses for each of the players Brothels. (something really fancy would be a variable telling you how much each girl brings in and costs over the whole game.)

Right, so screw happiness, at least until the advanced version. I think we should keep charisma for now, it has been in every  SimBro version and decide if we want beauty as well in SimBro version.
Isn't charisma basically part of refinement as it describes beauty that stems from the way a person acts? Anyway I wouldn't add beauty as an additional stat.

Don't know about separation as we do not even have obedience right now. What would be a modifier to obedience without slave training(considering that interactions/girlsmeets are modifiers to disposition)? Any ideas?
Ah sorry, wasn't clear there: That was supposed to be an argument against obedience since I think it would be basically another stat for the same thing from my perspective.

I am not sure if I explained myself understandably this time it is kinda late.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 27, 2013, 05:16:25 AM
if it makes the game more interesting and enjoyable or if it adds an annoying step for the player to keep your game flowing.
You have a point, i'll give it some thought. Still, I don't think we should completely forget about security, we just need to make it interesting.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 27, 2013, 06:05:04 AM
That is exactly my problem: there is no incentive, no added gameplay from having guards - girls or not. I simply think we shouldn't bother using our energy on them unless we have a something similar interesting from them as we get from the whores.

Well, if you can rent them out as security for others, there is your added game play. I can make a new location, there you can find a number of jobs like security escorts or bounty hunting, how many days those jobs would take and how much they would pay. You keep 50% for providing organization, order, safe place for girls to stay, heal and rest (base of operations, like your brothel or some other building we may add later). Each of these jobs has a minimum requirement.

I was planning to code this into the advanced version, simple version is supposed to be 'simple' :) In any case, it's not very important right now. We need more information, like how long advanced logic is gonna take to code in and what's Rudi wants to code next (if anything at all), so I will simply stay away from behavior based on occupation until we have more information.



The bare basics would be just a simple message how much profit you are making, but it would be nice to have a clean list of the income and expenses for each of the players Brothels. (something really fancy would be a variable telling you how much each girl brings in and costs over the whole game.)

All three are possible, exception would be quests, dates and events I think because including those, while possible, would prolly take to long.

I wasn't planning any kind of finance screen at all but I agree that it can be very useful, so lets make a decision as soon as possible:

- Profit made on Next Day: Goes without saying.
- Clean list of expenses per Brothel: Workload: I expect 5 - 10 hours at least because I did not prepare a game for this from the start. I doubt that this will take more than that thou, maybe less. Also there I will do this in small bits as I advance the logic so it will be a nice distraction every now and again.
- Girl Stats: If quests and items are to be included here, I expect this would take a while, functions also would have to be written for modders so they would not have to relay data themselves. One bonus: Balancing out a game would be a WHOLE lot easier.

Isn't charisma basically part of refinement as it describes beauty that stems from the way a person acts? Anyway I wouldn't add beauty as an additional stat.
Ah sorry, wasn't clear there: That was supposed to be an argument against obedience since I think it would be basically another stat for the same thing from my perspective.

I am not sure if I explained myself understandably this time it is kinda late.

Ok, beauty and obedience are out until the advanced version at least.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 27, 2013, 12:36:04 PM
Workmap for v0.2 - v0.4 (Advanced logic and rudimentary texts)
This is not the same as building screens or coding in specific parts, many areas of the code have to be addressed so I though writing a plan to follow would be productive. I especially wrote it this way so I have to go back to the same functions over and over again after adding new things to the game, this may take a bit longer but there should be less bugs in the code.

1) Brothel Advertising

- Enabling, displaying and applying effects. Done 40%.


2) Brothel Updates

- Enabling, displaying and applying effects. Done 60%.

3) Jobs

- Adding striptease.
- Improving rest
- Allowing Costumers to choose girls beneath their caste if they are pretty or if costumer has a very high libido.
- Generally improving Whore job, more events based on stats

*Cleaning needs to be added
*Guarding/Hunting will be discussed farther on forum

4) Traits

- Adding about 10  traits to the game and add condition checks vs those traits to all jobs and special effects on next day.

5) Stats

After the discussion on stats is finished on forum, add those to the game and add checks during jobs and events for new stats.

* Don't forget luck and checks vs luck.
* Don't forget intelligence and it's effects.

5a) After Traits and Stats are more or less finalized, write a complete modding guide on how to create events and quests and system that will allow overriding default interactions and events with custom once.

5b) Add 3 or 4 new locations.

5c) Finalize items and their effects.

6) Adding Dark's suggestion for shopping during Rest and my idea on drug use as discussed on forums. Adding drug's 'body + spirit' destruction method to girls class.

7) Adding record keeping system and create screen to display the info.

8)Testing

- Try running the game for a couple dozens of days and re-balance advanced logic.

9) Improve all screens if Overhao creates Graphics or reuse existing stuff to make all screens look at the very least 'acceptable'.

10) Add rudimentary texts and events to girlmeets and wrap up rudimentary interaction if noone has done so already by then.

11) Create Mission system and code in at least 15 missions.

12) 1st major test-phase.
 Release a preAlpha to figure out bugs + imbalances.



I will be adding to this as I remember more and more details on what has to be done and we farther discuss the topic in here. If you can think of something I forgot, I'll add that as well. Seems like a lot but not so long ago the stuff that has been coded in already seemed impossible for me to do so I am neither worried nor afraid, I've already figured that the best way is just to start writing code as time allows and see the game grow and advance.

I will not be able to code for two or three days but I will be checking in to kill spambots and check on the thread.

Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 27, 2013, 02:33:06 PM
Xela, what about whoring legality in PyTFall? In wm, for example, brothels seem at least semi-legal, if not worse.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 27, 2013, 02:47:49 PM
Xela, what about whoring legality in PyTFall? In wm, for example, brothels seem at least semi-legal, if not worse.

I figure they are just legal, it's hard to imagine a government that would oppose prostitution but not oppose plain slavery at the same time.

Security (in advanced version at the very least) will still be required to counter unruly costumers and potential attacks from competition.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 27, 2013, 04:30:55 PM
If everything you do is legal, then you actually can go to city guards if you have major problems with criminals or even escaping slaves. I mean, if player doesn't want to bother with personal guards or can't afford them yet, it shouldn't be a problem.

However, while casinos and banks irl can go to police too, they prefer to use private security service to prevent problems when they start to arise rather then replace police by it.

------------------------------------------------------------------------------------------------------------------------------

If player is law abiding and, for example, someone has attacked his girl, he could go to guards, after a few days they (with a certain probability) will catch that bastard and he will pay with his money and freedom. Girl might need medical attention though, and if she has medium or huge scars after the attack, you can buy some potions to heal them.

But if player is going to forcibly enslave girls, attack competitors and commit other crimes, he can't rely on city guards help anymore (at least for free), and if he becomes inveterate criminal himself, city guards can only provide to him free food and room with lattices for a few years. So he definitely will need personal guards then.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 28, 2013, 08:45:46 AM
Hi, I’m back. I played with renpy a little and you were right, it took less than a day to do something like tifa quest or the question example. And most of the tutorial stuff doesn’t look complicated at all either. With my zero Python knowledge, I still have hard time figuring how to connect that to actual game, but it’s a beginning.

Is there something I can help with now?  I mean, until we get to 5a), something easy that don’t require coding.
Or I can just go back to collecting pictures for new girls or improving ones we have (Haruhi...), it can’t hurt to have more.
------------------
About security – if you looking for something dangerous
- even if brothels are legal, it doesn’t mean that state will be eager to protect you, so WM style underground competition is still viable
- religion – both nasty and real, just look at history (I can imagine few events/missions for that)
- some sort of anti-slavery extremists ?
It’s still hard to explain why you want to use your precious girls as common security and not just hire some strong thugs for that. But it’s fun, so screw logic :) (same for cleaning)
------------------
Libido/nymphomania - How will that work? I mean, I would expect a girl with low libido to be unhappy if she gets too much sex. Will there be a way to limit number of customers she will serve per day or something?   

Character/temperament – I would really like to see this stat in use. It should lover general obedience and be a little counter-productive sometimes, but if there will be something when it's useful, it can add value to other measures to get a girl do what you want, like disposition.

Conversation skill - Is it included in refinement?
------------------
I would like to suggest a few traits, but please, where is that file for that again?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 28, 2013, 08:58:19 AM
It’s still hard to explain why you want to use your precious girls as common security and not just hire some strong thugs for that. But it’s fun, so screw logic :) (same for cleaning)
Btw, some time ago in some other thread there was a proposal to use male characters (like Naruto himself) for "safe for work" things like security.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 28, 2013, 04:25:33 PM
Conversation is included in refinement, I don't recall Naruto for security but I dislike that idea.

@CW You need to be at least a little bit more specific with your ideas for stats. I think SlaveMaker approach is best for now, they've started small, with limited amount of stats that were implemented in a simple way and later, after game was released and you could get a feeling for gameplay, adjusted and added new stuff.

Game balancing in Alkion does not exist so I've never had to deal with this topic, I figure it is impossible to get right on the first try or even to get it near being right, so step by step approach seems like the best thing for now.

I think it will be like this:

Code base - Try - Rebalance - Try - Rebalance - etc.

Same for stats and interactions and their effects. If game feels plain or counter intuitive, instead of just rebalancing, we'll think of a better system to handle stats and traits or/and add new once.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 29, 2013, 03:29:31 PM
Ok, I will try to be more specific from now on...  if my inexperience allow that, sorry


I would like to know your option about my idea how minor events (dunno how to call it) should work, so I can start working on them if you like it, or rethink that if not.


I imagine these events to be rather small and unimportant, just to spice up things a bit. For example, a scene where a flat-chested girl will comment a girl with big boobs.  Just a background, questgirl pictures, few lines of text - few clicks and it's gone.


This should be happening for girls player already have. The easiest would be using a predestined girls for that, for example it will check if player have these girls and then show [Chie] commenting [Hinata]. Advantage here is in using known pictures and characters, but also limited with that combination of girls. I think game like this would benefit from more generic approach that will support all potential girlpacks and I want to aim for something like this:


based on the event specifications, game will check all player girls for [flat chest] and [big boobs] traits. If found any, it will select two participants from these randomly and use their names and questpictures in event. And player will see the same background and text, but It will now be [randomly chosen one from his flat chested girls] commenting [randomly chosen one from his big boob girls].


Implementation: I'm somewhat opposed to showing these without warning on screen like it happen in most J-games. You know, you want to do something on next turn, but then all of these start showing... can be annoying.
1) maybe put it somewhere in report or in some sort of message system? like "you have one new minor event to see" button that will show when its available and it will play when clicked
2) maybe create a permanent button for that? Like location in city "visit your brothel", "check your girls" or anything. Click and it will show event if there is one, or some generic message if not. I will lessen the "living" feel a bit, but I can see the advantage of it, because it will allow all of this script to be cleaned under one button and not mess with new day stuff in any way.


Is that ok? I know we are not at that part of a plan yet, but I wanted to ask now,  because for example, to have it work this way I would like to suggest more traits or something that would describe girls more.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 29, 2013, 04:20:54 PM
I imagine these events to be rather small and unimportant, just to spice up things a bit. For example, a scene where a flat-chested girl will comment a girl with big boobs.  Just a background, questgirl pictures, few lines of text - few clicks and it's gone.
Personally, I like the idea. It also could be useful much later, when (if) relationships between characters will be implemented.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 29, 2013, 04:21:37 PM
Yeap, that's a nice idea for an event. I figure something like this shouldn't happen on Next Day but for example, as you enter girlmanagement screen, there is small chance for an event to take place (small chance in order not to flood game with those events). If such an event was chanced into happening, a flashy button appears on the screen, inviting player to take a look. These buttons could appear practically on any screen in the game. I have a bunch of those events planned already.

As for more traits, game doesn't care about how many traits there are so any amount of traits will work. If you think we need more than we have now (We have 1 called a 'Dummy' trait I used for testing :) ), you can simply start making those if you have some spare time.


Personally, I like the idea. It also could be useful much later, when (if) relationships between characters will be implemented.

I figure events like this will appear long before relationship between characters. Relationships between characters will include many things eventually even falling in love for two girls that have a high lesbian stat. Also each girl will have stuff that she likes, hates, loves, dislikes, envies, wishes to posses and maybe more. Those can be anything, from people to her favorite dish in the restaurant and can be specified in .xml file or chosen randomly by the game. The thing is that all of that can only be implemented after the simple version of the game will be released and hopefully there will be more people involved in the project because while it is remarkably easy to program, things like these require an absolutely insane amount of content that our small team simply incapable to provide.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 29, 2013, 04:43:06 PM
Hm, making traits sounds interesting. I'll give it a try.

Lets start with traits. I would say that the system is ready and working, needs testing obviously and traits themselves. If anyone is up to it, grab the file in the shared folder, throw it into your own folder and add traits as you see them, we can balance those out later, when game pace is clearer.
How can I get access to this shared folder? Shouldn't you send me an invitation (as dropbox offers me when I try to share some random folder) or something?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 29, 2013, 05:03:27 PM
Hm, making traits sounds interesting. I'll give it a try.
How can I get access to this shared folder? Shouldn't you send me an invitation (as dropbox offers me when I try to share some random folder) or something?

I've asked you to PM me your DB id or your Email so I could send you an invite two times already :) Since you've never replied, I assumed you didn't want it, is you DB email same as you used to register here?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 30, 2013, 05:20:28 AM
Now that's strange, I don't have any mails or PMs lately. I'll send you my email adress via PM just in case, but it's still the same, I have notifications there when I get PMs here, and I even use it when I forget my dropbox password to restore it. Since I've uploaded several files to dropbox, you should already know my id there, it's eight-digit number in all my links.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 30, 2013, 11:32:48 AM
OK, I start to work on traits now. Just one thing, I don't quite understand what "effects name" string does. Could you give a couple of examples?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 30, 2013, 02:11:08 PM
thank you, I will try to work on that for a while... but I'm not sure if It be of any use, because I'm much more hopeless in coding then I thought I am.  I spend 6 hours trying to add a trait "clumsy" that would increase girl's upkeep, only to get myself confused more  :(


@DarkTl  You will work on traits? Great, then I will wait and add mine after it, if I still miss some.


I'm also not sure about effect flags. Can we call a trait by it's id or we need all traits to have a flag? Or is it only for grouping similar traits?

Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 30, 2013, 03:33:15 PM
thank you, I will try to work on that for a while... but I'm not sure if It be of any use, because I'm much more hopeless in coding then I thought I am.  I spend 6 hours trying to add a trait "clumsy" that would increase girl's upkeep, only to get myself confused more  :(

That is not possible. Traits can modify current, maximum and minimum of stats, girl's upkeep is a function. While it is perfectly possible to write code that would allow modders to change value of girl's upkeep, noone asked me to code that in.

Also, ask questions in PM if it is about a very specific part of code you do not understand or here if it is a general question. Especially if you took time to figure out the 'Question' renpy game and went through Tifa's quest. Just compile a list of questions and I'll answer them one by one.


OK, I start to work on traits now. Just one thing, I don't quite understand what "effects name" string does. Could you give a couple of examples?

I cannot give any examples :(. Effect sets girl's personal flag, since girl's flags are currently not being used in a single place in the game, effects are pretty useless so I would just ignore it for now.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 30, 2013, 03:39:11 PM
That is not possible. Traits can modify current, maximum and minimum of stats, girl's upkeep is a function. While it is perfectly possible to write code that would allow modders to change value of girl's upkeep, noone asked me to code that in.
I always thought it should be part of jobs logic, not traits. Because different traits have different influence on different jobs.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 30, 2013, 03:42:20 PM
I always thought it should be part of jobs logic, not traits. Because different traits have different influence on different jobs.

Yeap, by the way, if you get interesting ideas for traits you create as to how they should effect jobs, put them in separate file in your folder. I think I'll finally have 3 - 4 hours to code in tomorrow and if I get to the jobs, trying to put a couple of those in might be fun.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 30, 2013, 04:23:14 PM
That is not possible. Traits can modify current, maximum and minimum of stats, girl's upkeep is a function. While it is perfectly possible to write code that would allow modders to change value of girl's upkeep, noone asked me to code that in.
I was able to finally get it to work after another looking at functions.rpy (that file is really something, I never even heard of half of these functions before). I just added another self.upkeep stat under sGirl class that this <mod upkeep = '10' /> line in traits.xml can modify and then added it's value to getUpkeep formula. Really blunt way to do that, but Hey, I'm happy to see my first attempt to do something  :)

I think it makes sense for some traits to increase upkeep... I was looking into this with a clumsy girl, girl wearing expensive clothes in work (=picture based) and some of these non-human girls and robots that needs extra maintenance or food in mind. 


I was thinking about effect flags as a some way to put traits together for events and customers. Mark Splendid Body+Great Arse+Elegant+Cute as pretty, mark each small scars+scars+horrific scars as scars, artificial body+demon as non human etc... It would be much easier to add potential unique traits later that way, new "rocket punch" trait can have it's unique numbers and description, but it will be considered same as "Strong magic" in arena by its"dangerous" flag. (easier then adding new traits id to all events)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 30, 2013, 04:45:53 PM
I was looking into this with a clumsy girl, girl wearing expensive clothes in work (=picture based) and some of these non-human girls and robots that needs extra maintenance or food in mind.
Good idea. With Xela's permission I'll add it to some traits.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 30, 2013, 04:55:30 PM
I was able to finally get it to work after another looking at functions.rpy (that file is really something, I never even heard of half of these functions before). I just added another self.upkeep stat under sGirl class that this <mod upkeep = '10' /> line in traits.xml can modify and then added it's value to getUpkeep formula. Really blunt way to do that, but Hey, I'm happy to see my first attempt to do something  :)

I still think it makes sense for a trait to increase upkeep... I was looking into this with a clumsy girl, girl wearing expensive clothes in work (=picture based) and some of these non-human girls and robots that needs extra maintenance or food in mind.

What you did there is called programming, not modding (strictly speaking) since you've modified the base code. In any case, that will only work on your PC unless the dev version is upgraded with it.

Good idea. With Xela's permission I'll add it to some traits.

I don't mind, you figure it out, I have no idea how CW coded that in but I guess setting upkeep to 0 and having it modified to whatever by traits is the best bet.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 30, 2013, 06:12:35 PM
I guess setting upkeep to 0 and having it modified to whatever by traits is the best bet.
Illogically. Then upkeep of usual, inconspicuous girl without any traits would be free. Or we must create a trait for everything, even for simple human being.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on January 30, 2013, 07:11:26 PM
What you did there is called programming, not modding (strictly speaking) since you've modified the base code. In any case, that will only work on your PC unless the dev version is upgraded with it.
I'm sorry for misunderstanding... the truth is, I don't really know how to correctly add something as a mod, even If I wanted to. I was just exploring the code a bit and copy/pasting parts of it in hope it will do something I expect It will. I wouldn't dare to touch the dev version...


I only add "self.upkeep" and min/max values few times into pyt - classes.rpy file.

Code: [Select]
38
           #Traits
            self.ab_traits = [] #Permenatly blocked traits
            self.btraits = [] #Blocked traits
            self.traits = [] #Active traits
            self.temptraits = dict()#Temporary traits
           
            self.cache = dict()
            self.image = false
            self.previouswork = dict(location='', action='')
            self.action = None
            self.locked = dict()
           
            self.rank = 1
            self.AP = 0
            self.baseAP = 2
            #self.gold = 0
            self.price = 500
            self.fame = 0
            self.mood = 0
            self.disposition=0
            self.fatigue = 100
            self.upkeep = 0             ####
           
            self.min = dict(
                charisma=0,
                refinement=0,
                libido=0,
                constitution=0,
                exp=0,
                joy=0,
                character=0,
                reputation=0,
                health=0,
                fame=0,
                mood=0,
                disposition=0,
                fatigue = 0,
               
                attack = 0,
                magic = 0,
                defence=0,
                agility = 0,
                mp = 0,
               
                anal=0,
                normalsex=0,
                blowjob=0,
                lesbian=0,
               
                upkeep=-100               ####
                )
           
            self.max = dict(
                charisma=100,
                refinement=35,
                libido=100,
                constitution=100,
                exp=111000,
                joy=100,
                character=100,
                reputation=100,
                health=100,
                fame=100,
                mood=1000,
                disposition=1000,
                fatigue = 300,
               
                attack = 40,
                magic = 30,
                defence=40,
                agility = 25,
                mp = 30,
               
                anal=100,
                normalsex=100,
                blowjob=100,
                lesbian=100,
               
                upkeep=1000                 ####
                )
           
           
            self.clothes = dict(
-----------------------------
-----------------------------
195
        def getUpkeep(self):
            if self.status == 'slave':
                if self.occupation == 'Prostitute':
                    bu = 20 * self.rank
                   
                    su = self.charisma/10 + self.refinement*1.5 + self.constitution/5 + self.reputation/2 + self.fame/2 # Stats Upkeep
                    ssu = self.anal/8 + self.normalsex/8 + self.blowjob/8 + self.lesbian/8
                    su = su*1.5
                    ssu = ssu*1.5
                    if ssu > 40:
                        ssu = ssu * 2
                   
                    if self.libido < 30:
                        su = su * 1.4
                       
                    upkeep = bu + su + ssu + self.upkeep             ####
                    return upkeep
                   
            elif self.status == 'free':
                if self.occupation == 'Prostitute':
                    bu = 30 * self.rank
                   
                    su = self.charisma/10 + self.refinement*1.5 + self.constitution/5 + self.reputation/2 + self.fame/2 # Stats Upkeep
                    ssu = self.anal/8 + self.normalsex/8 + self.blowjob/8 + self.lesbian/8
                    su = su*1.5
                    ssu = ssu*1.5
                    if ssu > 80:
                        ssu = ssu * 2
                   
                    if self.libido < 30:
                        su = su * 1.4
                       
                    upkeep = bu + su + ssu + self.upkeep             ####
                    return upkeep
                   
                if self.occupation == 'Warrior':
                    bu = 30 * self.rank
                   
                    su = self.constitution/2 + self.reputation/2 + self.fame/2 # Stats Upkeep
                    bsu = self.attack/2 + self.magic/2 + self.defence/2 + self.agility/2 # Battle Stats Upkeep
                       
                    upkeep = bu + su + bsu + self.upkeep               ####
                    return upkeep

            else: 
                bu = 100 * self.rank
               
                su = self.charisma/5 + self.refinement + self.constitution/5 + self.reputation/2 + self.fame/2 # Stats Upkeep
                ssu = self.anal/5 + self.normalsex/5 + self.blowjob/5 + self.lesbian/5
                bsu = self.attack/2 + self.magic/2 + self.defence/2 + self.agility/2
                if ssu > 40:
                    ssu = ssu * 2
               
                if self.libido < 30:
                    su = su * 1.4
                   
                upkeep = bu + su + ssu + bsu + self.upkeep              ####
                return upkeep       

               
        def getWPrice(self): # Work Price
And then I added <mod upkeep = '40' /> into dummy trait to test in on Sakura. I didn't touch the girl data file.


look super simple now... and that took me a day to figure, oh jeez...
I'd better take your advice and ask next time  :)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 30, 2013, 08:09:29 PM
Illogically. Then upkeep of usual, inconspicuous girl without any traits would be free. Or we must create a trait for everything, even for simple human being.

Nah, you misunderstood, upkeep is being calculated by a function that calculates it depending on a whole bunch of stats, rank etc. Upkeep that you modify through stats is simply one of many things game takes into consideration when calculating real upkeep.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 31, 2013, 05:18:49 AM
if you get interesting ideas for traits you create as to how they should effect jobs, put them in separate file in your folder
Then please explain what do you mean by Heal job. Rest already should restore health, isn't it?

Oh, and what about magic defence and luck stats I've asked earlier? Should I add them to traits logic?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 31, 2013, 06:07:08 AM
Then please explain what do you mean by Heal job. Rest already should restore health, isn't it?

Oh, and what about magic defence and luck stats I've asked earlier? Should I add them to traits logic?

Heal act will be available in hospital or if there is a girl with ability to heal in the same building and she is allowed to spend her AP to heal other girls.

Rest does restore health, but it does so very, very slowly. Heal is like rest on steroids, it restores a large amount of health and a decent amount of fatigue. Rest restores great amount of fatigue and a very small amount of health. You can think of health damage as being actual bodily injuries and fatigue as of being tired.

Don't use magical defense at the moment, luck you can add to traits!
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 31, 2013, 09:48:04 AM
I think I've finished with traits for now. Let me know if you want more or if you don't like standard wm description which I've used for some of them.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 31, 2013, 09:59:17 AM
I think I've finished with traits for now. Let me know if you want more or if you don't like standard wm description which I've used for some of them.


Lol


Wm descriptions are fine. This is the first post I ever made from a handheld device, kind of fun. I'll take a look if it will be possible to port this to Android aftet the game is finished.



Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 31, 2013, 10:05:52 AM
WM descriptions may be copyrighted, you never know  :D
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 31, 2013, 10:24:23 AM
WM descriptions may be copyrighted, you never know  :D

Well, we've asked Necro for permission to create Unofficial WM-2 before we started with Alkion. Since Alkion is completely different now, this is likely to become unofficial WM-2 in the advanced version so we ca use anything from WM.

Time to write some code, I'll start now and see how far I'm gonna get.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on January 31, 2013, 05:33:36 PM
Ok, had to take two long breaks and it took me almost an hour to get my bearings in my own code (I am using a lot more comments from now on) and figure out what to do in what order.

All and all, this is what I managed:

- Instead of a fixed number of 2000 costumers that come into brothel as we used for testing purposes until now, amount of clients is generated from base + brothel fame modifier + each individual girl in brothel fame modifier.

- There is a rudimentary brothel report screen on next day, it doesn't report much info at this point (Clients that visited brothel (amount), fame and reputation increase that came from advertising and if your hired a celeb to advertise, that is being reported to you separately (cause of it's massive effect and price)), but it works. That took a while because code wasn't prepared for anything else than girl reports.

- Advertising and it's effects are working, still needs testing, balancing and minor improvements.

- Upgrades work but still effect almost nothing.

- Stripper job does nothing yet but it does appear as a choice in assignment screen after you bought the lounge upgrade.

That is it, but I'll have time to work on code tomorrow and this time there will be no need to get bearings and I've got a good amount of work planned out for now.

Also, I got an idea that I wish to bounce off dev team. It's about Stripper job and how to handle that. In most games strippers serve one client for a fraction of a price that they would make as whores. Instead I suggest this:

Strippers preform in stripclub lounge of your brothel for a great amount of costumers (Max 80% of a total that comes into your brothel). The amount of clients that girl can preform for depends on her AP (How many acts she can do). Overlaps between costumers seeing a stripshow and getting it on with a prostitute are possible, there will also be a modifier to client's libido, if your strippers did well, costumer will be more aroused and will find prostitutes more pleasing. Strippers themselves will not make that much money, if they are slaves, you will get their tips. Main income will come from two places:

- We will add Waitress job that will serve drinks to costumers (requires a bar upgrade). That will be the main source of income cause if there are no strippers, almost no clients will come and get drinks.
- After player is confident about Bar/Strip Club, fee for an entrance can be charged. Huge penalty to Rep if player fails to deliver so it will be up to player to decide if risk on putting entrance fee is worth taking.

Another two features:

- Strippers will get fame a lot faster than prostitutes, meaning more clients, faster.
- It will be possible to enable an option to allow strippers to give clients 'very' private service if strippers agree to it themselves.


I am planning to work on this tomorrow so if you have any comments, addons or think this is a weak move, lets hear it.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on January 31, 2013, 06:35:31 PM
Amount of fee for an entrance should be selected by player from 3-5 fixed values, something like "small", "medium" and "high". Too much freedom here will be a hindrance for gameplay.

Perhaps we should add barmaids too. I guess they could serve drinks for a few customers near the bar counter and should provide drinks and snack for waitresses job. Maybe one barmaid with 100 constitution can work with 10 waitresses or something like that.

About the waitress job - as we know from slavemaker, there're bars and there're sleazy bars with some "additional service". I'm not sure how we should handle this, or should we bother in a first place.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: GonDra on January 31, 2013, 09:52:03 PM
Xela in the current version the game will break if you have a girl from the park in the players brothel, specifically:
Code: [Select]
While running game code:
  File "game\library\pyt - screens - nextday.rpy", line 6, in script
  File "game\library\pyt - screens - nextday.rpy", line 37, in python
 TypeError: unsupported operand type(s) for -=: 'float' and 'NoneType'
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 01, 2013, 12:43:43 AM
Amount of fee for an entrance should be selected by player from 3-5 fixed values, something like "small", "medium" and "high". Too much freedom here will be a hindrance for gameplay.

Perhaps we should add barmaids too. I guess they could serve drinks for a few customers near the bar counter and should provide drinks and snack for waitresses job. Maybe one barmaid with 100 constitution can work with 10 waitresses or something like that.

About the waitress job - as we know from slavemaker, there're bars and there're sleazy bars with some "additional service". I'm not sure how we should handle this, or should we bother in a first place.

Ok, so a limited amount of choices for an entrance fee, I'll think on how to handle that.

Barmaids are prolly best left for advanced version, but I'll take a look at that as well.

Same as for strippers, for waitresses behavior can be adjusted in the girlmanagement screen, I'll get around to that eventually.

I also had an idea at the very first stages of the game, to create one type Service Girl and have her do cleaning, waitress and bar-tending.


Xela in the current version the game will break if you have a girl from the park in the players brothel, specifically:
Code: [Select]
While running game code:
  File "game\library\pyt - screens - nextday.rpy", line 6, in script
  File "game\library\pyt - screens - nextday.rpy", line 37, in python
 TypeError: unsupported operand type(s) for -=: 'float' and 'NoneType'

Yeah, I stumbled upon this a while ago, it's already fixed in my dev version, if there is more progress, I'll prolly up it to Box tonight.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: CherryWood on February 01, 2013, 05:25:00 AM
I like this.


Will this all be tied to building upgrades / performing places(rooms)? Like in simbro1x, if in advanced version we have more jobs/upgrades like gambling, food ,show fights, cosplay, bondage... different buildings could use a different combinations of these.


I was thinking about possibility of setting some or all jobs with this new AP system, but I don't know the line when it's fun and when it became a princess maker for every girl...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 01, 2013, 05:50:23 AM
Will this all be tied to building upgrades / performing places(rooms)? Like in simbro1x, if in advanced version we have more jobs/upgrades like gambling, food ,show fights, cosplay, bondage... different buildings could use a different combinations of these.

Shouldn't be to hard to add buildings other than default brothels or simply add more extensions to brothels. We'll see when we get there.


I was thinking about possibility of setting some or all jobs with this new AP system, but I don't know the line when it's fun and when it became a princess maker for every girl...

I don't like that, princess maker for every girl is not such a bad idea in itself but I see no point in asking a Warrior to spend 2 AP doing bondage, 1 AP sex, 3 AP cleaning, 1 AP working the bar and 5 AP fighting. It's counter-intuitive and messy. What you will be able to modify in behavior is to allow strippers for example to sleep with clients after the show spending a couple APs or having a Warrior to spend 2 - 3 APs training other girls in agility or self-defense for example. Kind of job extensions, completely different jobs will not be allowed, it will kill one of the concepts behind the game.

We might do something like that with slave's thou. Also in advanced version, there will be delimiters based on occupation. Normal prostitute will not be able to push battle stats above 30 - 40 without items and warrior will not be able to push sex stats above 30 - 40 without items and so on. There will be very little point in trying to set warrior to do the cleaning cause she will be inadequate at it anyway.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on February 01, 2013, 06:07:08 AM
I also had an idea at the very first stages of the game, to create one type Service Girl and have her do cleaning, waitress and bar-tending.
This might be a good idea, at least for barmaids. Player sets several girls to work in bar and lets them self-organize it. Those who have talent to be barmaids (judging by traits and stats) work as barmaids, same for waitresses.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 01, 2013, 06:32:07 AM
This might be a good idea, at least for barmaids. Player sets several girls to work in bar and lets them self-organize it. Those who have talent to be barmaids (judging by traits and stats) work as barmaids, same for waitresses.

Possibility but I was thinking along the lines of 'Servicegirl' as being an occupation that allows to pick from a number of jobs like a waitress, bartender etc. but also allows you to allow her spending AP on other stuff than her primary task if required.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on February 03, 2013, 03:53:37 AM
Just some thoughts about how to balance out training so we won't end up with perfect girls after a couple of month. I see two different ways (and the third way which unites this two): slavemaker, where rise of one skill often leads to reduction of one or more others; and skyrim, where training costs money with constantly rising cost, and it's quite bearable up to 50, considerably more costly up to 75, much more costly up to 90 and can't go further after 90, so player (at least in PyTFall) should use items to rise stat even more.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 03, 2013, 06:15:20 AM
Just some thoughts about how to balance out training so we won't end up with perfect girls after a couple of month. I see two different ways (and the third way which unites this two): slavemaker, where rise of one skill often leads to reduction of one or more others; and skyrim, where training costs money with constantly rising cost, and it's quite bearable up to 50, considerably more costly up to 75, much more costly up to 90 and can't go further after 90, so player (at least in PyTFall) should use items to rise stat even more.

Skyrim way sounds better, SM way may be useful for 1 - 2 stats but very annoying for all. Since schools are supposed to be 'put the girl in and forget', I am not sure what the best way would be to handle that. Setting a goal for every girl that you send into school?

I didn't get far in coding in the last two days, every time I either get distracted by rl or find some small aspect of the game that needs improvement and should be taken care of before advanced logic. Also there is still no clear map in my head on stat/job/interactions dependencies so that doesn't help...


Edit:

Well, I am still working on strip job, trying to find some texts to steal from other games  ::) (If anyone knows where a good place to fish for those, let me know)

I am taking a look at WM's data right now, I though we had it bad with 5 - 7 jobs planned but damn...  WM was an ambitious project!

Code: [Select]
    JobFilterName[JOBFILTER_GENERAL] = "General";
    JobFilterDescription[JOBFILTER_GENERAL] = "These are general jobs that work individually in any building.";
    JobFilterIndex[JOBFILTER_GENERAL] = JOB_RESTING;
    JobName[JOB_RESTING] = "Free Time";
    JobDescription[JOB_RESTING] = "She will take some time off, maybe do some shopping or walk around town. If the girl is unhappy she may try to escape.";
    JobName[JOB_TRAINING] = "Practice Skills";
    JobDescription[JOB_TRAINING] = "She will train either alone or with others to improve her skills.";
    JobName[JOB_CLEANING] = "Cleaning";
    JobDescription[JOB_CLEANING] = "She will clean the building, as filth will put off some customers.";
    JobName[JOB_SECURITY] = "Security";
    JobDescription[JOB_SECURITY] = "She will patrol the building, stopping mis-deeds.";
    JobName[JOB_ADVERTISING] = "Advertising";
    JobDescription[JOB_ADVERTISING] = "She will advertise the building's features in the city.";
    JobName[JOB_MATRON] = "Matron";
    JobDescription[JOB_MATRON] = "This girl will look after the other girls. Only non-slave girls can have this position and you must pay them 300 gold per week. Also, it takes up both shifts. (max 1)";
    JobName[JOB_TORTURER] = "Torturer";
    JobDescription[JOB_TORTURER] = "She will torture the prisoners in addition to your tortures, she will also look after them to ensure they don't die. (max 1 for all brothels)";
    JobName[JOB_EXPLORECATACOMBS] = "Explore Catacombs";
    JobDescription[JOB_EXPLORECATACOMBS] = "She will explore the catacombs looking for treasure and capturing monsters and monster girls. Needless to say, this is a dangerous job.";
    JobName[JOB_BEASTCAPTURE] = "Beast Capture";
    JobDescription[JOB_BEASTCAPTURE] = "She will go out into the wilds to capture beasts. (max 2)";
    JobName[JOB_BEASTCARER] = "Beast Carer";
    JobDescription[JOB_BEASTCARER] = "She will look after the needs of the beasts in your possession. (max 1)";

    JobFilterName[JOBFILTER_BROTHEL] = "Brothel";
    JobFilterDescription[JOBFILTER_BROTHEL] = "These are jobs for running a brothel in the current building.";
    JobFilterIndex[JOBFILTER_BROTHEL] = JOB_WHOREBROTHEL;
    JobName[JOB_WHOREBROTHEL] = "Whore in Brothel";
    JobDescription[JOB_WHOREBROTHEL] = "She will whore herself to customers within the building's walls. This is safer but a little less profitable.";
    JobName[JOB_WHORESTREETS] = "Whore on Streets";
    JobDescription[JOB_WHORESTREETS] = "She will whore herself on the streets. It is more dangerous than whoring inside but more profitable.";
    JobName[JOB_BROTHELSTRIPPER] = "Stripper in Brothel";
    JobDescription[JOB_BROTHELSTRIPPER] = "She will strip for the customers.";
    JobName[JOB_MASSEUSE] = "Masseuse in Brothel";
    JobDescription[JOB_MASSEUSE] = "She will give massages to the customers.";

    JobFilterName[JOBFILTER_GAMBHALL] = "Gambling Hall";
    JobFilterDescription[JOBFILTER_GAMBHALL] = "These are jobs for running a gambling hall in the current building.";
    JobFilterIndex[JOBFILTER_GAMBHALL] = JOB_CUSTOMERSERVICE;
    JobName[JOB_CUSTOMERSERVICE] = "Customer Service";
    JobDescription[JOB_CUSTOMERSERVICE] = "She will look after customer needs.";
    JobName[JOB_WHOREGAMBHALL] = "Whore for Gamblers";
    JobDescription[JOB_WHOREGAMBHALL] = "She will give her sexual favors to the customers.";
    JobName[JOB_DEALER] = "Game Dealer";
    JobDescription[JOB_DEALER] = "She will manage a game in the gambling hall. (requires 3)";
    JobName[JOB_ENTERTAINMENT] = "Entertainer";
    JobDescription[JOB_ENTERTAINMENT] = "She will provide entertainment to the customers.";
    JobName[JOB_XXXENTERTAINMENT] = "XXX Entertainer";
    JobDescription[JOB_XXXENTERTAINMENT] = "She will provide sexual entertainment to the customers.";

    JobFilterName[JOBFILTER_BAR] = "Bar";
    JobFilterDescription[JOBFILTER_BAR] = "These are jobs for running a bar.";
    JobFilterIndex[JOBFILTER_BAR] = JOB_BARMAID;
    JobName[JOB_BARMAID] = "Barmaid";
    JobDescription[JOB_BARMAID] = "She will staff the bar and serve drinks.";
    JobName[JOB_WAITRESS] = "Waitress";
    JobDescription[JOB_WAITRESS] = "She will bring drinks and food to customers at the tables.";
    JobName[JOB_STRIPPER] = "Stripper in Bar";
    JobDescription[JOB_STRIPPER] = "She will strip on the tables and stage for the customers.";
    JobName[JOB_WHOREBAR] = "Whore in Bar";
    JobDescription[JOB_WHOREBAR] = "She will provide sex to the customers.";
    JobName[JOB_SINGER] = "Singer";
    JobDescription[JOB_SINGER] = "She will sing for the customers.";

    JobFilterName[JOBFILTER_MOVIESTUDIO] = "Movie Studio";
    JobFilterDescription[JOBFILTER_MOVIESTUDIO] = "These are jobs for running a movie studio.";
    JobFilterIndex[JOBFILTER_MOVIESTUDIO] = JOB_FILMBEAST;
    JobName[JOB_FILMBEAST] = "Film Bestiality";
    JobDescription[JOB_FILMBEAST] = "She will film bestiality scenes.";
    JobName[JOB_FILMSEX] = "Film Sex";
    JobDescription[JOB_FILMSEX] = "She will film normal sex scenes.";
    JobName[JOB_FILMANAL] = "Film Anal";
    JobDescription[JOB_FILMANAL] = "She will film anal scenes.";
    JobName[JOB_FILMLESBIAN] = "Film Lesbian";
    JobDescription[JOB_FILMLESBIAN] = "She will do a lesbian scene.";
    JobName[JOB_FILMBONDAGE] = "Film Bondage";
    JobDescription[JOB_FILMBONDAGE] = "She will perform in bondage scenes.";
    JobName[JOB_FLUFFER] = "Fluffer";
    JobDescription[JOB_FLUFFER] = "She will keep the porn stars and animals aroused.";
    JobName[JOB_CAMERAMAGE] = "Camera Mage";
    JobDescription[JOB_CAMERAMAGE] = "She will film the scenes. (requires 1) (max 1)";
    JobName[JOB_CRYSTALPURIFIER] = "Crystal Purifier";
    JobDescription[JOB_CRYSTALPURIFIER] = "She will clean up the filmed scenes. (requires 1)";

    JobFilterName[JOBFILTER_COMMUNITYCENTRE] = "Community Centre";
    JobFilterDescription[JOBFILTER_COMMUNITYCENTRE] = "These are jobs for running a community centre.";
    JobFilterIndex[JOBFILTER_COMMUNITYCENTRE] = JOB_COLLECTDONATIONS;
    JobName[JOB_COLLECTDONATIONS] = "Collect Donations";
    JobDescription[JOB_COLLECTDONATIONS] = "She will collect money to help the poor.";
    JobName[JOB_FEEDPOOR] = "Feed Poor";
    JobDescription[JOB_FEEDPOOR] = "She will work in a soup kitchen.";
    JobName[JOB_MAKEITEMS] = "Make Crafts";
    JobDescription[JOB_MAKEITEMS] = "She will craft cheap handmade items.";
    JobName[JOB_SELLITEMS] = "Sell Crafts";
    JobDescription[JOB_SELLITEMS] = "She will go out and sell previously crafted items.";
    JobName[JOB_COMUNITYSERVICE] = "Community Service";
    JobDescription[JOB_COMUNITYSERVICE] = "She will go around town and help out where she can.";

    JobFilterName[JOBFILTER_DRUGLAB] = "Drug Lab";
    JobFilterDescription[JOBFILTER_DRUGLAB] = "These are jobs for running a movie studio.";
    JobFilterIndex[JOBFILTER_DRUGLAB] = JOB_VIRASPLANTFUCKER;
    JobName[JOB_VIRASPLANTFUCKER] = "Fuck Viras Plants";
    JobDescription[JOB_VIRASPLANTFUCKER] = "She will allow Viras plants to inseminate her, creating Vira Blood.";
    JobName[JOB_SHROUDGROWER] = "Grow Shroud Mushrooms";
    JobDescription[JOB_SHROUDGROWER] = "She will grow Shroud Mushrooms, which require a lot of care and may explode.";
    JobName[JOB_FAIRYDUSTER] = "Fairy Duster";
    JobDescription[JOB_FAIRYDUSTER] = "She will capture fairies and grind them into a fine powder known as Fairy Dust.";
    JobName[JOB_DRUGDEALER] = "Drug Dealer";
    JobDescription[JOB_DRUGDEALER] = "She will go out and sell your drugs on the streets.";

    JobFilterName[JOBFILTER_ALCHEMISTLAB] = "Alchemist Lab";
    JobFilterDescription[JOBFILTER_ALCHEMISTLAB] = "These are jobs for running an alchemist lab.";
    JobFilterIndex[JOBFILTER_ALCHEMISTLAB] = JOB_FINDREGENTS;
    JobName[JOB_FINDREGENTS] = "Find Reagents";
    JobDescription[JOB_FINDREGENTS] = "She will go out and look for promising potion ingredients.";
    JobName[JOB_BREWPOTIONS] = "Brew Potions";
    JobDescription[JOB_BREWPOTIONS] = "She will brew a random potion using available ingredients.";
    JobName[JOB_POTIONTESTER] = "Guinea Pig";
    JobDescription[JOB_POTIONTESTER] = "She will test out random potions. Who knows what might happen? (requires 1)";

    JobFilterName[JOBFILTER_ARENA] = "Arena";
    JobFilterDescription[JOBFILTER_ARENA] = "These are jobs for running an arena.";
    JobFilterIndex[JOBFILTER_ARENA] = JOB_FIGHTBEASTS;
    JobName[JOB_FIGHTBEASTS] = "Fight Beasts";
    JobDescription[JOB_FIGHTBEASTS] = "She will fight to the death against beasts you own. Dangerous.";
    JobName[JOB_WRESTLE] = "Wrestle";
    JobDescription[JOB_WRESTLE] = "She will take part in a wrestling match. Not dangerous.";
    JobName[JOB_FIGHTTODEATH] = "Cage Match";
    JobDescription[JOB_FIGHTTODEATH] = "She will fight to the death against other girls. Dangerous.";
    JobName[JOB_FIGHTVOLUNTEERS] = "Fight Volunteers";
    JobDescription[JOB_FIGHTVOLUNTEERS] = "She will fight against customer volunteers for gold prizes. Not dangerous.";
    JobName[JOB_COLLECTBETS] = "Collect Bets";
    JobDescription[JOB_COLLECTBETS] = "She will collect bets from the customers. (requires 1)";

    JobFilterName[JOBFILTER_TRAININGCENTRE] = "Training Centre";
    JobFilterDescription[JOBFILTER_TRAININGCENTRE] = "These are jobs for running a training centre.";
    JobFilterIndex[JOBFILTER_TRAININGCENTRE] = JOB_TEACHBDSM;
    JobName[JOB_TEACHBDSM] = "Teach BDSM";
    JobDescription[JOB_TEACHBDSM] = "She will teach other girls in BDSM skills.";
    JobName[JOB_TEACHSEX] = "Teach Sex";
    JobDescription[JOB_TEACHSEX] = "She will teach other girls the ins and outs of regular sex.";
    JobName[JOB_TEACHBEAST] = "Teach Bestiality";
    JobDescription[JOB_TEACHBEAST] = "She will teach other girls how to safely fuck beasts.";
    JobName[JOB_TEACHMAGIC] = "Teach Magic";
    JobDescription[JOB_TEACHMAGIC] = "She will teach other girls how to wield magic.";
    JobName[JOB_TEACHCOMBAT] = "Teach Combat";
    JobDescription[JOB_TEACHCOMBAT] = "She will teach other girls how to fight.";
    JobName[JOB_DAYCARE] = "Daycare";
    JobDescription[JOB_DAYCARE] = "She will look after local children. (non-sexual)";
    JobName[JOB_SCHOOLING] = "Schooling";
    JobDescription[JOB_SCHOOLING] = "She will teach the local children. (non-sexual)";
    JobName[JOB_TEACHDANCING] = "Teach Dancing";
    JobDescription[JOB_TEACHDANCING] = "She will teach other girls dancing and social skills.";
    JobName[JOB_TEACHSERVICE] = "Teach Service";
    JobDescription[JOB_TEACHSERVICE] = "She will teach other girls a variety of service skills.";
    JobName[JOB_TRAIN] = "Student";
    JobDescription[JOB_TRAIN] = "She will learn from all of the other girls who are teaching here.";

    JobFilterName[JOBFILTER_CLINIC] = "Medical Clinic";
    JobFilterDescription[JOBFILTER_CLINIC] = "These are jobs for running a medical clinic.";
    JobFilterIndex[JOBFILTER_CLINIC] = JOB_DOCTOR;
    JobName[JOB_DOCTOR] = "Doctor";
    JobDescription[JOB_DOCTOR] = "She will become a doctor. Doctors earn extra cash from treating locals. (requires 1)";
    JobName[JOB_GETABORT] = "Get Abortion";
    JobDescription[JOB_GETABORT] = "She will get an abortion, removing pregnancy and/or insemination.(takes 2 days)";
    JobName[JOB_PHYSICALSURGERY] = "Cosmetic Surgery";
    JobDescription[JOB_PHYSICALSURGERY] = "She will undergo magical surgery to \"enhance\" her appearance. (takes 5 days)";
    JobName[JOB_HEALING] = "Healing";
    JobDescription[JOB_HEALING] = "She will have her wounds attended. This takes 1 day for each wound trait.";
    JobName[JOB_REPAIRSHOP] = "Repair Shop";
    JobDescription[JOB_REPAIRSHOP] = "Construct girls will be quickly repaired here.";

Edit2:

Phew, done with coding for tonight, stripper job is half-done (maybe even more, like 60%), small code fixes+addons everywhere to make it all work...
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: dorkosaurus on February 03, 2013, 04:21:41 PM
Well, I am still working on strip job, trying to find some texts to steal from other games  ::) (If anyone knows where a good place to fish for those, let me know)



Could you perhaps make a pastebin of sections you need writing for?  I think it'd be easier for any random person to just look at it and contribute and post their writing here in another pastebin and you could just copy and paste what you like.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 03, 2013, 04:55:27 PM
Could you perhaps make a pastebin of sections you need writing for?  I think it'd be easier for any random person to just look at it and contribute and post their writing here in another pastebin and you could just copy and paste what you like.

LoL

I am making stuff up as I go so I cannot predict what writing is needed, for stripjob I need something like this for example:

1)
Code: [Select]
                txt = txt + '%d clients came to see %s strip and dance in the club! It is a very impressive feat for one girl to attract so many! \n '%(clients, chr.name)
            elif int(self.getClients(ilists, brtls, char)*0.6) <= clients <= int(self.getClients(ilists, brtls, char)*0.9):
                txt = txt + '%d clients came to see %s strip and dance in the club! This is a very respectable amount of fans for one girls to have! \n '%(clients, chr.name)
            elif int(self.getClients(ilists, brtls, char)*0.3) <= clients <= int(self.getClients(ilists, brtls, char)*0.6):
                txt = txt + '%d clients came to see %s strip and dance in the club! Not bad concidering the size of brothel and all. \n'%(clients, chr.name)
            elif int(self.getClients(ilists, brtls, char)*0.1) <= clients <= int(self.getClients(ilists, brtls, char)*0.3):
                txt = txt + "%d clients came to see %s strip, not the most impressive amount but everyone had to start somewhere. \n"%(clients, chr.name)
            else:
                txt = txt + "Just a couple of clients came to check your girl out, very poor result indeed. "

Basically there is an amount of clients that can come to brothel every day for various needs. Maximum of 90% of those clients might also wish to see any specific girl doing striptease, exact amount depends on her fame. A number of texts are needed to replace mine (basically first things that pop into my head so I don't have to stop writing the code while thinking about texts).

2)

Code: [Select]
            if chr.status == 'Slave':
                if chr.occupation == 'Prostitute':
                    client = self.create_customer()
                    if chr.rank < ilists.clientCastes.index(client.caste) - 2:
                   
                        txt = txt + "Half of costumers have left quickly after realising that this girl (Rank: %d) was some low ranked slave whore. \n"%(chr.rank)
                        brrepmod = random.randint(10,15) + ilists.clientCastes.index(client.caste)
                        txt = txt + "Brothel reputation took a hit of %d points \n"%brrepmod       
               
                if chr.occupation in ['Stripper', 'Prostitute']:
                    if chr.strip > 120 and chr.charisma > 120:
                        tippayout = int(clients * chr.refinement*0.1 * chr.charisma*0.1 + clients*chr.strip*0.2)
                        txt = txt + "Your girl gave a performance worthy of kings and queens as the whole hall was cheering for her. She recieved %d of tips and you get to keep 100% of that, her being a slave. \n"%tippayout
                        hero.add_money(tippayout)
                    elif 100 <= chr.strip <= 120 and 100 <= chr.charisma <= 120:
                        tippayout = int(clients * chr.refinement*0.05 * chr.charisma*0.1 + clients*chr.strip*0.15)
                        txt = txt + "Your girl lost all of her clothing peace by peace as she stripdanced on the floor, the whole hall was cheering for her. She recieved %d of tips and you get to keep 100% of that, her being a slave. \n"%tippayout
                        hero.add_money(tippayout)
                    elif 60 <= chr.strip <= 100 and 60 <= chr.charisma <= 100:
                        tippayout = int(clients * chr.refinement*0.05 * chr.charisma*0.05 + clients*chr.strip*0.1)
                        txt = txt + "Your girl lost all of her clothing peace by peace as she stripdanced on the floor, the whole hall was cheering for her. Overall it was a more than decent performance. She recieved %d of tips and you get to keep 100% of that, her being a slave. \n"%tippayout
                        hero.add_money(tippayout)
                    elif 30 <= chr.strip <= 60 and 30 <= chr.charisma <= 60:
                        tippayout = int(clients * chr.refinement*0.05 * chr.charisma*0.03 + clients*chr.strip*0.05)
                        txt = txt + "Your girl lost all of her clothing peace by peace as she stripdanced on the floor, some mildly drunk clients cheered for her. Overall it was a decent performance. She recieved %d of tips and you get to keep 100% of that, her being a slave. \n"%tippayout
                        hero.add_money(tippayout)
                    elif 0 <= chr.strip <= 30 and 0 <= chr.charisma <= 30:
                        tippayout = int(clients * chr.refinement*0.01 * chr.charisma*0.01 + clients*chr.strip*0.03)
                        txt = txt + "Your girl tripped several times while trying to undress herself as she 'stripdanced' on the floor, only a couple of fans of %s kept quite while a couple of cursewords and calls for a different stripper could be clearly heard. Overall it was a decent performance. She recieved %d of tips and you get to keep 100% of that, her being a slave. \n"%(tippayout, random.choice(chr.traits))
                        hero.add_money(tippayout)
                    elif chr.strip < 30 and chr.charisma > 30:
                        tippayout = int(clients * chr.refinement*0.02 * chr.charisma*0.03 + clients*chr.strip*0.05)
                        txt = txt + "Your girl tripped several times while trying to undress herself as she 'stripdanced' on the floor, only a couple of fans of %s kept cheering her on, noone really complained because even if her strip skill was inadequite, she was pretty enough to arouse most men and women in the club. Overall it was a decent performance. She recieved %d of tips and you get to keep 100% of that, her being a slave. \n"%(tippayout, random.choice(chr.traits))
                        hero.add_money(tippayout)
                    elif chr.strip > 30 and chr.charisma < 30:
                        tippayout = int(clients * chr.refinement*0.02 * chr.charisma*0.02 + clients*chr.strip*0.03)
                        txt = txt + "Your girl tripped several times while trying to undress herself as she 'stripdanced' on the floor, only a couple of fans of %s kept cheering her on, noone really complained because even if her strip skill was inadequite, she was pretty enough to arouse most men and women in the club. Overall it was a decent performance. She recieved %d of tips and you get to keep 100% of that, her being a slave. \n"%(tippayout, random.choice(chr.traits))
                        hero.add_money(tippayout)
                    else:
                        txt = txt + 'Dev Note: >>>I missed something!<<< Charisma = %d, Strip = %d \n'%(chr.charisma, chr.strip)
                       
                    # Mod relevant stats:
                    modchr = random.choice([0,0,0,1])
                    if modchr > 0:
                        chr.mod('charisma', 1)
                        txt = txt + "Your girl charisma increased as she learned a new trick on how to make herself pretty before the show \n"
                    if dice(35):
                        chr.mod('strip', 1)
                        txt = txt + "Striptease skill is up by point! "

If girl is a slave having a whore as occupation, her rank is checked vs a random costumer's caste, if to far below, half of costumers will leave. Text is needed to reflect that.

Than if she is a stripper/whore and a slave, a number of texts are needed to reflect her performance, based on charisma and strip skill for now.

Basically if she was stunningly pretty and skillfull at striptease: 1 text, pretty and ok at striptease: another text and so on. As many options as possible. Also hooks for her being just pretty but sucking at striptease or the opposite, awesome stripper but not the best looker and so on.

About the same thing for Stippers that are free, you do not get to keep all of tips, there will be a bar in girl's profile screen just like in WM, that will determine what you get if free girl's working for you, but texts from Slave part can be reused here I suppose...

Also any amount of text for interactions in city or private interaction in girl's profile based on traits (List of traits will be released with next preAlpha, but most of the general WM traits can be used), occupations(Warrior, Whore, Stripper, Service Girl etc.) and status (Slave, Free, Worker, Peasant, Noble etc.) can be written. Pretty much any decent writing in good English will be added to the game, there is any amount of hooks/forks since a slavegirl will give different answers from noble and whore from warrior and let's say noble courtesan with large boobs will give different answer from a dimwitted peasant service girl... options are limitless, I will write most basic once (borrowing stuff from Simbro 1x every now and again) if noone gets around to it but I will put in any writing on that front done by writers).
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on February 03, 2013, 05:39:39 PM
Repair Shop, Community Centre, Training Centre with a lot of options, wow. Pretty nice ideas.
I hope eventually PyTFall will have them.

My colloquial English lacks practice, so I doubt I can write a decent text for any interactions. I guess I can try to write texts for non-interaction events, like Rest or Heal jobs, for different traits and occupations.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Armegetton on February 03, 2013, 06:13:17 PM
I'm just wondering, is it possible to separate those nest if statements into single stat groups and concatenate the strings together after words?

I know this is just a very poorly written pseudo code, but bare with me.

Code: [Select]
if stripskill >= 120:

   text1 = "Best result!"
   tip1 = clients*chr.strip*best_strip_rate

elif stripskill >= 100:

   text1 = "Great result."
   tip1 = clients*chr.strip*great_strip_rate

elif stripskill >= 60:

   text1 = "Good result."
   tip1 = clients*chr.strip*good_strip_rate


elif stripskill >= 30:

   text1 = "Fair result."
   tip1 = clients*chr.strip*fair_strip_rate


else:

   text1 = "Yur grl sux."
   tip1 = clients*chr.strip*bad_strip_rate



if charisma >= 120:

   text2 = "Best result!"
   tip2 = int(clients*charisma*best_charisma_rate)

elif charisma >= 100:

   text2 = "Great result."
   tip2 = clients*charisma*great_charisma_rate

elif charisma >= 60:

   text2 = "Good result."
   tip2 = clients*charisma*good_charisma_rate

elif charisma >= 30:

   text2 = "Fair result."
   tip2 = clients*charisma*fair_charisma_rate

else:

   text2 = "Yur grl sux."
   tip2 = clients*charisma*bad_charisma_rate


#Then a spot for traits that may effect things (or not)

text3 = ""
tip3 = 0

if trait == 'Big Boobs':

   text3 = text3 + "  Her big boobs bounced with every step she took."
   tip3 = tip3 + big_boob_bonus

if trait == 'Mesmerizing Eyes':

   text3 = text3 + "  The eyes of her viewers couldn't stray from her dance."
   tip3 = tip3 + mez_eye_bonus


final_tip = tip1 + tip2 + tip3
final_text = text1 + text2 + text3 + "\nYou made " + final_tip + " from her dancing.\n(Stripskill " + tip1 +
    ", Charisma " + tip2 + ", Trait Bonus " + tip3 + ")\n You get to keep XX% of her earnings."

My reasoning behind this is thus, you could easily add traits, change tip rates, and adjust the text in the strings without having to change every single line when/if something changes. In other words, it would be much easier to manage.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: dorkosaurus on February 03, 2013, 06:24:31 PM
LoL

I am making stuff up as I go so I cannot predict what writing is needed, for stripjob I need something like this for example:

[snip]

If girl is a slave having a whore as occupation, her rank is checked vs a random costumer's caste, if to far below, half of costumers will leave. Text is needed to reflect that.

Than if she is a stripper/whore and a slave, a number of texts are needed to reflect her performance, based on charisma and strip skill for now.

Basically if she was stunningly pretty and skillfull at striptease: 1 text, pretty and ok at striptease: another text and so on. As many options as possible. Also hooks for her being just pretty but sucking at striptease or the opposite, awesome stripper but not the best looker and so on.

About the same thing for Stippers that are free, you do not get to keep all of tips, there will be a bar in girl's profile screen just like in WM, that will determine what you get if free girl's working for you, but texts from Slave part can be reused here I suppose...

Also any amount of text for interactions in city or private interaction in girl's profile based on traits (List of traits will be released with next preAlpha, but most of the general WM traits can be used), occupations(Warrior, Whore, Stripper, Service Girl etc.) and status (Slave, Free, Worker, Peasant, Noble etc.) can be written. Pretty much any decent writing in good English will be added to the game, there is any amount of hooks/forks since a slavegirl will give different answers from noble and whore from warrior and let's say noble courtesan with large boobs will give different answer from a dimwitted peasant service girl... options are limitless, I will write most basic once (borrowing stuff from Simbro 1x every now and again) if noone gets around to it but I will put in any writing on that front done by writers).

why not just put in a ton of place holders for the specific things, pastebin it all, and then people can pastebin back in the specific placeholder.  This way you can continue to write up the code and just fill in the placeholders when you get around to it.

something like (placeholder:good strip tease act).    then someone could do "(placeholder:good strip tease act): <stripper> performed an exotic dance for her customers.  Everyone loved the act and she left the whole room wanting more. "  Then write up a bunch of alternates following the same format or whatever and then pastebin it all.   You can then just copy and paste the content you want.  Not everyone is competent with python, so i feel that this method would be the best to minimize the amount of errors that could occur.

either way its hard to come up with a good coherent script without a blueprint to go off of.  Give us a blueprint and several placeholders with general descriptions of what you want.  If you just ask us to write up random things, then stitching it all together might make the result somewhat confusing.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Armegetton on February 03, 2013, 06:30:15 PM
why not just put in a ton of place holders for the specific things, pastebin it all, and then people can pastebin back in the specific placeholder.  This way you can continue to write up the code and just fill in the placeholders when you get around to it.

something like (placeholder:good strip tease act).    then someone could do "(placeholder:good strip tease act): <stripper> performed an exotic dance for her customers.  Everyone loved the act and she left the whole room wanting more. "  Then write up a bunch of alternates following the same format or whatever and then pastebin it all.   You can then just copy and paste the content you want.  Not everyone is competent with python, so i feel that this method would be the best to minimize the amount of errors that could occur.

either way its hard to come up with a good coherent script without a blueprint to go off of.  Give us a blueprint and several placeholders with general descriptions of what you want.  If you just ask us to write up random things, then stitching it all together might make the result somewhat confusing.

^ What this guy said. Which is actually strangely similar to my previous post.

@dorkosaurus - I think the issue right now is we aren't sure what we want as of yet.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 03, 2013, 06:36:12 PM
I'm just wondering, is it possible to separate those nest if statements into single stat groups and concatenate the strings together after words?

I know this is just a very poorly written pseudo code, but bare with me.

Code: [Select]
if stripskill >= 120:

   text1 = "Best result!"
   tip1 = clients*chr.strip*best_strip_rate

elif stripskill >= 100:

   text1 = "Great result."
   tip1 = clients*chr.strip*great_strip_rate

elif stripskill >= 60:

   text1 = "Good result."
   tip1 = clients*chr.strip*good_strip_rate


elif stripskill >= 30:

   text1 = "Fair result."
   tip1 = clients*chr.strip*fair_strip_rate


else:

   text1 = "Yur grl sux."
   tip1 = clients*chr.strip*bad_strip_rate



if charisma >= 120:

   text2 = "Best result!"
   tip2 = int(clients*charisma*best_charisma_rate)

elif charisma >= 100:

   text2 = "Great result."
   tip2 = clients*charisma*great_charisma_rate

elif charisma >= 60:

   text2 = "Good result."
   tip2 = clients*charisma*good_charisma_rate

elif charisma >= 30:

   text2 = "Fair result."
   tip2 = clients*charisma*fair_charisma_rate

else:

   text2 = "Yur grl sux."
   tip2 = clients*charisma*bad_charisma_rate


#Then a spot for traits that may effect things (or not)

text3 = ""
tip3 = 0

if trait == 'Big Boobs':

   text3 = text3 + "  Her big boobs bounced with every step she took."
   tip3 = tip3 + big_boob_bonus

if trait == 'Mesmerizing Eyes':

   text3 = text3 + "  The eyes of her viewers couldn't stray from her dance."
   tip3 = tip3 + mez_eye_bonus


final_tip = tip1 + tip2 + tip3
final_text = text1 + text2 + text3 + "\nYou made " + final_tip + " from her dancing.\n(Stripskill " + tip1 +
    ", Charisma " + tip2 + ", Trait Bonus " + tip3 + ")\n You get to keep XX% of her earnings."

My reasoning behind this is thus, you could easily add traits, change tip rates, and adjust the text in the strings without having to change every single line when/if something changes. In other words, it would be much easier to manage.

That's a possibility but that would require even more texts, one for charisma and one for strip each? :D Also, there is no reason why traits cannot be added in the same way to current script. All things considered: this is prolly a better way. I'll take another look at it tomorrow but this will yield a better results even if more texts are required, thanks. I'll recode stripjob tomorrow and use this for rest of jobs as well.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Armegetton on February 03, 2013, 06:44:29 PM
Just trying to make things easier for you in the long run. ;)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: dorkosaurus on February 03, 2013, 06:44:54 PM
^ What this guy said. Which is actually strangely similar to my previous post.

@dorkosaurus - I think the issue right now is we aren't sure what we want as of yet.

well when you guys figure out what you want make it known and give some clear instructions.  I'm sure there are people out there that would like to help but are totally lost in all this technical jargon.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 03, 2013, 06:55:34 PM
why not just put in a ton of place holders for the specific things, pastebin it all, and then people can pastebin back in the specific placeholder.  This way you can continue to write up the code and just fill in the placeholders when you get around to it.

something like (placeholder:good strip tease act).    then someone could do "(placeholder:good strip tease act): <stripper> performed an exotic dance for her customers.  Everyone loved the act and she left the whole room wanting more. "  Then write up a bunch of alternates following the same format or whatever and then pastebin it all.   You can then just copy and paste the content you want.  Not everyone is competent with python, so i feel that this method would be the best to minimize the amount of errors that could occur.

either way its hard to come up with a good coherent script without a blueprint to go off of.  Give us a blueprint and several placeholders with general descriptions of what you want.  If you just ask us to write up random things, then stitching it all together might make the result somewhat confusing.

Fair enough, I'll leave texts to the most basic form from now on and make a pastebin. There weren't any people to make pastebins for actually, so I never even considered it.

I am taking a break from serious coding for two - three days but I'll try to find time to separate conditions per stat tomorrow. The plan is to finish strip job for all types of characters this week (with contract bar for free girls to share tips between girl/player and a relay to whore/bar jobs) and start on bar/service where the main income from club is supposed to come from.

Going to get some sleep to get an early jump tomorrow.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 03, 2013, 07:03:45 PM
well when you guys figure out what you want make it known and give some clear instructions.  I'm sure there are people out there that would like to help but are totally lost in all this technical jargon.

Yeah, this was does present a very real challenge thou. If girl is pretty but has 0 skills, there will be one line of text praising her and another burring her underground for sucking (I would REALLY like to avoid generic crap like 'Her charisma was high, they really liked her' + 'Her skills in stripping leave a lot to be desired'). After traits are added, text could end up looking really confusing. It is cleaner and offers better CODE readability but I am still not 100% convinced it the way to go, because artistic (real) writing with two stat dependencies seems almost impossible to me if approached solely per stat (especially if we offer several texts randomly chosen for each if/elif condition same as for whore job)... but it's getting really late so I cannot think straight right now.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Armegetton on February 03, 2013, 07:48:48 PM
Ok, let's assume there are multiple major stats that affect an event. one is 1 and the other 98. We should give the event a 'final score' of sorts, which would determine the ending part of the text.

And since the tips are varied, it should even out properly.

But you're right, we wouldn't want:

Quote
'Her charisma was high, they really liked her' + 'Her skills in stripping leave a lot to be desired')

So, we'll try and want to get it something like:

'Her charisma was high' + ', but ' + 'her skills in stripping were poor' + ', so all in all it was a decent performance.'

I think it best to try and keep it as simple as possible.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 04, 2013, 03:08:50 AM
Ok, let's assume there are multiple major stats that affect an event. one is 1 and the other 98. We should give the event a 'final score' of sorts, which would determine the ending part of the text.

And since the tips are varied, it should even out properly.

But you're right, we wouldn't want:

So, we'll try and want to get it something like:

'Her charisma was high' + ', but ' + 'her skills in stripping were poor' + ', so all in all it was a decent performance.'

I think it best to try and keep it as simple as possible.

Which is a lot easier to achieve comparing two stats at the same time, not separately since telling the game when to put 'but', when to use 'and' and etc. will make code 'messy' once again:

Code: [Select]
if chr.charisma > 120:
    txt = txt + 'Her charisma was high'
    if chr.strip <= 30:
        txt = txt + ' ,but her skills in stripping were poor so all in all it was a decent performance'


I doubt that it is possible to create 'clean' code for multiple stat dependencies. Also if we use 'and' in conditions and not two 'if' we can use one unbroken string making it A LOT EASIER for writers with skills to create texts like one I've attached (from Otherworld) instead of 'Low charisma - High Libido - Average result' robotic responses.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Armegetton on February 04, 2013, 08:32:37 AM
If you think that's best, then that sounds good to me. I was just concerned that writers would be confused.

But also, how many clusters of nested if statements are needed if that's done?
It seems like there would be 5 per 5 (5x5) or 25 unique outcomes

1. >120/>120  2. >120/>90 3. >120/>60 4. >120/>30 5. >120/<=30
1. >90/>120  2. >90/>90 3. >90/>60 4. >90/>30 5. >90/<=30
1. >60/>120  2. >60/>90 3. >60/>60 4. >60/>30 5. >60/<=30
1. >30/>120  2. >30/>90 3. >30/>60 4. >30/>30 5. >30/<=30
1. <=30/>120  2. <=30/>90 3. <=30/>60 4. <=30/>30 5. <=30/<=30

But it would need considerably more outcomes if there were 2 or 3 possible traits that you want text for as well. (because it would change to 25x2 or 25x3 for unique responses, unless the trait responses were separate) and I imagine this will be per job. whoring, stripping, waitressing, etc.

Don't get me wrong, I think it would be pretty neat if there were this many possible responses. It would seem more personalized and one would see less of the same ones over and over.


Title: Re: PyTFall Dev Thread: Writers needed!
Post by: dorkosaurus on February 04, 2013, 01:40:27 PM
what about having the outcome be partitioned off and the writing could be made generic.

Something like

The customer was completely enamored by her stunning looks. <insert section commenting about specific perks>

(section on the act itself) <name> greeted the group of customers and began her dance. She teased the room with her clothes while slowly stripping it away.

Her performance was sloppy and the customer stormed off in anger.


Something like this would allow for a couple of generic phrases for each section and they could be stitched together while still maintaining coherence.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on February 04, 2013, 01:57:36 PM
Something like this would allow for a couple of generic phrases for each section and they could be stitched together while still maintaining coherence.
I agree. Unique text for every trait combination is ambitious, but nearly impracticable idea. We'll probably have WM3 and Alkion completely ready for playing sooner than we'll write such amount of text.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 04, 2013, 02:43:21 PM
So who the hell suggested 25x texts per trait and where??? I thought we were talking about combined stat dependencies vs separate stat dependencies?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on February 04, 2013, 05:43:42 PM
I'd like to comment on the "get a description for a job depending on several conditions" discussion.

Some of you probably know Otherworld. It's main developer, Daisy_Strike, created an XML system from scratch that allows an arbitrary number of conditions to be checked when selecting texts. Usually, it starts with cases that require strict conditions to be met, loosens those up and ends with a text requiring no passed condition at all. I like the concept, but this system is rather complicated to learn, somewhat difficult to read and debug and surely was difficult to code.

A complicated job in Otherworld's XML system looks like this. Please note that this code defines the effects of the job and returns a keyword that defines the description this job should get:
Code: [Select]
<root>
    <variable     label = "sexskill"  vvar = "0"/>
    <variable     label = "nonpussyskill"  vvar = "0"/>
    <variable     label = "whoreskill"  vvar = "0"/>
    <evemath    label = "sexskill" arg1 = "#storal" math12="add" arg2="#stanal" math13="add" arg3="stvaginal" math14="div" arg4="3" reroll="sexskill"/>
    <evemath    label = "nonpussyskill" arg1="#storal" math12="add" arg2="#stanal" math13="div" arg3="2" reroll="nonpussyskill"/>
    <evemath    label = "whoreskill" arg1 = "#entertaining" math12="add" arg2="#presentation" math13="add" arg3="#stamina" math14="div" arg4="3" reroll="whoreskill"/>

    <!-- Send in is whorejob -->
    <eve
        label            = "whorejob"
        text            = ""
    >
        <eveeffectcheck  label = "sick" exist = "true"/>
        <evepost     label = "sickjob"/>
    </eve>
   
    <!-- does not have class whore, wears chastity belt, low skill -->
    <eve
        label            = "whorejob"
        text            = "whorejobChastityBad"
    >
        <!-- requirements -->
        <evecheck    label = "#class2" check = "ne" vvar = "whore" />
        <evecheck    label = "#class1" check = "ne" vvar = "whore" />
        <eveitemcheck   label = "chastity belt" check = "true" girl = "whatgirl" />
        <evecheck    label = "nonpussyskill" check = "lt" vvar = "advancedskillmin" />
        <!-- changes -->
        <evechange     label = "#gold" mult = "nonpussyskill" percent = ".1" round = "0" reroll="nonpussyskill"/>
        <evechange    label = "#lust" vvar = "2" />
        <evechange    label = "#happiness" vvar = "-1" />
        <evechangesex    label = "blowjob" vvar = "1" />
        <evechange    label = "#health" check = "sub" vvar = "fatiguework"/>
        <!-- results -->
        <evepost    label = "classlearnwhore" />
        <evepost     label = "sickcheck"/>
        <evepost    label = "stdoralrandom" />
        <evepost     label = "classlearnblowjob" />
       
    </eve>
   
    <!-- does not have class whore, wears chastity belt, high skill -->
    <eve
        label            = "whorejob"
        text            = "whorejobChastityGood"
    >
        <!-- requirements -->
        <evecheck    label = "#class2" check = "ne" vvar = "whore" />
        <evecheck    label = "#class1" check = "ne" vvar = "whore" />
        <eveitemcheck    label = "chastity belt" check = "true" girl = "whatgirl" />
        <!-- changes -->
        <evechange     label = "#gold" mult = "nonpussyskill" percent = ".3" round = "0" reroll="nonpussyskill"/>
        <evechange    label = "#lust" vvar = "2" />
        <evechange    label = "#happiness" vvar = "-1" />
        <evechangesex    label = "blowjob" vvar = "#rand2" />
        <evechange    label = "#health" check = "sub" vvar = "fatiguework"/>
        <!-- results -->
        <evepost    label = "classlearnwhore" />
        <evepost     label = "sickcheck"/>
        <evepost    label = "stdoralrandom" />
        <evepost     label = "classlearnblowjob" />
       
    </eve>
   
    <!-- does not have class whore, bad customer -->
    <eve
        label            = "whorejob"
        text            = "whorejobRookieRough"
    >
        <!-- requirements -->
        <evecheck    label = "#class2" check = "ne" vvar = "whore" />
        <evecheck    label = "#class1" check = "ne" vvar = "whore" />
        <evecheck    label = "#rand100" check = "lt" vvar = "34"/>
        <!-- changes -->
        <evechange     label = "#gold" mult = "sexskill" percent = ".15" round = "0" reroll="sexskill"/>
        <evechange    label = "#lust" vvar = "-2" />
        <evechange    label = "#happiness" vvar = "-1" />
        <evechangesex    label = "fucking" vvar = "1" iflabel="#rand5" ifcheck="lt" ifvvar="3"/>
        <evechangesex    label = "blowjob"      vvar = "1" iflabel="#rand5" ifcheck="gt" ifvvar="3"/>
        <evechangesex    label = "anal"      vvar = "1" iflabel="#rand5" ifcheck="eq" ifvvar="3"/>
        <evechange    label = "#health" check = "sub" vvar = "fatiguework"/>
        <evechange    label = "#health"  vvar = "-10"/>
        <!-- results -->
        <evepost    label = "classlearnwhore" />
        <evepost     label = "virgincheck" />
        <evepost     label = "pregnancycheck" />
        <evepost     label = "sickcheck"/>
        <evepost    label = "stdsexrandom" />
        <evepost     label = "classlearnblowjob" />
        <evepost     label = "classlearnfucking" />
        <evepost     label = "classlearnanal" />
    </eve>
   
    <!-- does not have class whore, low skill -->
    <eve
        label            = "whorejob"
        text            = "whorejobRookieBad"
    >
        <!-- requirements -->
        <evecheck    label = "#class2" check = "ne" vvar = "whore" />
        <evecheck    label = "#class1" check = "ne" vvar = "whore" />
        <evecheck    label = "sexskill" check = "lt" vvar = "advancedskillmin" />
        <!-- changes -->
        <evechange     label = "#gold" mult = "sexskill" percent = ".15" round = "0" reroll="sexskill"/>
        <evechange    label = "#lust" vvar = "-2" />
        <evechange    label = "#happiness" vvar = "-1" />
        <evechangesex    label = "fucking" vvar = "1" iflabel="#rand5" ifcheck="lt" ifvvar="3"/>
        <evechangesex    label = "blowjob"      vvar = "1" iflabel="#rand5" ifcheck="gt" ifvvar="3"/>
        <evechangesex    label = "anal"      vvar = "1" iflabel="#rand5" ifcheck="eq" ifvvar="3"/>
        <evechange    label = "#health" check = "sub" vvar = "fatiguework"/>
        <!-- results -->
        <evepost    label = "classlearnwhore" />
        <evepost     label = "virgincheck" />
        <evepost     label = "sickcheck"/>
        <evepost     label = "pregnancycheck" />
        <evepost    label = "stdoralrandom" />
        <evepost     label = "classlearnblowjob" />
        <evepost     label = "classlearnfucking" />
        <evepost     label = "classlearnanal" />
    </eve>

    <!-- does not have class whore, high skill -->
    <eve
        label            = "whorejob"
        text            = "whorejobRookieGood"
    >
        <!-- requirements -->
        <evecheck    label = "#class2" check = "ne" vvar = "whore" />
        <evecheck    label = "#class1" check = "ne" vvar = "whore" />
        <!-- changes -->
        <evechange     label = "#gold" mult = "sexskill" percent = ".35" round = "0" reroll="sexskill"/>
        <evechange    label = "#lust" vvar = "-2" />
        <evechange    label = "#happiness" vvar = "-1" />
        <evechangesex    label = "fucking" vvar = "#rand2" iflabel="#rand5" ifcheck="lt" ifvvar="3"/>
        <evechangesex    label = "blowjob"      vvar = "1"/>
        <evechangesex    label = "anal"      vvar = "#rand2_2" iflabel="#rand5" ifcheck="eq" ifvvar="3"/>
        <evechange    label = "#health" check = "sub" vvar = "fatiguework"/>
        <!-- results -->
        <evepost    label = "classlearnwhore" />
        <evepost     label = "virgincheck" />
        <evepost     label = "sickcheck"/>
        <evepost     label = "pregnancycheck" />
        <evepost    label = "stdoralrandom" />
        <evepost     label = "classlearnblowjob" />
        <evepost     label = "classlearnfucking" />
        <evepost     label = "classlearnanal" />
    </eve>
   
    <!-- bad customer -->
    <eve
        label            = "whorejob"
        text            = "whorejobRough"
    >
        <!-- requirements -->
        <evecheck    label = "#rand100" check = "gt" vvar = "#entertaining"/>
        <evecheck    label = "#rand100" check = "gt" vvar = "66"/>
        <!-- changes -->
        <evechange     label = "#gold" mult = "whoreskill" percent = ".3" round = "0" reroll="whoreskill"/>
        <evechange    label = "#lust" vvar = "-2" />
        <evechange    label = "#health" check = "sub" vvar = "fatiguework"/>
        <evechange    label = "#health"  vvar = "-10"/>
        <evechangesex    label = "fucking" vvar = "1" iflabel="#rand5" ifcheck="eq" ifvvar="3"/>
        <evechangesex    label = "blowjob"      vvar = "1" iflabel="#rand5" ifcheck="lt" ifvvar="3"/>
        <evechangesex    label = "anal"      vvar = "#rand2"/>
        <evechange    label = "#presentation" vvar = "1" />
        <evechange    label = "#stamina" vvar = "2" />
        <!-- results -->
        <evepost     label = "virgincheck" />
        <evepost     label = "sickcheck"/>
        <evepost     label = "pregnancycheck" />
        <evepost    label = "stdoralrandom" />
        <evepost     label = "classlearnblowjob" />
        <evepost     label = "classlearnfucking" />
        <evepost     label = "classlearnanal" />
    </eve>
   
    <!-- low skill -->
    <eve
        label            = "whorejob"
        text            = "whorejobBad"
    >
        <!-- requirements -->
        <evecheck    label = "whoreskill" check = "lt" vvar = "advancedskillmin" />
        <!-- changes -->
        <evechange     label = "#gold" mult = "whoreskill" percent = ".3" round = "0" reroll="whoreskill"/>
        <evechange    label = "#lust" vvar = "-2" />
        <evechange    label = "#health" check = "sub" vvar = "fatiguework"/>
        <evechangesex    label = "fucking" vvar = "1" iflabel="#rand5" ifcheck="lt" ifvvar="3"/>
        <evechangesex    label = "blowjob"      vvar = "1"/>
        <evechangesex    label = "anal"      vvar = "1" iflabel="#rand5" ifcheck="eq" ifvvar="3"/>
        <evechange    label = "#entertaining" vvar = "1" />
        <evechange    label = "#presentation" vvar = "1" />
        <evechange    label = "#stamina" vvar = "1" />
        <!-- results -->
        <evepost     label = "virgincheck" />
        <evepost     label = "sickcheck"/>
        <evepost     label = "pregnancycheck" />
        <evepost    label = "stdoralrandom" />
        <evepost     label = "classlearnblowjob" />
        <evepost     label = "classlearnfucking" />
        <evepost     label = "classlearnanal" />
    </eve>

    <!-- high skill -->
    <eve
        label            = "whorejob"
        text            = "whorejobGood"
    >
        <!-- changes -->
        <evechange     label = "#gold" mult = "whoreskill" percent = ".6" round = "0" reroll="whoreskill"/>
        <evechange    label = "#lust" vvar = "-2" />
        <evechange    label = "#health" check = "sub" vvar = "fatiguework"/>
        <evechangesex    label = "fucking" vvar = "#rand2" iflabel="#rand5" ifcheck="lt" ifvvar="5"/>
        <evechangesex    label = "blowjob"      vvar = "1"/>
        <evechangesex    label = "anal"      vvar = "#rand2_2" iflabel="#rand5" ifcheck="lt" ifvvar="3"/>
        <evechange    label = "#entertaining" vvar = "1" />
        <evechange    label = "#presentation" vvar = "1" />
        <evechange    label = "#stamina" vvar = "1" />
        <!-- results -->
        <evepost     label = "virgincheck" />
        <evepost     label = "sickcheck"/>
        <evepost     label = "pregnancycheck" />
        <evepost    label = "stdoralrandom" />
        <evepost     label = "classlearnblowjob" />
        <evepost     label = "classlearnfucking" />
        <evepost     label = "classlearnanal" />
    </eve>
   
    <!--- needs to be completed and text added -->
</root>


At least one of you knows my own pet project, Pytherworld. Here, job descriptions are also selected via an arbitrary number of checked conditions. These job scripts are implemented as Python functions. Basic Python syntax is at least as easy to learn as Otherworld's XML system, is easier to read and debug and has already been implemented and documented.

A complicated job in Pytherworld looks like this. Again, this code defines the effects of the job and returns a keyword that defines the description this job should get:
Code: [Select]
def whoring():
    # calculate necessary variables
    rand100 = randint(1,100)
    rand5 = randint(1,5)
    rand2 = randint(1,2)
    rand2_2 = randint(1,2)
    sexskill = WORKER.oral + WORKER.anal + WORKER.vaginal
    if WORKER.has_class("whore"):
        whoreskill = WORKER.entertaining + WORKER.presentation + WORKER.stamina
    else:
        whoreskill = 0
    # does not have class whore, bad customer
    if rand100 < 34 and not WORKER.has_class("whore"):
        PLAYER.gold += int(sexskill * 0.15)
        WORKER.lust -= 2
        WORKER.happiness -= 1
        if rand5 < 3: WORKER.vaginal += 1
        if rand5 == 3: WORKER.oral += 1
        if rand5 > 3: WORKER.anal += 1
        WORKER.fatigue += (FATIGUEWORK + 10)
        learn_class("whore")
        #TODO do virgin check
        #TODO do sick check * 2
        return "whorejobRookieRough"
    #  does not have class whore, low skill
    elif sexskill < ADVANCEDSKILLMIN and not WORKER.has_class("whore"):
        PLAYER.gold += int(sexskill * 0.15)
        WORKER.lust -= 2
        WORKER.happiness -= 1
        if rand5 < 3: WORKER.vaginal += 1
        if rand5 == 3: WORKER.oral += 1
        if rand5 > 3: WORKER.anal += 1
        WORKER.fatigue += FATIGUEWORK
        learn_class("whore")
        #TODO do virgin check
        #TODO do sick check
        return "whorejobRookieBad"
    # does not have class whore, high skill
    elif not WORKER.has_class("whore"):
        PLAYER.gold += int(sexskill * 0.35)
        WORKER.lust -= 2
        WORKER.happiness -= 1
        if rand5 < 3: WORKER.vaginal += rand2
        WORKER.oral += 1
        if rand5 == 3: WORKER.anal += rand2
        WORKER.fatigue += FATIGUEWORK
        learn_class("whore")
        #TODO do virgin check
        #TODO do sick check
        return "whorejobRookieGood"
    # bad customer
    elif rand100 > WORKER.entertaining and rand100 > 66:
        PLAYER.gold += int(whoreskill * 0.35)
        WORKER.lust -= 2
        if rand5 == 3: WORKER.vaginal += 1
        if rand5 < 3: WORKER.oral += 1
        WORKER.anal += rand2
        WORKER.presentation += 1
        WORKER.stamina += 2
        WORKER.fatigue += (FATIGUEWORK + 10)
        #TODO do virgin check
        #TODO do sick check * 2
        return "whorejobRough"
    # low skill
    elif whoreskill < ADVANCEDSKILLMIN:
        PLAYER.gold += int(whoreskill * 0.35)
        WORKER.lust -= 2
        if rand5 < 3: WORKER.vaginal += 1
        WORKER.oral += 1
        if rand5 == 3: WORKER.anal += 1
        WORKER.entertaining += 1
        WORKER.presentation += 1
        WORKER.stamina += 1
        WORKER.fatigue += (FATIGUEWORK)
        #TODO do virgin check
        #TODO do sick check
        return "whorejobBad"
    # high skill
    else:
        PLAYER.gold += int(whoreskill * 0.6)
        WORKER.lust -= 2
        if rand5 < 5: WORKER.vaginal += rand2
        WORKER.oral += 1
        if rand5 < 3: WORKER.anal += rand2_2
        WORKER.entertaining += 1
        WORKER.presentation += 1
        WORKER.stamina += 1
        WORKER.fatigue += (FATIGUEWORK)
        #TODO do virgin check
        #TODO do sick check
        return "whorejobGood"

Both systems are more complicated and more powerful than your current system and both solve the problem you are discussing here.

@Xela
The __setattr__ and __getattr__ methods of Pytherworld's Character class exist to keept the code in these job scripts as simple as this:
want to check if the working character is happy? write "if WORKER.happiness > 75:"
want to increase the fatigue of the working character by 2? write "WORKER.fatigue += 2"
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 04, 2013, 09:19:21 PM
At least one of you knows my own pet project, Pytherworld.

Here, here :)



Both systems are more complicated and more powerful than your current system and both solve the problem you are discussing here.

BS by the way, it isn't more powerful and only maybe more complicated.

Note that for all that code you have 6 possible outcomes in a game where there are no traits, no social status and you simply add stats into a single variable to check against that, limiting options for responses. Otherwise, Girls in OW can have two specializations instead of one, WM version of PytFall might top that, SimBro version is not supposed to by design. OW approach doesn't decrease workload, at best it makes code better readable.

As for power there is not one damn thing you can swing with that approach that cannot be done with strip method of Brothel class, simply because it has/can gain access to every variable in the game and RenPy engine (Remember that single namespace everything runs at?). Powerwise that cannot be beaten, it is as simple as that. I never wanted job texts to be moddable so returning a string: return "whorejobRookieRough" That would in the end determine what text to put on display doesn't make much sense in Pytfall, also I expect that there is a lot less control over the content of those texts in PW than in PytFall.


@Xela
The __setattr__ and __getattr__ methods of Pytherworld's Character class exist to keept the code in these job scripts as simple as this:
want to check if the working character is happy? write "if WORKER.happiness > 75:"
want to increase the fatigue of the working character by 2? write "WORKER.fatigue += 2"


As opposed to:

"if chr.happiness > 75:"

and

"chr.mod('fatigue', 2) or chr.fatigue += 2"?

You can add error checking to __setattr__ and __getattr__ and set exceptions, that might be an advantage. There might be a way to solve items issue with this as well...



In any case, I did otherwise manage to adapt WM's approach of House Percentage, creating my first bar in RenPy! :) This is required for free girl's tips/job payout.

Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Armegetton on February 04, 2013, 09:43:25 PM
As far as the 25 needed lines, I took this...

Which is a lot easier to achieve comparing two stats at the same time, not separately since telling the game when to put 'but', when to use 'and' and etc. will make code 'messy' once again:

Code: [Select]
if chr.charisma > 120:
    txt = txt + 'Her charisma was high'
    if chr.strip <= 30:
        txt = txt + ' ,but her skills in stripping were poor so all in all it was a decent performance'


I doubt that it is possible to create 'clean' code for multiple stat dependencies. Also if we use 'and' in conditions and not two 'if' we can use one unbroken string making it A LOT EASIER for writers with skills to create texts like one I've attached (from Otherworld) instead of 'Low charisma - High Libido - Average result' robotic responses.

and inferred that you wanted 2 checks in a row to get 1 text, to avoid robotic responses. I then extrapolated the data assuming you wanted 5 levels or degrees of skill, which is where I got 25 from.

If I'm mistaken or misunderstood, I apologize.


Though, I do have to say, I like how clean and easy to read rudistoned's code is.  Because even I could figure out what was going on there, however I didn't realize the texts in that game were mod-able or that there were really only 6 possible outcomes for that job. (though I suppose I did learn that Xela doesn't want the texts to be moddable in this current one)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 04, 2013, 09:56:05 PM
Though, I do have to say, I like how clean and easy to read rudistoned's code is.  Because even I could figure out what was going on there, however I didn't realize the texts in that game were mod-able or that there were really only 6 possible outcomes for that job. (though I suppose I did learn that Xela doesn't want the texts to be moddable in this current one)

 Yeah, I went through most of Pytherworld, code structure does look lovely!

 I don't want those texts to be 'easily' moddable, I will simply add all good/great texts that writers will come up with as options to be randomly chosen from. Otherwise, all events, quests and interactions will be moddable in Pytfall.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: dorkosaurus on February 05, 2013, 12:58:57 AM
Yeah, I went through most of Pytherworld, code structure does look lovely!

 I don't want those texts to be 'easily' moddable, I will simply add all good/great texts that writers will come up with as options to be randomly chosen from. Otherwise, all events, quests and interactions will be moddable in Pytfall.

well when ever you get around to it, write up a format on what you want, and give some clear instructions on what you would like.  Then people that can help could just follow that guideline and pastebin you stuff when we feel like it.   Don't feel as if you need to slow down writing up your code and stuff due to missing written content, that's what other people are here for and we're willing to help if you ask.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 05, 2013, 02:14:57 AM
well when ever you get around to it, write up a format on what you want, and give some clear instructions on what you would like.  Then people that can help could just follow that guideline and pastebin you stuff when we feel like it.   Don't feel as if you need to slow down writing up your code and stuff due to missing written content, that's what other people are here for and we're willing to help if you ask.

Thanks, I'll try to get it done by the end of the week (two weeks tops), at least to the point where I can make a decent pastebin (I've already registered for an account).

Title: Re: PyTFall Dev Thread: Writers needed!
Post by: dorkosaurus on February 05, 2013, 02:45:11 AM
Thanks, I'll try to get it done by the end of the week (two weeks tops), at least to the point where I can make a decent pastebin (I've already registered for an account).

you should update the first post with the info when you get around to it, that way people can just check back periodically and post their pastebins when they feel like it.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on February 05, 2013, 03:48:57 AM
BS by the way, it isn't more powerful and only maybe more complicated.
I apologize, Pytherworld's job scripts are indeed less powerful than PyTFalls approach since they can only manipulate those parts of the game the game exposes to them. Just remember, with great power comes great responsibility.

Note that for all that code you have 6 possible outcomes in a game where there are no traits, no social status and you simply add stats into a single variable to check against that, limiting options for responses.
6 possible outcomes of job descriptions, that's true. The main purpose of this job script is to modify the girl's stats based on what she did and how well she did it. Also the customer has a little influence on the outcome. That code was never meant to produce a large variety of job description outcomes. Instead, it produces a large variety of stat increases, so you don't know exactly what a girl will learn during one job.

Pytherworld does have social status, implemented via social game classes, but it's not used much currently.
Pytherworld does not have traits, but I don't see the need for them currently, although they are easy to add. Matching images to how girls look is accomplished via Pytherworlds intricate tagging system. In that context, your trait and my tag are pretty much the same - a keyword describing looks.

I checked against a single added number because I chose too. However, doing stuff like the following is perfectly possible too. It's just Python code, after all.
Code: [Select]
if (char.has_class("stripper") or
    char.charisma > 75 and char.happiness> 75) or
    char.dancing > 75):

As for power there is not one damn thing you can swing with that approach that cannot be done with strip method of Brothel class
Well, what about moddability ;-)
There's also  readability, ease of debugging and maintaining the code, but that's just future me being lazy I suppose.



 
I expect that there is a lot less control over the content of those texts in PW than in PytFall.
You are right. I never put work into the descriptions so far, I just load them from Otherworlds XML and display them. Currently, there is no control over the contents at all, except for statically editing the XML files of course.



As opposed to:

"chr.mod('fatigue', 2) or chr.fatigue += 2"?
Yes. Calling the mod method can achieve the same things but is not as easy to understand,  read, and write.
Adding 2 to the fatigue attribute can not check if this would raise the attribute above it's maximum, or do anything else that needs to be done if this attribute changes, unless you modify the __setattr__ method of chr's type (or you turn fatigue into a property, but don't do that, I've been there and it wasn't pretty).

Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 05, 2013, 06:02:08 AM
Yes. Calling the mod method can achieve the same things but is not as easy to understand,  read, and write.
Adding 2 to the fatigue attribute can not check if this would raise the attribute above it's maximum, or do anything else that needs to be done if this attribute changes, unless you modify the __setattr__ method of chr's type (or you turn fatigue into a property, but don't do that, I've been there and it wasn't pretty).

Yeah, not to modify behavior for sGirl class might be a mistake after all. Is it possible to change it only for stats? Like:

def __setattr__(self):
   if stat in self.statslist:
        #One behavior, it should be possible to solve items problem, add error checking and make mod function obsolete with this as well. But:
   else:
        #For all other attributes of the class, default behavior is preferred, I can't tell how to have it jump through hoops this way, if you have the answer, I would appreciate that so I won't have to search net for it.

PS: And I wasn't planning to mess with decorators  :D
       

Pytherworld does have social status, implemented via social game classes, but it's not used much currently.
Pytherworld does not have traits, but I don't see the need for them currently, although they are easy to add. Matching images to how girls look is accomplished via Pytherworlds intricate tagging system. In that context, your trait and my tag are pretty much the same - a keyword describing looks.

Had no idea about Social classes. Yeah, paperdoll... that is remarkably easy to achieve with RenPy, I recall there even being a ready to use code for that somewhere but it would be troublesome to create dolls for a few dozens characters planned for original release.

Traits also describe girl's mind and behavior, not just looks. It'll all depend on how much code is written for that.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on February 05, 2013, 01:09:22 PM
In any case, I did otherwise manage to adapt WM's approach of House Percentage, creating my first bar in RenPy!
That reminds me, this bar doesn't need such high sensitivity, just like fee for an entrance. I think bar with step 10 or at least 5 would be better, if you have time for such purely cosmetic things.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 05, 2013, 01:41:24 PM
That reminds me, this bar doesn't need such high sensitivity, just like fee for an entrance. I think bar with step 10 or at least 5 would be better, if you have time for such purely cosmetic things.

 Well, it took me a while to figure out bars but they are very easy to understand as soon as you implement them once correctly (if RenPy documentation has a weakness, it's lack of practical examples).

 I'll do that next time I see code for that screen.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on February 05, 2013, 02:11:34 PM
@Xela
Yes, it is definitely possible to keep the default behaviour of the character class for regular attributes and modify it for stats. That's what I did in Pytherworld. The most simple way to do it is like this:
Code: [Select]
class Girl(object):
    def __init__(self):
        self.__dict__["stats"] = {"health":100, "fatigue":0, "charisma":5}
       
    def __getattr__(self, name):
        '''Returns a value for a game attribute or a python attribute.
        '''
        if name in self.stats:
            # get a gamestat   
            val = self.stats[name]
        elif name in self.__dict__:
            # get a regular attribute of this class   
            val = self.__dict__[name]
        else:
            # raise an error if name is neither a gamestat nor an attribute   
            msg = "'%s' is neither a gamestat nor an attribute of %s"
            raise AttributeError(msg % (name, self.__class__.__name__))
        return val
           
    def __setattr__(self, name, value):
        '''Assigns a value to a game attribute or a python attribute.
        '''
        if name in self.stats:
            # set a gamestat   
            self.stats[name] = value
        else:
            # set a regular attribute of this class 
            self.__dict__[name] = value

The code above works, so you could drop it into the sGirl class if you want to. If you do, just make sure the definition of the stats dictionary is the first line in the __init__ function, or you'll get infinite recursion.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 05, 2013, 02:36:06 PM
@Xela
Yes, it is definitely possible to keep the default behaviour of the character class for regular attributes and modify it for stats. That's what I did in Pytherworld. The most simple way to do it is like this:
Code: [Select]
class Girl(object):
    def __init__(self):
        self.__dict__["stats"] = {"health":100, "fatigue":0, "charisma":5}
       
    def __getattr__(self, name):
        '''Returns a value for a game attribute or a python attribute.
        '''
        if name in self.stats:
            # get a gamestat   
            val = self.stats[name]
        elif name in self.__dict__:
            # get a regular attribute of this class   
            val = self.__dict__[name]
        else:
            # raise an error if name is neither a gamestat nor an attribute   
            msg = "'%s' is neither a gamestat nor an attribute of %s"
            raise AttributeError(msg % (name, self.__class__.__name__))
        return val
           
    def __setattr__(self, name, value):
        '''Assigns a value to a game attribute or a python attribute.
        '''
        if name in self.stats:
            # set a gamestat   
            self.stats[name] = value
        else:
            # set a regular attribute of this class 
            self.__dict__[name] = value

The code above works, so you could drop it into the sGirl class if you want to. If you do, just make sure the definition of the stats dictionary is the first line in the __init__ function, or you'll get infinite recursion.

Blah, I didn't know about infinite recursion :( So basically if I want to use more dictionaries in __setattr__ and __getattr__ like for max and min stats and another one containing a second variable that will keep track of stat values that are added by items and traits, I need to create a 'matrix' dictionary (dict or dicts?) as first line of __init__?

Or it might be simpler to add more key:value entries, like maxhealth=100, minhealth=0, modhealth=30, health=100.

Also a number of Structure methods will be rendered obsolete:

        def has(self,par): return self.__dict__.has_key(par)
        def set(self,par,value): self.__dict__[par] = value
        def mod(self,par,value): self.__dict__[par] += value

And those were used in several places if I recall it correctly.

Maybe a slightly different approach:

Code: [Select]
class Girl(object):
    def __init__(self):
        self.__dict__["stats"] = {"List":["fatigue","charisma","etc"]}
       
    def __getattr__(self, name):
        '''Returns a value for a game attribute or a python attribute.
        '''
        if name in self.stats['List']:
            # get a gamestat   
            val = self.__dict__[name]
            # but here we can do cool stuff to stats!
        elif name in self.__dict__:
            # get a regular attribute of this class   
            val = self.__dict__[name]
        else:
            # raise an error if name is neither a gamestat nor an attribute   
            msg = "'%s' is neither a gamestat nor an attribute of %s"
            raise AttributeError(msg % (name, self.__class__.__name__))
        return val

Will this code cause infinite recursions?
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on February 05, 2013, 03:18:10 PM
I'm not really sure what the problem is you are describing, but maybe you will solve it yourself if I explain a litte bit what the code above does.

Basically, Python syntax is just a nice way to call all those special methods. Writing
Code: [Select]
char.health = 100 is equivalent to
Code: [Select]
char.__setattr__("health", 100)
Likewise, writing 
Code: [Select]
current_health = char.health is equivalent to
Code: [Select]
current_health = char.__getattr__("health")
So, keeping that in mind, look at the constructor (__init__ method) of sGirl. I'm sure, somewhere you define an attribute, eg.
Code: [Select]
self.name = "unnamed"which Python will translate to
Code: [Select]
self.__setattr__("name", "unnamed")
This call to __setattr__ will execute the line
Code: [Select]
if name in self.stats: which Python will translate to
Code: [Select]
if name in self.__getattr__("stats")
Now __getattr__ is called, which also tries to access the stats attribute in the line
Code: [Select]
if name in self.stats:, triggering yet another call to __getattr__, which also tries to access the stats attribute, triggering yet another call to __getattr__, ...
et voilà, infinite recursion.

If however the first line of the constructor defines the stats attribute by accessing the internal dictionary of the instance, self.__dict__, subsequent attribute access via self.stats will work. This works because self.__dict__ is NOT translated to self.__getattr__("__dict__"), but instead just returns the internal dictionary of the instance, which contains its namespace.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 05, 2013, 03:28:13 PM
I'm not really sure what the problem is you are describing, but maybe you will solve it yourself if I explain a litte bit what the code above does.

Basically, Python syntax is just a nice way to call all those special methods. Writing
Code: [Select]
char.health = 100 is equivalent to
Code: [Select]
char.__setattr__("health", 100)
Likewise, writing 
Code: [Select]
current_health = char.health is equivalent to
Code: [Select]
current_health = char.__getattr__("health")
So, keeping that in mind, look at the constructor (__init__ method) of sGirl. I'm sure, somewhere you define an attribute, eg.
Code: [Select]
self.name = "unnamed"which Python will translate to
Code: [Select]
self.__setattr__("name", "unnamed")
This call to __setattr__ will execute the line
Code: [Select]
if name in self.stats: which Python will translate to
Code: [Select]
if name in self.__getattr__("stats")
Now __getattr__ is called, which also tries to access the stats attribute in the line
Code: [Select]
if name in self.stats:, triggering yet another call to __getattr__, which also tries to access the stats attribute, triggering yet another call to __getattr__, ...
et voilà, infinite recursion.

If however the first line of the constructor defines the stats attribute by accessing the internal dictionary of the instance, self.__dict__, subsequent attribute access via self.stats will work. This works because self.__dict__ is NOT translated to self.__getattr__("__dict__"), but instead just returns the internal dictionary of the instance, which contains its namespace.

I knew all of that but:

        def has(self,par): return self.__dict__.has_key(par)
        def set(self,par,value): self.__dict__[par] = value
        def mod(self,par,value): self.__dict__[par] += value

Accesses classes namespace directly, does it not? So __getattr__, __setattr__ is bypassed here, also in your code, stats and their values are no longer in __dict__, they are in in __dict__['stats'] which presents a problem. Correct me if I am wrong here.

It will prolly be more useful if you explain what causes recursion and I'll try to find a way to code what I need bypassing that.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on February 05, 2013, 03:39:46 PM
Quote
It will prolly be more useful if you explain what causes recursion
I actually just did in my previous post...

Will this code cause infinite recursions?
Easiest way to find out is copy&paste the class definition into IDLE (comes preinstalled with your Python distribution, except for some Linux distris) and create an instance of the class ;-)
Without defining a __setattr__ it's hard, but still possible, to cause infinite recursion.


Concerning the Structure methods:
These methods should not be there anyway because reimplementing the wheel is bad and Python already provides nice mechanisms to do that.

Instead of char.has(par) write hasattr(char, par)
Instead of char.set(par, value) write setattr(char, par, value), or just char.dancing = value if you don't need dynamic access
Instead of char.mod(par, value) write char.dancing += value

If you often need to add a value to a class attribute and you only know the name of the attribute at runtime (dynamic attribute access), you can reimplement the mod method as follows:
Code: [Select]
def mod(self,par,value):
    oldval = getattr(self, par)
    newval = oldval += value
    setattr(self, par, newval)
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 05, 2013, 04:00:25 PM
I actually just did in my previous post...
Easiest way to find out is copy&paste the class definition into IDLE (comes preinstalled with your Python distribution, except for some Linux distris) and create an instance of the class ;-)
Without defining a __setattr__ it's hard, but still possible, to cause infinite recursion.


Concerning the Structure methods:
These methods should not be there anyway because reimplementing the wheel is bad and Python already provides nice mechanisms to do that.

Instead of char.has(par) write hasattr(char, par)
Instead of char.set(par, value) write setattr(char, par, value), or just char.dancing = value if you don't need dynamic access
Instead of char.mod(par, value) write char.dancing += value

If you often need to add a value to a class attribute and you only know the name of the attribute at runtime (dynamic attribute access), you can reimplement the mod method as follows:
Code: [Select]
def mod(self,par,value):
    oldval = getattr(self, par)
    newval = oldval += value
    setattr(self, par, newval)

Right, thanks for explanations, I'll simply do the thing I've always done: Trial and Error. I had a messed up day so I barely have strength to type, I'll play with this today and see if I can get it done tomorrow.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 06, 2013, 07:58:13 PM
Ok... update time: Nothing has changed in the game...  ???

Yet, Sh!tzlloadz had changed in game code due to this:

Code: [Select]
        def __getattr__(self, key):
            if key in StatList:
                if self.__dict__['stats'][key] + self.__dict__['imod'][key] > self.__dict__['max'][key]:
                    val = self.__dict__['max'][key]
                elif self.__dict__['stats'][key] + self.__dict__['imod'][key] < self.__dict__['min'][key]:
                    val = self.__dict__['min'][key]
                else:
                    val = self.__dict__['stats'][key] + self.__dict__['imod'][key]
                   
            else:
                msg = "'%s' is neither a gamestat nor an attribute of %s"
                raise AttributeError(msg % (key, self.__class__.__name__))
            return val
           
        def __setattr__(self, key, value):
            if key in StatList:
                if self.__dict__['imod'][key] + value > self.__dict__['max'][key]:
                    if value > self.__dict__['max'][key]:
                        self.__dict__['stats'][key] = self.__dict__['max'][key]
                        return
                       
                if value < 0:
                    if self.__dict__['imod'][key] + value < self.__dict__['min'][key]:
                        if value < self.__dict__['min'][key]:
                            self.__dict__['stats'][key] = self.__dict__['min'][key]
                            return

                self.__dict__['stats'][key] = value
 
            else:
                self.__dict__[key] = value

As a result, decent amount of code issues had to be traced down and repaired (I even got 'Windows' Error (That I never knew existed) in RenPy 5 or 6 times), but if this actually works (and so far testing shows that, it does):

- Items issue has been solved (When a girl with 90 of any stats and max of that stat set to 100, equips an item that increases that stat by 50 for example, in the past, this action would result in that stat being set to 100. But a problem Rudi tracked down was the fact that taking this item off, would result in stat being set to 50 (100 max - 50 = 50)). This should be fixed now as well and girls stat will keep on increasing until max is reached even if item/items are still equipped.

- mod method is no longer needed. So if you type chr.charisma += 10, game automatically checks if charisma (or any other stat) is within max and min parameters. Modders can still use chr.mod('charisma', 10) if they so desire.

- It is now also possible to intercept other attributes and do cool stuff with them as well.

@Rudi:

Code: [Select]
        elif name in self.__dict__:
            # get a regular attribute of this class   
            val = self.__dict__[name]

This is about as useful as Alkion's/PyTFall's:

Code: [Select]
do_nothing():
    pass

function :)

In any case, modifying classes behavior might be messy work, but it's usefulness can hardly be ignored, thanks for the idea.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on February 07, 2013, 02:29:37 AM
You're right. Well, at least it doesn't break anything  :D

EDIT: After rereading the docs on attribute access (http://docs.python.org/2/reference/datamodel.html (http://docs.python.org/2/reference/datamodel.html)), I believe that the following is a less error-prone implementation of the desired behaviour. The desired behaviour is to intercept any attribute access to character stats and keep the behaviour unchanged for any other attribute. With the previous implementation, which used __getattr__, a character stat could only be accessed if the instance, its class or any superclass did not provide an attribute with the same name.
Code: [Select]
class Girl(object):
    def __init__(self):
        statsdict = {"health":100, "fatigue":0, "charisma":5}
        object.__setattr__(self, "stats", statsdict)
        object.__init__(self)
       
    def __getattribute__(self, name):
        '''Returns a value for a game attribute or a python attribute.
        '''
        statsdict = object.__getattribute__(self, "stats")
        if name in statsdict:
            # get a gamestat   
            val = statsdict[name]
        else:
            # get a regular attribute or raise an error
            val = object.__getattribute__(self, name)
        return val
           
    def __setattr__(self, name, value):
        '''Assigns a value to a game attribute or a python attribute.
        '''
        if name in self.stats:
            # set a gamestat   
            self.stats[name] = value
        else:
            # set a regular attribute
            object.__setattr__(self, name, value)
@Xela
Should you want to adapt this code for PyTFall, please note that you should replace any reference to object with the superclass of your sGirl class: Structure.
 
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 07, 2013, 07:04:20 AM
You're right. Well, at least it doesn't break anything  :D

EDIT: After rereading the docs on attribute access (http://docs.python.org/2/reference/datamodel.html (http://docs.python.org/2/reference/datamodel.html)), I believe that the following is a less error-prone implementation of the desired behaviour. The desired behaviour is to intercept any attribute access to character stats and keep the behaviour unchanged for any other attribute. With the previous implementation, which used __getattr__, a character stat could only be accessed if the instance, its class or any superclass did not provide an attribute with the same name.
Code: [Select]
class Girl(object):
    def __init__(self):
        statsdict = {"health":100, "fatigue":0, "charisma":5}
        object.__setattr__(self, "stats", statsdict)
        object.__init__(self)
       
    def __getattribute__(self, name):
        '''Returns a value for a game attribute or a python attribute.
        '''
        statsdict = object.__getattribute__(self, "stats")
        if name in statsdict:
            # get a gamestat   
            val = statsdict[name]
        else:
            # get a regular attribute or raise an error
            val = object.__getattribute__(self, name)
        return val
           
    def __setattr__(self, name, value):
        '''Assigns a value to a game attribute or a python attribute.
        '''
        if name in self.stats:
            # set a gamestat   
            self.stats[name] = value
        else:
            # set a regular attribute
            object.__setattr__(self, name, value)
@Xela
Should you want to adapt this code for PyTFall, please note that you should replace any reference to object with the superclass of your sGirl class: Structure.

I tried messing with __getattribute__ already, didn't do much for me, and I tried a number of different approaches.

With your code, I get error here

statsdict = Structure.__getattribute__(self, "stats")

AttributeError: 'sGirl' object has no attribute 'stats'

while importing stuff into the class from xml. It may not be worth spending time making it less errorprone, I understand what errors can occur so I can fix them even if they appear.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on February 07, 2013, 08:32:46 AM
Sounds like the XML loader does not call the constructor. I had the same problem because pickle doesn't call the constructor either and after unpickling an instance of my character class it had no stats attribute. I think you can avoid the error message like this and I also think it fixes the problem, but I never made sure it really does. Btw, if __getattribute__ is defined like this, the constructor does not need to have, and should not have the initial values for the statsdict.
Code: [Select]
    def __getattribute__(self, name):
        '''Returns a value for a game attribute or a python attribute.
        '''
        try:
            statsdict = object.__getattribute__(self, "stats")
        except AttributeError:
            # must create self.stats if it does not yet exist
            statsdict = {"health":100, "fatigue":0, "charisma":5}
            object.__setattr__(self, "stats", statsdict)
            statsdict = object.__getattribute__(self, "stats")
        if name in statsdict:
            # get a gamestat   
            val = statsdict[name]
        else:
            # get a regular attribute or raise an error
            val = object.__getattribute__(self, name)
        return val
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 07, 2013, 10:05:53 AM
Sounds like the XML loader does not call the constructor. I had the same problem because pickle doesn't call the constructor either and after unpickling an instance of my character class it had no stats attribute. I think you can avoid the error message like this and I also think it fixes the problem, but I never made sure it really does. Btw, if __getattribute__ is defined like this, the constructor does not need to have, and should not have the initial values for the statsdict.
Code: [Select]
    def __getattribute__(self, name):
        '''Returns a value for a game attribute or a python attribute.
        '''
        try:
            statsdict = object.__getattribute__(self, "stats")
        except AttributeError:
            # must create self.stats if it does not yet exist
            statsdict = {"health":100, "fatigue":0, "charisma":5}
            object.__setattr__(self, "stats", statsdict)
            statsdict = object.__getattribute__(self, "stats")
        if name in statsdict:
            # get a gamestat   
            val = statsdict[name]
        else:
            # get a regular attribute or raise an error
            val = object.__getattribute__(self, name)
        return val

== recursion error. Or some other error that python/renpy cannot trace and just hangs. I also tried to do a number of things that should have worked (your approach looks solid, at least to me) but resulted in same. Basically catching this error would cost me another 3 - 4 hours.

It might also be a part of parser or our custom importing functions (but less likely). Like I said, not worth it. __getattr__ seems to be working marvelously.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: rudistoned on February 07, 2013, 10:25:43 AM
Strange. Well, you're right, __getattr__ will get the job done and it's quite unlikely it will cause problems.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 07, 2013, 04:42:37 PM
First tests of stripjob are successful, since it is a pretty complicated job by design with a lot depending on it, I would say logic for it is still only 70% complete, but there has been a considerable amount of progress and debugging.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 08, 2013, 05:13:02 PM
Still working on strip method. Making sure it has effect on all stats it is supposed to, improving logic and client's satisfaction that it needs to relay to bar job and whore job and so on. I would say the damn thing is about 90% done, it can obviously be improved indefinitely to make texts better and more sensible, adding hooks and forks but I think I am fairly close to reaching the limit for SimBro version. Most time doesn't really do into coding but into figuring out how much of each stat game has to mod.

I am expecting a weekend without to many time consuming tasks in rl,  so plan is to get a good amount of work done for the project tomorrow and the day after.

=============================================
Edit:

I am wrapping up strip job (still needs a bit of work here and there but some other stuff needs to be taken care of first) and starting with more brothel logic, service(bar/cleaning/waitress) job.


This is what strip job currently looks like:


I tried to post code for the job but got this instead  ::)

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  The following error or errors occurred while posting this message:
  The message exceeds the maximum allowed length (20000 characters). 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Odd since it isn't really that big... maybe a lot of spaces or something.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 09, 2013, 04:56:09 PM
Well, didn't get as much done today as planned but there has been some progress.

I now have a basic gameflow in my head for next day logic. I don't know how it all will pen out in live gaming but the idea is not to allow jobs be as simple as: Picture + Texts + Couple of events based on traits/chance. I want jobs to be a little more than just that and have effect on each other, creating some form of at least semi-believable environment.

Basically it looks like this:

Whores do their thing, they don't need any upgrades to the building.

Strippers: Can be activated after Strip Club is bought. They just earn tips, you get to keep 100% if they are slaves and a house percentage if they are hired, you also will pay their wage (or plain upkeep for salves). The trick for them is to attract clients into for bar-jobs and get clients libido higher for whores to take advantage of later. Strippers can perform several shows (each show costs 3 - 4 AP), if they do not have enough AP for the show, they do other stuff, like chatting with clients, resting or training in striptease.

Service girls: This is basically a form of combined Barmaid (After bar is bought), Cleaner, [Waitress and Lap-Dancer] - (After both Bar and Strip Club are bought). They take care of clients that come to the club to see strippers or just come to get drunk and a bit of chatting. Each of the tasks can be assigned to a girl separately if player wishes for specializations but Service Girl is an occupation (Class) and if it is also set as a a job, girls will prioritize on what needs to be done at the moment.

The better job your strippers are doing, the more clients come to the Bar and the more clients wish to get laid. Also the better job your service girls are doing the more clients there are wishing to get laid and more willing to pay something extra.

Basically if we did generic Pic - Event - Result jobs, this part would have been done already, but I want to try a more complicated approach. Right now base for stripjob's advanced logic is done and I am working on Service girls tasks. After that significant improvements to whore job have to be made. Dirt system for brothel also needs to be taken care of but I'll do that together with cleaning job. Small changes in items, dresses and some other things must be made, but those are insignificant.

After that is finished, I'll start with making game events/quests moddability more accessible and write a guide. Also maybe creating a paste bin for texts deposits.
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 10, 2013, 12:49:00 PM
Spent 4 hours tracking down stupid error that kept crashing the game. Left '4' open inside a while loop, so every girl with 4 AP kept crashing it, must have tried two or three dozen things before got to the real issue.

On the other hand Alkion programmer coded an entire fanfic game in under a week (8 hours per day since he is on vacation right now). Presently he is putting some time into Alkion itself.

It can be downloaded here:

http://4otaku.ru/post/1993/

Even if you don't speak Russian, this is another example of what capabilities for events/quests in Alkion/PyTFall are.

============================
I'll keep on coding for the rest of the evening, maybe actually make some progress with service jobs.


Title: Re: PyTFall Dev Thread: Writers needed!
Post by: DarkTl on February 10, 2013, 02:28:07 PM
Service Girl is an occupation (Class)
Nice to hear that you decided to add such class. I was just thinking about characters which don't belong to warriors(=able to fight) or prostututes(=sexually liberated or don't care at all).
Title: Re: PyTFall Dev Thread: Writers needed!
Post by: Xela on February 10, 2013, 02:36:05 PM
Nice to hear that you decided to add such class. I was just thinking about characters which don't belong to warriors(=able to fight) or prostututes(=sexually liberated or don't care at all).

Yeah, I am coding it right now. If I can get it to be 'felt' in game as I am coding it, there is potencial. And we can always add a trait like 'Sexually uninhibited' and have girls with that trait pass class checks for sex related jobs/events. After the base code is done, it will become increasingly easier.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 12, 2013, 04:05:24 AM
Today I have nothing to do, so I decided to add a couple of traits  :)

Xela, are you going to use random girls eventually? I ask because traits like Your Daughter and Incest will be hard to use without them.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 12, 2013, 05:46:22 AM
Today I have nothing to do, so I decided to add a couple of traits  :)

Xela, are you going to use random girls eventually? I ask because traits like Your Daughter and Incest will be hard to use without them.

We don't have pregnancy yet either and I've never used random girls in WM. In any case, there is nothing in PyTFall preventing use of random girls as far as I can tell but if you want to add those traits, make a separate file for the advanced version because SimBro version shouldn't have those by design.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 13, 2013, 11:56:53 AM
I see. They'll wait until pregnancy support then, if game actually will have it. It was somewhat fun to "breed" characters with good traits combinations in wm though.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 13, 2013, 12:55:16 PM
I see. They'll wait until pregnancy support then, if game actually will have it. It was somewhat fun to "breed" characters with good traits combinations in wm though.

LoL

Just made the fastest ban ever, spambot barely left a message.

I don't mind preg support for WMlike version but we'll have to replace days with weeks or come up with some magical way like in Otherworld. In any case, for now we need to finish SimBro version. Barely had time to code in this week, maybe I'll manage to sneak in a couple of hours this weekend and I should have some free time tomorrow evening.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Unchained on February 13, 2013, 08:32:56 PM
We don't have pregnancy yet either and I've never used random girls in WM. In any case, there is nothing in PyTFall preventing use of random girls as far as I can tell but if you want to add those traits, make a separate file for the advanced version because SimBro version shouldn't have those by design.

Perhaps keep it simple and use pregnancy as a means of unlocking higher grade characters from the game? Any girl might have a chance of pregnancy that results in a child but has no actual use (see: NPC) for the player while the pregnancy of certain girls to be discovered during play unlocks those special characters (as daughters) after a set time frame?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 14, 2013, 01:59:47 AM
Just made the fastest ban ever, spambot barely left a message.
I'm afraid they'll never give up  :(

How are you going to handle slavery? Do you need corresponding "Slave" trait like in wm?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 14, 2013, 08:23:39 AM
I'm afraid they'll never give up  :(

How are you going to handle slavery? Do you need corresponding "Slave" trait like in wm?

Nope, we already have status in .xml. I am using it a lot in code. status = slave or status = free. I wrote somewhere about social status, we'll have two - three choices in SimBro version and 6 or 7 in WM version.

PS: There are less bots these days, that is for sure.

Perhaps keep it simple and use pregnancy as a means of unlocking higher grade characters from the game? Any girl might have a chance of pregnancy that results in a child but has no actual use (see: NPC) for the player while the pregnancy of certain girls to be discovered during play unlocks those special characters (as daughters) after a set time frame?

It's very easy to code in even for simpler version, I am not sure we need it right now.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 14, 2013, 01:06:48 PM
Nope, we already have status in .xml
Yeah, I know. I mean possible penalties to character and maybe upkeep. Are they coded within status as well?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 14, 2013, 01:25:24 PM
Yeah, I know. I mean possible penalties to character and maybe upkeep. Are they coded within status as well?

Yeap, upkeep for slaves and free girls is being calculated by different formulas.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 15, 2013, 03:22:52 PM
@Dev team

Wanted to bounce a couple of ideas of you guys:

1) Do we need categories for Service Jobs (Bar-Tender, Club Waitress, Cleaner. (I am thinking about leaving LapDancer for WMlike version))

2) Idea: For warrior types, except keeping unruly costumers under control, what about simple sponsoring of quests for the SimBro version. Basically you give an amount of money to a girl to cover travel expenses, equipment and so on and in return she goes on quest for a number of days. She can either return emptyhanded = you get nothing, or she can fulfill the mission, meaning you get back your investment and something on top. Can also be a part of missions set. That shouldn't be to difficult to program and will solve the issue on what to do with warriors before the Arena in WMlike version.

3) I want to handle missing picture categories by revering to profile category, a different approach is having a number of generic pics without faces and fall back to that (for example, if there is no pic in strip category, game can either show a generic strip pic or a pic from profile category of a girl). Personally I would vote for profile pics but we can go either way or even both ways, simply allowing to choose preferred way in gameoptions.

4) SFW (Safe for work). Do we need such a option? I vote against cause while it is easy to achieve with pics, it is very bothersome to get here with texts.

5) Storyline and endings. If you have any ideas for objectives for the game as a whole, put those in writing, maybe with some texts. I do not mean missions system here. What is needed: Story, simple Plot and a number of endings based on player's actions. Not to complex but not to simple either. And if possible futureproof, so not to much would have to be changed in WM version.

I am working on Service Job, trying to make sure it's smart and not counter intuitive. After that is finished, security job and schools and any other jobs we deem necessary for the SimBro version. With that done, I'll start making the game better moddable. I cannot give any timeframes cause there is no way of knowing how much time can be put into the code.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: dorkosaurus on February 15, 2013, 03:51:08 PM

2) Idea: For warrior types, except keeping unruly costumers under control, what about simple sponsoring of quests for the SimBro version. Basically you give an amount of money to a girl to cover travel expenses, equipment and so on and in return she goes on quest for a number of days. She can either return emptyhanded = you get nothing, or she can fulfill the mission, meaning you get back your investment and something on top. Can also be a part of missions set. That shouldn't be to difficult to program and will solve the issue on what to do with warriors before the Arena in WMlike version.

wow that actually sounds like a really good idea.  it would remove some tedious battle mechanic that wouldn't really add to the gameplay while offering a wider spectrum of management simulation.  I think there is a lot of room for improvement on this idea though.  Perhaps factor in loyalty to see if they run away?

I'm thinking that there should probably be an option to send multiple people to the mission for bonus success. to give it more depth, perhaps factor in character stats for the amount of loot each person can haul back.  So needing to consider sending multiple people on the same mission for maximum haul vs sending them out on multiple missions would make some meaningful choices between exp rate and loot.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 15, 2013, 05:17:39 PM
1) Do we need categories for Service Jobs (Bar-Tender, Club Waitress, Cleaner.
I guess they could be united in the one Service job, but with at least basic self-organization. I mean game should analyze traits of all service girls.

Let's say player has 2 characters with different traits, first one is good for cleaning and second one is good for waitress job. In such case building is clean and customers have their drinks. However, if neither is good for cleaning and both are good for waitress, then building is not as clean as it could be, but  customers in bar are very happy. Or something like this.

2) She can either return emptyhanded = you get nothing, or she can fulfill the mission, meaning you get back your investment and something on top. Can also be a part of missions set
I don't see any real difference from the wm dungeon exploration. They might as well find some item at the mission, or capture some girl - when we'll have a decent item system and corresponding characters.

3) I want to handle missing picture categories by revering to profile category, a different approach is having a number of generic pics without faces
Yup, WM has such faceless pics. Personally, I would prefer profile pics, generic usually seem out of place to me.

4) SFW (Safe for work). Do we need such a option?
Unless you going to sell the game via mobile platforms app stores, I think we don't need it  :D

5) Storyline and endings. If you have any ideas for objectives for the game as a whole, put those in writing, maybe with some texts. I do not mean missions system here. What is needed: Story, simple Plot and a number of endings based on player's actions.
I have a couple of ideas actually. I'll write it tomorrow, it's getting late already.


I'm thinking that there should probably be an option to send multiple people to the mission for bonus success. to give it more depth, perhaps factor in character stats for the amount of loot each person can haul back.
Good idea.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Armegetton on February 15, 2013, 06:54:41 PM
1) Do we need categories for Service Jobs (Bar-Tender, Club Waitress, Cleaner. (I am thinking about leaving LapDancer for WMlike version))

I'd say yes, but I'd also want to keep the 'general category' as well, for those players who just want a certain girl to just take care of whatever. Let them choose a specific or over-head type commands and the game can sort through who goes where during the 'next day' function.

Example, girl A has orders to Clean, girl B has orders to Clean, girl C has order to Bartend, girl D has orders to General Service. If this particular brothel serves food as well, we can assume girl D will be placed into the empty role (waitressing), if it doesn't and girl B refuses to clean, the game may decide to place girl D in girl B's cleaning role. Etc

This way, players don't have to focus on who is where and doing what as far as services go, but for whatever reason (maybe because of a trait or skill) the player definitely wants girl X to perform job Y every time.  This will allow that as well.

Quote
2) Idea: For warrior types, except keeping unruly costumers under control, what about simple sponsoring of quests for the SimBro version. Basically you give an amount of money to a girl to cover travel expenses, equipment and so on and in return she goes on quest for a number of days. She can either return emptyhanded = you get nothing, or she can fulfill the mission, meaning you get back your investment and something on top. Can also be a part of missions set. That shouldn't be to difficult to program and will solve the issue on what to do with warriors before the Arena in WMlike version.

I really like this idea. It reminds me of FFTA (for the GBA) where you can send your peeps on little missions. Perhaps these 'mini missions' can be considered the 'whoring' equivalent. Maybe ....

Prostitute ----------- Warrior
Whoring                  Mini Mission
Services                  Security/Bouncer
Advertising              Patrolling Streets (maybe lowers chances of rowdy customers and occasionally fights tentacle monsters/whatever)

Quote
3) I want to handle missing picture categories by revering to profile category, a different approach is having a number of generic pics without faces and fall back to that (for example, if there is no pic in strip category, game can either show a generic strip pic or a pic from profile category of a girl). Personally I would vote for profile pics but we can go either way or even both ways, simply allowing to choose preferred way in gameoptions.

Yes to game options, yes to both.

Quote
4) SFW (Safe for work). Do we need such a option? I vote against cause while it is easy to achieve with pics, it is very bothersome to get here with texts.

No. If you want to play this at work, you are probably comfortable enough to watch porn at work.

Quote
5) Storyline and endings. If you have any ideas for objectives for the game as a whole, put those in writing, maybe with some texts. I do not mean missions system here. What is needed: Story, simple Plot and a number of endings based on player's actions. Not to complex but not to simple either. And if possible futureproof, so not to much would have to be changed in WM version.

I'll try to throw one by you real quick.

Quote
I am working on Service Job, trying to make sure it's smart and not counter intuitive. After that is finished, security job and schools and any other jobs we deem necessary for the SimBro version. With that done, I'll start making the game better moddable. I cannot give any timeframes cause there is no way of knowing how much time can be put into the code.

No worries. No rush. No stress. Take all the time you need. I'll help where I can.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 03:56:39 AM
wow that actually sounds like a really good idea.  it would remove some tedious battle mechanic that wouldn't really add to the gameplay while offering a wider spectrum of management simulation.  I think there is a lot of room for improvement on this idea though.  Perhaps factor in loyalty to see if they run away?

I'm thinking that there should probably be an option to send multiple people to the mission for bonus success. to give it more depth, perhaps factor in character stats for the amount of loot each person can haul back.  So needing to consider sending multiple people on the same mission for maximum haul vs sending them out on multiple missions would make some meaningful choices between exp rate and loot.

Multiple girls shouldn't be much harder to code than single. It's all good basically, we'll see what others have to say and decide.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 05:07:52 AM
I guess they could be united in the one Service job, but with at least basic self-organization. I mean game should analyze traits of all service girls.

Let's say player has 2 characters with different traits, first one is good for cleaning and second one is good for waitress job. In such case building is clean and customers have their drinks. However, if neither is good for cleaning and both are good for waitress, then building is not as clean as it could be, but  customers in bar are very happy. Or something like this.

Did I not say I am coding a 'smart job' :) Traits will be included eventually. Don't worry about it.



I don't see any real difference from the wm dungeon exploration. They might as well find some item at the mission, or capture some girl - when we'll have a decent item system and corresponding characters.

Difference is that in WM free girls do not really need you and you risk nothing when sending them on dangerous quests. It's like.

- You meet a girl with decent battle stats in the city.
- You send her on her own to fight some beasts and monsters.
- You split income.

- My question is why the f*ck does she need you at all? She can go adventuring somewhere else.

In Pytfall it would made a bit more sense:

- You sponsor the quest, investing money in it (so she could buy necessary equipment and provisions).
- You can organize a party.
- These quests can take longer than one turn.
- You can choose the difficulty of a quest.

Basically you're useful, in ways others than just providing home base for operations. I am still not sure that we need this for SimBro version but there would be literally nothing for warrior girls to do in the game under current design plans, cause warriors would be reluctant to clean, strip or whore for money.

Yup, WM has such faceless pics. Personally, I would prefer profile pics, generic usually seem out of place to me.

Yeah, my thoughts exactly.

Unless you going to sell the game via mobile platforms app stores, I think we don't need it  :D

No such plans but many games still bother with this, I never really understood why.

+ Also, Pytfall as an app is a possibility but I have no plans to release such a thing. Not until there is a satisfactory WM-like version for Win/Linux/Mac.


I have a couple of ideas actually. I'll write it tomorrow, it's getting late already.

Ok, there is no rush, games like this take time to build.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 16, 2013, 05:27:33 AM
In Pytfall it would made a bit more sense:
- You sponsor the quest, investing money in it (so she could buy necessary equipment and provisions).
- You can organize a party.
- These quests can take longer than one turn.
- You can choose the difficulty of a quest.
I see. Yeah, sounds like a good idea to me.
Talking about equipment reminds me, player shouldn't have free access to free girls inventory. He may offer some item or ask for some item, but it should be up to girl to accept a gift or give item to player depending on disposition, status and so on. Of course, slaves are different story.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 05:46:02 AM
I'd say yes, but I'd also want to keep the 'general category' as well, for those players who just want a certain girl to just take care of whatever. Let them choose a specific or over-head type commands and the game can sort through who goes where during the 'next day' function.

Example, girl A has orders to Clean, girl B has orders to Clean, girl C has order to Bartend, girl D has orders to General Service. If this particular brothel serves food as well, we can assume girl D will be placed into the empty role (waitressing), if it doesn't and girl B refuses to clean, the game may decide to place girl D in girl B's cleaning role. Etc

This way, players don't have to focus on who is where and doing what as far as services go, but for whatever reason (maybe because of a trait or skill) the player definitely wants girl X to perform job Y every time.  This will allow that as well.


No, you misunderstood. I was talking about image categories. Service Job works in a different way.

- Girl can refuse/agree to do a ServiceGirl job (only as a whole, not per task), that job is split in tasks: Bar-Tending, Cleaning, Tending-Club-Tables. Girl priorities in order to keep costumers happy. Meaning one girl can tend bar, serve as a waitress and clean all in one turn (try to remember girls in Pytfall have APs that they spend)

- There might be an option to overwrite in the future (Like girl focusing on one task until there is no work left for this task).

: So in short system in place now is already more advanced than the one you suggested.


I really like this idea. It reminds me of FFTA (for the GBA) where you can send your peeps on little missions. Perhaps these 'mini missions' can be considered the 'whoring' equivalent. Maybe ....

Prostitute ----------- Warrior
Whoring                  Mini Mission
Services                  Security/Bouncer
Advertising Patrolling Streets (maybe lowers chances of rowdy customers and occasionally fights tentacle monsters/whatever)

That is one thing I wanted to avoid. There should be no equivalents of jobs between Occupations (Classes). I would have adapted simple generic functions approach and be done with it already. Instead I wish to try and make every job at least 'feel' unique.

PS: Prostitutes will almost always refuse doing services... unless they are slaves.



Yes to game options, yes to both.

Right, but like I've said, I dislike the generic pics option myself so while I am perfectly ok with writing code to allow both, I will not be the one to search and edit default pictures for all categories.



No. If you want to play this at work, you are probably comfortable enough to watch porn at work.

Yeah, it's off that OW and I believe also SM have such options. Why wasting time to make a hentai game SFW instead of adding new features is beyond me.


I'll try to throw one by you real quick.

I've read the PM.

Basically the rival idea or the area control idea, difficulty levels idea, all of those have been proposed before. When I asked for ideas, I meant with sketches of some texts, events and maybe even NPC's involved. I will be done with jobs soon and we are approaching time when simple concepts is not enough. Better, more concrete texts, NPC personalities, Ending requirement are needed. Obviously those would have to be adjusted many time in the future but that counts for every single element of the game and we're still making the game, not just talking about making one. I cannot see why same thing cannot be done with storyline, endings and plot...


No worries. No rush. No stress. Take all the time you need. I'll help where I can.

That's my base approach to indie development :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 05:53:40 AM
I see. Yeah, sounds like a good idea to me.
Talking about equipment reminds me, player shouldn't have free access to free girls inventory. He may offer some item or ask for some item, but it should be up to girl to accept a gift or give item to player depending on disposition, status and so on. Of course, slaves are different story.

Yeah, unless we decide to do the advanced inventory for the SimBro version, we should leave buying equipment only for brothel workers.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 16, 2013, 07:06:46 AM
So, about the storyline. I would like to avoid such usual plot for brothel games as "competitors killed MC father having left him with one brothel with one old ugly whore and astronomical debts, let's give them the symmetric answer". I don't say we shouldn't use such ideas at all, but I'd like to have a little more serious story.

I have two ideas, which can be used together or separately. First one is conflict with slaves, which, as we know, have provoked war in the past. So player could enslave free girls, help slave traders and so on, or give freedom to slaves, help their underground opposition, secretly train them as warriors and so on. I guess we need some kind of stat reflecting such player's deeds.
In order to not complicate gameplay, just using slaves at some jobs shouldn't influence it, it should be neutral deed.

Second idea is to search for prewar high magic and technologies, i.e. unique first class items and even artificial girls with good stats. Here we actually can use "dead father" idea, but as scientist studying prewar artifacts and killed for unknown reason (maybe by government), not as just some lame brothel manager. Competitors should look for them too.

If you like one or both of these ideas, I will expand them.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 07:44:29 AM
So, about the storyline. I would like to avoid such usual plot for brothel games as "competitors killed MC father having left him with one brothel with one old ugly whore and astronomical debts, let's give them the symmetric answer". I don't say we shouldn't use such ideas at all, but I'd like to have a little more serious story.

I have two ideas, which can be used together or separately. First one is conflict with slaves, which, as we know, have provoked war in the past. So player could enslave free girls, help slave traders and so on, or give freedom to slaves, help their underground opposition, secretly train them as warriors and so on. I guess we need some kind of stat reflecting such player's deeds.
In order to not complicate gameplay, just using slaves at some jobs shouldn't influence it, it should be neutral deed.

Second idea is to search for prewar high magic and technologies, i.e. unique first class items and even artificial girls with good stats. Here we actually can use "dead father" idea, but as scientist studying prewar artifacts and killed for unknown reason (maybe by government), not as just some lame brothel manager. Competitors should look for them too.

If you like one or both of these ideas, I will expand them.

Actually both ideas are awesome... but both will push the game into Alkion's trap. Advanced storyline makes a Simulation game look more and more like an RPG. Even worse, players who may just want to sim, are forced reading long plot lines.

Also it increases on workload (sometimes increases it by 3x - 4x times like with Alkion where we adapted a world from a freaking series of fantasy books and game needs to reflect that).

But to tell you the truth, I love the first idea. It offers a lot of potential since 90 - 95% of girl from Anime/Games would oppose slavery. You can either side with your girls telling them that you're a part of the resistance and they will do their tasks more willingly while secretly training in combat (something that will be forbidden by law regardless of what plot we go with). Or you have to break them "SM" or even better "Valet Pletej" style and government/guilds are your best friends and support. Trouble is that I did not want to do the latter before WM version.

KOTOR darkside/lightside way is no difficult to program.


STILL:


Generic plots with multiple endings should not be ruled out as they require a LOT less development time. I might even prefer that because I STILL cannot see how advanced plot and simulation game play out in (for example) Alkion and avoiding that was the main reason I started my own project. Badly implemented, both Sim and RPG would suck... and to Implement advanced plot in simulation game well, insane amount of planning and writing is required, also many custom events by modders would have to reflect that reality and it does kill creativity and possibilities to some extent.

I am working on 'cleaning' part of service job code right now, see if you and other member of dev team who might be interested could come up with a plot that would not be to intrusive to simulation gameplay. We can discuss that for couple of days or weeks and then simply decide on something.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 16, 2013, 08:21:32 AM
Advanced storyline makes a Simulation game look more and more like an RPG. Even worse, players who may just want to sim, are forced reading long plot lines.
Really? They don't seem so advanced to me. After all, you asked for "sketches of some texts, events and maybe even NPC", my little ideas are nothing in comparison to such things  :)

With the first one player just decides how many slaves and free girls he is going to use, or just ignore it and get neutral "nothing has changed" ending. With the price of one additional, maybe hidden stat.

With the second one player just need to collect a certain amount of any techs (=good items and unique girls, nothing new here, you will do such things anyway) and maybe hide and protect them from government or just some bad people. In advanced version we can use additional Scientist job for smart characters to study prewar techs. The more techs you successfully obtain (maybe within optional time limit) and the less techs obtained by enemies, the better ending you have.

In other words, plots have potential for making game more rpg-like, but it's unnecessary.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 09:07:22 AM
Really? They don't seem so advanced to me. After all, you asked for "sketches of some texts, events and maybe even NPC", my little ideas are nothing in comparison to such things  :)

With the first one player just decides how many slaves and free girls he is going to use, or just ignore it and get neutral "nothing has changed" ending. With the price of one additional, maybe hidden stat.

With the second one player just need to collect a certain amount of any techs (=good items and unique girls, nothing new here, you will do such things anyway) and maybe hide and protect them from government or just some bad people. In advanced version we can use additional Scientist job for smart characters to study prewar techs. The more techs you successfully obtain (maybe within optional time limit) and the less techs obtained by enemies, the better ending you have.

In other words, plots have potential for making game more rpg-like, but it's unnecessary.

Fair enough, but some things can be achieved with generic plot, just check for slave/free girls percentage at endgame and if within limits, launch a corresponding endgame. In any case, if you feel up to it, try to lay out the ideas and when/how they are presented in game. Like during an intro obviously and in ending but also when does player get ending related quests and missions in between and so on.

I think we should start with 3 ending for beta and 7+ for final SimBro version.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 16, 2013, 09:38:54 AM
OK, how about mixing these plots? One thing is player does or doesn't support slavery, second is does he has enough power (=prewar techs=artefacts and girls) to actually do something about it.
This will give us as many endings as we need.

One more thing, I doubt I'm able to write big enough English text without any mistakes, so I guess we need corrector.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 09:51:28 AM
OK, how about mixing these plots? One thing is player does or doesn't support slavery, second is does he has enough power (=prewar techs=artefacts and girls) to actually do something about it.
This will give us as many endings as we need.

One more thing, I doubt I'm able to write big enough English text without any mistakes, so I guess we need corrector.

LoL @ 'corrector'

Proofreader or editor :)

I wouldn't worry to much about that. If game is fun, there will be plenty of people who will offer help with expanding and improving the content. Our task is to create a good base.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 16, 2013, 10:06:23 AM
LoL @ 'corrector'

Proofreader or editor :)
Yup, that's exactly what I'm talking about  :D

I'll think about the game story for a day or two, meanwhile someone may suggest a much better plot, who knows.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 10:21:07 AM
Yup, that's exactly what I'm talking about  :D

I'll think about the game story for a day or two, meanwhile someone may suggest a much better plot, who knows.

'Corrector' is fine by the way, just not the first choice for this particular example :)

------------------------------------------------------------------------
By the way, while I am busy with writing code, can someone find a couple of pics for schools???

We need some form of a Beauty (Charisma), Dancing (Constitution, bit of Refinement), Etiquette (Refinement, bit of charisma), Service (Service skill I've added recently, bit of agility),  Combat? (Non-slave girls only), maybe more?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 16, 2013, 12:21:05 PM
I'll start with the easiest part, dance. Check my folder in dropbox.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 12:26:14 PM
I'll start with the easiest part, dance. Check my folder in dropbox.

Kewl. I am wrapping up basecode for Service job right now. Fairly close to some basic testing :)


PS: I like all the pics :) I wonder if we can simply use all of those with random pics every time player enters the screen :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: dorkosaurus on February 16, 2013, 03:58:29 PM
what about this generic storyline:

main character just graduated from business school and is now in the process of starting their own business.  Takes a loan to start it all up.  Eventually, main character's shop becomes a pretty good adventurer's item shop.

Turns out the loan was a really bad loan and the gangs starts extorting the main character for money.  Being forced to expand his or her business to cover different niches, main character hires "workers" for a bar and brothel expansion to fill a niche that is missing in the local area.

Then here is where the player takes over, goals are to meet the minimum extortion costs per month that rises at a linear rate while trying to balance training/gearing up warrior girls to fight off the gangs or whatever.

The player is in charge of hiring and managing workers for the itemshop/brothel while trying to fund for training and gear for warrior type girls.

This would make sense for warrior type classes to actually stick around in a brothel since the main character is offering paid training and discounts on equipment while also factoring in why he or she would actually want to train warriors for their brothel.  You can further expand gameplay by simulating an item shop. 

Perhaps hiring girls to fabricate generic items that slowly sells overtime, and placing items/loot hauled from warrior's quests to be sold.  Obviously the player needs to buy supplies to fabricate items, and need to supply the warriors for the quests.  This would prevent the player from becoming instantly rich after a really successful random quest run and would slow the inflow of cash to make quest running not instantly profitable.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 04:25:26 PM
what about this generic storyline:

main character just graduated from business school and is now in the process of starting their own business.  Takes a loan to start it all up.  Eventually, main character's shop becomes a pretty good adventurer's item shop.

Turns out the loan was a really bad loan and the gangs starts extorting the main character for money.  Being forced to expand his or her business to cover different niches, main character hires "workers" for a bar and brothel expansion to fill a niche that is missing in the local area.

Then here is where the player takes over, goals are to meet the minimum extortion costs per month that rises at a linear rate while trying to balance training/gearing up warrior girls to fight off the gangs or whatever.

The player is in charge of hiring and managing workers for the itemshop/brothel while trying to fund for training and gear for warrior type girls.

This would make sense for warrior type classes to actually stick around in a brothel since the main character is offering paid training and discounts on equipment while also factoring in why he or she would actually want to train warriors for their brothel.  You can further expand gameplay by simulating an item shop. 

Perhaps hiring girls to fabricate generic items that slowly sells overtime, and placing items/loot hauled from warrior's quests to be sold.  Obviously the player needs to buy supplies to fabricate items, and need to supply the warriors for the quests.  This would prevent the player from becoming instantly rich after a really successful random quest run and would slow the inflow of cash to make quest running not instantly profitable.

Bit clumsy.

Also would require an advanced items system for the SimBro version.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: dorkosaurus on February 16, 2013, 04:43:38 PM
Bit clumsy.

Also would require an advanced items system for the SimBro version.

hmmm why not have an advanced item system? Maybe sometime later down the line when all the other mechanics are done?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 05:05:12 PM
hmmm why not have an advanced item system? Maybe sometime later down the line when all the other mechanics are done?

Because the plan was to stick with the original SimBrothel design with new features. If advanced items system is installed, I doubt that we even need a simbro version then because it will open an avenue to insane amount of interesting quests and plotlines. I want a simple game first, more advanced stuff later.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: dorkosaurus on February 16, 2013, 05:07:36 PM
Because the plan was to stick with the original SimBrothel design with new features. If advanced items system is installed, I doubt that we even need a simbro version then because it will open an avenue to insane amount of interesting quests and plotlines. I want a simple game first, more advanced stuff later.

oh i guess i should have read up on what the plan was.  Silly me for skipping around on the thread then.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 16, 2013, 05:37:47 PM
oh i guess i should have read up on what the plan was.  Silly me for skipping around on the thread then.

 It's ok.

 Anyway, I've been tracking a nasty error and right now I am completely sure that it is a renpy screen design issue and not a code issue (my code). I am also fairly sure it is an actual error and not some weird RenPy design feature. Tomorrow I'll find a workaround (there are a few dozen things I can try and it will definitely be fixed.) Or to be more exact, not fixed, since it is impossible to fix without modifying the framework itself that would take days for one stupid little issue, but will simply be done in a different manner.


PS: I am going to sleep but if anyone from States or with insomnia can find cool looking buttons to put the jobs on or pictures that represent jobs (whore, servicegirl, striptease and rest) it would be VERY helpful because that is where the damn bug is in. I'll get some sleep and resume working on this first thing in the morning.

Otherwise, g'night.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 17, 2013, 04:29:18 AM
I've found some pics for combat school.
What do you mean by service school? Maids, waitresses and so on?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 17, 2013, 04:54:42 AM
I've found some pics for combat school.
What do you mean by service school? Maids, waitresses and so on?

Yeap, that's what I mean.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 17, 2013, 07:09:05 AM
Schools are done. Let me know if you need more pics.

You have to explain jobs representing pics, I'm not sure I understand what do you need. Why and how to use such pics instead of buttons with text in the first place?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 17, 2013, 07:47:13 AM
Schools are done. Let me know if you need more pics.

You have to explain jobs representing pics, I'm not sure I understand what do you need. Why and how to use such pics instead of buttons with text in the first place?

I did have time to start programming today yet but still have those plans for the evening. Trouble is that by some odd RenPy bug, fourth button doesn't display. I am 100% sure that it is not a fault of my code because any other element like text or picture instead of a button displays correctly.

When I get around to it, I'll try using different type of buttons. Alternately I though about using pictures as buttons like with brothels. In any case, that will be fixed.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 17, 2013, 09:15:38 AM
Well, it's not hard to find some cleaning, resting and other icons for sure. Check icons folder in my dropbox folder for some examples.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 17, 2013, 10:03:09 AM
Well, it's not hard to find some cleaning, resting and other icons for sure. Check icons folder in my dropbox folder for some examples.

Thanks, will try buttons first and fall back on that after.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 17, 2013, 10:08:15 AM
Let me know if you won't have a choice but to use icons. Those are just examples, I will find a better ones then.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 17, 2013, 10:56:50 AM
Let me know if you won't have a choice but to use icons. Those are just examples, I will find a better ones then.

Yeah, all the time I've spent thinking there was something wrong with my code... RenPy still has some bugs to clear I guess. I employed the simplest button that exists in RenPy and it works.

Currently looks like this:

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 17, 2013, 02:01:40 PM
Well, I don't know how are you going to build further interface. Where are you going to put icons? I think we definitely shouldn't use only icons without any text, in Alkion there're many buttons without text, and I still didn't get used to them.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 17, 2013, 02:27:56 PM
Well, I don't know how are you going to build further interface. Where are you going to put icons? I think we definitely shouldn't use only icons without any text, in Alkion there're many buttons without text, and I still didn't get used to them.

I wasn't planning to use icons without text. And we also have tooltip that isn't used as much in Alkion as in PyTFall.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: GonDra on February 17, 2013, 02:47:10 PM
On the subject of a generic story: How about having earned / inherited (or something similar) a license allowing the player to open and operate a brothel.
It could give the free whores another reason not to work on the streets since they don't have to look after themselves and pay protection money to gangs or police since they are working for your legal Brothel, instead of working in a gray area with a pretty shady reputation sorrounding them.
Also assuming that the town the game is the cultural and political center of the country/region a lot of girls could come there trying to become the maid, mistress or bodyguard (or master of the arena) of the cream of society only to find out that it isn't all that easy to get to them, cue the player providing jobs and maybe a way up the social ladder for them.
(just spouting ideas here)

I am not the best out there with the english language but I would be willing to look over peoples texts / writing small stuff if I find the time for it.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 17, 2013, 04:03:27 PM
On the subject of a generic story: How about having earned / inherited (or something similar) a license allowing the player to open and operate a brothel.
It could give the free whores another reason not to work on the streets since they don't have to look after themselves and pay protection money to gangs or police since they are working for your legal Brothel, instead of working in a gray area with a pretty shady reputation sorrounding them.
Also assuming that the town the game is the cultural and political center of the country/region a lot of girls could come there trying to become the maid, mistress or bodyguard (or master of the arena) of the cream of society only to find out that it isn't all that easy to get to them, cue the player providing jobs and maybe a way up the social ladder for them.
(just spouting ideas here)

I am not the best out there with the english language but I would be willing to look over peoples texts / writing small stuff if I find the time for it.

Kewl, I am still working on jobs, since I do not have a code structure and every job is unique it is taking a while...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 17, 2013, 08:07:53 PM
@Dev team

Ok, got a good amount of work done today.. Still far from finished with advanced logic but I think game made it to a point where it doesn't crash every 5 minutes.

0.23 is uploaded to our DropBox dev folder.

Logic behind the jobs:

1) Strippers go first. They relay data to be used in other jobs, that is half implemented right now.

2) Service girls go second.
 Logic behind this one is fairly complex, they take care of bar clients if you have a bar and club clients if you have a club first with a small chance of them cleaning the place up. After that is done, they will clean until brothel dirt is less than 80. Amount of clients heavily depends on how well your strippers preformed in previous job.

3) Prostitutes go next.
 Basically the same old method, nothing changed here. (I think)

4) Service girls go again, but this time they clean the building until it is spotless or they run out of strength.

5) Brothel report is generated, fairly basic right now but should be awesome and informative very soon.

Texts are simply meant to relay as much info as possible at this point of development. I'll change those later to be more user friendly.

There are about 15 things for me to do and improve upon planned out right now... we'll slowly continue to develop this one day (or week  ::)) at a time.

PS: We're little over 6k lines on code now I think (not counting the battle engine, standard modules and .xml files). Not bad for a n00b coder alongside a small dev team I would say  8)

PS2: I've created two new folders in my DB folder, throw any trace bug reports you may encounter and stupid stuff that gotta be fixed as well.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 18, 2013, 11:50:01 AM
On the subject of a generic story: How about having earned / inherited (or something similar) a license allowing the player to open and operate a brothel.
Yeah, that's a good explanation why MC bothers with brothel but not something else, regardless of main plot. The question is how he earned it in the first place. I would rather not make another dead-father-brothel-manager, it's an old and boring story  :)
Any ideas, anyone?

I am not the best out there with the english language but I would be willing to look over peoples texts / writing small stuff if I find the time for it.
I would appreciate that.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 18, 2013, 12:47:12 PM
Hey guys,

congratulations on your progress! I'm interested in the quest/mission system for the warriors and I'd like to code the logic for it. Since nobody mentioned developing it, I suppose work has not started on it yet? I'd hate to duplicate something that already exists.

Goal
Develop a system that allows one or more characters to go on a quest, face several encounters and return with a reward if all obstacles can be overcome.

New classes
Quest
Represents a series of encounters that a party of characters has to deal with to earn the reward.
The quest should have a cost to pay so it can be started. It should also decide which characters in the party face a particular encounter and should define if the reward for successful completion of the quest is just the sum of the encounter rewards or something else.

Encounter
Represents an obstacle questing characters have to overcome. Possible obstacles are monsters to fight, traps to avoid, secure locations to break in, natural hazards to brave or whatever else fits the setting.
An encounter should contain some kind of test, e.g. skill checks, that determines the outcome of the encounter. It should also apply the effects of the outcome to the characters, e.g. reduce character health if they've been in a fight.
It may also provide a reward for success.

Interfaces
This system would need to interact with:
the character instances to apply encounter outcomes and to perform skill checks
anything else?


Questions
* How do skill checks work in PyTFall? In Otherworld, the most basic way to see if a maid cooked a nice meal is to generate a random number between 1 and 100 and check if it is lower than the maid's cooking skill.
* Is the character class already stable, or is it changing often?
* What kind of encounters do you think are interesting?



What do you think? IMHO, this system is quite scalable, meaning it can simulate both simple and complex quests. Just to be clear, this is not meant to be a mini-RPG. A fight can be as simple as checking a warriors martial prowess (however PyTFall measures that) against a difficulty. Nevertheless, if someone decides to expand warrior management into a mini-RPG, this system will be able to accomodate that via more complex encounters, e.g. changing the fight I mentioned before into several rounds of attack and defense rolls or maybe even powering up the battle engine.

For now, I'd start with the logic calculating encounter outcomes and rewards. The GUI needed to make use of the quest system will probably be created by someone else, because I don't really want to learn how to code GUIs in RenPy. Possible additions would be texts describing what happened on the quest to the player (if that is even desirable).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 18, 2013, 01:25:29 PM
What kind of encounters do you think are interesting?
Well, according to game setting, "failed slave revolt taking place in the country that was squashed but with very significant losses so now slaves are not allowed to train in battle magic or combat".

Main plot probably will have something to do with deciding between government and slaves underground, and looking for prewar techs to have enough power.

So if you ask me, things like raiding some slave camp or protect it, or looking for techs in prewar buildings ruins (with traps and locks = checks for agility and intelligence) and so on are welcomed. These are for high-level parties, low-level simple things like a randomly discovered cave with some monsters and gold are needed too.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 18, 2013, 07:22:53 PM
Hey guys,

congratulations on your progress!

Thanks :) We're are doing our best as time permits :)


I'm interested in the quest/mission system for the warriors and I'd like to code the logic for it. Since nobody mentioned developing it, I suppose work has not started on it yet? I'd hate to duplicate something that already exists.

Goal
Develop a system that allows one or more characters to go on a quest, face several encounters and return with a reward if all obstacles can be overcome.

I am completely lost here... Such system comes with RenPy. It's like Tifa's quest only with multiple characters and longer storyline?!? Or do you mean something else? I mean, if we are talking about the same thing, such system does not only already exist, it is an absolutely awesome and resourceful system!




New classes
Quest
Represents a series of encounters that a party of characters has to deal with to earn the reward.
The quest should have a cost to pay so it can be started. It should also decide which characters in the party face a particular encounter and should define if the reward for successful completion of the quest is just the sum of the encounter rewards or something else.

Encounter
Represents an obstacle questing characters have to overcome. Possible obstacles are monsters to fight, traps to avoid, secure locations to break in, natural hazards to brave or whatever else fits the setting.
An encounter should contain some kind of test, e.g. skill checks, that determines the outcome of the encounter. It should also apply the effects of the outcome to the characters, e.g. reduce character health if they've been in a fight.
It may also provide a reward for success.

Interfaces
This system would need to interact with:
the character instances to apply encounter outcomes and to perform skill checks
anything else?

Every single thing you describe here is already available with nearly infinite options and possibilities. I do not have time to write a guide right now on how to create awesome quests as I am using the little free time that I have to code advanced logic for jobs.




Questions
* How do skill checks work in PyTFall? In Otherworld, the most basic way to see if a maid cooked a nice meal is to generate a random number between 1 and 100 and check if it is lower than the maid's cooking skill.

Same way basically, I would take a different approach and create number of meals and required skill girl needs to cook those properly.


Questions
* Is the character class already stable, or is it changing often?

Not very stable and will change and grow for as long as the game being developed.


Questions
* What kind of encounters do you think are interesting?

To many to describe...


What do you think? IMHO, this system is quite scalable, meaning it can simulate both simple and complex quests. Just to be clear, this is not meant to be a mini-RPG. A fight can be as simple as checking a warriors martial prowess (however PyTFall measures that) against a difficulty. Nevertheless, if someone decides to expand warrior management into a mini-RPG, this system will be able to accomodate that via more complex encounters, e.g. changing the fight I mentioned before into several rounds of attack and defense rolls or maybe even powering up the battle engine.

I still do not understand what you're trying to do. Unless I am mistaken, you are thinking about quests development in terms of a game that is being developed from a scratch. That is the case with OtherWorld and PytherWorld but we are using a very powerful framework in PyTFall that allows absolutely amazing capabilities and options for events and quests that can put some commercial games to shame. Otherwise I simply do not understand what you're offering to code here.

For now, I'd start with the logic calculating encounter outcomes and rewards. The GUI needed to make use of the quest system will probably be created by someone else, because I don't really want to learn how to code GUIs in RenPy. Possible additions would be texts describing what happened on the quest to the player (if that is even desirable).

With this, if I understand correctly, you want to code an alternative, automated battle resolving system to the one that we have where player must fight manually. It is quite useful, I was planning to code one myself but basically by simply compare battle stats of both parties with a couple of random elements involved (player's luck, just random chance etc.) but if you are planning to do something more complex, it's even better!

It's late and I may have misunderstood what you're offering to code for the game. Maybe you should explain your vision on quests in greater detail. Also don't forget that there are other more urgent game-elements I offered you as options that need to be coded.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 18, 2013, 07:41:08 PM
Well, according to game setting, "failed slave revolt taking place in the country that was squashed but with very significant losses so now slaves are not allowed to train in battle magic or combat".

Main plot probably will have something to do with deciding between government and slaves underground, and looking for prewar techs to have enough power.

So if you ask me, things like raiding some slave camp or protect it, or looking for techs in prewar buildings ruins (with traps and locks = checks for agility and intelligence) and so on are welcomed. These are for high-level parties, low-level simple things like a randomly discovered cave with some monsters and gold are needed too.

We already have everything needed to cover both of these quests... no scratch that, we have everything but 'time' to create those  quests :D but we WILL get around to it eventually. There just so many other things to do right now with advanced logic, features, screens and other GUI elements and so on. Not mentioning systems that are planned for Simbro version but we haven't even started to work on yet...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 19, 2013, 03:58:30 AM
You were talking about things to do for warrior girls. The basic idea was that the player gives money to a warrior, she buys equipment, maybe hires other people if she needs help and wanders off to fulfill some quest. The player is involved as money lender and questgiver and receives a share of the profits if the quest succeeds.
The only graphical elements I propose are a GUI element allowing the player to offer a quest to a warrior and a results screen displaying the results of the quest a few days/weeks later. However, I'm not interested in these graphical elements. I am offering to code a few classes that make coding the logic for quests easier by formalizing their structure into encounters. If that is already taken care of I'm happy.

Quote
I would take a different approach and create number of meals and required skill girl needs to cook those properly
That's not the most basic way I was asking for ;-)

Quote
Also don't forget that there are other more urgent game-elements I offered you as options that need to be coded.
I did not forget, it's just that those are mostly content-heavy and I'm not good at developing content. I'd rather develop game mechanics. Apart from the content-heavy choices, as far as I remember, the others were tied to this game really closely and I'd rather develop something more modular, so it might be of use somewhere else too. The arena system probably has many GUI elements and I also never played WM long enough to find out about the arena. I'd have to familiarize myself with that first I suppose. The mission system sounded most interesting.


I'm off to look at Tifa's quest now, maybe it helps me understand the confusion here.
EDIT:
So Tifa's quest is all about RenPy being a visual novel engine, which is great. However, I was not talking about quests for the player character, as I thought was clear from the preceeding discussion. I was talking about a system to automatically resolve quests, without player interaction. I fail to see how RenPy makes that any easier.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 19, 2013, 05:55:37 AM
Xela, if I understand correctly, rudistoned talkes about advanced mission system for warriors and parties of warriors, not Tifa-like quests with participation of player. You talked about them yourself in reply #268.

You also might want to take a look at Brothel S.im mentioned in other games thread. It has some fresh ideas, including stats and mission system.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 19, 2013, 11:27:53 AM
Xela, if I understand correctly, rudistoned talkes about advanced mission system for warriors and parties of warriors, not Tifa-like quests with participation of player. You talked about them yourself in reply #268.

You also might want to take a look at Brothel S.im mentioned in other games thread. It has some fresh ideas, including stats and mission system.

Thanks :)

@Rudi

Yeah! :) We were talking about two different things and I did misunderstand you completely. Nothing has been done for the system that would send warriors off to do missions/quests. It is very useful and prolly the first priority right now since I am working on jobs and that is one of the jobs for warrior types.

Interface is on me, don't worry about that.

Options for quests are:

- Escort for a trade caravan (Issued by merchants)
- Guard duty (Issued by local highborns)
- Raid on Monster Nest (Issues by local authorities)
- Quest (Issued by you, on information obtains from NPC's, Events or other means)
- Extortion (Issued by you, on request of NPC)

Options for encounters are:

- Monsters
- Other Warriors, maybe in game characters that are not in players employment
- Magical Anomaly
- Traps set during the war
- NPC
- Other warrior party returning from a mission? :D


Many more I expect... it's a matter of time and creativity.

Class should keep track of available quests and remove them when time expires. New Quests are added randomly or after an event in game (Like meeting NPC)

It's the general idea anyway.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 19, 2013, 11:59:31 AM
I accidentally noticed that CherryWood has many great pics for schools in his folder. I write this post just in case if I'm the only one who have noticed them.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 19, 2013, 03:00:17 PM
I accidentally noticed that CherryWood has many great pics for schools in his folder. I write this post just in case if I'm the only one who have noticed them.

Yeap, I've noticed pics in yours and CW's folders. I'll see if I can get some work done on the code before I fall asleep.


BUGFIXES:

-----------
CW:
questangry, questhappy, questsad picture categories are using profile picture when missing.
Could it be please set that they will try to use questneutral category first before falling to profile?

Should now work as you want it to. It's up to you to test this.

-----------
Armegetton:
suggest switching line 184 with 185, currently you're showing the MP as agility and agility as MP.

Should be fixed as well.

----------
DarkTl:

House Percentage changes only after you remove mouse cursor from bar. Kinda inconveniently.

This is pissing me off too but I could not find an obvious fix. I'll take care of this much later when I get around to major screen redesign.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 19, 2013, 04:27:00 PM
I'm sorry, I'm here often, but because nothing I'm doing is related to jobs or other topics that were discussed, I didn't post for a while.


In last two weeks, I was interested in creating some renpy scenes or town locations, but I abandoned that until it will be more clear how main parts of game will work. So only I have is pictures for few new girls and backgrounds that I gathered, but that's nothing helpful now...


Now I'm working on texts for generic girlmeet interactions. I'm trying to sort them by status and traits, because I really like that idea. I will need to discuss that with all or you a bit, because there are some issues that needs to be decided, but I expect it will take at least a week before I can get it to a presentable state.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 19, 2013, 05:06:25 PM
I'm sorry, I'm here often, but because nothing I'm doing is related to jobs or other topics that were discussed, I didn't post for a while.


In last two weeks, I was interested in creating some renpy scenes or town locations, but I abandoned that until it will be more clear how main parts of game will work. So only I have is pictures for few new girls and backgrounds that I gathered, but that's nothing helpful now...


Now I'm working on texts for generic girlmeet interactions. I'm trying to sort them by status and traits, because I really like that idea. I will need to discuss that with all or you a bit, because there are some issues that needs to be decided, but I expect it will take at least a week before I can get it to a presentable state.

Cool, are you planning to put those in game yourself or are you making a text file?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 20, 2013, 03:37:30 AM
I'm trying to sort them by status and traits, because I really like that idea.
Btw, feel free to add traits if you think I missed any good ones.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 20, 2013, 04:58:47 AM
Cool, are you planning to put those in game yourself or are you making a text file?
I'm still within text files and excel tabs now, but I'm willing to put it all into renpy code afterwards. It look like a repetitive work, so I should be able to do that if someone help me with first example.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 20, 2013, 05:54:07 AM
Hey guys,

here's the first version of an encounter system. The basic idea is to calculate a percentage, the capability, from the attributes of the character trying to master the encounter. Then the capability is checked five times against a random number between 0 and 99. Then, failures are counted. Very hard encounters allow no failures, very easy ones allow four failures. If the number of failed checks is not greater than the allowed number of failed checks, the encounter has been mastered. For a more detailed explanation, please look at the comments in the code below.

I'm not perfectly happy with the success percentages, but it's good enough I think.

Do you like the system so far?

The goal is that you can later write (for example):
Code: [Select]
trap = TrapEncounter()
trap.difficulty = 4
trap.characters = [warrior1, warrior2]
success = trap.run_encounter()

@Xela
I will use inheritance to implement this as not using it would multiply lots of code. However, if you insist, we can take the inheritance out when copying the code into RenPy.

The following code is untested, will contain typos and will not run. I show it here so you can review the comments and the basic system.

Code: [Select]
class BaseEncounter(object):
    '''Represents a problem questing characters have to master.
   
    Difficulty
    The difficulty describes how hard it is to master this encounter. It ranges
    from 'very easy' = 1 to 'very hard' = 5.   
   
    Mastering the encounter
    In order to master the encounter, the characters must pass a number of
    encounter checks equal to the difficulty, e.g. one check for a very easy
    encounter or three checks for a normal encounter. If they succeed within
    five tries, they master the encounter. If the characters fail at
    6 - difficulty encounter checks, e.g. 2 for a hard enounter, they fail the
    encounter and collectively suffer consequences.
   
    The encounter check
    A random number between 0 and 99 is rolled. If it is lower than the
    capability of the character, the check succeeds.
   
    Probability of failure at various capabilities and difficulties
    10% capability "Rookie"
        'very easy', one successful check needed to master encounter
            probability to fail one check: 1 - 0.1 = 0.9
            probability to fail all five: 0.9 * 0.9 * 0.9 * 0.9 * 0.9 = 0.59
            Rookies succeed at very easy encounters in 41 out of 100 tries.
           
        'very hard', five successful checks needed to master encounter
            probability to succeed on one check: 0.1
            probability to master all five: 0.1 * 0.1 * 0.1 * 0.1 * 0.1 =0.00001
            Rookies succeed at very hard encounters in 1 out of 10000 tries.
           
    90% capability "Master"
        'very easy', one successful check needed to master encounter
            probability to fail one check: 1 - 0.9 = 0.1
            probability to fail all five: 0.1 * 0.1 * 0.1 * 0.1 * 0.1 = 0.00001
            Masters succeed at very easy encounters in 9999 out of 10000 tries.
           
        'very hard', five successful checks needed to master encounter
            probability to succeed on one check: 0.9
            probability to master all five: 0.9 * 0.9 * 0.9 * 0.9 * 0.9 = 0.59
            Masters succeed at very hard encounters in 59 out of 100 tries.
    '''
    def __init__(self):
        self.difficulty = 3
        self.characters = []
       
    def capability(self, char):
        '''Returns how capable the character is at mastering this encounter.
       
        A percentage is returned. 100 means the character will master this
        encounter every single time. 1 means the character will master this
        encounter in 1 out of 100 tries (on average).
        '''
        # sub classes must implement this method
        return -1
       
    def most_capable(self, charlist):
        '''Returns the character most capable of mastering an encounter check.
        '''
        cap2char = {}
        for char in charlist:
            # there could be several chars with equal capability
            try:
                cap2char[self.capability(char)].append(char)
            except KeyError:
                cap2char[self.capability(char)] = [char]
        maxcap = max(cap2char.keys())
        most_capable = random.choice(cap2char[maxcap])
        return most_capable
       
    def take_check(self, char):
        '''A character takes an encounter check, returns True if successful.
        '''
        roll = random.randint(0, 99)
        if roll<self.capability(char):
            self.mastered_check(char)
            passed = True
        else:
            self.failed_check(char)
            passed = False
        return passed
           
    def mastered_check(self, char):
        '''Applies the effects of a successful encounter check to the character.
        '''
        # should increase character tiredness here
        char.tiredness += 20
        # could also increase happiness, experience, ...
       
    def failed_check(self, char):
        '''Applies the effects of a failed encounter check to the character.
        '''
        # should increase character tiredness here
        char.tiredness += 20
        # should also apply negative effects: reduce health, happiness
       
    def run_encounter(self):
        '''This will play out the encounter.
        '''
        msg = "no characters defined for encounter '%s'"
        assert self.characters, msg % self
        # determine the maximum number of failed checks
        maxfail = 5 - self.difficulty
        # perform up to five encounter checks
        failedchecks = 0
        for i in range(0, 5):
            checkchar = self.most_capable(self.characters)
            success = self.take_check(checkchar)
            if not success:
                failedchecks += 1
        # see if the characters mastered the encounter
        if failedchecks>maxfail:
            mastered = False
            for char in self.characters:
                self.failed_encounter(char)
        else:
            mastered = True
            for char in self.characters:
                self.mastered_encounter(char)
        return mastered
       
    def mastered_encounter(self, char):
        '''Applies the effects of a mastered encounter to the character.
        '''
        char.experience += (self.difficulty * self.difficulty)
        # could also increase happiness, fame
       
    def failed_encounter(self, char):
        '''Applies the effects of a failed encounter to the character.
        '''
        pass
        # should apply negative effects: reduce health, happiness, fame
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 20, 2013, 07:19:17 AM
I'm still within text files and excel tabs now, but I'm willing to put it all into renpy code afterwards. It look like a repetitive work, so I should be able to do that if someone help me with first example.

After you're done with preparations, give me the most complicated interaction with as many hooks/conditions/requirements as possible and I'll write that code for you. You can work from there on your own and ask question if you get stuck with something.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 20, 2013, 07:26:53 AM
Hey guys,

here's the first version of an encounter system. The basic idea is to calculate a percentage, the capability, from the attributes of the character trying to master the encounter. Then the capability is checked five times against a random number between 0 and 99. Then, failures are counted. Very hard encounters allow no failures, very easy ones allow four failures. If the number of failed checks is not greater than the allowed number of failed checks, the encounter has been mastered. For a more detailed explanation, please look at the comments in the code below.

I'm not perfectly happy with the success percentages, but it's good enough I think.

Do you like the system so far?

The goal is that you can later write (for example):
Code: [Select]
trap = TrapEncounter()
trap.difficulty = 4
trap.characters = [warrior1, warrior2]
success = trap.run_encounter()

@Xela
I will use inheritance to implement this as not using it would multiply lots of code. However, if you insist, we can take the inheritance out when copying the code into RenPy.

The following code is untested, will contain typos and will not run. I show it here so you can review the comments and the basic system.

Code: [Select]
class BaseEncounter(object):
    '''Represents a problem questing characters have to master.
   
    Difficulty
    The difficulty describes how hard it is to master this encounter. It ranges
    from 'very easy' = 1 to 'very hard' = 5.   
   
    Mastering the encounter
    In order to master the encounter, the characters must pass a number of
    encounter checks equal to the difficulty, e.g. one check for a very easy
    encounter or three checks for a normal encounter. If they succeed within
    five tries, they master the encounter. If the characters fail at
    6 - difficulty encounter checks, e.g. 2 for a hard enounter, they fail the
    encounter and collectively suffer consequences.
   
    The encounter check
    A random number between 0 and 99 is rolled. If it is lower than the
    capability of the character, the check succeeds.
   
    Probability of failure at various capabilities and difficulties
    10% capability "Rookie"
        'very easy', one successful check needed to master encounter
            probability to fail one check: 1 - 0.1 = 0.9
            probability to fail all five: 0.9 * 0.9 * 0.9 * 0.9 * 0.9 = 0.59
            Rookies succeed at very easy encounters in 41 out of 100 tries.
           
        'very hard', five successful checks needed to master encounter
            probability to succeed on one check: 0.1
            probability to master all five: 0.1 * 0.1 * 0.1 * 0.1 * 0.1 =0.00001
            Rookies succeed at very hard encounters in 1 out of 10000 tries.
           
    90% capability "Master"
        'very easy', one successful check needed to master encounter
            probability to fail one check: 1 - 0.9 = 0.1
            probability to fail all five: 0.1 * 0.1 * 0.1 * 0.1 * 0.1 = 0.00001
            Masters succeed at very easy encounters in 9999 out of 10000 tries.
           
        'very hard', five successful checks needed to master encounter
            probability to succeed on one check: 0.9
            probability to master all five: 0.9 * 0.9 * 0.9 * 0.9 * 0.9 = 0.59
            Masters succeed at very hard encounters in 59 out of 100 tries.
    '''
    def __init__(self):
        self.difficulty = 3
        self.characters = []
       
    def capability(self, char):
        '''Returns how capable the character is at mastering this encounter.
       
        A percentage is returned. 100 means the character will master this
        encounter every single time. 1 means the character will master this
        encounter in 1 out of 100 tries (on average).
        '''
        # sub classes must implement this method
        return -1
       
    def most_capable(self, charlist):
        '''Returns the character most capable of mastering an encounter check.
        '''
        cap2char = {}
        for char in charlist:
            # there could be several chars with equal capability
            try:
                cap2char[self.capability(char)].append(char)
            except KeyError:
                cap2char[self.capability(char)] = [char]
        maxcap = max(cap2char.keys())
        most_capable = random.choice(cap2char[maxcap])
        return most_capable
       
    def take_check(self, char):
        '''A character takes an encounter check, returns True if successful.
        '''
        roll = random.randint(0, 99)
        if roll<self.capability(char):
            self.mastered_check(char)
            passed = True
        else:
            self.failed_check(char)
            passed = False
        return passed
           
    def mastered_check(self, char):
        '''Applies the effects of a successful encounter check to the character.
        '''
        # should increase character tiredness here
        char.tiredness += 20
        # could also increase happiness, experience, ...
       
    def failed_check(self, char):
        '''Applies the effects of a failed encounter check to the character.
        '''
        # should increase character tiredness here
        char.tiredness += 20
        # should also apply negative effects: reduce health, happiness
       
    def run_encounter(self):
        '''This will play out the encounter.
        '''
        msg = "no characters defined for encounter '%s'"
        assert self.characters, msg % self
        # determine the maximum number of failed checks
        maxfail = 5 - self.difficulty
        # perform up to five encounter checks
        failedchecks = 0
        for i in range(0, 5):
            checkchar = self.most_capable(self.characters)
            success = self.take_check(checkchar)
            if not success:
                failedchecks += 1
        # see if the characters mastered the encounter
        if failedchecks>maxfail:
            mastered = False
            for char in self.characters:
                self.failed_encounter(char)
        else:
            mastered = True
            for char in self.characters:
                self.mastered_encounter(char)
        return mastered
       
    def mastered_encounter(self, char):
        '''Applies the effects of a mastered encounter to the character.
        '''
        char.experience += (self.difficulty * self.difficulty)
        # could also increase happiness, fame
       
    def failed_encounter(self, char):
        '''Applies the effects of a failed encounter to the character.
        '''
        pass
        # should apply negative effects: reduce health, happiness, fame

Looks good, I do not have time to try it out right now, maybe later in the evening. Do not take anything out. Program as you see fit and I'll ask questions if something is not clear to me. Let's agree to work this way from now on, use any standard python/pygame libraries as you please. Avoid inheritances when possible but use it when it is an obvious advantage and writes better code.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 20, 2013, 07:28:42 AM
The goal is that you can later write (for example):
Code: [Select]
trap = TrapEncounter()
trap.difficulty = 4
trap.characters = [warrior1, warrior2]
success = trap.run_encounter()
Maybe some traits could increase or decrease probability of successful check a little (5-10%), regardless of stat value, for example Assassin or Warrioir in a fighting check, or Clumsy an a trap check.
Something like
trap.goodtraits = [assassin, warrior]
trap.badtraits = [clumsy]
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 20, 2013, 08:23:13 AM
Checking vs a random  to 99 is not correct. I assume that it is the skill being checked here. Some skills in Pytfall can go waaaay above 100.
j
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 20, 2013, 09:02:04 AM
@Xela
The random number (0 to 99) is checked against a characters capability for a certain encounter. This capability is defined as a percentage (1 to 100) and is calculated from the characters attributes (and possibly traits). It is the responsibility of the encounter to calculate the capability correctly.

@DarkTl
Factoring in traits is entirely possible and should be done in the implementation of the capability method of the respective encounter class, TrapEncounter in the given example.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 20, 2013, 10:24:43 AM
@Xela
The random number (0 to 99) is checked against a characters capability for a certain encounter. This capability is defined as a percentage (1 to 100) and is calculated from the characters attributes (and possibly traits). It is the responsibility of the encounter to calculate the capability correctly.

@DarkTl
Factoring in traits is entirely possible and should be done in the implementation of the capability method of the respective encounter class, TrapEncounter in the given example.

Kewl. It sounds both fun and complex. We'll wait for rest of the code.

I will put on a couple hours in advanced logic of whore job tonight if time allows. Right now it's the most basic variant of itself.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 20, 2013, 06:02:10 PM
Did some good work on whore job tonight! Now it has skill checks, modifies more stats, more checks for refusals, splits income by house percentage and has a much more coherent code structure that I am beginning to adapt for all jobs. Also fixed a couple of small bugs that poped up here and there.



I would post code just for the fun of it but usual error gets in the way:

================================
The following error or errors occurred while posting this message:
The message exceeds the maximum allowed length (20000 characters)
================================

Already gave it a quick test, couple of pics will be attached to the post.

More and better texts are needed but there is still to much work left on logic for me to create a pastebin. In any case, I'll see if I can get some sleep now...

 
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 21, 2013, 04:48:51 AM
A couple of questions. Do we actually have, or supposed to have, or will have years in game's calendar? And if yes, which year is now ingame?

Also I'd like to make some cleaning in dropbox folder, since it becomes a bit messy. Does anyone still need pics I've uploaded in the very start of this thread, like advertising staff and so on? I'll just reorganize them if yes, and delete if no.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 21, 2013, 05:08:39 AM
A couple of questions. Do we actually have, or supposed to have, or will have years in game's calendar? And if yes, which year is now ingame?

Not for the Sim Brothel version unless team feels like one is required. Maybe for WM version, but even there I cannot see significant advantage in it. I don't recall any good events in other games that used specific dates that cannot be just day numbers. Moon calender/Day of the week calender Rudi coded in on the other hand offers great possibilities.


Also I'd like to make some cleaning in dropbox folder, since it becomes a bit messy. Does anyone still need pics I've uploaded in the very start of this thread, like advertising staff and so on? I'll just reorganize them if yes, and delete if no.

I have them on my PC separately and I am likely to require those for interface design.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 21, 2013, 05:17:39 AM
Does world/land/state/whatever where events take place have a name? Or any geographical details at all? Is it a planet in the first place, or some dimensional pocket?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 21, 2013, 06:03:50 AM
Does world/land/state/whatever where events take place have a name? Or any geographical details at all? Is it a planet in the first place, or some dimensional pocket?

LoL

Definitely a planet :) There are mountains, forest, sea and a river nearby.

Maybe not to far from Crossgate. I want to call the city PyTFall unless better name pops up. Form of government = City State.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 21, 2013, 06:19:34 AM
OK then, I'll start to work on intro, basic plot and 3 simple endings.
Just in case, all pics I've found earlier except those in shared folder, a new link (https://dl.dropbox.com/u/79429937/Staff.7z).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 21, 2013, 06:48:11 AM
OK then, I'll start to work on intro, basic plot and 3 simple endings.
Just in case, all pics I've found earlier except those in shared folder, a new link (https://dl.dropbox.com/u/79429937/Staff.7z).

Ok, don't forget to include logical conditions for those endings as well
.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 21, 2013, 01:04:43 PM
Check my folder for intro and ending pics and texts. Checking for errors and looking for even more suitable pics would be appreciated. Anyway, this is the best I can do with semantic parts of the plot.

I'm still thinking about intermediate staff, and I guess we still need a hidden stat reflecting player deeds, because if we will have plot-related quests, just calculation of free girls and slaves won't be enough. Besides, buying a slave and enslaving a free girl are two very different things.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 21, 2013, 02:04:29 PM
Check my folder for intro and ending pics and texts. Checking for errors and looking for even more suitable pics would be appreciated. Anyway, this is the best I can do with semantic parts of the plot.

I'm still thinking about intermediate staff, and I guess we still need a hidden stat reflecting player deeds, because if we will have plot-related quests, just calculation of free girls and slaves won't be enough. Besides, buying a slave and enslaving a free girl are two very different things.

All in good time. About the plot, you're very close but not exactly on target (obviously you're not a mindreader :) ).

As for stats and new features... I am beginning to see why there is such a high 'mortality rate' of H-Sim projects, workload is monstrous. Lets take care of one thing at a time.

- Enslavement of free girls will only be available in WM version.

- We can have a hidden stat for player obviously, player class is still very weak. I'll get around to it eventually.

-There will be three kinds of 'quests':

#Story (Plot) quests (that can open unique endings and storylines) WM version only, SimBro endings based on stats and counters ONLY.

#Simple Quests (To get a girl, raid something, go on a hunt for something, win girl's favor)

#Game Quests (Tasks) (Have 2 brothels before day 20, Have a sex with city girl, Rank up three prostitutes to rank 3 in 30 days etc.)

- Basic endings should depend on simple stuff:

# Like if the player managed to buy and run best brothel in the city by endgame?
# Was able to train and employ 50 whores+strippers by endgame?
# Was able to train and  employ 50 warriors by endgame?
# Does he have 20 rank 9 whores in his brothels?
# Did he complete more than 15 quests before endgame?

- Advanced ending are the stuff you've suggested:

# Was the player able to complete "Slaver's" story path (Prolly along with some logic checks as well)
# Married a highborn daughter of city-counselor.
# Followed a storypath of one of the girls (Maybe if game gets a following someone will create a huge story line in SM style for one or more of the girls)
# Etc.

Basically an ending that requires more than just a check of stats at endgame, an ending that basically changes entire city law (I would like to allow player to continue playing after gameover if possible (Gameover doesn't blow up the city or something))
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 21, 2013, 02:19:30 PM
# Like if the player managed to buy and run best brothel in the city by endgame?
How we'll determine endgame for such simple tasks? Don't tell me player will have limited time from the start, I hate such things  :(

Also, any notes about the intro?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 21, 2013, 03:14:12 PM
How we'll determine endgame for such simple tasks? Don't tell me player will have limited time from the start, I hate such things  :(

Also, any notes about the intro?

Limited time is a part of usual SimBro design. I don't care much for that either but it is fairly difficult to code basic endings without it. Also Basic quests are close to impossible to design if there is no final day. I am open for a discussion on a different approach but if you want a gameplot based ending, two or three of those will take a VERY long time to build. A LOT longer than simple logical checks at a given day for sure.

About the intro,

I want to base the atmosphere in PyTFall on free cities from Songs Of Ice and Fire novels ( maybe you've seen Game Of Thrones (That's first part of SoI&F televised) or read the books). Unlike with Alkion, I do not want to take races, names, locations, systems from there because it limits the game, just a general ideas.

Must be changed in/worked into your Intro:

 - Slave revolts are not frequent.
 - Not 90% of cityfolk are slaves... I wrote somewhere about many social statuses. There are plenty of paid workers, farmers and so on as well.
 - Slaves were trained to be soldiers and sold in large lots.
 - Slaves took part in Arena games, best fighters could win their freedom.
 - At one point someone organized a revolt that hasn't been seen in the past few centuries. Once it was started, it took a live of it's own. Identity of that person was never discovered. Spells that prevented few people who knew his true identity to reveal it were to powerful and couldn't be broken even by the best of mages.
 - Slave revolts were eventually extinguished. Many slaves were happy with their masters, especially those with skills in battle, magic, education, service who were very well treated and had a decent life of their own.
 - In order not to allow such revolts to repeat themselves, slaves that took sides of the City Council, were given freedom and while some left, overwhelming majority remained with their former master as free servants.
 - All mages on the rebel side got their magic sealed, skilled warriors sold off in cheap lots to the worst kinds of buyers.
 - New laws, no private slavetrainer is allowed to train slaves in magic or combat under the penalty of death. Special ministry was formed to train soldier slaves to sell in large lots as the city has for centuries.
 - Now private slavetrainers train pleasure slaves, teachers and servants that are also always in high demand.
 - Free warriors now fight in Arena, just as ferociously as before.

Maybe more, we don't have to write the perfect intro right now, it can be edited later, but this is what I had in mind. But like with everything else, it's an open matter for discussion.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: fires_flair on February 21, 2013, 05:33:24 PM
just my two cents, but I don't mind if the game has an official end time. But it's always better if I can continue playing after that date, and don't have to restart (unless I want to ;) ).
oh, for the quest, if they are "do ____ before ____" are you guys going to have a way to complete the quest early? (hate that about simbro)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 21, 2013, 05:52:04 PM
just my two cents, but I don't mind if the game has an official end time. But it's always better if I can continue playing after that date, and don't have to restart (unless I want to ;) ).

That is a must as far as I am concerned. Also there is another approach: Lets say that player is given 300 days (or 400, 500, 600, whatever) to accomplish the tests for basic endings. On that day game, instead of jumping the label to main menu, game sends you to another label that checks your game progress and achievements and displays a corresponding ending event. After that it offers you to restart or to continue playing allowing to achieve more complicated endgame (like a gamelong story based quest when that is available and so on.) My main objective right now is to complete a simple SimBro version with simple endings and release a final product (Final 1.0 version of SimBrothel: PyTFall). After that development team can take that solid codebase and add amazing game elements one after another while the community builds girlpacks ans quests.

oh, for the quest, if they are "do ____ before ____" are you guys going to have a way to complete the quest early? (hate that about simbro)

Yeap, it will be like in SimBro 1x, you can complete the quest even on the same say you received it (lets say objective is to shag a city girl (time given = 12 days) and you already have built an excellent relationship with several city girls. So you just go, find one, take her on a date spending couple of APs and some cash.. one thing leads to another and you can just finish the quest on the same day you received it)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 22, 2013, 12:17:39 AM
Limited time is a part of usual SimBro design. I don't care much for that either but it is fairly difficult to code basic endings without it.
Collect a really huge amount of money, destroy all competitors, have 80% of citizens as your regular customers. Even complete any 3 or 4 of the tasks you suggested as basic endings requirements (things like if the player managed to buy and run best brothel in the city).

I wrote somewhere about many social statuses. There are plenty of paid workers, farmers and so on as well.
Yeah, I forgot about it. My bad.

- Slaves were trained to be soldiers and sold in large lots.
 - Slaves took part in Arena games, best fighters could win their freedom.
I don't know. Isn't it just plainly stupid to make a lot of soldiers from slaves? Even in ancient Rome people were smarter. One thing is to train them for arena or as personal mages/bodyguards, but as an army? You might as well have breakfast on a barrel of gunpowder every day.

Slave revolts were eventually extinguished. Many slaves were happy with their masters, especially those with skills in battle, magic, education, service who were very well treated and had a decent life of their own.
And we have girls from hundreds of different worlds because..?
That's why I use abnormal weapon (and of course because it sounds cool :) ). WM has infinite catacombs (who knows what is going on there), in slavemaker almost all of them live in the same world (I suspect it's not a planet in our understanding, but some kind of infinite plane), and otherworld doesn't need any comments.

I want to base the atmosphere in PyTFall on free cities from Songs Of Ice and Fire novels
Maybe you'll write text for intro youtself  since you already have completely ready concept? I think it will save us a lot of time, after all I'm not a mindreader, just as you told.
I'll find suitable pics for it then.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 22, 2013, 04:39:08 AM
Collect a really huge amount of money, destroy all competitors, have 80% of citizens as your regular customers. Even complete any 3 or 4 of the tasks you suggested as basic endings requirements (things like if the player managed to buy and run best brothel in the city).

LoL

You really like throwing insane percentages like 80% of citizens as regular brothel clients... or 90% of population as slaves. Lets keep these number in checks...



I don't know. Isn't it just plainly stupid to make a lot of soldiers from slaves? Even in ancient Rome people were smarter. One thing is to train them for arena or as personal mages/bodyguards, but as an army? You might as well have breakfast on a barrel of gunpowder every day.

LoL

That is how two great cities were conquered in SoIF, someone who opposed slavery bought a lot of 10k soldier slaves and used those to conquer those cities... People tend to get careless when they go without troubles for a long while.

Romans were not stupid btw.

But it's a very profitable business that they've managed to keep under control for centuries. One revolt, even a bad one, shouldn't change that. Just making authorities more cautious.

And we have girls from hundreds of different worlds because..?

That is up for grabs, I don't really care why. We can simply not offer an explanation at all or come up with some BS story. In all seriousness, character in most H-Sim that come from famous games/anime simply have loosely based personalities on their actual counterparts from the series. If players of SM/OtherWorld/WM believe that characters behaviors are well mimicked in those games if their personalities are taken from the series exactly as they're there, these players are just stupid...

Most girls used in this games would die fighting or commit suicide long before allowing themselves to be enslaved or whored out regardless of how well you manage your brothel or training business. Actually allowing themselves to be enslaved isn't even an option in many cases.

What I am trying to say is that we do not have to be exact about this issue or how it's happening, or how these girls came to be in PyTFall. Just as long as their personality traits and looks are the same, players will feel familiarity to these character and be interested in a spin writers/modders/devs take on them.


Maybe you'll write text for intro youtself  since you already have completely ready concept? I think it will save us a lot of time, after all I'm not a mindreader, just as you told.
I'll find suitable pics for it then.

I gave out more than enough information on the world, write it if you have time. If I write it myself, it will be a lot later. I skipped coding yesterday so I am planning to put a few hours in it tonight.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 22, 2013, 05:25:50 AM
Romans were not stupid btw.
They were pretty careless about their slaves, but not as careless as you suggest people of PyTFall should be. Even so, they had major revolts, but thanks to their army they suppressed slaves with quite significant losses.
Imagine if they had army of wannabe rebels, trained slaves, not free people. Even if they lost, Rome would lie in ruins. As well as PyTFall.
I know this is just a game, a fiction. But still I don't believe it. Maybe because I didn't read SoIF, but read some history books, who knows. Never mind me  :)

I gave out more than enough information on the world, write it if you have time. If I write it myself, it will be a lot later. I skipped coding yesterday so I am planning to put a few hours in it tonight.
It's not about the information, you know. You asked for atmosphere of novels I never read (and I don't like its screen version, to be honest). This is just impossible, especially for non-writer. I guess I could try to read it, but naturally it will take some time, and there is no guarantee I like it.

So if anyone feels like writing intro and already read SoIF, please go ahead and do it
 8)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 22, 2013, 06:19:16 AM
They were pretty careless about their slaves, but not as careless as you suggest people of PyTFall should be. Even so, they had major revolts, but thanks to their army they suppressed slaves with quite significant losses.
Imagine if they had army of wannabe rebels, trained slaves, not free people. Even if they lost, Rome would lie in ruins. As well as PyTFall.
I know this is just a game, a fiction. But still I don't believe it. Maybe because I didn't read SoIF, but read some history books, who knows. Never mind me  :)
It's not about the information, you know. You asked for atmosphere of novels I never read (and I don't like its screen version, to be honest). This is just impossible, especially for non-writer. I guess I could try to read it, but naturally it will take some time, and there is no guarantee I like it.

So if anyone feels like writing intro and already read SoIF, please go ahead and do it
 8)

Just for the record, the only things I want to take from SoIF is what I've stated in the thread. Anything more than that will limit the game, like with Alkion. If anyone wants to write introduction, it's even better because some good stuff may be added to the story that I would never consider :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 22, 2013, 12:25:43 PM
Right,

Well, I have the rest of the evening off so plan is to get some good work done on the code. Whore job looks much better now, in fact I think it is very close to where I want it to be for the SimBro version.

I am getting really sick with advanced logic so I think creating schools and school screen will be a nice distraction, especially since crew has gathered so many beautiful pics!

==================================================
It's not like I am complaining or anything but what happened with pics for Obedience and XXX school :D ?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 22, 2013, 01:32:23 PM
Heh, you never mentioned these schools until now, so I guess they waiting for us somewhere in the Internet  :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 22, 2013, 01:55:42 PM
Heh, you never mentioned these schools until now, so I guess they waiting for us somewhere in the Internet  :D

LoL

Oki, this is how I want to approach schools (instead just sending girls to gain stats until they are maxed out):

- There will be a number of courses (like Dance, XXX, Combat etc.) that will be updated every couple of days (new once added, old once removed. Each course will have a duration but you can pull your girl out at any time. If girl completes the full course, it will mean extra bonus to stats)

- Each course will have a teacher. Teachers for now will be faceless and nameless, as game expands we can add names and faces, maybe even make couple of those into NPCs. Teacher will have teaching skill (How good of a teacher he/she is) and knowledge (what max can a stat be raised to).

- Fees will be charged daily and depend on skills and knowledge of the teacher.

What do you think?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 22, 2013, 02:12:54 PM
Sounds interesting. Just make sure fees won't be just for show, especially with 70+ stats.

Also, how about using level restrictions? Something like max available stat in the school = character level * 10 (5, maybe 20)? Even if player is rich, this will prevent instant leveling of girls until they will have at least basic experience.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 22, 2013, 03:00:40 PM
Sounds interesting. Just make sure fees won't be just for show, especially with 70+ stats.

Also, how about using level restrictions? Something like max available stat in the school = character level * 10 (5, maybe 20)? Even if player is rich, this will prevent instant leveling of girls until they will have at least basic experience.

I'll add that later, we need to have levels first :)

Also scratch out  the obedience school. I have an idea to send girls to slavetrainers instead if you need their character lowered for some reason.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 22, 2013, 03:08:03 PM
Huh? I could swear I saw level string in the game's interface last time I checked it.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 22, 2013, 03:13:59 PM
Huh? I could swear I saw level string in the game's interface last time I checked it.

It was a somewhat more complicated Rank system for Prostitutes. There will be levels as well, it's not hard to code in.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 22, 2013, 03:53:12 PM
LoL

Oki, this is how I want to approach schools (instead just sending girls to gain stats until they are maxed out):

- There will be a number of courses (like Dance, XXX, Combat etc.) that will be updated every couple of days (new once added, old once removed. Each course will have a duration but you can pull your girl out at any time. If girl completes the full course, it will mean extra bonus to stats)

- Each course will have a teacher. Teachers for now will be faceless and nameless, as game expands we can add names and faces, maybe even make couple of those into NPCs. Teacher will have teaching skill (How good of a teacher he/she is) and knowledge (what max can a stat be raised to).

- Fees will be charged daily and depend on skills and knowledge of the teacher.

What do you think?
That sounds interesting. My only concern would be that this system is quite involved, which will demand significant micromanagement from the player.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 22, 2013, 04:05:20 PM
That sounds interesting. My only concern would be that this system is quite involved, which will demand significant micromanagement from the player.

Well, if minimum duration of a single course is 14 days for example, it shouldn't be all that bad?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 22, 2013, 04:54:51 PM
Because sending girl to school is not something you have to do, I think a little micromanagement is acceptable.
But if it is a problem, maybe there can be a course with a really bad teacher that is always available or something...


If courses will be selected from a list and not by static buttons and have their own teachers, nothing is preventing from creating courses that teach more then one stat, or something unique or ones that are part of a quest/storyline (like send 5 girls to a secret training) in future, is that right?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 22, 2013, 05:07:32 PM
Well, if minimum duration of a single course is 14 days for example, it shouldn't be all that bad?
I agree. Minimum duration of 3-4 days would be a problem IMHO, 14 days should be ok.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 22, 2013, 05:25:41 PM
Because sending girl to school is not something you have to do, I think a little micromanagement is acceptable.
But if it is a problem, maybe there can be a course with a really bad teacher that is always available or something...

There will be plenty of courses to choose from and bad teacher will mean lower price as well.

If courses will be selected from a list and not by static buttons and have their own teachers, nothing is preventing from creating courses that teach more then one stat, or something unique or ones that are part of a quest/storyline (like send 5 girls to a secret training) in future, is that right?

What would be preventing that even if we used static buttons?

All courses will train multiple stats, randomly. Chance for improvement will depend on teachers teaching skill and max possible improvement will depend on teachers knowledge.

This is the way it stands now:

Beauty = dict(action = 'Beauty Course', primestats = ['charisma'], secstats = ['refinement']),
Combat = dict(action = 'Combat Course', primestats = ['attack', 'magic', 'defence', 'agility'], secstats = ['constitution','fame']),
Dance = dict(action = 'Dance Course', primestats = ['constitution', 'strip'], secstats = ['agility', 'refinement', 'charisma', 'fame']),
Etiquette = dict(action = 'Etiquette Course' ,primestats = ['refinement', 'intelligence'], secstats = ['charisma', 'reputation']),
Service = dict(action = 'Service Course', primestats = ['service'], secstats = ['reputation']),
XXX = dict(action = 'XXX Course', primestats = ['anal', 'normalsex', 'blowjob', 'lesbian'], secstats = ['strip', 'constitution'])

Higher chance for increment of primestats and lower for secstats.

For something Unique, like a trait gain or an event during the study, code will be written just like for jobs.

I am not sure about stroryline/Quests. Quest is quest, it much simpler to make such a training a part of a quest-script (like having them disappear from the game by changing their location to something unique and having them reappear any amount of days later with something done to their traits and stats, no matter how specific that something may be).

==================================================================================
Ok, it's getting late. I ended up writing logic again, just for schools this time :)

I'll see if I can write code more for this tomorrow.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 23, 2013, 02:43:50 AM
That reminds me, how you are going to handle traits? I mean, how easily a girl can gain or lose a permanent trait? You know, we have two basic examples, wm and wm ex. I don't even know which of them is better.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 23, 2013, 06:02:46 AM
That reminds me, how you are going to handle traits? I mean, how easily a girl can gain or lose a permanent trait? You know, we have two basic examples, wm and wm ex. I don't even know which of them is better.

Any way that makes sense.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 23, 2013, 06:39:01 AM
I'm going to rework traits (we have service stat now), so I have questions about customers.

Do they have any preferences? I thought about adding Twisted trait from wm ("Her thought of pleasure is not... ordinary. Customers need to have a rather exotic taste or they won't enjoy what she has in store"), but if their preferences are rather simple, it won't make any sense.

Do they have a sex? I'm not talking about whoring here, I mean lesbian waitress enjoys serving  a pretty female customer much more than male one. And vice versa.

Besides, is it possible to modify values of health, mp and fatigue? I mean, can I use strings like <max mana = '20' />, or <min fatigue  = '-20' />, or <mod health = '20' />?
 
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 23, 2013, 08:18:23 AM
Besides, is it possible to modify values of health, mp and fatigue? I mean, can I use strings like <max mana = '20' />, or <min fatigue  = '-20' />, or <mod health = '20' />?

Yeah, sure. mod health 20 will simply heal the girl by 20 points. We don't have mana but we do have mp and max mp will modify maximum mp girl can have.


Do they have a sex? I'm not talking about whoring here, I mean lesbian waitress enjoys serving  a pretty female customer much more than male one. And vice versa.

We'll add stuff like this on somewhat simpler level later in development. Lets say a girl has lesbian trait, during service job, we'll add a check:

if "lesbian" in chr.traits:
    dummycostumer = self.create_costumer()
    if dummycostumer.sex == female and dummycostumer.chasirma > 50:
        txt += "%s enjoyed serving drinks to a particularly cute girl,  they had a nice chat! \n"%chr.name
        chr.joy += random.randint(1,3)
        chr.refinement += random.choice([0,0,0,1])

Also as you can imagine girl in the bar or a club is not serving one client but a large number of clients. It would be tedious to generate every single one of those clients for checks so I want to handle traits in this way.

Do they have any preferences? I thought about adding Twisted trait from wm ("Her thought of pleasure is not... ordinary. Customers need to have a rather exotic taste or they won't enjoy what she has in store"), but if their preferences are rather simple, it won't make any sense.

Right now it is not used that much. Basically, it's a process, I am doing basecode for advanced logic right now, we'll add more and more trait checks and events as time allows. Costumer itself is a separate class so there is no limitations on how complex it can get.
   
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 23, 2013, 11:18:14 AM
I see. What if we set min mp to 10, does girl will be able to cast spells with cost <= 10 infinitely?
And with min health set to 10 will she become immortal?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 23, 2013, 12:49:23 PM
I see. What if we set min mp to 10, does girl will be able to cast spells with cost <= 10 infinitely?
And with min health set to 10 will she become immortal?

It depends, battle engine has it's own system, the moment battle engages data is relayed there and all normal parameters of sGirl class are no longer valid. Basically that means that min health is not applicable in battle scenarios. Same thing for MP. In PyTFall  itself, no code exists to cast spells at the moment so it will depend on how we code it. I really like the idea of a truly powerful spellcaster to be able to cast simple spells indefinitely even if low on mp so if I ever code spells into girl's class mp just might work that way.

Girls do not die if health reaches 0, they simply cannot work or train right now. I'll add interactions block soon as well.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 23, 2013, 03:46:00 PM
Damn.. what the hell happened to OverHao again? He keeps disappearing and we need a graphics designer...

I'll try to finish schools this weekend, but it wouldn't hurt to have a couple of decent screens already...

Can anyone make or just find on the net a couple of good looking frames that would fit PyTFall's wood+metal style? Size doesn't matter, RenPy will take care of that...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 23, 2013, 07:51:17 PM
Almost 3a.m. but coding this was a lot of fun! Feels great taking a break from mindnumbingly cold and boring advanced logic  and code something new :)

In any case, this is what I managed with our graphical designer M.I.A:


(http://img103.imagevenue.com/loc760/th_667102149_1_123_760lo.jpg) (http://img103.imagevenue.com/img.php?image=667102149_1_123_760lo.jpg)

Pics for courses are randomly chosen from a variety of images that Dark and CW hunted down on the net. Those pics are also buttons that send your girl to do the course. There is still some logic and testing left but I'll try to wrap it up tomorrow.
     
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 24, 2013, 01:21:35 AM
Looks good. One thing, in the bottom row you cannot clearly see days left string.
I'll see what I can do about frames.

Another question, how Fatigue works? If I increase its max, does girl actually become hardier?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 24, 2013, 01:33:47 AM
Another question, how Fatigue works? If I increase its max, does girl actually become hardier?

They are just to tired to work or train. What do you mean by hardier? Fatigue is how tired they get so you cannot overwork them.

Looks good. One thing, in the bottom row you cannot clearly see days left string.
I'll see what I can do about frames.?

Both of those are viewports and there are 20 courses there I've generated for testing. You just have to scroll up or down.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 24, 2013, 01:38:21 AM
For now max Fatigue is 300. If some trait will set it to 400, girl will be able to work until its current value becomes 400, not 300 as it was before?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 24, 2013, 01:46:22 AM
For now max Fatigue is 300. If some trait will set it to 400, girl will be able to work until its current value becomes 400, not 300 as it was before?

Not really, but it IS supposed to work that way. I'll make sure it works like that in the future.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 24, 2013, 07:29:20 AM
Alright, I've updated traits and refreshed most of their effects on jobs in corresponding file.
I've also found some wooden pics. Since "frame" is rather indistinct word, you probably should explain me what do you need them for if you don't like those.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 24, 2013, 09:18:25 AM
Alright, I've updated traits and refreshed most of their effects on jobs in corresponding file.
I've also found some wooden pics. Since "frame" is rather indistinct word, you probably should explain me what do you need them for if you don't like those.

Thanks you! Frames are also very good. If you run across more, keep collecting but I definitely now have more options. I am busy right now but I'll try to write some code later in the evening.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 24, 2013, 03:24:53 PM
Alright, I've updated traits and refreshed most of their effects on jobs in corresponding file.
I've also found some wooden pics. Since "frame" is rather indistinct word, you probably should explain me what do you need them for if you don't like those.

Since you found us a very good amount of decent frames: I cooked up a simple message screen, we can now put out warnings. All interaction with all other screen elements is disabled until Ok button is clicked. This screen is reusable and will come very handy in many places!:


(http://img225.imagevenue.com/loc1155/th_173774412_2_123_1155lo.jpg) (http://img225.imagevenue.com/img.php?image=173774412_2_123_1155lo.jpg)
     

===============================================
Oki, done coding for tonight...

@Dev Team

DropBox version has been updated to 0.26. Prolly new bugs and imbalances but game has matured (just take my work on it) :) It was a nice distraction to work on schools for a while but advanced logic for jobs is not going to write and balance itself, so that's what I am planning to work on next week (and prolly week afterwards since time next week is gonna be limited).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: E. on February 24, 2013, 03:31:50 PM
Looks like things are going smoothly. I'd love to fool around with this, since WM is getting repetitive. Early Alpha/Beta when?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 24, 2013, 04:16:21 PM
Looks like things are going smoothly. I'd love to fool around with this, since WM is getting repetitive. Early Alpha/Beta when?

Early Alpha = One month or one and a half month if CW manages to take care of girlsmeets.

Beta = Three, maybe four month.

It's difficult to say, now that CW and Dark are helping in full throttle, it may get done sooner.

If you want to fool around: https://dl.dropbox.com/u/43556362/SimBro%20PytFall-0.26-win.rar
(still being uploaded as I write this)

Keep in mind that this is still a 200mb+ download and you cannot really play this yet due to unbalanced jobs, stats, unfinished screens, bugs and some things that are still left half-implemented. So it's just for what you've said: Fooling around :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 24, 2013, 07:09:10 PM
Quote from: PyTom
This is a bug in Ren'Py, since a change in bar value should cause an interaction restart.

I just committed a fix, which will be in the next 6.15 pre-release.


Great news, I wasn't doing anything wrong, bar will be fixed in the upcoming update of RenPy! This was literally the only thing in PyTFall I couldn't crack so far (I actually wanted to code an entire bar from scratch because of this :D)


Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 25, 2013, 03:30:25 AM
I'm bored, so I thought about writing texts for Rest depending on traits. You know, Nerd reading a book, Nymphomaniac having some fun with herself and so on. Any objections or notes?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 03:52:57 AM
I'm bored, so I thought about writing texts for Rest depending on traits. You know, Nerd reading a book, Nymphomaniac having some fun with herself and so on. Any objections or notes?

Nope, definitely no objections. As for notes, I don't have any unless you're planning to code those into the game yourself.

Actually, maybe a note: remember that you can use any element of the game since we are not doing this through xml. Meaning any condition, like girl's rank, status, if brothel has a garden, if there is another girl in the same brothel or your employment and so on.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 04:23:55 AM
By the way, if anyone has some free time, we need to rework girlpack images and girl's xml files a bit. This is not a difficult task, especially for those who like hunting for pictures.

@CW: If you're still doing girlmeets, keep doing that, it's more important right now.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 25, 2013, 04:59:08 AM
I guess I have free time, I have nothing to do at work right now anyway  :)
What do you mean by rework?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 25, 2013, 06:00:04 AM
I think there is a bit misunderstanding about girlmeets. I'm not "doing" them. I'm not adding anything anywhere.
I like the simple simbro1x system with one introduction line and responses to player action (actually even simpler then simbro, because we agreed to not voice the player at all). My only concern was to get larger selection of those lines, to better match personalities and traits. But even after a week, I don't know what best approach would be... (and it's still only text, I don't even touch dates and gifts)


I'd like to help (but I think I'm more of use on girlpacks), but if you really want something from me to be done on girlmeets, I'm sorry, but you must explain me exactly what there's need to be done.  :(
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 06:35:00 AM
I guess I have free time, I have nothing to do at work right now anyway  :)
What do you mean by rework?

You're already doing trait texts for rest jobs. That is also important for the project. + messing with pics while at work might not be the best idea...

Adding Ino, Temari, Tsunade, Anko etc. from Naruto would not hurt...

What is needed for data.xml files:

Adding relevant traits and traitblocks for girl that we have.
Adding origin = "Naruto" (Or whatever Game/Anime girl comes from)
Editing occupation for girl in the city to something relevant to the game (like ServiceGirl, Prostitute, Warrior, Stripper and so on at least for now)
Making sure all slaves are in the market, there seems to be one running around in the city somewhere right now.

What is needed for pics:

We need specific picture descriptions (like not just blowjob category, also bj_deep, bj_titjob, bj_lickjob and so on), same for sex (sex_69, sex_doggy, sex_got (girl on top, rest for example, rest_onsen, rest_garden and so on). I don't want to use these as separate jobs but as parts of jobs we have to match with texts. Also this is for the future, I want to add "skills" in WM version that rate from 1 - 20. Skills will be more specific (deepthroat, lickjob, 69 and so on). max of 5 could be learned in schools, max of 5 while doing jobs or selftraining and 10 through personal training or hiring slavetrainer/master. Basically Valet Pletej/SM style. These skills will add to girl's price (significant amount) if she's slave and to her earnings while performing jobs. Same thing will be done to service skills, dancing, singing and so on.

We need new categories as well:

For schools:
dance
maid
etiquette
etc.

For Jobs:
club (waitress)
bar???


For events:
mast (mastrubation)

Another thing: This is something I've always wanted to do: Picture specific events. There are awesome pics available on the net, we need to choose only the best quality pics for this but for example:

Pics like these are f%cking begging to be next day resting events if all girls involved are in the same brothel and two of them are resting at the same time (inviting the other girl/girls to go play somewhere):


 (http://img219.imagevenue.com/loc667/th_789261202_5e7df5e8863b345e606de2981bb0e0ac_123_667lo.jpeg) (http://img219.imagevenue.com/img.php?image=789261202_5e7df5e8863b345e606de2981bb0e0ac_123_667lo.jpeg) (http://img160.imagevenue.com/loc544/th_178926361_sample_5c4429820175de1a7f4bcf3f7e389958_123_544lo.jpeg) (http://img160.imagevenue.com/img.php?image=178926361_sample_5c4429820175de1a7f4bcf3f7e389958_123_544lo.jpeg) (http://img230.imagevenue.com/loc443/th_789267816_sample_b853bf8f5b999a95033bbdb1a4ce2de7_123_443lo.jpeg) (http://img230.imagevenue.com/img.php?image=789267816_sample_b853bf8f5b999a95033bbdb1a4ce2de7_123_443lo.jpeg)


Not just for rest, but high quality pics for other jobs as well, accompanied by texts as job/rest events that activate only on certain conditions. If while searching for pics, something like this pops up and just seems perfect, collect these pics and I'll code events for them during jobs performance based on ANY conditions (Like traits, statuses, locations, jobs, multiple girls and so on).

     
PS: Keep in mind that the more categories like bj_deep or rest_garden, the better, I'll make sure they fall down if not available like domino's to simpler forms. But if they are available, we should use them... we're trying to make a next gen SimBrothel/WM after all :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 06:45:28 AM
I think there is a bit misunderstanding about girlmeets. I'm not "doing" them. I'm not adding anything anywhere.
I like the simple simbro1x system with one introduction line and responses to player action (actually even simpler then simbro, because we agreed to not voice the player at all). My only concern was to get larger selection of those lines, to better match personalities and traits. But even after a week, I don't know what best approach would be... (and it's still only text, I don't even touch dates and gifts)


I'd like to help (but I think I'm more of use on girlpacks), but if you really want something from me to be done on girlmeets, I'm sorry, but you must explain me exactly what there's need to be done.  :(

Just work like I do... start with simple texts and disposition mods. I'll add a bar representing disposition like in SimBro to the top of the screen during girlmeets later. It is impossible to do the entire thing right on the first try... Take 'whore' job design as an example, I've started with adding a sex pic, one line of text and mod of relevant sex stat three month ago. Today we have checks for refusals, multiple text choices, modding of many relevant stats, strip job performance effecting how client behaves on whore job (if there was a strip job and client attended it), complex wage system, house percentage income split and so on... Rome wasn't built in a day :) Just start with basics, learn new stuff, expand on it...


Edit:

If you decide to take care of packs, post girls you're working on here so noone does the same job twice.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 25, 2013, 07:41:35 AM
Ok, I'll write what I have about girlmeets and what I was thinking about so we could decide what is useful and what is not and I start adding those in game (I upload file about that when I get home).


Also I look what I have for 3 naruto girls in my folder, because I still have resource images for them somewhere.
I also have 9 sailor senshi girls and two another in half-done state (I have pics but they still need about six days of sorting and editing).


However I must say I'm not sure about your plans with pictures. While it sounds nice, from my experience there are only a handful of girls with that variety of hentai pics. Actually even the service job is a hard one for less then top popular girls... and do we really need a masturbation? What is that good for in gameplay?


But hey, picture based events are the best. I'm already collecting these for my girls... but I always though about them as a part of unique girlpacks, you know, the modder part of things and not something to mention in development  :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 25, 2013, 07:45:42 AM
I don't have any unless you're planning to code those into the game yourself.
Sadly, the language I use (Delphi) has very different syntax. I can read you code mostly, but to write it myself is a bad idea, unless you feel like cleaning others' mistakes for hours.

You're already doing trait texts for rest jobs. That is also important for the project. + messing with pics while at work might not be the best idea...
Alright, then I will finish texts first. Don't worry about pics, people must standing behind me to see what I'm doing, and the only door in my sight. Almost all packs I've ever made are done at work  :D

Adding Ino, Temari, Tsunade, Anko etc. from Naruto would not hurt...
I would prefer to add Xenosaga and Persona girls first, but if Cherry or someone else doesn't have enough time for looking for more Naruto pics, sure, why not.

Adding relevant traits and traitblocks for girl that we have.
"Traitblocks"? Do you mean blocks of traits, or blocked traits, or something else?  :)
Besides, since it's up to you to add all traits into code, maybe you need to view traits file and delete those you don't like/want?

Not just for rest, but high quality pics for other jobs as well, accompanied by texts as job/rest events that activate only on certain conditions. If while searching for pics, something like this pops up and just seems perfect, collect these pics and I'll code events for them during jobs performance based on ANY conditions (Like traits, statuses, locations, jobs, multiple girls and so on).

     
PS: Keep in mind that the more categories like bj_deep or rest_garden, the better, I'll make sure they fall down if not available like domino's to simpler forms. But if they are available, we should use them... we're trying to make a next gen SimBrothel/WM after all
Well, if you say so. Personally, I think all this is way too much for the one single coder, but if you want it, you will get it  8)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 08:29:30 AM
However I must say I'm not sure about your plans with pictures. While it sounds nice, from my experience there are only a handful of girls with that variety of hentai pics. Actually even the service job is a hard one for less then top popular girls... and do we really need a masturbation? What is that good for in gameplay?

Will fall back to profile otherwise. I made girlpacks myself for WM, there are plenty of pictures for many girls for a lot of categories, I just want to make sure pics fit texts as much as possible. Also game will include girls from high profile shows or with large amount of written content, those that come from high profile shows come with massive amount and variety of pictures.

Mast will be useful, all categories will be useful.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 08:45:26 AM
Sadly, the language I use (Delphi) has very different syntax. I can read you code mostly, but to write it myself is a bad idea, unless you feel like cleaning others' mistakes for hours.

I'll do it myself, I code this stuff really fast if base is ready.

I would prefer to add Xenosaga and Persona girls first, but if Cherry or someone else doesn't have enough time for looking for more Naruto pics, sure, why not.

You guys figure it out...


"Traitblocks"? Do you mean blocks of traits, or blocked traits, or something else?  :)
Besides, since it's up to you to add all traits into code, maybe you need to view traits file and delete those you don't like/want?

What do you mean "add to the code"? I'll add job checks, event checks relevant to traits, that is my task. Code that APPLIES traits effects to a girl, removes temp traits after the time expires and so on has been ready for a long time (like a month or something).

So what I mean, is that traits girls start with need to be added to girl's data.xml file. Also you can block certain traits PERMANENTLY for a girl in the same file. How it's done is somewhere in history of this thread.

I do not want to remove any of the traits you've created...

Well, if you say so. Personally, I think all this is way too much for the one single coder, but if you want it, you will get it  8)

I can handle it :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 25, 2013, 08:57:11 AM
What do you mean "add to the code"? I'll add job checks, event checks relevant to traits, that is my task.
That's what I mean. Several checks and events for every single trait and who knows what else in the future. So right now you can make your life easier by removing traits you don't like  :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 09:15:27 AM
That's what I mean. Several checks and events for every single trait and who knows what else in the future. So right now you can make your life easier by removing traits you don't like  :)

Ok, I just took a look at them and I don't want to remove a single one... actually if I wasn't busy I would have started adding those to the jobs :D

Also, not all traits MUST have active effects, some can just mod stats and describe girl's personality or be used in events and dialogues. We'll only make the most straight to the point checks for the Alpha version and keep building on that! Dawdler for example, will have 50% chance to waste extra AP while doing service jobs :P

In any case, there is not one trait in the list that I would consider being out of place. Maybe we'll have to re-balance some traits in the future but they all remain. Job well done!
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 25, 2013, 10:06:34 AM
 ok, for packs, I rename and upload what I already have for sakura/tenten/hinata, but I will not do anything else for them or add other naruto girls for now. I never actually seen more then 5 episodes of naruto, so I'm not really confident about it and also someone else will have to do the girl files.
I'm not familiar with persona either, so I gladly leave all of them to DarkTl.


But I offer to help with quest .pngs for any girl, because that involves more photoshoping then usual.


I'll help with Haruhi (maybe Tifa) if she'll be still untouched about time I get somewhere with girlmeets. But that can take a while so I'm not picking anyone now.
...geez, I would like to add girls, but It usually takes me about 3 full days of work to get pictures for one, and there's also so much other interesting things to do with so little time...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 10:19:36 AM
ok, for packs, I rename and upload what I already have for sakura/tenten/hinata, but I will not do anything else for them or add other naruto girls for now. I never actually seen more then 5 episodes of naruto, so I'm not really confident about it and also someone else will have to do the girl files.
I'm not familiar with persona either, so I gladly leave all of them to DarkTl.


But I offer to help with quest .pngs for any girl, because that involves more photoshoping then usual.


I'll help with Haruhi (maybe Tifa) if she'll be still untouched about time I get somewhere with girlmeets. But that can take a while so I'm not picking anyone now.
...geez, I would like to add girls, but It usually takes me about 3 full days of work to get pictures for one, and there's also so much other interesting things to do with so little time...

You need a system... I made girlpacks much faster than that :)

PS: You have one Hinata pic under profile happy, where she looks really happy... but has been recently stabbed in the head with a sharp object... get rid of that :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: GonDra on February 25, 2013, 11:02:24 AM
I'll help with Haruhi (maybe Tifa) if she'll be still untouched about time I get somewhere with girlmeets. But that can take a while so I'm not picking anyone now.
...geez, I would like to add girls, but It usually takes me about 3 full days of work to get pictures for one, and there's also so much other interesting things to do with so little time...
If you want i can upload the rest of my pics for the haruhi girls - haven't really worked on those, you could probably find some more new pics on gelbooru.
I just threw that pack for haruhi up to see if I could make something for the prototype and simply scavenged a half done wm pic pack I had lying around for it.
We will probably need to adjust her character significantly to fit the game though (for events and stuff).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 12:03:37 PM
If you want i can upload the rest of my pics for the haruhi girls - haven't really worked on those, you could probably find some more new pics on gelbooru.
I just threw that pack for haruhi up to see if I could make something for the prototype and simply scavenged a half done wm pic pack I had lying around for it.
We will probably need to adjust her character significantly to fit the game though (for events and stuff).

What we need are:

Naruto
Bleach
One Piece
Oh My Goddess
Fairly Tail
Code Geass
DBZ
Eva
FF
FMA

I have not watched all these series but they all should have great variety of pics and were downloaded the most in AGL (Based on over 100 000 downloads). I may have forgot a few but these must be unconditionally present on release... If anyone wants to add others, no problem as long as you can cover the pics base, but this list should be covered!
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 25, 2013, 01:58:53 PM
Who would have thought it's so hard to think up more than one good event per trait, especially for undistinguished traits (like Silly, but still not Retarded). It takes about 4 hours to write it for 10 traits. I'll try to cover at least 15 traits per day, that means I need about 5 days to complete it. Hopefully it will become easier in the future, when I'll get used to it.

What we need are:
Well, I'm familiar with Naruto, Bleach and One Piece. If by Eva you mean Evangelion, and by FF and FMA you mean Final Fantasy and Fullmetal Alchemist, then I'm familiar with them too.
However, even with Future and Lurker packs on the hands, it means a lot of work (=a lot of time) for just me and CherryWood. I'm not complaining, just warning you.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 25, 2013, 02:30:52 PM
Boring!  :o :D
But if we aim for popularity then ok...
Because most of these are action stuff, I'm sure Haruhi is good, because she is popular and represent different kind of anime.
Also everything on that list is kinda old... I really suggest to add something that is popular and new (but old enough to have pictures), for example I wouldn't go without:
Puella Magi Madoka Magica
And this should be a popularity list and Miku and touhou is not here? What happened?  ??? :D

You need a system... I made girlpacks much faster than that :)
You are probably not a perfectionist picture-freak like me  :) 
Quote
PS: You have one Hinata pic under profile happy, where she looks really happy... but has been recently stabbed in the head with a sharp object... get rid of that :D
Ok, I removed that blood... but I though it was cute  :)




I put a textfile about girlmeet dialogues in my folder. But I'm still kinda clueless...

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 02:31:28 PM
Who would have thought it's so hard to think up more than one good event per trait, especially for undistinguished traits (like Silly, but still not Retarded). It takes about 4 hours to write it for 10 traits. I'll try to cover at least 15 traits per day, that means I need about 5 days to complete it. Hopefully it will become easier in the future, when I'll get used to it.

We need more than one?


Well, I'm familiar with Naruto, Bleach and One Piece. If by Eva you mean Evangelion, and by FF and FMA you mean Final Fantasy and Fullmetal Alchemist, then I'm familiar with them too.
However, even with Future and Lurker packs on the hands, it means a lot of work (=a lot of time) for just me and CherryWood. I'm not complaining, just warning you.

Plenty of time. We're not in any hurry, I am only managing to make significant code advancements on weekends, at least during the week we can discuss some aspects of the game.

Also making so many packs right now would be premature, there will be changes and more girls means extra work. I just need a full naruto pack for testing purposes.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 25, 2013, 02:39:41 PM
We need more than one?
Sure thing, at least two. With random selection, naturally. Some with general purposes, others for high reputaion or within a garden, if you have one. You can't expect from a healthy Nerd reading a book every damn time, can you?  :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 02:41:05 PM
Puella Magi Madoka Magica

...... .. .. . .. . . . . .. . .... .. .... .. ....

Ok, I removed that blood... but I though it was cute  :)

Unless you want me to throw in a text like: She took a break to get hit on the head and spit blood. She is really happy now! we can safely award her with a retarded trait after that  ::)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: GonDra on February 25, 2013, 02:41:54 PM
Ok looked over the game a bit:
Is it really necessary to have the "She received %d Gold as payment and has split it with you (you get %d %%)." in every if clause of the whore job?
Besides that I went through a lot of the whoring and fixed some typos and tried making some of the sentences flow better. I still have to go through acts other than straight sex before I am done (I would like to have different sentences for the different acts), but I am pretty tired already so I will have to do that later.

I also changed the text of the training menu a bit.

Also made some changes to the UI in the girl profile screen again since I had some small formatting issues.
The alternating text colors in the stats part are supposed to make the data easier to read - not sure if I like how it turned out though.
I personally like the centered name and new placement of location, class and action though.
(on the matter of this screen: wouldn't it make sense to hide info that hasn't anything to do with her class? (There still should be a button there to show the info))

I think I found a bug too: A slave (TenTen) I used as service worker always has two entries in the next day screen. I haven't tried reproducing this yet with another girl but have dropped the savegame into my folder anyway if you want to have a look.


What we need are:
I am sadly not familiar enough with any of these to be of any help, sorry.
Distantly related to this I would like to ask how many girls we have that are service workers.
Also another thing I noticed is that some of the girls you can meet in the city right now are slaves - something that we should change I think.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 02:50:08 PM
Sure thing, at least two. With random selection, naturally. Some with general purposes, others for high reputaion or within a garden, if you have one. You can't expect from a healthy Nerd reading a book every damn time, can you?  :D

The more the merrier I guess. Also we'll throw dice, there is no point in having a trait related message every day...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 03:03:15 PM
Ok looked over the game a bit:
Is it really necessary to have the "She received %d Gold as payment and has split it with you (you get %d %%)." in every if clause of the whore job?

Not at all, some of that is left from testing purposes.

Besides that I went through a lot of the whoring and fixed some typos and tried making some of the sentences flow better. I still have to go through acts other than straight sex before I am done (I would like to have different sentences for the different acts), but I am pretty tired already so I will have to do that later.

Prolly to early for this, this might change many times.


I also changed the text of the training menu a bit.

Also made some changes to the UI in the girl profile screen again since I had some small formatting issues.
The alternating text colors in the stats part are supposed to make the data easier to read - not sure if I like how it turned out though.
I personally like the centered name and new placement of location, class and action though.
(on the matter of this screen: wouldn't it make sense to hide info that hasn't anything to do with her class? (There still should be a button there to show the info))

Looks good, screen will be reworked many times over I expect. We'll add that stuff later.

I think I found a bug too: A slave (TenTen) I used as service worker always has two entries in the next day screen. I haven't tried reproducing this yet with another girl but have dropped the savegame into my folder anyway if you want to have a look.

I'll run a test of service job but you can get 5 - 6 entries from one girl, it's a complex job...

I am sadly not familiar enough with any of these to be of any help, sorry.
Distantly related to this I would like to ask how many girls we have that are service workers.
Also another thing I noticed is that some of the girls you can meet in the city right now are slaves - something that we should change I think.

I've asked the crew to rework the files.  Game will check stuff like this on the start in the future, I haven't gotten around to that part of the code yet.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 03:16:48 PM
I put a textfile about girlmeet dialogues in my folder. But I'm still kinda clueless...

I've read your file but I am not entirely sure about personality types, simply because girls do not have personality types in the game right now and that is to much work.

I suggest just simpler approach. One, maybe two generic responses with a random chance for a response based on traits. You are starting to broad, simple generic responses first, rest later...

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 25, 2013, 03:32:25 PM
I've read your file but I am not entirely sure about personality types, simply because girls do not have personality types in the game right now and that is to much work.

I suggest just simpler approach. One, maybe two generic responses with a random chance for a response based on traits. You are starting to broad, simple generic responses first, rest later...
There can be just trait's i didn't mean something with that. We already have a Shy trait and Kind trait and Meek trait... I just add a few and we can later simply write into modders guide "this is a trait that have girlmeet lines" or something.


Your suggestion is good, but I have done it in reversal... I already have lines and I want to put them somewhere. Because I'm not a native english speaker, It would take me to much time to do it in "normal" way.


----------------
This is for all who will work on pictures. Can we please create a file with names all picture categories whoever will use? We already have a lot of them and with all of these new suggested, It started to be a bit confusing for me...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 03:42:10 PM
I think I found a bug too: A slave (TenTen) I used as service worker always has two entries in the next day screen. I haven't tried reproducing this yet with another girl but have dropped the savegame into my folder anyway if you want to have a look.

You're right, Service job is f^cked up. I'll take a look at it before I fall asleep tonight. I've also added a translation function for location so it reports actual name of the brothel instead of an id and if girl is not in any room, it will report Outside for now.

=========================
Edit:

LoL

Thanks for noticing the bug, I just spent 10 minutes staring at the method like an idiot. Then it actually occurred to me: script that decides which service job to run should break out of service method if no costumers remain, instead of just removing the girl from working list :D

Service job can be run many times for the same girl, one girl can bar-tend, clean and serve tables all in one day. At least now it works as intended.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 03:46:25 PM
There can be just trait's i didn't mean something with that. We already have a Shy trait and Kind trait and Meek trait... I just add a few and we can later simply write into modders guide "this is a trait that have girlmeet lines" or something.


Your suggestion is good, but I have done it in reversal... I already have lines and I want to put them somewhere. Because I'm not a native english speaker, It would take me to much time to do it in "normal" way.


----------------
This is for all who will work on pictures. Can we please create a file with names all picture categories whoever will use? We already have a lot of them and with all of these new suggested, It started to be a bit confusing for me...

I don't want modders messing with girlsmeets unless it is for specific girls. If someone outside of dev team offers better options, I'll be happy to throw those in, otherwise modders should mod girls, not main game elements.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 25, 2013, 04:02:13 PM
I don't want modders messing with girlsmeets unless it is for specific girls. If someone outside of dev team offers better options, I'll be happy to throw those in, otherwise modders should mod girls, not main game elements.
maybe stripped down version of girlmeet screen that can be copied to girl script to simulate that?
...but lets leave that for later.


I can already add a lot of responses based only on one trait and leave thinking about how to handle combinations of traits for later (or do it your way later). When you will have time, throw a simple example of one at me and I start filling.
Thank you for your time
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 25, 2013, 05:48:15 PM
maybe stripped down version of girlmeet screen that can be copied to girl script to simulate that?
...but lets leave that for later.


I can already add a lot of responses based only on one trait and leave thinking about how to handle combinations of traits for later (or do it your way later). When you will have time, throw a simple example of one at me and I start filling.
Thank you for your time


LoL

Here is an example of running into a girl with retarded trait:


(http://img242.imagevenue.com/loc192/th_832522708_3_122_192lo.jpg) (http://img242.imagevenue.com/img.php?image=832522708_3_122_192lo.jpg) (http://img28.imagevenue.com/loc432/th_832531541_4_122_432lo.jpg) (http://img28.imagevenue.com/img.php?image=832531541_4_122_432lo.jpg)

I don't know how I would do it. I would prolly start with something small and built on it like I always do. I cannot really do one girlmeet for you because I would make most basic forms of  allgirlsmeets first, then as ideas would pop into my head, expand, expand and expand... it's a process with me, I am not a professional programmer so I almost never get these things right on the first try.
     
Anyway, there is a file pyt - screens - girlsmeets - labels.rpy in game's library folder in dropbox. All girlsmeets go there. If you have any questions, throw them at me tomorrow. I need some sleep.

PS: I know I've misspelled concern but it has been a hectic day, it's one a.m. and I am not English native speaker either :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 26, 2013, 12:47:55 AM
She took a break to get hit on the head and spit blood. She is really happy now! we can safely award her with a retarded trait after that
Haha, excellent text for acquisition of Retarded trait, and we already have such great picture for her.
You talked about events that activate only on certain conditions yourself, so now go ahead and code it  :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 26, 2013, 01:30:23 AM
Haha, excellent text for acquisition of Retarded trait, and we already have such great picture for her.
You talked about events that activate only on certain conditions yourself, so now go ahead and code it  :D
 

I would if we had such a pic for all girls. I will be busy for the day, but I will try to code something tonight. Plan is to improve brothels screen and logic.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 26, 2013, 04:09:39 AM
Hey guys,

there was some talk about organizing the pictures into categories. Xela mentioned that it's a goal of this project to match pictures to picture description well (or even as close as possible?). This is also a goal of my own project, Pytherworld, so I worked on that already. Tools I developed to organize pictures and describe them in a way software can understand:

imgtag
A little application with a graphical user interface that can add user-defined tags, e.g. names for categories, to image files. Tags are stored inside image files as XMP metadata, so they will stay there even if the file is renamed or moved somewhere else in the filesystem. I was planning to add an option to export the tags in the image files to XML later.
Images can also be tagged based on the names of the folders they are in or, in mass tagging mode, based on their location in the file system.
System requirements: Windows (tested on Windows 7 64bit)
If no windows is available, it can be run from source, but you will have to install quite a few dependencies (not recommended). imgtag should run on Linux too, but I never looked into packaging it for Linux. No idea if all its dependencies run on MacOS.


ImageDatabase
Pytherworld uses a group of classes to represent the available picture repertoire. Currently, you can find all images in the database that...
...have every tag in a provided group of tags, e.g. all images with "charname - Mio", "sex - fuck" and "location - garden"
...have none of the tags in a provided group of tags
You can also rank a group of images according to how many tags of a given group of tags each image contains.
Combining these search options, powerful and detailed picture selection is possible.

The image database is a somewhat involved system, meaning it's a big chunk of code to understand, but it has been around for several months, has become quite stable, should be relatively easy to port and can be customized by subclassing it.

tagini
Tags can be defined by users via a INI configuration file. They are organized in categories so it becomes easy to ask questions like "Are there any sex-related tags on this picture". This little class reads the ini file and provides this information to the application, along with a few convenience methods for tag handling.


I tink especially imgtag could be a useful tool for this project as it is completely independent of PyTFall, can be customized by editing a text file and should be relatively easy to use because of the graphical user interface.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 26, 2013, 04:58:44 AM
Hey guys,

there was some talk about organizing the pictures into categories. Xela mentioned that it's a goal of this project to match pictures to picture description well (or even as close as possible?). This is also a goal of my own project, Pytherworld, so I worked on that already. Tools I developed to organize pictures and describe them in a way software can understand:

imgtag
A little application with a graphical user interface that can add user-defined tags, e.g. names for categories, to image files. Tags are stored inside image files as XMP metadata, so they will stay there even if the file is renamed or moved somewhere else in the filesystem. I was planning to add an option to export the tags in the image files to XML later.
Images can also be tagged based on the names of the folders they are in or, in mass tagging mode, based on their location in the file system.
System requirements: Windows (tested on Windows 7 64bit)
If no windows is available, it can be run from source, but you will have to install quite a few dependencies (not recommended). imgtag should run on Linux too, but I never looked into packaging it for Linux. No idea if all it's dependencies run on MacOS.


ImageDatabase
Pytherworld uses a group of classes to represent the available picture repertoire. Currently, you can find all images in the database that...
...have every tag in a provided group of tags, e.g. all images with "charname - Mio", "sex - fuck" and "location - garden"
...have none of the tags in a provided group of tags
You can also rank a group of images according to how many tags of a given group of tags each image contains.
Combining these search options, powerful and detailed picture selection is possible.

The image database is a somewhat involved system, meaning it's a big chunk of code to understand, but it has been around for several months, has become quite stable, should be relatively easy to port and can be customized by subclassing it.

tagini
Tags can be defined by users via a INI configuration file. They are organized in categories so it becomes easy to ask questions like "Are there any sex-related tags on this picture". This little class reads the ini file and provides this information to the application, along with a few convenience methods for tag handling.


I tink especially imgtag could be a useful tool for this project as it is completely independent of PyTFall, can be customized by editing a text file and should be relatively easy to use because of the graphical user interface.

It's to advanced. We will use simpler system for Pytfall... This is a brilliant idea for a game with limited amount of pictures.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 26, 2013, 05:09:52 AM
How do you plan to match pictures to text descriptions in PyTFall?

Btw, I think my system is best suited for a game with lots of pictures. If the amount of pics is limited, it is easiest to just map a list of image file paths to every text line, so every match between picture and text has been checked by someone. My system really pays off if people add lots of pictures to it, because existing text descriptions will find their pictures based on tags. With my system, you can add new pictures to a text description without even knowing this text exists. Of course, if the tags on pictures do not describe the pictures well, the last point I made is actually a disadvantage of my system. However, sloppy picture description by girl pack authors will always lead to inferior results, whatever system you use.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 26, 2013, 05:55:36 AM
Well, I don't know how are these tools look like, but if they able to make pictures hunting and sorting at least a little easier and quicker, I'd like to try them.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 26, 2013, 07:39:10 AM
How do you plan to match pictures to text descriptions in PyTFall?

Through picture categories like in WM.

Well, I don't know how are these tools look like, but if they able to make pictures hunting and sorting at least a little easier and quicker, I'd like to try them.

Have you actually read the suggestion?

 It is not meant to make anything easier. He is suggesting that you take every single picture for girls in PyTFall and tag it using a piece of software with GUI interface.

 It would require code to be adapted to PyTFall that I would guess take us a couple of weeks at our pace at least.

 Also, I want to final release of SimBrothel version to have at least 80 - 100 girls. Let's say 150 pictures per girl and 10 tags per picture (would hardly make sense to go through the trouble for less) and 5 seconds per tag (taking into consideration that you'd have to go get coffie, reload images, take breaks, get distracted and so on 5 second per tag is not even a realistic estimate). So that and just that comes to a workload of 200 hours if you're lucky enough to be able to work fast and without distractions. Not including the time needed to write the code enabling this to work in PyTFall.

 Basically, my answer is this: If someone tags all the pictures (not willing to tag, actually completes at least 70% of all workload), I promise to do everything possible to write code to adapt Rudi's tagging system to PyTFall. Otherwise, we proceed as planned, with image categories in WM style.

==================================
Edit:
+ It makes less sense in PyTFall for three reasons:
1) Most jobs are fairly straight-forward and not very numerous. Not very difficult to match.
2) For unique quests and events (those that are meant to work just with one particular girl) specific images will can be called with one single line of code so modder can pic exactly what is required.
3) Image categories are being created automatically giving us a lot of options (not as many as with tagging system obviously). For specific events, it's easy to create a category required.

Another issue is that you cannot tag everything (or you can but it will take you 1000 hours instead of 200 and it will likely cause a mess). For an event where four girls from the same 'Origin' go to onsen  together on rest job... It's not realistic to tag that. Code will still have to be written.

I know tagging just seems perfect for OtherWorld/PytherWorld, but I made packs for WM, I edited them, I am used to them and I want the same system in PyTFall cause it will not 'feel' the same to me otherwise...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 26, 2013, 09:00:11 AM
Have you actually read the suggestion?
Nope, sorry, I didn't read it at all, my previous post was written by my cat walking across the keyboard. Oh, wait a sec, it says it read the suggestion before walking, so that's all right, I guess. Good cat.

As you said,
Keep in mind that the more categories like bj_deep or rest_garden
Looks like we going to use a huge amount of categoties already. Maybe even more than any other brothel game had.
Not to mention the fact that pretty much every single job or even school ideally needs its own type of pictures. And we, hopefully, will have even more jobs or some other picture-related things (dance, singing, party, who knows what else).

I don't see many differences between renaming each of them (and you should keep in mind dozens of categories we going to use) and tag system (when you select right tags from dozens of suggested by software), except the second one may bea little more convenient and quick.

Remember, SimBrothel has its own tool for creating girls, and quite handy one. I always thought wm and wm ex could use something similar too (I know, they have one, but totally outdated and less handy).
----------------------------
OK, I feel some inspiration after taking part in this discussion. Back to texts  :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 26, 2013, 09:55:39 AM
Quote
Image categories are being created automatically
Now that can't be the whole truth. I'm not familiar with the way WM sorts pictures in categories, but I'm sure a human needs to sort them at some level. Do you create a category by copying the images in a folder (so all images of the garden category are in a folder called "garden")? Do you create a category by renaming the image files, so garden images would be called "garden01.png", "garden02.png" and so on?

Quote
It is not meant to make anything easier.
My suggestion is definitely meant to make handling pictures easier. If my tools actually can make handling images easier depends on what you want to do with them in PyTFall. That's what I'm trying to find out here.

Quote
He is suggesting that you take every single picture for girls in PyTFall and tag it using a piece of software with GUI interface.
You can do that with imgtag, yes. You can also use the folder method I described above (whole foldertrees are supported, so you can add several tags to each image this way; Adding more than three is tiresome, though).


Quote
80 - 100 girls [...] 150 pictures per girl and 10 tags per picture [...] 5 second per tag
So you would spend 50s to select 10 tags? How? I sort my picture files by character, so all tags describing the looks of the character are added based on the location of the image in the file system. In the GUI, I choose a location, an activity, one or two tags describing other characters in the image and a clothing style. Takes maybe ten seconds (4-5 clicks) and I end up with 7 tags from the file's location in the file system and 4-5 from the GUI.
Even ten seconds is a long time for 15000 pictures, so if the information is not needed in PyTFall, I would not invest the time. However, I can't imagine how you will match the description of what's happening to the picture if all you have is one category the picture is in. For example, if you are looking for a picture for a whorejob, and you fetch a picture from the "whorejob" category, how can you tell if the picture shows one or a group of customers, or a bedroom, a park or a bar as location, or even a male or female customer? Are you going to have conglomerate categories, e.g. "WhorejobOneManBedroom"?

Quote
+ It makes less sense in PyTFall for three reasons:
1) Most jobs are fairly straight-forward and not very numerous. Not very difficult to match.
2) For unique quests and events (those that are meant to work just with one particular girl) specific images will can be called with one single line of code so modder can pic exactly what is required.
3) Image categories are being created automatically giving us a lot of options (not as many as with tagging system obviously). For specific events, it's easy to create a category required.
1) I disagree, unless you plan on having a lot more generic description than I thought you would.
2) I agree. This usecase should not be solved with tags.
3) Human action is unavoidable, as explained above. Calling this process "automatic" is misleading.

Quote
to adapt Rudi's tagging system to PyTFall
This is an option, but not required to use imgtag. I could also add an export feature to imgtag that allows saving the "image category information" in a format PyTFall understands, e.g. XML.


Quote
Well, I don't know how are these tools look like, but if they able to make pictures hunting and sorting at least a little easier and quicker, I'd like to try them.
Well, none of my tools make picture hunting any easier. I don't really see what kind of tool could do that, unless one wrote a specialized version of google picture search.
They do help with sorting, however. The more keywords/tags/categories you want to add per image, the more help imgtag is. IMHO, more than three keywords per image file are terrible to pull of if only folders are used for sorting.

EDIT: I'm currently uploading my most stable version of imgtag into my dropbox folder. I've used this version successfully for some time now, so I know it works at my machine. It should also work on other Windows PCs. It still has a few bugs and is slow for large images (those problems are fixed in the dev version, which is not ready yet for other reasons). imgtagGtk comes with dummy tags and some random pictures, so you can try it right away. In order to use it, you would have to enter your own tags in settings.ini. I could do that for you if you feel that is too much tinkering.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 26, 2013, 03:58:25 PM
Ok, I add my option too
Basically, my answer is this: If someone tags all the pictures (not willing to tag, actually completes at least 70% of all workload), I promise to do everything possible to write code to adapt Rudi's tagging system to PyTFall. Otherwise, we proceed as planned, with image categories in WM style.
We planned to rework all of the girls. That means I have to look at every one of sakura/hinata/tenten pics again and choose category for it and rename it. Adding tags instead will only take a bit more time, so I don't see this as a problem at all if we choose to use them. (for me I mean, I'm not commenting need for new code)
--------------


From my experience I believe tags will not make creating girlpack easier, because "final  sorting" part is just a fraction of the required time to create one. I tried that program and I can't imagine using it before 90% of the work is already done. But because of the same reason, it's not a bother either.


Current system is working nicely now. I can see only one issue and that is when it comes to picture that should belong to more categories. This is a very minor problem in still relatively small number of categories in current version, easily solved by duplicating that picture. From my own modder perspective, for girl specific events it's easy and sufficient.

But if there is a plan to add a lot of generic repeatable events and messages that can take advantage of pictures belonging to more then one categories and more advanced sorting, there's no doubt that tag system would be great for that.
So it all come to question how much of these we want to add and how hard is to code this new system, and I don't know anything about that.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 26, 2013, 04:05:44 PM
Do you create a category by renaming the image files, so garden images would be called "garden01.png", "garden02.png" and so on?

That's fairly close to it, yes.


Ok, lets say someone actually tags 15000 images... What's the next step? Can you explain me two things in Laymans terms:

1) How do we transfer these image tags into a Python class?

2) How do we call such an image?

It still seems like an insane idea to me... workload seems monstrous, it's like Daisy's approach to game design, to spend an year to slightly improve two or three things in the game instead of adding new kickass features...

I'll see if I can write at least 50 lines of code today before my head turns itself off completely :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 26, 2013, 04:27:47 PM
So it all come to question how much of these we want to add and how hard is to code this new system, and I don't know anything about that.

Neither do I... In any case, I agree that our system as it is today kicks ass of every SimBro system and WM and most likely OW as well...

Remember, SimBrothel has its own tool for creating girls, and quite handy one. I always thought wm and wm ex could use something similar too (I know, they have one, but totally outdated and less handy).
----------------------------

...... yes, but I also remember another thing: That version of SimBrothel can only tell difference between profile picture type (Of which it allows one per game) and a max 8 more pictures that are not tagged or defined at all... basically that means that game is displaying text that girl gave a nice BJ while picture might show her being raped by a lizard.  ???
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 26, 2013, 05:05:44 PM
2) How do we call such an image?
As far as I understand, for now WM as well as PyTFall analyzes pictures in the characters folders during start-up and and creates a database. I know nothing about Python class, but since rudistoned says he "could also add an export feature to imgtag that allows saving the "image category information" in a format PyTFall understands, e.g. XML.", let's say such pics database will be created by his software, not the game, as a separated XML file inside character folder. So if you want normal sex, you call a random image with <nsex> tag or something.
 
That version of SimBrothel can only tell difference between profile picture type (Of which it allows one per game) and a max 8 more pictures that are not tagged or defined at all...
Wanna make a better editor for PitFall?  ;)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 26, 2013, 05:13:14 PM
As far as I understand, for now WM as well as PyTFall analyzes pictures in the characters folders during start-up and and creates a database. I know nothing about Python class, but since rudistoned says he "could also add an export feature to imgtag that allows saving the "image category information" in a format PyTFall understands, e.g. XML.", let's say such pics database will be created by his software, not the game, as a separated XML file inside character folder. So if you want normal sex, you call a random image with <nsex> tag or something.

That question was aimed at Rudi, all two of us can do is guess :)

Wanna make a better editor for PitFall?  ;)

I want to, but I want to create this game even more. Editor can be built as part of a game later.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 26, 2013, 06:28:27 PM
==================================

Ok, my 50 lines of code for today are done...

Lets land our alien picturetagging spaceship for a moment and figure out a more down to earth issue at hand:

What fininsial stats do we need? This issue has been raised by GodDra once before. Me being a nub, not even considering that we may require such a thing, today way the first day I wrote a line of code with that in mind.

My next objective is to make a brothel screen a little bit prettier, add some stats and info to it.

Possibility 1:

I suggest the WM approach:

 - We add Brothel's profit to the brothel screen
 - We make sure that amount of cash earned and spent (per girl/per brothel/per event) is displayed in next day texts.

Workload 3 - 4 hours.

Possibility 2:

- We keep track of earnings (Work) and expenditures (Upkeep, wages, school fees, advertising, upgrades etc.) for the duration of the whole game and add that number to girl's profile screen and brothel's screen.

Workload 4 - 6 hours.

Possibility 3:

Same as possibility two but we log that info on per category bases and make a separate screen to access that info.

Workload 6 - 10 hours.

Possibility 4:

We create a new powerful recordskeeping class and record as much info as possible, like what job was performed on what day and how much a girl or brothel have made lost.

Workload 30 - 40 hours.

Possibility 5:

We rewrite the whole game and record everything...

Workload ? - ? hours. It's be done before the end of the world... I hope :)


I vote for option 1, maybe two. Any thoughts or requests? I'll be prolly coding this part next.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: fires_flair on February 26, 2013, 09:16:25 PM
I think it would be interesting to know how much each girl makes. (so you know if she's a profitable girl or not)
when you say keep track of the amount for the whole day, do you mean like just have a number (be it positive or negative), and just having the profit added or loss subtracted from that, or actually keeping track of them separately for the whole game.

Personally, I don't care which is done, because it's really not that big of a deal. But if you are going to keep track I'd just have the shift over view + total profit (or loss as the case may be) for each girl.
The shift over view, only so I can keep an eye on why the girl ain't making money, or if it's changed.

and on the picture part, have you guys thought of using file folders, instead of file names, I know it's been suggested before on the forum. if needed (though sorta complicates it) it could be file folder +file name (file: pregnant. file name: profile/ sex /group just for example). I am just thinking about the problems WM had getting preg picture to work properly (and myself remembering how to label them properly)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 27, 2013, 03:21:21 AM
Ok, lets say someone actually tags 15000 images... What's the next step? Can you explain me two things in Laymans terms:

1) How do we transfer these image tags into a Python class?

2) How do we call such an image?


1) read XMP metadata from the image file and remember which file paths are tagged with which tags; the classes associated with my ImageDatabase class do that;

2) A simple request could be:
img = imgdb.get_image("sex - blowjob", "character - Asuka")

In Pytherworld, I create a group of tags that describes the image I am looking for. For example, the code that selects a picture for a character that shows this character being sold at a slave auction:
Code: [Select]
        required, bonus, excluded = character.get_tags()
        bonus.add("other clothing - nude")
        bonus.add("sex - bondage")
        bonus.add("indoor - basement")
        sextags = core.tagini.get_tags("sex", categorized=True)
        sextags.remove("sex - bondage")
        sextags.remove("sex - lockdown")
        sextags.remove("sex - touch")
        excluded.update(sextags)
        excluded.add("misc - generic")
        excluded.add("misc - portrait")
        imgctrl = core.imgdb.select_image(required, bonus, excluded)
This code results in a search for a picture that fulfills the following conditions:
* It shows the character
* The character is not participating in any activity of the sex category, except for "sex - bondage", "sex - lockdown", or being touched
* The image is no generic image and also not a portrait
* Images where the character is nude, in bondage and in a basement-like location are preferred

Selecting a picture like that is hard to do with your system, unless you create a specific category for that. However, each additional category in your system means additional image files to copy and rename. An additional category in my system can be added as an afterthought without any involvment from the girlpack authors. Just select a combination of tags and you have created a new category.



Quote
It still seems like an insane idea to me... workload seems monstrous
I still don't get how copying a bunch of files into a folder and tagging them with imgtag should take longer than copying a bunch of files into a folder and rename each one of them.

Quote
to spend an year to slightly improve two or three things in the game instead of adding new kickass features...
My tagging system is a lot more powerful than the system we use here in PyTFall. It is also more complicated though. Since you are obviously convinced the current PyTFall system is good enough, I suggest we stick with it. I don't care either way as I don't have to work with it ;-)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 03:31:45 AM
I think it would be interesting to know how much each girl makes. (so you know if she's a profitable girl or not)
when you say keep track of the amount for the whole day, do you mean like just have a number (be it positive or negative), and just having the profit added or loss subtracted from that, or actually keeping track of them separately for the whole game.

Personally, I don't care which is done, because it's really not that big of a deal. But if you are going to keep track I'd just have the shift over view + total profit (or loss as the case may be) for each girl.
The shift over view, only so I can keep an eye on why the girl ain't making money, or if it's changed.

Well, I  thought about it when I was falling asleep and this seems to be a decent approach:

 - We keep track of girl earning (during Jobs) and log those in on per day bases without specifying the job she was doing.
 - We keep track of wages girl enjoys from doing jobs and upkeep, also per day. That is for free girls, for slaves we just record upkeep.
 - We keep track on Brothel fees like advertising and cleaning (Unless done by girls themselves).
 - We record players gold on hand each day.
 - We record money made from missions in the future.

 - Based on those logs, we can generate information on previous days earnings per brothel and per girl and also create a per day report on demand.


I think this will be enough. I don't want to add money spent on items or during quests here, for the simple reason that entire items system will be changed when we switch from SimBrothel version to WM version.



and on the picture part, have you guys thought of using file folders, instead of file names, I know it's been suggested before on the forum. if needed (though sorta complicates it) it could be file folder +file name (file: pregnant. file name: profile/ sex /group just for example). I am just thinking about the problems WM had getting preg picture to work properly (and myself remembering how to label them properly)

This will work worse than just filenames. It's easier to encode more info about the pics in files names or take Rudi's approach with tags. But system at place is already quite good, we may just leave everything as it is. Problems with preg type of pics will not find their way from WM to PyFTall, that's not possible.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 27, 2013, 05:30:07 AM
Lets land our alien picturetagging spaceship for a moment
Too bad. I like sci-fi  :D

Possibility 2:

- We keep track of earnings (Work) and expenditures (Upkeep, wages, school fees, advertising, upgrades etc.) for the duration of the whole game and add that number to girl's profile screen and brothel's screen.

Workload 4 - 6 hours.
I think this is the best way. Question is, if we going to track many stats for many girls, how many RAM and free disk space game will need after a couple of ingame months or years?
Another thing is interface. I thought about graphs of some kind, at least for most important stats, but I don't know how well Python can handle such things.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 05:39:09 AM

1) read XMP metadata from the image file and remember which file paths are tagged with which tags; the classes associated with my ImageDatabase class do that;

2) A simple request could be:
img = imgdb.get_image("sex - blowjob", "character - Asuka")

In Pytherworld, I create a group of tags that describes the image I am looking for. For example, the code that selects a picture for a character that shows this character being sold at a slave auction:
Code: [Select]
        required, bonus, excluded = character.get_tags()
        bonus.add("other clothing - nude")
        bonus.add("sex - bondage")
        bonus.add("indoor - basement")
        sextags = core.tagini.get_tags("sex", categorized=True)
        sextags.remove("sex - bondage")
        sextags.remove("sex - lockdown")
        sextags.remove("sex - touch")
        excluded.update(sextags)
        excluded.add("misc - generic")
        excluded.add("misc - portrait")
        imgctrl = core.imgdb.select_image(required, bonus, excluded)
This code results in a search for a picture that fulfills the following conditions:
* It shows the character
* The character is not participating in any activity of the sex category, except for "sex - bondage", "sex - lockdown", or being touched
* The image is no generic image and also not a portrait
* Images where the character is nude, in bondage and in a basement-like location are preferred

Selecting a picture like that is hard to do with your system, unless you create a specific category for that. However, each additional category in your system means additional image files to copy and rename. An additional category in my system can be added as an afterthought without any involvment from the girlpack authors. Just select a combination of tags and you have created a new category.

I wonder how a XMP parser works... maybe it would be possible to do this?:

This is from an instance of sGirl class:

u'shop': [u'content/chars/naruto/Hinata/shop (2).jpg', u'content/chars/naruto/Hinata/shop (3).jpg'

method of the same class calls a category (shop) and randomly chooses an image from the list.
----------------------------
What if during the creation of an instance, we also read XMP tags and created a dict with picture path being a key and tags being values (another list).

Then we edit method as well, call it with a new kwarg 'tags' that goes through all images in shop category and tried to find the best match for the situation. This way almost nothing would have to be changed in game makeup and we would have a system that is not quite as powerful as the one in PytherWorld but still packs some heat and offers a good deal of possibilities.

PS: Renaming pics is easy in batches, I have a whole system for that.

My tagging system is a lot more powerful than the system we use here in PyTFall. It is also more complicated though. Since you are obviously convinced the current PyTFall system is good enough, I suggest we stick with it. I don't care either way as I don't have to work with it ;-)

I once wrote a post about game 'generations'. I don't remember where but the idea was:

First Generation Hentai Indie Sim Games:

SimBrothel
Slavemaker
Hentai Highschool

They had a fairly straightforward interface and logic and allowed none to little moddability.

Second Generation Hentai Indie Sim Games:

SlaveMaker 2
WM
SimBro 1x

These allow much better moddability, better graphics (In some cases), more advanced logic.

Third Generation Hentai Indie Sim Games:

SlaveMaker 3
OtherWorld

These allow unreasonable possibilities for moddability, better logic, more content and so on.

As you can see, WM and SimBrothel are missing from the list of third generation, because WM2 has never been created and all SimBrothel project that tried to climb up there failed miserably.

So my objective is to build a third generation SimBrothel and WM, with advanced job system where jobs effect one another, social system, slave training and multiple stat/skill variations, battleengines, quests, events and missions, highly graphical interface. I don't want to be sidetracked by making it to advanced, simply because there will eventually be Fourth generation at some point that might have even better jobs system, near perfect image handling, better quests system and so on. Maybe after I am finished with PyTFall projects, I will build a game like that, but for now I don't want to spend to much time on features that are overcomplicated.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 05:50:06 AM
I think this is the best way. Question is, if we going to track many stats for many girls, how many RAM and free disk space game will need after a couple of ingame months or years?

It shouldn't be to bad, text doesn't take to much ram or space. We can use .xml file or database otherwise, but that's not something I am eager to do...


Another thing is interface. I thought about graphs of some kind, at least for most important stats, but I don't know how well Python can handle such things.

Will take more time then it's worth, python is perfect for building a graph but RenPy will need  modified classes. Also there is another issue, I don't want to log stat increases through out the game, it will take even more effort, and you cannot build a graph without that.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 27, 2013, 07:00:41 AM
Question is, if we going to track many stats for many girls, how many RAM and free disk space game will need after a couple of ingame months or years?
Don't worry about system ressources, those are growing way faster than we can code. In addition, you need to throw A LOT of work on modern systems to even notice a delay. Just do what you think is the best way to solve your problem and only worry about performance if your program becomes to slow. Premature optimization is the root of all evil ;-)
The only platform which would be performance-sensitive IMHO are Atom-based Netbooks, but those will be obsolete soon enough.

Quote
I wonder how a XMP parser works...
Basically it opens the file, scrolls to the part of the file that contains XMP metadata, reads the data there, closes the file and returns the data as a Python object. Therefore, this is quite a lot slower then simply reading the file name from the file system. In Pytherworld, I do this at "compile time", when I package the game into an executable. I would not recommend doing that every time you create a sGirl instance, as it would slow down character creation tremendously. There is also no reason to to that, unless you intend to change tags in image files during runtime.

How your program remembers the relationship between tags and image file paths really depends on what you want to accomplish. What you suggest is certainly doable.

If you want, I could certainly create a draft of a comparatively simple ImageDatabase class. I had a much simpler concept than I use today implemented in an earlier version of imgtag.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 07:23:10 AM
How your program remembers the relationship between tags and image file paths really depends on what you want to accomplish. What you suggest is certainly doable.

If you want, I could certainly create a draft of a comparatively simple ImageDatabase class. I had a much simpler concept than I use today implemented in an earlier version of imgtag.

 Class... you're basically suggesting to create one single gallery class and throw all pictures in there... I was thinking about something simpler. Also there is no compile time with RenPy other than that happens on run-time, at least non that I am aware of.

 I would think that if there is a good parser, simple function would have to be written to use that parser to extract data and add it to a dict as values.

Can you write that function?


More to the point:

                for file in os.listdir(renpy.loader.transfn(imagedir)):
                    acttype = file.split()[0]
                    file = "%s/%s"%(imagedir,file)
                    if content[key].__dict__['gfx'].has_key(acttype):
                        content[key].__dict__['gfx'][acttype].append(file)
                    else:
                        content[key].__dict__['gfx'][acttype] = [file]


Instead, lets say you write a function that loads tags from the file and we call it "rudis_tagloader()" that takes file path and filename as argument (simply a variable called file in the above function) and returns a list or a dict of tags:

we rewrite that to:

                    if content[key].__dict__['gfx'].has_key(acttype):
                        content[key].__dict__['gfx'][acttype].append(dict(file = rudis_tagloader(file)))
                    else:
                        content[key].__dict__['gfx'][acttype] = [dict(file = rudis_tagloader(file))]               


If that is possible, we don't even have to change one thing, I'll simply rewrite img method to use tagged images if tag is requested as an argument of a method. We'll still have to rename all files but it's very easy to do and tags will be very helpful!
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: GonDra on February 27, 2013, 08:15:37 AM
Possibility 2:

- We keep track of earnings (Work) and expenditures (Upkeep, wages, school fees, advertising, upgrades etc.) for the duration of the whole game and add that number to girl's profile screen and brothel's screen.

Workload 4 - 6 hours.
Would get my vote - I would like option 3 but I don't think there would be anything to gain for a normal player there. Only thing I would like added to this is a simple screen for the brothel finances.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 08:29:43 AM
Would get my vote - I would like option 3 but I don't think there would be anything to gain for a normal player there. Only thing I would like added to this is a simple screen for the brothel finances.

I think I'll make that a part of the brothel screen itself. Or as a pop up screen on click of a button. In any case, option two it is.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 27, 2013, 09:02:00 AM
I postpone working on girls until you decide tags to prevent doing things twice, and start looking for location backgrounds instead and continue to gather girlmeet lines.


Because there are lot things changing a lot, I decided not to add them directly into a script now afterall. So I have a important question - and not only about girlmeet lines - do you want me to write texts I have now in a file, and if, how a file with written texts should look like to be easy for codder to use it, or should I just keep them for myself and wait until I fully understand where to place them and then do it (=later, but no work for anyone else)







Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 27, 2013, 09:03:02 AM
As I worked with texts, I give some thought to adding Bisexual trait as well. Then again, since sexual orientation is something every character has, maybe we should use one variable somewhere in xml instead of 3-4 traits?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 10:34:11 AM
As I worked with texts, I give some thought to adding Bisexual trait as well. Then again, since sexual orientation is something every character has, maybe we should use one variable somewhere in xml instead of 3-4 traits?

You mean like male/female/shemale/futanari? That would mean that many texts and jobs be a subject to change and adaptation. Prolly not worth it.

I postpone working on girls until you decide tags to prevent doing things twice, and start looking for location backgrounds instead and continue to gather girlmeet lines.

Please proceed as planned. I've already decided to use picture categories or picture categories with tags combination if Rudi can create a function I asked for.

For background locations try taking a look on Roman's resources (that's the guy who I learned game programming from and programmer for Alkion). Folder names are in Russian but once you get inside, it's obvious what category you're in:

https://www.dropbox.com/gallery/11931230/1/Resources?h=8f251a

These are: City - Places of rest backgrounds for example:
https://www.dropbox.com/gallery/11931230/1/Resources/Backgrounds/%D0%93%D0%BE%D1%80%D0%BE%D0%B4%20-%20%D0%BC%D0%B5%D1%81%D1%82%D0%B0%20%D0%BE%D1%82%D0%B4%D1%8B%D1%85%D0%B0/?h=8f251a


Because there are lot things changing a lot, I decided not to add them directly into a script now afterall. So I have a important question - and not only about girlmeet lines - do you want me to write texts I have now in a file, and if, how a file with written texts should look like to be easy for codder to use it, or should I just keep them for myself and wait until I fully understand where to place them and then do it (=later, but no work for anyone else)

Can you throw what you've gathered for one of the girlsmeets to a text file? I'll take a look at it and we decide on what to do with the rest.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 27, 2013, 12:57:45 PM
Code: [Select]
import os
import pyexiv2
def load_tags(dirpath, filename):
    '''Returns a list of tags stored as XMP metadata in the file at imgpath.
    '''
    imgpath = os.path.join(dirpath, filename)
    # read the metadata of the file at imgpath
    metadata = pyexiv2.ImageMetadata(imgpath)
    metadata.read()
    # read the XMP tag information in the metadata
    if "Xmp.dc.subject" in self.metadata.xmp_keys:
        tags = metadata["Xmp.dc.subject"].value
    else:
        tags = []
    return tags
Here you go.

This code requires the pyexiv2 library to run. I'm not sure how to package external libraries with RenPy. I've uploaded the offical installer of pyexiv2 as well as a zip with the contents of the installer to my dropbox folder. I think if you just copy the contents of the installer directly into a directory that is in the PYTHONPATH you should be fine. To find a directory that is on the PYTHONPATH include "print sys.argv[0]" somewhere in your code.

Btw, 'file = "%s/%s"%(imagedir,file)' is kinda dangerous on Windows. If whatever you feed this path into expects a UNIX path, all is well, but if that thing expects a windows path, this code will fail. If it is unsure what path convention should be used, it is better to use 'file = os.path.join(imagedir, file)', because that will always return a path valid for the current OS.

Quote
Also there is no compile time with RenPy other than that happens on run-time, at least non that I am aware of.
You are very right, Python is an interpreted language and therefore Python programs don't have a compile time - that's why I put the expression in parentheses. What I meant was that I would read the tags in the images when the game is packaged for a release, not at runtime when players load the game and certainly not during instantiation of a new character. This will be really slow for 15000 image files (think 15 minutes here, maybe more).

EDIT: Just realized you wanted a function that takes the dirpath and filename. Fixed.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 27, 2013, 01:51:31 PM
You mean like male/female/shemale/futanari? That would mean that many texts and jobs be a subject to change and adaptation. Prolly not worth it.
Nope, I mean Frigid, Lesbian, Hetero (I guess we can call it a "hidden trait", since if girl is not something else, she is a Hetero) and Bisexual.
I think it makes more sense than traits system. Because girl may or may not have any particular trait, but she can't have any sexual orientation at all. For example, take a look at Slavemaker, it has an "orientation bar" which changes during the game depending on girl actions rather than a fixed value.

You could tell the same about boobs, they can be small or huge, but they are exist anyway  :)
Current "boobs system" was taken from wm ex, but I begin to doubt that decision.
Of course, if it means a lot of work for you, than forget about it. Current system is working too, after all.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on February 27, 2013, 03:35:11 PM
I personally think all these are ok as traits. And please yes, add bisexual trait, I would like to use it.
And If I may suggest, remove average boobs trait, because it's unlogical to have it.
And maybe, because girl's magic power depends on stat, it would sound better to call magic traits "magic talent" or something and not "strong magic" because they can be overpowered by girls who just train more.


I also think, because traits are so easy to add and call, that there is not a reason to limit how much of them we create if they makes at least a bit sense. I was actually thinking of adding a lot of really minor traits just because I  have a few lines for them in girlmeets... But tell me if Im mistaken.


Also WM traits are not a superb example, because they were created for system that used random girls and not many of relevant text lines and events like we plan. For us, I believe, it would be best to look at, for example, at all of the girls from series that Xela requested and think what traits would be best to describe them...


To sum it, I believe that any quirk that at least 2-3 girls with enough pictures to be considered for game have, and you can think of at least one situation in game where it will be fun to use it, is traitworthy  :)  but that's me...



For background locations try taking a look on Roman's resources (that's the guy who I learned game programming from and programmer for Alkion).

These are great! Trully no need to look for more, unles we need something really special...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 03:55:55 PM
Code: [Select]
import os
import pyexiv2
def load_tags(dirpath, filename):
    '''Returns a list of tags stored as XMP metadata in the file at imgpath.
    '''
    imgpath = os.path.join(dirpath, filename)
    # read the metadata of the file at imgpath
    metadata = pyexiv2.ImageMetadata(imgpath)
    metadata.read()
    # read the XMP tag information in the metadata
    if "Xmp.dc.subject" in self.metadata.xmp_keys:
        tags = metadata["Xmp.dc.subject"].value
    else:
        tags = []
    return tags
Here you go.

Using self. inside a function, really  ::)

Actually this will not work in RenPy but it's my job to know that. Function should look something like this:

    def load_tags(imgpath):
        '''Returns a list of tags stored as XMP metadata in the file at imgpath.
        '''

        # read the metadata of the file at imgpath
        metadata = pyexiv2.ImageMetadata(renpy.loader.transfn(imgpath))
        metadata.read()
        # read the XMP tag information in the metadata
        if "Xmp.dc.subject" in metadata.xmp_keys:
            tags = metadata["Xmp.dc.subject"].value
        else:
            tags = []
        return tags


This code requires the pyexiv2 library to run. I'm not sure how to package external libraries with RenPy. I've uploaded the offical installer of pyexiv2 as well as a zip with the contents of the installer to my dropbox folder. I think if you just copy the contents of the installer directly into a directory that is in the PYTHONPATH you should be fine. To find a directory that is on the PYTHONPATH include "print sys.argv[0]" somewhere in your code.

Took me about an hour but I think I've figured it out... I believe pyexiv2 was properly imported.


Btw, 'file = "%s/%s"%(imagedir,file)' is kinda dangerous on Windows. If whatever you feed this path into expects a UNIX path, all is well, but if that thing expects a windows path, this code will fail. If it is unsure what path convention should be used, it is better to use 'file = os.path.join(imagedir, file)', because that will always return a path valid for the current OS.

You would've been absolutely right if it was pure Python, what you suggest however has not even the slightest chance of working in RenPy.

file = "%s/%s"%(imagedir,file)

This was done proper taking the framework into consideration.

You are very right, Python is an interpreted language and therefore Python programs don't have a compile time - that's why I put the expression in parentheses. What I meant was that I would read the tags in the images when the game is packaged for a release, not at runtime when players load the game and certainly not during instantiation of a new character.

There are two problems here...

1) I have no f%cking idea on how to do that, save creating some form of persistent data and ship that with the game, that would take me a while to figure out.

2) WM and SimBrothel are NOT OW where you have just 7 - 8 girls that are VERY hard to mod (due to paperdolls). Modders in WM and SimBrothel want to add girls by 100s. It's not going to work if they have to mess with persistent data or go through me every single time they want to add a new girl...

This will be really slow for 15000 image files (think 15 minutes here, maybe more).

This is likely to be a dealbreaker because this makes modding the game that much harder... I may have just wasted 3 or 4 hours, still I learned something about a new package and that there are tags inside picture files (I seriously never had heard of that :D )

I don't think this is worth it in the end and now knowing that adding tags will make adding girls a lot harder because they take to long to read on gamestart, I think most people in development team that sided with adding tags to PyTFall will agree that image categories are a better bet for Next Gen of SimBro/WM even if they are a lot less powerful.

Another thing, I do not understand why are you messing around with this tags inside images BS. If you just used xml for this, you could load the required amount of data about images on runtime in a matter of seconds and xml database is likely to be easier to maintain. You can simply check inside a method that calls for the image, if it no longer exists or has been renamed by some nub, game simply chooses a different image... It would also solve the issue with modders not being able to add girls on gamestart. Simply have game look for picture.xml file inside image folder of each girl and load info from there...

=============================================================
All and all, I just got this error in the end :D

Function needs some form of filter for filetypes... Windows is messing us up :) Developers of this package should have thought of that by the way.

IOError: D:\Dev\Dropbox\SimBro Dev\renpy-6.14.1-sdk\SimBro PytFall v0.26/game\content/chars/persona4/Rise_Kujikawa/Thumbs.db: The file contains data of an unknown image type
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 04:06:42 PM
Nope, I mean Frigid, Lesbian, Hetero (I guess we can call it a "hidden trait", since if girl is not something else, she is a Hetero) and Bisexual.
I think it makes more sense than traits system. Because girl may or may not have any particular trait, but she can't have any sexual orientation at all. For example, take a look at Slavemaker, it has an "orientation bar" which changes during the game depending on girl actions rather than a fixed value.

You could tell the same about boobs, they can be small or huge, but they are exist anyway  :)
Current "boobs system" was taken from wm ex, but I begin to doubt that decision.
Of course, if it means a lot of work for you, than forget about it. Current system is working too, after all.

We can add orientation bar if desired, it's 10 minutes for me to write logic and 5 - 30 (depending on if we use a new style and graphics for the bar or go with default) to create the bar, but may I suggest this for WM version?

We are not going to have a boob system that can change because it cannot be reflected with pictures. Only in OW it makes some sense because there are paperdolls there.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 04:15:16 PM
I personally think all these are ok as traits. And please yes, add bisexual trait, I would like to use it.
And If I may suggest, remove average boobs trait, because it's unlogical to have it.
And maybe, because girl's magic power depends on stat, it would sound better to call magic traits "magic talent" or something and not "strong magic" because they can be overpowered by girls who just train more.


I also think, because traits are so easy to add and call, that there is not a reason to limit how much of them we create if they makes at least a bit sense. I was actually thinking of adding a lot of really minor traits just because I  have a few lines for them in girlmeets... But tell me if Im mistaken.


Also WM traits are not a superb example, because they were created for system that used random girls and not many of relevant text lines and events like we plan. For us, I believe, it would be best to look at, for example, at all of the girls from series that Xela requested and think what traits would be best to describe them...


To sum it, I believe that any quirk that at least 2-3 girls with enough pictures to be considered for game have, and you can think of at least one situation in game where it will be fun to use it, is traitworthy  :)  but that's me...

 
These are great! Trully no need to look for more, unles we need something really special...

Sure, add as many traits as you like. Maybe we should make something other than traits...

I'll try to write another 50 lines of relevant code since all time today went into figuring out tagging system that may not even work out for us.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 27, 2013, 04:26:29 PM
And If I may suggest, remove average boobs trait, because it's unlogical to have it.
Why? If you mean lack of stat changing, then this trait only task is to block 3 other boob traits to avoid any conflicts.
And if you mean it purpose, well, many girls should use this trait. If I remember correctly that system, A = Small, B and C = Average, D = Big, more than D (very rare, but still exists, in life and in many titles) = Abnormally Large.

And maybe, because girl's magic power depends on stat, it would sound better to call magic traits "magic talent" or something and not "strong magic" because they can be overpowered by girls who just train more.
OK, make sense.

I also think, because traits are so easy to add and call, that there is not a reason to limit how much of them we create if they makes at least a bit sense. I was actually thinking of adding a lot of really minor traits just because I  have a few lines for them in girlmeets... But tell me if Im mistaken.
There is a reason. Because I, you, Xela or someone else should also write texts, events and checks for each of them. If you want to add some traits, sure, go ahead. You even can add them in that xml in my folder, or make you own, if you prefer it that way. But please don't add too many, like 100-200  :)

For us, I believe, it would be best to look at, for example, at all of the girls from series that Xela requested and think what traits would be best to describe them...
I don't have any objections, but if we are going to use a very large number of traits describing every detail, we probably should use wm ex stat system as well, where traits are cores of characters, and stats depending on traits and items only. Otherwise we'll quickly end up with overpowered girls.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 04:32:52 PM
Otherwise we'll quickly end up with overpowered girls.

This should be avoided at any cost. We can also make traits "weaker".
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 27, 2013, 04:46:42 PM
Oh, and besides, if we'll have a trait for any or almost any characteristic, then there is no need in initial stats, because the character is completely described by initial traits already, and initial stats are coded within them.
I personally don't have anything against this idea. I would prefer to use many traits rather then some traits and some initial stats.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 04:49:12 PM
Oh, and besides, if we'll have a trait for any or almost any characteristic, then there is no need in initial stats, because the character is completely described by initial traits already, and initial stats are coded within them.

Hgehe, that's what happened in Alkion... We'll figure it out when we seriously start to balance the game.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 27, 2013, 05:01:44 PM
Hgehe, that's what happened in Alkion...
That's not a good example  :D
I mean wm ex, as more or less playable game. It doesn't use initial stats, and it has more traits than wm. So if we take such system, and still allow player to train girls like in wm, we'll get a middle ground.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 27, 2013, 05:11:02 PM
That's not a good example  :D
I mean wm ex, as more or less playable game. It doesn't use initial stats, and it has more traits than wm. So if we take such system, and still allow player to train girls like in wm, we'll get a middle ground.

Controlling all stats when girl is being created is remarcably easy in PyTFall, if we decide to go with traits only, we will not even have to remove stats from .xml files.

I've done my 50 lines of code (or rather changed 50 lines of code) for tonight. To tired to continue coding...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 28, 2013, 03:40:29 AM
Using self. inside a function, really  ::)
I copied the code from a method, so I knew it was working and did not test it. Don't tell me a simple oversight like that caused you problems :P
You know, I could have just copied a nice, simple class that offers the same functionality. Would have been less effort for me and it would have worked without problems, because it's well tested code. However, I know you hate code not written specifically for PyTFall, so took the extra effort of copying together a function that does exactly what you asked me for. And here you are, complaining about an error that takes a few seconds to fix...

Quote
Actually this will not work in RenPy but it's my job to know that.
Why would it not work in RenPy? pyexiv2 knows nothing about RenPy, so giving it a path formatted RenPy-style should break, unless you are on Linux or pyexiv2 fixes the path itself. You told me specifically to write a function that takes a dirpath and a filename. Those two need to be joined into a filepath to be of any use. Don't come to me crying if I give you what you asked for...



Quote
Took me about an hour but I think I've figured it out... I believe pyexiv2 was properly imported.
Ah, the joy of using frameworks...


Quote
You would've been absolutely right if it was pure Python, what you suggest however has not even the slightest chance of working in RenPy.
It will definitely work in RenPy if you give it a correct path. Why should it not? RenPy does not prevent you from accessing the file system, does it?

Quote
This was done proper taking the framework into consideration.
I did not say something contrary to that statement. Read what I write.


Quote
There are two problems here...

1) I have no f%cking idea on how to do that, save creating some form of persistent data and ship that with the game, that would take me a while to figure out.

2) WM and SimBrothel are NOT OW where you have just 7 - 8 girls that are VERY hard to mod (due to paperdolls). Modders in WM and SimBrothel want to add girls by 100s. It's not going to work if they have to mess with persistent data or go through me every single time they want to add a new girl...
1) I already solved that problem and it is also not hard to do :P
It goes something like that
Code: [Select]
# store persistent data after it has been generated
import pickle
f = open(filepath, "wb")
pickle.dump(python_object_containing_data_to_store, f)
f.close()
# load persistent data when you need it
f = open(filepath, "rb")
python_object_containing_data_to_store = pickle.load(f)
f.close()

2) So? Have a button inside the games option menu, that recreates the persistent data when clicked. Or, if you think modders are too dumb to do that, detect changes automatically and recreate the persistent data when needed.

Quote
This is likely to be a dealbreaker because this makes modding the game that much harder... I may have just wasted 3 or 4 hours, still I learned something about a new package and that there are tags inside picture files (I seriously never had heard of that :D )
I warned you two times already that reading all image files upon character instantiation will be very slow. It's not my fault if you don't read what I write.
Btw, depending on how many characters you intend to instantiate at once, it might not be a real problem. One to five might be okay, fifty will be a problem. Still, IMHO it is not a good idea to recreate that information on every character instantation.

Quote
Another thing, I do not understand why are you messing around with this tags inside images BS. If you just used xml for this, you could load the required amount of data about images on runtime in a matter of seconds and xml database is likely to be easier to maintain.
You do realize Otherworld takes about one minute to load all the girl XML data, and they have fewer images than you plan to have? No, you can't load tags for 15000 images in a matter of seconds from XML, especially if they are spread over several hundred XML files (one file per girl).
I use tags inside images because they are easier to maintain than XML files (for example, they don't need to change if the path to the file changes...) and they can be loaded faster than XML files if you store the information in a pickled object (=the persistent data we were talking about before). XML files are persistent data too, are they not?

I also offered to do this in XML for PyTFall, but you never came back to me about that, so I assumed you don't want to do that.


Quote
Function needs some form of filter for filetypes... Windows is messing us up :) Developers of this package should have thought of that by the way.

IOError: D:\Dev\Dropbox\SimBro Dev\renpy-6.14.1-sdk\SimBro PytFall v0.26/game\content/chars/persona4/Rise_Kujikawa/Thumbs.db: The file contains data of an unknown image type
Well, they did think of that. That's why you get this nice error message telling you exactly what's wrong. They wrote a parser for image metadata, so why would you give it a non-image file?

I've solved all these problems already, but you want to learn the hard way. Here is your filter.
Code: [Select]
import os
filename, ext = os.path.splitext(filepath_or_filename)
if ext.lower() in ["jpg", "png"]:
    load_tags(filepath)

You know, Xela, I've tried being polite with you, but you either don't get polite or you don't like polite. So, here you go, an answer matching your tone.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 28, 2013, 06:09:44 AM
Finally Rest texts are done.
Except for Malicious trait, for unknown reason I was unable to think up any decent Rest event for it, so any suggestions are welcomed. Check for errors is welcomed too. Feel free to add even more events if you want.

Now when I'll have some free time, I'll begin to create Naruto girls packs step by step.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 28, 2013, 06:57:04 AM
You know, Xela, I've tried being polite with you, but you either don't get polite or you don't like polite. So, here you go, an answer matching your tone.

I am not a big fan of polite but reasonably polite with a small joke or a little stab here and there doesn't hurt anyone. If I came straightout offensive at any point, I do apologize! I greatly appreciate any help people offer to develop PyTFall!


I copied the code from a method, so I knew it was working and did not test it. Don't tell me a simple oversight like that caused you problems
You know, I could have just copied a nice, simple class that offers the same functionality. Would have been less effort for me and it would have worked without problems, because it's well tested code. However, I know you hate code not written specifically for PyTFall, so took the extra effort of copying together a function that does exactly what you asked me for. And here you are, complaining about an error that takes a few seconds to fix...

LoL

It was a joke, it didn't cause problems and it did take a few seconds to fix.

Why would it not work in RenPy? pyexiv2 knows nothing about RenPy, so giving it a path formatted RenPy-style should break, unless you are on Linux or pyexiv2 fixes the path itself. You told me specifically to write a function that takes a dirpath and a filename. Those two need to be joined into a filepath to be of any use. Don't come to me crying if I give you what you asked for...

First, where the feck did you get a hint of crying?   ???

Quote from: xela
Instead, lets say you write a function that loads tags from the file and we call it "rudis_tagloader()" that takes file path and filename as argument (simply a variable called file in the above function) and returns a list or a dict of tags:

Quote from: xela
file = "%s/%s"%(imagedir,file)

Quote from: xela
content[key].__dict__['gfx'][acttype] = [dict(file = rudis_tagloader(file))]       

Not 'specifically', I actually said 'argument' that is a single variable that includes filename and filepath... But the function you wrote for me did exactly what is required otherwise so it's all good in the end!

It will definitely work in RenPy if you give it a correct path. Why should it not? RenPy does not prevent you from accessing the file system, does it?

I did not say something contrary to that statement. Read what I write.

Contrary to your statement, you should read what I write:

Quote from: rudistoned
Btw, 'file = "%s/%s"%(imagedir,file)' is kinda dangerous on Windows. If whatever you feed this path into expects a UNIX path, all is well, but if that thing expects a windows path, this code will fail. If it is unsure what path convention should be used, it is better to use 'file = os.path.join(imagedir, file)', because that will always return a path valid for the current OS.

You've basically said that it would have been better to use file = os.path.join(imagedir, file).

Quote from: xela
You would've been absolutely right if it was pure Python, what you suggest however has not even the slightest chance of working in RenPy.

file = "%s/%s"%(imagedir,file)

This was done proper taking the framework into consideration.

I said that it would have been better to use file = os.path.join(imagedir, file) if programming environment was pure Python. However changing that line of code in RenPy:

file = "%s/%s"%(imagedir,file)

to

file = os.path.join(imagedir, file)

simply breaks the game. The reason for that RenPy as it has it's own way of accessing system. It's not something you could have known and as I said in my previous post, it is my responsibility to know that, but you'll have to agree that it is not very useful or rpoductive for you to keep insisting that using file = os.path.join(imagedir, file) should work in RenPy, even after I specifically told you that it isn't, taking framework into consideration...

Ah, the joy of using frameworks...

LoL

You're right, that sucked. But I can do it in 2 minutes next time since I now have learned where to put the module and that two of RenPy modules have to be imported into every .py file for the reasons I did not fully understand.

Framework does have it's charms as well! It's not only downsides :)


1) I already solved that problem and it is also not hard to do :P
It goes something like that
Code: [Select]
# store persistent data after it has been generated
import pickle
f = open(filepath, "wb")
pickle.dump(python_object_containing_data_to_store, f)
f.close()
# load persistent data when you need it
f = open(filepath, "rb")
python_object_containing_data_to_store = pickle.load(f)
f.close()

2) So? Have a button inside the games option menu, that recreates the persistent data when clicked. Or, if you think modders are too dumb to do that, detect changes automatically and recreate the persistent data when needed.
I warned you two times already that reading all image files upon character instantiation will be very slow. It's not my fault if you don't read what I write.
Btw, depending on how many characters you intend to instantiate at once, it might not be a real problem. One to five might be okay, fifty will be a problem. Still, IMHO it is not a good idea to recreate that information on every character instantation.
You do realize Otherworld takes about one minute to load all the girl XML data, and they have fewer images than you plan to have? No, you can't load tags for 15000 images in a matter of seconds from XML, especially if they are spread over several hundred XML files (one file per girl).
I use tags inside images because they are easier to maintain than XML files (for example, they don't need to change if the path to the file changes...) and they can be loaded faster than XML files if you store the information in a pickled object (=the persistent data we were talking about before). XML files are persistent data too, are they not?

I also offered to do this in XML for PyTFall, but you never came back to me about that, so I assumed you don't want to do that.

Well, they did think of that. That's why you get this nice error message telling you exactly what's wrong. They wrote a parser for image metadata, so why would you give it a non-image file?

I've solved all these problems already, but you want to learn the hard way. Here is your filter.
Code: [Select]
import os
filename, ext = os.path.splitext(filepath_or_filename)
if ext.lower() in ["jpg", "png"]:
    load_tags(filepath)


All of your fixes and suggestions make sense, I'll have to try to adapt them to RenPy but I want to write some game code for now (Not exactly want to but I can rarely work on this undisturbed during the week and figuring these things out takes concentration and time) so I'll try to do it this weekend.

I remember that you offered .XML and I never came back to you about that because I had no knowledge of time that is required to load tags directly from images.

It is another option but I'll try to make it work as you suggest it right now first.

You do realize Otherworld takes about one minute to load all the girl XML data, and they have fewer images than you plan to have? No, you can't load tags for 15000 images in a matter of seconds from XML, especially if they are spread over several hundred XML files (one file per girl).

And why would either of us give a damn about what happens in OtherWorld? I wonder how fast PytherWorld can do it? We are programming our games in Python for a reason, do we not? Take a look at traits.xml file Dark and SW created for PyTFall, it's a very reasonably sized .xml file:

      x = 400
      while x > 0:
          traits = load_content('traits')
          x -= 1

This code loads it 400 times. Every trait (there are like 50 of them already, maybe more) becomes an instance of Traits class. load_content() function formats the data to the required structure using a xml parser and parse() function (called from inside of load_content()) iterates over every line of the file, making sure it's all parsed into the class properly, reformatting strings, taking care of booleans and so on.

It's a lot of work and it only takes 9 second for the game to load (entire game, not just to load traits file 400 times) so .xml can at least be used as a backup option.

You said it yourself, hardware gets faster than we can program :)


PS: And let's not fight over BS, I'll try to be more on target in future posts!


=========================================================
@Dark and SW:

You guys are not allowed to leave comments inside xml trunks:

   <trait

      id="Alien"   #For demons, angels, etc.

      desc="This girl has come from a distant dimension with absolutely other laws of physics, magic and society."
      temp='0'>

Do it like this:
   <trait

      id="Alien"   

      desc="This girl has come from a distant dimension with absolutely other laws of physics, magic and society."
      temp='0'> #For demons, angels, etc.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 28, 2013, 07:10:46 AM
You guys are not allowed to leave comments inside xml trunks:
OK. It should be fine now.
I suddenly remembered one more thing. WM has one unpleasant feature: if you want to add one or several girls in the game, you have to start a new game after adding their files, otherwise game will ignore them. I don't know if Aika and Crazy have fixed it, but Future has fixed it definitely.
Hopefully, PytFall won't have such restriction.
   
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 28, 2013, 08:25:13 AM
OK. It should be fine now.
I suddenly remembered one more thing. WM has one unpleasant feature: if you want to add one or several girls in the game, you have to start a new game after adding their files, otherwise game will ignore them. I don't know if Aika and Crazy have fixed it, but Future has fixed it definitely.
Hopefully, PytFall won't have such restriction.
 


I am not sure it is possible to remove such a restriction in PytFall without taking extraordinary steps (Modifications to framework). What might be possible is to create a button that checks if new girls have been added to the game after you load the last save but it would be a weird button and I have no idea on which screen it belongs. It would have the same effect and would be quite easy to code (like 10 minutes). If it must be done automatically every time you load a saved game, I have to ask Roman (Alkion developer) or PyTom (RenPy developer) on how to approach that.

But I'll take a look on RenPy forum just in case.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 28, 2013, 09:54:26 AM
What might be possible is to create a button that checks if new girls have been added to the game after you load the last save but it would be a weird button and I have no idea on which screen it belongs.
I don't see any problems with a button, if it saves us a lot of time. Something like "Check for new girls in the city" in some public location, like City Hall, Market or City Gates, with corresponding tooltip.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 28, 2013, 10:42:11 AM
I don't see any problems with a button, if it saves us a lot of time. Something like "Check for new girls in the city" in some public location, like City Hall, Market or City Gates, with corresponding tooltip.

I asked this question on forums, only if to learn something new. If noone knows of a good way (I know of a bad way actually, but it's way stupider than a button), I am 100% confident that I can make a failsafe button system :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on February 28, 2013, 12:17:00 PM
I am not a big fan of polite but reasonably polite with a small joke or a little stab here and there doesn't hurt anyone. If I came straightout offensive at any point, I do apologize! I greatly appreciate any help people offer to develop PyTFall!
It's okay, thank you for the clarification.



Quote
You've basically said that it would have been better to use file = os.path.join(imagedir, file).
No, I said it would be better to use "file = os.path.join(imagedir, file)" if whatever you need the path for expects a path formatted according to the conventions of the operating system ;-)

Quote
However changing that line of code in RenPy:

file = "%s/%s"%(imagedir,file)

to

file = os.path.join(imagedir, file)

simply breaks the game. The reason for that RenPy as it has it's own way of accessing system.
I realize that. My comment was aimed at bringing different path building conventions to your attention, so you don't try to use a RenPy-formatted path for pyexiv2, as that might break. Sorry if I told you something you already knew.


Quote
Framework does have it's charms as well! It's not only downsides :)
I know! I'm looking forward to people creating lots of nice quests :-)


Quote
All of your fixes and suggestions make sense, I'll have to try to adapt them to RenPy but I want to write some game code for now
Take your time. You can PM me if a question pops up.


Quote
And why would either of us give a damn about what happens in OtherWorld?
I used it as an example for a game that loads tag information from XML files. Yes, it's Flash, but I beleive that hard disk access is so slow that there will be almost no performance difference between reading XML from Flash and reading XML from Python.

Quote
I wonder how fast PytherWorld can do it?
Me too. I know loading my tag info for a several thousand image files causes a slight delay on a slow notebook harddisk, but I have to look up the exact number of tags loaded and measure how long it takes. Will report back on that one when I know more.

Quote
      x = 400
      while x > 0:
          traits = load_content('traits')
          x -= 1

This code loads it 400 times.
No it does not. The XML file is read once, maybe a few times, then the operating system will cache it somewhere and also the harddisk will cache it into it's RAM(?) cache. So, this code basically gives you one to a few harddisk accesses and 390+ times where the file is read from some kind of RAM, which tremendously faster than harddisk access. You would need 400 separate XML files to simulate reading 400 XML files.

Quote
You said it yourself, hardware gets faster than we can program :)
That is certainly true, but hard disk access is kind of an exception. They are getting faster much slower than the other components. Solid state disks are a big performance increase, but almost nobody has one. I'm not saying we should worry a lot about accessing files on the disk, but there are limits to what can be done in a few seconds.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 28, 2013, 12:57:56 PM
I realize that. My comment was aimed at bringing different path building conventions to your attention, so you don't try to use a RenPy-formatted path for pyexiv2, as that might break. Sorry if I told you something you already knew.

That is EXACTLY what I was thinking! And that is also what took me 3 hours to figure out. The only way to make it work was using RenPy formatted path. Maybe that is why you have to import something from RenPy into every single .py file of pyexiv2 module... but my knowledge of RenPy is also limited so I kept trying to reformat data using different os.path normalization methods on different stages of program and kept getting Windows path Errors and no such file exists errors.

It only occurred to me as the very last resort to try and force RenPy path transformation method and that is when pyexiv module started to function properly :)

This is something that seems insane to me but it was the only way to make it work.


Edit: One of the sh!ttiest things about RenPy is lack of advanced documentation, what is required to make a visual novel for someone who may not know nothing about programming at all is VERY well documented. Semi-difficult stuff like creating GUI elements in pure Python or RenPy languages is somewhat poorly explained and lack decent examples. But when it comes down to really advanced stuff, like inheritance from powerful RenPy classes to make your own custom ones, or unique cases when you want to do something out of general flow... I do not believe it is explained anywhere at all and it is assumed that you just have to open RenPy source files and figure it out for yourself, which is not really convenient to put it lightly :(



No it does not. The XML file is read once, maybe a few times, then the operating system will cache it somewhere and also the harddisk will cache it into it's RAM(?) cache. So, this code basically gives you one to a few harddisk accesses and 390+ times where the file is read from some kind of RAM, which tremendously faster than harddisk access. You would need 400 separate XML files to simulate reading 400 XML files.

That has never occurred to me...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 28, 2013, 01:36:01 PM
http://www.mediafire.com/?8z8p6ulsb2b7tz2 (http://www.mediafire.com/?8z8p6ulsb2b7tz2)

Someone has created a track for PyTFall. This is supposed to be battle but is kinda better suited for some event, place or a cave. Kind of reminds me of when Crono's Trigger crew traveled to 65 000 000 y. B.C.


Oh and this is for Dark or anyone else who speaks Russian and likes RPG:

https://dl.dropbox.com/u/43556362/%D0%A2%D0%B5%D0%BC%D0%B0%20SAO%20-%20%D0%B3%D0%B8%D0%BC%D0%BD%20%D0%BF%D1%80%D0%BE%D1%85%D0%BE%D0%B4%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%20-%2021%20-%20%D0%AF%20%D1%88%D0%B0%D0%B3%D0%B0%D1%8E%20%D0%BF%D0%BE%20%D0%BB%D0%B8%D1%81%D1%82%D0%B2%D0%B5....mp3 (https://dl.dropbox.com/u/43556362/%D0%A2%D0%B5%D0%BC%D0%B0%20SAO%20-%20%D0%B3%D0%B8%D0%BC%D0%BD%20%D0%BF%D1%80%D0%BE%D1%85%D0%BE%D0%B4%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%20-%2021%20-%20%D0%AF%20%D1%88%D0%B0%D0%B3%D0%B0%D1%8E%20%D0%BF%D0%BE%20%D0%BB%D0%B8%D1%81%D1%82%D0%B2%D0%B5....mp3)


Edit:

Oh and looks like RenPy 6.15 is gonna be awesome, console and screens that take positional parameters are going to be beyond useful!

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on February 28, 2013, 02:38:30 PM
Oh and this is for Dark or anyone else who speaks Russian and likes RPG:
Heh, remindes me another band, "Epidemic". Which band is this? I don't see its name in file properties, and even google is unable to find anything decent.

Someone has created a track for PyTFall
If you looking for tracks for various locations, I suggest trying this (http://animeost.info/15493/kamidori-alchemy-meister-sound-collection) OST from another game.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 28, 2013, 02:44:26 PM
Heh, remindes me another band, "Epidemic". Which band is this? I don't see its name in file properties, and even google is unable to find anything decent.

No clue...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on February 28, 2013, 03:07:07 PM
OK. It should be fine now.
I suddenly remembered one more thing. WM has one unpleasant feature: if you want to add one or several girls in the game, you have to start a new game after adding their files, otherwise game will ignore them. I don't know if Aika and Crazy have fixed it, but Future has fixed it definitely.
Hopefully, PytFall won't have such restriction.
 

Done and done and without the need for any buttons :)

I received an answer on forums. One of those cases when RenPy really came through and it took me about 3 minutes to code it.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 01, 2013, 06:06:04 AM
OK, let's clarify categories and their names once and for all to avoid any misunderstanding.

rest: rest_bed, rest_onsen, rest_garden, rest_beach and so on
blowjob pics: bj_deep, bj_titjob, bj_lickjob
normal sex: sex_69, sex_doggy, sex_got
anal: anal_69, anal_doggy, anal_got
lesbian: <------- which subcategories here?
mast for mastrubation
bdsm: <------- which subcategories here?
group: <------- which subcategories here?
a couple of battle sprites
profile with optional subcategories profileneutral, profilesad, profilehappy, profileangry
schools: dance, maid, etiquette, beauty, combat, (XXX = any sex pic, isn't it?)
shop for shopping
club for waitress (= maid school, isn't it?)
date, date_beach and so on
ent for entertainment (girl having fun of any kind or what?)
strip for striptease

Anything else? Like clean for cleaning (those pics are very rare even for popular characters)?
And do we still need quest sprites for each character? I doubt each of them will have a personal quest, after all. Or I'm wrong?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on March 01, 2013, 06:40:29 AM
Hey guys,

I timed timed tag loading in Pytherworld:
It took 2.7 seconds to load a database containing 4887 images and 44736 tags from a pickled python object in a binary file. This is necessary every time the program is loaded.
It took 216 seconds to create this pickled object by reading the tag information stored in the 4887 image files. This is necessary every time the program is released and every time a modder changes the tag information on the image files.

These times can probably be improved because I never looked into making this process faster - it was always fast enough for my requirements.


Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 01, 2013, 07:23:47 AM
OK, let's clarify categories and their names once and for all to avoid any misunderstanding.

rest: rest_bed, rest_onsen, rest_garden, rest_beach and so on
blowjob pics: bj_deep, bj_titjob, bj_lickjob
normal sex: sex_69, sex_doggy, sex_got
anal: anal_69, anal_doggy, anal_got
lesbian: <------- which subcategories here?
mast for mastrubation
bdsm: <------- which subcategories here?
group: <------- which subcategories here?
a couple of battle sprites
profile with optional subcategories profileneutral, profilesad, profilehappy, profileangry
schools: dance, maid, etiquette, beauty, combat, (XXX = any sex pic, isn't it?)
shop for shopping
club for waitress (= maid school, isn't it?)
date, date_beach and so on
ent for entertainment (girl having fun of any kind or what?)
strip for striptease

Anything else? Like clean for cleaning (those pics are very rare even for popular characters)?
And do we still need quest sprites for each character? I doubt each of them will have a personal quest, after all. Or I'm wrong?

More or less, but please remove location properties for now. I still haven't given up on Rudi's idea of adding tags to images and location should definetly be a tag. Same for specific sexacts. Those should also definetly be tags. Otherwise we are keeping simpler image categories like data, maid, anal, rest and so on, also profileneutral, profilehappy and so on.

Work as we have until now but add new categories. Maid is for cleaning by the way, most popular girls have at least one of those. quests, I wanted there to be quests for any characters, not just unique once.


Hey guys,

I timed timed tag loading in Pytherworld:
It took 2.7 seconds to load a database containing 4887 images and 44736 tags from a pickled python object in a binary file. This is necessary every time the program is loaded.
It took 216 seconds to create this pickled object by reading the tag information stored in the 4887 image files. This is necessary every time the program is released and every time a modder changes the tag information on the image files.

These times can probably be improved because I never looked into making this process faster - it was always fast enough for my requirements.

I hope I can figure this out as well...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 01, 2013, 08:06:38 AM
Very well. So, to put it in a single format:
**********************************************
sex-related: sex, anal, blowjob, les, bdsm, mast, group

work/school: maid, strip, combat, etiquette, beauty, dance

sprites: battle, quest

other: date, rest, ent, shop, nude, profile, profilehappy, profileneutral, profilesad, profileangry
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 01, 2013, 08:44:12 AM
Very well. So, to put it in a single format:
**********************************************
sex-related: sex, anal, blowjob, les, bdsm, mast, group

work/school: maid, strip, combat, etiquette, beauty, dance

sprites: battle, quest

other: date, rest, ent, shop, profile, profilehappy, profileneutral, profilesad, profileangry

Exactly! We will need that no matter what, if I figure out tag system and it works out for us, we add tags and use checks for those after image category is called.

If I don't figure out tags, we will create even more specific image categories from the once we already have.

BDSM and Group? That is with future in mind I guess. If we add some form of events where the girl gets raped or injured by costumers if security fails, we could use something for that as well.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on March 01, 2013, 09:07:28 AM
a couple of battle sprites
Do you think we need more than one?
Quote
ent for entertainment (girl having fun of any kind or what?)
yup, it was part of dates nighthalkex suggested, where you take girl out to have fun. But because these are not written yet, I kind of randomly put something in for first Naruto girls as I'm not sure what would fit...
Quote
Anything else? Like clean for cleaning (those pics are very rare even for popular characters)?
By early Xela's request, I also added battle (probably part of warrior report) and nude (dunno where this was supposed to be) category. But that's his call :)
Quote
And do we still need quest sprites for each character? I doubt each of them will have a personal quest, after all. Or I'm wrong?
Yes, but it's set in a way that it will work fine with only questneutral 0.png (other three fall to it) to not force people into photoshoping that much.
If you (or anyone), by chance, feel not like creating them, just send applicable pics to me, as I kind of enjoy this type of work.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 01, 2013, 09:11:00 AM
Do you think we need more than one? yup, it was part of dates nighthalkex suggested, where you take girl out to have fun. But because these are not written yet, I kind of randomly put something in for first Naruto girls as I'm not sure what would fit... By early Xela's request, I also added battle (probably part of warrior report) and nude (dunno where this was supposed to be) category. But that's his call :)Yes, but it's set in a way that it will work fine with only questneutral 0.png (other three fall to it) to not force people into photoshoping that much.
If you (or anyone), by chance, feel not like creating them, just send applicable pics to me, as I kind of enjoy this type of work.

Battle we need for schools and warrior job reports. Nude for events and maybe also with future in mind, for gameevents.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 01, 2013, 09:23:41 AM
Do you think we need more than one?
Probably not, but some of them may look funny during the combat, so this just in case.

By early Xela's request, I also added battle (probably part of warrior report)
I guess they fall under the category of combat? We already use word "battle" for sprites, after all.

If you (or anyone), by chance, feel not like creating them, just send applicable pics to me, as I kind of enjoy this type of work.
Thanks, I would appreciate that. I hate such things.

Nude for events and maybe also with future in mind, for gameevents.
Ok, I added nude to my post.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 01, 2013, 11:09:14 AM
One more thing I completely forgot about. Do we need Death category like in wm ex, for death and low-on-health events?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 01, 2013, 11:23:01 AM
One more thing I completely forgot about. Do we need Death category like in wm ex, for death and low-on-health events?

 That usually leads to pics where girls are all blooded or had been ripped apart.

 No, Roman had a very good solution to this for Alkion, simply to use profile images paired with im.Sepia() that recolors image in greyscale. That paired with text will be more than sufficient.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 01, 2013, 02:10:34 PM
OK, I have to clarify it. What do you expect from nude category, why don't use strip instead? Without any clothes at all or what?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 01, 2013, 02:33:59 PM
OK, I have to clarify it. What do you expect from nude category, why don't use strip instead? Without any clothes at all or what?

Yeah, most girls would have pics that clearly belong in strip category. Nude is without clothes, I don't think we need it right now but it will be handy in the future.


==================================
On a separate topic:

I am working on logic and finances right now and planning to rework how the game works a little bit because I didn't take everything I should have into consideration (Like a fact that strippers basically do not make any money at all other than a small amount of tips and it would be retarded to leave it at that, several other issues as well).

So I decided to make a different system. Every free girl will expect a wage, there will be a button in girl profile menu to make sure she gets it every turn even if it doesn't go straight into her pocket from work she preforms. Prostitutes will STILL expect a cut of the profit even if it's bigger than the wage they should expect but that cut will depends on girls disposition towards you and will be eventually balanced in such a way that if her disposition is over 500 out of max of a 1000, she will be happy with working for 40 percent. Rest of the girls will be happy with just wages so you can basically set house percentage to 100 and pay them what they require to be happy. If you choose not to, their joy and disposition drop rapidly and they leave your service.

Under this system, slaves will cost more as you do not pay them a wage and have higher upkeep than free girls as you have to feed and take care of them otherwise, while free girls buy their own food. Another advantage of having a free girls working for you instead of slaves that would otherwise be overwhelmingly cheaper workforce, is that free girls will spend money they make to improve themselves and maybe buy an occasional item if they have enough cash.

I think this will be a fairly honest, intuitive and interesting system. If you have something to add, have a different system in mind, or other design tips, let me know.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 01, 2013, 02:51:48 PM
Yeah, most girls would have pics that clearly belong in strip category. Nude is without clothes
Geez, that doesn't explain anything. Just tell what are you planning/going to use nude for.

Every free girl will expect a wage
There is an interesting feature in Brothel S.im: when you select girl wage via its bar, game also shows you how her disposition will change each turn with this wage, like -5 or +2. Quite handy.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 01, 2013, 03:08:11 PM
Geez, that doesn't explain anything. Just tell what are you planning/going to use nude for.

I don't remember, I though it would be useful while I was coding something, no longer remember what it was but it can be used for any event where girl has to be nude or in WM version when we add SM type of training and you wish to train her.


There is an interesting feature in Brothel S.im: when you select girl wage via its bar, game also shows you how her disposition will change each turn with this wage, like -5 or +2. Quite handy.

Perfectly doable. I'll add it after RenPy 6.15 is out, it's developer promised to fix that damn bar.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 01, 2013, 04:15:49 PM
CherryWood, I have created a Sprites folder in your dropbox folder. I'll put there pics for battle and quests whose background should be deleted, when you will have some free time. Thanks again.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 02, 2013, 08:37:53 AM
Xela, you mentioned Heal job once. Will we have it eventually? I thought about using Priest or Healer occupation for characters like Tsunade if yes.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 02, 2013, 08:52:29 AM
Xela, you mentioned Heal job once. Will we have it eventually? I thought about using Priest or Healer occupation for characters like Tsunade if yes.

Healer, yeah. That will work, maybe even a Medical-Nin.

But it is not likely to be a job before WM version. I want to keep it simple and I still need to add jobs for warriors. So for SimBro version, slave/free statuses and jobs that we have + jobs for warriors should be enough. For now, we'll make sure if there are girls in the same brothel who have healing traits, heal girls quicker.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: GonDra on March 02, 2013, 11:27:07 AM
Finally went through the resting texts and dropped a modified text into your folder DarkTl.
Mostly fixed typos and made the texts read better (I hope I did at least) but the sadist and masochist traits should be probably be rethought completely with the sexual connotation in mind.
I also did not agree with your description of the lolita trait. I dislike having this discussion but we (or more likely Xela) should probably discuss what we want to bundle with the game with in that regard, since even drawn porn of characters that are of questionable age can get you in big problems in some countries.

I will try to write some replacement texts for the SM traits later today but I am not familiar with those fetishes so I am not sure if I am able to.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 02, 2013, 11:49:26 AM
Thanks a lot, GonDra. Please also check for errors traits descriptions in traits.xml when you'll have free time.
Any new texts are welcomed, of course.

About Lolita, I've taken it from wm ex, and wm ex has taken it from wm, and in wm all girls have minimum age = 18, if I remember correctly. It means that girl is adult, but behaves or even looks like lolita.
Still, this question need to be clarified. For example, Hyuuga Hanabi from Naruto (she even has packs for wm) can't be 18 years old no matter what game says, and since I make Naruto packs right now, we have to resolve the matter.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 02, 2013, 12:47:49 PM
Legally I don't give a damn myself. I would still like to avoid outright loli characters to be shipped with the main version of the game because it is a very serious issue in many countries where legislator's heads are full of BS. It will be available as an addon and supported by dev team (or at least me if anyone wishes to add loli characters as addons, by supported I mean that if anyone needs help with scripting for loli characters unique events, I will not refuse. There will be no content in the main game that assumes there are underage characters anywhere near brothel or slavetraining.).

Still, this question need to be clarified. For example, Hyuuga Hanabi from Naruto (she even has packs for wm) can't be 18 years old no matter what game says, and since I make Naruto packs right now, we have to resolve the matter.

There is a girl that ships with original WM that has a pic saying 3yo mother in Japanese (looking about the same as well) on it so WM or WM packs are poor examples. Sh!t like that should definitely be avoided and will be avoided in PyTFall official versions.

================
Edit:

As for what to consider loli, use your better judgement. We do not have age (nor do we really need it in a game with a daylong term). Hinata is not over 18 in the series but she easily passes for 20+ on most shippuuden pics. Hanabi is obviously out and will be released as part of an addon after game is completed.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 02, 2013, 02:24:33 PM
I guess "loli" means not girls only? I just have found a good pic with Temari and Konohamaru  :)

There is a girl that ships with original WM that has a pic saying 3yo mother in Japanese (looking about the same as well)
Really? And here I thought Hanabi is the youngest in its packs. Jeez...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 02, 2013, 02:40:30 PM
I guess "loli" means not girls only? I just have found a good pic with Temari and Konohamaru  :)

Like I've said, use your better judgement. Don't give a damn about what age characters are in the shows, just what they appear like on the pictures. Konohamaru from shippuuden might pass in a pic's contexts.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 03, 2013, 10:03:20 AM
Any notes about characters skills, maybe list of all skills in the game? Or it is better do not touch them at all yet?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 03, 2013, 11:21:55 AM
Any notes about characters skills, maybe list of all skills in the game? Or it is better do not touch them at all yet?

Skills will not come until WM version so it's to early. Maybe missions are more to the point. Due to lack of time, I didn't get us much done on the project as I hoped this weekend but I made some progress in advanced logic and girl's finances. If I finish that by next weekend, I'll do image tags then.

Past that point, modding guide, modding system, jobs for warriors, missions and jokers remain as larger code blocks + Screens redesign. Rest is content like new girls, location, texts, events, endings and balancing of the game.

It still sounds like a lot but I can see the end :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 03, 2013, 11:28:20 AM
So, all skills strings can be safely removed from data.xml?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 03, 2013, 11:29:58 AM
So, all skills strings can be safely removed from data.xml?

What do you mean by skills strings? I though there were non in current data.xml?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 03, 2013, 11:37:06 AM
All yours characters have some skills in their xml, and because of that mine have them too. You know,
Quote
        <bskill name = "FistAttack"/>
        <mskill name = "Fire 1"/>
        <mskill name = "Fire 2"/>
that kind of strings.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 03, 2013, 11:58:07 AM
All yours characters have some skills in their xml, and because of that mine have them too. You know,that kind of strings.

Nope, those stay, they are for battle engine and determine what attacks and magic spells girls have.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 03, 2013, 12:09:36 PM
So, it is better do not touch them at all yet? Or game does have a lot of them already? Like, wind magic for Temari instead of fire?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 03, 2013, 01:57:50 PM
So, it is better do not touch them at all yet? Or game does have a lot of them already? Like, wind magic for Temari instead of fire?

We need to add those, wind graphics effects and wind sound effects. It's a whole other online search, for now just use fire, earth and water. Preferably only level one of each per character or non at all. Attacks are claw, knife, sword and fist I believe.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 04, 2013, 07:26:43 AM
RenPy 6.15 has officially been released. I have already moved my dev version to it, I'll upload it to drop box after I had a chance to do more work on finances and advanced logic.

_ Bug where bar was not updating values in real time has been fixed.
_ Console works!
_ Several others updates and bugfixes as well.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 05, 2013, 02:39:55 PM
RenPy 6.15 has officially been released. I have already moved my dev version to it, I'll upload it to drop box after I had a chance to do more work on finances and advanced logic.

_ Bug where bar was not updating values in real time has been fixed.
_ Console works!
_ Several others updates and bugfixes as well.

I got caught up in checking out 6.15 abilities (which are awesome by the way, we can have slider screens with 5 - 6 lines of code. I want main menu to be this way) and some rl stuff :)
 
I'll start writing code again tomorrow or the day after (evening).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on March 05, 2013, 04:17:56 PM
Hey guys,

I made some good progress today on the quest system. The encounter mechanics work already, so I started implementing quest mechanics. A quest is a series of encounters.

To create a  linear quest from existing encounters, you can currently write this:
Code: [Select]
    trap = TrapEncounter()
    trap.difficulty = 5
    quest = BaseQuest()
    quest.add_encounter("quest", "always", "trap1", trap)
    quest.add_encounter("trap1", "always", "trap2", trap)
    quest.add_encounter("trap2", "always", "trap3", trap)
A quest like this will require the questing characters to master the encounters trap1, trap2 and trap3.

However, I decided the most natural way to represent a quest is a tree of encounters. This means there are branches, more than one way to complete a quest and different encounters along the way, depending on how the previous encounters in the quest turned out. To create a branched quest, you could write:
Code: [Select]
    quest = BaseQuest()
    quest.add_encounter("quest", "always", "trap1", trap)
    quest.add_encounter("trap1", "success", "trap2", trap)
    quest.add_encounter("trap1", "failure", "trap3", trap)
    quest.add_encounter("trap3", "always", "trap4", trap)
In this quest, the characters first have to face trap1. If they succeed, they have to face trap 2. If they failed in the trap1 encounter, they have to face trap3 and trap 4.

To implement the tree structure, I used well-established code: the element tree API. This means it will be very easy to load quest definitons from XML in the future. The above quest in XML looks like this:
Code: [Select]
<?xml version="1.0" ?>
<quest>
        <trap1 if="always">
                <trap2 if="success"/>
                <trap3 if="failure">
                        <trap4 if="always"/>
                </trap3>
        </trap1>
</quest>

I'm pretty happy how this turned out. IMHO it is a powerful, flexibel system and especially using it should be quite simple. What do you guys think? Questions? Did I miss something?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 05, 2013, 05:05:15 PM
Looks good. It checks only vs the highest of relevant stats, not a combination of all or several stats?

I'll have to adapt this to RenPy and PyTFall, this is a great option for warrior job.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on March 05, 2013, 05:33:18 PM
Which stats are used is independent of this system and up to the implementation of the specific encounter. In the case of TrapEncounter, the best stat among agility, defence and magic is determined. Then, the value of the best stat is combined with the fatigue of the character. The problem with the current implementation (which I just noticed) is that higher fatigue improves the odds of success, but in reality high fatigue should make it more difficult. I'll fix that.
Code: [Select]
        # find the main trap-defeating attribute of this char
        anti_trap_stats = ["agility", "defence", "magic"]
        mainstatname, normmainstat = get_highest_stat(char, anti_trap_stats)
        # factor in fatigue
        minfat = char.min["fatigue"]
        maxfat = char.max["fatigue"]
        normfatigue = normalize_stat(minfat, char.fatigue, maxfat)
        # calculate capability
        # (the main stat is two times as important as fatigue)
        result = (normmainstat * 2.0 + normfatigue) / 3.0
        capability = int(round(result))

fix:
Code: [Select]
        freshness = 100 - normfatigue
        result = (normmainstat * 2.0 + freshness) / 3.0
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 05, 2013, 06:23:53 PM
Sounds good. Still, it feels like all stats should be taken into consideration... I need to test this in the game to get a good grip on this system. I'll try to get back to coding tomorrow, I completely drowned in stuff we don't even need for the game like old fashioned alien shooters, objects becoming transparent the farther you move mouse from them, forced mouse pointer control, solitare card game with drag/drop, screens, buttons and pictures moving around the screen, flashing, exploding and bouncing off each-other.

If I get sucked into that, it'll be for a couple of weeks so tomorrow evening I am writing at least 500 lines of code for PyTFall :) I need to wrap up finances and jobs first (should be less than 1000 lines left). Then I'll add warrior jobs, one for guarding and one besed on your code. Then I'll make all screens look at the very least 'decent', fix some loose ends here and there and start writing a modding guide...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on March 06, 2013, 02:13:15 AM
Quote
Still, it feels like all stats should be taken into consideration...
Okay, easy change. Which stats are important for which encounter depends entirely on the capability method of said encounter. So, only TrapEncounter.capability needs to be changed if you think it should depend on different stats. So, what stats should it depend on in your opinion? Can you give me a formula, or a list where each relevant stat has a percentage that describes how important it is for the TrapEncounter?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 06, 2013, 02:54:29 AM
Okay, easy change. Which stats are important for which encounter depends entirely on the capability method of said encounter. So, only TrapEncounter.capability needs to be changed if you think it should depend on different stats. So, what stats should it depend on in your opinion? Can you give me a formula, or a list where each relevant stat has a percentage that describes how important it is for the TrapEncounter?

Good morning! To much new information about PyGame and RenPy yesterday, still traces of headache remain... but it's a new day nonetheless :)

For trap encounter I think:

["agility", "defence", "magic"] This is a very good list, there should be 'intelligence' there as well since brains help avoid/get out of traps on occasion as well.

Maybe we can do it like this:

1) First check against intelligence and (in the future (For now just leave a TODO comment), level that we do not have today :( ). If intelligence and experience (level) failed...

2) Second check is against all three of these stats on equal bases: ["agility", "defence", "magic"]. Your normalization of fatigue to get freshness is also an  awesome idea, which should be taken into consideration on equal bases as well!
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on March 06, 2013, 04:52:59 AM
Quote
1) First check against intelligence and (in the future (For now just leave a TODO comment), level that we do not have today (http://pinkpetal.org/Smileys/DarkB/sad.gif) ). If intelligence and experience (level) failed...

2) Second check is against all three of these stats on equal bases: ["agility", "defence", "magic"]. Your normalization of fatigue to get freshness is also an  awesome idea, which should be taken into consideration on equal bases as well!
I like the idea to check against intelligence and experience first to avoid a trap and check defensive stats only if the "spot the trap" check fails. It makes sense. However, the system currently is to simply to support that in one encounter.

Possible solutions
A) We create a SpotDangerEncounter. The capability for characters in this encounter would depend on intelligence, experience and possibly a stat that represents the senses (I think I saw a stat called something like awareness?). If the characters succeed, they avoid the trap/fight/other danger and continue with their quest directly. This can be realized with a branched quest. The caveat here is that only diverging branches are possibly, not converging branches (diamond structures). Bigger quests with multiple traps are hard to code without converging branches.
Example
Code: [Select]
# diverging branches are possible
quest start
       |
SpotDanger
     /   \
Trap    end 
    |
   end

# converging branches are (currently) not possible
quest start
       |
SpotDanger
     /  \
 Trap   |
     \  /
    end


B) We recreate the branching functionality of quests for encounters and define encounter checks also in an ElementTree. I would advise against that as it adds complexity we don't really need.


C) We create a new encounter base class that allows characters to perform one or several "spot the danger checks" and win the encounter if they succeed. That's probably the solution that is easiest to code for me. It makes creating new encounters more difficult as then there are two base classes new encounters can be subclassed from and they will work slightly different.


My opinion
I think the best approach is to go with solution A). We can stick with the current system as it's IMHO good enough and before we start loading quests from XML I will figure out how to do converging branches in quests. That way we can keep the encounter classes relatively simple and you don't have to jump from quest to encounter classes constantly if you want to figure out the sequence of checks necessary to complete a quest.


EDIT: added a solution C). That one would be doable too, but is not as flexibel as solution A) and we proably want converging branches for quests anyway.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 06, 2013, 05:14:12 AM
Yeah, A) sounds more then sufficient. I am not sure this can be used for actual quests since those or at least most of those will be done in VN Style and require different approach. There should also be some form of string variable that these classes return so it can be appended to next day report lists, pictures here are obviously all combat (but that's on me), maybe tagged for better precision in the future.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on March 06, 2013, 05:30:22 AM
When I was talking about quests in the last few posts, I always refered to automated quests used for warrior jobs. These have nothing to do with quests the player character is involved in ;-)

The run_quest method of the quest classes, which is used to perform the quest, can return a string describing the results.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 06, 2013, 05:59:42 AM
A quick question: does game support animated gifs? Can't say there are a lot of them, but sometimes I come across ones.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 06, 2013, 06:14:44 AM
A quick question: does game support animated gifs? Can't say there are a lot of them, but sometimes I come across ones.

Disadvantages:

- Does not support .gif, .swf or anything that has to do with Flash.


Actually there is now a way to port some flash, but it's in early stages of development.

Unless you want to to rip that gif apart, there is no way. RenPy is excellent with animations otherwise.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 06, 2013, 06:19:46 AM
Maybe I'll convert it to animated png then if I'll find really interesting gif.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 06, 2013, 06:41:47 AM
Maybe I'll convert it to animated png then if I'll find really interesting gif.

Will not work either.

We'll have to use RenPy's own tools for animating an image or part of an image.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Mederic64 on March 06, 2013, 11:06:42 AM
You guys seem so motivated, I stongly wish you good luck.


If you need help with something, you can send me mps, I'll see what I can do.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 06, 2013, 11:57:33 AM
You guys seem so motivated, I stongly wish you good luck.


If you need help with something, you can send me mps, I'll see what I can do.

Oh yeah, we are planning to get this done. Content design is always required, if you want to design places, events, NPCs with texts/personalities/pics or just can write interactions, texts and so on, just act, I'll make sure they get coded into the game...



===============================
Otherwise, I've coded about 100 short lines of code today but it wasn't for PyTFall, there is an awesome concept design called S.L.U.T. in my Head on LoK. Someones wishes to learn RenPy and Python to give building that game a shot and asked me to help him with "filling the squares based on stats":


(http://img219.imagevenue.com/loc650/th_583866509_1_123_650lo.jpg) (http://img219.imagevenue.com/img.php?image=583866509_1_123_650lo.jpg) (http://img149.imagevenue.com/loc165/th_583869934_2_123_165lo.jpg) (http://img149.imagevenue.com/img.php?image=583869934_2_123_165lo.jpg)
     
Took me about 20 minutes... I have still about four hours left for PyTFall tonight :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: GonDra on March 06, 2013, 01:19:18 PM
DarkTl, I skimmed over the traits a bit ago and it looked mostly fine if a bit bland since they are so similar to the WM ones.
The only thing I am not completly sure we need right now from that list are the scar related ones, although I guess the warriors could have some use from them I guess.
Also added another argument to the artificial body in the rest text document.
I will still try writing some texts for the SM traits but it seems I burnt myself out writing my pet projects.

Xela that looks pretty nice, how far along is the project?
You wanted to do something on the ui front if I remember right, any chance you would make the text window for the event texts bigger?
Also if I might suggest placing the buy brothel button inside the brothel managing screen?

Edit: Found the file where I had begun describing traits, feel free to scavenge from it for the trait descriptions if you want. [google doc] (https://docs.google.com/document/d/1YUOTNf4jyZnnz1-UOGXD8Wlj57HCgmZuc9gUM0i9F9E/edit?usp=sharing)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 06, 2013, 01:44:25 PM
You wanted to do something on the ui front if I remember right, any chance you would make the text window for the event texts bigger?
Also if I might suggest placing the buy brothel button inside the brothel managing screen?

I made a huge design flaw, Slaves should have been added ONLY to WM version, I am getting sick of with writing the code that has to track if girl is a slave all the time... It is becoming abundantly clear to me why they never made a distinction between how game handles slaves vs free girls in WM on higher level...

I'll do screen design after figuring out the finances, wages and personal girl reports.




Xela that looks pretty nice, how far along is the project?

Not far... there are a couple of coders trying to realize the design. Game has a pretty awesome concept so I am not surprised! Guy who wishes to code it in RenPy is not very good but at least willing to learn...

Edit: Found the file where I had begun describing traits, feel free to scavenge from it for the trait descriptions if you want. [google doc] (https://docs.google.com/document/d/1YUOTNf4jyZnnz1-UOGXD8Wlj57HCgmZuc9gUM0i9F9E/edit?usp=sharing)

I think that was inside of your DB folder.


Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 06, 2013, 02:45:46 PM
The only thing I am not completly sure we need right now from that list are the scar related ones, although I guess the warriors could have some use from them I guess.
Precisely. Failed trap check, loss of many hp during a combat, etc. = scar trait. This will enliven gameplay, I believe.

Also added another argument to the artificial body in the rest text document.
I don't see any new  arguments there. Maybe you forgot to save it or something?
 
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 06, 2013, 03:49:15 PM
Looks like we'll cover all Naruto characters which have enough pics to make a more or less decent pack when Cherry will finish Sakura and Ten-Ten.
I'm going to make Kos-Mos and maybe T-elos (if she has enough pics) from Xenosaga next, then I'll adapt Persona characters to new format. After that probably One Piece.

Also I think we should start to looking for another hosting for packs. My 3,4 Gb from dropbox is filled by 74% already.

We'll have to use RenPy's own tools for animating an image or part of an image.
So much for excellent with animations  :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 06, 2013, 04:21:00 PM
Looks like we'll cover all Naruto characters which have enough pics to make a more or less decent pack when Cherry will finish Sakura and Ten-Ten.
I'm going to make Kos-Mos and maybe T-elos (if she has enough pics) from Xenosaga next, then I'll adapt Persona characters to new format. After that probably One Piece.

Sounds good. I am still struggling with damn wage cr@p I came up with myself. Didn't get as much done as I would have liked but there is progress here and there. There will be two bars, one for the house percentage, other for wage mod and series of functions balancing everything out... should have kept things simpler but now it's to late to go back.


Also I think we should start to looking for another hosting for packs. My 3,4 Gb from dropbox is filled by 74% already.

I am still below 5% I think. We can use MEGA account or something similar to that.


So much for excellent with animations  :D

Animations used in battle engines are made with 5 - 6 lines of code and called with one. It's fast, can use either OpenGL or DirectX and is fairly easy to code. I would say it's excellent... lack of format support has never been considered a problem as far as I know because most developers would prefer animations that they could easily control and adapt.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 06, 2013, 04:54:35 PM
Animations used in battle engines are made with 5 - 6 lines of code and called with one
Oh yeah, that reminds me, since it's not supports any moving pics, it can't be easy to create magic effects in battle? You can't just find some random gif with a fire in the internet and throw it in an enemy, after all.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 06, 2013, 05:11:56 PM
Oh yeah, that reminds me, since it's not supports any moving pics, it can't be easy to create magic effects in battle? You can't just find some random gif with a fire in the internet and throw it in an enemy, after all.

Have you ever seen a game that could?

You need a number of images to make an animation. There was a good possibility for 'Light' spell in one of the RPG's you've ripped while looking for pictures of items.



===================================================================

And I am done for tonight, maybe not 500 lines but fairly close to that and I see a clear code-structure for basic finances logging and wage system that we're going for!
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 07, 2013, 03:51:10 AM
Have you ever seen a game that could?
Well, the game you mentioned widely uses small, short movies with transparent background for many battle animations. I had no idea that this is possible until I've ripped it.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 07, 2013, 04:03:02 AM
Well, the game you mentioned widely uses small, short movies with transparent background for many battle animations. I had no idea that this is possible until I've ripped it.

That you could prolly use in RenPy, but animations would be better :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 07, 2013, 05:12:22 AM
Well, the game you mentioned widely uses small, short movies with transparent background for many battle animations. I had no idea that this is possible until I've ripped it.

Here is a thought... open .gif in photoshop, you should get a number of layers, save those one by one as .png files and we can animate those with RenPy :)

==============================
Here, I've ripped a .gif and loaded it into RenPy (First animation I've ever made by the way, never used those prior, only read about):

https://dl.dropbox.com/u/43556362/Dice%20Animation-1.0-win.rar (https://dl.dropbox.com/u/43556362/Dice%20Animation-1.0-win.rar)

It is possible to move around entire screens with one/two lines of code. When I get around to screen design, idea is to add one of the girls pictures to startscreen and have another screen with nicks of development team members that "slides" from "out of bounds" if player hovers with mouse over the girls picture :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 07, 2013, 07:26:07 AM
Here, I've ripped a .gif and loaded it into RenPy
Nice  :)

I've found another RenPy game on Rutracker, "Science Girls". It has a similar battle system, take a look at it if you want to, maybe you can rip some good resources from it. I failed to find out where it stores animation and sounds.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: GonDra on March 07, 2013, 07:58:44 AM
I don't see any new  arguments there. Maybe you forgot to save it or something?

Dammit, I usually hit the save shortcut so often unconsciously that I didn't bother to check if I actually had saved it before closing it.
Basically I argued that you wouldn't let a girl with such a limited understanding of 'organics' as your rest text implies near customers, besides that I can't think of any robot girls that would do something like that in anime or manga, most of them are depicted as very kind and aware of their powers. Besides that Artificial body can also be used to describe a cyborgs body, so you can't assume that a girl has no knowledge of 'organics'.

EDIT: Also the formating of the trait file xml looks fucked up in my editor of choice (notepad++).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 07, 2013, 07:58:56 AM
Nice  :)

I've found another RenPy game on Rutracker, "Science Girls". It has a similar battle system, take a look at it if you want to, maybe you can rip some good resources from it. I failed to find out where it stores animation and sounds.

I've checked that game out long time ago to learn about how it was coded, is that a Demo or Full version on RuTracker??? Take a look inside and see if .rpa file is bigger than 16mb... All pictures are in RenPyAtchive file but it's not difficult to extract using RenPy, I have only a demo version and it is of somewhat limited use (there is a possibility for lighting effect there however... also couple of hex circles)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 07, 2013, 08:16:35 AM
I've checked that game out long time ago to learn about how it was coded, is that a Demo or Full version on RuTracker?
That's not a demo, at least version for windows. Just follow the instructions in "Tabletko" folder, if you know what I mean  :)

Besides that Artificial body can also be used to describe a cyborgs body, so you can't assume that a girl has no knowledge of 'organics'.
Make sense. I guess we need a trait like Artificial Intelligence for pure robots and artificial, but organic characters then.

Also the formating of the trait file xml looks fucked up in my editor of choice (notepad++).
I use usual notepad. I'm not a big fan of notepad+ after it showed a complete inability to work stably with hex files even with plugins.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 07, 2013, 08:44:56 AM
That's not a demo, at least version for windows. Just follow the instructions in "Tabletko" folder, if you know what I mean  :)

I do not have account on that tracker. I have no idea what you mean :(

Can you up that game to dropbox? I'll copy it and you can delete it afterwards... Just check if .rpa file is not the same one I have (bit smaller than 16mb) and I actually only need the archive.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 07, 2013, 08:51:17 AM
If you mean sg.rpa, then its size is more than 32 Mb. I've put installer and, um, other files in shared folder.
---------------------
Or maybe we should use trait like Unemotional, not just for robots, but for all Rei-like characters.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 07, 2013, 09:00:42 AM
If you mean sg.rpa, then its size is more than 32 Mb. I've put installer and, um, other files in shared folder.
---------------------
Or maybe we should use trait like Unemotional, not just for robots, but for all Rei-like characters.

Ok, the one I have is half that size...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: GonDra on March 07, 2013, 09:39:16 AM
Or maybe we should use trait like Unemotional, not just for robots, but for all Rei-like characters.
Unemotional is a good name for the trait.

I use usual notepad. I'm not a big fan of notepad+ after it showed a complete inability to work stably with hex files even with plugins.
Hmm... I never need to work with hex files, I fell in love with it because of the syntax highlighting and auto completion features, probably saved my ass a few times when I was late with homework (and that one Test where I fell asleep for half an hour).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 07, 2013, 09:45:54 AM
Unemotional is a good name for the trait.
Btw, which of the names would be better, Unemotional or Emotionless?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 07, 2013, 10:17:31 AM
Btw, which of the names would be better, Unemotional or Emotionless?

I like 'Emotionless' or 'Impersonal', description should say "Almost completely devoid of emotion", cause even Rei expressed emotion on several occasions.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 07, 2013, 12:53:33 PM
I like Impersonal, added.
you wouldn't let a girl with such a limited understanding of 'organics' as your rest text implies near customers
Why?  That would be a great event (https://dl.dropbox.com/u/79429937/1cf6f0af83171fe624dee0583c47a53c.jpg)  :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 07, 2013, 01:02:47 PM
I like Impersonal, added.Why?  That would be a great event (https://dl.dropbox.com/u/79429937/1cf6f0af83171fe624dee0583c47a53c.jpg)  :D

LoL

I've unpacked .rpa. We can use construct Lightning spell based on that. Maybe more, we'll see.

========================================
Damn, been helping a relative to restore part of the wall infected by mold. Breathed in to many chems and I am fairly sure that I'm tripping... Going to get some air and then write 100 lines of code (I am actually wondering what that code will look like on fresh head tomorrow morning...) And I can't stop watching those damn dice flying around the screen  :P
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 07, 2013, 05:19:34 PM
Any suggestion about androids occupations? Most of them don't have strict moral principles (or any principles at all), more or less obedient and fight well too, so they are pretty much universal in terms of jobs.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 07, 2013, 05:26:26 PM
Any suggestion about androids occupations? Most of them don't have strict moral principles (or any principles at all), more or less obedient and fight well too, so they are pretty much universal in terms of jobs.

I suggest finishing with base code for advanced logic first and take care of that later...

=========================================
Ok, Almost 2 am but this time I can actually see some of the progress :)

There is new report on next day, kind of girl's personal report. It will be used in the future a lot I expect... Basically it checks and applies wage effects, does some basic stuff if girl has some AP left, counts for how many days girl's been working for you, logs in girls income/spending and so on... I've debugged it to the point where it no longer crashes the game as far as I can tell so this weekend I'll see if I can add new frames that give us a hint of finances...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 08, 2013, 03:12:04 AM
I suggest finishing with base code for advanced logic first and take care of that later...
Very well. I'll go play something instead of creating packs then  8)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 08, 2013, 04:02:56 AM
Very well. I'll go play something instead of creating packs then  8)

Or you could create packs and just use occupation randomly  ???

Just kidding, have fun playing "something".
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 08, 2013, 09:17:27 AM
One of the things I learned from my attempts to create the intro is punishability of initiative in this project without comprehensive, thorough consideration with dev team. I won't make this mistake again.
Usualy I have enough free time to create at least 1-2 packs per day, so I'd rather wait until we clarify all the details than make a lot of incorrect packs on my own. Naruto packs were for testing purposes, after all.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on March 08, 2013, 11:13:09 AM
That's good...
I tried again, but I'm just not able to create a girl in less then about 8 hours... I will probably not have basic form of NGE pack ready before next weekend.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 08, 2013, 12:51:36 PM
How many sources you use for packs? I use 6 right now, including google (great for profile pics, really).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 08, 2013, 01:39:48 PM
8 hours is to long... especially at this stage where you cannot test most of this properly.

In any case, I was to busy today for coding but I'll try to put 4 - 5 hours into the project tomorrow.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 10, 2013, 03:11:31 PM
Quick update:

Downtimes on .uni.me are getting more and more troubling. Practically not a week goes by without them and last one lasted almost 24 hours instead of usual 2 - 6...

In any case, I wrapped up some logic and coded in checks on traits Dark wrote for rest act. Couple of bug fixes as well. I'll try to get girls and brothels basic finances displayed tomorrow.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 11, 2013, 09:21:56 AM
First prototype of Finance screen are ready:

 
  (http://img266.imagevenue.com/loc365/th_300850628_1_123_365lo.jpg) (http://img266.imagevenue.com/img.php?image=300850628_1_123_365lo.jpg)
     

Totals over the duration of the game comes next... (Done)


  (http://img267.imagevenue.com/loc198/th_014066670_2_123_198lo.jpg) (http://img267.imagevenue.com/img.php?image=014066670_2_123_198lo.jpg)
     

Will be adding one to Brothel as well.
         
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Drinflo on March 11, 2013, 12:56:33 PM
Hello, I quite like the looks of the game so I thought I should drop this reply. If you still need writers (as in text and not code) I would be more than willing to help. I am also a bit experienced with xml code (do not expect too much out of me). If you still need a writer and wouldn't mind a first time poster I would be glad to help in any way I can. ^^
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 11, 2013, 01:35:43 PM
Hello, I quite like the looks of the game so I thought I should drop this reply. If you still need writers (as in text and not code) I would be more than willing to help. I am also a bit experienced with xml code (do not expect too much out of me). If you still need a writer and wouldn't mind a first time poster I would be glad to help in any way I can. ^^

We're always in need of extra hands!

Figure out what you want to write, there are many options, just start with something and submit your writing, I'll code it into the game as time permits:

Possibilities:
 
 - Girls interactions. Basically chats/actions with girls and girl's replying to you based on their traits and stats.
 
 - Design NPC characters. Like in Otherworld or SlaveMaker. They should have their own personalities, interact and maybe give out some form of quests. Events with those NPC's and maybe unlocking something new in game after finishing those events.
 
 - Writing scenarios, like date in the park scenario or something similar.

Also if you're serious about helping us out, you need to familiarize yourself with game, like stats, conditions, traits and so on.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 12, 2013, 07:02:03 AM
 8) 8) 8) 8) 8) 8) 8) 8) 8)

One thing is to "brag" that RenPy can do it, other is to manage to actually do it for the first time :)

Fin screen now beautifully "slides" from out of screen bounds and disappears the same way when you close it!
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Drinflo on March 12, 2013, 08:36:02 AM
I'd love to help, and I will write something this coming weekend, but a list of what can be written would be helpful, as you said girl interactions but which girls im pretty sure some of them are already written, also you said something about NPCs, can I just whip up an npc give him a personality and a quest and then find some images that would suit him/her? Also something more, a test version download link would be really helpful. If there is one I did not manage to find it >.<.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 12, 2013, 09:43:00 AM
I'd love to help, and I will write something this coming weekend, but a list of what can be written would be helpful, as you said girl interactions but which girls im pretty sure some of them are already written

There is no list at this point, you'll have to figure it out for yourself.

Those can be improved in MANY ways or even expanded.

also you said something about NPCs, can I just whip up an npc give him a personality and a quest and then find some images that would suit him/her?

NPCs, Locations, Events, it'll all come useful at some point.

Also something more, a test version download link would be really helpful. If there is one I did not manage to find it >.<.

https://dl.dropbox.com/u/43556362/SimBro%20PytFall-0.26-win.rar

This is an older version, but you can use it for now. Just take a look and see what you want to improve/add.

I'll also attach current traits file.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 12, 2013, 10:31:48 AM
I'd love to help, and I will write something this coming weekend, but a list of what can be written would be helpful
Well, good example are small, random events occurring during the different jobs depending on character traits. We only have some for Rest for now, so the more the better. If Xela will provide list of jobs which he is going to use at least in basic version, it probably will help too  :)

We don't have any npc yet, and locations are pretty random, so if you feel like creating them, do what you think is right.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 12, 2013, 01:56:55 PM
Well, good example are small, random events occurring during the different jobs depending on character traits. We only have some for Rest for now, so the more the better. If Xela will provide list of jobs which he is going to use at least in basic version, it probably will help too  :)

We don't have any npc yet, and locations are pretty random, so if you feel like creating them, do what you think is right.

 Yeap

 I decided that it is time to update dev version to 0.28 as a decent amount of new code has been written. Still to early for new preAlpha :(


(http://img161.imagevenue.com/loc242/th_111411144_3_123_242lo.jpg) (http://img161.imagevenue.com/img.php?image=111411144_3_123_242lo.jpg)

Brothel management screen now looks a little bit better.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Armegetton on March 12, 2013, 08:57:12 PM
For those who only grab the SimBro PytFall v0.28 and copy it to another location for testing.

Remember to copy the entire renpy-6.15.0-sdk\module folder that xela has and copy/replace it into your own module folder for renpy.

Otherwise, errors will abound.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 13, 2013, 06:36:28 AM
For those who only grab the SimBro PytFall v0.28 and copy it to another location for testing.

Remember to copy the entire renpy-6.15.0-sdk\module folder that xela has and copy/replace it into your own module folder for renpy.

Otherwise, errors will abound.

Yeap... Just one error actually, since game is trying to import tag module.


I've gave it a test run yesterday, fixed a couple of bugs, apparently only normalsex act was logging in wages, some other minor stuff as well. Library folder is updated.
==========

@ Dev team(or anyone who's interested):

I would like to hear some of your thoughts on how to approach next day reporting. What we have right now is basically a cycle of codeblocks within one method. While it would prolly make sense to split it into multiple methods for better code readability, I can manage the way it is now. Question to you is:

How do we combine reporting stats, income and texts during the next day?

Options:

1) We leave everything as it is now, just improve the reports.

2) We do not report any stat increases during job performance at all. Just leave texts. Players would have to just guess.

3) We report stat increases in a separate window during the next day report and clean texts. Text still may give a hint of what has happened to stats and why, but all numbers will be on a separate sheet. (I particularity like this way because it's clean and has only one downside (Player will not always know why certain stat went up or down)).

4) Same as above but we make two text windows and report with texts events during the job in one and what has happened with stats in another. (This is a lot of work and prolly not worth it).

As for income, this needs to be changed because wages are being settled after all acts are performed (next day report for every girl separately)

There are likely to be more options...

Tell me what you think.



==========================

As logic matures, tell me if you have any input on obvious improvements, questions or ideas. For example it just occurred to me that player should not pay girls upkeep if she is sent off to school or pay her a wage while she is resting.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 13, 2013, 08:07:05 AM
I personally think we don't need superaccurate reports about every single stat change.
While major events like acquisition of some trait or random attack undoubtedly should be reflected in report, reading about improving the constitution of every single cleaner every single day quickly get bored. We could write about possible stat changes in the job's tooltip or ingame faq.

I like the way it handled in brothels.im though, where different stats have different colors and game just shows you +3 -2 +4 every turn, so game interface is not cluttered with text. If you feel like borrowing that system, or using something similar, i.e. simple and clear instead of walls of text, I have no objections.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 13, 2013, 08:32:38 AM
It appears that I'm unable to launch the game anymore. When I try to execute renpy.exe, nothing happens. I use win7, tried to run as administrator too.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 13, 2013, 12:38:26 PM
It appears that I'm unable to launch the game anymore. When I try to execute renpy.exe, nothing happens. I use win7, tried to run as administrator too.

The problem is that you guys are launching the same RenPy SDK from multiple systems :)

I couldn't launch it either so I've reuploaded the whole thing. Best bet is to download a fresh copy of RenPy and copy project in there. It will most definitely work.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 13, 2013, 12:43:59 PM
I like the way it handled in brothels.im though, where different stats have different colors and game just shows you +3 -2 +4 every turn, so game interface is not cluttered with text. If you feel like borrowing that system, or using something similar, i.e. simple and clear instead of walls of text, I have no objections.

That is practically the same as I suggested :) Put stats on separate window, coloring fonts is easy with RenPy. Text will not be cluttered that way.

brothels.im has good texts but they rarely match the images and options for Browser based games are somewhat poor.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 13, 2013, 03:19:00 PM
That is practically the same as I suggested :) Put stats on separate window, coloring fonts is easy with RenPy. Text will not be cluttered that way.
Yeah, the thing is, even through I like it, I'm still not sure we need it. WM and Slavemaker do well without such detailed statistics. I guess we should try and see for yourself.

I couldn't launch it either so I've reuploaded the whole thing.
I can launch it now, but I can't start a new game because db/map.xml is missing.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 13, 2013, 04:02:20 PM
I can launch it now, but I can't start a new game because db/map.xml is missing.

I'll upload it again, try it then.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 13, 2013, 05:32:45 PM
Thanks, it works now.

I think one thing that should be changed is selection of brothel every time you want set someone to work. Another button like "Move to another brothel" or something would be better, like in WM. I just test the game several times, not play it, and I already getting tired of this extra movement  :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 13, 2013, 05:40:51 PM
Thanks, it works now.

I think one thing that should be changed is selection of brothel every time you want set someone to work. Another button like "Move to another brothel" or something would be better, like in WM. I just test the game several times, not play it, and I already getting tired of this extra movement  :)

Ok, noted, I'll try to figure out best way to approach this if I have time tomorrow. Will likely have to be weekend otherwise.


@CW:

Any progress with girlsmeets?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on March 14, 2013, 05:12:27 AM
Quote
Any progress with girlsmeets?
I'm really, really sorry, but I have nothing. Nothing at all.



And I'm not working on it now either, I left that a while ago because I just wasn't able to do it. I was under impression that you know about that, but now I see that I stupidly deleted the file where I was saying that... My fault, again, I'm sorry.



I would love to help but... honestly, better to not count on me with anything right now. I've got a lot of school work to do and I also have an annoying toothache that prevents me from concentrating.... so now I was doing only the simplest stuff, like girl images (and even that was going slowly - NGE girl pack is only about 75% done and I barely touch my remaining share of work on Naruto)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 14, 2013, 10:40:41 AM
Jeez, looks like I have to delete those damn backgrounds by myself after all.
Well, to be honest, I had a premonition about that. My Naruto packs are completely ready. Maybe a couple of tweaks with traits though.

I'll see what I can do with those lines from artificial girl after I'll finish with Persona adaptation and background c**p.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 14, 2013, 04:13:33 PM
I'm really, really sorry, but I have nothing. Nothing at all.



And I'm not working on it now either, I left that a while ago because I just wasn't able to do it. I was under impression that you know about that, but now I see that I stupidly deleted the file where I was saying that... My fault, again, I'm sorry.



I would love to help but... honestly, better to not count on me with anything right now. I've got a lot of school work to do and I also have an annoying toothache that prevents me from concentrating.... so now I was doing only the simplest stuff, like girl images (and even that was going slowly - NGE girl pack is only about 75% done and I barely touch my remaining share of work on Naruto)

Ok, then I'll take a look at what you have in your db folder and see what I can make of it. Try pouring propolis extract (usually dissolved in alcohol) on base of the aching tooth, may hurt like hell for a short while but pain will go away after a couple of repeats..
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on March 14, 2013, 06:09:29 PM
Jeez, looks like I have to delete those damn backgrounds by myself after all.
Well, to be honest, I had a premonition about that. My Naruto packs are completely ready. Maybe a couple of tweaks with traits though.
It's still ok, I don't plan to stop working on images. It's just because I was doing some other girls first (and did stuck with that for longer then I expected) that I don't have Naruto girls done yet.  But I can leave that and do it as soon as possible, it's no problem.



If you want the pics you send me back with just background removed, I upload them right away (done), but that's was not my target. I'm trying make the expression pngs for like-visual-novel scenes and for that I need a little more time and I may or make not use these. I only have Shizune from Naruto girls completed at this very moment, but I upload her now so you can decide if your are willing to wait a bit more for me to do the rest.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 15, 2013, 06:00:28 AM
I only have Shizune from Naruto girls completed at this very moment, but I upload her now so you can decide if your are willing to wait a bit more for me to do the rest.
Wow, excellent work. I'll put backgroundless pics you uploaded to girls folders in case if Xela will need them for testing, but I definitely will wait for other "novel" sprites.

I know, you want to create Aeris by yourself, but maybe I'll create other packs you going to make, while you take care of backgrounds and sprites?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on March 15, 2013, 10:06:01 AM
Thanks, I would gladly continue doing that. I suggest it like this: The girl currently needs only (not 100% sure now, but it was like this in older versions) a battle sprite and one quest pic to work, so if you send me any of these, I'll always try to do it right away to make the girl usable fast.
The "novel" sprites are on the other hand just optional and also more time consuming (but It's like my personal interest to have these, so I want to them the best I could, no matter how infective this effort may look from game development standpoint). If you will agree, I would like doing them more or less in time of my own initiative (but only with your permission for the girl of course) without you waiting for them, because I just can't promise that I can always keep up or feel like creating them soon.


About the girl packs, now I have all of the required images on my HD for NGE and Sailor Moon girls, they are still mostly unsorted, but I'm working on them bit by bit. Also, there is a lot of possible "picture event" images within them, so maybe I will try to write some of these. This, together with sprites, is sure enough for me now, considering the limited time I will probably have in next few weeks, so feel free to start making anything else you want.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 15, 2013, 10:26:29 AM
Well, best way is to take it one day at a time. I cannot code on daily bases either, not even on every weekend. I am trying to get more help for text writing but nothing very promising so far.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 15, 2013, 10:57:10 AM
a battle sprite and one quest pic to work, so if you send me any of these, I'll always try to do it right away to make the girl usable fast.
Alright, I'll continue to send them. While I'm able to quickly and neatly delete simple (i.e. homogeneous and contrasty enough) backgrounds by myself with the help of paint.net standard tools, I have problems with more complex backgrounds. Images often become messy and with blurred contour.

If you will agree, I would like doing them more or less in time of my own initiative (but only with your permission for the girl of course)
Ok, feel free to make them when you have time. Use your own judgment, not every girl has good pics for novel sprites after all.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: topher500 on March 16, 2013, 02:50:57 PM
where can i get this game at?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 17, 2013, 06:38:06 AM
where can i get this game at?

Well, this being a development thread, hopefully somewhere in the future :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 21, 2013, 05:48:20 AM
Xela, the project is still alive? It's been awhile since the last update or even meaningful post.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 21, 2013, 06:01:30 AM
Xela, the project is still alive? It's been awhile since the last update or even meaningful post.

Yeah, I've been busy with rl stuff so I am just checking in to kill bots right now. I am planning to do some work on guarding job (that cannot really be a job in the same sense as others but intercepts during bar/club/whore) and improving the interface. I've also recruited a couple of writers so we'll see if they can come up with a couple of decent new places in the city and NPCs to go with those.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on March 23, 2013, 01:32:46 PM
Can that origin string in data.xml you talked about contain spaces?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on March 23, 2013, 06:38:05 PM
Can that origin string in data.xml you talked about contain spaces?

Yeap, since it will be used as a string.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: jpoe45 on March 25, 2013, 06:10:50 PM
what kind of writing do you need?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 07, 2013, 03:23:17 PM
Ok, so next week, if time allows I am resuming coding for the project. I wrote some code already for guard job but now I look back it at, it is to messy, long and results are to simplistic :( so I will work on rewriting that as first priority.

As I've said before, I've recruited three writers on Futanari Palace and SimBro forums but after we spent couple of hours sending messages back and forth and decided exactly on what content they will work on, not ONE :D of them submitted anything...

what kind of writing do you need?

We need places, colorful NPC's, job texts, event texts, events and so on, I cannot repeat myself all the time.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 07, 2013, 03:53:27 PM
I guess it's hard to find free writers these days. Unless we have a fully playable version, our chances are slim to none.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on April 07, 2013, 05:25:20 PM
I had to spend majority of my time on my graduation thesis and other school stuff, so I did only very little and it doesn't look well with my time for this month either, but I try to resume creating more girls. (don't feel like writing now, sorry)


May I ask how fast do we need them? I tried my best for the girls I send until now, but It was also really slow. If needed, I can probably make them much faster if I skip some time consuming activities like editing, optimizing, creating sprites and omit some secondary sources, but the quality will suffer, especially for the less popular characters.


Anyway, I will try to cover Bleach next, if that's ok.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 08, 2013, 02:51:44 AM
I had to spend majority of my time on my graduation thesis and other school stuff, so I did only very little and it doesn't look well with my time for this month either, but I try to resume creating more girls. (don't feel like writing now, sorry)


May I ask how fast do we need them? I tried my best for the girls I send until now, but It was also really slow. If needed, I can probably make them much faster if I skip some time consuming activities like editing, optimizing, creating sprites and omit some secondary sources, but the quality will suffer, especially for the less popular characters.


Anyway, I will try to cover Bleach next, if that's ok.

Work at your own pace, we don't need them fast at this point. Doing Bleach next sounds fine too.


I guess it's hard to find free writers these days. Unless we have a fully playable version, our chances are slim to none.

You're prolly right. Usually when project starts, sh!yloadz of people join in but most loose interest or just disappear fairly quickly. I was kind of hoping it would be different for PyTFall for some reason since it answers most requirements (moddability, solid dev environment, High Level PL and so on)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 08, 2013, 04:36:20 AM
You have to maintain interest to any incomplete project if you want many volunteers. Like Otherworld, which is actually far from being playable, but Daisy has updates in the blog almost every day, even if there is no progress at all (compare it to Alkion, where, at best, one update per month).

Otherwise just wait until we have playable and stable version uploaded on a couple of trackers (like pornolab). "Valet pletey" has a huge number of volunteers after that.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 08, 2013, 06:19:13 AM
You have to maintain interest to any incomplete project if you want many volunteers. Like Otherworld, which is actually far from being playable, but Daisy has updates in the blog almost every day, even if there is no progress at all (compare it to Alkion, where, at best, one update per month).

Otherwise just wait until we have playable and stable version uploaded on a couple of trackers (like pornolab). "Valet pletey" has a huge number of volunteers after that.

I don't see that many people working on OtherWorld, as for Valet Pletey, I though OldHuntsman worked along on the project with a bunch of betatesters? Also there is difference in volunteers themselves, there are like 8 active people in Alkions Skype chatroom, but only Eliont is actively developing it.

There is decline in activity on many forums that are dedicated to development of indie sim games, maybe because there are so many at this point or there is a lot of fatigue because so many projects die young.

In any case, my take on this matter is that people who really want to help with development will eventually find a way to join the project dev team and will find a suitable task, rest that just comes to chat or constantly asking questions on what to do are not being serious. Like you or CW never needed exact instruction to create traits or packs, if you had questions, you've asked but you picked something to do and just worked on it, same with Rudi and Gon. It all comes down to if a person wishes to study the game a bit and find a suitable task for themselves or just ask for specific task that is almost never possible to assign to someone who is only vaguely familiar with games design.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 08, 2013, 11:09:52 AM
I don't see that many people working on OtherWorld
What I mean is that the game is well known, even despite being quite unfinished and having hordes of bugs in every singe release. Good advertisement, if nothing else.

as for Valet Pletey, I though OldHuntsman worked along on the project with a bunch of betatesters?
Yup. He never asked for writers and designers though, he asked for testers and now he has as much of them as he needs.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 08, 2013, 01:24:36 PM
What I mean is that the game is well known, even despite being quite unfinished and having hordes of bugs in every singe release. Good advertisement, if nothing else.

Well, project has been around for quite a while and Daisy for even longer so that's obvious.

=====
Managed to write about a 100 lines of code today so it feels like I am getting my head wrapped around the project again!
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on April 09, 2013, 05:10:32 AM
Hey guys,

I worked some more on the system for automated quests (without player interaction). It is running without errors, which is good. I don't like the results currently though, because even maxed out characters fail pretty often at quests. Either my testing code does something wrong, or the success calculation code does something wrong, or the balancing is way off. I suspect it's the balancing, but I'll have to check it more to be sure.

If you want to figure out how new encounters and quests can be created, I suggest you look at the (simple) code of the TrapEncounter and LostTempleQuest classes. If you come up with any questions, ask away :-)

Btw, Xela, I looked at the paperdoll code and XML in Otherworld, because I somehow really like those paperdolls. It actually looks way more complicated than it is. The hardest part of reimplementing that system in Python was to find the part of the Flash code that parses the XML and figuring out how image scaling works in Flash in comparison to Qt.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 09, 2013, 07:14:44 AM
That reminds me, what are absolute maximum values for stats, including all possible training, items and so on? About 200?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 09, 2013, 02:55:06 PM
That reminds me, what are absolute maximum values for stats, including all possible training, items and so on? About 200?

I would like to avoid absolute maximums as long as maxing out a girl is really difficult and time-consuming. It adds a flare to the game :)

Btw, Xela, I looked at the paperdoll code and XML in Otherworld, because I somehow really like those paperdolls. It actually looks way more complicated than it is. The hardest part of reimplementing that system in Python was to find the part of the Flash code that parses the XML and figuring out how image scaling works in Flash in comparison to Qt.


Well, if it was RenPy, all the tools needed are already there. I've seen a part of paper-doll code once, it does look a bit complicated. Good luck figuring it all out!


Hey guys,

I worked some more on the system for automated quests (without player interaction). It is running without errors, which is good. I don't like the results currently though, because even maxed out characters fail pretty often at quests. Either my testing code does something wrong, or the success calculation code does something wrong, or the balancing is way off. I suspect it's the balancing, but I'll have to check it more to be sure.

If you want to figure out how new encounters and quests can be created, I suggest you look at the (simple) code of the TrapEncounter and LostTempleQuest classes. If you come up with any questions, ask away :-)

Hey ;)

I am spending little time I have for coding rewriting guard job code because the first version I came up with was really bad. I'll get to quests job after that.

==============================================
About 50 more lines today, this guard thing is taking a good deal of time and I am only about 20% done with it...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 12, 2013, 04:15:54 AM
Ok, next on the list is a more complicated items system... More items than 12 will be needed for a decent event/location setup and we already have 3 girl professions meaning that under the old system, I would have to make 12 items for each new profession or it would not make any sense... In any case, after I am done with guard job, new items system is next on the list.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 12, 2013, 04:34:25 AM
Does it mean that you will need even more item icons?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 12, 2013, 05:44:13 AM
Does it mean that you will need even more item icons?

We'll see if we can steal those from somewhere :)

=================================
Damn, busy weekend again, managed to put in a couple of hours into Security job but code is getting messy again :(

I'll try to put in a few more tonight and maybe tomorrow night.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 15, 2013, 01:12:58 PM
Does it mean that you will need even more item icons?

When you have time, can you make me a list of traits that should effect the guard job?

Basically it can be used in a number of places:

1) If there are no guards and girl is not a slave, what kind of girl fights back or what kind just takes the beating (Slaves are obviously not allowed to fight back).

2) What kind of guard/girl would be more interested in trying to solve the conflict by force before trying to talk the costumer down or even be a cause of a conflict (by insulting a costumer as an event for example).

3) What kind of traits would help guards or girls to calm costumer down?

Maybe more places?

I want guard job to work like this:

While guard girls still have AP, they can act during costumer attacks inn three places: During sex, In the bar (can be small group of costumers), In the Lounge (can be a large group of costumers). First costumer/s will check against your guard party strength and if outclassed, simply back off. Second your guards will try to calm the client/s (intelligence/charisma + battlepower check) and then fight. Event will be shown during the girls workshift. If guards have not spent all of their APs, they will use the remaining AP to train/rest.

If anyone has any ideas or improvements by the way, I am all ears (eyes in forum's case) :) .

=====================================================
PS: Guard job is about 40% done now I expect. There are a lot of variables, rewards and outcomes to consider so it takes a lot of time. It will go much faster when there is a blueprint for code and I am almost done with that.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Bloodkiss on April 15, 2013, 02:51:34 PM
Well first off any traits that would be considered "Lolita" or "young" or even "Shy" would very much just take the beating or whatever verbal or physical abuse that might be sent there way.
Traits like Big Breasts, Splendid body or other traits that specifically refer to very obvious and visible physical traits would tend to lean towards attackers or opponents probably being more open to an altercation being defused through diplomacy or perhaps bribery through sex, sexual favors or promises of such. Maybe a particularly unruly person or an evil enemy might secretly want to date the girl or even the main character and offer to stop there harassment, violence or other negative attentions if such person agreed to go out on a date with them which could lead to other scenes where other choices could effect going down different paths by either gaining a strong and useful allie or a terrible and vicious enemy. So in essence this would be stuff that calms customers down. Maybe even enchanting voice trait?
Any traits that talk about Great Constitution or Stamina or Strength or anything such as those would likely fit best with a outright fighting type situation. This would be a solve by force type of situation.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 16, 2013, 02:34:39 AM
Well first off any traits that would be considered "Lolita" or "young" or even "Shy" would very much just take the beating or whatever verbal or physical abuse that might be sent there way.
Traits like Big Breasts, Splendid body or other traits that specifically refer to very obvious and visible physical traits would tend to lean towards attackers or opponents probably being more open to an altercation being defused through diplomacy or perhaps bribery through sex, sexual favors or promises of such. Maybe a particularly unruly person or an evil enemy might secretly want to date the girl or even the main character and offer to stop there harassment, violence or other negative attentions if such person agreed to go out on a date with them which could lead to other scenes where other choices could effect going down different paths by either gaining a strong and useful allie or a terrible and vicious enemy. So in essence this would be stuff that calms customers down. Maybe even enchanting voice trait?
Any traits that talk about Great Constitution or Stamina or Strength or anything such as those would likely fit best with a outright fighting type situation. This would be a solve by force type of situation.

Well, Big breasts and Splendid body idea is good, I'll see if I can add that to the code but what follows is an overkill, at least for now. Shy or Meek traits are good candidates for girls just taking a beating but I am not sure about Lolita and young since there are plenty of tsunadere young characters in Anime, that's why I asked Dark to come up with a list, he designed the traits so he would have better insight.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 16, 2013, 05:16:48 AM
If there are no guards and girl is not a slave, what kind of girl fights back or what kind just takes the beating (Slaves are obviously not allowed to fight back).
I guess tsunadere slaves still could fight back, even if it means more problems for them and MC.
Anyway, fight back traits are Fighter and Assassin (they trained to fight, after all), Fearless, Aggressive, Tsundere and Malicious. Maybe also Adventurer and Tomboy, but not as much as the first ones.
Takes the beating traits are Broken Will, Shy, Meek, Nerd, Kind, Mind Fucked. Maybe also Impersonal, Fragile and Dependant, but not as much as the first ones.

What kind of guard/girl would be more interested in trying to solve the conflict by force before trying to talk the costumer down or even be a cause of a conflict
Noble (if customer is not as noble as she is, for example), Malicious, Tsundere, Aggressive. Shy and Mind Fucked too, as unable to talk down the costumer at all.
Cause of a conflict traits are Cleptomaniac because of disclosed stealing, Depression (bad mood = insulting a custumer), Clumsy (drop something right on the customer).

What kind of traits would help guards or girls to calm costumer down?
Charismatic, Sexy Air. Any "good" physical traits, as Bloodkiss mentioned before, like Abnormally Large Boobs, Long Legs and so on.
Maybe a little mind control with Magic Talent or Psychic traits. Artificial Body - not many people want to fight with a construct (maybe Manly too, but not as much as Artificial).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 16, 2013, 06:06:43 AM
I guess tsunadere slaves still could fight back, even if it means more problems for them and MC.

Hmm, ok, I am not yet sure how to relay a problem to MC but it will be more clear when we create some form of governmental office to represent law and corruption :) I'll add a loop and figure out the penalty later in the development.


Anyway, fight back traits are Fighter and Assassin (they trained to fight, after all), Fearless, Aggressive, Tsundere and Malicious. Maybe also Adventurer and Tomboy, but not as much as the first ones.

I am actually considering writing code that would remove traits like Fighter and Assassin from Prostitutes/Strippers, I am still not entirely sure it's a good idea but it should at least be on the table.

For the rest, it sounds perfect. Adventurer and Tomboy will give 50% chance of girl fighting back, rest 100%.

Takes the beating traits are Broken Will, Shy, Meek, Nerd, Kind, Mind Fucked. Maybe also Impersonal, Fragile and Dependant, but not as much as the first ones.

Looks good!



Noble (if customer is not as noble as she is, for example), Malicious, Tsundere, Aggressive. Shy and Mind Fucked too, as unable to talk down the costumer at all.

Noble prolly not a good bet, might be problematic to program and will not always make sense. Rest makes perfect sense.

Cause of a conflict traits are Cleptomaniac because of disclosed stealing, Depression (bad mood = insulting a custumer), Clumsy (drop something right on the customer).

Tsunadere as well I recon (random attack), but this I will add later.


Charismatic, Sexy Air. Any "good" physical traits, as Bloodkiss mentioned before, like Abnormally Large Boobs, Long Legs and so on.
Maybe a little mind control with Magic Talent or Psychic traits. Artificial Body - not many people want to fight with a construct (maybe Manly too, but not as much as Artificial).

Ok, so for now ALB, Long legs, Sexy Air. I'll take a look at the xml for more.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 16, 2013, 07:30:40 AM
I am actually considering writing code that would remove traits like Fighter and Assassin from Prostitutes/Strippers, I am still not entirely sure it's a good idea but it should at least be on the table.
Well, if character does have battle training according to the original source, she couldn't just instantly lose it. Maybe you could use for them (hidden?) traits like ex-fighter and ex-assassin.

Even if we talk about slaves or ex-slaves with sealed battle skills, they still have their psychological combat  training, which means they ready for combat and don't afraid to fight back.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 16, 2013, 07:59:27 AM
Well, if character does have battle training according to the original source, she couldn't just instantly lose it. Maybe you could use for them (hidden?) traits like ex-fighter and ex-assassin.

Even if we talk about slaves or ex-slaves with sealed battle skills, they still have their psychological combat  training, which means they ready for combat and don't afraid to fight back.

Good point... well, I'll just let it be for now and we'll decide something when structure of the game is clearer.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Bloodkiss on April 16, 2013, 11:55:51 AM
Also this is just a thought. But something like a woman who gives in or uses her body so her enemy lowers there guard and then strikes or kills them even after they might even be asleep or naked during or afterward? *shrugs* Just some ideas, Do we have a trait or traits to represent someone with a no scruples or Conniver, etc?
I'm actually starting to look through some of Darks notes on traits now, Really like a lot of the stuff you have come up with thus far.
Not to make the game too ambitious but I thought now is probably the best time to bring it up rather then later on. Have we considered a criminal type path or profession? Someone looking to build a gang, criminal outfit or organization, perhaps manipulative route to earn fortune or favors from NPC's, maybe even ask shops for protection money, racketeering, etc?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 16, 2013, 01:44:22 PM
Do we have a trait or traits to represent someone with a no scruples or Conniver, etc?
I'm actually starting to look through some of Darks notes on traits now, Really like a lot of the stuff you have come up with thus far.

I don't think so and there is a traits xml file, not just notes.

Not to make the game too ambitious but I thought now is probably the best time to bring it up rather then later on. Have we considered a criminal type path or profession? Someone looking to build a gang, criminal outfit or organization, perhaps manipulative route to earn fortune or favors from NPC's, maybe even ask shops for protection money, racketeering, etc?

Maybe in distant future, this would require a number of subsystems to be interesting.

Also this is just a thought. But something like a woman who gives in or uses her body so her enemy lowers there guard and then strikes or kills them even after they might even be asleep or naked during or afterward? *shrugs*

Whatever happens, needs to happen on the spot to be relayed in texts and if costumer calmed down, there is little reason to kill him off.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 16, 2013, 02:58:17 PM
Do we have a trait or traits to represent someone with a no scruples or Conniver, etc?
I'm actually starting to look through some of Darks notes on traits now, Really like a lot of the stuff you have come up with thus far.
Btw, any ideas about new traits are welcomed.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 22, 2013, 04:17:42 AM
Guard job is 50% done now. I'll try to finish it today/tomorrow (will go a lot faster now) if time allows and start working on new items system.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 22, 2013, 01:07:24 PM
It's good to hear some news.
Still doing One Piece. That's why I prefer less popular aka less time consuming characters for pack creating. For example, Nami has over 5000 pics on pixiv, let alone other sites.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Ertai on April 22, 2013, 05:59:32 PM
I've been a lurker for what seems like ever now. I would love to be able to contribute something for the time I've spent here. Are you still in need of writers?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: rudistoned on April 22, 2013, 06:59:15 PM
Hi!

I believe for a game as big as this, there is always something you can write. I would suggest you read up on the game until you feel ready to contribute something, then write some texts and send them to Xela. That way you can start right away and won't have to wait for anybody to tell you what to do, as that might take a long time. If you're worried about duplicating effort I suggest you choose a topic that benefits from having many different texts for it.
All this reflects just my own opinion. I can NOT speak for the dev team.

Have fun!
rudi

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 23, 2013, 02:32:19 AM
I've been a lurker for what seems like ever now. I would love to be able to contribute something for the time I've spent here. Are you still in need of writers?

Hi!

I believe for a game as big as this, there is always something you can write. I would suggest you read up on the game until you feel ready to contribute something, then write some texts and send them to Xela. That way you can start right away and won't have to wait for anybody to tell you what to do, as that might take a long time. If you're worried about duplicating effort I suggest you choose a topic that benefits from having many different texts for it.
All this reflects just my own opinion. I can NOT speak for the dev team.

Have fun!
rudi

Well, that would be my answer as well. We need writing for interactions, girlsmeets, events. Also concept designers for game elements. If you have time to contribute, learn all you can about the game and pick whatever you like. You can coordinate with me but it is very unlikely that you will duplicate anything at this point.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 02:55:44 AM
Ok, this morning I've decided to put Guard job aside for now because I had to rewrite 200 lines of code 5 times and it still looks like crap (should work fine on the other hand).

Base for guard job is done for whore act. It's about 40% done for bar and club jobs, I'll leave it at that because every time I start coding these days, falling asleep in 15 minutes is pretty much a given. Last time a block like that came up, I switched to design of different element of the game, finished that and finished what I got stuck on in two days after that.

So, next on the list right now is new item system.

In PyTFall it will look much like in OtherWorld/Alkion, there will be a number of shops selling different types of items. Girls/Hero will have slots to equip items, each item should come with a picture (Can be borrowed from other games). Items should be able to mod stats, add and remove traits. Am I forgetting anything? Does anyone have any specific requests?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 24, 2013, 07:43:16 AM
How about more complex randomization of items in shops? For example, in WM you don't even need to go to the next week, simple save/load is sufficient for changing the assortment, and that's means you can immediately buy anything you want if you have enough money and patience.

The same items (at least consumable) should be placed in one slot, like 100 healing potions in one slot rather than 100 slots with one potion in each. Many games, including commercial, have this mistake.

How are you going to handle spells/skills? Will they be on sale in some special shops?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 08:35:14 AM
How about more complex randomization of items in shops? For example, in WM you don't even need to go to the next week, simple save/load is sufficient for changing the assortment, and that's means you can immediately buy anything you want if you have enough money and patience.

Ok, so basically locked shop inventories, maybe even for several days at a time. Kinda same thing we have in school and girlsmeets?


The same items (at least consumable) should be placed in one slot, like 100 healing potions in one slot rather than 100 slots with one potion in each. Many games, including commercial, have this mistake.

Good point as well, I just need to figure out how to make this look decent on screen. Also if we're gonna make items stackable, we should do that to all items, not just consumables.


How are you going to handle spells/skills? Will they be on sale in some special shops?

I actually forgot about spells and attacks, I'll add that to items as well...

--------------------------------------------------------------------------
So far I have:

        Should modify min/max/current values of all stats.
        Should have a description.
        Should have an icon.
        Should add/remove traits.
        Should add/remove battleskills. (Also attack skills may actually depend on the item equiped (or lack thereof) like 'Slash' with sword or 'Stab' with dagger...)
        Should have duration (for temporary effects).
        Should have price.
        Should have 'type' or 'slot' like weapon, clothing, make-up or consumable.
        Should have a list of locations where it is possible to acquire the item (like script, catacombs, forest, specific shop etc.)
        Should have a chance to acquire the item (where it's applicable)
        Should have some form of 'chance' for girl to buy the items while shopping. Like how good the item is for the girl.

        - Items should be stackable.
        - Shops should have locked inventories to be restocked once in 'x' number of days.

Anything else?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 24, 2013, 09:25:54 AM
Also if we're gonna make items stackable, we should do that to all items, not just consumables.
Maybe. Does player (and/or girls) have unlimited inventory?
I mean, in many games player has quite limited inventory and some kind of storage with unlimited or at least much larger inventory. So if any item is stackable but player's  inventory is  limited, it's kinda counterproductive.

I actually forgot about spells and attacks, I'll add that to items as well
I'm not forcing you or something. Selling spells and skills is the easiest way, but not the most interesting.
We could also use schools or special items (like in FFT, if you ever played it; you need to equip item and carry it for some time, eventually you will learn some skill), or even skill tree.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 10:08:06 AM
Maybe. Does player (and/or girls) have unlimited inventory?
I mean, in many games player has quite limited inventory and some kind of storage with unlimited or at least much larger inventory. So if any item is stackable but player's  inventory is  limited, it's kinda counterproductive.

I favor the unlimited inventory approach...

I'm not forcing you or something. Selling spells and skills is the easiest way, but not the most interesting.
We could also use schools or special items (like in FFT, if you ever played it; you need to equip item and carry it for some time, eventually you will learn some skill), or even skill tree.

Well, one step at a time :)

We can make items more expensive than events or schools for battle magic skills. It's not hard to code in 'special' items like you've described in FFT as well but it will be a part of next day method of sGirl class so we can always add that later.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 24, 2013, 10:26:32 AM
Anything else?
Well, I'm reading WM Items.itemsx file now. It has such strings as Rarity (the likelihood of a sale in the shop), Infinite (whether this item stock is limited or not; simple things like basic healing potions should be available all the time), Badness (reactions of a girl to this item as a gift).
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 10:35:14 AM
Well, I'm reading WM Items.itemsx file now. It has such strings as Rarity (the likelihood of a sale in the shop), Infinite (whether this item stock is limited or not; simple things like basic healing potions should be available all the time), Badness (reactions of a girl to this item as a gift).

Rarity and Badness I've covered in the list but Infinite I forgot about...
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 24, 2013, 10:42:42 AM
Hm, you mentioned "Should have some form of 'chance' for girl to buy the items while shopping", which is GirlBuyChance string in WM. Reaction to gift is different thing and different string. Buy some flowers or a pair handcuffs and get them as a gift from someone are two different things, after all  :D

What about things like drugs or maybe alcohol? I guess their acquisition is based on other mechanics since it depends on girl's mood and traits.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 11:59:50 AM
What about things like drugs or maybe alcohol? I guess their acquisition is based on other mechanics since it depends on girl's mood and traits.

That's doable.

Hm, you mentioned "Should have some form of 'chance' for girl to buy the items while shopping", which is GirlBuyChance string in WM. Reaction to gift is different thing and different string. Buy some flowers or a pair handcuffs and get them as a gift from someone are two different things, after all  :D

I never understood 'reaction to gift' since PCLove/Hate can also be changed by any item. So if handcuffs are bad for a girl in PyTFall, you simply lower disposition and with flowers you add to the disposition, what's the point of writing extra methods for it?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 24, 2013, 12:12:00 PM
I never understood 'reaction to gift' since PCLove/Hate can also be changed by any item
Ah yes, indeed. Somehow I never thought about it.
I didn't explore WM code closely enough, but if I remember correctly, it also has something to do with girl's preferences when she decides what item to equip.

However, while masochist or sadist would enjoy handcuffs, others, at best, remain indifferent.
So ideally some kind of good/bad traits string should accompany any item. Unless it will be too complicated for game mechanics.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 02:01:39 PM
Ah yes, indeed. Somehow I never thought about it.
I didn't explore WM code closely enough, but if I remember correctly, it also has something to do with girl's preferences when she decides what item to equip.

However, while masochist or sadist would enjoy handcuffs, others, at best, remain indifferent.
So ideally some kind of good/bad traits string should accompany any item. Unless it will be too complicated for game mechanics.

Hmm, ok, never thought about Auto-Equipping either :)

It shouldn't be to difficult, I'll definitely give it a try.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: FlamBurger on April 24, 2013, 02:16:17 PM
Ok Xela I got a few things running in my mind and I'll see if I can work on some things in the upcoming weeks. It's like I got a brain rush or something... :D
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 02:36:08 PM
Ok Xela I got a few things running in my mind and I'll see if I can work on some things in the upcoming weeks. It's like I got a brain rush or something... :D

Awesome :)

-----------------------------------------------------
I am adding a couple optional fields as well. Since hero will be a part of the game, some items should be specifically blocked for him so I am adding an optional block. Also effects, like poisoned or pregnant... they can be pushed to traits in design but it feels like that should be a separate argument.

So...

So far we have:

        Should modify min/max/current values of all stats.
        Should have a description.
        Should have an icon.
        Should add/remove traits.
        Should add/remove battleskills. (Also attack skills may actually depend on the item equiped (or lack thereof) like 'Slash' with sword or 'Stab' with dagger...)
        Should have duration (for temporary effects).
        Should have price.
        Should have 'type' or 'slot' like weapon, clothing, make-up or consumable.
        Should have a list of locations where it is possible to acquire the item (like script, catacombs, forest, specific shop etc.)
        Should have a chance to acquire the item (where it's applicable)
        Should have some form of 'chance' for girl to buy the items while shopping. Like how good the item is for the girl.
        Should be a 'badness' field but I still don't get how is that different from shopping chance? Why would a girl buy something she doesn't want to wear/consume?
        Should be a list of good/bad traits as an option for every item.
        Should be an optional field preventing item to be equipped by the hero.
        Should be an optional field to set item to 'Infinite' inventory in the shops.
         
       

        - Items should be stackable.
        - Shops should have locked inventories to be restocked once in 'x' number of days.

Anything else?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on April 24, 2013, 02:39:00 PM
Anything else?
looks ok to me.
Only thing I would personally like to avoid is girls buying personality changing items on they own, that annoyed me in WM a little.
-----
btw, after editing a lot of images for girls and thanks to few difficult (to my level at least) sprite requests from DarkTl, I believe I improved a bit at photoshop/gimp, so if anyone of you need something edited, maybe I can give it a try until we have a real graphic
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: FlamBurger on April 24, 2013, 02:41:12 PM
Yeah it does make sense that a girl doesn't get an item that she don't like. Are you going to make the items have multiple categories and if they have too many things the girl doesn't like about that item it's less likely that she will get it?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 02:49:13 PM
looks ok to me.
Only thing I would personally like to avoid is girls buying personality changing items on they own, that annoyed me in WM a little.

Well, that's for items designer to consider? Simply setting 'badness' at 100 would make sure girl never buys/equips the item? Or I can make sure girl will never Auto-Equip/Auto-Consume Trait changing item. That will ensure it would never happen BUT at the same time will prevent a girl from ever buying items that might heal scars for example.

btw, after editing a lot of images for girls and thanks to few difficult (to my level at least) sprite requests from DarkTl, I believe I improved a bit at photoshop/gimp, so if anyone of you need something edited, maybe I can give it a try until we have a real graphic

Editing is a lot harder than removing backgrounds but you can design GUI interface if you want to learn more about graphics design.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 02:56:59 PM
Yeah it does make sense that a girl doesn't get an item that she don't like. Are you going to make the items have multiple categories and if they have too many things the girl doesn't like about that item it's less likely that she will get it?

Girl will equip items based on a combination of 'badness' factor from 0 - 100, traits and obviously stats.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 24, 2013, 03:10:12 PM
Yeah, some rare superartifact should have badness = 0 (or even -100) to prevent any stupid auto-equipment ideas. The thing is, probability of buying of some item and its priority for auto-equipment are different things. You can merge them if you want to, of course, but this will be simplification.

One more thing, by chance to acquire the item you mean the chance to have this item available for purchase in the shop as well?

thanks to few difficult (to my level at least) sprite requests from DarkTl, I believe I improved a bit
Yup, I was particularly impressed by your great work with Shurelia. You definitely have a talent for this.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 24, 2013, 03:31:09 PM
Yeah, some rare superartifact should have badness = 0 (or even -100) to prevent any stupid auto-equipment ideas. The thing is, probability of buying of some item and its priority for auto-equipment are different things. You can merge them if you want to, of course, but this will be simplification.


A girl should have no way of getting a rare superartifact unless you give it to her but badness = 100 will make sure that girl will never buy or equip the item. I am not sure that I understand how they're different... I'll add another optional field called eqchance (chance to equip), if not specified, it will be same as badness.

One more thing, by chance to acquire the item you mean the chance to have this item available for purchase in the shop as well?

Yeap

======================================
Ok, I have a basic class setup, tomorrow plan is to write a function that imports data from xml to class, then all required methods for logic. Last I will have to figure out if this system is to different from Alkion's to borrow Elionts GUI from there, if possible I'll use that code, if not I'll have to write new one :( I am going to catch some sleep, let me know if there are any more ideas/addons.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 24, 2013, 03:45:19 PM
But even if you will give her Ultimate Armor of Invulnerability, she still wants to spend her money and buy some pretty evening dress she likes. Basically, if we don't use or turn off auto-equipment, we don't need it.
That reminds me, being able to turn on and off auto-equipment of each girl separately would be handy. With it we probably don't need this eqchance string.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: FlamBurger on April 24, 2013, 04:24:55 PM
Oh ok then, hey are you going to have quests where you can get items? Because if so I was going to do a special quest write for an item that is pretty neat to have.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 25, 2013, 03:31:07 AM
But even if you will give her Ultimate Armor of Invulnerability, she still wants to spend her money and buy some pretty evening dress she likes. Basically, if we don't use or turn off auto-equipment, we don't need it.

Well, I figure that giving priority to occupation related items is the key. Also, she can buy as many evening dresses as she wants as long as she does not equips them or reequips back to armor if she's a warrior.

That reminds me, being able to turn on and off auto-equipment of each girl separately would be handy. With it we probably don't need this eqchance string.

eqchance string is just a couple more lines of code and it's optional. As for auto-equipment for each girl, that wasn't planned but I'm definetly going to do that. I actually want a lot of micromanagement options for girls on a separate window (like finance window that moves from out of bounds).

Oh ok then, hey are you going to have quests where you can get items? Because if so I was going to do a special quest write for an item that is pretty neat to have.

Yeap, that is 100% possible already but items would have to be awarded after the system is done. Keep in mind that quests in PyTFall also support graphics (backgrounds and people) and music so if you can find those as well, it would make a much better quest.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 25, 2013, 03:54:25 AM
Also, she can buy as many evening dresses as she wants as long as she does not equips them or reequips back to armor if she's a warrior.
Just make sure girls won't buy several copies of one dress, it definitely will be annoying to see hundreds of them in each girl's inventory  :)
And good/bad trait list probably should has influence on probability of buying of an item too, not just equipping it. For example, if base chance is 20, and girl has 2 "good" traits, let it be 20+5*2=30.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 25, 2013, 04:30:02 AM
Just make sure girls won't buy several copies of one dress, it definitely will be annoying to see hundreds of them in each girl's inventory  :)
And good/bad trait list probably should has influence on probability of buying of an item too, not just equipping it. For example, if base chance is 20, and girl has 2 "good" traits, let it be 20+5*2=30.

Ok, that's one way of doing it, I recall seeing a very easy way to get a number same items in two lists (good traits) and (girl's traits) but I think that any good trait simply ensures that a girl buys at least one item is a better approach... Limiting number of items should not be to hard either.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 25, 2013, 05:58:03 AM
any good trait simply ensures that a girl buys at least one item is a better approach
Yup, that's an interesting way too.
I'm still thinking about girl's reaction to the gift. Simple modification of PCLove/Hate values is too general approach. Ideally we should use the same good/bad trait list to take into account girl's preferences.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 25, 2013, 06:50:56 AM
Yup, that's an interesting way too.
I'm still thinking about girl's reaction to the gift. Simple modification of PCLove/Hate values is too general approach. Ideally we should use the same good/bad trait list to take into account girl's preferences.

I say we just modify disposition and leave it at that. There are no PCLove/Hate stats in PyTFall (you know that btw since you've designed traits :) ) and we already have a lot of stats as it is. Since there are no game concept designers on the team at the moment, I keep forgetting to mod all relevant stats as it is and have to go back in code and add stuff all the time.

More advanced systems can always be added later but for now we should find balance and make sure we choose the simplest path that does not hurt the game.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 25, 2013, 07:51:11 AM
There are no PCLove/Hate stats in PyTFall (you know that btw since you've designed traits :) )
Yeah, well, we have Disposition for such things.
Btw, let's clarify its interval. If I remember correctly, you mentioned max value = 1000? What about the initial Disposition value, how about 500? At this rate, close to 0 Disposition means hate, and vice versa.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on April 25, 2013, 08:05:33 AM
If we are really into having girls do they own shopping, It would be nice if they can spend their money according to theirs actual needs. Like if girl's happiness stat is low, she will look for something joyful, if she's tired, for something refreshing... but it would probably make more sense as actions and not items
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 25, 2013, 08:55:52 AM
Yeah, well, we have Disposition for such things.
Btw, let's clarify its interval. If I remember correctly, you mentioned max value = 1000? What about the initial Disposition value, how about 500? At this rate, close to 0 Disposition means hate, and vice versa.

I thought -1000 to 1000 with 0 being the initial deposition but we can go either way.

If we are really into having girls do they own shopping, It would be nice if they can spend their money according to theirs actual needs. Like if girl's happiness stat is low, she will look for something joyful, if she's tired, for something refreshing... but it would probably make more sense as actions and not items

That's obvious but that will mainly be for consumables.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 25, 2013, 10:15:28 AM
OK, let's use it from -1000 to 1000.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 25, 2013, 03:54:09 PM
OK, let's use it from -1000 to 1000.

I actually found and fixed a small bug while testing -1000 to 1000 :) It's set then, -1000 to 1000 it is.

-----------------------------------------------------
On items front, I've set up a basic class and import from xml + tested it. So we have our first two bricks.

Currently looks like this, some fields are optional and class will fill those in with defaults if not specified in xml. Going to call it quits for tonight.


Code: [Select]
<items>

   <item

      id="Dummy Item"
      desc="This is a dummy item for testing!"
      icon="content/items/dummy_item.png"
      price = '10'
      hero = 'true'
      infinite = 'false'
      slot = 'Consumable'
      badness = '0'
      chance = '100'
      eqchance = '22'
      temp='0'>


      <mod charisma = '20' />
      <max charisma = '20' />
      <min charisma = '20' />
     
      <addtrait name = 'Sexy Air' />
      <removetrait name = 'Retarded' />
      <addskill name = 'Water 2' />
      <removeskill name = 'Fire 1' />
      <location name = 'Item Shop' />
      <addeffect name = 'Dizzy' />
      <removeeffect name = 'Poisoned' />
      <goodtrait name = 'Strong' />
      <badtrait name = 'Meek' />
     
   </item>
   
</items>
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 26, 2013, 07:06:35 AM
One Piece girls are done. While it's possible to create packs for two or three other characters, they will lack several categories.
I think I'll convert Soul Eater pack next, after that probably FMA.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 26, 2013, 07:14:33 AM
One Piece girls are done. While it's possible to create packs for two or three other characters, they will lack several categories.
I think I'll convert Soul Eater pack next, after that probably FMA.

It might still be premature to convert all packs but if that's what you want to work at, it ain't going to hurt either. I figure we have a good amount of girls for testing between Naruto, Presona and One Piece.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 26, 2013, 07:30:08 AM
Well, even if we'll change categories name, or use some kind of tag system, or use another syntax for girls files, I already have all available good pics in my packs, and there is nothing we can do about it.

So the only case which should be feared is the sudden termination of development  :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 26, 2013, 08:25:20 AM
Well, even if we'll change categories name, or use some kind of tag system, or use another syntax for girls files, I already have all available good pics in my packs, and there is nothing we can do about it.

So the only case which should be feared is the sudden termination of development  :)

LoL

Well, not expected from my side, I'll be off the week after the next but prolly have more time for this during summer (planning to finishing beta then)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on April 26, 2013, 10:34:12 AM
but you give us a quite long list of popular series that must be unconditionally present on release, so I believe we are working on that  :)   
Because most of WM packs are just plain bad, it means doing almost everything from scratch and compared to that, any kind of renaming or tagging will be easy, so I also see no real difference doing it now or later if we want them anyway.


I will probably be able to do only some Bleach girls and few novel sprites this month, my time now is really limited because of graduation exams. But If it goes well, I expect I'll have a lot of time after that.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 26, 2013, 01:59:32 PM
but you give us a quite long list of popular series that must be unconditionally present on release, so I believe we are working on that  :)   
Because most of WM packs are just plain bad, it means doing almost everything from scratch and compared to that, any kind of renaming or tagging will be easy, so I also see no real difference doing it now or later if we want them anyway.


I will probably be able to do only some Bleach girls and few novel sprites this month, my time now is really limited because of graduation exams. But If it goes well, I expect I'll have a lot of time after that.

Great, I know I've made a list of shows but I've also said it was for testing. Obviously any work done now on the packs will not go to waste but it wasn't the plan to remake all series so soon.

I cannot code anything tonight cause headache is killing me but I will prolly be able to put some hours into it tomorrow and the day after.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on April 26, 2013, 05:06:29 PM
ok! If that's the case, I will finish a few more girls that I already started (few from Bleach but mostly Sailor Moon), but then I'll look for something else I could do.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 27, 2013, 06:13:11 AM
ok! If that's the case, I will finish a few more girls that I already started (few from Bleach but mostly Sailor Moon), but then I'll look for something else I could do.

You should know the game fairly well by now so you may try game design after you get bored with making girlpacks.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 27, 2013, 06:37:27 AM
Maybe after Soul Eater I'll try to create items xml then, unless you going to borrow them from some other game?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 27, 2013, 07:11:53 AM
Maybe after Soul Eater I'll try to create items xml then, unless you going to borrow them from some other game?

All items should be handmade, ideas/names/pics can be borrowed but not files themselves. It's a very good place to invest some time into, just talk to me before you start, I'll explain how items behavior and defaults class will setup.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 28, 2013, 12:56:56 PM
On the items front, we forgot to discuss one very important topic...

What slots are we going to use? We obviously need consumables but past that it is a matter for debate.

Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 28, 2013, 02:22:40 PM
Indeed. Well, I propose head (helm/mask/hood/whatever), body (armor/dress), feet (boots/shoes), belt, hands (gloves/mittens/whatever), cape, two hands slots for weapon+shield/two weapons/two shields/one two-handed weapon; two rings, one amulet.

Besides, while you probably can't wear armor and dress at the same time, you still have your underwear, so one more slot for it (I'm not sure about MC, but if we'll ever create an opportunity for choice of MC sex, I guess female could use it). Or maybe two slots, for upper and lower parts, like in Otherworld.

In WM girls also can use things like manuals, magic spheres, strip poles and so on. So maybe one or several slots for manuals/books/tutorials as well? And some kind of slots for girl room? I don't think we should build and decorate every girl's room like in Alkion, but if you give her strip pole or huge magic sphere, she can't carry it all the time, isn't she?
Or we could just use several (maybe about 5?) "general" slots for anything that can't be equipped directly, including furniture, books and so on.

I looked at Alkion, it also has shoulderplates and leggings, but they seems like an overkill to me. It also has quick slots in belt, I guess you should put consumables into them for using during combat.

I'm not sure about magic/skills system we'll have eventually, but we might also use special slots for spell books or skill scrolls.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 28, 2013, 05:02:40 PM
Indeed. Well, I propose head (helm/mask/hood/whatever), body (armor/dress), feet (boots/shoes), belt, hands (gloves/mittens/whatever), cape, two hands slots for weapon+shield/two weapons/two shields/one two-handed weapon; two rings, one amulet.

Besides, while you probably can't wear armor and dress at the same time, you still have your underwear, so one more slot for it (I'm not sure about MC, but if we'll ever create an opportunity for choice of MC sex, I guess female could use it). Or maybe two slots, for upper and lower parts, like in Otherworld.

In WM girls also can use things like manuals, magic spheres, strip poles and so on. So maybe one or several slots for manuals/books/tutorials as well? And some kind of slots for girl room? I don't think we should build and decorate every girl's room like in Alkion, but if you give her strip pole or huge magic sphere, she can't carry it all the time, isn't she?
Or we could just use several (maybe about 5?) "general" slots for anything that can't be equipped directly, including furniture, books and so on.

I looked at Alkion, it also has shoulderplates and leggings, but they seems like an overkill to me. It also has quick slots in belt, I guess you should put consumables into them for using during combat.

I'm not sure about magic/skills system we'll have eventually, but we might also use special slots for spell books or skill scrolls.

Alkion is borrowing items from DoD so that's why there are more slots than actually required. There are no underwear in WM/SimBrothel so we can prolly skip that.

Battle items and consumable items would have to be designed twice, once in battle engine and once in the game but we can just leave those at 5 - 6 potions for the first beta version.


- head (helm/mask/hood/whatever)
- body (armor/dress)
- feet (boots/shoes)
- hands (gloves/mittens/whatever)
- cape
- two hands slots for weapon+shield/two weapons/two shields/one two-handed weapon
- two rings
- one amulet

Girls room slots I need to think about a bit but I agree about room building being a bad idea, at least for now. Books, spheres and manuscripts are simply consumables in WM.

Never thought about female MC but it would require a bit of extra coding (like for interactions we would have to show lesbo instead of sex and so on). I want to hear what the rest have to say about it, personally I am against that at this stage of development, more work for little benefit and we have a lot to work on as it is.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 28, 2013, 07:37:16 PM
Books, spheres and manuscripts are simply consumables in WM.
Huh?  ???
No they aren't, they're actually "Misc" type, and girls must equip them to have bonuses rather than consume (especially such definitely non-consumable "items" as a cat or a dog). They even able to equip several of misc items at the same time.

Besides, looks like in WM armor and dress have different types, "armor" and "dress", yes  :)
I don't remember how all this works in WM, but maybe we should use two different slots for them after all.

personally I am against that at this stage of development
I never said that you should immediately start to code it  :D

But since we kinda make a third generation brothel game, and two other 3-gen games, SM3 and Otherworld, do have MC sex choice option (not to mention stats and traits), shouldn't we do the same thing at a certain stage of development?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 29, 2013, 05:31:56 PM
Huh?  ???
No they aren't, they're actually "Misc" type, and girls must equip them to have bonuses rather than consume (especially such definitely non-consumable "items" as a cat or a dog). They even able to equip several of misc items at the same time.

Besides, looks like in WM armor and dress have different types, "armor" and "dress", yes  :)
I don't remember how all this works in WM, but maybe we should use two different slots for them after all.
I never said that you should immediately start to code it  :D

But since we kinda make a third generation brothel game, and two other 3-gen games, SM3 and Otherworld, do have MC sex choice option (not to mention stats and traits), shouldn't we do the same thing at a certain stage of development?

Ok, I forgot about misc type. Armor and dress being different slots is odd as well, I need to wrap my head around items and slots... it all went so well before the slots code.

On the MC sex option, yeah, at some point for sure.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on April 30, 2013, 09:43:03 AM
I suddenly came up with another idea about item fields. For example, if you give a cat to a girl, maybe it could help her to generate some additional joy every turn? Or some rare amulet helps to restore a small portion of mp every turn, etc.
Unless it'll require a significant amount of coding, of course. What do you think?

Also, I'm ready to hear your explanation about items and classes.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on April 30, 2013, 10:29:28 AM
I suddenly came up with another idea about item fields. For example, if you give a cat to a girl, maybe it could help her to generate some additional joy every turn? Or some rare amulet helps to restore a small portion of mp every turn, etc.
Unless it'll require a significant amount of coding, of course. What do you think?

Also, I'm ready to hear your explanation about items and classes.

Nope, the way sGirls class is coded, generating per turn through items or traits or anything else is actually very easy to code in because 80% of code for that is already written. I am busy right now but I'll try to write a concept for items system tonight or tomorrow. If anyone wants to do it by the way, feel free, I'll code it into the game after we all signed on it :)
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on May 01, 2013, 08:53:31 AM
Ok,

So far the concept design for items system:

Items will come with a lot of defaults filled by the class so not all of the following will be a requirement to construct an item in xml. (This means that fields can be left out completely)

ID: Name of the Item. Game is likely to crash if not specified.
Description: (Optional) Defaults to an empty string.
Changing stats: (Optional) Defaults to an empty dict.
Changing minimum of stats: (Optional) Defaults to an empty dict.
Changing maximum of stats: (Optional) Defaults to an empty dict.
Add/Remove traits: (Optional) Defaults to an empty list.
Add/Remove skills: (Optional) Defaults to an empty list.
Add/Remove Effects: (Optional) (Not implemented yet but the fields will be there. Effects in the future would be sick, poisoned, exhausted, pregnant and so on). Defaults to an empty list.

List of traits that favor/reject the item: (Optional) (for auto-equipping or shopping). Defaults to an empty list.

Price: (Optional) Defaults to 0.
Sex: (Optional) (Male/Female/Uni) This will defaults to Unisex unless specified otherwise, this should prevent Male hero from being able to equip a dress or a strap-on.
Infinite: (Optional) (If item is infinite in the shop) Defaults to false.
Locations:  (Lists locations where the item can be acquired) At least one must be specified or item will be registered but will never appear in the game.
Chance: (Optional) (To acquire an item or find it in the shop) Defaults to 50 if not specified.
Badness: (Optional) (Chance of buying an item) Defaults to 0 if not specified.
EqChance: (Optional) (Chance of girl AutoEquipping the item) Defaults to Badness if not specified.
Icon: (path to file with picture of an item) We might use default here as well after we find some pics for slots that would make good defaults. For now, this is a third field item will fail without!

Slots and Types: (Optional)

Slot default to consumable!

Weapon Slot - Sword, Dagger, Mace.
Concealed Weapon Slot - Dagger.
Three Ring Slots - Rings
Amulet Slot - Amulet
Head Slot - Helmet, Tiara, Crown
Body Slot - Armor/Clothing
Cape Slot - Cape
Feet Slot - Boots
Consumable Slot - Consumable

Consumable also opens a number of optional fields (maybe more in the future):

Block: Will have no effect if used again before x number of days. Defaults to false.
Cmax: Can only mod a stat up to this value. Defaults to max value of a stat.
Temp: IF effect is temporary. Defaults to false



Three Belt Slots - To take items into battle.

Note: Battle Items are always consumables and will be created by dev team because we'll have to design them twice (Once in the game and another in BE). After a decent release version of a game is completed, I will figure out Battle Engine in depth and create a bridge to items as well as adding more synergy between BE and the game. For now I would prefer to focus on game code and content using just basic BE features.

Misc Slot:
 Will allow to equip one item that will give it's full effect after an item has been worn for a number of days. Basically the moment item is equipped, game starts to count days until a specified number is reached, than applies it's effect permanently and can be passed to a different girl or disappears.

Misc slot adds new fields:

Temp - (Optional) Duration Will default to 10 days.
Destruct - (Optional) Does the item disappear after number of days is reached. Defaults to false.
Reusable - (Optional) Blocks the item to be used for the same girl twice. Defaults to false.

Book for example might be set to:

Reusable: false
Destruct : false
Temp = 10

Pet might be set to:
Reusable: true
Destruct : false
Temp = 1



Item's Type will default to it's slot if not specified but is actually important in some places like weapons for example. This way BattleEngine bridge will be able to relay type of attack (Hit/Stab/Slash etc. and every attack in BE comes with it's own sound and modifier so it is fairly important)


   - Items should be stackable.
   - Shops should have locked inventories to be restocked once in 'x' number of days.

 We still need to decide if we want shops to look like they do in Alkion/OtherWorld or give them a retro look like in old FF games.
 Another issue is how to pass items to girls from player, do it in the girl profile screen or construct something like WM.
 What else do we need? This is still open for discussion and proposals.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on May 01, 2013, 11:16:44 AM
Ok, so why 3 rings slots? Not 2, not 8 or 10, but precisely 3?  :)

About Add/Remove Effects string, maybe we eventually could use it for some rare healing armor or mp restoring amulet instead of creating a separate field for such effects?

Is it possible to create combat effects for a weapon by hit, like paralysis or poison with a certain probability?

What about hands? I remember there is "armband" item type in WM.

Since weapons can be one or two-handed, we probably need some kind of flag for that. And don't forget about shields, ie items that can be put in hands slot but you can't attack with them. Maybe even 2 shields at the same for low level mages for some extra protection?

I'm also not sure about weapon types names. If by dagger you mean piercing type of damage, then let's just use D&D classification: bludgeoning, piercing and slashing. Otherwise we'll have a spear of dagger type or a scythe of sword type. Kinda counterintuitive, I think.

What do you think about ranged weapons: crossbows, bows, maybe even guns or beam/other hi-tech weapons? I remember you mentioned FF7-like technological level, so...

Pet might be set to:
Reusable: true
Destruct : false
Temp = 1
I like the idea, sounds interesting. However, I think that Reusable string is overkill. The only game I know which remember such things is Sims, and its save files are really huge and long time to load.

We still need to decide if we want shops to look like they do in Alkion/OtherWorld or give them a retro look like in old FF games.
 Another issue is how to pass items to girls from player, do it in the girl profile screen or construct something like WM.
Well, I don't know about the others, but I never used WM option of buying items on behalf of a girl. It's too much trouble, much easier and quicker to give her an item afterwards.
And since we are going to use icons, we probably should create the appropriate interface. WM items don't have them, after all.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on May 01, 2013, 02:53:22 PM
Ok, so why 3 rings slots? Not 2, not 8 or 10, but precisely 3?  :)

I was trying to imagine what the equipment screen would look like in my head so I went with three slots for rings and three slots on the belt. No other reason, we can make it into 2, 8 or 10.

Not mentioning that 'Бог Любит Троицу' :)

About Add/Remove Effects string, maybe we eventually could use it for some rare healing armor or mp restoring amulet instead of creating a separate field for such effects?

We could but I wasn't planning any items except for misc slot to have such abilities. But it is possible as you suggest.

Is it possible to create combat effects for a weapon by hit, like paralysis or poison with a certain probability?

Possible without a doubt but that would require modifications to battle engine and additional bridge coding. That is exactly the sort of thing I wanted to avoid before first release of PyTFall is complete.

What about hands? I remember there is "armband" item type in WM.

We could add it, it doesn't make that much of a difference either way.

Since weapons can be one or two-handed, we probably need some kind of flag for that. And don't forget about shields, ie items that can be put in hands slot but you can't attack with them. Maybe even 2 shields at the same for low level mages for some extra protection?

The thing is that I see no point in this before I twist and tweak BE to be in sync with PyTFall. It's all about balance, if we create to many slots, it might become to difficult to properly balance the items for the release. Right now BE bridge will only try to determine what KIND of attack to use based on Type of a weapon equipped, weapon bonus will simply be relayed through Strength otherwise.

Also this is prolly an overkill for game that will focus on Hentai and Management more than on RPG. This is a decent idea for Alkion.

I'm also not sure about weapon types names. If by dagger you mean piercing type of damage, then let's just use D&D classification: bludgeoning, piercing and slashing. Otherwise we'll have a spear of dagger type or a scythe of sword type. Kinda counterintuitive, I think.

Ok, so basically we are talking about adding an extra field to weapons slot that determines the type of an attack? We can do that, prolly a better way. This is needed for the battle engine bridge and will determine type of physical attack (sound played and damage modifier).

What do you think about ranged weapons: crossbows, bows, maybe even guns or beam/other hi-tech weapons? I remember you mentioned FF7-like technological level, so...

We can add any amount of attacks, just change the sound and damage modifier, give them a new name in BE and make sure bridge recognizes that. But if you're talking about more difference between ranged and cc weapons than that, we would have to go with a different scheme for battle and that usually comes with a lot of extra work.

Battle engine we use is actually really powerful and we're using like 6 - 7% of it's total capabilities but the trouble is that the more of it you want to use, the more work you have to put into every map and battle scenario.

I like the idea, sounds interesting. However, I think that Reusable string is overkill. The only game I know which remember such things is Sims, and its save files are really huge and long time to load.

Book that can keep increasing girls skills is weird... It will not effect savefile sizes by the way, I cannot see why it would, it's just couple more variables for girls, we already have more than a 100 and saving works as well as it did when we had 10.

Basically I wanted Misc item to be the only one that can have 'per period' effects...


Well, I don't know about the others, but I never used WM option of buying items on behalf of a girl. It's too much trouble, much easier and quicker to give her an item afterwards.

Yeah, same here...

And since we are going to use icons, we probably should create the appropriate interface. WM items don't have them, after all.

But we can create an interface like in FF styled games as well. You know, one with blue screen, item names and amounts available in the shop. Item icon would appear when you choose one of the items together with all the info and how many you have in the inventory at the moment.

Other option is Alkion/OW style where you see all icons and get info when you click on one.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on May 01, 2013, 04:08:55 PM
Not mentioning that 'Бог Любит Троицу' :)
Haha, I see. Ok, let it be 3  :D

We could add it, it doesn't make that much of a difference either way.
I guess we can live without them. We already have additional cape and ring slots.

We can add any amount of attacks, just change the sound and damage modifier, give them a new name in BE and make sure bridge recognizes that. But if you're talking about more different between ranged and cc weapons than that, we would have to go with a different scheme for battle and that usually comes with a lot of extra work.
Well, usually the difference between ranged and melee weapons determines in which row character can attack. In back row you can only use ranged weapon, but you also have more defence there.

But if it means a lot of extra work, how about more D&D approach: melee weapons damage and accuracy are based on attack, ranged weapons damage and accuracy are based on, well, something else. Since we don't have dexterity, we could use agility or magic.

For hi-tech we could just use another sound and, for example, fire or electric type of damage based on intelligence.

Book that can keep increasing girls skills is weird...
Wrong, in such games skill book just disappears after reading  ;)

It will not effect savefile sizes by the way, I cannot see why it would, it's just couple more variables for girls, we already have more than a 100 and saving works as well as it did when we had 10.
If we have 10 books and 300 girls, it means 3000 new records eventually, isn't it? Imagine even more books and more girls.
But if you think it's ok, then it's ok. I never made a game before, after all.

Basically I wanted Misc item to be the only one that can have 'per period' effects...
Alright. Then maybe more misc slots, like two?

But we can create an interface like in FF styled games as well. You know, one with blue screen, item names and amounts available in the shop.
I'll think about it then. I do not mind any of them, maybe we should arrange a voting somewhere :)

And one more thing, what do you mean by "Concealed Weapon" slot?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on May 01, 2013, 06:29:59 PM
Haha, I see. Ok, let it be 3  :D

Done.

Well, usually the difference between ranged and melee weapons determines in which row character can attack. In back row you can only use ranged weapon, but you also have more defence there.

But if it means a lot of extra work, how about more D&D approach: melee weapons damage and accuracy are based on attack, ranged weapons damage and accuracy are based on, well, something else. Since we don't have dexterity, we could use agility or magic.

For hi-tech we could just use another sound and, for example, fire or electric type of damage based on intelligence.

All of the above would require a good bit of coding. I suggest we leave the weapons and battle system as it is now and just add a couple of attacks and magic spells. Rest after the release version is complete. We'll have a discussion on it's concept design then.



If we have 10 books and 300 girls, it means 3000 new records eventually, isn't it? Imagine even more books and more girls.
But if you think it's ok, then it's ok. I never made a game before, after all.

Neither have I but I've just tested our system by generating a random string of 32 random unicode characters for every girl 3000 times and saved/loaded it. It saves/loads instantaneously so there is no need to worry. Nothing we come up with save the 3D graphics will break Python/RenPy so it is perfectly safe to make game mechanics as advanced as time and imagination permits.

I've also done similar testing right after I've started the project. These were the results:

Quote
For 2 000 000 interactions (around 400 000 girls in game), game crashes on next day.

For 200 000 interactions (around 40 000 girls in game), next day calculations take around 7 - 9 seconds. Saving takes 20 - 25 seconds.

For 20 000 interactions (around 4 000 girls in game), next day calculations take around 1 - 2 seconds. Saving takes 1 - 2 seconds as well.

For 2 000 interactions (a more realistic scenario of 400 girls in game), next day calculations and saving are instantaneous.

so we're reasonably safe until 5000 - 10000 girls (If you can find so many characters and care to make packs for them :D)

Alright. Then maybe more misc slots, like two?

Two misc items might be overpowering and difficult to balance out. It would not be difficult to arrange in any case.

I'll think about it then. I do not mind any of them, maybe we should arrange a voting somewhere :)

If we don't come up with an answer in the dev team, I'll start a voting pole...

And one more thing, what do you mean by "Concealed Weapon" slot?

Well, as we advance games code and content, we will add checks for items on acts. For example if a prostitute meets client with a mace equipped, act may never happen because customer would simply refuse to see the girl.

Concealed weapon is something that increases strength slightly but does not trigger such events. I thought WM had something like that...


Wrong, in such games skill book just disappears after reading  ;)

That depends on the game, I've seen it either way. My concern is girl being able to buy a book of same content and get the same stat increase over and over again, that is counter-intuitive... Once read and learned, a scroll or a book that has already increased girls stat by 5 points for example, should not be able to do so again and again.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on May 02, 2013, 04:55:26 AM
Concealed weapon is something that increases strength slightly but does not trigger such events.
I see. Yeah, WM has two types of weapons, "weapon" and "small weapon". Obviously, you can't hide a huge spear in contradistinction to a small dagger, while both of them are piercing type. So we either need a "concealed" flag or two separate weapon types, like in wm.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on May 02, 2013, 05:28:26 AM
I see. Yeah, WM has two types of weapons, "weapon" and "small weapon". Obviously, you can't hide a huge spear in contradistinction to a small dagger, while both of them are piercing type. So we either need a "concealed" flag or two separate weapon types, like in wm.

Good point, I'll change that slot to small weapon and we just agree that it can be concealed.


Anyone got anything to add???

I'll see if I can put in a couple of hours into coding tonight otherwise.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: CherryWood on May 02, 2013, 07:04:00 AM
Sorry, something serious come in and I wasn't able to follow for a while


Anyone got anything to add???
Not really, it's more complicated then I thought it would be already  :)
Maybe upkeep cost for some special items?
And about the shops, I think both icon and FF styles are ok. I would probably choose together with the style of player/girls inventory so these would look alike.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on May 02, 2013, 08:08:31 AM
Sorry, something serious come in and I wasn't able to follow for a while

Not really, it's more complicated then I thought it would be already  :)
Maybe upkeep cost for some special items?
And about the shops, I think both icon and FF styles are ok. I would probably choose together with the style of player/girls inventory so these would look alike.

I would definitely prefer icon style for player inventory. It just looks better that way.

I considered upkeep already but I couldn't figure out a way to make it work. If you have to pay upkeep for items, player would have to keep an eye on his inventory all the time. That's a lot of micro and that's almost always a bad thing. If we agree that player only pays for upkeep of equipped items, it would be in turn hard to explain why is it necessary to pay for a rabbit/dog/cat when equipped by a girl and not when they are still just in inventory...

Also who pays for free girls items? They themselves or player and why would a player pay for something a girl bought for herself.

Upkeep raised to many questions that I couldn't find good answers for, so I decided to leave it out. If you can think of a fair and balanced approach, I'll gladly add it to concept and code it in.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on May 02, 2013, 09:15:58 AM
Well, WM has Beast Masters, if I remember correctly job's name. It's not exactly the same type of a "beast" (I would prefer to avoid beast pictures category at all), but still the idea is interesting.
We could create a new occupation to care about animals or even maintaining all items which need a maintenance. Or we could just use service occupation for such things.

Still, can't say that we desperately need it, so it's up to you.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on May 02, 2013, 09:20:38 AM
Well, WM has Beast Masters, if I remember correctly job's name. It's not exactly the same type of a "beast" (I would prefer to avoid beast pictures category at all), but still the idea is interesting.
We could create a new occupation to care about animals or even maintaining all items which need a maintenance. Or we could just use service occupation for such things.

Still, can't say that we desperately need it, so it's up to you.

Not now anyway, there are many paths we can take in development, but for now girlsmeets, interaction, locations, basic jobs and items take priority.

========================================
Bah, I completely forgot one thing, I wanted to turn Jokers (if we are going to have those) into items as well. So I need to add another field that expands item effect on all girls in your employment.

Also maybe a temp field for consumables that would make sure that effects can wear off after a while?
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on May 02, 2013, 10:51:41 AM
Also maybe a temp field for consumables that would make sure that effects can wear off after a while?
It could be done via temporary traits, but if you think it'll be better way, why not.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on May 03, 2013, 03:10:32 AM
It could be done via temporary traits, but if you think it'll be better way, why not.

Yeah, but then one would have to design a trait for every effect, it's tiresome...

Plan for today is to lay out as many game concepts as possible to get everybody in sync with the project. Each in separate thread, I was wrong to say that coding should be done without a concept and I am not wasting another month on rewriting one bit of code 7 - 8 times and still not managing to finish it somehow. Items are going much better because there is a plan on paper...

One trap to avoid is not brainstorming on concepts to much as we did with Alkion cause that usually leads game astray.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: DarkTl on May 03, 2013, 05:09:45 AM
Yeah, but then one would have to design a trait for every effect, it's tiresome...
If by the one you mean me, then it's not, I'll gladly continue to design as many of them as we need.
Title: Re: SimBrothel: -PyTFall- Dev Thread: Writers needed!
Post by: Xela on May 03, 2013, 05:38:09 AM
If by the one you mean me, then it's not, I'll gladly continue to design as many of them as we need.

It would still make more sense to design same system for items as well. If anyone wants to create a trait and activate that instead of using items system, no problem.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 03, 2013, 05:51:00 AM
One more thing, in many games when you drink a potion with some temporary effect, you can somewhere see this effect and sometimes even how much it will last. It's not a problem with temporary traits, but what about the other, non-traits way?
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 03, 2013, 05:57:52 AM
One more thing, in many games when you drink a potion with some temporary effect, you can somewhere see this effect and sometimes even how much it will last. It's not a problem with temporary traits, but what about the other, non-traits way?

Neither is reported to GUI at the moment anyway... I'll add both later.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Norb on May 07, 2013, 06:56:38 AM
Hi everyone,

I've decided to join up and help out with development any way I can. I've already been talking a bit with Xela about who's doing what and where, but I figured anything conceptual I have should be posted here, instead of PM'd to Xela. So...

----Locations and Town Map----

Xela, I saw in one of your more recent posts that you're looking for ideas on location layout and how they should be handed. My idea is much like a hybrid of WM, Otherworld, and the existing system.

-Have an overall 'town map' for navigation through-out PyTFall. We could use a pre-existing image, create our own bird's eye image of a town, or perhaps even use icons on a blank parchment-type page (like the one existing in the gfx folder) to give the map a handmade, authentic map feel. Anything but the pre-alpha picture used now (way too restrictive an image to use).

-Consolidate most shops to a "Market Street", "Market Square", or the pre-existing "Central Plaza" location on town map. Basic shops (clothing, weapons, consumables) along with the slave market (e.g. Otherworld) would be located by icons or buttons on a market-themed sub-location. A couple BGs in the gfx folder would do well for this locale.

-Most other locations would be unique to meet free girls and/or fight baddies. "Forest", "Slums", and "Countryside" all have images corresponding to them in the gfx folder. Not sure how combat will happen (e.g. fighting in town) but with the way finding free girls has been implemented so far, having one main BG and 2-3 BGs for use when paging through present girls shouldn't be too hard to find for each location.

- Locations I've thought we could use:

*Market Street/Square/Central Plaza
*Slums
*Forest
*Countryside
*Red Light District (could be sub-location in slums. Good place to find prostitutes?)
*Docks (Also could be slum sub-location.)
*Temple
*Castle/Stronghold
*Park
*Arena
*Cave/Catacomb/aggro monster area

Also, Dark, I'd like to help out with items, but i don't want to step on toes or waste time creating something already made. Anyway we might be able to collaborate on that? Maybe I could work on a few slots myself to help lighten the work load.




Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: CherryWood on May 07, 2013, 10:20:19 AM
I was thinking about main map when I was trying to do dates/girlmeets. These are my 2c.


I believe Pre-existing image should by ok. I would prefer use of simple icons over text, ideally ones that change into text when mouse is moved over them.  But it kind of depends if we want large edgescolling map or a small one.
The game will have a some minor dating locations, but I don't think these should show on main map, unless used as shops/girlmeet places too.


I think the main question is: Do we want main map to be used as a starting place of temporally events and quests?
Because if not, it all just could be static and that should be super-easy.
But the map could maybe also show stuff like one-run events in some places, traveling npcs, known girl locations...  and then we would need a sorting system that would prevent placing these appearing icons over another ones.


I love maps where icons change, expand and adapt their positions accordingly do how many sub-locations and events are there, but I have only vague idea how much complicated it is to set up (because we didn't talked about events in detail either).


Simple solution could be just dedicate some place on map for that. Or maps-on-map for crowded locations.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 07, 2013, 11:07:44 AM
All depends on resources at hand as far as GUI design goes.

As for events, system I had in mind should allow to start events on any location in the game, not just main city/city square.

Battle: some from of simple exploration engine, maybe just different backgrounds with 'level' text field or some sort of a grid.

- All shops in a single location is not a good idea. Locations like forest/forest outskirts can have a shop called 'witches hut' for example.

Locations also could use NPCs, at least some of them.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 07, 2013, 12:16:36 PM
Anyway we might be able to collaborate on that? Maybe I could work on a few slots myself to help lighten the work load.
Sure, I don't mind. Pick any slots you want to, just let me know about it first.
Oh, and read the first post in this (http://pinkpetal.org/index.php?topic=1757.0) thread to avoid any mistakes.

============
One more thing, I like new traits developed by Cherry. With Xela permission, I'll add them to our main traits file.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 07, 2013, 01:07:21 PM
Didn't have time for proper replies...

I figured anything conceptual I have should be posted here, instead of PM'd to Xela. So...

Yeap, all concepts should be discussed here or in one of the corresponding threads.


----Locations and Town Map----

Xela, I saw in one of your more recent posts that you're looking for ideas on location layout and how they should be handed. My idea is much like a hybrid of WM, Otherworld, and the existing system.

-Have an overall 'town map' for navigation through-out PyTFall. We could use a pre-existing image, create our own bird's eye image of a town, or perhaps even use icons on a blank parchment-type page (like the one existing in the gfx folder) to give the map a handmade, authentic map feel. Anything but the pre-alpha picture used now (way too restrictive an image to use).

Hybrid would be ok, unique system or even the one we have now will do if it is well designed and filled with decent amount of content.

One thing I absolutely disagree with is 'anything' being better than a city picture. I am not sure if you meant the specific pic I've used or any similar picture but a good picture of a city should top a bad or average picture made with photoshop or cartographer...


-Consolidate most shops to a "Market Street", "Market Square", or the pre-existing "Central Plaza" location on town map. Basic shops (clothing, weapons, consumables) along with the slave market (e.g. Otherworld) would be located by icons or buttons on a market-themed sub-location. A couple BGs in the gfx folder would do well for this locale.

We can do it either way, Otherworld approach never appealed to me but a decent market street with markers might do the trick. Or OW approach but with better icons (if we can find those).

Still, a couple of specialized shops we can put in a different location/s.


-Most other locations would be unique to meet free girls and/or fight baddies. "Forest", "Slums", and "Countryside" all have images corresponding to them in the gfx folder. Not sure how combat will happen (e.g. fighting in town) but with the way finding free girls has been implemented so far, having one main BG and 2-3 BGs for use when paging through present girls shouldn't be too hard to find for each location.

I wanted to add something more than girlsmeets for most locations.

- Locations I've thought we could use:

*Market Street/Square/Central Plaza
*Slums
*Forest
*Countryside
*Red Light District (could be sub-location in slums. Good place to find prostitutes?)
*Docks (Also could be slum sub-location.)
*Temple
*Castle/Stronghold
*Park
*Arena
*Cave/Catacomb/aggro monster area

As good of a list as any.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 07, 2013, 01:08:49 PM
One more thing, I like new traits developed by Cherry. With Xela permission, I'll add them to our main traits file.

Traits are your thing, knock yourself out :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 07, 2013, 01:23:30 PM
I was thinking about main map when I was trying to do dates/girlmeets. These are my 2c.


I believe Pre-existing image should by ok. I would prefer use of simple icons over text, ideally ones that change into text when mouse is moved over them.  But it kind of depends if we want large edgescolling map or a small one.
The game will have a some minor dating locations, but I don't think these should show on main map, unless used as shops/girlmeet places too.

Doable with the icons, edge-scrolling is doable as well, just a bit harder to code. Agreed about the dating locations but some would look bad on the map as well. Beach for example, you could meet girls in bikini there instead of profile pics with slightly different texts (like greeting text).

Stuff like that has potential I think and is very easy to code once base and some content already been set up. Someone is working on girlsmeets right now.


I think the main question is: Do we want main map to be used as a starting place of temporally events and quests?
Because if not, it all just could be static and that should be super-easy.
But the map could maybe also show stuff like one-run events in some places, traveling npcs, known girl locations...  and then we would need a sorting system that would prevent placing these appearing icons over another ones.

We prolly want more than one starting place for events. traveling npcs could be awesome if well designed, I never considered that...

I love maps where icons change, expand and adapt their positions accordingly do how many sub-locations and events are there, but I have only vague idea how much complicated it is to set up (because we didn't talked about events in detail either).

i am not sure what you mean, but it sounds doable if you want different gui based on amount of events currently available at the location.

Simple solution could be just dedicate some place on map for that. Or maps-on-map for crowded locations.

Better a bunch of buttons that activate different actions, one for girlmeets, another for events and so on.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 07, 2013, 02:37:51 PM
Traveling npcs, huh?
If MC is able to instantly travel between locations, they will be just like random meetings in SM3. In order to give them some meaning we probably should restrict the movement of MC (with the help of action points, I guess).
I mean something like this (http://www.gmtgames.com/sekig/SekigaharaBaseMap100dpi.jpg), where you can't just go from the westernmost point to the easternmost instantly. Well, maybe you can within the city, but not within the continent.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 07, 2013, 02:46:04 PM
Traveling npcs, huh?
If MC is able to instantly travel between locations, they will be just like random meetings in SM3. In order to give them some meaning we probably should restrict the movement of MC (with the help of action points, I guess).
I mean something like this (http://www.gmtgames.com/sekig/SekigaharaBaseMap100dpi.jpg), where you can't just go from the westernmost point to the easternmost instantly. Well, maybe you can within the city, but not within the continent.

Nah, I despise traveling restriction. Prolly easier to solve by setting a location for a couple of days and chance of meeting that only checks on the first visit to a location.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: CherryWood on May 07, 2013, 02:55:31 PM

i am not sure what you mean, but it sounds doable if you want different gui based on amount of events currently available at the location.
Sorry, I'm not good at explaining stuff, but I made a Picture! (http://img24.eu/images/c5cjyry.jpg)  :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 07, 2013, 03:06:00 PM
Sorry, I'm not good at explaining stuff, but I made a Picture! (http://img24.eu/images/c5cjyry.jpg)  :)

LoL

I freaking love it :)

But that would require a map like you drew (lineart) at the very least. Cannot really picture that with the current setup.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 07, 2013, 03:36:01 PM
Not necessarily. We could also use scaling, so when you select a district you see its own little map with houses and icons. I think it won't be too hard to find suitable pictures for various districts.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 07, 2013, 03:57:54 PM
Not necessarily. We could also use scaling, so when you select a district you see its own little map with houses and icons. I think it won't be too hard to find suitable pictures for various districts.

Maybe using lineart for the city itself (much like on CW's painting, simple, clear and easy on the eye) and open backgrounds when you go to a specific place?

Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: CherryWood on May 07, 2013, 04:40:14 PM
inspired by Overhao  :)
But hey, don't talk about my lineart, that wasn't the point... I just wanted to ask about possibility of adding events buttons... same system, random city picture from distance: nothing selected (http://img24.eu/images/lpxiox09.jpg), center selected (http://img24.eu/images/enuxgc4.jpg), district 1 (http://img24.eu/images/ym1j39ew.jpg) selected


--------edit--------
That was a totally random picture, I don't want that modern one either. (I didn't seriously started looking for good one yet) I was just thinking if it could be viable to access these additional and temporally locations directly from main map or not. (=how crowded it would look).
We have a lot of other options to get to these after all... navigation, closeup maps or just screens or menus... so no problem with keeping main map simple.

Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 07, 2013, 05:03:29 PM
Inspired by Overhao  :)
But hey, don't talk about my lineart, that wasn't the point... I just wanted to ask about possibility of adding events buttons... same system, random city picture from distance: nothing selected (http://img24.eu/images/lpxiox09.jpg), center selected (http://img24.eu/images/enuxgc4.jpg), district 1 selected (http://img24.eu/images/ym1j39ew.jpg)

Yeap, that's good too, I liked your version better but something like that will do the trick as well. City looks to modern and civilized, we would have to change universe for that to work, but the idea of map design is clear.

I personally like it, it would have to be designed a bit better but I would sign under this concept for city map gui.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 12, 2013, 05:03:29 AM
@Dev team:

Guys, we have a git  ???

Version control system is setup. Also new irc chatroom is setup, details on how to enter (browser or soft like mirc) are in the DB folder.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 12, 2013, 05:55:51 AM
http://img593.imageshack.us/img593/8203/34500572.png (http://img593.imageshack.us/img593/8203/34500572.png)
<insert random sarcastic remark about the actual number of dev team here>
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 12, 2013, 06:00:26 AM
http://img593.imageshack.us/img593/8203/34500572.png (http://img593.imageshack.us/img593/8203/34500572.png)
<insert random sarcastic remark about the actual number of dev team here>

Lmao

Still a move in the right direction :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: CherryWood on May 14, 2013, 12:50:54 PM
I'm thinking about reducing the displayed size of novel sprites to more standard "above knee" height. The main reason is that there are usually more images like that. But, while harder to create, it's kind of nice to see their legs... can you help me decide?
long 1 (http://img24.eu/images/maci1o8k.jpg) 2 (http://img24.eu/images/bwuxh1v1.jpg) 3 (http://img24.eu/images/q72wmw.jpg) 4 (http://img24.eu/images/gr265zy0.jpg) short 1 (http://img24.eu/images/i4ytvazh.jpg) 2 (http://img24.eu/images/o6kfx5zl.jpg) 3 (http://img24.eu/images/vii69hsx.jpg) 4 (http://img24.eu/images/29tgfwb5.jpg)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 14, 2013, 01:00:51 PM
I'm thinking about reducing the displayed size of novel sprites to more standard "above knee" height. The main reason is that there are usually more images like that. But, while harder to create, it's kind of nice to see their legs... can you help me decide?
long 1 (http://img24.eu/images/maci1o8k.jpg) 2 (http://img24.eu/images/bwuxh1v1.jpg) 3 (http://img24.eu/images/q72wmw.jpg) 4 (http://img24.eu/images/gr265zy0.jpg) short 1 (http://img24.eu/images/i4ytvazh.jpg) 2 (http://img24.eu/images/o6kfx5zl.jpg) 3 (http://img24.eu/images/vii69hsx.jpg) 4 (http://img24.eu/images/29tgfwb5.jpg)

They are both awesome :)

"above knee" height seems to work better.

PS: @ Dark, I've removed backgrounds for your beta items, logic is almost done so I am going to use those for preliminary testing.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 14, 2013, 02:53:47 PM
I'm thinking about reducing the displayed size of novel sprites to more standard "above knee" height. The main reason is that there are usually more images like that. But, while harder to create, it's kind of nice to see their legs... can you help me decide?
long 1 (http://img24.eu/images/maci1o8k.jpg) 2 (http://img24.eu/images/bwuxh1v1.jpg) 3 (http://img24.eu/images/q72wmw.jpg) 4 (http://img24.eu/images/gr265zy0.jpg) short 1 (http://img24.eu/images/i4ytvazh.jpg) 2 (http://img24.eu/images/o6kfx5zl.jpg) 3 (http://img24.eu/images/vii69hsx.jpg) 4 (http://img24.eu/images/29tgfwb5.jpg)


I keep forgetting to ask you: When you work on removing backgrounds from quest/battle related images, please try cropping their heads so we have portraits. It's not a priority but it wouldn't hurt either.

Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 14, 2013, 03:52:43 PM
PS: @ Dark, I've removed backgrounds for your beta items, logic is almost done so I am going to use those for preliminary testing.
Ah jeez, couldn't you mention that we need backgroundless pngs before I created 55 consumables with icons?  :(
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 14, 2013, 04:21:32 PM

Ah jeez, couldn't you mention that we need backgroundless pngs before I created 55 consumables with icons?  :(

Sorry :( I thought that was obvious, I mean, if we use items with white only backgrounds or items with different backgrounds we are severely limiting possibilities of design. Roman wrote a function that was supposed to autoremove backgrounds in renpy but I don't know if it actually works. And we will prolly be better off doing it manually anyway.

You icons look solid in the game btw (this is an Alkion frame). Also I've already added stacking (after I made these screenshots) :)

(http://imageshack.us/a/img707/5982/80968097.png) (http://imageshack.us/a/img838/2830/21538522.png) (http://imageshack.us/a/img703/733/59817156.png)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 14, 2013, 04:59:06 PM
But, while harder to create, it's kind of nice to see their legs... can you help me decide?
Yeah, it's nice, but with legs they seem too far from MC for talking.

items with different backgrounds we are severely limiting possibilities of design
If you say so. I personally didn't care about background as long as it's not too ugly.

Cherry, would you like to help me with icons backgrounds?  :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: CherryWood on May 15, 2013, 12:51:28 PM
Cherry, would you like to help me with icons backgrounds?  :)
np, if you guys think I can help you with something, just send it to me and I try.


In meantime, I'm working on sailormoon girlpack (+few other girls and NPCs) with VN storyline and few picture events. But that will take long to complete.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 15, 2013, 02:30:49 PM
Ok, thanks. I've created icons folder in your shared part, just as before we need these pictures as backgroundless pngs.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 15, 2013, 03:13:17 PM
Ok, thanks. I've created icons folder in your shared part, just as before we need these pictures as backgroundless pngs.

Oki, I've finished basic mockup for items testing. Uploading to DB now.

Belt slots are not there yet cause they are useless at the moment but at least we can take out bugs in items logic.


PS: Striptease skill is called 'strip' in the game, you're writing it wrong in items.xml

Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 15, 2013, 04:09:31 PM
PS: Striptease skill is called 'strip' in the game, you're writing it wrong in items.xml
Not just there, but in traits.xml as well. You know why?
Because we discussed stats once in this post (http://pinkpetal.org/index.php?topic=1291.msg18749;topicseen#msg18749), where you called it striptease, and never since then  :D
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 15, 2013, 04:51:23 PM
Not just there, but in traits.xml as well. You know why?
Because we discussed stats once in this post (http://pinkpetal.org/index.php?topic=1291.msg18749;topicseen#msg18749), where you called it striptease, and never since then  :D

LoL

Fixed it, there is a good chance there was no striptease stat back when that post was written or it was dormant. I will not be able to code tomorrow but plan is to go back to security job next.

After that's finished we'll figure out together what gets coded next because original concept of SimBrothel version is no longer valid with new items system in place...

===============================
Edit: Hinata starting with full inventory and game starting with brothel and all slave girls in there set to random jobs there is for testing purposes (not a bug).
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 15, 2013, 05:02:15 PM
Regret to inform you that you fixed it wrong, "stript(ease)".
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 15, 2013, 05:13:08 PM
Regret to inform you that you fixed it wrong, "stript(ease)".

LoL again...

Been a long day, not mentioning that I've debugged 500 lines of code in under two hours this evening. (Alkions code can hardly be simply copypasted in PyTFall). GUI aside, items logic is 101% new so it is in need of testing. Inventory logic as well since Alkion does not have stackable items right now so I had to add that.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 15, 2013, 05:56:29 PM
Ok, I'll test it more tomorrow, but for now the game crushes if you try to equip Maid Uniform and it doesn't have wrist slot (or should I say, it's invisible).
Besides, did you code "hidden" field already?
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 16, 2013, 02:04:54 AM
Ok, I'll test it more tomorrow, but for now the game crushes if you try to equip Maid Uniform and it doesn't have wrist slot (or should I say, it's invisible).
Besides, did you code "hidden" field already?

I forgot about the wrist slot, I'll add it tomorrow. 'hidden' field does nothing yet but there is no way that it would not work, it's just an if fork that adds or removes bunch of text.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 17, 2013, 06:57:52 AM
Ok, I'll test it more tomorrow, but for now the game crushes if you try to equip Maid Uniform and it doesn't have wrist slot (or should I say, it's invisible).
Besides, did you code "hidden" field already?

Ok, so the slot is added and crash came from striptease in traits file (item was awarding traits) and couple of typos in the code as well. All that is fixed but I've encountered a serious flaw in my items design. Traits are VERY poorly handled. WM used counter to track traits but that doesn't seem to be working very well either so plan is to try and design a system with a counter and 'underlayer' to track traits properly...
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 17, 2013, 09:25:24 AM
Ok, so the slot is added and crash came from striptease in traits file (item was awarding traits)
Btw, looks like your current traits file is old, it doesn't include Cherry's traits and some balance fixes. Don't take the new one for the time being, I need to doublecheck it for typos and syntax problems  :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 17, 2013, 09:26:58 AM
Btw, looks like your current traits file is old, it doesn't include Cherry's traits and some balance fixes. Don't take the new one for the time being, I need to doublecheck it for typos and syntax problems  :)

Np, I wasn't planning to.

This trait activation thing is prolly the hardest subsystem I had to work on to date... still trying to crack it.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Jasuke on May 18, 2013, 11:47:22 AM
Hi!
:D
I'm not the most active member of this site by any means, but I am interested in what you guys are doing so a few questions to start me off:
1. Is there any working version of this yet? (would like to see what is there at this point)
2. I am not the best person for coding since I can only just do java and a bit of C, but I did read that you needed writers and I would like to think of myself as a decent writer when it comes to descriptions and dialogue so if you ever need some dialogue written if you give me the basics (location, context, characters involved) I can write you as much as you may need :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 18, 2013, 01:01:26 PM
Hi!
 :D
I'm not the most active member of this site by any means, but I am interested in what you guys are doing so a few questions to start me off:
1. Is there any working version of this yet? (would like to see what is there at this point)
2. I am not the best person for coding since I can only just do java and a bit of C, but I did read that you needed writers and I would like to think of myself as a decent writer when it comes to descriptions and dialogue so if you ever need some dialogue written if you give me the basics (location, context, characters involved) I can write you as much as you may need :)

Hi :)

1) I'll upload what we have to my thread in Mods section. It's a buggy preAlpha so don't expect much, also all screens are temporary and should be eventually redesigned (when/if we find a GUI designer or gather enough resources for a GUI)

2) The problem is (truly no offense intended) that if every writer who claimed the same came up with a good amount of content we would have more than SlaveMaker at this point. But it always ends up in the same way, I spend hours explaining everything about the game in Skype/PM/Chat and person disappears. So if you like the game and want to add to it, simply join the dev team, get access to our DropBox folder, read through the thread to figure out what's needed. There is lots of stuff one could write for Interactions/NPCs/Locations/ Girlsmeets (althou Ncog may be taking care of that)/Events and etc. Just pick something and go with it, you can create a folder in DB shared one and upload all pics/backgrounds you find/texts you write. We all work at our own pace.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 20, 2013, 03:34:19 PM
Another (http://mycuteslave.blogspot.ru/) new, but quite popular slave training game for ripping texts and ideas  :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 20, 2013, 06:07:48 PM
Another (http://mycuteslave.blogspot.ru/) new, but quite popular slave training game for ripping texts and ideas  :)

Right... that's time wasted. I liked the idea of unlocking possibilities of interactions for money but it's better done with stats and skills instead. Otherwise it's just a bunch of events. Complete crap compared to SM or Valet Pletej.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on May 30, 2013, 03:17:33 AM
hey guys!

git is great, makes collaborating a lot easier.

I made a few changes to job and next day code to improve readability and make debugging, expanding and maintaining it a little easier. I commited those changes into a new branch in my local git repository. Do you want me to push those changes into the sourceforge repository (if so, how do I do that?) or should I upload the changed files into dropbox (but then you don't get to cherry pick the changes you like). What's the best way to share my changes with you?

rudi
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 30, 2013, 03:40:52 AM
hey guys!

git is great, makes collaborating a lot easier.

I made a few changes to job and next day code to improve readability and make debugging, expanding and maintaining it a little easier. I commited those changes into a new branch in my local git repository. Do you want me to push those changes into the sourceforge repository (if so, how do I do that?) or should I upload the changed files into dropbox (but then you don't get to cherry pick the changes you like). What's the best way to share my changes with you?

rudi

Hey man, welcome back. I am planning to redo brothels/jobs/next day soon (did some work on brothel upgrades just yesterday). You should push your changes to SF, I'll ask Matt to help you with access. Have you used git before? I am still trying to figure it out...

Edit:
PS: There is a communication document in DB folder, you could get on Mirc, would be easier to communicate that way.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: mijh on May 30, 2013, 03:47:42 AM
Hi there, you should come on irc to talk, or pm me a skype name :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 30, 2013, 03:56:50 AM
Btw, I cannot use irc or skype at work because of our firewall, and I spend a lot of time there. So in my case forums are the best bet.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 30, 2013, 04:09:24 AM
Btw, I cannot use irc or skype at work because of our firewall, and I spend a lot of time there. So in my case forums are the best bet.

Ah ok, that explains quite a bit, I was wondering why you're almost never on mirc or skype.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on May 30, 2013, 10:43:54 AM
@Xela
Thanks. I've never used git before, but I learned to use (and cherish) Mercurial while working on Pytherworld. Since both are distributed version control systems, many concepts are similar, especially that branches are great and merging is relatively easy.

@mijh
I'll try to show up on IRC, but I don't know when I'll have time to do that as my life is pretty chaotic right now. Maybe you could just post the necessary steps here or add them to the document in the dropbox or send me a PM? I imagine it's something like:
1) register a sourceforge account
2) send you the account name
3) receive write permission to the repository
4) use a command like 'git push http://bogus.sf.org/repo' to transfer the changes I made into the sourceforge repository
5) you choose the changes you like and merge them into the master branch

Btw, thank you for the dropbox document. It allowed me to download a copy of the game repository without problems :-) Very handy if you just want to start coding ;-)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 30, 2013, 12:06:10 PM
@Xela
Thanks. I've never used git before, but I learned to use (and cherish) Mercurial while working on Pytherworld. Since both are distributed version control systems, many concepts are similar, especially that branches are great and merging is relatively easy.

@mijh
I'll try to show up on IRC, but I don't know when I'll have time to do that as my life is pretty chaotic right now. Maybe you could just post the necessary steps here or add them to the document in the dropbox or send me a PM? I imagine it's something like:
1) register a sourceforge account
2) send you the account name
3) receive write permission to the repository
4) use a command like 'git push http://bogus.sf.org/repo (http://bogus.sf.org/repo)' to transfer the changes I made into the sourceforge repository
5) you choose the changes you like and merge them into the master branch

Btw, thank you for the dropbox document. It allowed me to download a copy of the game repository without problems :-) Very handy if you just want to start coding ;-)

Well, if it's as simple as adding you to SF, just give me your nick there and I'll give you all the permissions.

The trouble is that I also had to configure SSH protocol and some git settings (because we have two depos), that's why I said mijh should handle that cause he is far more experienced in the area.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 31, 2013, 09:51:21 AM
Phew! :)

Got the new upgrades we were talking about all sorted out.


  (http://img221.imagevenue.com/loc1034/th_007845792_Newupgrades_122_1034lo.jpg) (http://img221.imagevenue.com/img.php?image=007845792_Newupgrades_122_1034lo.jpg)
     

Description and price in the tooltip as player mousehovers over the available upgrades, they are level based so player cannot get draughtbeer before getting the bar. It makes less sense in other places but it's just the way it is coded, at least for now and prolly for the release.

Each picture is a button, greyed out if upgrade cannot be bought, color and can be clicked if upgrade can be aquired and just a color picture that cannot be clicked if upgrade was already bought.

Another thing that's new is the pop up confirmation window asking player if he really wants to buy the upgrade and now also if player lacks funds to complete the purchase, game throws a message instead of nothing happening at all.

Now... it's painful process of removing all the bugs from the game that new system has created and adding logic/event that the upgrades create afterwards.



Edit:
Actually, I am thinking about having upgrades and advertisements on slide out windows instead of a whole new screen (like fin window in girls profile). It should look and feel better that way, for now we'll leave it as it is because I don't want to create a mess in .rpy files, making it slide into the bounds of the screen is really easy so it can be done quickly in the future.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 31, 2013, 12:42:24 PM
Maybe put them in a simple tree for clarity? I mean something like this (https://dl.dropboxusercontent.com/u/79429937/91-1-1261188023.jpg) one.

Oh, and that assistant, the angel from the first Disgaea, if I'm not mistaken... Сonstantly seeing her in games tooltips since early Otherworld builds, I begin to hate her already  :D
How about giving the player an opportunity to change assistant's picture somehow?
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 31, 2013, 01:23:52 PM
Maybe put them in a simple tree for clarity? I mean something like this (https://dl.dropboxusercontent.com/u/79429937/91-1-1261188023.jpg) one.

Sure thing, but only when we start seriously rebuilding screens, design like that takes time and conception so there is no point in making the game pretty before we discuss design in detail.

Oh, and that assistant, the angel from the first Disgaea, if I'm not mistaken... Сonstantly seeing her in games tooltips since early Otherworld builds, I begin to hate her already  :D

She's not really an assistant, I just playing with screen design and picked the first pic I found. Not even sure we need an assistant btw :)

Anyway, I've pushed upgrades to git and refreshed dropbox. Going to add how upgrades work to the concept and see what can be done next.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on May 31, 2013, 01:49:47 PM
Not even sure we need an assistant btw
Maybe, maybe not. I thought about using current matrona's portrait for this. Without any specific purpose, just as a decoration. And if the player doesn't have matrona yet, it could be MC's portrait.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 31, 2013, 02:01:08 PM
Maybe, maybe not. I thought about using current matrona's portrait for this. Without any specific purpose, just as a decoration. And if the player doesn't have matrona yet, it could be MC's portrait.

Yeap, that would work too...
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on May 31, 2013, 05:18:34 PM
Ok guys... that's it for today and a lot was done I should say. All code written for the game is now merged into the Master branch on SF.


@Rudi:

You code was perfect btw and solution instead of my list, quite elegant. Problem was with .rpyc bitcode files, they (old versions) were messing the game up and git is set to ignore them. Basically every time you pull, delete all bitcode files in the game and you're solid :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on June 01, 2013, 12:52:17 AM
Thank you for the praise :-)

I did delete the bytecode files at one time, but it did not change the error message. I did not try it for the latest revision though. Thanks for the tip.



Regarding module filenames:
Are you guys sure it is a good idea to have module filenames that include dashes and spaces ('-' and ' ')? You could not import such modules into a regular Python script, unless you mess with the import machinery (and maybe not even then).
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 02, 2013, 03:24:32 AM
Regarding module filenames:
Are you guys sure it is a good idea to have module filenames that include dashes and spaces ('-' and ' ')? You could not import such modules into a regular Python script, unless you mess with the import machinery (and maybe not even then).

Not planning any imports, not now, not ever. I like the names, they're very clear about the content inside.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on June 02, 2013, 10:43:13 AM
Namespaces are a one of the powerful features Python is liked for. The import mechanism implements them at the file and directory level (modules and packages). I would be careful about dismissing them so easily.
Of course, you can always change the filename convention later if you change your mind, so it's no big deal currently.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on June 02, 2013, 02:11:34 PM
Before it's too late, I want to raise a question about the magical defence again. Even without BE it's hard to imagine a proper comparison of stats with magic, but without md of any kind.
We could either add a general md stat, use intelligence or add resistance to every existing element afterwards.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 02, 2013, 02:21:51 PM
Before it's too late, I want to raise a question about the magical defence again. Even without BE it's hard to imagine a proper comparison of stats with magic, but without md of any kind.
We could either add a general md stat, use intelligence or add resistance to every existing element afterwards.

Defence can serve as protection vs magical and physical attacks alike.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on June 02, 2013, 02:30:33 PM
Oooohkey. It may be an acceptable simplification for comparison, but not for the final release of BE.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 02, 2013, 03:39:00 PM
Oooohkey. It may be an acceptable simplification for comparison, but not for the final release of BE.

Well, I will take time to figure out BE at some point but that might take a week or two before I know it well enough to make it my b*itch :)

We'll have do with just defence for now... and build on it.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 03, 2013, 12:11:55 PM
@Girlpack makers (Dark/CW)

We could use another field like
Code: [Select]
nickname = 'Hinata'. Would really be useful for text/events, there is no rush but next time you go to data.xml file or for the future packs, add it pls.

PS: I will not be online for the better part of the day tomorrow and the day after. Maybe I will still be able to log into the forum from Android...
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on June 03, 2013, 03:11:50 PM
Are you sure it should be 'Hinata', not "Hinata"?
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 03, 2013, 03:46:46 PM
Are you sure it should be 'Hinata', not "Hinata"?

Same effect, use " if you like that best :)

I was actually thinking:

Code: [Select]
fullname = "Hinata Hyuga"
name = "Hinata"
nickname = "Hinata"
Nelliel Tu Odelschwanck

For some characters this would make a lot of sense:

Code: [Select]
fullname = "Nelliel Tu Odelschwanck"
name = "Nelliel"
nickname = "Nel Tu"

If fullname is not specified, it will default to name, what do you think?
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: CherryWood on June 03, 2013, 04:07:31 PM
I was actually thinking:

Code: [Select]
fullname = "Hinata Hyuga"
name = "Hinata"
nickname = "Hinata"
I'm giving it a thumbs up
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 03, 2013, 04:20:57 PM
I'm giving it a thumbs up

Well, thumbs up from me as well, it's one of those "we should have done it in the firstplace features" :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: DarkTl on June 03, 2013, 04:57:37 PM
Ok. And if nickname is not specified, it will default to name too.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 03, 2013, 05:10:46 PM
Ok. And if nickname is not specified, it will default to name too.

Yeap :)
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on June 10, 2013, 11:10:23 PM
Okay, the most important elements for the first, simple version of the image tagging system are now in place. Currently, this only means that we can select an image based on an image category (the first word in the image filename) and the folder the image is in, which are named after the characters. Is there any other information  about the images, which we could use in the game right now?

Are there game elements, which already have a (prototype) design that should be implemented? If so, could you provide a link or description? Xela is already working on jobs, so they don't count ;-). User interface (screens and similar stuff) is also difficult for me as I have no experience with the renpy GUI elements.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 11, 2013, 02:45:16 AM
Okay, the most important elements for the first, simple version of the image tagging system are now in place. Currently, this only means that we can select an image based on an image category (the first word in the image filename) and the folder the image is in, which are named after the characters. Is there any other information  about the images, which we could use in the game right now?

For sex pics: position. For any pic: mood. For any pic: location. There will be more and the possibilities for each should be discussed here first. Does every category has to be hardcoded? Why not create them on the fly while processing?


Are there game elements, which already have a (prototype) design that should be implemented? If so, could you provide a link or description? Xela is already working on jobs, so they don't count ;-). User interface (screens and similar stuff) is also difficult for me as I have no experience with the renpy GUI elements.

Don't think so, you can pick whatever you like and start a discussion on it, that's how we currently work out concepts.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on June 11, 2013, 09:21:45 AM
Does every category has to be hardcoded? Why not create them on the fly while processing?
What is a category? In the current game code (except for mine), every tag or keyword is called a category. So, currently category means the same as tag. Current tags include nude, date, profile, group, questangry and so on. These tags are created on the fly by the game by parsing filenames. Since filenames can only reasonably hold two or three tags per file, and we need more than that, we need other ways to store the tags for each image.

The goal is to have image pack creators who provide a list of tags for each image in their packs. Since the game needs to use the tags provided by non-coders in meaningful ways, I think tags must be hardcoded. If every image pack creator invents his own tags, I can't see a plausible way to make use of that information.

Now, on to the use of category to describe the concept of a keyword on an image file. I propose to use tag instead because its a shorter word and carries a similar meaning. Then, a category could be something like mood or location. To say it again: IMHO, location should be a category, while brothel, stage, market street or bar could be tags of the location category.
If we need the concept of categories for tags ingame remains to be seen. My proposal is about having one (and preferably only one) good name for any particular concept to avoid confusion.


Quote
For sex pics: position. For any pic: mood. For any pic: location.
I think we need a list of valid tags for each of these categories. Otherwise I don't see a way we can make use of the tags. We should also identify an ingame use for each category of tags we add.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 11, 2013, 10:44:18 AM
Now, on to the use of category to describe the concept of a keyword on an image file. I propose to use tag instead because its a shorter word and carries a similar meaning. Then, a category could be something like mood or location. To say it again: IMHO, location should be a category, while brothel, stage, market street or bar could be tags of the location category.

Yeah, I agree that we need to settle terminology, we should have our own section of the forum soon, then we can start dedicated discussions for every large concept in the game.



I think we need a list of valid tags for each of these categories. Otherwise I don't see a way we can make use of the tags. We should also identify an ingame use for each category of tags we add.

I think that identification is an overkill as well as hardcoding tags themselves. I would prefer there to be no tag categories either but that might become a bit messy.

Basically we can simply have a list/set of all tags for every image, then as we request an image, we specify a number of tags and iterate until we have a match or randomly choose from a number of matches. A system that would not force us into hardcoding every tag would top one that does right now because whatever taglist we come up with today will not be good enough even for an Alpha.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on June 11, 2013, 11:12:19 AM
I understand not hardcoding tags means every image pack creator will be able to invent their own tags? So, for an image showing a girl walking, we might get the tags walk, walking, stroll, goforwalk, or whatever else people will come up with? How is the game supposed to find a suitable image, especially if two people might use the same tag to describe different situations? We need an official list of allowed tags, so everybody can use the same word to describe a particular situation and we can use these words(=tags) to describe this situation in the game code.

If image taggers (=people describing images in terms of tags) feel they lack tags to describe a particular image, they should contact us, so we can include the needed tags into the official list and update game code to use the new tag.


Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 14, 2013, 06:56:47 PM
Small update:

I've spent almost two and a half days coding and managed to do this:

- Refactoring jobs into classes.
This is a semi-useless programming thing that might never pay off but took almost 1.5 days to fix all bugs that came with it.

- Next Day code has been improved.
Lots of things fixed, bugs removed, code cleaned up.

- Next Day screen has been improved to facilitate testing, filters installed, all stats changes shown on separate windows.

(http://img264.imagevenue.com/loc353/th_249715376_15_06_20131_52_40_122_353lo.jpg) (http://img264.imagevenue.com/img.php?image=249715376_15_06_20131_52_40_122_353lo.jpg)
     


=============
Next, I want to further improve jobs, load and manage actual costumer instances instead of generating random once and match costumers to girls (appropriate traits). That should keep me busy for the weekend.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on June 15, 2013, 12:57:57 AM
I would love to take a look at the new jobs, but you have not commited the new code to the sf repository yet. Why not?
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 15, 2013, 03:51:00 AM
I would love to take a look at the new jobs, but you have not commited the new code to the sf repository yet. Why not?

I don't have git on my laptop so I couldn't commit/push. Dropbox version was updated yesterday and I'll push in a couple of hours from my PC.
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: rudistoned on June 15, 2013, 05:04:21 AM
Ah, I understand now. Looking forward to the new code :-)


UPDATE:
Congratulations on our new subforum! Great job Xela (assuming you did that)!
Title: Re: -PyTFall- Dev Thread: Writers/Game Designers needed!
Post by: Xela on June 16, 2013, 06:55:05 AM
Ah, I understand now. Looking forward to the new code :-)


UPDATE:
Congratulations on our new subforum! Great job Xela (assuming you did that)!

Thanks, Dagoth created the subsection, I did relocating.

// Code has been uploaded to both dropbox and sf. I am planning to improve jobs today, many things, especially in the strip relay that makes no sense as well as generating costumers list and work with that.
Title: Re: General Discussion
Post by: Xela on June 18, 2013, 07:07:14 PM
Updated Sf:
- new items added (Dark's designs)
- costumers are not randomly created 'on the fly' anymore, a list is generated and we work with individual customers from that list now.
- traits now have meaning for whore job, if girl has a trait that client wants = extra income.
- relay code from strip job to whore/bar/club jobs had been reworked to make more sense and be more scalable.
- nickname/fullname code has been written to default to name if not specified.
- sucky brothel market fixed (broken due to Matt's rescaling earlier)
- some other minor bug/text fixes
Title: Re: General Discussion
Post by: rudistoned on June 20, 2013, 03:33:01 AM
@Xela
Great to see things progressing quickly! :-)

By the way, as far as I know it is good practice to submit only changes that are logically releated in the same commit. So, basically every line in your post could have been its own commit. If we would follow that principle, we can use git to help fixing problems. For example, if we decide in a week or two that the changes to customer creation went in the wrong direction, we could revert those changes easily if they were their own commit.
We don't have to change anything now, but I think it would be a good idea to add only logically related changes to the same commit.
Title: Re: General Discussion
Post by: Xela on June 20, 2013, 05:58:27 AM
Great to see things progressing quickly! :-)

Thanks :)


By the way, as far as I know it is good practice to submit only changes that are logically releated in the same commit. So, basically every line in your post could have been its own commit. If we would follow that principle, we can use git to help fixing problems. For example, if we decide in a week or two that the changes to customer creation went in the wrong direction, we could revert those changes easily if they were their own commit.
We don't have to change anything now, but I think it would be a good idea to add only logically related changes to the same commit.


I am doing that whenever convenient, however I've written most of the fixes/small add-ons while I was working on expanding job code and I wouldn't commit code while part of the game was in a broken state.
Title: Re: General Discussion
Post by: NEXEON on June 20, 2013, 06:50:20 AM
where is the download link is available of current version of  game?  :)
Title: Re: General Discussion
Post by: Xela on June 20, 2013, 07:14:33 AM
where is the download link is available of current version of  game?  :)

Direct download link for a slightly outdated version is here:

http://pinkpetal.org/index.php?topic=1890.0

Development version is here:

http://pinkpetal.org/index.php?topic=1831.0

But neither is really playable due to the lack of content/balancing.
Title: Re: General Discussion
Post by: rudistoned on June 20, 2013, 07:18:29 AM
I've written most of the fixes/small add-ons while I was working on expanding job code and I wouldn't commit code while part of the game was in a broken state.
I agree that we should not commit broken code to the master branch, but I do think that it is okay to commit changes to development branches, even if those changes break something at that revision. That is the reason why I always commit to some development branch until those changes are ready for the master branch.

A useful tool if you want to get a small fix into master while you've been working on something else is the 'stash' command.
Basically, all you need to do is open a git console for the pytfall directory and enter "git stash". This will store all the changes you made to your working copy since the last commit and then revert your working copy back to the state of the last commit. Now, implement your fix, commit it, go back to the git console and enter "git stash apply". This will restore the changes to your working copy you saved with "git stash". A more detailed explanation can be found here: http://gitready.com/beginner/2009/01/10/stashing-your-changes.html (http://gitready.com/beginner/2009/01/10/stashing-your-changes.html)
Title: Re: General Discussion
Post by: Xela on June 20, 2013, 07:23:36 AM
I agree that we should not commit broken code to the master branch, but I do think that it is okay to commit changes to development branches, even if those changes break something at that revision. That is the reason why I always commit to some development branch until those changes are ready for the master branch.

A useful tool if you want to get a small fix into master while you've been working on something else is the 'stash' command.
Basically, all you need to do is open a git console for the pytfall directory and enter "git stash". This will store all the changes you made to your working copy since the last commit and then revert your working copy back to the state of the last commit. Now, implement your fix, commit it, go back to the git console and enter "git stash apply". This will restore the changes to your working copy you saved with "git stash". A more detailed explanation can be found here: http://gitready.com/beginner/2009/01/10/stashing-your-changes.html (http://gitready.com/beginner/2009/01/10/stashing-your-changes.html)

LoL

Thanks, I'll keep that in mind :)
Title: Re: General Discussion
Post by: Xela on June 20, 2013, 03:22:30 PM
Any ideas on how do we want leveling system to work? Like how many exp points/level? Do girls get 'power ups' every 5 - 10 levels, developing traits or higher stat caps?
Title: Re: General Discussion
Post by: rudistoned on June 20, 2013, 03:57:38 PM
Classic RPG leveling (think Dungeons&Dragons) works like this:

1. 1000 XP total (0 + 1000 gained XP needed for level up)
2. 3000 XP total (1000 + 1000 gained XP needed for level up)
3. 6000 XP total (2000 + 1000 gained XP needed for level up)
4. 10000 XP total (3000 + 1000 gained XP needed for level up)
and so on

To reach the next level, you have to gain as many XP as you needed for the previous level plus 1000 more. That means gaining levels gets harder over time, but it gets harder rather slowly. I think it's a nice system.
Title: Re: General Discussion
Post by: Xela on June 20, 2013, 04:10:08 PM
Classic RPG leveling (think Dungeons&Dragons) works like this:

1. 1000 XP total (0 + 1000 gained XP needed for level up)
2. 3000 XP total (1000 + 1000 gained XP needed for level up)
3. 6000 XP total (2000 + 1000 gained XP needed for level up)
4. 10000 XP total (3000 + 1000 gained XP needed for level up)
and so on

To reach the next level, you have to gain as many XP as you needed for the previous level plus 1000 more. That means gaining levels gets harder over time, but it gets harder rather slowly. I think it's a nice system.

Awesome! I like it :)
Title: Re: General Discussion
Post by: rudistoned on June 20, 2013, 04:11:07 PM
Concerning leveling benefits, I think girls should gain higher skill caps, or 'power ups' or both. I'm against traits, as many traits represent things you cannot learn (unless we say it happens through "magic", at which point any further explanation is futile). Power-ups (we could also use the word feats) could be organized in trees and grant skill cap increases or skill boni that can raise the current skill level above the cap, or provide new skills to use (like Otherworlds classes do). If we decide to have power-ups, I would vote for turning learnable traits into power-ups (example: "Seductress" could be a power-up as you can learn to seduce people; "Angelic beauty" could not be a power-up as you cannot learn to look like an angel. You either do, or you dont). I think sibr1x had a power-up tree which I liked. We could do something similar :-)
Title: Re: General Discussion
Post by: Xela on June 20, 2013, 04:21:31 PM
Concerning leveling benefits, I think girls should gain higher skill caps, or 'power ups' or both. I'm against traits, as many traits represent things you cannot learn (unless we say it happens through "magic", at which point any further explanation is futile). Power-ups (we could also use the word feats) could be organized in trees and grant skill cap increases or skill boni that can raise the current skill level above the cap, or provide new skills to use (like Otherworlds classes do). If we decide to have power-ups, I would vote for turning learnable traits into power-ups (example: "Seductress" could be a power-up as you can learn to seduce people; "Angelic beauty" could not be a power-up as you cannot learn to look like an angel. You either do, or you dont). I think sibr1x had a power-up tree which I liked. We could do something similar :-)

We need to write concept for power-ups first but We should definitely get those, system where player gets to choose from a tree sounds good...
Title: Re: General Discussion
Post by: Xela on June 20, 2013, 07:34:35 PM
Anyway... SF has been updated with level up system and some code improvements, head slot has also been removed.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2013, 02:49:32 AM
Updated Sf:
- new items added (Dark's designs)
That's probably wasn't wise. Even leaving balance aside, some items could use better icons, and descriptions have to be checked for spelling.

provide new skills to use (like Otherworlds classes do)
When we'll have BE, we could use it for battle occupations to learn new spells/skills that cannot be learned by other means.
Actually, we could use slightly different trees for different occupations. Warriors don't need seductive skills, and whores don't need combat skills.
Title: Re: General Discussion
Post by: Xela on June 21, 2013, 03:51:09 AM
That's probably wasn't wise. Even leaving balance aside, some items could use better icons, and descriptions have to be checked for spelling.

Same statement can be made about the code, texts, traits, girls and screens so I figure it's more than ok.

BTW: I've removed head slot but maybe we should simply flip 3 - 4 items from other categories and keep it? Would likely make more sense.

When we'll have BE, we could use it for battle occupations to learn new spells/skills that cannot be learned by other means.
Actually, we could use slightly different trees for different occupations. Warriors don't need seductive skills, and whores don't need combat skills.

They might not "Need" it, but those still could be useful, we can leave decision to the player, also will depend on concept we write, currently I don't have any good ideas for the tree anyway.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2013, 04:30:57 AM
I've removed head slot but maybe we should simply flip 3 - 4 items from other categories and keep it? Would likely make more sense.
I'm not sure it's a good idea to "flip" various capes and cloaks with hoods from cape and body slots to head slot. And, like I said, we simply don't have enough stats and traits to make interesting head items.

The thing is, I don't want to create closed helms or other simple, cheap items that fully cover the face and give lame defence bonuses since we actually see characters faces on portraits all the time, and also because we already have gloves and boots for such  bonuses.
So they have to be rather original and unique items with more or less unique properties, like small masks, tiaras, maybe headsets and visors if we will use hi tech eventually. You could return head slot if you want to, but I would prefer to not create head items until BE and stuff.
Title: Re: General Discussion
Post by: Xela on June 21, 2013, 04:58:04 AM
I'm not sure it's a good idea to "flip" various capes and cloaks with hoods from cape and body slots to head slot. And, like I said, we simply don't have enough stats and traits to make interesting head items.

The thing is, I don't want to create closed helms or other simple, cheap items that fully cover the face and give lame defence bonuses since we actually see characters faces on portraits all the time, and also because we already have gloves and boots for such  bonuses.
So they have to be rather original and unique items with more or less unique properties, like small masks, tiaras, maybe headsets and visors if we will use hi tech eventually. You could return head slot if you want to, but I would prefer to not create head items until BE and stuff.

Oki, like I've said, your call, you're basically in charge of traits/items at this point ;) Also returning/adding new slots (governed by the same logic as normal equipables) takes like 5 mins code-wise so it's all good.
Title: Re: General Discussion
Post by: Xela on June 21, 2013, 05:27:32 PM
Ok, just went over some code today and added "Poison" effect (just logic).

@Dark
I cannot download girlpacks from Mega for some reason, any chance you can up them elsewhere?
Title: Re: General Discussion
Post by: rudistoned on June 21, 2013, 06:33:30 PM
I changed school training into a job today, so please don't do it yourselves. I'm also fixing the bugs in the master branch, sorry about that (the school training job is part of that).
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 07:51:28 AM
I changed school training into a job today, so please don't do it yourselves. I'm also fixing the bugs in the master branch, sorry about that (the school training job is part of that).

Brothel filters are broken, I also found a bug that I'm gonna fix (viewport doesn't work on brothel filters) but restoring filters in up to your (you break it, you buy it ;) )

@Dark
I cannot download girlpacks from Mega for some reason, any chance you can up them elsewhere?

I am downloading it, but REALLY slowly for some reason. Should be done tomorrow so there is no need to reup it elsewhere (unless my downlaod breaks).

In any case, I am done with my chores for the day and plan is to spend at least 5 - 6 hours working on the project, not sure what I am going to do yet, but I'll find something.
Title: Re: General Discussion
Post by: DarkTl on June 22, 2013, 07:56:44 AM
I personaly cannot download them, looks like Mega has drawbacks after all. Maybe it's unsafe to upload big files, since 320 Mb archive with wm ex girls is fine.
I've added fullnames stuff and portraits and uploaded packs to dropbox for now, grab them while you can  :)
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 08:16:04 AM
I personaly cannot download them, looks like Mega has drawbacks after all. Maybe it's unsafe to upload big files, since 320 Mb archive with wm ex girls is fine.
I've added fullnames stuff and portraits and uploaded packs to dropbox for now, grab them while you can  :)

Auto-Downloading them at 25x the speed of Mega, thanks.

PS: Anything you would like to see done? I still haven't picked a task/tasklist for today and tomorrow. for now I'll just fix the viewport issue.

View port is fixed :)
Title: Re: General Discussion
Post by: DarkTl on June 22, 2013, 08:39:55 AM
Well, you could either code MC and add to the game those portraits and battle sprites I've found, or make effects system the same way as traits system, so anyone could create them via xml.
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 09:03:05 AM
Well, you could either code MC and add to the game those portraits and battle sprites I've found, or make effects system the same way as traits system, so anyone could create them via xml.

All effects I want to be hardcoded, because they will all work very differently I expect.

I'll see if I can figure out rudi's script to generate girl tags and if I manage that, I'll up them to SF.
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 09:10:50 AM
Well, you could either code MC and add to the game those portraits and battle sprites I've found, or make effects system the same way as traits system, so anyone could create them via xml.

MC is a decent bet, I was thinking more in the lines of developing girl control system and auto-managing system but MC is good too :)

I am still trying to figure out mapping script.
Title: Re: General Discussion
Post by: rudistoned on June 22, 2013, 11:11:31 AM
As I told you, you could also just upload the images and I'll do the tagging. Some parts of the code I used to generate to first batch of tag files exists only in the history of the tags branch. It's not very fleshed out as its not meant to be a permanent solution ;-)
I'll improve it when I tag the new images.

Btw, the bugs in master should be fixed in the latest revision, unless I overlooked something.
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 11:48:37 AM
As I told you, you could also just upload the images and I'll do the tagging. Some parts of the code I used to generate to first batch of tag files exists only in the history of the tags branch. It's not very fleshed out as its not meant to be a permanent solution ;-)
I'll improve it when I tag the new images.

It's ok, I wrote tagging script myself as I did not know when you were coming back. Everything is tagged and I will be uploading over a gig of new girls/pics to content shortly.

PS: This is a good thing btw since I now have better understanding of how tagging system works.

Btw, the bugs in master should be fixed in the latest revision, unless I overlooked something.

I thought you just implemented a temporary solution cause you did not have time to finish. You've completely removed 'per brothel' filters, now, no matter which brothel you sort by, every girls report and every brothel report is filtered into one list (obviously not as intended)
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 02:15:11 PM
Well, didn't manage to do any serious coding today (still have like 3 -4 hours to go), but fixed a bunch of bugs and did some testing.

We may be facing some performance issues with a very high number of girls in the game so I guess there is a call to write better code. We're more than ok for now, here are some results:

At 7200 events, we're talking some serious waiting time on next day (like 20 secs). Game never crashed but this is still not very reassuring (that said, we're talking like 1500 girls in this case and unoptimized code)

At 4016 events, very acceptable 2 - 3 secs waiting time (about the same as WM with a lot of girls if I recall correctly). Didn't bug me at all.

At 1232 events, almost instantaneous.

Fun Fact: Dark's girls annihilated all costumers in barbrawl/girl attack events, apparently most of them are warriors :D
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 02:45:27 PM
LoL WTF... Kurenai looks awesome, new girls really brighten up the game, way to go Dark  8)

(http://img21.imageshack.us/img21/8454/ujpa.jpg) (http://imageshack.us/photo/my-images/21/ujpa.jpg/)


(Since I am supposed to complain about something, you've had two mistakes in xml file  :D )

Title: Re: General Discussion
Post by: rudistoned on June 22, 2013, 02:58:19 PM
I thought you just implemented a temporary solution cause you did not have time to finish. You've completely removed 'per brothel' filters, now, no matter which brothel you sort by, every girls report and every brothel report is filtered into one list (obviously not as intended)
Yes, I removed the per brothel filter because I tought we only support one brothel currently. I thought the next day screen depends on the brothel variable to determine which brothel is currently selected, but it actually doesnt. After reading the next day code many times, I now see that it actually supports several brothels. Sorry about that, I'll fix it. Does the whole game support more than one brothel?
Title: Re: General Discussion
Post by: DarkTl on June 22, 2013, 03:02:41 PM
Dark's girls annihilated all costumers in barbrawl/girl attack events, apparently most of them are warriors
Let's see, we have two battle androids from Xenosaga, all those ninjas from Naruto, technomages from Ar Tonelico, persona users from Persona and experienced melee fighters from Soul Eater. I guess characters from One Piece are the weakest among all  ;D

Still, only androids are really powerful, both in the source and in Pytfall, since they literally have weapons of mass destruction installed.  So it's your customers are weaklings, you have to make them stronger.

you've had two mistakes in xml file
Ah yes, I forgot to mention that I didn't have time for testing girls xmls. I'm lucky to have only 2 mistakes (hopefully).
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 03:04:30 PM
Yes, I removed the per brothel filter because I tought we only support one brothel currently. I thought the next day screen depends on the brothel variable to determine which brothel is currently selected, but it actually doesnt. After reading the next day code many times, I now see that it actually supports several brothels. Sorry about that, I'll fix it. Does the whole game support more than one brothel?

Whole game supports either at least 10 brothels (or infinity after refactoring, I don't remember). There is a buy brothel screen, you can get more brothels there, Json brothels file is messed up because of new upgrades system, but I'll fix that at some point. Also upgrade screen is a bit off if not all upgrade branches are available, I'll fix that soon as well. My next task is to make new upgrades meaningful and make auto-rest-rested-back to work system work.

PS: Right filter window is already fixed (viewport not working), I'll push that and more after new content is uploaded to SF.
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 03:10:58 PM
Let's see, we have two battle androids from Xenosaga, all those ninjas from Naruto, technomages from Ar Tonelico, persona users from Persona and experienced melee fighters from Soul Eater. I guess characters from One Piece are the weakest among all  ;D

Still, only androids are really powerful, both in the source and in Pytfall, since they literally have weapons of mass destruction installed.  So it's your customers are weaklings, you have to make them stronger.

That explains it, in the past guards usually got their asses handed to them, especially in brawl events where they had to subdue multiple customers at the same time.


Ah yes, I forgot to mention that I didn't have time for testing girls xmls. I'm lucky to have only 2 mistakes (hopefully).

There are no more structural mistakes, game design is a different issue but we'll figure that out later.
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 03:22:58 PM
@CW

I thought you did some work on girl packs as well, are your girls included in Dark's pack??? I only found a link to a gallery with new pics for Hinata/Sakura/TenTen in your folder?
Title: Re: General Discussion
Post by: DarkTl on June 22, 2013, 03:29:36 PM
Huh? No they don't. And there is a link to Bleach, NGE and Sailor Moon packs (although only NGE girls have xml right now).
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 04:12:43 PM
Huh? No they don't. And there is a link to Bleach, NGE and Sailor Moon packs (although only NGE girls have xml right now).

Alright, I got something mixed up then.
Title: Re: General Discussion
Post by: CherryWood on June 22, 2013, 04:30:35 PM
@CW

I thought you did some work on girl packs as well, are your girls included in Dark's pack??? I only found a link to a gallery with new pics for Hinata/Sakura/TenTen in your folder?
I moved them from shared dropbox folder to private one, to save space and also because I'm still changing them a lot.
But there's nothing new, as I did almost nothing in past two months. (But my school ended yesterday, so I should finally have some time from now on)
If that link can't be used, I upload them somewhere if you want. But it's like DarkTl said, I only have data file for evangelion girls now, rest are just stored images.
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 04:41:49 PM
I moved them from shared dropbox folder to private one, to save space and also because I'm still changing them a lot.
But there's nothing new, as I did almost nothing in past two months. (But my school ended yesterday, so I should finally have some time from now on)
If that link can't be used, I upload them somewhere if you want. But it's like DarkTl said, I only have data file for evangelion girls now, rest are just stored images.

Awesome, I wasn't rushing you or anything like that, we've all agreed to work at our own pace and as time permits. There is no need to upload them elsewhere.
Title: Re: General Discussion
Post by: Xela on June 22, 2013, 07:21:53 PM
Phew... and done for tonight :)

Everything has been upped to SF.

@Dark
You can delete your girlpack from DB now.

Changes to code:
- Viewport fixed on right NDL filter
- New girls for testing (by Dark)
- Started resfactoring of next day girl's method
- Added joy mod due to flowerbeds
- Fixed some bugs
- AutoRest - Bach to Work - AutoRest is now working
- Dice function either fixed or slightly messed up (Check forums)
- Total amount of acts is now displayed on ND
- Simple tagging script added
- Tested large amount of events/acts, good results, RenPy/Python/Code are not letting us down
Title: Re: General Discussion
Post by: rudistoned on June 23, 2013, 05:41:13 AM
A gigabyte of new content? You guys are crazy  :D
Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 05:52:46 AM
I've resized all huge pics to 1000x1000, and I'm fine with resizing them even more since I don't have/need megalarge display, but some people have them, so...
Title: Re: General Discussion
Post by: Xela on June 23, 2013, 06:05:00 AM
A gigabyte of new content? You guys are crazy  :D

There is more... first thing I figured out that traits are not being loaded on game start. Going to fix that soon.

List of immediate coding plans (in no particular order):

1) Girls Control Screen
- AutoRest
- SlaveDriver
- Service Girl job (Lock tasks)
- Whore job (Lock acts)
- Move wage mod to this screen
- Post job activities (Placeholder since subsystems are not ready)
- Load traits on game start-up (was working before, got broken at some point I guess)

- Sell slavegirls option (maybe better at some location as well, just in the profile screen for now)
- Revision of finance system
- Figure out random girls


2) Brothels
- Make all new upgrades meaningful
- Fix empty frames appearing if not all upgrade branches are available
- Fix brothels JSON file to include new upgrades (Dark/CW can do that as well as I btw)
- Hire pro cleaners to clean the building (Instant clean vs a fee deal)
- SlaveDriver effect on all girls who's agree/have no choice but to agree (Brothel-wide area)
- Lock acts (brothel-wide effect) at risk of loosing costumers
- Activate sell brothel button


3) Jobs
- More trait checks
- Re-balancing
- Work out some raiding jobs for warriors (catacombs alternative to WM)
- Club brawl event? Not sure that we need one, but bar brawl event can be literally copied with 1 - 2 changes. Make sure fight is vs actual costumers from the list and NOT on generated on spot once.
- Add something like Demanding, Aggressive traits for costumers and check on that and costumer satisfaction + matched traits (found the right girl = No attack) for starting fighting events
- Relay results of guard activities to guard job (restore guard job report for that matter :) )
- Add 'Per job filters' on NDL (@Brothel filter only)
 

4) MC
- Screen at game start (choosing class/pics)
- Adapt Stat-boundry checking methods from girls class
- Adapt leveling system from girls class
- Add alignment stat
- Add control screen
- Add items equipment screen
- Adapt/improve upon creating party system from Alkion


5) Items
- Improve screens (on Dark's request)
- Item transfer system


6) Content
- Girlsmeets/interactions:
Responses checking order (on what's relevant bases) occupation --> disposition --> stats --> traits

- New locations
- Create shops
- Create NPCs
- Create some form of rudimentary exploration system (maybe just "look for action" in dangerous locations button for Alpha version)

Phew, prolly more but this will do for now, I always have trouble finding stuff to do, this will be of some help :)
Title: Re: General Discussion
Post by: CherryWood on June 23, 2013, 06:21:16 AM
I've resized all huge pics to 1000x1000, and I'm fine with resizing them even more since I don't have/need megalarge display, but some people have them, so...
I am using 1200x1200 as a limit size and 91 jpg quality for most of the images. That way 400 pictures have a nice 55 MB size. But I'm thinking about increasing it for new girls, because the artifacts are noticeable sometimes... but size rises really fast with quality... hard to decide...


A gigabyte of new content? You guys are crazy  :D
And you see nothing!
My completed girls have 4300 images and 600MB
But my working folder have 47 140 images and over 20GB  :D
Title: Re: General Discussion
Post by: Xela on June 23, 2013, 06:26:00 AM
But my working folder have 47 140 images and over 20GB  :D

I am now officially afraid of you :)
Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 06:41:45 AM
I am using 1200x1200 as a limit size and 91 jpg quality for most of the images. That way 400 pictures have a nice 55 MB size. But I'm thinking about increasing it for new girls, because the artifacts are noticeable sometimes
Ah, I'm using 100 quality to minimize artifacts, and 400 pics have about 100 MB size. Still, it's much less than whithout resizing.
Title: Re: General Discussion
Post by: Xela on June 23, 2013, 08:08:19 AM
Girl normalization and traits loading on start-up has been moved into girl's class. Traits as they're now are unbalanced and break some of my methods (due to pushing certain stats to negative values), I will fix that when I get to fin rescaling.

Conan with her traits loaded:

(http://img23.imageshack.us/img23/3927/hk3r.jpg) (http://imageshack.us/photo/my-images/23/hk3r.jpg/)
Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 08:32:38 AM
I don't see anything strange here, she had a hard life and she is able to turn to paper a whole damn sea :)
Title: Re: General Discussion
Post by: Xela on June 23, 2013, 08:45:44 AM
I don't see anything strange here, she had a hard life and she is able to turn to paper a whole damn sea :)

True, but remember that we've agreed to relate to anime/shows only to a certain point. Otherwise gameplay will turn out retarded no matter what we do. In any case, I'll improve fin methods but this will have to be rebalanced or normalized (stats forcibly reset to a maximum allowed by girl's class at start-up), not even MC should be allowed to start with battle-stats so high.

In any case, balancing is a task for the future, I will start making new upgrades useful right now.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 09:11:26 AM
Well, I expect truly powerful characters to be found not in the streets, but in some dungeons and other dangerous locations.
As for initial stats, you should give us, packs makers, approximate values of power. I have no idea what means magic 70, especially since you mentioned that there is no absolute maximum, so I personally expected an average stat value about 200-300 after schools.
Title: Re: General Discussion
Post by: Xela on June 23, 2013, 09:27:27 AM
Well, I expect truly powerful characters to be found not in the streets, but in some dungeons and other dangerous locations.
As for initial stats, you should give us, packs makers, approximate values of power. I have no idea what means magic 70, especially since you mentioned that there is no absolute maximum, so I personally expected an average stat value about 200-300 after schools.

We'll leave it as it is and create tables at later stages of development. I would prefer if we managed to balance the whole thing in one attempt (even if it will prolly be a long attempt) and apply small fixes later. If we try to balance traits now, there is a good chance that we'll have to do so again in month or so.

Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 10:22:30 AM
I have one purely cosmetic idea about initial stats: give the opportunity to create pseudo traits within girls xmls.
Let's say, I make Konan, and I write something like that in a separate section of xml:
Quote
   <ptrait
      id="Paper Jutsu"
      desc="Bla-bla-bla">
      <mod magic = '40' />
      <max magic = 40' />
   </ptrait>
   <ptrait
      id="Toad Hermit Student"
      desc="Bla-bla-bla">
      <mod attack = '40' />
      <max attack = 40' />
   </ptrait>
   <ptrait
      id="Traumatic Childhood"
      desc="Bla-bla-bla">
      <max joy = -40' />
   </ptrait>
instead of simple
Quote
      <mod magic = '40' />
      <max magic = 40' />
      <mod attack = '40' />
      <max attack = 40' />
      <max joy = -40' />
It won't help us at all, but it will embellish the game and create a kind of uniqueness to the characters without millions of traits and skills.
Title: Re: General Discussion
Post by: Xela on June 23, 2013, 10:28:46 AM
Can't say that I see the point... but a possibility.
Title: Re: General Discussion
Post by: rudistoned on June 23, 2013, 11:18:00 AM
Well, the point is to give characters unique sets of stat modifiers that also have a name. From a wider perspective, the point is to make the characters more distinctive from one another. I think it's a decent idea. We might be able to just use regular traits for that. Then we would only have to teach the game to also load traits from character files (data.xml?).
Title: Re: General Discussion
Post by: Xela on June 23, 2013, 11:20:29 AM
Then we would only have to teach the game to also load traits from character files (data.xml?).

? Done and Done :)


EDIT: On the whole pseudo traits idea. I cannot really understand the difference between that and simply allowing modding starting max/min stats in girls.xml file as well as starting stats themselves? Girls 'Uniqueness' can be described in her description as it is supposed to. What you guys suggest seems redundant, but maybe it's just me.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 12:06:48 PM
Haha, well, brilliants can only shine, but they still cost millions of dollars  :D

Yeah, you could simply modding starting max/min stats in girls xmls, but it's too boring and plain.
And yes, uniqueness can be described in her description, and the whole game story and plot could be described in a separate readme.txt file too, like in old shooters.

You probably still should allow to do so for those pack makers who too lazy to make unique traits, and for character with unknown or boring past.

Also such traits probably cannot be removed during the game, so if you have plans like gradual degradation of stats to zero, they will interfere.
And because of loading traits from several character files some pseudo traits could be duplicated, so make sure to use warnings.
Title: Re: General Discussion
Post by: rudistoned on June 23, 2013, 12:13:46 PM
loading traits from several character files some pseudo traits could be duplicated, so make sure to use warnings.
This will definitely happen. At the very least, the result will be that we'll have two characters with a shared trait that gives different stat boni. Less than nice.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 01:02:05 PM
Yup. That's why I wound prefer to use another, pseudo type of traits, that exclusive for the character or for the whole pack, but means nothing for other parts of the game.
Title: Re: General Discussion
Post by: rudistoned on June 23, 2013, 01:16:28 PM
We would still get this situation. The only benefit to the pseudo-trait approach is that we have a guarantee that nothing will break due to two traits with the same name.
How about this solution: The last trait loaded wins. We allow only one trait with a given name. If the game loads another trait with said name, the new trait overwrites the old trait, meaning that all characters carrying this trait end up with the stat bonuses of the new trait. This would encourage character creators to only give traits to their characters that no other character would have.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 01:34:09 PM
When the game loads characters and their pseudo traits, it could mark them respectively. Or if it's too difficult to code, pack makers could do it. Since pseudo traits have nothing to do with real ones, they could use a slightly different id system.
In the case of Konan it could be something like
Quote
   <ptrait
      name="Paper Jutsu"
      character_id="Konan"
      desc="Bla-bla-bla">
Title: Re: General Discussion
Post by: rudistoned on June 23, 2013, 02:06:53 PM
I'm not worried about the implementation. It's not difficult to have two objects with the same name. I'm worried about the players, who will see several traits with the same name that give different stats bonuses. That's confusing.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2013, 02:25:32 PM
If pseudo traits will be strictly attached to their characters with character_id field, it won't be a problem, unless you have two different characters with identical names and traits (and it's a strange situation). They don't have to be global, so they shoudn't even exist outside of the one character's data.

Pardon my pseudographics:
/--Konan--------------------------------/
/                   Trait name                 /
/------------------------------------------/

It's true that there might be several traits with the same name that give different stats bonuses. If you think it will be confusing, we could call them somehow else, like perks or something, and make a separate interface for them.
Title: Re: General Discussion
Post by: Xela on June 23, 2013, 04:04:22 PM
Fecking took me 3 hours to track down error in girls assign screen (caused once again by Matt's refactoring). When the hell are we gonna stop messing with code that already works?
Title: Re: General Discussion
Post by: DarkTl on June 24, 2013, 12:11:21 PM
If you mean my idea too, then if we eventually will use pseudo traits for decorating the game, they defenitely should have nothing to do with normal traits system, to not mess with it under any circumstances at least. Let's regard them as extended description, not real traits.
Title: Re: General Discussion
Post by: Xela on June 24, 2013, 02:41:07 PM
If you mean my idea too, then if we eventually will use pseudo traits for decorating the game, they defenitely should have nothing to do with normal traits system, to not mess with it under any circumstances at least. Let's regard them as extended description, not real traits.

No m8, I didn't mean the traits. Just got really pissed off yesterday.
Title: Re: General Discussion
Post by: rudistoned on June 24, 2013, 03:30:59 PM
Sounds like a terrible bug. What was wrong?
Title: Re: General Discussion
Post by: Xela on June 24, 2013, 04:53:39 PM
Sounds like a terrible bug. What was wrong?

Was actually a very small issue that took a long time to trace.

Since my original code was working flawlessly I assumed that Matt tested the screen after he applied his changes ( like 3 or 4 weeks ago, that did not add a single thing, just made the code look slightly better/more professional).

So assuming that everything works, I've added what was needed to the code and went testing it, finding that it doesn't work as intended and assuming that fault was with the code just added, I tried rewriting it over and over again. Nothing worked so I reverted back code that was there before I made the changes and realized that it did not work either (or worked correctly with one brothel only), but even then I couldn't understand what the hell was wrong because everything seemed like it should have been working just fine so I've started to doubt that it was working before Matt got there... It took me some time to confirm that my original code did work and in the end I figured out the problem, fixed it and added new code but the trouble is that what should have taken 5 - 10 minutes, took 3 - 4 hours.

Another thing that pissed me off that it's not the first time this has happened, Matt comes on, changes the very core of how we handle access to data in the game, fixes just the errors that throw Error messages and disappears while I have to deal with new bugs that are very hard to catch and gotta get used to new code and all that not to fix actual errors (since the original code was working at all places to begin with).



PS: You've actually added realistic improvements to the game (Event, Calendar, Tags) and when you change something in working code, we discuss it first and you snipe out all new bugs that come with it. Matt is still a 0 in department of adding new stuff to the game (although I am really thankful for git/sf).

===============================================
PS2: We should set some guidelines on how to proceed when one of us wants to rewrite code that's already there. As far as I am concerned, any additions to the game should just be added without any talk and all new game elements can be written in any coding style/paradigm but when we're talking about rewriting code just for the sake of better code cosmetics, we should discuss what/why/when/who first.
Title: Re: General Discussion
Post by: rudistoned on June 24, 2013, 06:46:01 PM
We should set some guidelines on how to proceed when one of us wants to rewrite code that's already there. As far as I am concerned, any additions to the game should just be added without any talk and all new game elements can be written in any coding style/paradigm but when we're talking about rewriting code just for the sake of better code cosmetics, we should discuss what/why/when/who first.
Fine with me.


Thank you for the explanation :-)
Title: Re: General Discussion
Post by: Xela on June 25, 2013, 04:33:17 PM
Fine with me.


Thank you for the explanation :-)

====
BTW: The problem came from using a variable set in label's while loop to iterate in screens GUI (brothel is this case). Bad idea and we should never do that again :)
Title: Re: General Discussion
Post by: rudistoned on June 26, 2013, 05:59:03 AM
I'm afraid I have no idea what you are talking about  :(

If you want to, you could get the offending lines of code from the repository history and post them in the code review thread. I just looked at the history of the girl assign screen, but I could find nothing that seemed to match your description, probably because I don't understand what you mean.

Anyway, the important thing is that the bug is squashed  :)

BTW, I made good progress on the image tagging tool today. Since we decided to have uncategorized tags, I have to adapt the tool to accept those again. I did that today, and so far I have not been able to find bugs beyond those I already fixed. Tagging single images works. Tagging multiple images should probably also work, but I had no time to test it so far. Now its time to decide how the XMP tags will get imported into the game.
 
Title: Re: General Discussion
Post by: Xela on June 26, 2013, 06:49:32 AM
If you want to, you could get the offending lines of code from the repository history and post them in the code review thread. I just looked at the history of the girl assign screen, but I could find nothing that seemed to match your description, probably because I don't understand what you mean.

Then you can understand the problem I've had :) There was nothing wrong with Matt's code from the Python perspective.

As you prolly have figured out by now, game is coded this way:

1) All logical game elements are coded in pure python. We access, display and change those in RenPy labels.

2) User interactions:

- We jump to a RenPy 'label' (labels are RenPy's way of running the game, instead of the usual main game loop you'd expect to find in Hentai Sims, we simply jump labels until we run out of them (we can obviously keep jumping to the same label any amount of times))
- In that label, we set up background and call screens (screens are coded in RenPy's screen language), at the same time we lock game's flow in a while loop.
There is a number of things that are not smart to include in screens, mainly because screens are being refreshed on all user interactions, once every 20 secs (If I recall correctly) or even many times per second if game requires them to. Another thing is that certain functions (like action calls from buttons) are not searching for variables on the same namespace as the screen first (very unusual for Python).

Problem was here:
Code: [Select]
                        for brtl in hero.brothels:
                            if brtl.highlighted:
                                $imgType = im.Scale
                            else:
                                $imgType = lambda *args: im.Sepia(im.Scale(*args))
                            vbox:
                                null height 20
                                text(u'{size=-10}%s' % brtl.name) align(0.5,0.5)
                                use rtt_lightbutton(img = imgType(brtl.img, 240, 150), return_value = ['brothel', brtl], tooltip = 'Send %s off to work in %s and choose from available actions.' % (chr.name, brtl.name))

In precious revision brothel was used to iterate instead of brtl
Code: [Select]
for brothel in hero.brothels: and at the same time we also had brothel variable in the label and while loop namespaces:

Code: [Select]
label girl_assign:
    scene bg wood
    hide screen girlProfile
    show screen pyt_girl_assign

    python:
       
        if isinstance(chr.location, Brothel):
            brothel = chr.location
            brothel.highlighted = True
            brothel_selected = True
        else:
            brothel = None
            brothel_selected = False

        while True:
            result = ui.interact()

            if result[0] == 'brothel':
                for brothel in hero.brothels:
                    brothel.highlighted = False

                brothel = result[1]
                brothel.highlighted = True
                brothel_selected = True

so this bit of old code:
Code: [Select]
return_value = ['brothel', brothel] didn't actually return a brothel that came from iterating over hero.brothels in the screen (something any Python coder would expect, it actually works exactly like you'd expect something in Python to work since rtt_lightbutton itself is defined on the same namespace as label (it is in fact for all intent and purposes a separate screen itself), but it is still a bit confusing) but instead returned whatever brothel variable was set to in the label. As you can imagine, this is in no way a problem with one brothel but a rather nasty issue with multiple brothels that doesn't throw an Error making it very hard to catch.

In any case this is what I believe was wrong with the code and in the end it's like you've said:

Anyway, the important thing is that the bug is squashed  :)


BTW, I made good progress on the image tagging tool today. Since we decided to have uncategorized tags, I have to adapt the tool to accept those again. I did that today, and so far I have not been able to find bugs beyond those I already fixed. Tagging single images works. Tagging multiple images should probably also work, but I had no time to test it so far. Now its time to decide how the XMP tags will get imported into the game.

It's your call, json is prolly a better bet since we can freely access it to view tags but pickle will serve just as well. This is entirely up to you. I am planning to do some work on guard jobs today as well.
Title: Re: General Discussion
Post by: rudistoned on June 26, 2013, 08:30:25 AM
I continued the discussion in the code review thread as it's rather involved already. Link: http://pinkpetal.org/index.php?topic=1891.msg21237#msg21237 (http://pinkpetal.org/index.php?topic=1891.msg21237#msg21237)
Title: Re: General Discussion
Post by: Xela on June 27, 2013, 05:35:29 PM
Oki, did a bit of coding tonight:

- Wants to see strip/visit bar moved to create_customer() in Brothel
More customers would wanna see strippers/ go to bar if you have nice upgrades.

- Golden cages/Large Podium now have positive effects on strip job/tips/customer showup
Better upgrades = More tips = Better satisfaction = Happier cleints

- Some code refactoring
Removed a bunch of repetitive lines

- Security rating/Security Presence are added to Brothel
If there are active guards in brothel, player can tell them if they should make their presence known or not. Main Hall (max 50) and Reception (Max 100) are crucial here, same two upgrades also greatly decrease daily security rating degradation. Without these two upgrades max presence is set to 20. This way player has a measure of control on security rating. Tomorrow I am planning to remove any chance of attacks/brawls on maxed out security rating, however since those events can be reasonably profitable (costumer paying you off if he/she/they loose confrontation, it's up to player to decide.)

- Security Presence adjustment bar added to brothel management screen
Bar to adjust the presence, appears only when there are active security guards in the borthel.

- Changed theme (don't know why :( )
...

Plans for tomorrow/weekend:
- Finishing guard job
- Shop locations
- Wrapping up upgrades (Reception/Main hall/Statue Fame/Reputation and positive influence on Whore job effects are left)

- Rest of TODO: list follows, prolly girl control next.
Title: Re: General Discussion
Post by: rudistoned on June 30, 2013, 10:32:33 AM
I improved lots of code this weekend. You can find my changes in the faster branch on sourceforge: http://sourceforge.net/p/pytfall/pytfall/ci/faster/tree/ (http://sourceforge.net/p/pytfall/pytfall/ci/faster/tree/)

 My initial goal was to speed up switching from one event to the next in the next day screen. While reading through that code, I again stumbled over several things I think are problematic. Therefore, most commits in that branch restructure the next day logic and package it up into classes. In the last commit I somewhat achieved my inital goal.

Results: It turned out that most of the delay while switching to the next event results from loading the image. I subjectively "speed up" image loading by loading every image needed for the next day events before showing the next day screen. This results in an initial wait, but allows the player to switch between events very fast.  I also restructured the code into classes, making it more robust.

On my machine, the wait after clicking next day is quite long, easily more than 5s. Preloading all event images is not a good solution, so I don't think we should do that. I did include this change in the faster branch so you can check it out yourself. I might do some profiling later to see if something else also eats performance.

UPDATE:
profiling seems to indicate that renpy.image_size takes a lot of time (about 50 out 180s ?). I'll look into it a bit more.

@Xela
Please look at the changes and tell me to merge them into master  ;D
Except for the image preloading, I think they improve the robustness und maintainability of our code. I also fixed a few bugs. I did some testing and so far have not found issues introduced by my changes. If you greenlight them, I'll do more testing before I merge.
Title: Re: General Discussion
Post by: Xela on June 30, 2013, 11:41:03 AM
I improved lots of code this weekend. You can find my changes in the faster branch on sourceforge: http://sourceforge.net/p/pytfall/pytfall/ci/faster/tree/ (http://sourceforge.net/p/pytfall/pytfall/ci/faster/tree/)

 My initial goal was to speed up switching from one event to the next in the next day screen. While reading through that code, I again stumbled over several things I think are problematic. Therefore, most commits in that branch restructure the next day logic and package it up into classes. In the last commit I somewhat achieved my inital goal.

Results: It turned out that most of the delay while switching to the next event results from loading the image. I subjectively "speed up" image loading by loading every image needed for the next day events before showing the next day screen. This results in an initial wait, but allows the player to switch between events very fast.  I also restructured the code into classes, making it more robust.

On my machine, the wait after clicking next day is quite long, easily more than 5s. Preloading all event images is not a good solution, so I don't think we should do that. I did include this change in the faster branch so you can check it out yourself. I might do some profiling later to see if something else also eats performance.

UPDATE:
profiling seems to indicate that renpy.image_size takes a lot of time (about 50 out 180s ?). I'll look into it a bit more.

@Xela
Please look at the changes and tell me to merge them into master  ;D
Except for the image preloading, I think they improve the robustness und maintainability of our code. I also fixed a few bugs. I did some testing and so far have not found issues introduced by my changes. If you greenlight them, I'll do more testing before I merge.

I am focused on shops at the moment, I'll try to check our your code later. RenPy shouldn't load all images btw, We used to add path to the image and call it on the next index.
Title: Re: General Discussion
Post by: rudistoned on June 30, 2013, 12:38:42 PM
we used to add path to the image and call it on the next index.

I know. The problem with that approach is that it causes almost a second delay until it displays the next image on my laptop.
Title: Re: General Discussion
Post by: Xela on June 30, 2013, 02:56:40 PM
Ok:

- Guard events during jobs updated
- ItemShop(s) updated
- New Borthel Upgrades code added, all upgrades should have functionality now
- Brothel class updated a bit
- PyTFall World class created
- Shops inventory screen now shows shops/players gold
- Error on Next day fixed (bad else: in conflict resolver function)
- Auto define function for backgrounds fixed, same thing added for NPC (temporary, before NPC class is created)
- A number of new locations/screens created

Going to take a look at Rudi's code in 15 mins.
Title: Re: General Discussion
Post by: Xela on June 30, 2013, 03:10:10 PM
I know. The problem with that approach is that it causes almost a second delay until it displays the next image on my laptop.

Next Day takes unacceptably long time, especially with a lot of events (under faster branch). That code must never make it to master branch. We'll find another way to speed things up.

Edit: It takes 49 seconds for Next Day to load under your code with 106 acts. It takes less then 3 seconds to load 1000 acts under old code. This is not a solution... this is a game suicide :(

And looking back @ your post:

Preloading all event images is not a good solution, so I don't think we should do that.

you seem to have come to the same conclusion...

Edit 2: Only this bit is not useful:

Code: [Select]
                # preload all images (renpy handles the caching)
                for evt in self.allevents:
                    evt.load_image()

Rest seems alright if it doesn't create any new Errors...

Edit 3: Please halt on merging branches. I've ran a series of tests and faster branch (without image preloading) for some reason generates only 80 - 100 acts while the master branch generates 800 - 900 acts under the same circumstances. I've been coding for the better part of the day as well (as you can prolly see from the update) so I don't have any strength left to track down why.
Title: Re: General Discussion
Post by: Xela on June 30, 2013, 05:30:49 PM
Edit: It takes 49 seconds for Next Day to load under your code with 106 acts. It takes less than 4 to load 906 events with old code. This is not a solution... this is a game suicide :(

I've implemented temporary fix for your Next Day index slowdown problem (should be nearly instantaneous now), it can be farther improved upon but we should code towards 1.0 and then improve existing code (something I've requested many times already).
Title: Re: General Discussion
Post by: rudistoned on July 01, 2013, 03:10:00 AM
Quote
It takes 49 seconds for Next Day to load under your code with 106 acts. It takes less then 3 seconds to load 1000 acts under old code. This is not a solution... this is a game suicide

Thats just not true.  faster branch including the last commit loads every image needed for next day events before it shows the next day screen. master loads the images while you are clicking through them, so master should take about 460s spent on image loading while you click through the events.
So, the faster branch implementation is especially bad with many events because it might overflow the image cache. The idea of faster branch is to show you guys how fast switching between events can be when the image is already loaded. This behaviour is solely caused by the last commit and it was never my intention to merge it into master. I might have stated that more clearly...

The only way the implementation in master (prior to your fix) can be faster is if the player does not look at all events.


I've implemented temporary fix for your Next Day index slowdown problem (should be nearly instantaneous now)
Your fix improves things as the game loads less images now, but it's still nowwhere near instanteneous on slower machines like my laptop. Why do you call that fix temporary? If the game should always show a profile picture if no better picture is available, this is a change for the better and should be permanent.
UPDATE: I suppose you mean that the code can and should be simplified further based on this new information (new to me anyway).

It's not a gamebreaker, but IMHO it is a serious problem. The speed of harddisks improves very slowly and SSDs are still too expensive to be everywhere, so faster hardware is not going to solve this problem. We'll need to tackle it sooner or later. As a player, I would not read the events often if it takes so long to load them.


Please halt on merging branches. I've ran a series of tests and faster branch (without image preloading) for some reason generates only 80 - 100 acts while the master branch generates 800 - 900 acts under the same circumstances. I've been coding for the better part of the day as well (as you can prolly see from the update) so I don't have any strength left to track down why.
I'll look into this.


Quote
# select_image method should be rewriten to reflect realities of the game and require less calculation time
Do you have any support for your claim that the select_image method requires too much calculation time? And how much is too much?
You guys have talked about that way of choosing an image being slow repeatedly, but nobody ever provided any evidence.

My profiling data says select_image requires a ratio of 0.0005, or 0.05 %, of runtime as calculation time. How could that be too much? We spend almost as much time just so we can have our own wrapper for the notify function. We also spend 10 times as much time in the dice function as in the select_image method. However, improving any of those mentioned to reduce total runtime is pointless.
Title: Re: General Discussion
Post by: Xela on July 01, 2013, 04:08:21 AM
Thats just not true.  faster branch including the last commit loads every image needed for next day events before it shows the next day screen. master loads the images while you are clicking through them, so master should take about 460s spent on image loading while you click through the events.
So, the faster branch implementation is especially bad with many events because it might overflow the image cache. The idea of faster branch is to show you guys how fast switching between events can be when the image is already loaded. This behaviour is solely caused by the last commit and it was never my intention to merge it into master. I might have stated that more clearly...

On my 5 year old laptop, each act on next day took little under a second to load (noticeable delay before the fix). On desktop, I wouldn't even consider it a problem.

But it's true... non the less. Next day loading several minutes (we should get 1k events at latter points of development), even if index loading is extremely fast afterwards is a deal breaker and kills the game. If next day is loaded in 3 secs, player can use filters (once we have now and we'll install more in the future), he/she will be able to actually read and view pics/stat increases and close the next day, going through with the game. There is no point in claiming that both take long time to the same effect, time it takes to load and view all events might be comparable, but the game play experience is perfectly acceptable in one case and absolutely sh#tty in the other.

Your code actually cashes the images after you view them once, so you could have simply told us to go through a couple of images and revert to previous indexes to see the difference in speed :)



The only way the implementation in master (prior to your fix) can be faster is if the player does not look at all events.

Like I've said, game experience, we're not coding some theoretical modeling software, last I've checked, we were working on a game.


Your fix improves things as the game loads less images now, but it's still nowwhere near instanteneous on slower machines like my laptop. Why do you call that fix temporary? If the game should always show a profile picture if no better picture is available, this is a change for the better and should be permanent.

My bad, my laptop is 5 years old, if not more, I've tested it there as well and did not notice anything I might have called a delay (not even mentioning how it runs on desktop). It does have dedicated Nvidia GPU (old one but maybe it makes it run faster or something).

The approach could be permanent but it feels like select_image should handle all image selecting logic. I haven't traced the entire logical flow (was to tired). Maybe things are fine the way they're now.


It's not a gamebreaker, but IMHO it is a serious problem. The speed of harddisks improves very slowly and SSDs are still too expensive to be everywhere, so faster hardware is not going to solve this problem. We'll need to tackle it sooner or later. As a player, I would not read the events often if it takes so long to load them.

I ran this on SSD, next day index works lighting fast, both on it and on normal harddrive. But I didn't know it was still slow so another look a the entire chain to see if it can be farther improved upon.


Do you have any support for your claim that the select_image method requires too much calculation time? And how much is too much?
You guys have talked about that way of choosing an image being slow repeatedly, but nobody ever provided any evidence.

My profiling data says select_image requires a ratio of 0.0005, or 0.05 %, of runtime as calculation time. How could that be too much? We spend almost as much time just so we can have our own wrapper for the notify function. We also spend 10 times as much time in the dice function as in the select_image method. However, improving any of those mentioned to reduce total runtime is pointless.

You guys have talked about that way of choosing an image being slow repeatedly, but nobody ever provided any evidence.

I've NEVER said that (at least while I was sober). I though that we needlessly call it twice... and select_image should simply always return 'profile' if no other tags are found. (it should take less calc time, but I've never said it was slow to begin with. Prolly poor choice of words in my comments at 2 am yesterday ;) )

But if you did actual profiling and those were the results, it's all good. I've never been in favor of improving working code instead of advancing the game.


=================================================
Edit: You're right, it is still noticeable on laptop (just tried it again) :( Maybe I was slower yesterday so it seemed fast  ::)

I'll take another look to see if things can be farther improved, but I would still call it acceptable on Laptop and perfect on Desktop.
Title: Re: General Discussion
Post by: rudistoned on July 01, 2013, 05:24:36 AM
Next day loading several minutes (we should get 1k events at latter points of development), even if index loading is extremely fast afterwards is a deal breaker and kills the game. If next day is loaded in 3 secs, player can use filters (once we have now and we'll install more in the future), he/she will be able to actually read and view pics/stat increases and close the next day, going through with the game. There is no point in claiming that both take long time to the same effect, time it takes to load and view all events might be comparable, but the game play experience is perfectly acceptable in one case and absolutely sh#tty in the other.

I agree 100%. What is not true is your claim that the faster branch takes 49 seconds to load 106 acts while master branch takes 3 seconds to load 1000 acts  ;)


Your code actually cashes the images after you view them once, so you could have simply told us to go through a couple of images and revert to previous indexes to see the difference in speed :)
Yes, I should have done that, but I did not think of this easy solution at that time.



Like I've said, game experience, we're not coding some theoretical modeling software, last I've checked, we were working on a game.
Yes, we are. How does that make your claim that master takes less time to load acts any more true?  ;)
Again, I never said preloading all images for all acts before showing the next day screen is better for game experience.


My bad, my laptop is 5 years old, if not more, I've tested it there as well and did not notice anything I might have called a delay (not even mentioning how it runs on desktop).
Maybe you are more patient than I am. A reaction time of almost a second is a serious delay in my book and quite annoying while playing a game.

It does have dedicated Nvidia GPU (old one but maybe it makes it run faster or something).
GPUs should have no influence at all on the speed of our game. The IMHO singlemost important cause for the delay after clicking "Next Event" is loading the image from the harddisk. What's worse is that our image resize function does not use renpys image cache.

Possible ways to speed things up:
1) Find a way to resize images in renpy while using the image cache
2) instantiate a renpy Image when an event is created, so renpy has more time to preload and cache the picture

The approach could be permanent but it feels like select_image should handle all image selecting logic. I haven't traced the entire logical flow (was to tired). Maybe things are fine the way they're now.


I've NEVER said that (at least while I was sober).
You did not say it recently, but as far as I remember it took quite some convincing that it's not terribly slow when I first presented that idea to you. Back then we were still talking about Pytherworld. Anyway, maybe I just don't remember that right, it does not matter.
mijh definitely said its slow and is strongly opposed to this image selection strategy. Of course, he is right that pytfalls original approach is faster, but it does not matter if we spend 0.01% or 1% of our calculation time on image selection. Both numbers are small enough that they won't affect the game performace-wise.
 
But if you did actual profiling and those were the results, it's all good.
I did, using cProfile. I'm sure my results are accurate enough to say that select_image is no problem for game performance at this point.

I'll take another look to see if things can be farther improved, but I would still call it acceptable on Laptop and perfect on Desktop.
You can leave that to me if you want to. I spent some time reading renpys sparse documentation and nice source code in order to understand renpys image caching. As far as I can tell, renpy preloads images sometime between instantiating the renpy Image and displaying it on the screen. Instantiating a renpy image as soon as possible should improve our situation.
I also saw that the image cache seems to know the size of the image it holds, so if we can figure out a way to get our image from the cache, we should be able to resize it without using renpy.image_size.
Title: Re: General Discussion
Post by: Xela on July 01, 2013, 06:14:26 AM
I agree 100%. What is not true is your claim that the faster branch takes 49 seconds to load 106 acts while master branch takes 3 seconds to load 1000 acts  ;)

I am not making that up, I've timed it :) I am talking about the time it takes Next Day to complete all calculations, no including paging through indexes obviously.

You did not say it recently, but as far as I remember it took quite some convincing that it's not terribly slow when I first presented that idea to you. Back then we were still talking about Pytherworld. Anyway, maybe I just don't remember that right, it does not matter.

LoL ;)

It's wasn't me, you argued with compuscribe about the whole tagging concept on old OW forum. I actually thought the idea was very interesting.
Title: Re: General Discussion
Post by: DarkTl on July 01, 2013, 06:15:45 AM
Xela, what are characteristics of your laptop?
Title: Re: General Discussion
Post by: Xela on July 01, 2013, 06:36:44 AM
Xela, what are characteristics of your laptop?

2.4 Ghz Core Duo with 4GB of DDR2.
Title: Re: General Discussion
Post by: rudistoned on July 01, 2013, 07:29:30 AM
I am not making that up, I've timed it :) I am talking about the time it takes Next Day to complete all calculations, no including paging through indexes obviously.

I'm not saying you made it up. I'm saying the faster branch takes 49 seconds to complete the next day calculations and load all images while the master branch takes 3 seconds to  complete the next day calculations. It's an unfair comparison because the faster branch is doing more work. That's why claiming the faster branch is slower for a given number of acts is wrong  ;)

It's wasn't me, you argued with compuscribe about the whole tagging concept on old OW forum. I actually thought the idea was very interesting.
:D I did argue with compuscribe, although our argument was more about XML vs. XMP tags. Well, sorry, I might have confused that.

2.4 Ghz Core Duo with 4GB of DDR2.
Pretty similar to mine. I think that's a good benchmark. If the game runs okay on a machine like that, we should be fine. Not many people will try to play the game on slower hardware, unless we want to support netbooks and tablets too (which we should not IMHO).
Title: Re: General Discussion
Post by: Xela on July 01, 2013, 08:17:02 AM
Weeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee :)

I also saw that the image cache seems to know the size of the image it holds, so if we can figure out a way to get our image from the cache, we should be able to resize it without using renpy.image_size.

That doesn't seem possible (at least I couldn't figure it out on short notice) but we can render an image at 0,0 pixels to get to it's original size instead of rendering it at the full size!

renpy.image_size(img) should really work the same way, wtf were they thinking...

In any case: works a lot faster now!
Title: Re: General Discussion
Post by: Xela on July 01, 2013, 05:42:26 PM
- Updated Player class
- One or two bug fixes
- Started creating an items transfer system (Alkion's system is inadequate for the game but we can prolly use both), I am aiming for something similar to WM right now.

Haven't pushed anything yet since changes are incomplete and far from ready for the master branch.
Title: Re: General Discussion
Post by: Xela on July 01, 2013, 08:30:41 PM
I also saw that the image cache seems to know the size of the image it holds, so if we can figure out a way to get our image from the cache, we should be able to resize it without using renpy.image_size.

And found exactly what we were looking for... final push for the day.
Title: Re: General Discussion
Post by: Xela on July 05, 2013, 04:20:03 AM
While the forums were down we've managed quite a bit:

- Item Transfer screen (WM Style) and properly debugged it.
- Girls can die now (But after long consideration, not during current jobs.)
- DB version was updated
- MC can be added to the brothel
- MC class farther improved
Title: Re: General Discussion
Post by: DarkTl on July 05, 2013, 05:06:30 AM
Ok, I've found a new witch, a priestess, background and clerk for tailor shop.
Now nothing can prevent me from making monster girls  :)
Title: Re: General Discussion
Post by: Xela on July 05, 2013, 05:12:02 AM
Ok, I've found a new witch, a priestess, background and clerk for tailor shop.
Now nothing can prevent me from making monster girls  :)

LoL

Good luck with that :)

I'll throw the new witch in and add the shop, field in xml will be "Tailor Shop" (Shocker :) )
Title: Re: General Discussion
Post by: Xela on July 05, 2013, 05:27:22 AM
Ok, I've found a new witch, a priestess, background and clerk for tailor shop.
Now nothing can prevent me from making monster girls  :)

BTW: What exactly does make that schoolgirl a tailor?
Title: Re: General Discussion
Post by: DarkTl on July 05, 2013, 05:34:28 AM
Did I say she is a tailor? No I didn't.
She is a clerk. Tailors sew, don't trade.
Title: Re: General Discussion
Post by: Xela on July 05, 2013, 05:38:28 AM
Did I say she is a tailor? No I didn't.
She is a clerk. Tailors sew, don't trade.

Ah oki... Well, good then :)

Shop is in.
Title: Re: General Discussion
Post by: DarkTl on July 05, 2013, 08:52:13 AM
While I surf through pics, I'm beginning to wonder how to use random girls most effectively. They have different eyes color (but at least they could be easily changed in graphical editor, maybe I should do that after I gather enough pics?) and different boobs size.
I guess we'll need quite advanced tag system here.
Title: Re: General Discussion
Post by: Xela on July 05, 2013, 09:57:28 AM
While I surf through pics, I'm beginning to wonder how to use random girls most effectively. They have different eyes color (but at least they could be easily changed in graphical editor, maybe I should do that after I gather enough pics?) and different boobs size.
I guess we'll need quite advanced tag system here.

Maybe we should use some normal girl with loads of pics... ?
Title: Re: General Discussion
Post by: DarkTl on July 05, 2013, 10:16:54 AM
Hm. On the one hand, it could be strange to see the character you know as multiple random girls. On the other hand, Otherworld successfully uses the idea with the original and her multiple, weakened copies from parallel universes. We could do the same with clones. If it's easy to make a clone, MC can't be the only one who does it.
Title: Re: General Discussion
Post by: DarkTl on July 05, 2013, 02:05:10 PM
To a certain degree characters from games could be used as random ones. Some of them have almost no personality and biography, so they can't be called truly unique, while they do have plenty of pics.
Using them together with clones of unique should do the trick.
Title: Re: General Discussion
Post by: Xela on July 05, 2013, 03:25:03 PM
Was busy for the day :(

Did manage to sneak in a shop and couple of simple animations into the game (stars), I have a couple of ideas on how to use those on the future. Going to try writing some more code in 30 min or so until I fall asleep. More during the weekend. 

@Dark
Like I've said, random girls are your concept. I still say, simply use some chars that could be unique and have pics. There is no rule saying that we should make every single character available as a normal unique girl...
Title: Re: General Discussion
Post by: DarkTl on July 05, 2013, 03:56:04 PM
I've made our first monster girl, an archer from some anime game I never heard before. She doesn't have a personality there, so she is purely random in terms of traits, except for Not Human of course.

I agree that we can use unique ones as well. But, like I said, together with Otherworld scenic concept, ie random girls are multiple clones (maybe created by an unknown technology, and because of that they do not need life-prolonging; or maybe not, and some of them will be replaced by new ones every 1-2 month if MC won't help them), and somewhere in game world there is a "real one", original unique girl with original stats and traits.

Btw, it looks like the current version uses tags to determine pics category. Does is mean we pack makers doesn't have to rename pics, and should use tags json instead?
Title: Re: General Discussion
Post by: Xela on July 05, 2013, 04:08:17 PM
Btw, it looks like the current version uses tags to determine pics category. Does is mean we pack makers doesn't have to rename pics, and should use tags json instead?

Ok, I'll check it out...

Renaming is easier at this point of development so rename them. Right now half the game uses the old system and other half uses the new system so it's a bit messy, I wrote a simple script to tag images to json based on their filename so I'll create tag myself. You just name the files accordingly to our old system.
Title: Re: General Discussion
Post by: DarkTl on July 06, 2013, 08:47:02 AM
Another elf from quenn's blade, this one has personality, so I included xml just in case.

I've found a way to handle pics without a source, at least with elves. There are a lot of them, so I'll make 2-3 blonde girls for a start: noble with big boobs, archer with normal, dark with dark skin. Eyes are not a problem, their color can be changed literally in 5 seconds.
Title: Re: General Discussion
Post by: Xela on July 06, 2013, 09:04:49 AM
Another elf from quenn's blade, this one has personality, so I included xml just in case.

I've found a way to handle pics without a source, at least with elves. There are a lot of them, so I'll make 2-3 blonde girls for a start: noble with big boobs, archer with normal, dark with dark skin. Eyes are not a problem, their color can be changed literally in 5 seconds.

Didn't have time to work on the game yet, but tomorrow I am planning to dedicate the whole day. Maybe I'll start with rGirls tonight.
Title: Re: General Discussion
Post by: DarkTl on July 06, 2013, 10:48:39 AM
We have to put the point in question about pseudo unique girls, those who don't have enough pics for a full pack. Either they could be a great addition to random packs, or we will use my idea with npcs. I can't decide, both options are good.
Title: Re: General Discussion
Post by: Xela on July 06, 2013, 10:58:20 AM
We have to put the point in question about pseudo unique girls, those who don't have enough pics for a full pack. Either they could be a great addition to random packs, or we will use my idea with npcs. I can't decide, both options are good.

I don't know either... Let's see how game reacts to rGirls tomorrow.
Title: Re: General Discussion
Post by: Xela on July 06, 2013, 12:35:10 PM
Hey, I am sketching a json example for random girl, does this look a lot more confusing than XML to a non Python coder or is this alright?

Code: [Select]
[
  {
    "id": "Rena_Elsword",
    "desc": "Some Random Elf???",
   
    "random_stats": {
    "charisma": [10, 40],
    "constitution": [5, 25]
    },
   
    "random_traits": [
    ["Tough", 50],
    ["Merciless", 10]
    ],
   
    "force_location": false,
    "force_status": false,
   
    "occupations": ["Warrior", "Service Girl"],
   
    "ab_traits": ["Shy", "Meek"],
   
    "battle_skill": "FistAttack"
  }
]
Title: Re: General Discussion
Post by: DarkTl on July 06, 2013, 02:00:31 PM
I'm not sure if random girls need description. They have either random or unknow prehistory.
And I don't understand what do you mean by force_location and force_status fields, as well as name field. If name field responsible for locations where you can find her, just call it location or something.

Otherwise, it's not confusing at all.
Title: Re: General Discussion
Post by: Xela on July 06, 2013, 02:52:46 PM
I'm not sure if random girls need description. They have either random or unknow prehistory.
And I don't understand what do you mean by force_location and force_status fields, as well as name field. If name field responsible for locations where you can find her, just call it location or something.

Otherwise, it's not confusing at all.

Name is a mistake, came from a different file.

force_location (s) will bind this random girl to appear only in specific locations (we will most likely have a lot of different locations). If set to false, this girl might appear in slavemarket, city, arena, random encounter when exploring some location as a fiend or an enemy and so on. Basically,  we should have some form of delimiter to place random girls in the game. Since unique girls are "unique", they have just one location field possibility, random girls might need more so it's either false (whereever the hell) or a list of locations.

force_status is basically the same thing, right now we have just two possibilities for status (slave and free) but we discussed much more than that. Basically this should also serve as a filter of sorts.

But I am coming up with this stuff as I go, we might not need either one or we may end up needing more...
Title: Re: General Discussion
Post by: DarkTl on July 06, 2013, 03:06:17 PM
I see.
As for description, I guess I could write there something like "Captured forest elf" or something, but do we need that sort of descriptions in json? I guess the game should write it when you capture her, or "Wild forest elf" if MC persuaded her to join, etc.

As a side note, e-hentai has tons of little-known characters from various games. There is no need in using pseudo unique characters as a part of random packs.
Title: Re: General Discussion
Post by: Xela on July 06, 2013, 03:53:48 PM
I see.
As for description, I guess I could write there something like "Captured forest elf" or something, but do we need that sort of descriptions in json? I guess the game should write it when you capture her, or "Wild forest elf" if MC persuaded her to join, etc.

As a side note, e-hentai has tons of little-known characters from various games. There is no need in using pseudo unique characters as a part of random packs.

We'll figure out descriptions later, when game structure is clearer. Random girls are coming along nicely, I am actually getting a bit scared that I can write and understand the kind of code required considering I've never heard of Python before little over an year ago and don't know any other programming language :)

In any case, these are new rules:

All random characters go into rchar directory. Inside there are folders delimiting them (like shows for normal girls). Same old data files but now they end with json instead of xml and have different structure. Also there can be different files for different girls in the same folder AS LONG as they start with 'data' and end with '.json'. So you could have a folder called 'elves' for example and have two girls there called elf_1 and elf_2, you can either make one data.json file for both of them or make data_elf_1_rulez.json file for one girl and datasecondelfisalsoawesome.json. Both will be loaded, we only have to be careful about doubles but I can throw an error in such cases and one can put doubles in single json file as well I suppose.

Rest of the file offers setting ranges for stats and chances for traits, absolute blocks are, well "absolute" so they are just forced without any percentages. Since girl can have only one normal attack type at the moment, there is no percentage for that (but we can add one of needs be).

Also I forgot to "magic_skill" field, this one should also be with percentages I suppose.

Oh, folder field is no longer required, we can just get it from the game.
Title: Re: General Discussion
Post by: DarkTl on July 06, 2013, 04:06:31 PM
So you could have a folder called 'elves' for example and have two girls there called elf_1 and elf_2, you can either make one data.json file for both of them or make data_elf_1_rulez.json file for one girl and datasecondelfisalsoawesome.json. Both will be loaded
Nice, unique ones could use it too.

What about using multiple clones of unique girls as random girls? I guess the easiest way is to make a copy of original pack with json instead of xml, but that means waste of hd space.
Title: Re: General Discussion
Post by: Xela on July 06, 2013, 04:11:47 PM
Nice, unique ones could use it too.

What about using multiple clones of unique girls as random girls? I guess the easiest way is to make a copy of original pack with json instead of xml, but that means waste of hd space.

Clones and random girls are two different things. Clone will be the exactly same replica of the girl you'll be cloning with a number of traits removed (I guess) and all magical skills blocked as we discussed.

Random girls are just as good as unique girls, they just have the same picture base with different names. Random girls can be cloned just as well as the unique girls.

Since existing instance is used for cloning, we don't need Json. I am actually planning to use existing (but incomplete) instances for for random girls as well.
Title: Re: General Discussion
Post by: DarkTl on July 06, 2013, 04:18:39 PM
Nope, I mean that
I still say, simply use some chars that could be unique and have pics. There is no rule saying that we should make every single character available as a normal unique girl...
and that
I agree that we can use unique ones as well. But, like I said, together with Otherworld scenic concept, ie random girls are multiple clones (maybe created by an unknown technology, and because of that they do not need life-prolonging; or maybe not, and some of them will be replaced by new ones every 1-2 month if MC won't help them), and somewhere in game world there is a "real one", original unique girl with original stats and traits.
So there're real clones made by MC and there're clones as another name for random girls.
Title: Re: General Discussion
Post by: Xela on July 06, 2013, 04:28:58 PM
Nope, I mean thatand thatSo there're real clones made by MC and there're clones as another name for random girls.

That's story related, we're doing logic at the moment. We can spin it in a number of ways when we get to story writing.
Title: Re: General Discussion
Post by: DarkTl on July 06, 2013, 05:03:19 PM
Well, if you want to use unique ones as random ones, you do need logic for it.

Anyway, I've found about 700 damn pics for 3 monster girls (those packs will be great  :) ). I need a good long break from it, so tomorrow I'll try to deal with git.

I already have an account there, and Mijh mentioned you guys should give me access first. I don't think I have anything to do with the code now, but I could use access to content repository.
Username is darktl, ID is 4282926.

Title: Re: General Discussion
Post by: Xela on July 06, 2013, 05:15:19 PM
Well, if you want to use unique ones as random ones, you do need logic for it.

Anyway, I've found about 700 damn pics for 3 monster girls (those packs will be great  :) ). I need a good long break from it, so tomorrow I'll try to deal with git.

I already have an account there, and Mijh mentioned you guys should give me access first. I don't think I have anything to do with the code now, but I could use access to content repository.
Username is darktl, ID is 4282926.

Ok, I'll add you tomorrow and update the repo  when I am done with random girls... it's getting a bit outdated.

And I never meant we should use all of the unique girls as randoms... I meant we could take a couple of girls that COULD be unique and add them as randoms.
Title: Re: General Discussion
Post by: Xela on July 06, 2013, 06:58:24 PM
Well, I've managed to fill the game with random girl :)

There might be one or two new bugs because of that, but we'll work them out, otherwise preliminary testing shows good results :)
Title: Re: General Discussion
Post by: DarkTl on July 07, 2013, 05:26:25 AM
I wonder what'll happen if you don't specify borders for some stats of random character. Will they be 0 (except health, it would mean instant death I guess)?
Title: Re: General Discussion
Post by: Xela on July 07, 2013, 05:32:45 AM
I wonder what'll happen if you don't specify borders for some stats of random character. Will they be 0 (except health, it would mean instant death I guess)?

I've already taken precautions. Health is forced to 100 if not specified, rest of stats to 0.

We'll keep improving algorithms as we advance games code.
Title: Re: General Discussion
Post by: DarkTl on July 07, 2013, 05:47:50 AM
Hm, and if you set it to 0 or less? Can a girl die at all while she is not a part of your brothel?
Title: Re: General Discussion
Post by: Xela on July 07, 2013, 05:53:09 AM
Well, I've had some time to test random girl you've found pics for, it works in all places that use recent code and breaks in most places I've coded 3/4 month ago. I'll have to update a good amount of code (Something I've been meaning to do for quite a while). That means no real progress but improved logic and interfaces for a while...

Hm, and if you set it to 0 or less? Can a girl die at all while she is not a part of your brothel?

Yes, she'll die on activation and you'll never know about it. But there are plenty of ways of f#cking the game up by making bad content as it is, I'll either write normalization (there are a couple already) functions in the future or we'll just agree to be responsible for content in main releases and mods can mess up the game as much as they like.
Title: Re: General Discussion
Post by: DarkTl on July 07, 2013, 08:09:06 AM
At least one trait reduces max health. So normalization is necessary.
Title: Re: General Discussion
Post by: Xela on July 07, 2013, 09:58:39 AM
At least one trait reduces max health. So normalization is necessary.

Traits are applied after the stats are. That shouldn't be an issue.
Title: Re: General Discussion
Post by: DarkTl on July 07, 2013, 10:45:08 AM
Are you sure? If some hypothetical really weak girls already has 10 hp current and max according to her xml, and then we'll add a trait with -20 to max hp, she'll get negative health.
Title: Re: General Discussion
Post by: DarkTl on July 08, 2013, 05:01:08 AM
So, do I have access to git or not? I don't see any changes in my account.
I'm not complaining or something, but it's you guys tried to convince me to join that thing. If you change your mind now, just say. I can live without it  :D
Title: Re: General Discussion
Post by: Xela on July 08, 2013, 06:09:45 AM
So, do I have access to git or not? I don't see any changes in my account.
I'm not complaining or something, but it's you guys tried to convince me to join that thing. If you change your mind now, just say. I can live without it  :D

Done :) Sorry for the delay, things been hectic.
Title: Re: General Discussion
Post by: DarkTl on July 08, 2013, 09:36:40 AM
Looks like you added me to the base code brunch. (https://sourceforge.net/p/pytfall) As far as I understand, Mijh mentioned that content/image repository is this brunch (https://sourceforge.net/p/pytfall/content).
Title: Re: General Discussion
Post by: Xela on July 08, 2013, 11:13:31 AM
Looks like you added me to the base code brunch. (https://sourceforge.net/p/pytfall) As far as I understand, Mijh mentioned that content/image repository is this brunch (https://sourceforge.net/p/pytfall/content).

You have access to everything. You can just push from content branch if you don't wanna bother with code.
Title: Re: General Discussion
Post by: DarkTl on July 08, 2013, 03:48:45 PM
Ok. Client synchronizes with repository now, we'll see if I'm able to figure it out  :)

Another elven random pack is ready, two more coming tomorrow. I doubt very much that possible to create packs with a high degree of pics similarity for other forest creatures, like those centaurs and dryads from wm ex, but I'll try with fairies.
Title: Re: General Discussion
Post by: DarkTl on July 09, 2013, 05:27:40 AM
Well, I can't be sure I do everything right, but I can't push anything to content branch.
Title: Re: General Discussion
Post by: Xela on July 09, 2013, 06:04:19 AM
Well, I can't be sure I do everything right, but I can't push anything to content branch.

You need to activate GUI/Console inside the content folder instead of main. What are you want to push anyway?
Title: Re: General Discussion
Post by: rudistoned on July 09, 2013, 06:43:58 AM
You can also activate the git bash in the content folder and use the following command to push your changes into the master branch of the content repository:


Code: [Select]

git push ssh://[enter your sourceforge login here]@git.code.sf.net/p/pytfall/content/content master


Be sure to replace the expression in [ ] with your user name.
Title: Re: General Discussion
Post by: DarkTl on July 09, 2013, 08:55:54 AM
God dammit, I'm so tired of this git bulls**t. Ironically, git client doesn't help much, because it simply doesn't have any guides or help at all since it designed for experienced users of git.

For testing purposes I tried to add to content folder four random packs. On the one hand looks like I succeed, since now it says "everything is up to date", on the other hand last update on sourceforge is still 1 day ago for master branch and 05-22 for content.
Title: Re: General Discussion
Post by: Xela on July 09, 2013, 11:59:35 AM
I can only suggest that you'll start with a couple of files instead of packs and figure out the basics.

Like:
stage files = prepare files for commit
commit = Update your local version
push = upload to server
pull = download from server
branch = pool of code/content you want to work with separably (master branch should be the main dev verison)
merge = merging different branches into one combining the code

It takes some time getting used to, but unless you want to learn about advanced functionality (I haven't so far), that's all you really need to know. Using GUI simplifies things a bit.


Title: Re: General Discussion
Post by: DarkTl on July 09, 2013, 12:11:01 PM
Not to mention periodic "unexpected end of file" errors during downloading. I guess git is badly insured against transmission errors, so you have to be ready to download multi-gigabyte distributive as many times as necessary. Lol.
Title: Re: General Discussion
Post by: Xela on July 09, 2013, 12:20:28 PM
Not to mention periodic "unexpected end of file" errors during downloading. I guess git is badly insured against transmission errors, so you have to be ready to download multi-gigabyte distributive as many times as necessary. Lol.

Yeah, I had the same problem when I was uploading new packs and after 3rd or 4th fail, wanted to go and look for command lines to stabilize the process but soon found out that you/server don't loose data is the process fails, so you basically just need to keep pushing/pulling. I am sure there are advanced command lines to improve the transfer...
Title: Re: General Discussion
Post by: DarkTl on July 09, 2013, 01:04:21 PM
Alright, some conclusions for today. First of all, client starts throwing some errors about trees. If it means that I accidentally messed git repository, I'm sorry  :(

Secondly, git may be useful for the source code, but it's totally unacceptable for content.
For testing purposes today I downloaded distributive ten times, and only two times it was successful.
Obviously, hereinafter the larger will be the size of the content, the smaller will be the chance to download it. We have to use anything else, like db, mega, maybe torrent after the game release.
Title: Re: General Discussion
Post by: Xela on July 09, 2013, 02:41:00 PM
Alright, some conclusions for today. First of all, client starts throwing some errors about trees. If it means that I accidentally messed git repository, I'm sorry  :(

Secondly, git may be useful for the source code, but it's totally unacceptable for content.
For testing purposes today I downloaded distributive ten times, and only two times it was successful.
Obviously, hereinafter the larger will be the size of the content, the smaller will be the chance to download it. We have to use anything else, like db, mega, maybe torrent after the game release.

I agree, we never intended to have a full game riding on sf, just the code and enough content for proper testing.

Didn't have much time for coding otherwise, I'll try to finish all adjustments needed for random girls to run perfectly everywhere (right now I've almost finished logic for SlaveMarket, improved screen for SM, girlsmeets will remain after that).
Title: Re: General Discussion
Post by: DarkTl on July 09, 2013, 02:49:27 PM
Btw, what do you think about auction at the slave market? Otherworld has one, although its algorithm is fairly predictable.
Title: Re: General Discussion
Post by: Xela on July 09, 2013, 03:51:52 PM
Btw, what do you think about auction at the slave market? Otherworld has one, although its algorithm is fairly predictable.

I am for the simpler model right now, we should create a world and slave training first, after that's done, we can create auction house separetly to trade in either perfectly trained slaves, exotic slaves/girls (rare/hard to get) and rare items.
Title: Re: General Discussion
Post by: DarkTl on July 10, 2013, 12:35:49 PM
About random girls, what if you using probability for mutually exclusive traits?
Like 50% for Agressive and 50% for Collected, or 80/20 for Average Boobs/Big Boobs. How the game will choose between them?
Title: Re: General Discussion
Post by: Xela on July 10, 2013, 12:48:59 PM
About random girls, what if you using probability for mutually exclusive traits?
Like 50% for Agressive and 50% for Collected, or 80/20 for Average Boobs/Big Boobs. How the game will choose between them?

Traits will be enabled if percentage rolls and in the order you put them in a file. Otherwise usual rules apply, if Average Boobs rolls before Big Boobs, the latter will be blocked.
Title: Re: General Discussion
Post by: DarkTl on July 10, 2013, 01:29:49 PM
I see. Currently the only ones mandatory traits are boobs traits. It means that pack makers have to place Average Boobs with 100% at the very end of json if they make a roll for other boobs traits, otherwise there is a chance that some girls won't have boobs from the viewpoint of traits. Or it could be hardcoded like in wm ex, ie if some girl doesn't have any boobs traits at all, she gets Average Boobs automatically.
Title: Re: General Discussion
Post by: Xela on July 10, 2013, 01:43:25 PM
I see. Currently the only ones mandatory traits are boobs traits. It means that pack makers have to place Average Boobs with 100% at the very end of json if they make a roll for other boobs traits, otherwise there is a chance that some girls won't have boobs from the viewpoint of traits. Or it could be hardcoded like in wm ex, ie if some girl doesn't have any boobs traits at all, she gets Average Boobs automatically.

Ok, we can go either way. SlaveMarket is finished (we should prolly turn it into location, not access it from the main screen?), I'll see if I can temporally fix gm code, finish fixing couple of bugs and update sf.
Title: Re: General Discussion
Post by: DarkTl on July 10, 2013, 02:10:04 PM
Come to think of it, random and unique characters both could use hardcoded Average Boobs in case if pack maker forgot about them.

Two more random girls today. I'm expecting 2-4 packs tomorrow, depending on the number of available pics. After that we probably won't need new random monster girls at least until 1.0 version, although I have a couple of ideas about non-monster ones inhabiting the city.

we should prolly turn it into location, not access it from the main screen?
Yeah, I'll look for suitable pictures.
Title: Re: General Discussion
Post by: Pashax2 on July 10, 2013, 11:22:41 PM
Hey all, I've been following the work on this and I have to say I'm eager about the potential it has. Is there any chance you could give us an idea about how far through the roadmap you are? Some screenshots would be nice too, but I understand there might not be anything worth showing off right now.
In any case, thanks heaps for your work on it. I'm really looking forward to seeing how it turns out!  :)
Title: Re: General Discussion
Post by: Xela on July 11, 2013, 10:02:06 AM
Hey all, I've been following the work on this and I have to say I'm eager about the potential it has.

Thanks!

Is there any chance you could give us an idea about how far through the roadmap you are?

Thats pretty difficult because we're kind of programming outside of roadmap at this moment, we've developed some parts of the game (logic mostly) beyond the original plan, however, since girlsmeets/interactions are at standstill, dev version is STILL at 0.29 even thought there is a lot of new code (prolly a few thousand lines) and a lot of new content.

Some screenshots would be nice too, but I understand there might not be anything worth showing off right now.

These haven't been posted on this forum (Some are already a bit outdated):

 (http://img141.imagevenue.com/loc492/th_807842146_7_3_20132_18_24AM_123_492lo.jpg) (http://img141.imagevenue.com/img.php?image=807842146_7_3_20132_18_24AM_123_492lo.jpg) (http://img151.imagevenue.com/loc484/th_280784561_7_3_20132_18_43AM_123_484lo.jpg) (http://img151.imagevenue.com/img.php?image=280784561_7_3_20132_18_43AM_123_484lo.jpg)(http://img249.imagevenue.com/loc232/th_807850882_7_3_20132_19_01AM_123_232lo.jpg) (http://img249.imagevenue.com/img.php?image=807850882_7_3_20132_19_01AM_123_232lo.jpg)
(http://img292.imagevenue.com/loc99/th_807854570_7_3_20132_19_15AM_123_99lo.jpg) (http://img292.imagevenue.com/img.php?image=807854570_7_3_20132_19_15AM_123_99lo.jpg)(http://img293.imagevenue.com/loc435/th_807857989_7_3_20132_19_48AM_123_435lo.jpg) (http://img293.imagevenue.com/img.php?image=807857989_7_3_20132_19_48AM_123_435lo.jpg)(http://img225.imagevenue.com/loc1162/th_807860133_7_3_20132_21_59AM_123_1162lo.jpg) (http://img225.imagevenue.com/img.php?image=807860133_7_3_20132_21_59AM_123_1162lo.jpg)
(http://img244.imagevenue.com/loc451/th_807864627_7_3_20132_22_43AM_123_451lo.jpg) (http://img244.imagevenue.com/img.php?image=807864627_7_3_20132_22_43AM_123_451lo.jpg)(http://img295.imagevenue.com/loc161/th_807868375_7_3_20132_23_22AM_123_161lo.jpg) (http://img295.imagevenue.com/img.php?image=807868375_7_3_20132_23_22AM_123_161lo.jpg)(http://img43.imagevenue.com/loc227/th_807872736_7_3_20132_23_40AM_123_227lo.jpg) (http://img43.imagevenue.com/img.php?image=807872736_7_3_20132_23_40AM_123_227lo.jpg)
(http://img151.imagevenue.com/loc364/th_807876586_7_3_20132_24_31AM_123_364lo.jpg) (http://img151.imagevenue.com/img.php?image=807876586_7_3_20132_24_31AM_123_364lo.jpg)(http://img297.imagevenue.com/loc74/th_807881486_7_3_20132_24_58AM_123_74lo.jpg) (http://img297.imagevenue.com/img.php?image=807881486_7_3_20132_24_58AM_123_74lo.jpg)(http://img275.imagevenue.com/loc240/th_807885623_7_3_20132_25_12AM_123_240lo.jpg) (http://img275.imagevenue.com/img.php?image=807885623_7_3_20132_25_12AM_123_240lo.jpg)
(http://img196.imagevenue.com/loc249/th_807890379_7_3_20132_25_29AM_123_249lo.jpg) (http://img196.imagevenue.com/img.php?image=807890379_7_3_20132_25_29AM_123_249lo.jpg)(http://img247.imagevenue.com/loc89/th_280789444_Itemstransferscreen_123_89lo.jpg) (http://img247.imagevenue.com/img.php?image=280789444_Itemstransferscreen_123_89lo.jpg)(http://img20.imagevenue.com/loc367/th_807897208_witchesshop_123_367lo.jpg) (http://img20.imagevenue.com/img.php?image=807897208_witchesshop_123_367lo.jpg)
  (http://img43.imagevenue.com/loc47/th_542728335_7_11_20134_49_38PM_122_47lo.jpg) (http://img43.imagevenue.com/img.php?image=542728335_7_11_20134_49_38PM_122_47lo.jpg)
     

In any case, thanks heaps for your work on it. I'm really looking forward to seeing how it turns out!

You're welcome, I wanna know how it turns out as well :)
Title: Re: General Discussion
Post by: Xela on July 11, 2013, 11:11:55 AM
Alright, some conclusions for today. First of all, client starts throwing some errors about trees. If it means that I accidentally messed git repository, I'm sorry  :(

Secondly, git may be useful for the source code, but it's totally unacceptable for content.
For testing purposes today I downloaded distributive ten times, and only two times it was successful.
Obviously, hereinafter the larger will be the size of the content, the smaller will be the chance to download it. We have to use anything else, like db, mega, maybe torrent after the game release.

 You've not updated random girls at the depo since I cannot get them. You need to commit content folder first, then merge it with master branch of content, then commit those changes in general master branch and only then push to the main master branch...

 I've pushed random girls code + new slavemarket + bugfixes + one random girl with incomplete data file + some bug fixes + retail store + some new unrelated crap (like me testing some animations code (seems to be running slower than RenPy original btw)).

 In any case, if you want, you can upload your random girls packs to DB, I can tag them and add to the depo.
Title: Re: General Discussion
Post by: DarkTl on July 11, 2013, 11:32:37 AM
Well, girlsmeets/interactions are problematic. I'm a bad writer no matter the language, even those descriptions for items were pain for me. And we probably won't get decent writers until the playable release.

Anyway, I dropped three random packs without enough pictures (that includes fairy, so we'll have to use unique ones one way or another in the future, I guess Eliont will be happy if I'll use characters from his favotite SAO  :) ), now I'm finishing slime rmg. Then I'll make 2-3 rg androids for the city based on os-mascots. After that battle sprites for forest mobs.

You've not updated random girls at the depo since I cannot get them. You need to commit content folder first, then merge it with master branch of content, then commit those changes in general master branch and only then push to the main master branch
It turns out that git is like a Black Hole for content, you can upload there all you want, but when it comes to loading, you will enjoy ueof errors.
When/if I'll work on the source code, then I'll use git.

As for uploading them, you can and will find links to my packs in my db folder in girls\links.txt.
Besides, it looks like that (at least for now) xmls and jsons will change frequently, unlike packs themselves, so on mega they will be without data files, those files will be in dropbox.

And speaking of data files, could you give me an example of the finished json for random girl? Or you still working on its concept and syntax?
Title: Re: General Discussion
Post by: Xela on July 11, 2013, 11:44:21 AM
Well, girlsmeets/interactions are problematic. I'm a bad writer no matter the language, even those descriptions for items were pain for me. And we probably won't get decent writers until the playable release.

Anyway, I dropped three random packs without enough pictures (that includes fairy, so we'll have to use unique ones one way or another in the future, I guess Eliont will be happy if I'll use characters from his favotite SAO  :) ), now I'm finishing slime rmg. Then I'll make 2-3 rg androids for the city based on os-mascots. After that battle sprites for forest mobs.
It turns out that git is like a Black Hole for content, you can upload there all you want, but when it comes to loading, you will enjoy ueof errors.
When/if I'll work on the source code, then I'll use git.

As for uploading them, you can and will find links to my packs in my db folder in girls\links.txt.
Besides, it looks like that (at least for now) xmls and jsons will change frequently, unlike packs themselves, so on mega they will be without data files, those files will be in dropbox.

And speaking of data files, could you give me an example of the finished json for random girl? Or you still working on its concept and syntax?

I recall Roman making his own SOA pack. I've updated DB with what I have so you can take a look... There is some crap that is still off (minor mostly), but I couldn't get game to crash :)


// PS: Figured out that slave market is broken (Fixed), I'll see if I can fix that tonight along with adding boob traits checks on loading.
Title: Re: General Discussion
Post by: DarkTl on July 11, 2013, 02:35:48 PM
I recall Roman making his own SOA pack.
Yeah, I know. I mean he will be happy to see them in as many games as possible  :)

About interface, instead of the cross in the top right part of the screen we need a big, noticeable button, like "go back" or "return to brothel", maybe in the bottom middle part.
Title: Re: General Discussion
Post by: Xela on July 11, 2013, 02:39:46 PM
About interface, instead of the cross in the top right part of the screen we need a big, noticeable button, like "go back" or "return to brothel", maybe in the bottom middle part.

We'll leave stuff like that to the time we redesign screens...
Title: Re: General Discussion
Post by: CherryWood on July 11, 2013, 03:32:56 PM
 

Thats pretty difficult because we're kind of programming outside of roadmap at this moment, we've developed some parts of the game (logic mostly) beyond the original plan, however, since girlsmeets/interactions are at standstill, dev version is STILL at 0.29 even thought there is a lot of new code (prolly a few thousand lines) and a lot of new content.

I was thinking about girlmeets again, but I wasn't able to come with any worthwhile improvements to current concept. We probably need a lot of text to make simbro1x system look good, I'm not confident to write these missing lines myself and lines I ripped from Illusion games are good only for a few categories.

// PS: Figured out that slave market is broken (Fixed), I'll see if I can fix that tonight along with adding boob traits checks on loading.
This "average boobs" trait still makes no sense to me...   what is the reasoning behind it?


btw, I started creating Haruhi pack. It irritated me to no end that she have 30 pics when she could easily have a few hundreds.
Title: Re: General Discussion
Post by: Xela on July 11, 2013, 03:51:39 PM
Well, we'll figure out girlsmeets, lots of texts we can get at later points of development, like I've said, we can start with basics first.

Forced trait was Dark's idea but it does make sense... I'll leave it out for now if there are still doubts, it's not hard to add.
Title: Re: General Discussion
Post by: DarkTl on July 11, 2013, 04:27:58 PM
This "average boobs" trait still makes no sense to me...   what is the reasoning behind it?
Well, if you want to know, because wm ex has it, and I always liked it. A girl may not have long legs or nice arse, and since we use sexy characters from various games, anime, etc., they can't have short legs or ugly ass, for example.
But girls will always have boobs, and traits reflect it.
It's purely cosmetic trait of course, just like those pseudo traits I proposed earlier. If you prefer to not have any purely cosmetic traits at all, then I'll remove it.
Title: Re: General Discussion
Post by: Xela on July 11, 2013, 04:48:26 PM
@Dark: http://kino-live.org/komedyy-onlajn/71560401-hobbit-s-tatuirovkoy-drakona.html
Title: Re: General Discussion
Post by: CherryWood on July 11, 2013, 05:48:47 PM
 
Well, if you want to know, because wm ex has it, and I always liked it. A girl may not have long legs or nice arse, and since we use sexy characters from various games, anime, etc., they can't have short legs or ugly ass, for example.
But girls will always have boobs, and traits reflect it.
It's purely cosmetic trait of course, just like those pseudo traits I proposed earlier. If you prefer to not have any purely cosmetic traits at all, then I'll remove it.
If you like it, then I'm totally fine with having it... I was just wondering about this trait a bit, because it's an exception from what I would expect (no big boobs or small boobs = average boobs, in same manner like I'm assuming hetero orientation and average inteligence/strenght/willpower/etc. on traitless girl).


Well, we'll figure out girlsmeets, lots of texts we can get at later points of development, like I've said, we can start with basics first.

Ok, then, texts aside, is there something left to decide for basic version?
Title: Re: General Discussion
Post by: DarkTl on July 11, 2013, 06:51:13 PM
@Xela
Nice parody  :D

hetero orientation and average inteligence/strenght/willpower/etc. on traitless girl
Yeah, you have a point there. I guess you could call it an easter egg  :)
Anyway, we definitely can live without this trait, so if anyone wants me to delete it, just say the word.
Title: Re: General Discussion
Post by: Xela on July 12, 2013, 10:45:34 AM
Ok, then, texts aside, is there something left to decide for basic version?

I don't really have an answer, as I've said above, we have strayed off the roadmap with random girls, advanced items system, talk about exploration and combat and so on and I have no idea where it ends so I can't really tell what's required.

Otherwise, besides the texts, we'll have to balance out the game (stats, traits, items, prices, awards etc.), finish girls actions during/after jobs, add some random events, create MC and intro with a storyline, hunt down all bugs after alpha and beta releases. Prolly more...
Title: Re: General Discussion
Post by: DarkTl on July 12, 2013, 01:35:05 PM
we'll have to balance out the game (stats, traits, items, prices, awards etc.)
I need a fully functioning brothel for a start to balance out items prices.

Prolly more...
Yeah, you forgot about clones  :)

Androids rg are done. Besides, if you need jsons for my random packs, they are now in db as well.
Tomorrow I'll start to work on the forest. I guess one such dungeon-type location will be enough for now.
Title: Re: General Discussion
Post by: Xela on July 12, 2013, 03:26:12 PM
I need a fully functioning brothel for a start to balance out items prices.

We have a fully functioning brothel, don't we? Balancing out prices or effects of one of any one game element (I've said so before) is impossible. If someone wants to take charge  of balancing the game as a whole, be my guest. Otherwise we'll do it together when we reach the corresponding roadmap version.

Yeah, you forgot about clones  :)

I am beginning to think that random girls are enough for 1.0, also I am beginning to doubt exploration job for warriors before 1.0 os complete in favor of introducing new buildings where non brothel related guilds/activities can take place after original release.

Androids rg are done. Besides, if you need jsons for my random packs, they are now in db as well.
Tomorrow I'll start to work on the forest. I guess one such dungeon-type location will be enough for now.

More than enough. We'll add more after 1.0. If truth be told, I am not even sure what we're gonna do with one at this point of development, but we'll figure something out.
Title: Re: General Discussion
Post by: DarkTl on July 12, 2013, 04:57:39 PM
We have a fully functioning brothel, don't we?
Ok, fully functioning and balanced out from the viewpoint of daily income  :)
Can they be considered as such?

Brothels are our main source of income, at least until advanced system with multiple dungeons and arena. I need to know daily receipts at the beginning of the game with a small group of untrained girls, daily receipts with an average small brothel (I guess 15-20 girls with 10~20 level?), etc.

It doesn't matter if you can earn 50 or 2000 per day at the very begining, I'll balance out prices
accordingly. But we have to start somewhere, and I think this is a good place to start.

I am beginning to think that random girls are enough for 1.0
It's your call. I like the idea though, it has a potential. We definitely should not abandon it.

I am beginning to doubt exploration job for warriors before 1.0 os complete in favor of introducing new buildings where non brothel related guilds/activities can take place after original release.
Then I propose to skip it, or make something simple. Like, create a gang (=party) from several girls and do about the same things gangs did in wm, except abduction. You know, extortion, patrolling, etc.

I am not even sure what we're gonna do with one at this point of development, but we'll figure something out.
We need something to keep warriors and MC busy anyway. And I believe many parts of the forest will remain after 1.0, so it will pay off to some degree.
Title: Re: General Discussion
Post by: Xela on July 12, 2013, 05:34:51 PM
Ok, fully functioning and balanced out from the viewpoint of daily income  :)
Can they be considered as such?

Brothels are our main source of income, at least until advanced system with multiple dungeons and arena. I need to know daily receipts at the beginning of the game with a small group of untrained girls, daily receipts with an average small brothel (I guess 15-20 girls with 10~20 level?), etc.

It doesn't matter if you can earn 50 or 2000 per day at the very begining, I'll balance out prices
accordingly. But we have to start somewhere, and I think this is a good place to start.

There are very few truly balanced games out there, even commercial. I disagree that we should start with brothels. I wrote about what would be my approach before. First thing would be establishing some ingame prices for "base units". Then balancing out game rewards/earnings accordingly and making sure there are as few loopholes as possible.

It's your call. I like the idea though, it has a potential. We definitely should not abandon it.

Agreed, it's very easy to program and has potential but seems out of place for the first release.

Then I propose to skip it, or make something simple. Like, create a gang (=party) from several girls and do about the same things gangs did in wm, except abduction. You know, extortion, patrolling, etc.

Doesn't solve the problem I have with this concept, such gangs should be organized separately from brothel, like in a different building but adding that before 1.0 is premature.

We need something to keep warriors and MC busy anyway. And I believe many parts of the forest will remain after 1.0, so it will pay off to some degree.

No doubt, but since we will not have slave training before 1.0, capturing girls would be useless, simple item hunting would do the trick for now...
Title: Re: General Discussion
Post by: DarkTl on July 12, 2013, 05:51:46 PM
First thing would be establishing some ingame prices for "base units".
I don't get it. What do you mean by these units?

Doesn't solve the problem I have with this concept, such gangs should be organized separately from brothel, like in a different building but adding that before 1.0 is premature.
 
My point is it will be not difficult to code as a temporary replacement . Same random encounters behind the scenes we have with customers in brothels, but with more dangerous opponents.
Title: Re: General Discussion
Post by: Xela on July 12, 2013, 06:14:26 PM
I don't get it. What do you mean by these units?

We need to evaluate base elements of the game to establish currency value.

- Price for a basic weapon/dress/armor/potion
- Price for a an obedient slave girl
- Price for sex from untrained girl
- Price for sex with rank 8 courtesan
- Minimum wage
- Base upkeep (girl)

And so on.

My point is it will be not difficult to code as a temporary replacement . Same random encounters behind the scenes we have with customers in brothels, but with more dangerous opponents.

How do you figure? Texts of what happened during exploration would be required, tables to compare enemy stats with rewards and possible locations, Coding something like that temporary seems like a royal pain in the butt and a lot harder than guard job that wasn't easy to code in the first place.
Title: Re: General Discussion
Post by: DarkTl on July 13, 2013, 06:00:56 AM
How do you figure? Texts of what happened during exploration would be required, tables to compare enemy stats with rewards and possible locations
Jeez, WM doesn't have anything like that. As I said, you could just mimic WM gang system, but with parties of warriors instead of gangs.
Title: Re: General Discussion
Post by: Xela on July 13, 2013, 06:22:39 AM
Jeez, WM doesn't have anything like that. As I said, you could just mimic WM gang system, but with parties of warriors instead of gangs.

What missions exactly?

I got beer and free time today so I am gonna write code while I still can :) Starting with something from TODO list I guess.
Title: Re: General Discussion
Post by: DarkTl on July 13, 2013, 06:37:04 AM
I do not remember all options wm has, but I recall protection racket (=fights with random enemy parties, just like customers), fighting with other gangs (=the same, more dangerous) and maintenance of security around the building (=the same, less dangerous).
Title: Re: General Discussion
Post by: Xela on July 13, 2013, 07:13:17 AM
I do not remember all options wm has, but I recall protection racket (=fights with random enemy parties, just like customers), fighting with other gangs (=the same, more dangerous) and maintenance of security around the building (=the same, less dangerous).

Still don't follow. Lets leave till later, I'll code in some of the stuff from todo list.
Title: Re: General Discussion
Post by: DarkTl on July 13, 2013, 10:15:09 AM
Actually, since we have rmg and will have mobs, we might as well make a simple arena, and will expand it after 1.0.
It will require at least basic level of BE though.
Title: Re: General Discussion
Post by: Xela on July 13, 2013, 10:20:31 AM
Actually, since we have rmg and will have mobs, we might as well make a simple arena, and will expand it after 1.0.
It will require at least basic level of BE though.

What's simple and what we will expand later?
Title: Re: General Discussion
Post by: DarkTl on July 13, 2013, 11:00:31 AM
The arena. I figured you have big plans for it, so maybe instead of exploration job could be used a simplified version of arena.
Title: Re: General Discussion
Post by: Xela on July 13, 2013, 11:28:26 AM
The arena. I figured you have big plans for it, so maybe instead of exploration job could be used a simplified version of arena.

True, but even those plans are not in writing, I struggle to figure out what a simplified version of Arena would look like...

In any case, I better start coding, still didn't get anything done... spent all the time looking for ideas and art :(
Title: Re: General Discussion
Post by: DarkTl on July 13, 2013, 11:36:41 AM
Heh, I guess you have to decide what do you mean by arena in our game, then we'll know if simplified version is possible  :D
The thing is, if we'll make a simple arena, then 1) we won't need simple exploration job, not now, not ever; 2) we won't have to make a forest until 1.0, all items and mobs will be at arena.

Anyway, I've extracted a good deal of sounds, animations and battle sprites, time to sort them out.
Title: Re: General Discussion
Post by: Xela on July 13, 2013, 11:56:10 AM
Heh, I guess you have to decide what do you mean by arena in our game, then we'll know if simplified version is possible  :D
The thing is, if we'll make a simple arena, then 1) we won't need simple exploration job, not now, not ever; 2) we won't have to make a forest until 1.0, all items and mobs will be at arena.

Anyway, I've extracted a good deal of sounds, animations and battle sprites, time to sort them out.

 There are some excellent choices in RPG Maker. They also have an awesome way of constructing battle backgrounds from two pictures (background and floor). We can adapt both.

 I haven't thought about the Arena in a very long time. My original plan was to make it into a place where any character currently in the game capable/willing to fight there can beat the crap out of one another. Cash would come from a betting system, as well as watching fees, both loosing and winning party would get some amount of cash (depending on fame/reputation and so on). Items were never supposed to be a part of reward. Also I planned adding a tournament every month or so with cool prices (Items/Lots of cash/Fame/Reputation) but would be immensely hard to win.

 I am in favor of simple forest for the first version and no exploration job. We can decrease the amount of warriors in the game (we'll have to do that anyway).
Title: Re: General Discussion
Post by: DarkTl on July 13, 2013, 12:17:34 PM
I suddenly remembered one more thing about WM. Either it's feature of the engine, or misuse of a random number generator, but if you create a random girl with, for example, 1% chance of all ingame traits, then there will be a lot of girls with a huge number of traits.
If we will see the same picture, we'll have to limit the maximum number of traits for random girls.
Title: Re: General Discussion
Post by: Xela on July 13, 2013, 12:20:21 PM
I suddenly remembered one more thing about WM. Either it's feature of the engine, or misuse of a random number generator, but if you create a random girl with, for example, 1% chance of all ingame traits, then there will be a lot of girls with a huge number of traits.
If we will see the same picture, we'll have to limit the maximum number of traits for random girls.

We have an different traits system so we might not get this issue. Many traits are blocked by previously enabled traits and absolute blocks.
Title: Re: General Discussion
Post by: iammewt on July 13, 2013, 07:08:19 PM
How and where can I get play teh current version of PyTFall, Xela? Many thanks in advance.
Title: Re: General Discussion
Post by: Xela on July 14, 2013, 03:17:54 AM
How and where can I get play teh current version of PyTFall, Xela? Many thanks in advance.

We're not at a point where playable version is available. You'll have to wait.
Title: Re: General Discussion
Post by: DarkTl on July 14, 2013, 06:14:37 AM
They also have an awesome way of constructing battle backgrounds from two pictures (background and floor).
Unfornutally, most of them have  640 × 320 resolution at best.
Title: Re: General Discussion
Post by: DarkTl on July 15, 2013, 11:17:43 AM
Xela, what do you think about the idea of limited resources, like food in Old Huntsman's game, during exploration?
Title: Re: General Discussion
Post by: Xela on July 15, 2013, 12:18:37 PM
Xela, what do you think about the idea of limited resources, like food in Old Huntsman's game, during exploration?

I didn't play his first game for more than 20 mins and exploration was one of the things I hated the most, but not really remembering how resources worked there, can't say for sure.
Title: Re: General Discussion
Post by: DarkTl on July 15, 2013, 01:57:56 PM
Well, in his game you can buy some provisions before leaving the city. During the exploration MC hunger is gradually increases, if you won't eat, s/he will die eventually.
You also could eat captures girls there, but that's an overkill in our case, we will have a lot of nonhumanoid mobs if we'll make it anyway. Same could be done for water (not necessarily in the forest, a desert or a sea, for example). Leaving everything else aside, what do you thing about such system?

Besides, since you hated such exploration system, I guess we should use one of BEs as base for EE (exploration engine)?
Title: Re: General Discussion
Post by: rudistoned on July 15, 2013, 02:56:03 PM
To be honest, I don't think it's a fun mechanic. To make food fun, you would have to add fun ways to find food during your travels. This works to some extent in Skyrim, because hunting there is quite fun, but even then it's often tiresome. I have no idea how it could work in a game like this. Eating captured girls?!? I'm not even going to comment that.  :-X
Title: Re: General Discussion
Post by: Pashax2 on July 15, 2013, 06:24:07 PM
Just chiming in on the hunger thing - it doesn't sound like much fun, and that strikes me as a problem. If you're considering adding a mechanic that doesn't make the game more fun for the player, then you probably need something special in the way of justification for it.
Title: Re: General Discussion
Post by: DarkTl on July 16, 2013, 07:42:42 AM
Eating captured girls?!? I'm not even going to comment that.  :-X
We are talking about the world after some global catastrophe, those girls are girls only in appearance, in terms of mind they are beasts. Still unpleasant, of course.
On the other hand, in Jack-o-nine-tails you can do about the same with normal girls, ie sell them for food. I guess Old Huntsman just love such things.

Anyway, like I said, we will have a lot of nonhumanoid mobs.

As for food system, I thought about quest line or skill tree teaching MC how to obtain food from special types of mobs after fighting them, ie monster birds, beasts, etc., and obviously not undead or humanoids.
Title: Re: General Discussion
Post by: Xela on July 16, 2013, 09:29:37 AM
We are talking about the world after some global catastrophe, those girls are girls only in appearance, in terms of mind they are beasts. Still unpleasant, of course.
On the other hand, in Jack-o-nine-tails you can do about the same with normal girls, ie sell them for food. I guess Old Huntsman just love such things.

Anyway, like I said, we will have a lot of nonhumanoid mobs.

As for food system, I thought about quest line or skill tree teaching MC how to obtain food from special types of mobs after fighting them, ie monster birds, beasts, etc., and obviously not undead or humanoids.

Maybe we can add some form of expeditions in distant future that might rely on food supply and will last days or even weeks. For now I see exploration as a much simpler system built on backgrounds with logic running behind those backgrounds. Player has to defeat a number of enemies or a boss to "clear the area". Past that point, players gets to fight in that area only if he so desires and can proceed to next area/areas. We can have villages or camps in between, quests that activate new markers on backgrounds and so on. Player only spends AP on fighting or interacting with environment but NEVER during the traveling itself.

That's how I see our first version in the forest, we can have many more types in the future but for now, it seems like a decent and interesting concept with a lot of possibilities and options while not being to difficult to program.

I am working on a slide out frame that will facilitate girl control (first part of TODO list, I don't have much time but there is some slow progress).


(http://img244.imagevenue.com/loc402/th_981046975_7_16_20134_26_55PM_123_402lo.jpg) (http://img244.imagevenue.com/img.php?image=981046975_7_16_20134_26_55PM_123_402lo.jpg)
     
Title: Re: General Discussion
Post by: DarkTl on July 16, 2013, 10:40:50 AM
I see exploration as a much simpler system built on backgrounds with logic running behind those backgrounds.
You said yourself that you hated exploration system in OH's game, and now you describe the same one  :D
Title: Re: General Discussion
Post by: Xela on July 16, 2013, 11:00:04 AM
You said yourself that you hated exploration system in OH's game, and now you describe the same one  :D

LoL Really?

 I've also said I played the game for 20 mins so maybe I didn't give it a shot, but I recall some crappy fog system that messed up directions, need to rest, some ugly, stupid bear that kept killing me, loosing AP or some equivalent of AP during traveling, not battle/interactions so the system I described is different from the one I remember in that game.

 I want battles easier, more numerous, easier to find, with some events and interactions on background instead sidescreen (we could still use some transparent sidescreen for info). It is the concept itself that's different, I want this system for 1.0 to be like a sideshow: easy, accessible and simple. In Old Huntsmans game, it was one of the main game elements (Hunting) while in PyTFall 1.0 it will be more line a distraction and introduction to combat that will play larger role in the future.
Title: Re: General Discussion
Post by: DarkTl on July 16, 2013, 01:01:10 PM
stupid bear that kept killing me
Lol  :D
Yeah, you need advanced equipment to kill the bear, or you have to avoid to go too deep. I guess it's a simple script rather than BE.

some crappy fog system that messed up directions
Ah yes, the fog. Nope, it doesn't mess up directions, more like randomise distance traveled. That's actually could be used to some degree in the forest, since MC is not a forest's inhabitant, and even if he has rmg forest's inhabitants in the party, they were captured and lived in the city for too long, so they cannot help, considerably at least.

need to rest
Well, rest is a good way to restore AP to me anyway.

loosing AP or some equivalent of AP during traveling
That's why I proposed food/water/whatever to loose instead of AP during traveling. As long as you keep fighting, you're out of danger. But if you prefer to avoid fights, run from battles (I guess we'll have "run" option in BE?) and so on, be sure to buy something eatable before leaving the city.
Title: Re: General Discussion
Post by: rudistoned on July 17, 2013, 05:51:31 AM
What's fun about punishing the player for forgetting to buy food (unless the game is about wilderness survival, of course)? Could we not just assume people are smart enough to buy food before they go into an area where there is none?
Title: Re: General Discussion
Post by: DarkTl on July 17, 2013, 10:28:26 AM
Lol, unless you are "smart" enough to buy infinite amount of food, it's not an argument. The game doesn't have sci-fi food synthesizers, at least yet.

If explorations are almost not dangerous, they are not explorations but walk in park. Since Xela doesn't want to spend AP on movement, and exploration engine is a simple slideshow without any real restrictions or routes, MC can return to the city immediately under all circumstances except for middle of battle (maybe, or maybe you could run anytime). And now you tell me that MC should have a couple of infinite resources as well. Damn, looks like my own house is less safe than wild forest in Pytfall.
Title: Re: General Discussion
Post by: Xela on July 18, 2013, 06:17:52 AM
Ah yes, the fog. Nope, it doesn't mess up directions, more like randomise distance traveled. That's actually could be used to some degree in the forest, since MC is not a forest's inhabitant, and even if he has rmg forest's inhabitants in the party, they were captured and lived in the city for too long, so they cannot help, considerably at least.

Maybe after 1.0 at deepwood, this is very premature.

Well, rest is a good way to restore AP to me anyway.

Spending the night in outside of the city is not gonna be there before 1.0. We might add expeditions later, but not before Hentai Brothel Sim part is properly released. I am not having this discussion again, it's like Alkion's chatroom 2.0 right now, Hentai Brothel Sim vs jRPG variant. PyTFall is gonna be the first option until we get that right and than, after a solid version like that is released we will either move towards adding jRPG, SlaveMaker or "Sim City" but NOT before 1.0!

That's why I proposed food/water/whatever to loose instead of AP during traveling. As long as you keep fighting, you're out of danger. But if you prefer to avoid fights, run from battles (I guess we'll have "run" option in BE?) and so on, be sure to buy something eatable before leaving the city.

No idea about the "run" option but I can add it together with any other requests when I address the BE programming and properly study/understand the workings of the engine. I don't know if that's gonna be before or after 1.0.

Otherwise, we don't need supply, it's just confusing and redundant for the introduction.


Lol, unless you are "smart" enough to buy infinite amount of food, it's not an argument. The game doesn't have sci-fi food synthesizers, at least yet.

I think Rudi's argument was same as my own (he can correct me if I am wrong), we assume that characters in the game wash themselves, take sh!ts, walk between locations, dream and so on but we don't simulate all of that, neither do we even simulate cooking in Brothel at this point, suggesting the need of supplies for exploration in version that is supposed to be about brothel management is redundant.

If explorations are almost not dangerous, they are not explorations but walk in park. Since Xela doesn't want to spend AP on movement, and exploration engine is a simple slideshow without any real restrictions or routes, MC can return to the city immediately under all circumstances except for middle of battle (maybe, or maybe you could run anytime). And now you tell me that MC should have a couple of infinite resources as well. Damn, looks like my own house is less safe than wild forest in Pytfall.

Walk in a park is a walk in a park (we have one if you recall) and the most dangerous thing that can happen there is a girl telling player to shove off.

In exploration, next level of it will be blocked so player doesn't know what's there until a number of enemies are defeated or a quest is fulfilled (hence exploration) so movement is to a point restricted by that already. Also there will be powerful mods deeper into the forest so it will be dangerous enough. Another thing is that we can block returning to the city on quests that will become available as player advances far enough.

====================================================================
In short, all good things for those who wait :)

We need to finish the Brothel management version while starting laying the groundwork for slave/girl training/capture, interesting city, balanced game, decent quests, arena and so on but we should not let our concepts get ahead of development order.
Title: Re: General Discussion
Post by: rudistoned on July 18, 2013, 06:55:57 AM

We need to finish the Brothel management version while starting laying the groundwork for slave/girl training/capture, interesting city, balanced game, decent quests, arena and so on but we should not let our concepts get ahead of development order.


Seconded.


In earlier days, when I was working on a program I often tried to plan ahead a lot and included elements in the code I created that were not needed now, but would be useful in the future (or so I thought). As it turned out, my requirements shifted during development and most of the planning-ahead work was wasted. Even worse, due to those elements that had no real use yet, my code became more complicated and harder to understand.
From Xela and Mijh I learned that solving problems that exist now with a simple solution is a lot more productive. I still don't think you should _never_ implement something you don't need right now, but you definitely should have really good reasons to do so.


In short: implementing a feature only half the way and starting work on many different things will waste lots of effort and make life harder for the project.
Title: Re: General Discussion
Post by: Xela on July 18, 2013, 07:34:11 AM
Yeap.

We already have a decent amount of battle/exploration capabilities for 1.0. For example:

1st Level of forest:

Required to kill 20 enemies to advance.

2nd Level of forest:

Required to kill 30 enemies and complete two quests that become available after you've killed the enemies.

and so on.

I have a number of ideas for quests like rare ingredients for the witch so she can make some ultra rare/expensive potions or taking out an powerful elfgirl on the request of rich slavetrader cause she and some friends/animals are attacking his caravans, player can decide who to side with and get more missions in the same spirit afterwards.

Maybe setting up couple of villages with unique creatures (fairies for example) as player advances into the forest.

My point is that we can make it interesting in ways that are already available and do not require extra programming and advance the system after we've added slave training, hunting, alchemy and other ways to play the game than running brothel. Then it would make more sense and be justified (things like a raiding/hunting trip deep into the forest (for a number of days) to get some rare/exotic monster girls for training/to sell/pit in the arena), making a system like that right now is to soon! We would do well in adding new buildings (like a hunting/training guild run by the player instead of brothel), slave training logic, npcs, capturing logic, arena, improved battle engine, etc. first.
Title: Re: General Discussion
Post by: DarkTl on July 18, 2013, 08:48:04 AM
implementing a feature only half the way
...is exactly what we going to do with the whole forest right now.

Another thing is that we can block returning to the city on quests that will become available as player advances far enough.
We cannot. Without AP you can't do anything. AP can be restored in brothel only, since spending the night in outside of the city is not gonna be there before 1.0.

In exploration, next level of it will be blocked so player doesn't know what's there until a number of enemies are defeated or a quest is fulfilled (hence exploration) so movement is to a point restricted by that already. Also there will be powerful mods deeper into the forest so it will be dangerous enough.
Challenging? Yes. Dangerous? Only if we won't have "run" option within BE at all.

We already have a decent amount of battle/exploration capabilities for 1.0. For example:

1st Level of forest:

Required to kill 20 enemies to advance.

2nd Level of forest:

Required to kill 30 enemies
Looks like a concept of arena rather than forest exploration: continuous fights to unlock the next level while standing still. Imagine 20-30 battles in a row on the same screen without elements of real exploration, for example finding a chest with goods, a random cave, or even simply moving somewhere. It will get bored very quickly.

What's the difference between the arena and the dungeon?
In dungeon you are on your own, for example if you low on health, don't have healing items and spells anymore and too far from the exit, well, it probably means that you are not well enough prepared, and time to pay for it or load the game. No middle ground.

At arena you have to defeat one or several enemy waves and claim your reward. Often you don't know how strong will be the next enemy, but after each wave or several waves you can exit if you want to and instantly get to safety.

In dungeon you have freedom of movement, including the possibility of getting lost in some cases. At arena you mostly stand on the spot, and enemies are coming to you.

Sounds familiar, eh? And what do we do when there will be a real arena?
That could work if BE we used was similar to tactic rpg. But it's not, it's a classic jrpg engine.

Then it would make more sense and be justified (things like a raiding/hunting trip deep into the forest (for a number of days) to get some rare/exotic monster girls for training/to sell/pit in the arena), making a system like that right now is to soon!
Indeed. I proposed earlier to create an arena for 1.0 instead of forest and other dungeons, but you refused. Now you trying to make a forest similar to arena, except for the scenery  ::)
Title: Re: General Discussion
Post by: Xela on July 18, 2013, 02:33:34 PM
...is exactly what we going to do with the whole forest right now.

There is difference between half-implementation and introduction. Also as I've explained in previous posts, general forest concept we've discussed already has a great deal of possibilities and functionality, it's more than enough for 1.0...

We cannot. Without AP you can't do anything. AP can be restored in brothel only, since spending the night in outside of the city is not gonna be there before 1.0.

Challenging? Yes. Dangerous? Only if we won't have "run" option within BE at all.

Yes we can. Single AP cost of 3/4 points per team-member at a single attempt/fail at a quest. Simple, clean and clear.

We don't have a run option so if adding it will hurt the game, we'll simply leave it out. Also as I've said, there is no certainty about modding the BE before 1.0. I even enjoyed the simple battle option in Otherworld (original release)... what we have now is better and more entertaining.

Looks like a concept of arena rather than forest exploration: continuous fights to unlock the next level while standing still. Imagine 20-30 battles in a row on the same screen without elements of real exploration, for example finding a chest with goods, a random cave, or even simply moving somewhere. It will get bored very quickly.

Matter of opinion, as I've said above, even OW system didn't get boring quickly (And I missed after it was taken off the game), not mentioning our mobs have 280 different items and gold to "drop" :)  Powering up is addicting, not the battle format.

What's the difference between the arena and the dungeon?
In dungeon you are on your own, for example if you low on health, don't have healing items and spells anymore and too far from the exit, well, it probably means that you are not well enough prepared, and time to pay for it or load the game. No middle ground.

Already addressed that in previous post. There are plenty of great games where returning to safety is a given from any place/dungeon/location. A very solid "middleground" and different approaches that have been proven to work out perfectly are available, at least to me.

At arena you have to defeat one or several enemy waves and claim your reward. Often you don't know how strong will be the next enemy, but after each wave or several waves you can exit if you want to and instantly get to safety.

That is one of the possibilities for Arena and bit different from what I proposed.

In dungeon you have freedom of movement, including the possibility of getting lost in some cases. At arena you mostly stand on the spot, and enemies are coming to you.

That could work if BE we used was similar to tactic rpg. But it's not, it's a classic jrpg engine.

One again, somewhat different concept for the Arena than mine and we were talking about basic exploration in the forest, not a dungeon and even as I've said above, there are different approaches to both available. I can see our BE format working out just fine.

And what do we do when there will be a real arena?

Reputation/fame requirement to participate and pick better opponents, some warrior girls/NPCs in the game chosen to participate (and dedicate themselves to Arena) before you might even meet them (fighting each other without your knowledge as part of city "life" simulation), prices of gold, not items, ladder of 20 -40 top "gladiators", tournament every 40 - 60 days. It's a system that's structured very differently and you need to "set up" matches before you fight them as Arena suggest spectators, planning.

Indeed. I proposed earlier to create an arena for 1.0 instead of forest and other dungeons, but you refused. Now you trying to make a forest similar to arena, except for the scenery  ::)

It's so dissimilar in my mind that I find it very hard to comment on this... It's like saying that Spain and Somalia are similar except for a couple of minor "issues" while having a discussion about where to go on vacation... both have beaches, people, maybe even food?
Title: Re: General Discussion
Post by: DarkTl on July 18, 2013, 04:11:41 PM
There are plenty of great games where returning to safety is a given from any place/dungeon/location.
I'm failing to recall decent non real time games in which you can instantly and for free return to home base from any dangerous location. At best you need an item in inventory (not the cheapest one btw) or enough mp for a spell (if you have a character knowing such spell).

That is one of the possibilities for Arena and bit different from what I proposed.

Yeah, I know you proposed another concept, I'm talking about arenas from other games. For example, your forest concept is very similar to arena from Darksiders 2. But it's a slasher, you don't have time to get bored during multiple dangerous battles there, you will die instantly.

we were talking about basic exploration in the forest, not a dungeon

Um, it is a matter of terminology. I call it dungeon because you fight mobs and search for items there. Like in any actual game dungeon.
Title: Re: General Discussion
Post by: Xela on July 18, 2013, 04:37:49 PM
I'm failing to recall decent non real time games in which you can instantly and for free return to home base from any dangerous location. At best you need an item in inventory (not the cheapest one btw) or enough mp for a spell (if you have a character knowing such spell).

SlaveMaker, Original OW release, Fan Fantasy or any RPG maker game that depends on collision with visible enemies + PytFall is "half" real time if traveling doesn't require AP :)

Yeah, I know you proposed another concept, I'm talking about arenas from other games. For example, your forest concept is very similar to arena from Darksiders 2. But it's a slasher, you don't have time to get bored during multiple dangerous battles there, you will die instantly.

Well, the whole BE before 1.0 thing is still open for the debate so there we go :) Roman released new Alkion into chatroom tonight with basic alchemy, I am going to try out what's that's like. All and all, the forest system I proposed for 1.0 is interesting, engaging and offers a bunch of quests possibilities that Arena is not capable of providing so it is definitely an option at this point. I am planning to spend the whole day tomorrow coding for PyTFall/Testing/Reading new Alkions code cause I've been putting off project time for a while now... so if all goes well, I want a decent amount of brothel control functionality be ready by tomorrow evening and then I can start putting together some content for forest to figure out how that feels/plays in real time.

Um, it is a matter of terminology. I call it dungeon because you fight mobs and search for items there. Like in any actual game dungeon.

I already found a bloody excellent random dungeons generation script we can use almost through copy/paste, but it's introduction into the game is premature... lets 1.0 be about brothel sim with some bait for what's to come in the future :)
Title: Re: General Discussion
Post by: DarkTl on July 18, 2013, 05:17:17 PM
Well, Kamidori is built on alchemy, about 90% of items could be only created, not found. I'm not against the same concept.
There are even rare components that could be found once or twice per game (but the game has infinite NG+, and you can carry over them).
Title: Re: General Discussion
Post by: Xela on July 18, 2013, 05:56:05 PM
Well, Kamidori is built on alchemy, about 90% of items could be only created, not found. I'm not against the same concept.
There are even rare components that could be found once or twice per game (but the game has infinite NG+, and you can carry over them).

Alchemy is easy to code and is very rewarding, designing items from ingredients is a lot harder and more time consuming than writing the base code (same as with items themselves I guess). While it fits into Alkions concept perfectly, I can't tell if we need it before 1.0 in PyTfall or not (Prolly not in my mind)... NG+ in itself is very easy to code using RenPy.
Title: Re: General Discussion
Post by: DarkTl on July 18, 2013, 06:42:51 PM
Items were dictated by available good icons. I believe reagents, as almost any plant, gem, stone, etc., will have no lack of icons, and they probably don't need descriptions as well. So the balance is the only problem, providing that we come up with interesting, suitable concept of alchemy (I recall at least 6 various ones from different games).
Title: Re: General Discussion
Post by: DarkTl on July 19, 2013, 08:26:25 AM
forest system I proposed for 1.0 is interesting, engaging and offers a bunch of quests possibilities that Arena is not capable of providing
As long as you don't expect me to write dialogues for those quests  :)

That's all, I'm unable to find any more decent forest related pics, unless we agree to use pics of real forests. I guess I'll start to create a couple of unique-based fairies now.
Title: Re: General Discussion
Post by: Xela on July 19, 2013, 08:29:56 AM
Ok, I'll start working on clearing TODO list as planned.

=============================================================
Edit:
Didn't get as much done as I've planned for today but RL crap kept getting in the way. Most screen/gui logic for girl control is ready, actual effects should be ready tomorrow.
Title: Re: General Discussion
Post by: DarkTl on July 20, 2013, 07:18:21 AM
After creating another rmg I decided that I might as well create full SAO pack, and encountered a problem. At least one character, while having about 150 decent pics, doesn't have suitable pic for battle sprite, probably because she never participated in real battles. I expect more such characters in the future, so I propose check on presence of battle sprite, and in its absence character cannot be used in BE.
Or I could create "battle sprite" based on something like this (https://dl.dropboxusercontent.com/u/79429937/profile%20%2846%29.jpg).
Title: Re: General Discussion
Post by: Xela on July 20, 2013, 07:36:16 AM
After creating another rmg I decided that I might as well create full SAO pack, and encountered a problem. At least one character, while having about 150 decent pics, doesn't have suitable pic for battle sprite, probably because she never participated in real battles. I expect more such characters in the future, so I propose check on presence of battle sprite, and in its absence character cannot be used in BE.
Or I could create "battle sprite" based on something like this (https://dl.dropboxusercontent.com/u/79429937/profile%20%2846%29.jpg).

It is prolly still to early to make new packs as we haven't locked all categories/tags/concept for 1.0. I don't know how to address this problem right now, we have some options:

- default black silhouette as battle-sprite for girl that have none
- make sure that some classes/girls can never find themselves in a position of being used in BE
- throw an error of a girl not having a battle-sprite
- simply not use girls without battle-sprites in the game

I can't tell what's the best approach is right now, things like that will become clearer as we start working on texts/content.
Title: Re: General Discussion
Post by: DarkTl on July 20, 2013, 07:57:49 AM
It is prolly still to early to make new packs as we haven't locked all categories/tags/concept
I was bored  :)
And, like I said before, no matter how we change categories/tags/concept, my packs already have all available good pics, and there is nothing we can do about it.

I see two solutions: either only warriors could be used in BE, and characters without battle sprite can never become warriors, or we'll use them as npcs, just like any other characters that don't have enough pics to fill all main categories.
Title: Re: General Discussion
Post by: rudistoned on July 20, 2013, 03:57:56 PM
Many games go with generic pics (meaning pics that don't show the head/face) to fill in missing parts in a characters image portfolio.
Title: Re: General Discussion
Post by: Xela on July 20, 2013, 04:07:12 PM
Many games go with generic pics (meaning pics that don't show the head/face) to fill in missing parts in a characters image portfolio.

Yeap, I've suggested that as well:

Quote
- default black silhouette as battle-sprite for girl that have none
Title: Re: General Discussion
Post by: DarkTl on July 20, 2013, 04:36:34 PM
Jeez, imagine the whole party of identical black silhouettes except for MC. They definitely will be identical, if a girl has a good pic for making a decent battle silhouette, this pic might as well be used for battle sprite.
Add it if you must, but I will not use such characters in BE anyway  :D

 
Title: Re: General Discussion
Post by: Xela on July 27, 2013, 08:28:51 AM
LoL I wonder how wasted I've been when I wrote this code:

Code: [Select]
            for entry in item.removeskills:
                if entry in self.mskills:
                    if entry not in self.mskills:
                        self.mskills.append(entry)


DB is upgraded, new effects and activation on traits and items should work. There is no tracking system right now so if effects that has been activated with trait is removed by an item, trait remains and effects dies off. We can fix this later when there is a solid list of traits that activate effects or I'll have to add yet another tracking layer :( Obviously we can just leave everything as it is as well.
Title: Re: General Discussion
Post by: DarkTl on July 27, 2013, 12:40:51 PM
if entry in self.mskills:
   if entry not in self.mskills:
Well done  :D

I guess only poison should be removeable so far. There probably will be much more battle-related effects in the future, but I don't see any reason to remove effects that go with traits only.
As long as effect removes when its trait removes, of course.
Title: Re: General Discussion
Post by: Xela on July 27, 2013, 01:36:25 PM
Well done  :D

Thanks  ::)

I'll have to do an overhaul of the game at some point...


I guess only poison should be removeable so far. There probably will be much more battle-related effects in the future, but I don't see any reason to remove effects that go with traits only.
As long as effect removes when its trait removes, of course.

That's one way of doing things.

I am going to see if I can put in some time into MC profile screen now.
Title: Re: General Discussion
Post by: Xela on July 27, 2013, 04:34:57 PM
Done with coding for tonight, beginnings of MC screen:


  (http://img283.imagevenue.com/loc569/th_957365926_7_27_201311_34_52PM_123_569lo.jpg) (http://img283.imagevenue.com/img.php?image=957365926_7_27_201311_34_52PM_123_569lo.jpg)
     
Title: Re: General Discussion
Post by: Xela on July 28, 2013, 05:22:02 PM
Oki, done with Extrovert effect and made some progress on hero screen (coding this one from scratch trying out some new techniques so it's taking a while but the experience gained will come VERY useful when I get to rewriting girlsmeets code).

Items info frame will display only stats/effects that can be applied to the MC.

Edit: Inventory window slides from out of screen bounds btw, loops fairly amusing :)


(http://img16.imageshack.us/img16/2531/zxfw.jpg) (http://imageshack.us/photo/my-images/16/zxfw.jpg/)
Title: Re: General Discussion
Post by: DarkTl on July 28, 2013, 05:42:58 PM
I don't see charisma, joy and general sex stats.
Title: Re: General Discussion
Post by: Xela on July 28, 2013, 05:54:11 PM
I don't see charisma, joy and general sex stats.

General sex and charisma I forgot to add to the class but joy is not required for MC before 1.0. I am actually considering removing fatigue/libido as well. We have enough stats to worry about with girl characters as it is, making more stats than required for MC is a really bad idea.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2013, 06:23:41 PM
What's the difference between Reputation and Fame? If you want to remove something, how about one of them?
Title: Re: General Discussion
Post by: Xela on July 28, 2013, 06:30:31 PM
What's the difference between Reputation and Fame? If you want to remove something, how about one of them?

Yeap, we could keep one. Reputation should be for court and professionals while fame for common folk and arena but we can definitely drop one, especially before 1.0.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2013, 06:38:26 PM
I believe arena will be much sooner than court.
Title: Re: General Discussion
Post by: Xela on July 29, 2013, 12:42:55 AM
I believe arena will be much sooner than court.

Who knows... You can set up some beginnings of court by simply adding a location with one or two NPCs, Arena should at the very least start with a betting system as well as location and NPC.

We'll live and see.

I am going to have a busy week so tonight I should wrap up any trait/effects related code tonight (large scale I mean, small things I will be able to fix any day). Is there something big left to do?
Title: Re: General Discussion
Post by: DarkTl on July 29, 2013, 05:18:42 AM
Is there something big left to do?
http://pinkpetal.org/index.php?topic=1759.msg21726#msg21726
Title: Re: General Discussion
Post by: Xela on July 29, 2013, 12:09:23 PM
Hero profile screen gui mockup is almost ready:

Ring slots are in :)

Now general sex stat ('sex') and I want to try sorting items during paging on basis of sex (unisex/male) but I am not yet sure how difficult that would be.
Title: Re: General Discussion
Post by: Xela on July 29, 2013, 12:50:36 PM
'sex' conversion from normal sex, anal and blowjob is ready as well as 'male' items only filter.  I'll test and dropbox the whole thing soon.

//Edit: DB version has been updated! Screen is really basic, just for testing, at this point I don't even bother replacing Solid frames since we have a whole tenth of version for screen design.


Looks like this at the moment:

(http://img836.imageshack.us/img836/8898/f6v4.jpg) (http://imageshack.us/photo/my-images/836/f6v4.jpg/)
Title: Re: General Discussion
Post by: Xela on July 30, 2013, 05:47:44 PM
Ok... done for the night. Fixed a lot of bugs (Thanks to Dark for hunting) and wrote some beginnings of logic for encounters (didn't get very far).
Title: Re: General Discussion
Post by: dmac42 on July 30, 2013, 09:34:09 PM
I noticed that their is no communication stat for the MC. Won't he needed it for the girlsmeets events? Maybe instead of creating a communication stat it could be a derivative of reputation and charisma. (maybe include intelligence and fatigue)
Title: Re: General Discussion
Post by: Xela on July 31, 2013, 01:42:48 AM
I noticed that their is no communication stat for the MC. Won't he needed it for the girlsmeets events? Maybe instead of creating a communication stat it could be a derivative of reputation and charisma. (maybe include intelligence and fatigue)

You mean like "speechcraft"?  I figure we could do without, especially for 1.0 but writing a function to get derivative from other stats is an option. Making to many stats or even derivatives will slow us down a bit, even for 1.0 there will be a lot of factors to make things interesting like simple tracking class to place all girls on phantom jobs with income, housing and maybe some other factors that will determine disposition required for her to join up with you. There will also be options to hire warriors to join up with your party without them officially working for you.

In any case, we don't have mercantile stat but have shops so we should be fine without speechcraft for now as well :)
Title: Re: General Discussion
Post by: DarkTl on July 31, 2013, 05:39:42 AM
For trading I'd prefer to use SM3 approach, ie multileveled trait for MC, either from skill tree or after some special quests.
Not sure if we need speechcraft, but it could either be a secondary stat or another multileveled trait.
Title: Re: General Discussion
Post by: Xela on July 31, 2013, 11:42:47 AM
For trading I'd prefer to use SM3 approach, ie multileveled trait for MC, either from skill tree or after some special quests.
Not sure if we need speechcraft, but it could either be a secondary stat or another multileveled trait.

We'll see, I cannot tell what the best approach will be...
Title: Re: General Discussion
Post by: dmac42 on July 31, 2013, 10:44:26 PM
I wasn't really arguing for a speechcraft skill. I was asking if you were going to have the player invest resources into stats for finding and hiring girls from around town. Either answer is acceptable, and any that save time in programming is better for us waiting on the game.
Title: Re: General Discussion
Post by: Xela on August 01, 2013, 01:14:53 AM
I wasn't really arguing for a speechcraft skill. I was asking if you were going to have the player invest resources into stats for finding and hiring girls from around town. Either answer is acceptable, and any that save time in programming is better for us waiting on the game.

So you're asking if talking to girls will raise MCs stats? Or I still can't understand the question?
Title: Re: General Discussion
Post by: DarkTl on August 01, 2013, 04:52:06 AM
I believe dmac asking if girls will have stats requirements that MC must meet before he will be able to hire them.

I can tell that eventually girls with the best stats will be mostly in remote, dangerous locations - when we'll have more than enough locations, ie most likely after 1.0. As for requirements, that's an interesting idea (that's why MC needs charisma, after all), but I don't care either way.
Title: Re: General Discussion
Post by: Xela on August 01, 2013, 05:45:35 AM
I believe dmac asking if girls will have stats requirements that MC must meet before he will be able to hire them.

I can tell that eventually girls with the best stats will be mostly in remote, dangerous locations - when we'll have more than enough locations, ie most likely after 1.0. As for requirements, that's an interesting idea (that's why MC needs charisma, after all), but I don't care either way.

I would be against that for random/generic scripts and it depends on where we go with game design, I had a couple of ideas on where to take the game in the future but it's to early to even discuss that (if we start, we'll spend more time figuring that out than developing the game).

However, we should code a couple of unique girls at some point as an example of what's possible.
Title: Re: General Discussion
Post by: dmac42 on August 02, 2013, 01:21:24 AM
Yes what DarkTl said. I understand that it is a lot of work, but I was so disappointed with Sibr1x's girlmeet. It felt like they were all  the same girl, but this would add a little something special without having to program every girl. I agree this is a post 1.0 project.
Title: Re: General Discussion
Post by: Xela on August 02, 2013, 02:42:39 AM
Yes what DarkTl said. I understand that it is a lot of work, but I was so disappointed with Sibr1x's girlmeet. It felt like they were all  the same girl, but this would add a little something special without having to program every girl. I agree this is a post 1.0 project.

As I've said, every girl will have a place of work, income housing and those will determine a disposition required for her to agree to start working (like a captain of city guard would require a 900 disposition before joining your party while some homeless, unemployed girl might agree on -300 disposition). Also there will be trait checks so system is bound to be more interesting than SimBro 1X. On the other hand, even in great games like Elder Scrolls default dialogues get old fairly quickly. I like the format of SimBro 1X, but we may do something different (like opening new dialogue options, depend some of the chat on class and allow for events) but still, the main advantage should be fully customizable unique girls, not some overcomplicated default system.
Title: Re: General Discussion
Post by: Xela on August 02, 2013, 01:18:26 PM
Well, the good news is that rl plans got cancelled and this weekend I will be able to put 5/6 hours per day into the project :)


Title: Re: General Discussion
Post by: Romanul on August 04, 2013, 08:29:15 AM
Have you thought about crowed funding? A few "niche" games such as this one got funded. For example: http://offbeatr.com/project/roundscape-adorevia-13608498081


There was also Fenoxo's game that was funded with an insane amount (for this kind of games) but he's got a reputation.

Title: Re: General Discussion
Post by: Xela on August 04, 2013, 09:27:29 AM
Have you thought about crowed funding? A few "niche" games such as this one got funded. For example: http://offbeatr.com/project/roundscape-adorevia-13608498081 (http://offbeatr.com/project/roundscape-adorevia-13608498081)


There was also Fenoxo's game that was funded with an insane amount (for this kind of games) but he's got a reputation.

Thought, yes. But I've decided against it for a number of reasons. Maybe at some point in distant future or with a different game but now it's both to early and to inconvenient (not to mention that we shamelessly rip off a lot of content and ideas at the moment :) )
Title: Re: General Discussion
Post by: DarkTl on August 04, 2013, 09:36:22 AM
Even girls packs themselves could be problematic if this project will become commercial. All those artists will demand their share.
Title: Re: General Discussion
Post by: Xela on August 04, 2013, 03:54:51 PM
Didn't get very far today I am afraid :( But I've added some logic and colors for bars:


(http://img14.imageshack.us/img14/4249/nkss.jpg) (http://imageshack.us/photo/my-images/14/nkss.jpg/)


Combat working fairly well right now, tiles are next but I can start working on that Thursday.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2013, 09:26:11 AM
I think fatigue bar should be inverted, ie full with 0 fatigue and vice versa. It's kinda confusing when similar bars work differently.
Title: Re: General Discussion
Post by: Xela on August 05, 2013, 12:56:10 PM
I think fatigue bar should be inverted, ie full with 0 fatigue and vice versa. It's kinda confusing when similar bars work differently.

Not an issue, we'll try it both ways.

What do you think alpha release should include? It's kinda of a large topic. It's very unlikely that I will get a lot done this week but there should be time next week and a week after that, maybe it would be possible to wrap up some system, put in some basic girlsmeets and interactions and release a semi-playable game?
Title: Re: General Discussion
Post by: DarkTl on August 05, 2013, 01:35:44 PM
We still don't have a balance of any kind. I mean, we don't even have a poor balance, all values are pretty much random, this is our biggest issue.
And, like I said before, some traits have changed, so all checks during jobs should be updated.
After that I guess we could try to release alpha.
Title: Re: General Discussion
Post by: Xela on August 05, 2013, 01:54:05 PM
We still don't have a balance of any kind. I mean, we don't even have a poor balance, all values are pretty much random, this is our biggest issue.
And, like I said before, some traits have changed, so all checks during jobs should be updated.
After that I guess we could try to release alpha.

So:

- Balance
- Couple of quests (4-5)
- Base Girlsmeets/Interaction
- Single map for exploration/combat
- Adapting jobs code to the realities of new traits.

Anything else?
Title: Re: General Discussion
Post by: DarkTl on August 05, 2013, 01:59:49 PM
Nope. Maybe except for packs, right now I have 40 unique and 11 random girls. Plus Cherry girls, not sure how many he has now.
Is it enough for alpha?
Title: Re: General Discussion
Post by: Xela on August 05, 2013, 02:03:11 PM
Nope. Maybe except for packs, right now I have 40 unique and 11 random girls. Plus Cherry girls, not sure how many he has now.
Is it enough for alpha?

1 random girl would be enough for Alpha :)
Title: Re: General Discussion
Post by: DarkTl on August 05, 2013, 02:17:51 PM
That would be the most boring alpha ever  :D

One more thing, should I define all effects for traits by myself in their xml, or you will hardcode them?
Title: Re: General Discussion
Post by: Xela on August 05, 2013, 03:45:11 PM
One more thing, should I define all effects for traits by myself in their xml, or you will hardcode them?

I don't quite follow, there is add/remove effect field in trait design that should work.

That would be the most boring alpha ever  :D

LoL, yeah, it would :)
Title: Re: General Discussion
Post by: DarkTl on August 05, 2013, 03:49:17 PM
Well, a couple traits will have the same effect. I just hope it won't be a problem for the game engine.
Title: Re: General Discussion
Post by: Xela on August 05, 2013, 11:52:22 PM
Well, a couple traits will have the same effect. I just hope it won't be a problem for the game engine.

It will not cause problems but it might cause issues, after you are done with effects, I'll simply need a list from you or I can get one from the game and add checks to activation/disabling those effects.
Title: Re: General Discussion
Post by: CherryWood on August 07, 2013, 04:38:45 PM
Nope. Maybe except for packs, right now I have 40 unique and 11 random girls. Plus Cherry girls, not sure how many he has now.
Is it enough for alpha?
19(+3) unique girls (I'm not interested in random ones) that could be ready in about 3-4 days that I would need for updates and revisions.  Now I'm working on haruhi pack (7 girls) and I'm expecting it will take me about 3 weeks to complete.
Title: Re: General Discussion
Post by: Xela on August 08, 2013, 02:57:09 AM
19(+3) unique girls (I'm not interested in random ones) that could be ready in about 3-4 days that I would need for updates and revisions.  Now I'm working on haruhi pack (7 girls) and I'm expecting it will take me about 3 weeks to complete.

Kewl, I figure that it is more than enough characters for an Alpha :)
Title: Re: General Discussion
Post by: rudistoned on August 21, 2013, 06:58:39 AM
Hey guys, what's going on?
Title: Re: General Discussion
Post by: DarkTl on August 21, 2013, 07:33:16 AM
Sorry, I'm away from unlimited internet these days. I'll be back in September.
Title: Re: General Discussion
Post by: CherryWood on August 21, 2013, 07:52:50 AM
I was downloading pics for Haruhi pack this week, but because it's more than 60k images to check, I'm still not done with it.
And I was also looking for background picture for docks that we could use for dates, but without any luck  :(


...nothing much else, I'm kind of lazy these days  :) 
Title: Re: General Discussion
Post by: Xela on August 22, 2013, 07:41:04 AM
I am down with an illness.  :-[

Forums do not me post from a handheld I got in the hospital. Only only 1 out of 10 requests gets throught. I should be back next week.
Title: Re: General Discussion
Post by: rudistoned on August 22, 2013, 02:12:10 PM
@DarkTI
See you in September. Have fun  :)




@CherryWood
60k  ???
Yes, I suppose that takes a while  :D




@Xela
I'm sorry to hear that. Get well soon! We'll be here when you return.
Title: Re: General Discussion
Post by: Xela on August 26, 2013, 12:20:20 PM
@Xela
I'm sorry to hear that. Get well soon! We'll be here when you return.

Thanks, they should release me this Saturday. I am getting sick of being sick :)
Title: Re: General Discussion
Post by: Xela on August 31, 2013, 04:57:08 AM
Hello everyone, I am back  :)

Still not 100% but back...

I did manage to do a bit of rudimentary work on the project as well, most of it is code (I went with how I felt and the most mundane and boring task in PyTFall was improving the code to new realities...)

So, new stuff:

- Old/Slow resize_image() function has been replaced with a much faster ProportionScale() class.
- Old Alkion's image tracking system (file name based) has been completely removed from the game.
- img/fixedimg methods of Girl's class that drew images from that system are now also gone so only the new show() method is left (it uses Rudi's tagging system). New k/w argument (cache) has been added to that method to replace fixedimg() and if set to true, allows show() to be used on renpy screens language directly.
- BE bridge has been improved, nowhere near done yet but code has advanced a bit and I have better idea on how to improve it further.
- School's list out of range bug has been tracked and fixed (appeared after refactoring School to Job couple of month back).
- Load of bugs removed that were there or appeared due to resize_image()/show() method refactoring (and when I say loads I mean LOADS :) ) In fact, I went over my version of the game and failed to find one crashing element.
- Few interactions/girlsmeets/events that we have, also been updated with new code and debugged.
- Whore ranks code has been slightly improved.
- Two small interface improvements:

1) School courses
2) Brothel advertising (did not really deserve a label/screen combo of it's own)


(http://img206.imagevenue.com/loc186/th_936955504_31_08_201311_09_55_123_186lo.jpg) (http://img206.imagevenue.com/img.php?image=936955504_31_08_201311_09_55_123_186lo.jpg) (http://img286.imagevenue.com/loc556/th_936959172_31_08_201311_11_27_123_556lo.jpg) (http://img286.imagevenue.com/img.php?image=936959172_31_08_201311_11_27_123_556lo.jpg)
     
Title: Re: General Discussion
Post by: Xela on August 31, 2013, 07:03:43 AM
@CW

Thanks (Don't know what happened to your post).

To answer your question:

Code: [Select]
$renpy.show('chr',what=chr.img('datebeach',resize=(700,600)), at_list= [Position(ypos = 0.77)])
Simply has to be replaced with:

Code: [Select]
$renpy.show('chr', what=chr.show('datebeach', resize=(700,600)), at_list=[Position(ypos=0.77)])
and it should work as before :)

==============
I've updated DB version with new codebase.
Title: Re: General Discussion
Post by: CherryWood on August 31, 2013, 08:15:13 AM
Thanks!


May I ask you about your idea about dates?
I'm trying to work on beach date interaction a little (as a break from girlpacks). I started with adding a few more locations and actions (swimming, walking, cafe, renting a boat...) but these are still mostly just bg with some common text with no real gameplay value. I'll try to add at least some variation/logic into it, but I don't really have any solid concept to follow. So I wanted to ask:


What do you think could make dates interesting?
And more importantly, what purpose they should actually have game-wise?
Title: Re: General Discussion
Post by: Xela on August 31, 2013, 08:43:41 AM
What do you think could make dates interesting?

Loads of stuff (coding difficulty would depend on each case).

- Minigames (very hard)
- Random events of all sorts (meeting NPCs, random people, battles, funny, sad, theme related and so on) (easy to medium)
- End Result based on choices (easy)
- Stat Mods (easy)
- Unlocking new game elements (medium, depends on the element unlocked)
- In case of unique girls, background based questions minigame (easy (or will be easy in the future))
- Personal questions even in case of random dates but game is not ready for that yet (easy to add but no concept has been written or even discussed).

More I expect, it's a matter of design.

And more importantly, what purpose they should actually have game-wise?

That is a lot harder to answer because we have not addressed relationships as a concept yet. In my mind, dates is something that would allow disposition to be increased to a higher levels, meaning that for example, if player wants to get a character predisposed to lets say above 500 (1000 is the max), they would have to date successfully at least once.

Basically, any code you write for the dates now will not be forgotten. We can always add more stuff/mods to it later.
Title: Re: General Discussion
Post by: DarkTl on August 31, 2013, 03:59:07 PM
I believe successful date could depend on girl's character (=traits) and current mood, and how much MC actions match them. Remember when we talked about stats long ago, I proposed "in a mood for" idea?
Title: Re: General Discussion
Post by: Xela on August 31, 2013, 04:09:30 PM
I believe successful date could depend on girl's character (=traits) and current mood, and how much MC actions match them. Remember when we talked about stats long ago, I proposed "in a mood for" idea?

Sounds a bit complicated... I wanted each girl to have own preferences and likes/dislikes as well, mood might be a good thing too but logic to govern all that seems like exactly the thing that we ca add at later point of development.
Title: Re: General Discussion
Post by: Xela on September 01, 2013, 06:02:49 AM
Small DB update:

Two new buttons have been added to the main menu:

Build Normal
Build Random

Those will build json image tag files based on file names so new girls can be added to the game by anyone.

Also I've debugged Dark's random girls (took me about two hours).

- There is a fail-proof JSON validation site: http://jsonlint.com/ Any file can be tested there.
- Many traits were out of date.

I've also added new field to gamelog that logs loading every JSON random girl datafile because game does not specify the file in errors and debugging is otherwise a nightmare. If you have issues with JSON RG datafiles, look at the last entry in the devlog.txt before the game crashes and use validation site above to check it. Missing traits are otherwise reported really well with my custom ingame error message, there was just a whole bunch of those.

Note 2 Dark: Couple of files are missing, slime girl and an elf I think.
Title: Re: General Discussion
Post by: CherryWood on September 01, 2013, 07:47:58 AM
@Xela  you mentioned this on other topic
Quote
...While you work on the exploration, I can start putting some girlmeets texts that CW found into the game.
You want to do that all by yourself? I was expecting more that you'll just do some basics (or that we discuss a concept for that) and then explain to us how to add supplementary lines like these so I (or anyone else) could do it.


 Also, It's a quite long time since I ripped these texts so they're not updated and I'm sure I would do it a bit differently now
Title: Re: General Discussion
Post by: DarkTl on September 01, 2013, 09:07:22 AM
Those will build json image tag files based on file names so new girls can be added to the game by anyone.
Cool, I'll test it.

Note 2 Dark: Couple of files are missing, slime girl and an elf I think.
Ah yes, I was distracted by traits and items polishing so I forgot about them.
I'll update all jsons and xmls to new traits system as soon as I can.
Title: Re: General Discussion
Post by: Xela on September 01, 2013, 10:33:14 AM
@Xela  you mentioned this on other topicYou want to do that all by yourself? I was expecting more that you'll just do some basics (or that we discuss a concept for that) and then explain to us how to add supplementary lines like these so I (or anyone else) could do it.


 Also, It's a quite long time since I ripped these texts so they're not updated and I'm sure I would do it a bit differently now

Oh, ok, I thought you gave up on that. Actually the system works now and it works quite well, so any work you do on girlsmeets will be useful. I'll start writing new codebase for girlsmeets today to replace clumsy old version with a proper management class.

Ah yes, I was distracted by traits and items polishing so I forgot about them.
I'll update all jsons and xmls to new traits system as soon as I can.

I have xml files with older traits removed if you want them (debugged those some time ago as well). RG JSONs are in fixed folder.
Title: Re: General Discussion
Post by: Xela on September 01, 2013, 04:10:46 PM
Well, I am far from 100% yet but I did manage to recode girlsmeets today into a class, improving things in the process.

I'll see if I can improve it further tomorrow.
Title: Re: General Discussion
Post by: CherryWood on September 01, 2013, 04:50:58 PM

Oh, ok, I thought you gave up on that. Actually the system works now and it works quite well, so any work you do on girlsmeets will be useful. I'll start writing new codebase for girlsmeets today to replace clumsy old version with a proper management class.

Yes, I gave up on making concept, writing logic, managing disposition and... pretty much everything else about it.
I can only offer that I will look through lines I have (and maybe get or write new) and try to add them under relevant places and conditions (like traits) in girlmeets, IF you can make an example for me how to do that. (I'm sorry that I can't do that myself) It's not much, but I still think it could save you some time.
Title: Re: General Discussion
Post by: Xela on September 01, 2013, 05:16:00 PM
Yes, I gave up on making concept, writing logic, managing disposition and... pretty much everything else about it.
I can only offer that I will look through lines I have (and maybe get or write new) and try to add them under relevant places and conditions (like traits) in girlmeets, IF you can make an example for me how to do that. (I'm sorry that I can't do that myself) It's not much, but I still think it could save you some time.

Oki, I'll have to wrap up couple of things first, than you can start putting in some girlsmeets as well :)
Title: Re: General Discussion
Post by: SciAnon on September 03, 2013, 09:15:46 AM
I would also like to offer some of my time to help this project. I'm most likely to be able to either find images for you or proofread text for you, as those as my strongest skills. I could potentially attempt some writing for you, but I fear that it would be far less that useful :P

Even if I'm unneeded, good luck and I look forward to seeing how this project develops :)
Title: Re: General Discussion
Post by: Xela on September 03, 2013, 10:00:59 AM
I would also like to offer some of my time to help this project. I'm most likely to be able to either find images for you or proofread text for you, as those as my strongest skills. I could potentially attempt some writing for you, but I fear that it would be far less that useful :P

Even if I'm unneeded, good luck and I look forward to seeing how this project develops :)

Hello :)

Writing would be good, get DB, you can use this reference if you don't have an account with them already: http://db.tt/n73tZzn9, we'll both get 500mb free space. Then PM me your id/email and I'll add you to shared folder. You'll have to see if you can get your bearings in the project and if you can find some place where you'd feel comfortable with contributing.
Title: Re: General Discussion
Post by: Xela on September 03, 2013, 12:37:55 PM
@ CW

I've updated GirlsMeets code to a point where I am happy with it. Everything is now in one class, clean and readable. It can and will be further improved but we'll have to see what will be required of it in the future first.

The thing is that nothing has really changed as far as labels themselves are concerned... so you'll have to tell me exactly what you need to start writing girlsmeets by yourself. Right now system already supports unique girlsmeets for unique girls and default girlsmeets for every character.

Game will first try to jump to a label called: gm_interact_interests_[character id] as it is specified in xml file, for example ('gm_interact_interests_Hinata') would be such a label for Hinata from Naruto. If that does not exist, default choice of 'gm_interact_interests' will be used.

By default, the following character are used:

Code: [Select]
        chr_gm = Character(chr.name, color="#c8ffc8")
        player_gm = Character(hero.name, color="#c8ffc8")
        nvl_gm = Character(None, kind=nvl)

But you can specify something different if you're more comfortable with that. Otherwise, rest of the rules is about the same as any other RenPy label.

You can use this line of code to jump to the place you originally came from if you changed background in the process of girlmeet:
Code: [Select]
        $jump(pytfall.gm.label_cache)
Otherwise, chr.disposition += 100 or hero.attack -= 5 and similar commands will modify stats. Ask me how if you wish to do something more difficult.
Title: Re: General Discussion
Post by: DarkTl on September 03, 2013, 01:02:07 PM
Xela, what is the minimum level of initial joy which is safe for using in xml/json? You mentioned girls will leave with low joy, so...
On the other hand, maybe we should give to players 1-2 weeks to improve the situation, since it's not player's fault in the first place.
Title: Re: General Discussion
Post by: Xela on September 03, 2013, 01:17:51 PM
Xela, what is the minimum level of initial joy which is safe for using in xml/json? You mentioned girls will leave with low joy, so...
On the other hand, maybe we should give to players 1-2 weeks to improve the situation, since it's not player's fault in the first place.

0.8*max? I don't want joy to be a problem off the bat either. Right now, unbalanced as it is, every free girl (only free girls may leave) has a wage that she expects to be paid to her. The very best scenario with very good disposition and joy bonuses is if she is working off fixed percentage and is getting what she feels she deserves or more. Simpler way is to enable "pay fixed wage" option with slightly smaller bonuses (as she will feel less as a part of the team). But there will also be an option under interactions to give girls monetary bonuses to raise joy/disposition (depending on ratio of a bonus vs their personal wage).
Title: Re: General Discussion
Post by: DarkTl on September 03, 2013, 05:07:41 PM
I think we should give at least a couple of days or even a week before a girl will run away if you just hired her. Unless MC beats/rapes her or something.

Or we should exclude joy string from xml/json at all. If you actually cannot set joy more or less freely, it doesn't make sense anyway.
Title: Re: General Discussion
Post by: Xela on September 03, 2013, 05:11:44 PM
I think we should give at least a couple of days or even a week before a girl will run away if you just hired her. Unless MC beats/rapes her or something.

Or we should exclude joy string from xml/json at all. If you actually cannot set joy more or less freely, it doesn't make sense anyway.

I think we have a subversion set aside for stuff like that. Setting up some period of adaptation is a good idea that can be expanded even further, I like it.

Edit: Also, all stat will have defaults and there will be normalization methods in place. It's very easy to do, I am just still not sure about the proper acceptable ranges for stats.

Otherwise, I've expanded girlsmeets to main street as well now.
Title: Re: General Discussion
Post by: CherryWood on September 04, 2013, 10:10:07 AM
@ Xela
Yup, there is something:

I would like to combine lines from more then one condition. For example, in interest label, if a girl is warrior and lesbian, to have a chance to display lines from both selections as answer.

Also I would like to add "hello" line to display at the begining, where to put it?


And one more thing, game refuses to start without Rgirls, can I fix this or at least remove Rgirls from girlmeets somehow?
Title: Re: General Discussion
Post by: Xela on September 04, 2013, 10:53:52 AM
I would like to combine lines from more then one condition. For example, in interest label, if a girl is warrior and lesbian, to have a chance to display lines from both selections as answer.

Try something like this:

Code: [Select]
    if chr.occupation == 'Warrior' and "Lesbian" in chr.traits:
        $chr_gm(random.choice(["Warrior Text", "Lesbian Text", "Mixed text?"]))

Also I would like to add "hello" line to display at the begining, where to put it?

That falls on to me, if you just use hello before you can start interaction, choices menu will be blocked. So I'll either have to code in a text window that does not block that menu and throw a greeting text (Hello/Hi/Hey at first, Hi again and so on after you've met the girl) or go with something more elegant like a bubble speech box for the greeting. Don't worry about that for now, there are plenty workarounds.

And one more thing, game refuses to start without Rgirls, can I fix this or at least remove Rgirls from girlmeets somehow

I was not aware of that. It should be really easy to fix, give me a sec to remove random girls from my version to see what's causing that, I'll update DB code with a fix soon.

Edit:
And it's fixed, I've programmed the game so it could be played without random girls, it was as simple as replacing
Code: [Select]
content = None with
Code: [Select]
content = {} in function. Make sure rchars folder is there even if it's empty as I am not sure if that will cause an issue. Otherwise game will load without rgirls.
Title: Re: General Discussion
Post by: CherryWood on September 04, 2013, 12:12:27 PM

Try something like this:

Code: [Select]
    if chr.occupation == 'Warrior' and "Lesbian" in chr.traits:
        $chr_gm(random.choice(["Warrior Text", "Lesbian Text", "Mixed text?"]))

I was thinking about something that would randomly select one from these conditions before selecting actual line. Like, it there are (Warrior, Lesbian, Retarded) forks, for girl that is Warrior and Lesbian, it would be 50% chance for warrior line and 50% chance for lesbian line. For girl that have all of these, 33% for each option. Or anything else that would allow something like that. (Maybe checking all and adding them to list?...I don't really know)


Quote
That falls on to me, if you just use hello before you can start interaction, choices menu will be blocked. So I'll either have to code in a text window that does not block that menu and throw a greeting text (Hello/Hi/Hey at first, Hi again and so on after you've met the girl) or go with something more elegant like a bubble speech box for the greeting. Don't worry about that for now, there are plenty workarounds.
Ok, I'll leave that for later.
And thanks for Rgirls, it was a little hard to find my testing girl with all those elves around :)
Title: Re: General Discussion
Post by: Xela on September 04, 2013, 01:05:31 PM
I was thinking about something that would randomly select one from these conditions before selecting actual line. Like, it there are (Warrior, Lesbian, Retarded) forks, for girl that is Warrior and Lesbian, it would be 50% chance for warrior line and 50% chance for lesbian line. For girl that have all of these, 33% for each option. Or anything else that would allow something like that. (Maybe checking all and adding them to list?...I don't really know)

Somewhat confusing...

I need to think about this for a while. Best way as it seems to me would be putting each interaction on a separate label, for example "Warrior" could become 'gm_interact_interests_warrior'.

Then, on the main label of interaction ('gm_interact_interests'), you could define a new list (as you suggested), for example:

Code: [Select]
$gm_interests = []
Then, you would have to write a codeblock like this:

Code: [Select]
if chr.occupation == "Warrior":
    $gm_interests.append('gm_interact_interests_warrior') # This adds label name associated with girl being a Warrior to the list
if "Lesbian" in chr.traits:
    $gm_interests.append('gm_interact_interests_lesbian') # Note that this must be another IF, not elif.

After you've added every possible label, you jump, randomly choosing from that list:
Code: [Select]
if gm_interests:
    $jump(random.choice(gm_interests)) # This will make sure that all labels are chosen with equal opportunity and game will only try to make a jump if there is at least one label in the list.
else:
    $jump("default") # Some default texts or a choice from a pool of texts if non of the conditions above could be applied to the girl.

Last "default" doesn't have to be a label btw, you can just use texts on the same label.
Title: Re: General Discussion
Post by: DarkTl on September 04, 2013, 03:06:08 PM
Edit: Also, all stat will have defaults and there will be normalization methods in place. It's very easy to do, I am just still not sure about the proper acceptable ranges for stats.
I guess I'll just ignore initial stats until we'll have a more clear picture.
I've uploaded all my packs and jsons/xmls for them. I'll try to find more decent camp pics tomorrow.
Title: Re: General Discussion
Post by: Xela on September 04, 2013, 03:30:43 PM
I guess I'll just ignore initial stats until we'll have a more clear picture.
I've uploaded all my packs and jsons/xmls for them. I'll try to find more decent camp pics tomorrow.

Oki. I am rethinking my decision to go with exploration instead of Arena for 1.0 (You were in favor of the Arena if I recall). The trouble is that getting exploration to the point where I would consider it interesting might be very consuming and I really want to release an Alpha soon.

Map of at least 40x40 with a lot of different tiles, a large (2x2 tile road) with 1 safe forest tile on each side, random meetings, traveling merchants, shops, NPCs and events seems to be the very minimum to me. Otherwise it would be to boring, not mentioning that a large amount of different monsters would be required to make it work. Streamlining items rewards and experience systems are also likely to be challenging.

So the Arena might actually be less work. We can leave simple "forest outskirts" exploration as well. Otherwise, 80% of the code I've written for exploration would be reusable in Arena. What do you think?

We could also start a poll or something.
Title: Re: General Discussion
Post by: DarkTl on September 04, 2013, 05:28:19 PM
I'm for arena. We do need some kind of simple dungeon though, either forest outskirts or good old catacombs, as a source of rm girls at very least, even if all items will be in shops and arena.

We have to adapt game's code to map editor anyway before we will be able to make a decent, good looking forest.
Title: Re: General Discussion
Post by: Xela on September 04, 2013, 05:49:46 PM
I'm for arena. We do need some kind of simple dungeon though, either forest outskirts or good old catacombs, as a source of rm girls at very least, even if all items will be in shops and arena.

We have to adapt game's code to map editor anyway before we will be able to make a decent, good looking forest.

Ok, then I'll try to set up Arena tomorrow.

As for exploration, I am in favor of forest outskirts. We'll move witches hunt to the starting tile and set up something safe and simple around it. Past that a corridor into the forest with some challenging monsters and decent rewards.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2013, 02:20:55 PM
Girl Control could use more tooltips. I understand only Autorest and House Per so far  :)

For some reason there were two copies of persona characters in db version, I've deleted excess ones, but they might appear again if you have them in your dev version.
Title: Re: General Discussion
Post by: Xela on September 05, 2013, 02:35:13 PM
Girl Control could use more tooltips. I understand only Autorest and House Per so far  :)

For some reason there were two copies of persona characters in db version, I've deleted excess ones, but they might appear again if you have them in your dev version.

Yeap, I'll add that later, all should work except for the slavedriver.

I never copy packs, just code/resources.
Title: Re: General Discussion
Post by: Xela on September 05, 2013, 07:58:34 PM
Did some work on Arena but didn't get very far. Did manage to improve a lot of code and got rid of a number of bugs we haven't caught yet. Also improved equipment/shop screens to properly display items statistics. Tooltips in slavemarket were messed up, couple of transitions were missing, stupid reusable screens I made cause unable to figure out how to use Eliont's (long time ago) are gone. Girls are now sold/fired through confirmation screen and are automatically removed from the exploration party. New attribute "arena" of the girls class will track which girls are currently participating in the Arena and are not available for girlsmeets. Last bug standing is a bad sell/buy button in the shops, I'll figure out what's wrong with it tomorrow.
Title: Re: General Discussion
Post by: Xela on September 06, 2013, 01:19:12 PM
Freaking wierd... I could swear their was a bug that messed up sell/buy button in the shops yesterday but I cannot replicate it today...

In any case, I am going to put some time into Arena tonight and get a semi-working version of that this weekend. Any thoughts/request/ideas?
Title: Re: General Discussion
Post by: DarkTl on September 06, 2013, 02:01:44 PM
As far as I understand, at arena we will fight for money, fame, maybe slaves with random parties consisting of random and unique girls which didn't join MC yet.
And you have to sign up for battle in advance, a few days or even weeks before it.

Not sure if I have anything major to add to this concept, aside from various modes (for example, some kind of ladder, like in Mortal Kombat games). Maybe limitation on party members, so you cannot take 3 people to one on one duel mode?

Also we have to decide what to do with characters without battle sprites. I propose to block warrior occupation for them and use only warriors inside BE, including arena.
Title: Re: General Discussion
Post by: Xela on September 06, 2013, 02:44:32 PM
As far as I understand, at arena we will fight for money, fame, maybe slaves with random parties consisting of random and unique girls which didn't join MC yet.
And you have to sign up for battle in advance, a few days or even weeks before it.

Not sure if I have anything major to add to this concept, aside from various modes (for example, some kind of ladder, like in Mortal Kombat games). Maybe limitation on party members, so you cannot take 3 people to one on one duel mode?

Also we have to decide what to do with characters without battle sprites. I propose to block warrior occupation for them and use only warriors inside BE, including arena.

Decided to skip coding today after all cause I cannot wrap my head around anything.

I want there to be kinda "dog fighting" as well. Player would have to get some rep/fame fighting in low-profile fights without signups before advancing to planned/line-up matches. Not at the main arena but somewhere underground with less people watching the events.

Matches will be 1v1/2v2/3v3. Obviously only warriors will participate.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2013, 04:38:23 PM
Arena also could be a meeting place with both spectators (unless you lost miserably) and enemies (if we don't fight to the death).
Title: Re: General Discussion
Post by: CherryWood on September 07, 2013, 10:53:30 AM
I don't have any new ideas to contribute about arena.
From previous posts about it, I like the most: Tournament and global ladder with portraits, improving fighters over time, npc participants.


Just please add option to set if a girl-warrior will participate in arena or not for making girlpacks.
----------
I was Ill for most of the week so I don't have girmeet texts added yet.
Title: Re: General Discussion
Post by: Xela on September 07, 2013, 03:01:24 PM
I was Ill for most of the week so I don't have girmeet texts added yet.

Looks like you and me are in the same boat, I am getting splitting headaches from the meds I gotta take so I cannot get any work done either, really hoping this crap goes away soon.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2013, 04:25:50 PM
And I'm having fun building two really huge packs  :)
Title: Re: General Discussion
Post by: CherryWood on September 07, 2013, 07:08:27 PM

And I'm having fun building two really huge packs  :)
Good for you...
I just can't imagine how creating huge pack could be fun. It's usually so much work that I'm becoming sleepy just from the thought of doing it. (And that's why it's taking me sooooo long...)


Title: Re: General Discussion
Post by: Xela on September 08, 2013, 01:20:06 PM
And I'm having fun building two really huge packs  :)

Glad someone's having fun. I really enjoy coding for the project but still not feeling up to it. In any case, I have entire next week of  bedrest so if migraines finally stop, really hoping to get a lot done.
Title: Re: General Discussion
Post by: DarkTl on September 12, 2013, 10:40:17 AM
Well, it's kinda difficult for me to become sleepy while browsing through hentai content  :)
I've finished rather large queen's blade pack, now I'm going to work with soul calibur, guilty gear and other titles which are relevant to QB.

I guess even if the project will be closed for some reason, I'll join rudi or eliont (or both) in order to packs do not gone to waste.
Title: Re: General Discussion
Post by: Xela on September 12, 2013, 10:47:09 AM
I guess even if the project will be closed for some reason, I'll join rudi or eliont (or both) in order to packs do not gone to waste.

We'll be sharing resources with Alkion and Rudi has made a PyTFall port to Pytherworld so you're kinda working for all three projects already :)
Title: Re: General Discussion
Post by: DarkTl on September 14, 2013, 02:22:47 PM
I looked at new Alkion screenshots, dungeon map looks interesting. I wonder what kind of BE Eliont is going to use.
Title: Re: General Discussion
Post by: Xela on September 14, 2013, 02:31:05 PM
I looked at new Alkion screenshots, dungeon map looks interesting. I wonder what kind of BE Eliont is going to use.

I talked to him about it four days, he said the goal was similar to http://i1.ytimg.com/vi/rFORDid_lmQ/maxresdefault.jpg

He's also using an interesting approach to tile tracking and a solid technique for loading tiles, we'll see how it turns out, we can use 2 or 3 battle engines :)
Title: Re: General Discussion
Post by: DarkTl on September 14, 2013, 02:58:52 PM
Well, in Kamidori BE is basically turn-based strategy with rpg elements.
It means that there is no short generic battles, only large-scale ones, unless you have overleveled party. It means more focus on battles and less on brothels.

Another thing is that even overleveled archers and mages are quire useless compared to melee fighters because of counterattack limitations. Except for those few who have skills with very large attack range (which require 80-99 levels), and even they play a supporting role.

I guess we do need several BEs if we will use such approach  :)
Title: Re: General Discussion
Post by: Xela on September 14, 2013, 03:05:32 PM
Well, in Kamidori BE is basically turn-based strategy with rpg elements.
It means that there is no short generic battles, only large-scale ones, unless you have overleveled party. It means more focus on battles and less on brothels.

That's part of Alkions concept, RPG over Sim.

Another thing is that even overleveled archers and mages are quire useless compared to melee fighters because of counterattack limitations. Except for those few who have skills with very large attack range (which require 80-99 levels), and even they play a supporting role.

He prolly meant general look and concept, mechanics might be different.

I guess we do need several BEs if we will use such approach  :)

Yeah, personally, I really want to get simple FF styled combat right... we should have no serious issues adding anything from Alkion to PyTFall and vice versa.
Title: Re: General Discussion
Post by: DarkTl on September 15, 2013, 05:48:19 AM
These days FF looks (http://www.youtube.com/watch?v=60nWEuj2wAI) like Devil May Cry or something  :D

In old FFs I like front/back row concept, this way you need both melee fighters and mages/archers.

I also like Golden Sun approach, where you have 8 party members with 4 on the battlefield. Once per turn you can replace 1 member of active party if you want to, and if active party will be destroyed somehow, they automatically will be replaced by other 4 members.

Another interesting concept is Arc Rise Fantasia BE, where party members freely share their AP during battle with the only limitation that those who did nothing during turn will get significant penalty to defence.

Besides, if we want some "action", we could use something like judgement ring in Shadow Hearts, where you can't even use items, not to mention attacks, during battle without proper timing.
Title: Re: General Discussion
Post by: Xela on September 15, 2013, 06:16:43 AM
These days FF looks (http://www.youtube.com/watch?v=60nWEuj2wAI) like Devil May Cry or something  :D

In old FFs I like front/back row concept, this way you need both melee fighters and mages/archers.

I also like Golden Sun approach, where you have 8 party members with 4 on the battlefield. Once per turn you can replace 1 member of active party if you want to, and if active party will be destroyed somehow, they automatically will be replaced by other 4 members.

Another interesting concept is Arc Rise Fantasia BE, where party members freely share their AP during battle with the only limitation that those who did nothing during turn will get significant penalty to defence.

Besides, if we want some "action", we could use something like judgement ring in Shadow Hearts, where you can't even use items, not to mention attacks, during battle without proper timing.

I don't recall many FF games with back/front combat.

Rest I haven't played but they sound overcomplicated. We'll have a separate discussion in our own BE when I get around to it.

I did some work on Arena yesterday and try to get some done today but it's not picknick either, there is a lot of things to consider like proper sorting, exclusion from girlsmeets, ladders, setting up teams/matches and so on. I'll get it right eventually, but I find myself rewriting a lot of code.

Also for arena, I am using only the girls, but we should really gather some NPCs and add monsters later.
Title: Re: General Discussion
Post by: DarkTl on September 15, 2013, 07:45:17 AM
Looks like you played FF long ago. (http://finalfantasy.wikia.com/wiki/Row)

Rest I haven't played but they sound overcomplicated.
Maybe in terms of coding, but not in terms of gameplay. They are quite handy compared to many other games.

I have a bunch of monsters battle sprites/portraits already, so as soon as you create a way to add them, we'll have them.
Title: Re: General Discussion
Post by: Xela on September 15, 2013, 08:32:25 AM
I have a bunch of monsters battle sprites/portraits already, so as soon as you create a way to add them, we'll have them.

Awesome :)
Title: Re: General Discussion
Post by: DarkTl on September 17, 2013, 09:09:48 AM
So, will we fight at the arena to the death? I guess with monsters we have no choice but to fight to the death, but what about enemy girls parties?
Title: Re: General Discussion
Post by: Xela on September 17, 2013, 10:13:23 AM
So, will we fight at the arena to the death? I guess with monsters we have no choice but to fight to the death, but what about enemy girls parties?

Nope, special to the death fights for NPCs/Girls might be added later, but noone will die in normal matches.

Currently I am working on the following setup:

1) Ladder of 100 fighters sorted by their Arena reputation (not a big deal).

2) Ladders of (Big deal):

- Top 20 Arena 1v1 Fighters
- Top 10 2v2 Teams
- Top 10 3v3 Teams

3) Main Event Matches setups:

- 10 1v1 matches
- 5 2v2 matches
- 5 3v3 matches

There will also be smaller scale dogfights vs monsters and other opponents but those will not be tracked, you just enter an arena under the main Arena and pick whoever might be available at the moment. It will be a while before MC can take part in Main matches as Arena Rep would have to be built up and AP increased to at least 5 (required to start any main match). Dogfights will be available right off the bat.

My main objective right now is to write tracking code for all of the above... it's a lot of data with lots of rules... right now I'll be working with girls/random girls only, after main code is done, adding NPCs and better control over who does what should be walk in the park (at least I expect that it will).
Title: Re: General Discussion
Post by: DarkTl on September 17, 2013, 02:28:14 PM
How those ladders will be maintained? Will they be created randomly in the beginning of the game, or there actually will be fights between girls even without MC participation?
Title: Re: General Discussion
Post by: Xela on September 17, 2013, 02:44:02 PM
How those ladders will be maintained? Will they be created randomly in the beginning of the game, or there actually will be fights between girls even without MC participation?

Right now at the start, they are created randomly but I will improve that process in order to allow influence by modders in the future. There will be plenty of fights in the Arena without MCs participation.
Title: Re: General Discussion
Post by: DarkTl on September 18, 2013, 03:18:22 AM
What will happen if, for example, you meet and rectute a girl which occupies the first place? It's kinda like you have a winner without actual fight.
Title: Re: General Discussion
Post by: Xela on September 18, 2013, 03:37:16 AM
What will happen if, for example, you meet and rectute a girl which occupies the first place? It's kinda like you have a winner without actual fight.

I've wrote somewhere that it's going to be bloody hard to recruit girls that are earning a lot of money and/or take high positions in the city. Especially at first, when we have just one security job and unfinished exploration for them to do. Basically, she will say no or only for an insane amount of money.
Title: Re: General Discussion
Post by: DarkTl on September 18, 2013, 04:58:09 AM
I mean, what will happen with the ladder? How are you supposed to fight with your own employee for the first palce?
Title: Re: General Discussion
Post by: Xela on September 18, 2013, 05:10:31 AM
I mean, what will happen with the ladder? How are you supposed to fight with your own employee for the first palce?

I doubt first place in Arena will ever become your "employee", even if that will happen, it'll go the way we want it to go but I am not even close to writing that logic yet.
Title: Re: General Discussion
Post by: DarkTl on September 18, 2013, 05:23:14 AM
Not necessarily the first place. If you hire fiftieth place, how will you fight for fiftieth place? I'm myself not sure how to handle this. Either you automatically get fiftieth place, or the girl should be removed from the ladder. Because if you have to fight with her after all, you might as well nerf her stats with items before the battle.

Or, for example, if you hire someone from 2v2 or 3v3 ladders, not necessarily from the top too, what will happen with the rest of their "team"?
Title: Re: General Discussion
Post by: Xela on September 18, 2013, 05:58:34 AM
Not necessarily the first place. If you hire fiftieth place, how will you fight for fiftieth place? I'm myself not sure how to handle this. Either you automatically get fiftieth place, or the girl should be removed from the ladder. Because if you have to fight with her after all, you might as well nerf her stats with items before the battle.

Or, for example, if you hire someone from 2v2 or 3v3 ladders, not necessarily from the top too, what will happen with the rest of their "team"?

We'll have to put that in the negotiation during the hiring process. Teammates will either have to find someone else or girl will be unavailable to work for you on fighting days.

Also, places belong to specific people, if you hire someone who's lets say 15th, you don't get squat and you'll have to fight that girl.

We'll figure out the kinks later, I think simply talking to the character would be a good way to settle most of these issues.
Title: Re: General Discussion
Post by: Xela on September 20, 2013, 03:24:08 PM
http://wags-softball.d4sportsclub.com/page.aspx?id=30

Does anyone have objections to using these names for teams or should we try to come up with something more original or trim down this/other list?
Title: Re: General Discussion
Post by: DarkTl on September 20, 2013, 03:45:46 PM
Nope, they seem perfect to me  :)
Maybe except Team America and others that refer to "our" world.
Title: Re: General Discussion
Post by: Pashax2 on September 21, 2013, 02:10:13 AM
It looks like a fine list. As Dark says, though, it would be a good idea to remove the names that refer to things which don't exist in the target world. Names involving bombers, dynamite, America, etc don't really seem to fit very well.
Title: Re: General Discussion
Post by: Xela on September 21, 2013, 03:43:23 AM
I've cleaned the list up a bit, going to load it into the game today. Lineups/ladder seem to be working with basic interface already. Matches logic is next, behavior logic last (how Arena girls interact with rest of the game etc.). Maybe a half decent Arena screens for Alpha as well, right now those are VERY basic.

This is the last large addition before the Alpha I expects, really basic exploration (5 - 6 tile types max), girlsmeets, interactions and wrapping up some job logic/texts and we'll have a half working game. I think after that we should add some basic slave training, quests, bit more exploration, alchemy and monster girl capture for alpha 2 release.
Title: Re: General Discussion
Post by: DarkTl on September 21, 2013, 04:13:26 AM
And when we will make our first try to balance things out?
Title: Re: General Discussion
Post by: Xela on September 21, 2013, 06:21:39 AM
And when we will make our first try to balance things out?

Before first Alpha, that's what I meant with "wrapping up". First goal should be making it playable, fine-tuning we can do later.
Title: Re: General Discussion
Post by: Xela on September 24, 2013, 05:03:54 PM
Basic displays of the sorting/tracking methods of Arena, these screens will be improved even for Alpha:


(http://img102.imagevenue.com/loc254/th_056414389_24_09_201323_57_07_123_254lo.jpg) (http://img102.imagevenue.com/img.php?image=056414389_24_09_201323_57_07_123_254lo.jpg)(http://img206.imagevenue.com/loc450/th_056416480_24_09_201323_57_37_123_450lo.jpg) (http://img206.imagevenue.com/img.php?image=056416480_24_09_201323_57_37_123_450lo.jpg)(http://img28.imagevenue.com/loc257/th_056417640_24_09_201323_58_10_123_257lo.jpg) (http://img28.imagevenue.com/img.php?image=056417640_24_09_201323_58_10_123_257lo.jpg)(http://img290.imagevenue.com/loc563/th_005641987_24_09_201323_58_43_123_563lo.jpg) (http://img290.imagevenue.com/img.php?image=005641987_24_09_201323_58_43_123_563lo.jpg)(http://img268.imagevenue.com/loc136/th_056421198_24_09_201323_58_57_123_136lo.jpg) (http://img268.imagevenue.com/img.php?image=056421198_24_09_201323_58_57_123_136lo.jpg)
     

Found something epic: http://www.youtube.com/watch?v=MJbTjBLEKBU
I am listening to this track next time I get to coding :)
Title: Re: General Discussion
Post by: CherryWood on September 25, 2013, 05:23:26 AM
Basic displays of the sorting/tracking methods of Arena, these screens will be improved even for Alpha:
Great!
I can't wait to add some NPC teams already     :)


If I ever get to stuff like that... so much to do and so little time  :(
Title: Re: General Discussion
Post by: Xela on September 25, 2013, 05:36:49 AM
Great!
I can't wait to add some NPC teams already     :)


If I ever get to stuff like that... so much to do and so little time  :(

:)

How are girlsmeets coming?
Title: Re: General Discussion
Post by: CherryWood on September 25, 2013, 07:58:14 AM
How are girlsmeets coming?
Terribly slow like everything I do...
I'm still in a phase of adding texts and I need a few more days to get it into state when I would be at least somewhat satisfied with it.  I didn't get to the logic yet, so it not playable in the slightest. (so if we are in a hurry, someone else could do it)
Title: Re: General Discussion
Post by: Xela on September 25, 2013, 08:08:52 AM
Terribly slow like everything I do...
I'm still in a phase of adding texts and I need a few more days to get it into state when I would be at least somewhat satisfied with it.  I didn't get to the logic yet, so it not playable in the slightest. (so if we are in a hurry, someone else could do it)

Nah, there is no rush. Arena will take some time and we'll have a lot to do afterwards. Don't get to hang up on logic, we'll have to rebalance that just like everything else, just go with whatever feels right.
Title: Re: General Discussion
Post by: DarkTl on September 25, 2013, 08:38:43 AM
Meanwhile I'm busy with Touhou pack. It's extremely popular (in Japan) title, so I expect it to be the largest of all my packs both in terms of size and the number of characters.
Title: Re: General Discussion
Post by: Xela on September 25, 2013, 08:50:11 AM
Meanwhile I'm busy with Touhou pack. It's extremely popular (in Japan) title, so I expect it to be the largest of all my packs both in terms of size and the number of characters.

Which one of us is in Japan? :D

I am still struggling with decision on how to handle NPCs (Make one NPC class to cover everything or to split them in Arena/Interaction/Story types and so on). We'll have to discuss pros/cons of that at some point... I've started writing code for matches build-up for the arena.
Title: Re: General Discussion
Post by: DarkTl on September 25, 2013, 09:07:51 AM
I never heard about this title until I came across it at gelbooru and then read about it in wiki. It's amazing how many pics there are for each of the characters (20-60 thousands). I did not even venture to search for it at pixiv, even I don't have that much time (at least +30 thousands for every girl).

As for npcs, I have no idea why we couldn't use one general class for everything, don't see any cons there. I believe we either should use girls that don't have enough pics for a pack as npcs, or simply use random ones.
Title: Re: General Discussion
Post by: Xela on September 25, 2013, 09:27:15 AM
As for npcs, I have no idea why we couldn't use one general class for everything, don't see any cons there. I believe we either should use girls that don't have enough pics for a pack as npcs, or simply use random ones.

General class would require quite a bit of resources/effort to create every NPC, while smaller classes enable faster creation of just what's required for a particular function.
Title: Re: General Discussion
Post by: CherryWood on September 25, 2013, 10:08:19 AM
I never heard about this title until I came across it at gelbooru and then read about it in wiki. It's amazing how many pics there are for each of the characters (20-60 thousands). I did not even venture to search for it at pixiv, even I don't have that much time (at least +30 thousands for every girl).
You didn't know about Touhou?  ??? Blasphemy!  :D
And yes, that fandom is really something.  Serious stuff you're getting yourself into. I believe that only Miku alone has more pics than Touhou girls  :) . Last time I was creating a touhou girl she took me over 20 hours...


I know I will be creating some girls from touhou too (Shameimaru Aya and Konpaku Youmu), but with my pace it could take a long while before I get to that.


Anyway, Good luck!
--------------------------
Oh, one think: Does anyone of you know a good site for getting pixxx.com edits? (not siterips)  I was using a blog with nice sorting and database for that on http://hentaiimages.centerblog.net/ (http://hentaiimages.centerblog.net/) but it was deleted
Title: Re: General Discussion
Post by: DarkTl on September 25, 2013, 10:24:54 AM
Let's see, "The Touhou Project is a series of 2D vertically-scrolling danmaku shooting games" according to wiki. I never played such games, and never will. They also don't have an anime of some kind, except for 2 OVAs.
So, they were totally out of my range of interests until now  :)

Does anyone of you know a good site for getting pixxx.com edits?
Sorry, I don't know of any substitute for it either.



-----------------------------------------------------
I found recently an addon for firefox, "context menu image saver". It's very handy thing when you saving a lot of pics, like when you making a pack, for example. It has quite flexible settings, and you can save images with one click instead of default saving menu.
 
Title: Re: General Discussion
Post by: Xela on September 25, 2013, 04:58:36 PM
I found recently an addon for firefox, "context menu image saver". It's very handy thing when you saving a lot of pics, like when you making a pack, for example. It has quite flexible settings, and you can save images with one click instead of default saving menu.

I used a decent save script for FF in the past but new update broke it and it never recovered, I've also failed to find a substitute. I'll be sure to check it out, maybe make a pack myself  ::)
Title: Re: General Discussion
Post by: CherryWood on September 25, 2013, 06:08:56 PM
Addons? I'm using just 3 shortcuts
ctrl + mouse click (open new background tab / save image)
ctrl + tab (move to next tab)
ctrl + w (close tab)
and I'm constantly waiting for pages to load or getting messages like "please slow down - too many requests" on most boorus  :) 
----------
@xela: Oh, ok..... I suddenly feel totally oldschool now  :o :)
Title: Re: General Discussion
Post by: Xela on September 25, 2013, 06:21:17 PM
Addons? I'm using just 3 shortcuts
ctrl + mouse click (open new background tab / save image)
ctrl + tab (move to next tab)
ctrl + w (close tab)
and I'm constantly waiting for pages to load or getting messages like "please slow down - too many requests" on most boorus  :)

There are scripts that for all tabs in a second :)

----------------------------
I am gonna call it a night. Challenge code for the Arena seems to be working, I'll write the accept challenge for A.I. and maybe player as well + simple GUI tomorrow.
Title: Re: General Discussion
Post by: Pieman on September 26, 2013, 12:30:26 AM
Hey I just found this project and I'd love to help. I'm a game designer and a programmer,but I don't know python. It can't be harder to learn than c++ was.  ;)
Title: Re: General Discussion
Post by: Xela on September 26, 2013, 03:06:09 AM
Hey I just found this project and I'd love to help.

Help is always welcome :)

I'm a game designer

Any particular area of expertise? Maybe you can work on something specific that you are familiar with and enjoy?

and a programmer,but I don't know python. It can't be harder to learn than c++ was.  ;)

It's less complicated than C++, still it's a whole different language. Just download the repo and take a look at it, maybe find something you're interested in? While Python might take weeks/month to learn and get used to, I've seen people coming from programming/IT background who figured out RenPy script in matter of hours. If designing some NPCs/Interactions is something that sounds appealing, you could prolly start right off the bat.
Title: Re: General Discussion
Post by: Xela on September 26, 2013, 03:29:21 PM
Slightly improved Arena pics:


(http://img289.imagevenue.com/loc399/th_223444192_a1_122_399lo.jpg) (http://img289.imagevenue.com/img.php?image=223444192_a1_122_399lo.jpg) (http://img163.imagevenue.com/loc124/th_223445952_a2_122_124lo.jpg) (http://img163.imagevenue.com/img.php?image=223445952_a2_122_124lo.jpg) (http://img292.imagevenue.com/loc464/th_223447346_a3_122_464lo.jpg) (http://img292.imagevenue.com/img.php?image=223447346_a3_122_464lo.jpg)
(http://img28.imagevenue.com/loc418/th_223449707_a4_122_418lo.jpg) (http://img28.imagevenue.com/img.php?image=223449707_a4_122_418lo.jpg) (http://img13.imagevenue.com/loc160/th_223451347_a5_122_160lo.jpg) (http://img13.imagevenue.com/img.php?image=223451347_a5_122_160lo.jpg)

and there is music in the background too :)

Lower arena dogfights/starting combat sequence is next (cs is 80% done from the exploration engine).


EDIT: These two look freaking amazing together!:
Title: Re: General Discussion
Post by: Pieman on September 26, 2013, 10:40:55 PM
Help is always welcome :)

Any particular area of expertise? Maybe you can work on something specific that you are familiar with and enjoy?

It's less complicated than C++, still it's a whole different language. Just download the repo and take a look at it, maybe find something you're interested in? While Python might take weeks/month to learn and get used to, I've seen people coming from programming/IT background who figured out RenPy script in matter of hours. If designing some NPCs/Interactions is something that sounds appealing, you could prolly start right off the bat.

Nah no real area of expertise that would help here.

RenPy seems like a simple enough, I could follow along with most of the code that's going on. Oh but when I tried running the game just to see how it all came together it crashed after starting a new game. Is it supposed to do that?
Title: Re: General Discussion
Post by: Xela on September 27, 2013, 02:56:30 AM
Oh but when I tried running the game just to see how it all came together it crashed after starting a new game. Is it supposed to do that?

Nope, it should work fine.
Title: Re: General Discussion
Post by: CherryWood on September 27, 2013, 03:02:53 AM
Nope, it should work fine.
Jup, I just redownloaded the whole thing to test it and it's working, both repo+mega and DB versions.
Title: Re: General Discussion
Post by: Xela on September 27, 2013, 03:21:54 AM
Jup, I just redownloaded the whole thing to test it and it's working, both repo+mega and DB versions.

Battle sequence during exploration is messed up for some reason, Jake's BE complains about some cr@p being assign to a tuple... I could have sworn it was working fine before.

Anyway, I've updated roadmap a bit, now it's time to write more code for Arena :)

F$%^, it's just one thing after another... doesn't look like I am going to be able to do much today :( Maybe tonight...
Title: Re: General Discussion
Post by: DarkTl on September 27, 2013, 06:44:58 AM
Oh but when I tried running the game just to see how it all came together it crashed after starting a new game. Is it supposed to do that?
Maybe you should post error report if you need help.
Title: Re: General Discussion
Post by: Xela on September 29, 2013, 05:35:23 AM
Rough translation of last Alkion's update:

Movement Order:
------------------------------
This is still in conceptual stage, any opinions/ideas to improve the model would be appreciated.
------------------------------

Lets say, one minute of game time consists of 100 units of discrete time. Every battle participant can take a turn(actions) determined by (50-agility+/-added effects) formula. For example a unit with action period of 38 (76, 114, 152) would end up with a speed of 2.6 or 26 turns every 1000 "timeunits". Queue of turns will be maintains for 300 timeunits under normal circumstances and updated as required by game logic.
------------------------------

For every turn, each character gets 4Action Points (this is Alkion so it's different than AP from PyTFall). Movings costs 1AP, Using item from a belt: 1 AP and accessing inventory 4 AP.


(http://img120.imagevenue.com/loc187/th_446156984_V0fQ6cVxTrA_123_187lo.jpg) (http://img120.imagevenue.com/img.php?image=446156984_V0fQ6cVxTrA_123_187lo.jpg)
     
Title: Re: General Discussion
Post by: DarkTl on September 29, 2013, 03:22:59 PM
So Eliont is going to use real time and turn-based elements at the same time.
I personally think it will be extremely hard to balance out. Quick characters will be overpowered, since they will have considerably more AP per time frame, and the gap will increase with time. Same thing happened in disciples3.
Title: Re: General Discussion
Post by: Xela on September 29, 2013, 06:06:09 PM
So Eliont is going to use real time and turn-based elements at the same time.
I personally think it will be extremely hard to balance out. Quick characters will be overpowered, since they will have considerably more AP per time frame, and the gap will increase with time. Same thing happened in disciples3.

Well, our battle engine turns work in a similar manner, balance doesn't seem to be that big of an issue? I am a bit concerned with the amount of code required to get a system like that working, but he doesn't seem to share that concern.

I managed to get some more work done on the Arena, next week it should be playable and we can start making it/game interesting.
Title: Re: General Discussion
Post by: DarkTl on September 30, 2013, 04:36:22 AM
Nope, we don't use AP during battle to access the belt, for example. What we use now is FF system without rows, so you could say it was balanced out already by Square company.

I've found one decent background for arena yesterday, I'll see if I can find more.
Title: Re: General Discussion
Post by: Xela on September 30, 2013, 03:24:47 PM
I've found one decent background for arena yesterday, I'll see if I can find more.

Sweet, I'll need it soon.

Dogfights sorting is ready for all fights, first screen:

(http://img269.imagevenue.com/loc108/th_568706293_30_09_201322_16_40_122_108lo.jpg) (http://img269.imagevenue.com/img.php?image=568706293_30_09_201322_16_40_122_108lo.jpg)

Edit:

My sorting is the best  ::) :


(http://img145.imagevenue.com/loc410/th_570017380_30_09_201322_40_36_122_410lo.jpg) (http://img145.imagevenue.com/img.php?image=570017380_30_09_201322_40_36_122_410lo.jpg)
     
Going to try figure out wtf going on there before I fall sleep... and it's fixed:

(http://img291.imagevenue.com/loc96/th_570864970_30_09_201322_54_18_122_96lo.jpg) (http://img291.imagevenue.com/img.php?image=570864970_30_09_201322_54_18_122_96lo.jpg)

Next is BE loading sequence (80% done) and reward/penalty/ladder advancement logic.
     
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 02:54:09 AM
Code optimization:

I've been trying to read at least one article on Python/RenPy a day for a couple of month now. With that I've discovered a number of places where execution speed can be increased by 25 - 1000%. That code I'll update today, but do you think it's worth it to give the whole 15k lines of gamecode that we have today a through makeover before the Alpha?

Bottleneck anyone?:

Quote
--- launch game ---
INFO     pytfall         game directory: D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall\game
INFO     pytfall         Loading: Random Name files
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Traits
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Items
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Characters
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Brothels
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: PyTFallWorld
INFO     pytfall         Loading Random Characters:
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/random_elves/data_Dark_Elf.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/random_elves/data_Dryad.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/random_elves/data_Leafa.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/random_elves/data_Maid_Elf.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/random_elves/data_Noble_Elf.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/random_elves/data_Ranger_Elf.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/random_elves/data_Rena_Elsword.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/slime_girls/data_Slime.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/windows_girls/data_2k_tan.json!
INFO     pytfall         Loading from D:\Dev\Dropbox\SimBro Dev\renpy-6.15.0-sdk\pytfall/game\content/rchars/windows_girls/data_Xp_tan.json!
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Exploration
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Tag Database
INFO     pytfall.tags    loaded 6465 images from tags.json files
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Generating Random girls (+/- 350), they were loaded in PW class
INFO     pytfall         It took 14 secs to execute!
INFO     pytfall         Loading: testing mode
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: GirlsMeets
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Populating SlaveMarket
INFO     pytfall         It took 0 secs to execute!
INFO     pytfall         Loading: Arena!
INFO     pytfall         It took 0 secs to execute!

Gotta find out wtf causes it...
Quote
INFO     pytfall         Loading: Generating Random girls (+/- 350), they were loaded in PW class
INFO     pytfall         It took 14 secs to execute!

Title: Re: General Discussion
Post by: Xela on October 01, 2013, 07:39:40 AM
Aaah efficiency:

 :D

Quote
INFO     pytfall         Loading: Generating Random girls (+/- 350)
INFO     pytfall         It took 1.20599985123 secs to execute!

LoL?

Quote
INFO     pytfall         Loading: Generating Random girls (+/- 3050)
INFO     pytfall         It took 12.6220002174 secs to execute!
Title: Re: General Discussion
Post by: DarkTl on October 01, 2013, 08:29:15 AM
do you think it's worth it to give the whole 15k lines of gamecode that we have today a through
I guess you could do it before the second alpha, but it should be done before beta anyway.

I've finished first five Touhou characters, and their pack is already the biggest one, so I decided to releasing them in fives. Also I think we don't have enough random characters, so I'm going to make several girls based on Dragon Quest.
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 09:06:32 AM
I guess you could do it before the second alpha, but it should be done before beta anyway.

I've finished first five Touhou characters, and their pack is already the biggest one, so I decided to releasing them in fives. Also I think we don't have enough random characters, so I'm going to make several girls based on Dragon Quest.

We don't have any human rgirls... Also I am thinking we should prolly make packs with 3 - 4 pics best pics per category.

I've fixed the main bottleneck, game launch takes 2 - 3 secs instead of 15 and Next Day is now also a LOT faster (didn't time it). There has never been an issue outside of development environment by the way...
Title: Re: General Discussion
Post by: DarkTl on October 01, 2013, 09:18:44 AM
We don't have any human rgirls
Yup, they are all humans in DQ.

Also I am thinking we should prolly make packs with 3 - 4 pics best pics per category.
Leaving aside the discussion about different tastes for different people, all pictures in my packs are already  best from my perspective, without any significant flaws. If you or anyone else don't have enough space on hdd, just delete those you personally don't like  :)
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 09:59:16 AM
Leaving aside the discussion about different tastes for different people, all pictures in my packs are already  best from my perspective, without any significant flaws. If you or anyone else don't have enough space on hdd, just delete those you personally don't like  :)

Oki.. Naruto/One piece packs have pics that are plain ugly thou...

On a different note, I've fixed the issue with 3 people combat on players side, it was a rather plain error in BE itself.

Going to put some time into Arena now. There are no more bottlenecks I could find and simple code optimization would not increase performance by more than 10 - 40% max so there is little point in it before beta (basically I am happy with speed again :) ).
Title: Re: General Discussion
Post by: CherryWood on October 01, 2013, 10:33:51 AM
.Leaving aside the discussion about different tastes for different people, all pictures in my packs are already  best from my perspective, without any significant flaws. If you or anyone else don't have enough space on hdd, just delete those you personally don't like

 my thoughts exactly, sorry xela! :-)
Title: Re: General Discussion
Post by: DarkTl on October 01, 2013, 10:38:43 AM
Ah, Naruto, One Piece and Persona are beta ones, I will look at them closer to the alpha release. All the rest packs are ready.
I thought we talking about random packs only.

But there won't be 3-4 good pics per category in my packs, unless I was unable to find more  :)
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 11:05:22 AM

 my thoughts exactly, sorry xela! :-)

Well, that's kinda my philosophy as well... it may however change when we get to tagging :)

Ah, Naruto, One Piece and Persona are beta ones, I will look at them closer to the alpha release. All the rest packs are ready.
I thought we talking about random packs only.

But there won't be 3-4 good pics per category in my packs, unless I was unable to find more  :)

Those two and Haruhi (I don't know where she comes from) were my main concern.
Title: Re: General Discussion
Post by: DarkTl on October 01, 2013, 11:12:48 AM
I think one of those guys that dissappeared shortly after beginning of the project made Haruhi. Or maybe it's yours, like Tifa, I don't remember.
Oh, and if you talking about those Naruto girls in the current dropbox version, they are not mine either.
Title: Re: General Discussion
Post by: KaiSakurai on October 01, 2013, 11:29:04 AM
just a question:
how does the hero gain AP?
its empty for a few days now...
it doesnt seem to refill with goin on to next day
and without ap he cant help defending while customer attacks
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 12:00:11 PM
just a question:
how does the hero gain AP?
its empty for a few days now...
it doesnt seem to refill with goin on to next day
and without ap he cant help defending while customer attacks

I've never coded that in, actually, I don't think hero does anything at all. He shouldn't be able to recover health and fatigue either... we've been focusing on code, not playability :(

You can add this to classes - characters.rpy file (Player class is the very first one, next_day method is last, after the delimiter)
Code: [Select]
    # --------------------------------------------------------------------- <-- delimiter
        def next_day(self):
            # ND Logic....
           
           
           
            # -------------
            self.itemCounter()
            # Add here:
            self.AP = self.maxAP + int(self.constitution / 20)
            self.mod("health", self.max["health"])
            self.mod("fatigue", self.min["fatigue"])
Title: Re: General Discussion
Post by: DarkTl on October 01, 2013, 01:14:36 PM
Well then, I've uploaded a new version of One Piece. All plain ugly (to me) pics are gone, except for Nefertari Vivi, since she doesn't have enough pics to be too picky, but enough to fill all main categories. I believe it's up to player whether to use such characters or not.
Title: Re: General Discussion
Post by: KaiSakurai on October 01, 2013, 04:04:51 PM
I've never coded that in, actually, I don't think hero does anything at all. He shouldn't be able to recover health and fatigue either... we've been focusing on code, not playability :(

You can add this to classes - characters.rpy file (Player class is the very first one, next_day method is last, after the delimiter)
Code: [Select]
    # --------------------------------------------------------------------- <-- delimiter
        def next_day(self):
            # ND Logic....
           
           
           
            # -------------
            self.itemCounter()
            # Add here:
            self.AP = self.maxAP + int(self.constitution / 20)
            self.mod("health", self.max["health"])
            self.mod("fatigue", self.min["fatigue"])

the hero actually does something in the brothel...
if positioned there and having at least 1 AP he helps if customers start a brawl
he acts like a guard
and since his stats r MUCH better than those of the guard girls he is the most important for defending
never losin with him
i cant believe u coded it but forgot that u did it and now say he doesnt do anything o.O

EDIT: the code works fine
AP recovered(and recovers faster than its used as i only use 1 AP per day but gain all 7 of his max AP xD)
finally this butthead is of some use again^^
until u implement actual combat system(besides tifa quest) being a guard is the only use the hero has
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 04:24:47 PM
i cant believe u coded it but forgot that u did it and now say he doesnt do anything o.O

LoL

I meant he doesn't have own report/ways to regenerate stats/setup screen and so on. I know there is a button to place him in the brothel for items transfer and he pretty much automatically defends the building if he has AP to do so.

PS: Girls keep loosing at that building cause 100+ costumers come there so if there is a brawl at the bar, lots of them participate. By the time that building is acquired in the normal gamemode, guards should be a lot stronger.
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 04:30:06 PM
EDIT: the code works fine
AP recovered(and recovers faster than its used as i only use 1 AP per day but gain all 7 of his max AP xD)
finally this butthead is of some use again^^
until u implement actual combat system(besides tifa quest) being a guard is the only use the hero has

Right now there is a 100% chance of fight occurring during the date and for as long as there is only one girl in the team, forest fights vs midgets does work. Arena will be the first place to do meaningful battles and I'll be surprised if I don't get dogfights done tomorrow...
Title: Re: General Discussion
Post by: KaiSakurai on October 01, 2013, 04:50:57 PM
Right now there is a 100% chance of fight occurring during the date and for as long as there is only one girl in the team, forest fights vs midgets does work. Arena will be the first place to do meaningful battles and I'll be surprised if I don't get dogfights done tomorrow...
forest fights work?
u mean in test forest exploration?
it doesnt for me
always get this error:
Code: [Select]
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/pyt - screens - forest explore.rpy", line 5, in script
  File "game/library/screens/pyt - screens - forest explore.rpy", line 5, in python
  File "game/library/classes - support.rpy", line 670, in python
  File "game/library/classes - support.rpy", line 759, in python
  File "game/library/be/engine.rpy", line 390, in python
  File "game/library/be/engine-battlefields.rpy", line 242, in python
TypeError: 'tuple' object does not support item assignment

btw the hero doesnt get exp for defending the brothel in a brawl
in classes - jobs.rpy for brawl events u coded:
Code: [Select]
statdict['exp'] = totaloff*0.2for the guards to get exp
but that does only work for girls
the hero doesnt get any exp like this even if he helps defending
i changed it into:
Code: [Select]
guard.exp += totaloff*0.2now both girls and hero get exp
Title: Re: General Discussion
Post by: GonDra on October 01, 2013, 05:03:55 PM
I think one of those guys that dissappeared shortly after beginning of the project made Haruhi. Or maybe it's yours, like Tifa, I don't remember.
Oh, and if you talking about those Naruto girls in the current dropbox version, they are not mine either.
I made Haruhi, at the very beginning of the project, my goal had just been to find out if I could implement a meetable character at that moment, I never considered it done and someone else said they would make haruhi and a few other characters from that series.
Take her out of the game if no one has time to bring her up to snuff, I certainly don't have the time.
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 05:11:46 PM
always get this error:
Code: [Select]
I'm sorry, but an uncaught exception occurred.

I've fixed this and contacted BE coder so he could remove the error in the future. It does work for one or two characters on the player team even in the old version...

Code: [Select]
guard.exp += totaloff*0.2now both girls and hero get exp

They all are but that's not the right way to do that.

I made Haruhi, at the very beginning of the project, my goal had just been to find out if I could implement a meetable character at that moment, I never considered it done and someone else said they would make haruhi and a few other characters from that series.
Take her out of the game if no one has time to bring her up to snuff, I certainly don't have the time.

CW wanted to put some time into that but girlsmeets are more important.
Title: Re: General Discussion
Post by: CherryWood on October 01, 2013, 05:44:15 PM
CW wanted to put some time into that but girlsmeets are more important.
Yes, I try to complete that pack someday soon (more then half of the work is done).
I didn't payed attention to the quality of her test version at all... Same for Sakura/Tenten/Hinata, my current versions are different from the old ones in content folder in DP.
Title: Re: General Discussion
Post by: KaiSakurai on October 01, 2013, 06:48:13 PM
They all are but that's not the right way to do that.

u sure?
hero didnt get any exp before i changed it like i told in previous post
had 30 days over with hero helping in def for at lest 10 times
exp: 0/1000
with my change he gets exp like guardgirls do
so y is the way i accomplished that wrong?
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 06:51:21 PM
PyTFall's first Arena fight :)

(http://img184.imagevenue.com/loc959/th_667693863_02_10_20131_46_43_122_959lo.jpg) (http://img184.imagevenue.com/img.php?image=667693863_02_10_20131_46_43_122_959lo.jpg)

Still a lot of kinks to work out but it's working :)
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 07:02:14 PM
so y is the way i accomplished that wrong?

As I've said, it'll work, it's not the right way since experience gained from guard jobs will no longer be displayed in girl reports.

Basically the order of logic is:

1) All stats added to the dictionary.
2) They are displayed to the player.
3) They are applied to girls (in the future hero as well).

So it kills the displaying part.

Better way would have been leaving the old code and adding:

Code: [Select]
hero.exp += totaloff*0.2
that would give hero experience without interfering with the system.

PS: If code is inside a loop, it might even give him XP several times :)
Title: Re: General Discussion
Post by: KaiSakurai on October 01, 2013, 07:44:42 PM
As I've said, it'll work, it's not the right way since experience gained from guard jobs will no longer be displayed in girl reports.

Basically the order of logic is:

1) All stats added to the dictionary.
2) They are displayed to the player.
3) They are applied to girls (in the future hero as well).

So it kills the displaying part.
didnt know that

Better way would have been leaving the old code and adding:

Code: [Select]
hero.exp += totaloff*0.2
that would give hero experience without interfering with the system.

PS: If code is inside a loop, it might even give him XP several times :)
ok changed it
(and if u knew that y didnt u add it rite away? =P)
Title: Re: General Discussion
Post by: Xela on October 01, 2013, 08:30:05 PM
ok changed it
(and if u knew that y didnt u add it rite away? =P)

Was busy with Arena and didn't want to get into jobs...

That was also only a slightly better shortcut to what you've proposed.

The correct way to do update all guard job related stats for hero in one sweep and without interfering with any part of the system is:

Code: [Select]
    # ---------------------------------------------------------------------
        def next_day(self):
            # ND Logic....
            for d in self.guard_relay:
                for stat in self.guard_relay[d]["stats"]:
                    if stat == "exp":
                        self.exp += self.guard_relay[d]["stats"][stat]
                    elif stat in Player.Stats:
                        self.mod(stat, self.guard_relay[d]["stats"][stat])
           
           
            # -------------
            self.itemCounter()
            self.AP = self.maxAP + int(self.constitution / 20)
            self.mod("health", self.max["health"])
            self.mod("fatigue", self.min["fatigue"])
            self.guard_relay = {
            "bar_event": {"count": 0, "helped": [], "stats": {}, "won": 0, "lost": 0},
            "whore_event": {"count": 0, "helped": [], "stats": {}, "won": 0, "lost": 0},
            "club_event": {"count": 0, "helped": [], "stats": {}, "won": 0, "lost": 0},
            }

In Player class but I could not write this off the top of my head... texts based on that dictionary will be added in the future as well.
Title: Re: General Discussion
Post by: DarkTl on October 02, 2013, 01:27:36 PM
Newest version of Naruto pack is uploaded.
Title: Re: General Discussion
Post by: Xela on October 02, 2013, 01:57:24 PM
Newest version of Naruto pack is uploaded.

Great, I didn't manage to get anything done today, still got a few hours left in me thou :)
Title: Re: General Discussion
Post by: DarkTl on October 03, 2013, 09:55:10 AM
We really could use tag system though. A lot of pictures could be used for 2 or more categories.
Title: Re: General Discussion
Post by: Xela on October 03, 2013, 10:59:33 AM
We really could use tag system though. A lot of pictures could be used for 2 or more categories.

Rudi's working on it and he has experience in the area so I see no point in me writing one...

There is a different topic for discussion:

Experience...

Do we need it at all? And if yes, how do we balance it?

We can hardly use DnD balancing system as I've failed to find a mathematical formulas for Challenge Rating vs Party Level. Also, in PyTFall, many enemies are characters so Challenge Rating is hardly applicable at all... Another issue, even if I manage to come up with a balance for battles (based on a difference in party levels) and add a multiplier based on a current party level, we could do the same thing to Whore job based on a difference between girls and costumers levels and something similar for Bar/Stripper task since all costumers actually "exist", but Cleaning task has nothing to check the level against...

I couldn't find any good solution in other games either, SM/OW don't have EXP at all, SimBro 1X uses a simpler system that doesn't do much and WM is unbalanced (btw, according to code, a girls with QL trait gets 5x more experience than with SL).

In any case, if we decide to get rid of experience, problem solved. If we decide to keep it and balance it somehow, we should find some REALLY good uses for it :)
Title: Re: General Discussion
Post by: DarkTl on October 03, 2013, 11:26:39 AM
In D&D exp and levels are everything. You cannot get permanently +1 to attack without level up, for example.
In our project you could use items or schools to rise stats anytime.

I figured levels could set max for stats (but you still could rise it other ways if you have enough money and don't want to wait for level up), give some health/mana/fatigue/whatever or be base for a skill tree in the future.
But we cannnot and shouldn't use exp system for balancing out battles.
Title: Re: General Discussion
Post by: Xela on October 03, 2013, 11:53:22 AM
In D&D exp and levels are everything. You cannot get permanently +1 to attack without level up, for example.
In our project you could use items or schools to rise stats anytime.

I figured levels could set max for stats (but you still could rise it other ways if you have enough money and don't want to wait for level up), give some health/mana/fatigue/whatever or be base for a skill tree in the future.
But we cannnot and shouldn't use exp system for balancing out battles.

We could prolly do absolute blocks on max stats based on levels as well...

I never proposed we use EXP to balance out fights, awarding exp for doing different jobs/actions is the problem.
Title: Re: General Discussion
Post by: DarkTl on October 03, 2013, 12:15:29 PM
I thinks we shouldn't use absolute blocks, we could make items that raise max stats expensive and rare enough, as well as schools. Otherwise anything that rises max stats will be useless.

Cleaning is a check of service against dirt level. The more was cleaned, the more exp girl will have. Or we could use some base exp award + dirt ponts removed by her, etc.

Or, since levels are secondary in the project, we could forget about them during checks at all and use stats instead. Like attack+defence+magic vs enemy attack+defence+magic. Or sex vs client libido  :)
Title: Re: General Discussion
Post by: Xela on October 03, 2013, 12:35:08 PM
I thinks we shouldn't use absolute blocks, we could make items that raise max stats expensive and rare enough, as well as schools. Otherwise anything that rises max stats will be useless.

Kinda depends, I am not saying that levels should increase max values, levels could simply enable the ability to increase max values.

Cleaning is a check of service against dirt level. The more was cleaned, the more exp girl will have. Or we could use some base exp award + dirt ponts removed by her, etc.

I could try to make it work... btw, I am going to implement new cleaning system based on area of the building. I couldn't figure how to make cleaning sensible for a long time, I think this is a really good way cause there will be no issues like 3 normal girls not being able to clean a small house in a day.

Or, since levels are secondary in the project, we could forget about them during checks at all and use stats instead. Like attack+defence+magic vs enemy attack+defence+magic. Or sex vs client libido  :)

Right now experience and levels are not that important but a good amount of code has been written for them. I still can't tell if EXP system is worth the effort.

-------------------------
Otherwise, there hasn't been any good progress on the arena front cause I've been busy with rl and fixing some bugs that I've found (thanks to Kai).
Title: Re: General Discussion
Post by: DarkTl on October 03, 2013, 12:58:04 PM
I am not saying that levels should increase max values, levels could simply enable the ability to increase max values.
I think it's a good idea then. Maybe +5 to abs max per level or something.

I still can't tell if EXP system is worth the effort.
I'm looking forward a skill tree, also some items, spells, occupations, jobs, etc. could require some min lvl in order to be available. Level could be quite useful for the balance too, like if you were lucky and got high-temperature plasma destroyer from the first mob, you still need 100+ level to use it  :)
Title: Re: General Discussion
Post by: Xela on October 03, 2013, 01:14:47 PM
I think it's a good idea then. Maybe +5 to abs max per level or something.

Oki. I prolly know a good way to code that in as well :) Even items and traits that were applied before the level up will take take take their effect slowly as levels increase the cap.

I'm looking forward a skill tree, also some items, spells, occupations, jobs, etc. could require some min lvl in order to be available. Level could be quite useful for the balance too, like if you were lucky and got high-temperature plasma destroyer from the first mob, you still need 100+ level to use it  :)

Hmm, decent idea, we already have spell levels, why not tie those to levels... Oki, than we'll leave EXP in and I'll try to find a way to balance it.

Another question, do you think that characters that were defeated in the arena should still get bonuses (like possible stat increases/exp gain).

We should also figure out some absolute max values for different classes at the start of a game, prolly enforced by the code...
Title: Re: General Discussion
Post by: DarkTl on October 03, 2013, 01:37:13 PM
Another question, do you think that characters that were defeated in the arena should still get bonuses (like possible stat increases/exp gain).
In most games if a character was defeated, s/he won't get anything. At best, s/he will be revived with 1 hp after the battle - I guess this is an option in case of arena.

Actually, I find it difficult remember any game with exp system where you get exp being unconscious or dead. Let's not simplify things too  :)

We should also figure out some absolute max values for different classes at the start of a game, prolly enforced by the code...
How about +1 or 2 to abs max per level for non-core stats? Like attack for a whore or sex for a warrior.
Title: Re: General Discussion
Post by: Xela on October 03, 2013, 02:01:35 PM
In most games if a character was defeated, s/he won't get anything. At best, s/he will be revived with 1 hp after the battle - I guess this is an option in case of arena.

Actually, I find it difficult remember any game with exp system where you get exp being unconscious or dead. Let's not simplify things too  :)

Oki, defeated characters will not gain anything. 1 hp for defeated in Arena I've already coded in. If you recall, we've half-coded in a sequence that will automatically kill a character at 0 hp. It's still working (needs a bit of improvement).

How about +1 or 2 to abs max per level for non-core stats? Like attack for a whore or sex for a warrior.

Might be simpler to give some points to player to distribute freely...

----------------------------------------------
Prototype code for leveling up is done, I need to adjust it in mod method and player Player class as well now. Test it afterwards.

Code: [Select]
            elif key == 'exp':
                if self.__dict__['effects']["Slow Learner"]['active']:
                    self.__dict__['exp'] = self.__dict__['exp'] + int((value - self.__dict__['exp'])*0.95)
                elif self.__dict__['effects']["Fast Learner"]['active']:
                    self.__dict__['exp'] = self.__dict__['exp'] + int((value - self.__dict__['exp'])*1.05)
                else:   
                    self.__dict__['exp'] = value
                while self.__dict__['exp'] >= self.__dict__['goal']:
                    self.__dict__['goal_increase'] += 1000
                    self.__dict__['goal'] += self.__dict__['goal_increase']
                    self.__dict__['level'] += 1
                    for stat in Girl.Stats:
                        if self.__dict__["max"][stat] > self.__dict__["lvl_max"][stat]:
                            if self.__dict__['stats'][stat] + self.__dict__['imod'][stat] == self.__dict__["lvl_max"][stat]:
                                amount = self.__dict__["max"][stat] - self.__dict__["lvl_max"][stat]
                                self.__dict__["lvl_max"][stat] += 5
                                self.__dict__['stats'][stat] += min(5, amount)
                            else:
                                self.__dict__["lvl_max"][stat] += 5
                        else:
                            self.__dict__["lvl_max"][stat] += 5
Title: Re: General Discussion
Post by: DarkTl on October 03, 2013, 02:10:45 PM
Might be simpler to give some points to player to distribute freely...
It could work for slave training or MC himself, but why are you supposed to control free girls during level up?
I guess we could use random distribution for them depending on occupation.
Title: Re: General Discussion
Post by: Xela on October 03, 2013, 02:16:07 PM
It could work for slave training or MC himself, but why are you supposed to control free girls during level up?
I guess we could use random distribution for them depending on occupation.

Didn't think of it... yeah, you're right, random distribution would work.

Code above seems to be working really well, maybe I'll change int to math.ceil later. Back to Arena I guess.
Title: Re: General Discussion
Post by: Xela on October 03, 2013, 02:55:00 PM

 I dont think we should do that, this is what schools are for.

Well, with two max limits, schools are not all that useful (since they can only increase absolute maximum and normal stats). We'll improve schools before Beta, I hate that code, it's been long time since I wrote that.
Title: Re: General Discussion
Post by: Xela on October 03, 2013, 07:14:16 PM
Still struggling with level up system... old code had one flow, it rendered all items that lowered absolute max obsolete in that regard. The trouble is that by fixing that, I've rendered all items that increase maximum, useless :)

So I've kinda came to a compromise, now levels increase both level max and absolute max but by different amount (abs = 2, level = 5).

Game will also choose the lowest of two as a maximum for stats so as game progresses, traits, items and training will become more and more relevant. Seems to be ok now...

New code:

Code: [Select]
            elif key == 'exp':
                if self.__dict__['effects']["Slow Learner"]['active']:
                    self.__dict__['exp'] = self.__dict__['exp'] + int((value - self.__dict__['exp'])*0.95)
                elif self.__dict__['effects']["Fast Learner"]['active']:
                    self.__dict__['exp'] = self.__dict__['exp'] + int((value - self.__dict__['exp'])*1.05)
                else:   
                    self.__dict__['exp'] = value
                while self.__dict__['exp'] >= self.__dict__['goal']:
                    self.__dict__['goal_increase'] += 1000
                    self.__dict__['goal'] += self.__dict__['goal_increase']
                    self.__dict__['level'] += 1
                    for stat in Girl.Stats:
                        if self.__dict__['stats'][stat] + self.__dict__['imod'][stat] >= min(self.__dict__["lvl_max"][stat], self.__dict__["max"][stat]):
                            adjust_stats = True
                        else:
                            adjust_stats = False
                        self.__dict__["lvl_max"][stat] += 5
                        self.__dict__["max"][stat] += 2
                        if adjust_stats:                               
                            l = range(1, 6)
                            l.reverse()
                            for i in l:
                                if self.__dict__["stats"][stat] + i <= min(self.__dict__["lvl_max"][stat], self.__dict__["max"][stat]):
                                    self.__dict__["stats"][stat] += i
                                    break
Title: Re: General Discussion
Post by: DarkTl on October 04, 2013, 05:00:48 AM
About death at arena, I believe those who died should get penalty to fame (or reputation, don't remember which one you can rise at arena  :) ).

So I've kinda came to a compromise, now levels increase both level max and absolute max but by different amount (abs = 2, level = 5).
Sorry, I kinda don't get it. What is level max? Usual (non abs) max for stat?
Title: Re: General Discussion
Post by: Xela on October 04, 2013, 01:21:20 PM
About death at arena, I believe those who died should get penalty to fame (or reputation, don't remember which one you can rise at arena  :) ).

There is new stat called arena_rep.

Sorry, I kinda don't get it. What is level max? Usual (non abs) max for stat?

There are two maxes right now. One is called max (Old maximum, this one is being increased by traits and items), other is called lvl.max (level maximum). Each time you gain a level power up, max gets +2 and lvl_max + 5. The one that is the lowest at any point of the game counts as maximum value for every stat.

So, at the beginning of the game, it doesn't matter if your girls have the best items and best traits, lvl_max will prevent stats from going to high, however, as girl's and hero's level advances, items and especially advanced items become more and more relevant! I think this is a very good compromise... I put quite a bit of time to figure this out and make it work, alternative was coding in a whole new tracking system...
Title: Re: General Discussion
Post by: DarkTl on October 04, 2013, 05:36:15 PM
I see. Yeah, I like the idea.
Title: Re: General Discussion
Post by: Xela on October 04, 2013, 08:24:05 PM
I see. Yeah, I like the idea.

Great, experience than...

I see a couple of options:

1) Hard way: Try to balance leveling up system, I found some formulas but those are not very helpful since they are written around monster level, not vs level of other character. If done this way, it may take a good deal of time to get this just right.
I did think about this and I can prolly make it work, but it is not gonna be easy...

2) Switch to a linear system, kinda lame, but will be a lot easier to balance, experience required for every level will simply be 1000 points, much simpler.

3) Leave D&D level up system but adjust experience gains according to level. Just as easy to balance as above but is less lame. One drawback is that girls of different levels will get more experience for doing the same tasks (like cleaning for example). Fighting exp gains will be mitigated by awards being based on difference of levels, similar thing can be done for other jobs vs clients with a bit of effort.

4) Last option I could come up with, is a mix, we use simple exp gaining techniques (almost linear) and make sure that the difference for required experience for next levels is minor...
Title: Re: General Discussion
Post by: DarkTl on October 05, 2013, 04:49:13 AM
they are written around monster level, not vs level of other character
It doesn't matter if you fight against monster or character, level is level.

On the other hand, in d&d all exp you could get not from killing (like quests) is predetermined and does not depend on level. Since we'll have a lot of ways to get exp (like jobs), I guess we cannot use d&d system only.
For example, in case of cleaning low level girl will need less exp to level up, but she (usualy) has less service/fatigue/whatever, so she will get less exp per shift too.
Title: Re: General Discussion
Post by: Xela on October 05, 2013, 06:44:10 AM
It doesn't matter if you fight against monster or character, level is level.

Not entirely true, they have a table of CR (kinda like monster rating), each monster has it's own CR and exp bonus depends on it.
Also there is a conversion table between CR and character level.


On the other hand, in d&d all exp you could get not from killing (like quests) is predetermined and does not depend on level. Since we'll have a lot of ways to get exp (like jobs), I guess we cannot use d&d system only.
For example, in case of cleaning low level girl will need less exp to level up, but she (usualy) has less service/fatigue/whatever, so she will get less exp per shift too.

We need to agree on a system and roll with it. I've proposed four options, maybe someone can think of more possibilities? But we need to pick one.

On the other hand, Rudi has improved his image tagging software quite a bit and it seems basically to be ready for tagging, some adjustments have to be made for PyTFall, I've asked him to take a look at it but we could use it even as it is now.

Anyway, this opens  a whole new field for discussion: Tags (http://www.pinkpetal.org/index.php?topic=1895.msg22427#msg22427)
Title: Re: General Discussion
Post by: DarkTl on October 05, 2013, 08:18:37 AM
Not entirely true, they have a table of CR (kinda like monster rating), each monster has it's own CR and exp bonus depends on it.
Here (http://www.wizards.com/dnd/DnD_DMG_XPFinal.asp):
Quote
An NPC with a PC class has a Challenge Rating equal to the NPC’s level. Thus, an 8th-level sorcerer is an 8th-level encounter. As a rule of thumb, doubling the number of foes adds 2 to the CR. Therefore, two 8th-level fighters are an EL 10 encounter. A party of four NPC 8th-level characters is an EL 12 encounter.

We need to agree on a system and roll with it.
I'm not sure how they could work for a cleaning or any other job where you don't even have a customer with some lvl.
I'd prefer 1 or 3 though.
Title: Re: General Discussion
Post by: Xela on October 05, 2013, 08:26:37 AM
Here (http://www.wizards.com/dnd/DnD_DMG_XPFinal.asp):I'm not sure how they could work for a cleaning or any other job where you don't even have a customer with some lvl.
I'd prefer 1 or 3 though.

I've read that and found better sites with mathematical background for most of that crap, that's why I said first version was possible in previous post, a while back I didn't even want to touch that.

Third option seems to be perfect middle-ground to me, best coding-time/playability ratio.
Title: Re: General Discussion
Post by: DarkTl on October 05, 2013, 08:36:25 AM
Actually, I figured we only going to use levels progression from d&d, not exp system itself. It's too complicated for a brothel game, so I was kinda surprised  :)
Title: Re: General Discussion
Post by: Xela on October 05, 2013, 08:55:55 AM
Actually, I figured we only going to use levels progression from d&d, not exp system itself. It's too complicated for a brothel game, so I was kinda surprised  :)

Well, without any sort of adjustments, DnD system will never work :) Difference in experience required between the levels is to great...

Linear adjustments as in option 3 are the simplest way to keep up I think...
Title: Re: General Discussion
Post by: DarkTl on October 05, 2013, 08:59:07 AM
Maybe about 500 more exp needed for lvl up per level? It won't be that great difference, but still not linear.
Title: Re: General Discussion
Post by: Xela on October 05, 2013, 09:14:53 AM
Maybe about 500 more exp needed for lvl up per level? It won't be that great difference, but still not linear.

It doesn't matter, we can leave DnD system if every experience gain is adjusted by girl's level.
Title: Re: General Discussion
Post by: DarkTl on October 05, 2013, 06:24:06 PM
If/when we'll implement occupation changing system, I wonder if we should do something with character level and/or stats. For example, in d&d multiclass has significant exp penalty.
Title: Re: General Discussion
Post by: Xela on October 05, 2013, 07:08:34 PM
If/when we'll implement occupation changing system, I wonder if we should do something with character level and/or stats. For example, in d&d multiclass has significant exp penalty.

If you mean girls being asked to do something they are not supposed to according to their class, we already have penalties for that... in any case, it's easy to code in.
Title: Re: General Discussion
Post by: DarkTl on October 06, 2013, 03:52:21 AM
No I don't. I mean permanent change of occupation, maybe when disposition is high enough to ask a girl about it, or through a school of some sort.
Title: Re: General Discussion
Post by: Xela on October 06, 2013, 06:28:31 AM
No I don't. I mean permanent change of occupation, maybe when disposition is high enough to ask a girl about it, or through a school of some sort.

Ok, I don't mind that. We'll add that when we get to interactions (classes will be changed there I guess).
Title: Re: General Discussion
Post by: Xela on October 06, 2013, 03:34:59 PM
LoL

Apologies, I might be to drunk right now but this is another 10 hours  (http://www.youtube.com/watch?v=T2RaehsIbkU)vid...

"That was rhetorical, you know know I am the oracle  8)"
Title: Re: General Discussion
Post by: Xela on October 10, 2013, 03:50:28 PM
First prototype of Arena victory/loss screen is ready, not nearly as cool as I've imagined but maybe with better graphics...

Everything slides... stats move.

(http://img249.imagevenue.com/loc389/th_434219819_10_10_201322_42_02_122_389lo.jpg) (http://img249.imagevenue.com/img.php?image=434219819_10_10_201322_42_02_122_389lo.jpg)
Title: Re: General Discussion
Post by: Xipomus on October 10, 2013, 06:31:56 PM
You might want to use renpy to set both pictures of the fighters ... then have the loser fall away and the winner enlarged or something.

That way you can have individual winner screens. You could try to have several different ways of removing the loser...

Lot of good ideas read so far.

Keep up the good work.
Title: Re: General Discussion
Post by: Xela on October 10, 2013, 06:40:04 PM
You might want to use renpy to set both pictures of the fighters ... then have the loser fall away and the winner enlarged or something.

That way you can have individual winner screens. You could try to have several different ways of removing the loser...

Lot of good ideas read so far.

Keep up the good work.

I've got the screen to the point where I am happy with it for the moment, we'll do a makeover at some point and improve it than.
Title: Re: General Discussion
Post by: CherryWood on October 12, 2013, 01:43:37 PM
May I delete and reupload our content/schools DB folder? It's messed up a bit.l
Title: Re: General Discussion
Post by: DarkTl on October 12, 2013, 02:31:07 PM
Mmm, what do you mean by messed up?
Title: Re: General Discussion
Post by: CherryWood on October 12, 2013, 02:45:15 PM
Mmm, what do you mean by messed up?
About two months ago, I've reworked most of the class images for better look in school menu. But Xela probably did not update that in his development version, which now after uploading resulted in a strange combination of old and new images in DB folder.
Title: Re: General Discussion
Post by: Xela on October 12, 2013, 02:56:16 PM
About two months ago, I've reworked most of the class images for better look in school menu. But Xela probably did not update that in his development version, which now after uploading resulted in a strange combination of old and new images in DB folder.

Just delete whatever is not required and upload the new images. I'll delete mine and copy the new once from the DB version so we'll not get the same problem again.
Title: Re: General Discussion
Post by: DarkTl on October 12, 2013, 03:34:26 PM
I'll make some improvements there too then. Like deleting really bad ones and renaming.
Title: Re: General Discussion
Post by: Xela on October 12, 2013, 03:44:46 PM
I'll make some improvements there too then. Like deleting really bad ones and renaming.

Oki, if I recall that old code correctly, names do not matter, only folders.

PS: Off the topic, but I freaking love Python/RenPy, our whole gallery code is less than 100 lines :D (just noticed that)
Title: Re: General Discussion
Post by: DarkTl on October 12, 2013, 03:50:55 PM
Yeah, I really hate standard gelbooru/danbooru names like 1ccc7336433837a78032f01926d0ae41 or something  :)
Title: Re: General Discussion
Post by: Xela on October 13, 2013, 03:49:34 AM
My laptop is fried :( So it'll mean less development time... I code faster on PC though...
Title: Re: General Discussion
Post by: DarkTl on October 13, 2013, 08:26:34 AM
My condolences  :(

Another example of character status screen, from Agarest this time. I like that polygon thing, we could use something similar.  Maybe one for combat and one for non-combat stats.
(http://s001.youpic.su/pictures/1381608000/thumb_14aad901df220752984b0e5a326b8dc3.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1381608000/14aad901df220752984b0e5a326b8dc3.jpg)
Title: Re: General Discussion
Post by: Xela on October 13, 2013, 10:07:40 AM
My condolences  :(

For 6 years it served me, everything has it's end. My desktop has been collecting dust since I got back from the hospital, I've set it up this morning. It's 5 or 6 times faster and screen is a lot bigger so it's all good :)

Best thing is that I already have the development environment exactly as it was with the laptop thanks to the magic of DB!

Another example of character status screen, from Agarest this time. I like that polygon thing, we could use something similar.  Maybe one for combat and one for non-combat stats.

As much as I would love to try this out (In renpy it can be done with UDD and I've been dieing to figure out how that works (it's the most advanced feature RenPy offers)), I think that we have to many stats for such an interface.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2013, 10:48:38 AM
Hm, I wonder. We could use it for combat stats only (att, def, ag, mag, maybe mdef in the future or luck) at arena. You don't need other stats there.
Don't know if we should show them before the battle, but they might look good at post fight screen.
Title: Re: General Discussion
Post by: Xela on October 13, 2013, 10:52:44 AM
Hm, I wonder. We could use it for combat stats only (att, def, ag, mag, maybe mdef in the future or luck) at arena. You don't need other stats there.
Don't know if we should show them before the battle, but they might look good at post fight screen.

Might be to much work for a pop-up but I'll take a look.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2013, 12:57:17 PM
What can I say, less 'playing' with Rukia and more coding  ::)

I think schools pics are ready. Some of them have quite low res, but if you won't use them as full screen backgrounds, it shouldn't be a problem.
Title: Re: General Discussion
Post by: Xela on October 13, 2013, 01:08:22 PM
What can I say, less 'playing' with Rukia and more coding  ::)

I think schools pics are ready. Some of them have quite low res, but if you won't use them as full screen backgrounds, it shouldn't be a problem.

It's not just about coding, I don't remember enough trigonometry to write that code even if I figure out renpy's UDD, it'll take a while to refresh my memory. I am going to get into UDD tonight, but there are no plans to implement those stats any time soon :)


Edit: Where can I find new scoolpics? Your folder/game folder/elsewhere?
Title: Re: General Discussion
Post by: Xela on October 13, 2013, 01:59:24 PM
What can I say, less 'playing' with Rukia and more coding  ::)

I've found some code we can use, is there any chance of ripping the pentagon shape from that game? My guess is that the mask underneath is 2D rendered but shape itself is an overlay image?

PS: Just for the record, Rukia is also animated with a UDD that I plan to improve, so it's also coding  ::)
Title: Re: General Discussion
Post by: DarkTl on October 13, 2013, 02:39:46 PM
Sure. Take a look at Agarest folder in my db, there are a lot of interesting interface elements. Pentagon is pentagon.dds.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2013, 02:44:35 PM
School pics in your db pytfall folder, ibid where they were.
Title: Re: General Discussion
Post by: Xela on October 13, 2013, 03:53:07 PM
School pics in your db pytfall folder, ibid where they were.

Thanks, I've updated my dev version with new pics, trying to figure out that pentagon now :) 40 lines of render code required would have taken me weeks/months to get right without help...


First sc:

(http://img161.imagevenue.com/loc255/th_694462938_10_13_201310_59_29PM_122_255lo.jpg) (http://img161.imagevenue.com/img.php?image=694462938_10_13_201310_59_29PM_122_255lo.jpg)
     
Title: Re: General Discussion
Post by: Xela on October 13, 2013, 06:36:31 PM
(http://img107.imagevenue.com/loc590/th_703599500_10_14_20131_33_28AM_122_590lo.jpg) (http://img107.imagevenue.com/img.php?image=703599500_10_14_20131_33_28AM_122_590lo.jpg)

Going to get some sleep, better than before but still a long way to go, even before the general makeover...
     
Title: Re: General Discussion
Post by: KaiSakurai on October 15, 2013, 09:28:16 AM
btw dude could u change the girls list screen?
i have more than 23 girls
and evry girl's name from the 24th in the girls list is beyond the screen and i cant scroll down........
i have to go into girls sheet of 23rd girl and click next until i get to the girl i want........
Title: Re: General Discussion
Post by: Xela on October 15, 2013, 04:18:52 PM
btw dude could u change the girls list screen?
i have more than 23 girls
and evry girl's name from the 24th in the girls list is beyond the screen and i cant scroll down........
i have to go into girls sheet of 23rd girl and click next until i get to the girl i want........

Been busy for past two days...

In library/screens/pyt - screen - girlslist.rpy, replace the screen "pyt_girlslist" part with:

Code: [Select]
screen pyt_girlslist:

    if len(hero.girls) > 0:

        side "c r":
            align(0.0, 0.2)
           
            viewport id "girlslistvp":
                draggable true
                mousewheel true
                maximum(1270, 700)
                hbox:
                    box_wrap true
                    spacing 10
                    for girl in hero.girls:
                        textbutton '[girl.name]':
                            minimum(230, 30)
                            maximum(230, 30)
                            xfill true
                            action Return(['choice', girl])

            vbar value YScrollValue("girlslistvp")
           
    use r_lightbutton(img=im.Scale("content/gfx/interface/buttons/shape69.png", 40, 40), return_value =['control', 'return'], align=(0.99, 0))
Title: Re: General Discussion
Post by: DarkTl on October 17, 2013, 01:04:17 PM
I'm down with flu this week, so I cannot be much of a help. Hopefully, I'll feel better close to the weekend.
Title: Re: General Discussion
Post by: Xela on October 17, 2013, 01:32:59 PM
I'm down with flu this week, so I cannot be much of a help. Hopefully, I'll feel better close to the weekend.

:(

Make sure you do get better, not just feel better, with shitty thing like flu it may escalate... I've been busy for past couple of days but plan is to put some good time into the arena code this weekend.
Title: Re: General Discussion
Post by: KaiSakurai on October 17, 2013, 02:06:16 PM
I'm down with flu this week, so I cannot be much of a help. Hopefully, I'll feel better close to the weekend.
kissing/sex helps healing..........
not kidding.............
Title: Re: General Discussion
Post by: Xela on October 17, 2013, 02:29:34 PM
kissing/sex helps healing..........
not kidding.............

Might also help spreading it around a bit...
Title: Re: General Discussion
Post by: KaiSakurai on October 19, 2013, 09:54:44 AM
Might also help spreading it around a bit...
acceptable side-effect =P
Title: Re: General Discussion
Post by: DarkTl on October 19, 2013, 01:38:27 PM
I really hope you are trolling or something  (http://th05.deviantart.net/fs71/PRE/i/2011/241/1/7/itachi_no_facepalm11_8dd_by_tayui-d48957n.png)
Title: Re: General Discussion
Post by: KaiSakurai on October 19, 2013, 06:35:02 PM
I really hope you are trolling or something  (http://th05.deviantart.net/fs71/PRE/i/2011/241/1/7/itachi_no_facepalm11_8dd_by_tayui-d48957n.png)
since u r sick i wanted to brighten the mood a bit by joking around a little(though kissing rly helps healing since u give part of ur illness to ur kissing partner...)
so dont be an itachi who's killing the mood again.........
Title: Re: General Discussion
Post by: DarkTl on October 20, 2013, 07:25:34 AM
Sorry, it doesn't seem funny to me. Because that's how I got it in the first place ("part of the illness", right; more like a copy  (http://s001.youpic.su/pictures/1382212800/399d547294bafb0c0fc2f3549a6caec1.jpg) (http://youpic.su)).
I wonder if we should add something like that in the game for MC  :)

I have looked for bg removers, the best free offline one is probably imagemagick. I'll see if it can be of any use for packs.
Title: Re: General Discussion
Post by: KaiSakurai on October 20, 2013, 10:35:13 AM
Sorry, it doesn't seem funny to me. Because that's how I got it in the first place ("part of the illness", right; more like a copy  (http://s001.youpic.su/pictures/1382212800/399d547294bafb0c0fc2f3549a6caec1.jpg) (http://youpic.su)).
I wonder if we should add something like that in the game for MC  :)
lol then dont play lovey-dovey if the other one is sick xD
and see? i gave u another idea for the game... spreading illnesses........
Title: Re: General Discussion
Post by: Xela on October 20, 2013, 04:19:04 PM
I was thinking about spreading stds in the future, when city model is more advanced. RL sh!tz came up so I didn't manage to get a lot done this weekend. Just two new methods for the Arena + learned some stuff on UDD and Python.

Basically, autocombat and ladder placing is done but not yet tested. Healing/recovering will prolly be a part of PyTFallWorld class. For the Arena, player challenge for ladders still needs to be done, but that's very easy, I don't want player to be able to form all girl teams to fight in arena before Alpha.

@CW: Any progress on girlsmeets texts or have you been slacking off as well?
Title: Re: General Discussion
Post by: CherryWood on October 20, 2013, 05:49:31 PM
@CW: Any progress on girlsmeets texts or have you been slacking off as well?
Yes, you can say that. It turned out that I'm just terrible with this kind of stuff. Hard to speak about any progress at all...


What are your expectations?
Title: Re: General Discussion
Post by: Xela on October 20, 2013, 06:16:21 PM
Well, my plan was to take lines that you've gathered from different games and put them in pytfall :)

Start with the basics and build up...
Title: Re: General Discussion
Post by: Xela on October 21, 2013, 07:57:45 AM
Some more screen remodeling:


(http://img253.imagevenue.com/loc530/th_356537808_10_21_20132_54_50PM_122_530lo.jpg) (http://img253.imagevenue.com/img.php?image=356537808_10_21_20132_54_50PM_122_530lo.jpg)

Teams/Attacks still to go, maybe different frames for items...
Title: Re: General Discussion
Post by: DarkTl on October 21, 2013, 10:15:52 AM
We should improve equipment doll, I think. Otherwise, looks good enough for alpha and beta to me.
Title: Re: General Discussion
Post by: Xela on October 21, 2013, 10:21:31 AM
We should improve equipment doll, I think. Otherwise, looks good enough for alpha and beta to me.

Improve it how? Those resources are awesome btw, I've ripped some of them to use elsewhere as well, maybe more later...
Title: Re: General Discussion
Post by: DarkTl on October 21, 2013, 10:31:47 AM
Actual doll would be a good start, I guess (http://www.dsa-drakensang.de/images/screenshots/86.jpg).
Or just regroup them around the character and add icons to empty ones. (http://img198.imageshack.us/img198/7061/character1.jpg)

Agarest has too simple equipment system, so it cannot help here.
Title: Re: General Discussion
Post by: Xela on October 21, 2013, 10:39:32 AM
Ah, ok... Maybe post Alpha? Hunting for resources for something like that customized for PyTFall might be tiresome.

I am going to put some time into Arena tonight, leave GUI for later. I did hero profile screen yesterday cause it was late and head was to foggy for Arena code.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2013, 10:53:57 AM
Those resources are awesome btw, I've ripped some of them to use elsewhere as well, maybe more later...
Those ones in db are just a small part. I'll rip more tomorrow (while I'm still on sick leave  :) ).

Maybe post Alpha?
Ok, maybe for beta then.
Title: Re: General Discussion
Post by: Xipomus on October 21, 2013, 04:25:32 PM
You could off course just use a siloute for that body type.. male or female ect. that way with a few siloutes you can be done.

Else you get the generic doll thing like in Otherworld.

btw I didn't know the internet was an infection source :D.. the whole weekend i've had a fever and today at work wasn't much better...

Good luck with coding the arena.
Title: Re: General Discussion
Post by: Xela on October 21, 2013, 06:07:51 PM
Finally managed to get some work done on the Arena. Automatic ladder fighting is now debugged and active. Lots of relevant code seems to be working as well. Fixed a bunch of bugs and improved lots of code. Still two methods left to debug for tomorrow evening. In any case, Arena is functioning much better and faster today than it was yesterday :)
Title: Re: General Discussion
Post by: DarkTl on October 22, 2013, 11:05:33 AM
I guess rudi is busy with rl these days. When are you planning to release the first alpha? Can we afford to wait for tabs?

I ripped some more resources, including backgrounds. There are characters pics, sounds and movies left, I doubt we need them, at least at this point.
Title: Re: General Discussion
Post by: Xela on October 22, 2013, 12:10:34 PM
I guess rudi is busy with rl these days. When are you planning to release the first alpha? Can we afford to wait for tabs?

I tried tagging software and never felt great need for tabs, basically as far as I am concerned, it's ready for tagging.

On the release date:

This is what I would like to get done before the Alpha release:

- Adapt jobs to work with new traits.
- Add virginity checks to whore job/school.
- Improve girl's profile screen, even if only slightly.
- Wrap up hero profile screen.
- Finish really basic exploration. (just two or three tile types)
- Girlsmeets.
- Interactions.
- Basic intro, prolly without MC choice for the alpha.
- Naming of player team.
- Really basic world AI. (first babysteps)
- Fix couple of things in shops.
- Maybe a couple of extra locations.
- One or two NPC's.

Arena:
What we have now:
- 3 Lineups.
- 3 Ladders (matches).
- Reputation Lineup.
- Working dogfights.
- Working Automatic combat resolver for official matches along with rewards and new placings in ladders + basic reports (daily).
- Arena "King" logic, but without NPC/some story it's quite useless at the moment.
- Some screens obviously...

What I want for the Alpha:
- Player challenge for the matches.
- Some intro, maybe with NPC
- Gold rewards
- Team formation through JSON.
- Creatures/Monsters through JSON and separate fighting events for them.

Some of it is really easy and can be done quickly, some stuff a bit more time consuming. It's hard to put timeframe on it at the moment, but my guess would be 3 - 4 weeks if I manage to put in enough time.

I ripped some more resources, including backgrounds. There are characters pics, sounds and movies left, I doubt we need them, at least at this point.

I'll take a look :)

Forget about characters for now, sounds we might use in the future. Movies are prolly useless.

Edit:
Some of that stuff is REALLY great... I'll convert those to png when I get the time, tonight I have some Arena stuff planned in.
Title: Re: General Discussion
Post by: DarkTl on October 22, 2013, 01:28:13 PM
I tried tagging software and never felt great need for tabs, basically as far as I am concerned, it's ready for tagging.
Did you try it with a couple of pics or with a pack with 1000+ pics ?  :)
Title: Re: General Discussion
Post by: Xela on October 22, 2013, 01:29:51 PM
Did you try it with a couple of pics or with a pack with 1000+ pics ?  :)

Couple of pics, but it should be fine for large packs as well :)
Title: Re: General Discussion
Post by: Xipomus on October 22, 2013, 04:03:38 PM
The meetscript, do you mean a meetscript like with tifa as a default script?

I can probably make up a renpy script like that one is with about 10 different endings.
If the class is something I can read, I can probalby differentiate between warrior (battle), servant (getting beat up or raped) and prostitute (getting a bj or testrun or something).

Let me know if that's something you would like... you do have to check the girls dir for a script before running this one of course...

X

I tried tagging software and never felt great need for tabs, basically as far as I am concerned, it's ready for tagging.

On the release date:

This is what I would like to get done before the Alpha release:

- Adapt jobs to work with new traits.
- Add virginity checks to whore job/school.
- Improve girl's profile screen, even if only slightly.
- Wrap up hero profile screen.
- Finish really basic exploration. (just two or three tile types)
- Girlsmeets.
- Interactions.
- Basic intro, prolly without MC choice for the alpha.
- Naming of player team.
- Really basic world AI. (first babysteps)
- Fix couple of things in shops.
- Maybe a couple of extra locations.
- One or two NPC's.

Arena:
What we have now:
- 3 Lineups.
- 3 Ladders (matches).
- Reputation Lineup.
- Working dogfights.
- Working Automatic combat resolver for official matches along with rewards and new placings in ladders + basic reports (daily).
- Arena "King" logic, but without NPC/some story it's quite useless at the moment.
- Some screens obviously...

What I want for the Alpha:
- Player challenge for the matches.
- Some intro, maybe with NPC
- Gold rewards
- Team formation through JSON.
- Creatures/Monsters through JSON and separate fighting events for them.

Some of it is really easy and can be done quickly, some stuff a bit more time consuming. It's hard to put timeframe on it at the moment, but my guess would be 3 - 4 weeks if I manage to put in enough time.

I'll take a look :)

Forget about characters for now, sounds we might use in the future. Movies are prolly useless.

Edit:
Some of that stuff is REALLY great... I'll convert those to png when I get the time, tonight I have some Arena stuff planned in.
Title: Re: General Discussion
Post by: Xela on October 22, 2013, 04:12:22 PM
The meetscript, do you mean a meetscript like with tifa as a default script?

I can probably make up a renpy script like that one is with about 10 different endings.
If the class is something I can read, I can probalby differentiate between warrior (battle), servant (getting beat up or raped) and prostitute (getting a bj or testrun or something).

Let me know if that's something you would like... you do have to check the girls dir for a script before running this one of course...

X

It's not what I've meant, but extra content is always welcome :)

What I did mean however by GirlsMeets is what CW is working or at least trying to work on at the moment. Basically, it's like in SimBro 1x, player goes to town, meets a girl (they are placed randomly in multiple locations) and talks to her attempting to raise disposition. After disposition is high enough, girl can be recruited (usually free of charge). It's one of the best ways to acquire free (not enslaved) girls in PyTFall at the moment. Code for girlsmeets is ready but there is almost no content.
Title: Re: General Discussion
Post by: Xipomus on October 22, 2013, 04:22:49 PM
So if I understand correctly you need text written and do things that can change the dispositition. Like the girls in the park you now meet all the time till you have them all.

Like giving a certain gift (after finding out what the girl likes) can raise it a bit.. or just asking about her can raise it 1 time?

Do you have an idea if you want a "standard" set of rules or several type  of girls.. some shy (like more shy things, books, small items) some in between (maybe some nice clothes nothing rancy or small jewerly and some outgoing of even horny (hot clothes or naughty items)

Just an idea. Maybe base it on class? that way you can have the girls react a bit differently... else you have to program every girl indivudually... which would take a looooot of time.

Title: Re: General Discussion
Post by: Xela on October 22, 2013, 05:02:05 PM
So if I understand correctly you need text written and do things that can change the dispositition. Like the girls in the park you now meet all the time till you have them all.

CW gathered an impressive list of texts from other games, it can be very useful. If you want to see an example of what I'm talking about, try SimBro 1X. It's more basic there but idea is similar.

Like giving a certain gift (after finding out what the girl likes) can raise it a bit.. or just asking about her can raise it 1 time?

Do you have an idea if you want a "standard" set of rules or several type  of girls.. some shy (like more shy things, books, small items) some in between (maybe some nice clothes nothing rancy or small jewerly and some outgoing of even horny (hot clothes or naughty items)

Just talking can raise disposition as well. Giving gifts definitely, gifts should be items but I don't know if we should introduce separate category or just use normal items. We haven't decided that yet. In any case, giving items will require extra screen, I'll code that in later.

Just an idea. Maybe base it on class? that way you can have the girls react a bit differently... else you have to program every girl indivudually... which would take a looooot of time.

Yeap, we should base it on class (called occupation in PyTFall), just like in SimBro. Later more, based on traits and likes/dislikes (post Alpha). Programming for each girl individually is already allowed but we are not going to do that.

-----
In any case, you should talk to CW about this, he had a very good collection of texts in xml, if i was to do girlmeets, I would definitely use many texts from there.


=====================================================================

I am done coding for the night, bit tired so I am making to many mistakes, it's not a good idea to continue into the night like this.

Progress:
Automatic dogfights are working now :)
Non hero girls are being restored (health, AP, effects, Mp)
Arena feels a bit more alive... tomorrow I will prolly add ability to fight in official matches (extra two methods :) )

Arena is now 2k lines of code :)
Title: Re: General Discussion
Post by: CherryWood on October 23, 2013, 03:58:27 AM

I always get stuck with texts. While I can imagine a lot of things we could have in girlmeets, and (with exception of giving gifts) it all also look relatively easy to code, I am just not able to write them in any reasonable amount of time. It take me hours to write a few lines, and we need plenty...
Sometimes it's because of my poor english, but often I just can't think of anything good to write at all, for example I still have no clue what girls should say when you try to give them money.
-------


I was planning to do a simple one click = one response from girl system for alpha (simbro1x clone), and to try dates and chance for girl own actions (also simple) later.


I wanted to have 5-10 normal responses for both success and fail in each option and to replace these with supplementary lines for traits (the most basic personality ones: shy, polite, egocentric, unsociable, cheerful, high morals) in some cases.
Only chat/interest texts I wanted to choose differently, using list to gather lines from all conditions and then choose randomly from all that match.


For logic, I was just thinking about two simple checks: success chance depending on disposition range and if same action was chosen twice +slightly different numbers for some traits.




...but It all went poorly and now I have only some texts here and there and not even one category that I can consider complete. So any help is very welcomed.
 I'm giving it a last try this week and after that I just send whatever I will have, because I stalled this for long enough.
Title: Re: General Discussion
Post by: Xela on October 23, 2013, 07:06:11 AM
I always get stuck with texts. While I can imagine a lot of things we could have in girlmeets, and (with exception of giving gifts) it all also look relatively easy to code, I am just not able to write them in any reasonable amount of time. It take me hours to write a few lines, and we need plenty...
Sometimes it's because of my poor english, but often I just can't think of anything good to write at all, for example I still have no clue what girls should say when you try to give them money.

You need to relax a bit... "Thank you!" would be a good start, with a slight disposition increase. Later we can improve it based on how much money girl has. I will be coding simple AI jobs, we can improve giving money routine than. For now, keep it simple.

I was planning to do a simple one click = one response from girl system for alpha (simbro1x clone), and to try dates and chance for girl own actions (also simple) later.

Yeap, that would be the best approach. Maybe two responses per occupation where it's easy to come up with those.

I wanted to have 5-10 normal responses for both success and fail in each option and to replace these with supplementary lines for traits (the most basic personality ones: shy, polite, egocentric, unsociable, cheerful, high morals) in some cases.
Only chat/interest texts I wanted to choose differently, using list to gather lines from all conditions and then choose randomly from all that match.

Prolly an overkill for an Alpha, for beta this will be a good bet.

For logic, I was just thinking about two simple checks: success chance depending on disposition range and if same action was chosen twice +slightly different numbers for some traits.

Do you know how to flag actions (per girl)? Might also be an overkill for now. I would love to see simple version to be done first, like in SimBro 1X, checks not on traits but occupations (for starters) and without flags. But if you want to go farther, no problem.

...but It all went poorly and now I have only some texts here and there and not even one category that I can consider complete. So any help is very welcomed.
 I'm giving it a last try this week and after that I just send whatever I will have, because I stalled this for long enough.

Well, we'll take a look and discuss, just don't remove anything you've already done to simplify stuff. We'll build on whatever you have.
Title: Re: General Discussion
Post by: Xela on October 23, 2013, 07:11:41 AM
Another thing for the Alpha:

If packs are tagged with software, I would like to improve jobs accordingly, maybe a couple of events as well. If not, we'll keep it simple, as they are now.
Title: Re: General Discussion
Post by: CherryWood on October 23, 2013, 09:42:34 AM
I was under the impression that tagger software is not yet ready and that there will be some changes in tags before we start with tagging in bigger scale.
I'm willing to tag everything (but I have much less girls then DarkTl), but when I tested tagging on first two girls last time, there was a still a lot I was not sure about.
Title: Re: General Discussion
Post by: Xela on October 23, 2013, 09:48:31 AM
I was under the impression that tagger software is not yet ready and that there will be some changes in tags before we start with tagging in bigger scale.
I'm willing to tag everything (but I have much less girls then DarkTl), but when I tested tagging on first two girls last time, there was a still a lot I was not sure about.


In don't think we're going to get it right the first time anyway. Software is ready "for the first pass", tags always can be added/edited later. There is no way to know what we'll need.

I want job to have more specific texts with matching pics if available, well start there, maybe a couple of events as well. Better pics for the rest events as well now that we have some.
Title: Re: General Discussion
Post by: DarkTl on October 23, 2013, 10:22:03 AM
I really hope to get tabs version before full scale tagging (according to windows explorer, I have about 11000 pics in my packs, so I need all tools I can get). It's up to rudi though, if he doesn't have enough time these days to release it, I'll upload current version with all those changes in tags that we talked about closer to the weekend.
Title: Re: General Discussion
Post by: Xipomus on October 23, 2013, 01:34:41 PM
Stupid question.. but both Xela and CW use Simbro 1x as an example to talk to girls... where the @#$ do you find somebody to talk too :D?

That way I have an idea what you are talking about and maybe able to help sort it out.
The tagging thing is linking a certain picture with tag for a certain action like the file names in WhoreMaster?


Title: Re: General Discussion
Post by: Xela on October 23, 2013, 01:40:04 PM
Stupid question.. but both Xela and CW use Simbro 1x as an example to talk to girls... where the @#$ do you find somebody to talk too :D?

You mean in SimBro or PyTFall?

That way I have an idea what you are talking about and maybe able to help sort it out.
The tagging thing is linking a certain picture with tag for a certain action like the file names in WhoreMaster?

Yeap, Rudi wrote a tagging software, tags are stored in XMP data (images themselves). After tagging is done, JSON file is created and loaded into the game. That way images can have any amount of tags and game can display them with better precision to the event.
Title: Re: General Discussion
Post by: Xipomus on October 23, 2013, 01:46:57 PM
CW gathered an impressive list of texts from other games, it can be very useful. If you want to see an example of what I'm talking about, try SimBro 1X. It's more basic there but idea is similar.

CW refered to it too.
But apparently i missed that part of the game.

I get a girl at the beginning, but talk to her... no idea how.

In Pytfall the girls now have some many options, it is a bit much.
That's why i suggest the occuption thing to help trim the talk structure
Even traits can add or remove conversation pieces
Title: Re: General Discussion
Post by: Xela on October 23, 2013, 02:06:01 PM
CW refered to it too.
But apparently i missed that part of the game.

I get a girl at the beginning, but talk to her... no idea how.

In Pytfall the girls now have some many options, it is a bit much.
That's why i suggest the occuption thing to help trim the talk structure
Even traits can add or remove conversation pieces

Try go to town option in SimBro, choose a location, there should be characters you can talk to there. Choices are more or less the same as in SimBro 1x at the moment.
Title: Re: General Discussion
Post by: Xipomus on October 23, 2013, 02:39:57 PM
Don't see that option in my version... probably a earlier version of simbro 1.

Oh well.  :'(

But it's just conversion no logic for how and where too meet the girls?

Coz what i had in mind was to trigger the battle engine for the warrior types (like guard duty where they are attacked in the city or some robbers or rapist in the woods) for prostitutes either an event of just a meet where you can talk to her. Have her do her job, maybe tip her and try to lure her away from her current boss maybe.

For healers with conversation use a bit of manipulation that the girls need somebody to cure and take care of them ect ect.

Those are just ideas.

If it's just conversation with keeping in mind occupation this could be an example

- Warrior
You: Hi,
Girl: hello,
You: how are you?
Girl: fine. what do you want?
You: Are you a warrior.
Girl: Yes of course. Can't you see my defined body?
You: I noticed, but didn't want to asume
+disposition

- Warrior
Conversation till Disposition > 10
You: Hello girlname
Girl: Hi
You: Had any interesting fights lately?
Random: 100
Random value >0 <45 {
                           Girl: Just some robbers and such. Nothing really good. + Disp
Random value >44 <97 {
                          Girl: Nothing really. It was nice and relaxing for a change + Disp
Random value >96 <100
                           Girl: Not really. I'm looking for something + Disp
                           You: Well I'm looking for some guards for my building.
                           Girl: Really?
                           You: yes I am. But you'll need to prove yourself.
                           Girl: And how would i do that?
                           You: Why don't you fight for me in the Arena?
                           Girl: Sounds good
                           +addGirl
- Warrior
If Disposition > 10
You: Hi girlname
Girl: Hi. How are you doing.
You: I'm fine, how are you?
Girl: I'm good now that you are here ++Disp

If Disp > 20 small gifts like flowers or in a warriors case knives will be accepted.
And will add disposition. some small item suggestion Flowers (+1 disp warrior +2 disp healer +1 prostitute) Knife (+2 disp warrior, +0 disp Healer (doesn't like knives, +1 prostitute (self defence), small medicine case (+1 disp warrior +2 healer +1 protitute),  scarf (+0 disp warrior no accept, +1 healer, +2 prostitute).

Or do you want all occupation to get the same disposition for each gift? or just hide gifts that don't give disposition for that occupation?

Is this what you mean for conversation?





 
Title: Re: General Discussion
Post by: Xela on October 23, 2013, 02:57:04 PM
Yeap, that's more or less what I've meant, maybe even simpler for the Alpha, we can always build on simple later.

Gifts should work as you describe. Occupations as well.

CW is doing girlsmeets at the moment, there is no point in putting any time into it until we see what's been done already. Interactions are very similar and there hasn't been anything done in that department for a long while either (guy who was taking care of that disappeared).
Title: Re: General Discussion
Post by: Xipomus on October 23, 2013, 03:14:11 PM
So you need interaction for girls already with you?
Or in the meeting place? Those interactions?
Title: Re: General Discussion
Post by: Xela on October 23, 2013, 03:16:46 PM
So you need interaction for girls already with you?
Or in the meeting place? Those interactions?

In the meeting place = girlsmeets. Interactions for girls that are already with the player, yes. Night done some work on those some time ago but it was never finished.
Title: Re: General Discussion
Post by: Xipomus on October 23, 2013, 03:25:39 PM
So if i do some work on the interactions for girls with player? I help you guys out?
The last interaction is now in the current http://hg.code.sf.net/p/sb-pytfall/code?

Because I'll start from there.

Btw there isn't a guard job.. to assign the warriors too. they only guard when you don't assign them anything..
Title: Re: General Discussion
Post by: Xela on October 23, 2013, 03:34:49 PM
So if i do some work on the interactions for girls with player? I help you guys out?
The last interaction is now in the current http://hg.code.sf.net/p/sb-pytfall/code?

Because I'll start from there.

Btw there isn't a guard job.. to assign the warriors too. they only guard when you don't assign them anything..

Yeap, some basic once are in the:

pyt - labels - girlinteractions.rpy

Nothing been done on it for several month, so that is the last version as far as I know. (I recall CW doing something with date routine but I don't have that code), we can sort it out later.

Basically game jumps to the label when you press one of the buttons in girls profile screen and you have to take it from there with normal renpy tools.

There is a guard job, you need to scroll down.

===============
I am done for tonight, did some work on match fighting routine, didn't finish but I think it's 70% - 80% done.
Title: Re: General Discussion
Post by: Xipomus on October 23, 2013, 03:40:07 PM
K will try to make the interaction more flexible and will let you know how it goes.

Good night
Title: Re: General Discussion
Post by: Xipomus on October 23, 2013, 05:35:01 PM
* edited at 0:24 CET+1 * changed the pic for the reward when joy 100. First normal happy after the right text the other image.

K Started small with the girl interaction
I'll just post the change here so you can judge if you like it.

It's the first part when you ask how she is. It now has more options. The code should speak for it self... but let's just say if she is over joyed she'll show it. Libido decides how.

Here's the code:
Quote
label choice1_she:
    if chr.joy < 50:
      $ginterimg = chr.show('profilesad', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
      player_gi "How are you feeling? "
      chr_gi "I miss my family. "
      chr_gi "I wish I could go home. "
    elif chr.joy > 49 and chr.joy < 80:
       $ginterimg = chr.show('profileneutral', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
       player_gi "How are you feeling? "
       chr_gi "I am fine! "
       chr_gi "Everybody is nice and i'm adjusting to living here. "
    elif chr.joy > 49 and chr.joy < 100:   
       $ginterimg = chr.show('profilehappy', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
       $ char_id = chr.id
       player_gi "How are you feeling, %(char_id)s? "
       chr_gi "I am happy! "
       chr_gi "I have friends and a good place to live in. "
    else:
       if chr.libido > 30: 
           $ginterimg = chr.show('profilehappy', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           $ char_id = chr.id
           player_gi "How are you feeling, %(char_id)s? "
           chr_gi "I'm very happy... "
           chr_gi "How about I show you how happy..."
           $ginterimg = chr.show('sex', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           "%(char_id)s takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."
           $chr.mod('normalsex', 1)
           $chr.mod('disposition', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           $ char_id = chr.id
           player_gi "How are you feeling, %(char_id)s? "
           chr_gi "I'm very happy... "
           chr_gi "Sit back enjoy this..."
           $ginterimg = chr.show('sex', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           "%(char_id)s slowly does a striptease act. \nAs she takes of her last piece of clothing, you both are a bit flushed."
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)
    if dice(10):
       $ginterimg = chr.show('profilehappy', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
       "She was glad you were worried about her. "
    $chr.mod('joy', 2)
    $jump('girl_interactions')

I added the changed file if you don't want to copy and paste.
Title: Re: General Discussion
Post by: CherryWood on October 23, 2013, 06:09:04 PM


Coz what i had in mind was to trigger the battle engine for the warrior types (like guard duty where they are attacked in the city or some robbers or rapist in the woods) for prostitutes either an event of just a meet where you can talk to her. Have her do her job, maybe tip her and try to lure her away from her current boss maybe.

For healers with conversation use a bit of manipulation that the girls need somebody to cure and take care of them ect ect.

Those are just ideas.

If it's just conversation with keeping in mind occupation this could be an example

- Warrior
You: Hi,
Girl: hello,
You: how are you?
Girl: fine. what do you want?
You: Are you a warrior.
Girl: Yes of course. Can't you see my defined body?
You: I noticed, but didn't want to asume
+disposition

- Warrior
Conversation till Disposition > 10
You: Hello girlname
Girl: Hi
You: Had any interesting fights lately?
Random: 100
Random value >0 <45 {
                           Girl: Just some robbers and such. Nothing really good. + Disp
Random value >44 <97 {
                          Girl: Nothing really. It was nice and relaxing for a change + Disp
Random value >96 <100
                           Girl: Not really. I'm looking for something + Disp
                           You: Well I'm looking for some guards for my building.
                           Girl: Really?
                           You: yes I am. But you'll need to prove yourself.
                           Girl: And how would i do that?
                           You: Why don't you fight for me in the Arena?
                           Girl: Sounds good
                           +addGirl
- Warrior
If Disposition > 10
You: Hi girlname
Girl: Hi. How are you doing.
You: I'm fine, how are you?
Girl: I'm good now that you are here ++Disp


This is different from simbro1x approach and what we talked about earlier in development (for example not voicing the MC). I'm personally against it. (It's not bad at all, it's just something else than I imagined girlmeets would be.)

But as I am not able to do it myself in any reasonable time and Xela seems to like it, my option should have little value.


EDIT:
I was talking purely on girlmeets. But there is probably a misunderstanding between me and Xela about the form of girlmeets anyway. So I'll wrap up what I have this weekend and then let him decide what approach to take.

Your interactions are ok I guess (I was not thinking about them much yet). Please continue!


MC = main character (player avatar in game)
my version of simbro1x is .976a from this post:http://sim-brothel-v2.bigforumpro.com/t602-sibr1x-version-976a-release-full-link-updated (http://sim-brothel-v2.bigforumpro.com/t602-sibr1x-version-976a-release-full-link-updated)
Title: Re: General Discussion
Post by: Xipomus on October 23, 2013, 06:22:23 PM
Since the version I have of simbro 1x doesn't show the town.. i can't say what i do wrong.
Btw what do you mean by MC?

Can you give me an example how it would go? Or is it discussed in a post somewhere?

Try to code I posted above... it's nothing really crazy added, just more options after a while depending on stats.
And with the tags it's easy to show more different type of pics and change the look while talking.



Title: Re: General Discussion
Post by: Xela on October 23, 2013, 08:23:51 PM
Looks good, some notes:

Use
Code: [Select]
$ ginterimg = chr.show('profile', resize=(987, 637))
It's cleaner.

- - -

Code: [Select]
elif chr.joy > 49 and chr.joy < 80:
better python:

Code: [Select]
elif 49 < chr.joy < 80:
- - -

Code: [Select]
elif chr.joy > 49 and chr.joy < 100:
Some info: there are no limits like "100" to stats in PyTFall. chr.get_max("joy") will return whatever the highest value is available for a stat. You prolly know that since there "else" clause with libido checks follows.

- - -

Code: [Select]
           $ char_id = chr.id
ID is used by the game internally, also there is little point in assigning it to a new value.

Code: [Select]
           player_gi "How are you feeling, %(char_id)s? "
new Ren'Py style:

Code: [Select]
           player_gi "How are you feeling, [chr.name]? "
You can also use:

Code: [Select]
chr.nickname
chr.fullname

whatever feels like the best bet for occasion, just not ID, cause IDs can be really weird at times (like partly randomly generated Unicode values for random girls).

- - -

Code: [Select]
           chr_gi "I'm very happy... "
           chr_gi "How about I show you how happy..."
           $ginterimg = chr.show('sex', resize=(int(config.screen_width*0.794), int(config.screen_height*0.802)))
           "%(char_id)s takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."

We have "strip" category even with the old image loading technique:

Code: [Select]
$ ginterimg = chr.show('strip', resize=(987, 637))
New tagging technique will allow for better precision, but there aren't any girls tagged that you can download outside of DB at the moment.

- - -

Code: [Select]
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)

==

Code: [Select]
           $chr.strip += 1
           $chr.libido += 1

use whatever feels more comfortable.

===
Important Note:

There is one important difference between girlsmeets in town and interaction at home (brothel), all girls player meets in town are free. For interactions, there are free and slavegirls, so that should be taken into concidertation when you write some interaction.

Code: [Select]
if chr.status != "slave"
will check if girl is not a slave (we currently have only two statuses: "free" and "slave" but there might be more in the future).

In general, you got the idea, it's a nice improvement for interactions.

===
PS:

I was thinking that:

chr_gi
player_gi

might be uncomfortably long, maybe something like:

p # for player
g # for girl

will serve better, you can change that in girlinteractions screen.
Title: Re: General Discussion
Post by: Xipomus on October 24, 2013, 02:32:44 PM
Most of the code was copy and change from the rest of the interactions.

I'll try to implement some of the suggestions, I am going to add # tags for explation.. so it can be read more easily.

Quote
Code: elif chr.joy > 49 and chr.joy < 100:
Some info: there are no limits like "100" to stats in PyTFall. chr.get_max("joy") will return whatever the highest value is available for a stat. You prolly know that since there "else" clause with libido checks follows.

The joy has a max limit of 100. And that limit works. I had it print the value when asking how she was.
I only saw 100 and not above that.

I found that in the character definition, because i need to now the max values and the names for everything.

Revamping it now with the suggestions.
Title: Re: General Discussion
Post by: Xipomus on October 24, 2013, 03:02:59 PM
Quote
Code:            $ char_id = chr.id
ID is used by the game internally, also there is little point in assigning it to a new value.

Code:            player_gi "How are you feeling, %(char_id)s? "
new Ren'Py style:

Code:            player_gi "How are you feeling, [chr.name]? "
You can also use:

Code: chr.nickname
chr.fullname
whatever feels like the best bet for occasion, just not ID, cause IDs can be really weird at times (like partly randomly generated Unicode values for random girls).

I used the ID because it was the first name. No other value that I could find, has only the first name of the girl.
It gives the question a bit more intimacy. But if id gets wacked... that's not an option.

I see in the Nature data.xml that name is usually the firstname.. only for Sakura and Hinata not... only i used those as a template...

Will use .name. Maybe wise to change the data.xml of the naturo batch.... kurenai, anko and such all have name as first name.

Title: Re: General Discussion
Post by: Xipomus on October 24, 2013, 03:31:24 PM
K changed code for the first talk option after changes is:
Quote
label choice1_she:
    if chr.joy < 50:
      $ginterimg = chr.show('profilesad', resize=(987, 637))
      p "How are you feeling? "
      g "I miss my family. "
      g "I wish I could go home. "
    elif 49 < chr.joy < 80: # Between 50 and 79 She's fine
       $ginterimg = chr.show('profileneutral', resize=(987, 637))
       p "How are you feeling? "
       g "I am fine! "
       g "Everybody is nice and i'm adjusting to living here. "
    elif 79 < chr.joy < 100: #Between 80 and 99 Happy   
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       p "How are you feeling, [chr.name]? "
       g "I am happy! "
       g "I have friends and a good place to live in. "
    else:
       #Joy = 100 so do something extra, depending on libido if over 40 sex else do striptease.
       if chr.libido > 40:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How are you feeling, [chr.name]? "
           g "I'm very happy... "
           g "How about I show you how happy..."
           $ginterimg = chr.show('sex', resize=(987, 637))
           "[chr.name] takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."
           $chr.mod('normalsex', 1)
           $chr.mod('disposition', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How are you feeling, [chr.name]? "
           g "I'm very happy... "
           g "Sit back enjoy this..."
           $ginterimg = chr.show('strip', resize=(987, 637))
           "[chr.name] slowly does a striptease act. \nAs she takes of her last piece of clothing, you both are a bit flushed."
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)
    if dice(10):
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       "She was glad you were worried about her. "
       $chr.mod('disposition', 1)
    $chr.mod('joy', 2)
    $jump('girl_interactions')

*edited to remove debug joy= [chr.joy]
Title: Re: General Discussion
Post by: Xipomus on October 24, 2013, 05:30:13 PM
Ok. Did the second chat option, how do you feel about me.

Here's the code:
Quote
label choice1_she:
    if chr.joy < 50:
      $ginterimg = chr.show('profilesad', resize=(987, 637))
      p "How are you feeling? "
      g "I miss my family. "
      g "I wish I could go home. "
    elif 49 < chr.joy < 80: # Between 50 and 79
       $ginterimg = chr.show('profileneutral', resize=(987, 637))
       p "How are you feeling? "
       g "I am fine! "
       g "Everybody is nice and i'm adjusting to living here. "
    elif 79 < chr.joy < 100: #Between 80 and 99 Happy   
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       p "How are you feeling, [chr.name]? "
       g "I am happy! "
       g "I have friends and a good place to live in. "
    else:
       #Joy = 100 so do something extra, depending on libido if over 40 sex else do striptease.
       if chr.libido > 40:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How are you feeling, [chr.name]?"
           g "I'm very happy... "
           g "How about I show you how happy..."
           $ginterimg = chr.show('sex', resize=(987, 637))
           "[chr.name] takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."
           $chr.mod('normalsex', 1)
           $chr.mod('disposition', 1)
           $chr.mod('libido', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How are you feeling, [chr.name]? "
           g "I'm very happy... "
           g "Sit back enjoy this..."
           $ginterimg = chr.show('strip', resize=(987, 637))
           "[chr.name] slowly does a striptease act. \nAs she takes of her last piece of clothing, you both are a bit flushed."
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)
    if dice(10):
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       "She was glad you were worried about her. "
       $chr.mod('disposition', 1)
    $chr.mod('joy', 2)
    $jump('girl_interactions')
   
label choice1_you:
    if chr.joy < 50:
      $ginterimg = chr.show('profilesad', resize=(987, 637))
      p "How do you feel about me? "
      if chr.status != "slave":
          g "I don't feel anything about you. "
      else:
          g "Master. I'm a slave."
    elif 49 < chr.joy < 80: # Between 50 and 79 She's fine
       $ginterimg = chr.show('profileneutral', resize=(987, 637))
       p "How do you feel about me? "
       if chr.status != "slave":
           g "I'm ok with you. You're nice... "
       else:
           g "You're a nice master... "
    elif 79 < chr.joy < 100: #Between 80 and 99 Happy
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       p "How do you feel about me? "
       if chr.status != "slave":
           g "I am happy that you are nice to me. "
           g "I know that I can rely on you. "
       else:
           g "You're GREAT!, master "
           g "I'm very glad you are my master. "
    else:   
       #Joy = 100 so do something extra, depending on libido if over 50 anal else do blowjob.
       if chr.libido > 50:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How do you feel about me, [chr.name]? "
           if chr.status != "slave":
               g "You make me happy"
               g "Why don't you help me do some backdoor cleaning?"
               $ginterimg = chr.show('anal', resize=(987, 637))
               "[chr.name] turns around and spreads her anus\nWith an invitation like that, you don't refuse\nYou trust in her anus hard and set a fast rhythm."
               "After a passionate session, you cum in her ass.\nWhen you withdraw, the cum dripples to the ground.\n"
               g "That was hot... we must do it again sometime."
           else:
               g "Master, makes [chr.name] a happy woman."
               g "Fuck [chr.name]'s little hole? Please Master?"
               $ginterimg = chr.show('anal', resize=(987, 637))
               "Leaning against the wall, [chr.name] wiggles her ass"
               g "Master, take your loyal slave."
               "You stand behind her and stop her wiggling. After that a frenzied anal session follows\nAfter about 15 minutes she almost collapses, but you keep on trusting hard...\nAs you release your load, you shout..."
               p "Take Master's seed, slave! "
               "You fill her with a load.\nShe so tired, she drops to her knees and mumbles something\nYou come closer and hear:"
               g "Master rewards [chr.name]'s for being good. [chr.name] loves master!"
           $chr.mod('anal', 1)
           $chr.mod('disposition', 1)
           $chr.mod('libido', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           $ char_id = chr.id
           p "How do you feel about me, [chr.name]? "
           if chr.status != "slave":
               g "You make me happy"
               g "For that you deserve a reward..."
               $ginterimg = chr.show('blowjob', resize=(987, 637))
               "[chr.name] removes your manhood from it's confines \nShe starts to lick and suck it like a lolly\nAfter a few minutes of being expertly worked over, you both get your reward."
           else:
               g "Master, makes [chr.name] a happy woman."
               g "Can [chr.name] suck Master's cock?"
               $ginterimg = chr.show('blowjob', resize=(987, 637))
               "[chr.name] not waiting for an answer, removes your cock and swallows it \nShe swallows it deeply and coaches you to release your reward.\nYou cum all over [chr.name]'s face."
               "While she licks it off, she says:"
               g "Thank you, Master for letting me please you."
           $chr.mod('blowjob', 1)
           $chr.mod('libido', 1)
    $jump('girl_interactions')

Included both interaction.rpy's because of the change girl and playername variable.
Title: Re: General Discussion
Post by: Xela on October 24, 2013, 06:17:59 PM
Looks really good! I'll write a class for interactions later, but everything will work either way.

Code: [Select]
$ char_id = chr.id
This doesn't do anything, old code?

- - -

I used the ID because it was the first name. No other value that I could find, has only the first name of the girl.
It gives the question a bit more intimacy. But if id gets wacked... that's not an option.

I see in the Nature data.xml that name is usually the firstname.. only for Sakura and Hinata not... only i used those as a template...

Will use .name. Maybe wise to change the data.xml of the naturo batch.... kurenai, anko and such all have name as first name.

Those data files are often old and/or incomplete, we'll update everything before the Alpha.

There should be something like:

Code: [Select]
fullname="Nelliel Tu Odelschwanck"
name="Nelliel"
nickname="Nel Tu"

in girls data files. Only name is implicit, if nickname and fullname are absent, game will use name instead.

- - -

Most of the code was copy and change from the rest of the interactions.

I'll try to implement some of the suggestions, I am going to add # tags for explation.. so it can be read more easily.

The joy has a max limit of 100. And that limit works. I had it print the value when asking how she was.
I only saw 100 and not above that.

I found that in the character definition, because i need to now the max values and the names for everything.

Revamping it now with the suggestions.


There are traits and items that effect joy and many of other stats and their maximums. But code as it is now is sound, I don't think get_max() should be used instead of a 100 because that will kill the whole idea behind the items/traits.

I think joy will be one of those stats that will default at 100 +/- modifiers from the start. Many stats will be capped by level and will increase only as girls level and absolute maximum increases.

- - -
In any case, script looks really solid... last thing we should change at some point is to simplify ginterimg variable, it only needs different tags supply. I've changed the screen interactions file a bit, you can use this version:

Title: Re: General Discussion
Post by: Xipomus on October 24, 2013, 06:37:51 PM
Quote
Code: $ char_id = chr.id
This doesn't do anything, old code?

Indeed old code. Will redo the how are you doing with a difference between slave and master tommorrow.
Then I'll probably get started on the topics that aren't there yet, if there are no objections.

P.s. for testing I usually define the joy, 2 to joy,25 on the how are you. That way you can test all the options.

That's it for me today. It's after half past one in the morning so off to bed.
Title: Re: General Discussion
Post by: Xela on October 25, 2013, 03:53:29 AM
Then I'll probably get started on the topics that aren't there yet, if there are no objections.

No objections, feel free to pick/create your own options to work on.

P.s. for testing I usually define the joy, 2 to joy,25 on the how are you. That way you can test all the options.

Yeap, just for the record, you can call for Ren'Py console with "Shift + O", than simply type the command like "chr.joy = 100", it will work unless implicitly blocked by game (trait doesn't allow joy to go over 80 for example). You can also type "chr.joy" to figure out what joy is currently set to.

- - -

BTW: Do you have dropbox?
Title: Re: General Discussion
Post by: DarkTl on October 25, 2013, 06:27:54 AM
I see in the Nature data.xml that name is usually the firstname.. only for Sakura and Hinata not... only i used those as a template...
You should get access to shared dropbox folder. If you need up-to-date packs and xmls/jsons, look for them in my folder, not in Xela's.
Title: Re: General Discussion
Post by: DarkTl on October 25, 2013, 01:32:38 PM
Ar tonelico pack has been tagged "properly". It has characters with both large and small amounts of pics, so I guess it will be good for testing.
Title: Re: General Discussion
Post by: Xipomus on October 25, 2013, 04:54:15 PM
Quote
Yeap, just for the record, you can call for Ren'Py console with "Shift + O", than simply type the command like "chr.joy = 100", it will work unless implicitly blocked by game (trait doesn't allow joy to go over 80 for example). You can also type "chr.joy" to figure out what joy is currently set to.


Shift+O doesn't work for me... but enter it after the first line, gave me an idea what choice should be made.. so easy debugging.

Quote
BTW: Do you have dropbox?
I did not... do have it now. ***** just removed the address because of spam bots

Just got home. Hope to redo the chat for today... starting on one of the empty options tommorrow.
Title: Re: General Discussion
Post by: Xela on October 25, 2013, 06:55:38 PM


Shift+O doesn't work for me... but enter it after the first line, gave me an idea what choice should be made.. so easy debugging.
I did not... do have it now. [email protected]

Just got home. Hope to redo the chat for today... starting on one of the empty options tommorrow.

Leuk...

I've sent you an invite, completely forgot to send you a reference to get extra space.

There is a more recent version of the game in the DB folder, gallery and jigsaw puzzles are there along with some Arena improvements, you can view tags as they are loaded into the game in the gallery as well. I am planning to finish base code for the Arena this weekend, I'll upload it than.

Title: Re: General Discussion
Post by: Xela on October 25, 2013, 06:59:52 PM
Ar tonelico pack has been tagged "properly". It has characters with both large and small amounts of pics, so I guess it will be good for testing.

Going to get some sleep, I'll take a look at it tomorrow (kinda hoping you didn't tag everything "one girl" again :) )
Title: Re: General Discussion
Post by: Xipomus on October 25, 2013, 07:02:40 PM
Bedankt. It works.

You could kick me out and invite me again to get the extra space?

Hope to do some work tommorrow, because today is a lost day for me. The floo i've been avoiding just broke through... Hopefully tommorrow I have more energy so I can think straight.

Have some ideas for the normal chat and want to make every button on the interaction screen at least do something. Then refine it, like I did with What do you think of me.

You guys don't mind some of the "explicit" language in the text? I'm keeping it at that level. But if it bothers you, I'll make it more PG... :-X
Title: Re: General Discussion
Post by: DarkTl on October 26, 2013, 06:57:38 AM
Going to get some sleep, I'll take a look at it tomorrow (kinda hoping you didn't tag everything "one girl" again :) )
Nope, I use it for group only, assuming that a pic has more than 1 girl and 1 guy (otherwise it's not a group, but cumcovered, les or sex/anal). So 1 girl 2 guys = group + 1 guy.
I'm tagging King of Fighters pack now, so let me know if I've made any major mistakes in Ar tonelico.
Title: Re: General Discussion
Post by: DarkTl on October 26, 2013, 09:58:35 AM
King of Fighters tagged and uploaded. I'm moving in alphabetical order, so next will be Lodoss War.
Title: Re: General Discussion
Post by: Xela on October 26, 2013, 10:50:26 AM
You guys don't mind some of the "explicit" language in the text? I'm keeping it at that level. But if it bothers you, I'll make it more PG... :-X

Explicit language isn't a problem, at least with me.

Nope, I use it for group only, assuming that a pic has more than 1 girl and 1 guy (otherwise it's not a group, but cumcovered, les or sex/anal). So 1 girl 2 guys = group + 1 guy.
I'm tagging King of Fighters pack now, so let me know if I've made any major mistakes in Ar tonelico.

I went over the tags, looks good. I still think "mc" of the pic girl should be assumed as being there by default and any other people added as tags (like most normal sex pics should be tagged "one guy"). Basically, I think 1 girl 2 guys should be group + 2 guys as there could be a group of girls with or without one guy present... It's the way Rudi intended it originally and does seem to make sense. We've discussed that already if I recall.
Title: Re: General Discussion
Post by: DarkTl on October 26, 2013, 11:44:06 AM
Jeez, if you say so. As a reminder, we also had another discussion.

So, should I use one guy/one girl tags for "standard" sex/anal pics?
Yeap, better compatibility with other games and we have no idea if WM system is actually better than straight approach. Lets add it for bj/sex/anal just in case if it's not to much trouble.

And it turns out that I shouldn't do it after all. I really hope it's the final decision already.
Title: Re: General Discussion
Post by: Xela on October 26, 2013, 11:50:13 AM
And it turns out that I shouldn't do it after all. I really hope it's the final decision already.

It makes sense... should be useful in code as well and also easier to explain to modders ("MC" girl is assumed to be there by default, all other characters are tagged is easy to understand and seems like a good approach).
Title: Re: General Discussion
Post by: DarkTl on October 26, 2013, 01:10:36 PM
Lodoss War is done, King of Fighters and Ar tonelico fixed. So far I tagged small packs, tomorrow I'll start the large one, Naruto.
Title: Re: General Discussion
Post by: Xipomus on October 26, 2013, 07:39:58 PM
Done with the revamp of the How are you question.
Unfortunately the floo is interfering with my though processes.. so it took a bit longer than expected.
I did add a occupation check in a choice just to have some different responses.

The code is uploaded in the Dropbox folder under my nick. My contact info is there too.

Here is the changed code

Quote
label choice1_she:
    if chr.joy < 50:
       $ginterimg = chr.show('profilesad', resize=(987, 637))
       p "How are you feeling? "
       if chr.status != "slave":
           g "I miss my freedom. "
           g "But i promised to work, so I shall"
       else:
           g "I miss my family. "
           g "I wish I could go home. "
    elif 49 < chr.joy < 80: # Between 50 and 79
       $ginterimg = chr.show('profileneutral', resize=(987, 637))
       p "How are you feeling? "
       if chr.status != "slave":
           g "I'm doing ok."
           g "Thank you for giving me this chance."
       else:
           g "I am fine, master."
           g "Everybody is nice and i'm adjusting to living here. "
    elif 79 < chr.joy < 100: #Between 80 and 99 Happy   
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       p "How are you feeling, [chr.name]? "
       if chr.status != "slave":
           g "I'm happy here."
           if chr.occupation == "Prostitute":
               g "I happily fuck and suck for the payment you give me"
           if chr.occupation == "Stripper":
               g "I love those eyes on me, as a slowly show them my body."
           if chr.occupation == "ServiceGirl":
               g "Keeping the customers happy, is a job i love"
           if chr.occupation == "Warrior":
               g "Lots of fightering to do. Always good"
       else:
           g "I'm happy here."
           if chr.occupation == "Prostitute":
               g "Fucking and sucking for Master, I do gladly"
           if chr.occupation == "Stripper":
               g "Showing off my body for Master is good."
           if chr.occupation == "ServiceGirl":
               g "Customers are needed by Master, so i try to keep them happy."
           if chr.occupation == "Warrior":
               g "Master says fight. So I fight"
    else:
       #Joy = 100 so do something extra, depending on libido if over 40 sex else do striptease.
       if chr.libido > 40:             
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           p "How are you feeling, [chr.name]?"
           if chr.status != "slave":
               g "I'm very happy... "
               g "How about I show you how happy..."
               $ginterimg = chr.show('sex', resize=(987, 637))
               "[chr.name] takes of her clothes and starts working you. \nSoon she is riding you for all that's worth."
           else:
               g "I'm very happy, Master"
               g "[chr.name] will show you how happy master."
               $ginterimg = chr.show('sex', resize=(987, 637))
               "[chr.name] jumps you. You both tumble around while shedding clothes.\nAfter a frenzied sex session later, you hear her purr on your chest"
               g "Master is good for [chr.name]."
           $chr.mod('normalsex', 1)
           $chr.mod('disposition', 1)
           $chr.mod('libido', 1)
       else:
           $ginterimg = chr.show('profilehappy', resize=(987, 637))
           p "How are you feeling, [chr.name]? "
           if chr.status != "slave":
               g "I'm very happy... "
               g "Sit back enjoy this..."
               $ginterimg = chr.show('strip', resize=(987, 637))
               "[chr.name] slowly does a striptease act. \nAs she takes of her last piece of clothing, you both are a bit flushed."
           else:
               g "I'm very happy, Master"
               g "Let [chr.name] will put on a show for Master, to show how happy"
               $ginterimg = chr.show('strip', resize=(987, 637))
               "[chr.name] slowly does a striptease act. \nAs she takes of her last piece of clothing, you both are a bit flushed."
           $chr.mod('strip', 1)
           $chr.mod('libido', 1)
    if dice(10):
       $ginterimg = chr.show('profilehappy', resize=(987, 637))
       "She was glad you were worried about her. "
       $chr.mod('disposition', 1)
    $chr.mod('joy', 2)
    $jump('girl_interactions')

Let me know what you think.
Hopefully tommorrow i'm a bit better off and I'll start on the buttons that won't do anything.

** just some things I noticed. (bugs or not)
-  When trying to equip a girl something from my inventory I don't see an inventory.. but when i'm in the shop I see lots. Is that right?
- The slave market and meet girls don't reset, so if you buy/get those there aren't anymore to get.

Off to bed ... after some whiskey. Ttl
Title: Re: General Discussion
Post by: Xela on October 26, 2013, 10:29:01 PM
** just some things I noticed. (bugs or not)
-  When trying to equip a girl something from my inventory I don't see an inventory.. but when i'm in the shop I see lots. Is that right?
- The slave market and meet girls don't reset, so if you buy/get those there aren't anymore to get.

Each girl has her own inventory, there is an items transfer screen in each brothel, put player there as well to draw from his inventory as well.

Both slavemarket and girlsmeets are being reset in all versions of the game that I am aware of, did you do something weird to next day code?
Title: Re: General Discussion
Post by: Xipomus on October 27, 2013, 05:29:56 AM
Nope use the copy in your dir of dropbox.

easy to test. start a new game, go meet n park/town. pickup the girls.
go to the main screen and press turn.

will try the inventory screen. thx
Title: Re: General Discussion
Post by: Xela on October 27, 2013, 06:50:50 AM
Nope use the copy in your dir of dropbox.

easy to test. start a new game, go meet n park/town. pickup the girls.
go to the main screen and press turn.

will try the inventory screen. thx

It's very odd... I'll take a look, maybe I've disabled it for some reason, it should refresh every 5 - 7 days or something like that.

I'll add "Top Strip" to almost all of the screens (like in OW), there will be return button, day, gold, hero screen, items transfer screen (where applicable) and maybe some other controls (like shortcuts to brothels/shops/arena). I've been meaning to code that and equip buttons in items transfer for some time.
Title: Re: General Discussion
Post by: Xipomus on October 27, 2013, 07:53:58 AM
Every 7 days.. k will try that again.

The transfer screen does not have the player.. so you can't transfer things from your inventory to the girls.
A button at the girl screen to just to transfer would indeed help, if the player was in that screen.
Title: Re: General Discussion
Post by: Xela on October 27, 2013, 08:00:48 AM
Every 7 days.. k will try that again.

The transfer screen does not have the player.. so you can't transfer things from your inventory to the girls.
A button at the girl screen to just to transfer would indeed help, if the player was in that screen.

As I've said, you need to place player in the same brothel as the girl, there is a button in every brothel that does that.
Title: Re: General Discussion
Post by: Xipomus on October 27, 2013, 08:13:47 AM
Soz. Misread that one.

Did some more testing. Saw a line in the classes - jobs.rpy that problably is a typo.
This line
Quote
self.txt += "Sex goddes statue in your brothel influences the minds of your costumers to pay something extra for your girls services. /n"

Should probably be
Quote
self.txt += "Sex goddess statue in your brothel influences the minds of your costumers to pay something extra for your girls services. \n"

Didn't change anything else. I just noticed it when testing till day 7.
I'll put the updated file in the dropbox folder under my nick.

Title: Re: General Discussion
Post by: Xela on October 27, 2013, 09:59:28 AM
Soz. Misread that one.

Did some more testing. Saw a line in the classes - jobs.rpy that problably is a typo.
This line
Should probably be
Didn't change anything else. I just noticed it when testing till day 7.
I'll put the updated file in the dropbox folder under my nick.

Nice catch, I'll have to revisit jobs before the Alpha anyway :)
Title: Re: General Discussion
Post by: Xipomus on October 27, 2013, 12:50:35 PM
Xela,

Got a question/suggestion for you.
I've been looking at the shopping button in the girlinteraction screen.
The way I see it, almost all the code is already in the normal shopping screen.

We could limit it to the tailor or all shop.
And make a change to the store so that the code isn't double.

Quote
        focus = false
        pytfall.tailor_store.inventory.filter = 'body'
        chr = hero
        chr.inventory.set_page_size(18)

That part in the pyt_screen_tailor shop, defines the hero. So if we define a global variable we check for, we would skip the chr=hero. So it stays the girl you are taking shoping.

We can use the variable to mod the girls stats after buying something too, with a description / picture as a thank you.
That part we can always conclude after the item has been bought.

Let me know what you think. If you don't like it, do you mind if I borrow that screen to build something for the girls to shop?
Title: Re: General Discussion
Post by: Xela on October 27, 2013, 01:06:14 PM
Xela,

Got a question/suggestion for you.
I've been looking at the shopping button in the girlinteraction screen.
The way I see it, almost all the code is already in the normal shopping screen.

We could limit it to the tailor or all shop.
And make a change to the store so that the code isn't double.

That part in the pyt_screen_tailor shop, defines the hero. So if we define a global variable we check for, we would skip the chr=hero. So it stays the girl you are taking shoping.

We can use the variable to mod the girls stats after buying something too, with a description / picture as a thank you.
That part we can always conclude after the item has been bought.

Let me know what you think. If you don't like it, do you mind if I borrow that screen to build something for the girls to shop?

Plan was to wrap shop control in a class, I don't really like the code as it is now (it's quite old). When wrapped, we'll introduce "girl_shopping" mode that will award disposition based on purchases. If you want to work on that now, be my guest, I'll include it in the wrapper as well.

=====================================
Main matches work in the Arena, that basically concludes the main code. From here on out it's just adding stuff and making it interesting :)

I'll see if I can enable json team build-up and mobs tonight as well.
Title: Re: General Discussion
Post by: Xipomus on October 27, 2013, 02:18:39 PM
Quote
Main matches work in the Arena, that basically concludes the main code. From here on out it's just adding stuff and making it interesting

Congrats on finishing the arena main code.

I'll borrow the current shop code to build the rewards and such for the girls already. When the wrapper is ready we can replace the code with the wrappen. I'll add comments around it.
Title: Re: General Discussion
Post by: Xela on October 27, 2013, 05:34:36 PM
Didn't get the jsons done today, to tired to continue...

I've uploaded my version to DB, dogfights are still bypassing checks and screen hides cause noone would accept challenge from overbuffed MC otherwise, main matches and updates should work but I didn't test them to thoroughly. MC screen has been improved, many small things as well.

If I manage some time to work on the game tomorrow, I'll do jsons and try to balance Arena out so dogfights checks will work and lower MC's stats. Also plan is to add relative combat strength to the screens.
Title: Re: General Discussion
Post by: DarkTl on October 28, 2013, 10:14:14 AM
Minor fixes in 3 previous packs, Naruto and One Piece packs tagged.
Btw, if profile/ent picture has date tag, it doesn't mean that it can be used for a date only. It means that it can be used for a date as well as usual profile/ent.
Title: Re: General Discussion
Post by: Xela on October 28, 2013, 11:41:57 AM
Minor fixes in 3 previous packs, Naruto and One Piece packs tagged.
Btw, if profile/ent picture has date tag, it doesn't mean that it can be used for a date only. It means that it can be used for a date as well as usual profile/ent.

Noted, we should put all of these stuff somewhere so we can form some basic guidelines in the future...
Title: Re: General Discussion
Post by: DarkTl on October 28, 2013, 11:55:49 AM
Nah, after 1.0 maybe. Some kind of wiki perhaps, like that one for slavemaker.
Title: Re: General Discussion
Post by: Xela on October 28, 2013, 12:24:37 PM
Right... guess I was more tired that I originally though (yesterday), there couple of really important things I forgot to code in for player matches, gonna do it right now...
Title: Re: General Discussion
Post by: Xela on October 28, 2013, 05:12:54 PM
Oki, managed to sort out and improve a lot of code in the Arena... still not there yet I am afraid, it's working but not everything sorts and behaves like I expected it to (I found that out after a bit of testing). I've updated the code in DB again (Ladder placement is now updated properly, some alignment issues solved, initial challenges for the official matches are now drawn only from lineups, not the whole pool of arena combatants and teams (didn't make any sense otherwise), some code improvements here and there, empty space in a lineup after a fight can no longer be "challenged" and lead to stupid errors + some other minor stuff).

Tomorrow I need to finish some minor sorting issues and than I can start with making Arena interesting (adding jsons for team formation, mobs, npcs, intro with some characters and so on) :)

For testing:

Lineups are supposed to work like this:

If a team/fighter wins in any of the official matches, he/she/team goes up one position in a lineup, loser goes down one position *(regardless of their previous positions, if winner is not in the lineups, last place in the lineup looses it's position and winner gets it).

Remember that fights take place automatically so you could in theory be knocked out of a lineup if you avoid fighting for to long. Right now winning has effect only on arena reputation but I am planning to add normal reputation and fame as well. Also plan is to give a chance of reputation increasing just for being in any of the lineups.

Player cannot have two official fights on the same day (not even a 1v1 fights and a team fight) but if AP allows, any amount of dog fighting is permitted.

Right now player is allowed to issue challenges in official matches even without being in the top 100 (for testing purposes).

Official matches do not have battle stats restrictions (opfor will not refuse a fight based on player being to strong). That's by design (not for testing).

----------------------
Done for tonight I guess...
Title: Re: General Discussion
Post by: Xela on October 29, 2013, 04:40:17 PM
Didn't have much time today, only managed to get fighter characters to load from json into arena. I'll prolly have to skip tomorrow so next update will be the day after at best.
Title: Re: General Discussion
Post by: CherryWood on October 29, 2013, 06:32:40 PM
This week, I did not get much closer to finishing girlmeet texts (in a reasonable quality) again, sorry!  :( ...not sure what to do now (as I promised to not waste any more of your time), should I try to build something with placeholders and add these later?


This is my current testing code (do not pay attentions to texts and disposition values, they're just random):
Code: [Select]
init:
    $ girlmeet_all_action_count = 0
    $ compliment_cute_count = 0
    $ compliment_cute_repeat_s = 0
    $ compliment_cute_repeat_f = 0
    $ compliment_cute_s = 0
    $ compliment_cute_f = 0
    $ girlmeet_dice = 0
    $ girlmeet_disp_multiplicator = 1

   
label gm_interact_cute:             #just one of the labels with only few traits

    if compliment_cute_count > 1:
        $ compliment_cute_repeat_f = 1
        $chr.disposition -= random.randint(10, 25)
       
    elif compliment_cute_count > 0:             #check if you do same thing more then once in one session
        if chr.disposition > 300:
            $ girlmeet_dice = 40
        elif chr.disposition > 9:
            $ girlmeet_dice = 30
        else:
            $ girlmeet_dice = 20
           
        if dice(girlmeet_dice):
            $ compliment_cute_repeat_s = 1
            $chr.disposition += random.randint(5, 15)
        else:
            $ compliment_cute_repeat_f = 1
            $chr.disposition -= random.randint(10, 15)

    else:                                                          #main part
        if chr.disposition > 300:
            $ girlmeet_dice = 90                            #chance to succes
            $ girlmeet_disp_multiplicator = 0.4        #compliment is worth less as relationship advances
        elif chr.disposition > 9:
            $ girlmeet_dice = 75
            $ girlmeet_disp_multiplicator = 1
        else:
            $ girlmeet_dice = 40
            $ girlmeet_disp_multiplicator = 1.2
           
        if dice(girlmeet_dice):
            $ compliment_cute_s = 1                                    #type of text to show
            $chr.disposition += (random.randint(10, 20)*(girlmeet_disp_multiplicator))
        else:
            $ compliment_cute_f = 1
            $chr.disposition -= (random.randint(5, 15)*(girlmeet_disp_multiplicator))

    if compliment_cute_repeat_s == 1:                                   #display of text
        $ compliment_cute_repeat_s = 0
        if "Impersonal" in  chr.traits:
            $chr_gm(random.choice(["Mhm... praised again... (impersonal RS)"]))
        elif "Well-mannered" in  chr.traits:
            $chr_gm(random.choice(["Thank you again.(polite RS)"]))
        else:
            $chr_gm(random.choice(["So much praise...(normal RS)"]))
           
    elif compliment_cute_repeat_f == 1:
        $ compliment_cute_repeat_f = 0
        if "Impersonal" in  chr.traits:
            $chr_gm(random.choice(["Not again. (impersonal RF)"]))
        elif "Well-mannered" in  chr.traits:
            $chr_gm(random.choice(["Sir, you are repeating yourself. (polite RF)"]))
        else:
            $chr_gm(random.choice(["I've heard that from you already. (normal RF)"]))
           
    elif compliment_cute_s == 1:
        $ compliment_cute_s = 0
        if "Impersonal" in  chr.traits:
            $chr_gm(random.choice(["…ok ((impersonal S)"]))
        elif "Well-mannered" in  chr.traits:
            $chr_gm(random.choice(["Thank you, I'm very pleased. (polite S)"]))
        else:
            $chr_gm(random.choice(["Thank you. (normal S) "]))
           
    else:
        if "Impersonal" in  chr.traits:
            $chr_gm(random.choice(["Bigmouth. (impersonal F)"]))
        elif "Well-mannered" in  chr.traits:
            $chr_gm(random.choice(["Please, don't bother me... (polite F)"]))
        else:
            $chr_gm(random.choice(["I've heard it all. (normal F)"]))   

         
    $ compliment_cute_count += 1
    $ girlmeet_all_action_count += 1
    if girlmeet_all_action_count > 2:
        jump gm_end
    else:
        jump girlsmeet



label gm_end:         #end after three actions (need to be done differently)
    $ girlmeet_all_action_count = 0
    $ girlmeet_disp_multiplicator = 1
    $ compliment_cute_count = 0
       
    $narrator(random.choice(["After awhile together, it comes time to say goodbye.", "You parted ways after another short while together."]))
   
    hide screen pyt_girlsmeet
    hide screen pyt_city_parkgates
    hide screen pyt_city_park
   
    jump pyt_city
do you see any obvious errors or something that's very different from what you wanted it to be?
It's like my third bit of code I ever made and I know only very little besides "if" function so it looks how it looks  :D . But it do all I wanted for basic version for standard label (only chat will be different because I wanted to use lists here).
---------------
I will surely need help with:
- giving gifts
- making a proper end to the girlmeets (so you can't speak with her again that day + use of ap)
(I did not learn how to make screens and girl specific flags yet, which is also where I'm stuck with beachdate)
---------------
To sum the problem I have with texts:
I figured that displaying one line of text with response from a girl after clicking a button (like "Kya! He- hey, Let go of me... " which is the format of almost all lines I ripped) looks really stupid in game. Something like "<Hugs you back with a smile> {p=0.6}  Heheh ♪ Let's stay like this just a bit more. ♪ " or "<You begin to fondle her> {p=0.6}Do you... like my breasts...that much? " (some description+response) just look ten times better.
I tried to come up with something universal to display every time (like <your compliment was not well recieved>) and experienced with formating a little (sizes, colors... btw. I'm trying to put all into one panel,  it was too much clicking when I used two) but nothing I came up with looked decent for all texts I wanted to use.
So I ended trying to rewrite every single line and that takes me ages, as I'm not very good at writing.
Title: Re: General Discussion
Post by: Xela on October 30, 2013, 04:58:04 AM
I don't have access to code right now but everything looks ok. Note that everything you've declared in the init will be reset each time game is loaded.

I recall making a method to jump back to the location in new girlsmeets class, it should be used instead of end_gm label. Otherwise there are couple of unnecessary brackets here and there and some of the calculations will result in float but it doesn't hurt anyone so it's all good :)

Maybe a new method to increase disposition with a nice animated pop-up and simple screen showing relevant information about the girl are in order, I'll see what can be done about that the day after tomorrow.
Title: Re: General Discussion
Post by: Xela on October 30, 2013, 09:10:07 AM
You can make your code better readable by using booleans (True/False):

Code: [Select]
init:
    $ girlmeet_all_action_count = 0
    $ compliment_cute_count = 0
    $ compliment_cute_repeat_s = False  # Use booleans where appropriate.
    $ compliment_cute_repeat_f = False
    $ compliment_cute_s = False
    $ compliment_cute_f = False
    $ girlmeet_dice = 0
    $ girlmeet_disp_multiplicator = 1

   
label gm_interact_cute:             #just one of the labels with only few traits

    if compliment_cute_count > 1:
        $ compliment_cute_repeat_f = True
        $chr.disposition -= random.randint(10, 25)
       
    elif compliment_cute_count:      # You don't need > 0 here, == 1 would work as well.       #check if you do same thing more then once in one session
        if chr.disposition > 300:
            $ girlmeet_dice = 40
        elif chr.disposition > 9:
            $ girlmeet_dice = 30
        else:
            $ girlmeet_dice = 20
           
        if dice(girlmeet_dice):
            $ compliment_cute_repeat_s = True
            $chr.disposition += random.randint(5, 15)
        else:
            $ compliment_cute_repeat_f = True
            $chr.disposition -= random.randint(10, 15)

    else:                                                          #main part
        if chr.disposition > 300:
            $ girlmeet_dice = 90                            #chance to succes
            $ girlmeet_disp_multiplicator = 0.4        #compliment is worth less as relationship advances
        elif chr.disposition > 9:
            $ girlmeet_dice = 75
            $ girlmeet_disp_multiplicator = 1
        else:
            $ girlmeet_dice = 40
            $ girlmeet_disp_multiplicator = 1.2
           
        if dice(girlmeet_dice):
            $ compliment_cute_s = True                                 #type of text to show
            $chr.disposition += (random.randint(10, 20)*(girlmeet_disp_multiplicator))
        else:
            $ compliment_cute_f = True
            $chr.disposition -= (random.randint(5, 15)*(girlmeet_disp_multiplicator))

    if compliment_cute_repeat_s:  # No need for == 1                            #display of text
        $ compliment_cute_repeat_s = False  # I am thinking bools should be reset in the gm_end label.
        if "Impersonal" in  chr.traits:
            $chr_gm(random.choice(["Mhm... praised again... (impersonal RS)"]))
        elif "Well-mannered" in  chr.traits:
            $chr_gm(random.choice(["Thank you again.(polite RS)"]))
        else:
            $chr_gm(random.choice(["So much praise...(normal RS)"]))
           
    elif compliment_cute_repeat_f:
        $ compliment_cute_repeat_f = False
        if "Impersonal" in  chr.traits:
            $chr_gm(random.choice(["Not again. (impersonal RF)"]))
        elif "Well-mannered" in  chr.traits:
            $chr_gm(random.choice(["Sir, you are repeating yourself. (polite RF)"]))
        else:
            $chr_gm(random.choice(["I've heard that from you already. (normal RF)"]))
           
    elif compliment_cute_s:
        $ compliment_cute_s = False
        if "Impersonal" in  chr.traits:
            $chr_gm(random.choice(["…ok ((impersonal S)"]))
        elif "Well-mannered" in  chr.traits:
            $chr_gm(random.choice(["Thank you, I'm very pleased. (polite S)"]))
        else:
            $chr_gm(random.choice(["Thank you. (normal S) "]))
           
    else:
        if "Impersonal" in  chr.traits:
            $chr_gm(random.choice(["Bigmouth. (impersonal F)"]))
        elif "Well-mannered" in  chr.traits:
            $chr_gm(random.choice(["Please, don't bother me... (polite F)"]))
        else:
            $chr_gm(random.choice(["I've heard it all. (normal F)"]))   

         
    $ compliment_cute_count += 1
    $ girlmeet_all_action_count += 1
    if girlmeet_all_action_count > 2:
        jump gm_end
    else:
        jump girlsmeet



label gm_end:         #end after three actions (need to be done differently)
    $ girlmeet_all_action_count = 0
    $ girlmeet_disp_multiplicator = 1
    $ compliment_cute_count = 0
       
    $narrator(random.choice(["After awhile together, it comes time to say goodbye.", "You parted ways after another short while together."]))
   
    hide screen pyt_girlsmeet
    hide screen pyt_city_parkgates
    hide screen pyt_city_park
   
    jump pyt_city
Title: Re: General Discussion
Post by: CherryWood on October 30, 2013, 10:16:22 AM
Ok, thank you.  I'll gladly wait for anything (as I still have a lot to prepare anyway).

Title: Re: General Discussion
Post by: DarkTl on October 30, 2013, 11:54:55 AM
Persona pack is not beta anymore and tagged.

Btw, Cherry, if you don't have much time, I could tag your packs after I'll finish with mine.
Title: Re: General Discussion
Post by: Xela on October 30, 2013, 01:41:23 PM
Ok, thank you.  I'll gladly wait for anything (as I still have a lot to prepare anyway).

We should prolly do this post beta, when we get to screens remodeling. I want to have text animation when stats change during conversations.

It looks good, take you time and keep working on it :)
Title: Re: General Discussion
Post by: Xela on October 30, 2013, 02:10:47 PM
Does anyone have any requests/ideas for the Alpha version Arena? I'll resume programming the day after tomorrow and I need to know if anyone has any requests?
Title: Re: General Discussion
Post by: DarkTl on October 30, 2013, 02:44:06 PM
Well, you know my ideas. If you want a bet system at Arena, it should be like a minigame.
Arena battle itself could be a minigame too, like you should defeat your enemy for a certain number of turns, with a certain set of skills (like don't use magic or use only fire magic), don't let your health drop below N%, etc. But all this will require a new BE, obviously.

One thing that you probably could make even now is a survival mode of some kind, where you fight (with monsters?) as long as you can nonstop (without belt items, maybe). The more battles you win, the more money/fame/whatever you will get. Every 10 (20? 50?) rounds you can exit and take your reward. If your party was defeated, then no reward.
Title: Re: General Discussion
Post by: Xela on October 30, 2013, 03:05:09 PM
One thing that you probably could make even now is a survival mode of some kind, where you fight (with monsters?) as long as you can nonstop (without belt items, maybe). The more battles you win, the more money/fame/whatever you will get. Every 10 (20? 50?) rounds you can exit and take your reward. If your party was defeated, then no reward.

Decent idea! I'll add code to allow importing mobs into Arena the day after tomorrow and code in the sequence as you suggest, this sounds like fun :)
Title: Re: General Discussion
Post by: CherryWood on October 30, 2013, 04:41:27 PM
@Xela:   
[/size]I still have those welcome lines I mentioned earlier ("...Do you want something? ", "Hey, how's it going? ", "Ah, Hello~ ♪ ", "You're in my way. Get lost. " etc...) that I could sort by disposition/traits too. Just don't know where to not mess the screen.
Title: Re: General Discussion
Post by: Xela on October 30, 2013, 06:49:40 PM
@Xela:   
[/size]I still have those welcome lines I mentioned earlier ("...Do you want something? ", "Hey, how's it going? ", "Ah, Hello~ ♪ ", "You're in my way. Get lost. " etc...) that I could sort by disposition/traits too. Just don't know where to not mess the screen.

For now, use pyt - screens - girlsmeets.rpy file. Split the python block in the label in two and put greetings in between:

Code: [Select]
label girlsmeet:
    $renpy.scene()
    $renpy.show(pytfall.gm.bg_cache)

    hide screen pyt_city_parkgates
    hide screen pyt_city_park
    hide screen pyt_main_street

    python:
        chr_gm = Character(chr.name, color="#c8ffc8")
        player_gm = Character(hero.name, color="#c8ffc8")
        nvl_gm = Character(None, kind=nvl)

        renpy.show_screen('pyt_girlsmeet')
        renpy.with_statement(dissolve)
       
    # ----------------------> Split here.
       
    chr_gm "Hello!" # <--- Greetings go here... use it as you would any other label.

    # ----------------------> Split here.   
    python:   
        while true:
            result = ui.interact()
           
            if result[0] == 'act':
                pytfall.gm.jump('gm_interact_%s'%result[1])
           
            if result[0] == 'menu':
                if result[1] == 'back':
                    pytfall.gm.return_to_menu()
                else:
                    setattr(pytfall.gm, 'show_gm_menu', false)
                    setattr(pytfall.gm, 'show_gm_menu_' + result[1], true)
                   
            if result[0] == 'control':
                if result[1] == 'back':
                    renpy.scene()
                    renpy.hide_screen('pyt_girlsmeet')
                    jump(pytfall.gm.label_cache)
               
                if result[1] == 'return':
                    break
                   
    hide screen pyt_girlsmeet
    hide screen pyt_city_parkgates
    hide screen pyt_city_park
   
    jump pyt_city
Title: Re: General Discussion
Post by: DarkTl on October 31, 2013, 08:54:33 AM
Queen's Blade pack tagged.
Title: Re: General Discussion
Post by: Xela on October 31, 2013, 11:18:54 AM
Queen's Blade pack tagged.

Kewl... tomorrows coding is canceled as well, next update will be this weekend...
Title: Re: General Discussion
Post by: DarkTl on November 01, 2013, 10:01:06 AM
SAO, Seiken Densetsu, Soukou Akki Muramasa, Soul Eater packs tagged.
Title: Re: General Discussion
Post by: CherryWood on November 01, 2013, 10:16:57 AM
Btw, Cherry, if you don't have much time, I could tag your packs after I'll finish with mine.
Thanks, but no. My packs are not ready for tagging now, they all need updates and I still hope I will be able to do it.


But there is something else where I could use help. I'm not very confident in my knowledge about Naruto and Bleach, so if you are, and if you would be willing do help me with creating girls .xmls, it could save me a lot of wiki studying. (But I don't really mind as it's usually interesting reading  :) [size=78%]).[/size]
Title: Re: General Discussion
Post by: Xela on November 01, 2013, 11:01:48 AM
Well, it's great to see some progress, it's been a hectic week for me and for tonight I'm proclaiming beer a medicine :)

Tomorrow I'll add team formation through JSON and mobs chain fighting into Arena, NPC Arena fighters are already working with one last bug that I still gotta kill.
Title: Re: General Discussion
Post by: DarkTl on November 01, 2013, 02:19:18 PM
Sure, I'll create xmls for those packs after I'll finish with mine. I've tagged about 50% already, so it's about one week or less.

After that I'll probably create some monsters if the system will be ready, although I have no idea how to balance out their stats. Maybe it mostly should be up to the game depending on monster's level and type (like in many games), while via json you could add more specific things like skills, spells and resistances.
Title: Re: General Discussion
Post by: CherryWood on November 01, 2013, 06:10:19 PM
Thank you. It's Sakura/Hinata/Tenten and Nemu/Momo/Soi-fon/Sun-sun/Nanao so any of these, but only if you will not have something better to do, of course.[size=78%] [/size]



Title: Re: General Discussion
Post by: Xela on November 01, 2013, 07:08:25 PM
After that I'll probably create some monsters if the system will be ready, although I have no idea how to balance out their stats. Maybe it mostly should be up to the game depending on monster's level and type (like in many games), while via json you could add more specific things like skills, spells and resistances.

Yeah, I think that would be best, each mob will have "base" stats but game will ignore that when necessary than and use whatever's required. I am positive that it will possible to import mobs into the game tomorrow.
Title: Re: General Discussion
Post by: Xela on November 02, 2013, 08:07:41 AM
I feel a bit stupid after yesterday's beer but I couldn't find a reason not to mimic ArenaFighter for Mobs simply loading them into a different container...

I'll upload the code to DB soon and than build a bestiary and survival mode in the arena.
Title: Re: General Discussion
Post by: DarkTl on November 02, 2013, 10:04:12 AM
Tales pack is tagged.
Title: Re: General Discussion
Post by: Xela on November 02, 2013, 03:34:40 PM
Basic version of bestiary is ready, I've loaded naruto pack to test if it scales well:


(http://img187.imagevenue.com/loc158/th_420740688_11_2_20138_23_06PM_123_158lo.jpg) (http://img187.imagevenue.com/img.php?image=420740688_11_2_20138_23_06PM_123_158lo.jpg) (http://img269.imagevenue.com/loc545/th_420742891_11_2_20139_31_05PM_123_545lo.jpg) (http://img269.imagevenue.com/img.php?image=420742891_11_2_20139_31_05PM_123_545lo.jpg)
     
Title: Re: General Discussion
Post by: DarkTl on November 02, 2013, 04:07:58 PM
I wonder if we should allow to see mobs stats freely during the battle. Or do we need a bestiary encyclopedia, like in some games.

I guess we could add a passive skill or a spell to read enemy stats eventually, but that's for another BE.
Title: Re: General Discussion
Post by: Xela on November 02, 2013, 04:21:25 PM
I wonder if we should allow to see mobs stats freely during the battle. Or do we need a bestiary encyclopedia, like in some games.

I think that in the future, mobs that player hasn't defeated yet will be blacked out, arena will load some basic mobs for chain fights and maybe some rare ones for special events. For now, I just want to leave everything as it is and improve upon the concept later.

I guess we could add a passive skill or a spell to read enemy stats eventually, but that's for another BE.

Current battle engine allows pretty much everything, it's coding time that might be required to add new stuff that bothers me. When we get to BE redesign, we'll make a wishlist with all expectations and I'll decide if it's a better bet to use current BE or build a new one...

=====================
Chainfights will be the last feature I will code in for the preAlpha Arena, past that adding couple of NPCs, intro and some more texts will be enough. I am thinking about (maybe) adding quests to preAlpha, to make PyTFall seem more like a game, not just a bunch of code... Like get 3 new girls in 15 days or win 5 dogfights or get some strange in the city or level up any girl 5 levels in 30 days and so on...
Title: Re: General Discussion
Post by: DarkTl on November 02, 2013, 04:54:19 PM
I am thinking about (maybe) adding quests to preAlpha, to make PyTFall seem more like a game, not just a bunch of code... Like get 3 new girls in 15 days or win 5 dogfights or get some strange in the city or level up any girl 5 levels in 30 days and so on...
I guess you could, however I've never understood WM type of quests. I mean, you just receive some money from nothing and nobody by doing random stuff.
In Agarest there is the same situation with side quests, but there is adventurers guild with an npc clerk as well, which somewhat explains all these random quests and rewards.

Maybe we need a guild as well even for alpha, at least cosmetic one for a start.
Title: Re: General Discussion
Post by: Xela on November 02, 2013, 06:18:47 PM
I guess you could, however I've never understood WM type of quests. I mean, you just receive some money from nothing and nobody by doing random stuff.
In Agarest there is the same situation with side quests, but there is adventurers guild with an npc clerk as well, which somewhat explains all these random quests and rewards.

You'd get Jokers instead of money in simbro types of games, I always thought it was a very good concept that added a lot to gameplay.

Maybe we need a guild as well even for alpha, at least cosmetic one for a start.

Cosmetic guild is not hard to build, I am not sure that we really require it though...

=========================
So for tomorrow:
- Darked out pics in bestiary for mobs player has not defeated yet (before Alpha as it is remarkably easy to get done).
- Chainfights (I am still thinking about how to handle that, if all scenarios are covered, it will mean a good deal of work, so player vs single monster for 7 times in a row should do for now?)
- Team formations in JSON

More if time allows.
Title: Re: General Discussion
Post by: DarkTl on November 03, 2013, 05:25:16 AM
And what is the jokers in Pytfall? I mean, I know what they do in simbro, but what are they in our project? Artifacts or something?
Title: Re: General Discussion
Post by: Xela on November 03, 2013, 09:30:03 AM
And what is the jokers in Pytfall? I mean, I know what they do in simbro, but what are they in our project? Artifacts or something?

We don't have jokers :(

But we could add those as special items with areal effects. Jokers could simply be a part of gameplay, without any specific explanation in game world. I don't know what better way is there to make a game out of PyTFall, I've tried playing a few dozen turns with dev mode turned off, it's kinda fun but gameplay itself is nonexistent.

We can use guilds + items instead obviously. I'll be back in an hour and start today coding spree :)
Title: Re: General Discussion
Post by: DarkTl on November 03, 2013, 09:52:16 AM
Perhaps jokers could be related to religion. With different gods and tasks, like goddes of love for tasks like recruit girls or rise their disposition; arena quests for god of war of something; etc.
Title: Re: General Discussion
Post by: Xela on November 03, 2013, 11:37:51 AM
Perhaps jokers could be related to religion. With different gods and tasks, like goddes of love for tasks like recruit girls or rise their disposition; arena quests for god of war of something; etc.

Yeap, might work :)
Title: Re: General Discussion
Post by: Xela on November 03, 2013, 05:05:56 PM
Oki, so first version of chainfight are ready :)

Mobs blacked out until defeated seem to be working as well. I'll take a shot at team building but I am not entirely sure how to tackle that at the moment, maybe some basic version to be improved upon later...
Title: Re: General Discussion
Post by: Xela on November 03, 2013, 08:10:37 PM
I am done for the night...

DB version has been updated, testing is required.

New field added to Arena Fighters ("unique"), if unique, arena will not allow more than one character (I meant it to work like that) but than I remembered CW saying about a team of a bleach girl with two shinigamis as support so that is now also allowed.

Teams formation:

Code: [Select]
[
{
"name": "Mitsuru's Supremes",
"members": ["Mitsuru_Kirijo", "random_girl", "random_girl"],
"lineups": 2
},
{
"name": "Randalf's Vendetta",
"members": ["Randalf", "Z", "Z"],
"lineups": 3
},
{
"name": "We got HUGE knockers!",
"members": ["Tsunade", "Mei_Terumi", "Samui"],
"lineups": 5
}
]

First id in members will become teams leader. For members the following can be used:

- ID of a unique girl
- ID of a random girl (new random girl will be created)
- "random girl" will choose any random girl to be created
- ID of an Arena Fighter

"lineups": Does a team get a position in official ladders or just added as a simple arena team? false for simple and valid position for lineup placement.

Game should be able to figure out which is which, we may improve this later to add level setups for random characters... otherwise it's 3a.m. but everything planned for tonight is done :)
Title: Re: General Discussion
Post by: DarkTl on November 04, 2013, 09:46:59 AM
Huge knockers, lol  :D

Touhou1 and Xenosaga tagged. Random packs left.

I suppose we need a separate formation file for each pack. So it's probably should be in the same place as girls xml/json files. I guess it called formation.json or something?
Title: Re: General Discussion
Post by: Xela on November 04, 2013, 10:53:45 AM
Huge knockers, lol  :D

Touhou1 and Xenosaga tagged. Random packs left.

I suppose we need a separate formation file for each pack. So it's probably should be in the same place as girls xml/json files. I guess it called formation.json or something?

What's a formation file?

I'll try to do another coding spree tonight, start in about one or two hours, still kinda inspired cause I manage to get quite a bit done yesterday :) Not entirely sure what the plan is for tonight, maybe improve small things in the code (do a review) or start coding jobs.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2013, 11:27:19 AM
What's a formation file?

This part:
{
"name": "Mitsuru's Supremes",
"members": ["Mitsuru_Kirijo", "random_girl", "random_girl"],
"lineups": 2
},
I believe it's pack makers who should create teams for their characters if they want to. And since we already have more than one pack maker, we cannot use one general file for it.
Title: Re: General Discussion
Post by: Xela on November 04, 2013, 11:50:28 AM
I believe it's pack makers who should create teams for their characters if they want to. And since we already have more than one pack maker, we cannot use one general file for it.

Well, currently and maybe for the Alpha, it may not be possible to recruit girls that are fighting in the Arena. Also I think that between ourselves, we can manage one file just fine. I would really like to avoid having multiple files for teams formations.

= = =

I've decided to tidy up interface today a little bit, it usually takes a lot of time and it's very different from yesterdays code :)
Title: Re: General Discussion
Post by: DarkTl on November 04, 2013, 12:49:20 PM
That will be somewhat difficult for third-party pack makers to add their teams to the game. Players will have to manually add required strings to arena json. Not too user-friendly.
It's like have a general data.xml for all unique girls.

Maybe not multiple files, but something should be done about it eventually.
Title: Re: General Discussion
Post by: Xela on November 04, 2013, 01:42:49 PM
That will be somewhat difficult for third-party pack makers to add their teams to the game. Players will have to manually add required strings to arena json. Not too user-friendly.
It's like have a general data.xml for all unique girls.

Maybe not multiple files, but something should be done about it eventually.

Oki, we'll add that in the future. Something came up so I am not going to be able to put much time into the project, I'll try to start with the top strip (controls, gold, day return button etc.)
Title: Re: General Discussion
Post by: Xela on November 05, 2013, 05:26:37 AM
Damn... this screen remodeling is really a b!tch, especially where game needs to memorize what screens and labels were used (like enabling hero profile to be accessed for multiple screens). I came up with some options that seem to be working at the moment, otherwise, I'll simply move hero profile and items transfer off labels all together and have them run as pure screens with logic wrapped in classes.
Title: Re: General Discussion
Post by: DarkTl on November 05, 2013, 06:57:42 AM
Win 2k, win xp, slime random packs tagged.
Title: Re: General Discussion
Post by: Xela on November 05, 2013, 05:43:50 PM
Win 2k, win xp, slime random packs tagged.

Awesome!

Basic form of top stripe is ready :)

Coin is now animated, hero profile can be accessed from practically everywhere, quick save and load buttons there as well, new return to previous screen button + AP frame are on it. I want to add items transfer screen where applicable, notifications and maybe some other elements as well, right now I am busy adapting screens to the stripe (realigning stuff). I've also added some filters to girls list screen while at it.

(http://img183.imagevenue.com/loc50/th_691102246_11_6_201312_34_47AM_122_50lo.jpg) (http://img183.imagevenue.com/img.php?image=691102246_11_6_201312_34_47AM_122_50lo.jpg) (http://img285.imagevenue.com/loc359/th_691104889_11_6_201312_35_55AM_122_359lo.jpg) (http://img285.imagevenue.com/img.php?image=691104889_11_6_201312_35_55AM_122_359lo.jpg)
     
Title: Re: General Discussion
Post by: DarkTl on November 07, 2013, 03:07:40 AM
Not sure about the left screenshot. If you have 200+ girls, including random ones, you cannot remember them all by names. I think small portraits or something like that will be useful. Or maybe surnames.

Dark, Ranger, Noble, Maid elves and Dryad packs tagged.
Title: Re: General Discussion
Post by: Xela on November 07, 2013, 03:37:39 AM
Not sure about the left screenshot. If you have 200+ girls, including random ones, you cannot remember them all by names. I think small portraits or something like that will be useful. Or maybe surnames.

Dark, Ranger, Noble, Maid elves and Dryad packs tagged.

We'll try it like this first, if it doesn't work out, I'll add pictures or cook up a WM type of screen. Since that screenshot, I've added pink font for unique girls, I think it's quite convenient.

I am busy with improving girls profile screen right now, it's REALLY outdated, missing a lot of into and is not very intuitive. Stripe seems to be working quite well, game looks a LOT better with it, items transfer can be accessed from girls profile and equipment screens now, hero's profile from practically everywhere. I am planning to add notifications and general help there as well, but prolly post Alpha, especially if we decide to release without quests.

Edit:

First steps to improving the girl profile screen (we're missing a LOT more info than I thought..., going to add that now):


  (http://img104.imagevenue.com/loc534/th_814354948_11_7_201310_51_48AM_123_534lo.jpg) (http://img104.imagevenue.com/img.php?image=814354948_11_7_201310_51_48AM_123_534lo.jpg)
     
Title: Re: General Discussion
Post by: DarkTl on November 07, 2013, 04:18:13 AM
I dislike the way how maximums of stats shown. It's more or less admissible with dynamic values like hp, mana or fatigue, but things like "charisma 30/100" are kinda confusing, if not too straightforward.
If you remember, I showed Kamidori stats screen once as example.
Title: Re: General Discussion
Post by: Xela on November 07, 2013, 04:36:24 AM
I dislike the way how maximums of stats shown. It's more or less admissible with dynamic values like hp, mana or fatigue, but things like "charisma 30/100" are kinda confusing, if not too straightforward.
If you remember, I showed Kamidori stats screen once as example.

Yeap, found the screen, but I am not going to go that far with the design until major screen remodeling. What I am doing right now is simply updating screens to the bare minimum required for the Alpha. I do agree that statbars would look a lot better.
Title: Re: General Discussion
Post by: Xela on November 07, 2013, 04:33:57 PM
Closer to an alpha version:

(http://img234.imagevenue.com/loc596/th_859952464_11_7_201311_32_16PM_123_596lo.jpg) (http://img234.imagevenue.com/img.php?image=859952464_11_7_201311_32_16PM_123_596lo.jpg)
     
Edit: DB version is updated with the latest code, next update this weekend.

Edit 2:

Found the first version of this very screen, it's still on the same file :)

(http://i47.servimg.com/u/f47/17/97/08/04/th/111.jpg) (http://www.servimg.com/image_preview.php?i=3&u=17970804)
Title: Re: General Discussion
Post by: DarkTl on November 08, 2013, 09:48:15 AM
Rena, Leafa, Priest, Soldier, Sage, Adventurer random packs tagged. It means that all my existing packs are finally ready   :)
Another example of metadata in one picture.
(http://s001.youpic.su/pictures/1383858000/8aa6bdaa7fa0c9fa4a1b966eeba875a2.jpg) (http://youpic.su)
Title: Re: General Discussion
Post by: Xela on November 08, 2013, 01:24:41 PM
Rena, Leafa, Priest, Soldier, Sage, Adventurer random packs tagged. It means that all my existing packs are finally ready   :)
Another example of metadata in one picture.

Awesome, I managed to put in some time into hero screen tonight, color choices could be better but it'll prolly do for the Alpha.


(http://img169.imagevenue.com/loc739/th_934912559_11_8_20138_14_12PM_122_739lo.jpg) (http://img169.imagevenue.com/img.php?image=934912559_11_8_20138_14_12PM_122_739lo.jpg)
     
Title: Re: General Discussion
Post by: DarkTl on November 08, 2013, 04:07:24 PM
You could use sprites for MC that I have in db, MC folder. Not sure if we need several main characters for alpha though, but sprite instead of portrait is bad even for alpha.
Title: Re: General Discussion
Post by: Xela on November 08, 2013, 10:31:02 PM
It means that all my existing packs are finally ready   :)

Many of the random packs are missing...

Quote
You could use sprites for MC that I have in db, MC folder. Not sure if we need several main characters for alpha though, but sprite instead of portrait is bad even for alpha.

Backgrounds are removed poorly in those, they look really off in the game. I'll cut portrait from current mc pic as I have no idea where he's from.


Edit:

King of fighters doesn't have .xml file. You've also enabled autotagging option in the software and there are now dozens of useless tags in the game, I am surprised you didn't notice that in the gallery, that's what I made it for :)
Title: Re: General Discussion
Post by: DarkTl on November 09, 2013, 04:34:45 AM
Many of the random packs are missing...
I have no idea what do you mean by that. They all are available for download.

Backgrounds are removed poorly in those, they look really off in the game.
Ok. Deleted.

King of fighters doesn't have .xml file.
Yup, I remember.

You've also enabled autotagging option in the software and there are now dozens of useless tags in the game, I am surprised you didn't notice that in the gallery, that's what I made it for
Charming. That's why I asked if I have any mistakes in tags after I finished with Ar tonelico, and guess what, you said I haven't.
Title: Re: General Discussion
Post by: Xela on November 09, 2013, 04:59:21 AM
I have no idea what do you mean by that. They all are available for download.

Most of the links to random girls lead to an error page ("File no longer available.")

Charming. That's why I asked if I have any mistakes in tags after I finished with Ar tonelico, and guess what, you said I haven't.

They were fine (you can even see all the girls from that pack in new girlslist screen pic I've posted ealier, I had them being loaded automatically for testing together with Alice from TouHou), I went over them quite thoroughly, cannot say for sure if we'll keep tagging like that for the final version but good enough for the Alpha. There is no erroneous data on XMP, automatic tags are added during JSON formation. They are not hurting anyone, just making gallery look really stupid.

==============
I am done with the screens for now, I get irritated when I have to work on the same design for to long, I've made 2 or 3 last modifications to Hero Profile screen (stackable items amount was being reported in white on a whitish background making it practically invisible), added hero location and realigned buttons.

Now I want to put some time into the jobs, I'll do some minor stuff to improve performance during next day first, than test several approaches on how to use the new tags in practice (I thought of a number of theoretical approaches but some of them might not be practical), than fix traits. Maybe add a job or something, trouble is that Jobs code might have to be rewritten in the future (it works fine but is a bit messy), new jobs now = more work later.

PS: If anyone has specific requests for jobs, let me know!
Title: Re: General Discussion
Post by: DarkTl on November 09, 2013, 05:10:06 AM
I just tried all links for random packs, they work for me. Are you sure your links.txt is not outdated, since it says "no longer available"? Maybe you need to run dropbox to synchronize it?

I went over them quite tautomatic tags are added during JSON formation. They are not hurting anyone, just making gallery look really stupid.
Ah, I see. Well, we'll need more tags in the future anyway (for slave training, for example), I'll fix it then.
Title: Re: General Discussion
Post by: Xela on November 09, 2013, 05:14:11 AM
I just tried all links for random packs, they work for me. Are you sure your links.txt is not outdated, since it says "no longer available"? Maybe you need to run dropbox to synchronize it?

@#$%^&*(

My dropbox is offline for some reason, I am not even sure for how long, I'll try again after everything is synced.
Title: Re: General Discussion
Post by: DarkTl on November 09, 2013, 05:27:04 AM
About jobs, I believe we don't have a decent job for warriors yet. I mean, you need them for exploring (not ready), arena (with the current BE you need only 2 warriors anyway) and security (don't bring any profit). Do you have any ideas about it?

Edit: King of fighters xml added to db.
Title: Re: General Discussion
Post by: Xela on November 09, 2013, 06:28:11 AM
About jobs, I believe we don't have a decent job for warriors yet. I mean, you need them for exploring (not ready), arena (with the current BE you need only 2 warriors anyway) and security (don't bring any profit). Do you have any ideas about it?

No man, I've got nothing. I would REALLY like to avoid running an exploration operation or even arena teams management from a brothel, it's one of the milestones for PyTFall, we'll add more buildings in the future, they will all have location in the city and could be entered on the city map as well... You are wrong to say that guards do not make any money, if they win an encounter, client pays a very good deal of cash in order not to be handed over to the authorities (if he/she can pay).

If we decide to add buildings system to the game, it will further delay Alpha but we'll have a much better release.

For now, we could assign most warriors to work in the city or fight in the arena, limiting hero iteration with them to girlsmeets relationship and arena combat.
Title: Re: General Discussion
Post by: DarkTl on November 09, 2013, 09:03:46 AM
Nah, let's do it for beta then.

Another thing is casino. IIRC, there is one in wm, it based on girl's intelligence and rng. So from time to time you either get or lose considerable amount of money.
This system is also open to abuse with save/load scamming to gain start-up capital, but way too inconvenient and even dangerous for constant use, because you could be a bankrupt for 2-3 turns until endgame, when you have more money than you need.

So if you will ever decide to add such a job, it should be done from scratch (and I have no idea how exactly yet  :) ).
Title: Re: General Discussion
Post by: Xela on November 09, 2013, 10:23:08 AM
Nah, let's do it for beta then.

Another thing is casino. IIRC, there is one in wm, it based on girl's intelligence and rng. So from time to time you either get or lose considerable amount of money.
This system is also open to abuse with save/load scamming to gain start-up capital, but way too inconvenient and even dangerous for constant use, because you could be a bankrupt for 2-3 turns until endgame, when you have more money than you need.

So if you will ever decide to add such a job, it should be done from scratch (and I have no idea how exactly yet  :) ).


Something came up so I didn't get much done, I've prolly improved performance somewhat but I didn't bother to profile it, feels a bit faster but it might just be in my head since it already worked quite well. Also, after downloading all of your packs, game really looks a lot more alive, especially in the Arena.

Casino is not really high-up on the priorities list at the moment, there is plenty of python code we can use to add simple games like blackjack, the save/reload issue is players problem... but there is a lot we can do to prevent that as well.
Title: Re: General Discussion
Post by: DarkTl on November 09, 2013, 12:32:44 PM
It's called exploit when you do something like save/load scamming. I believe even if player wants to do it, it still should be not exceptionally easy and boring.

For example, in Kamidori and Fire Emblem games stats that grow with level up are random. It's useless to save before level up, since they are determined in the begining of the turn. So in order to scamming you have to create a situation where you save at the previous turn, pass through the enemy turn without level up, and level up at the next turn. It's like a minigame itself.

I figured you want to add casino at some point, since you proposed gambling tag, but it could be anything else associated with intelligence. Like alchemy, invention, teaching, etc.
Title: Re: General Discussion
Post by: Xela on November 09, 2013, 01:29:11 PM
We'll come up with a way to tackle that later.

I've decided not to do jobs today, gonna sleep on it, there are many ways to handle tags + jobs, I am leaning towards allowing costumers to choose "base" act, than check for all images that a girl has available for a "sub-act", than randomly pick a sub-act from all options. If none is available, base act will be used and if even that is missing a picture, girls "show" method will take care of finding the best replacement.

This might require more resources than Rudi's "run the act and let the game find a best matching pic" approach, but I doubt that Python/RenPy will crap out on us (I've expected  them to fail a number of times before and so far they have not). In any case, if I don't come up with a better way until tomorrow evening, I'll code it this way next week and generate a few thousand girls and clients for testing to see how it fairs...
Title: Re: General Discussion
Post by: DarkTl on November 11, 2013, 10:10:52 AM
Cherry, here is estimated xml for Sakura, Hinata and Tenten. Keep in mind that you (or me) probably need another name for folder field, since I use "Naruto" folder too, and you can't have two data.xml in the one folder, obviously. Or we could just combine our Naruto xmls.
Title: Re: General Discussion
Post by: Xela on November 12, 2013, 03:29:15 PM
Been busy with rl, I have a semi-free day tomorrow so if nothing comes up, I'll try to coed as much as I can.
Title: Re: General Discussion
Post by: Xipomus on November 12, 2013, 03:37:48 PM
Know the feeling. about 60 hours of work.. and with a stuborn flu/cold don't leave much energy.

I've been busy try to shop with the girl and what kind of influence it has. I'm hoping to a comparison chart to a equiped view like when you pickup an item in Diablo you it compares to your equiped item.

Made some boneheaded mistakes but finally get the code. Now it's just implementing my idea.
Title: Re: General Discussion
Post by: Xela on November 12, 2013, 03:42:32 PM
Sounds complicated... but if you can get it to work, be my guest :)

The least we need for the Alpha are some gift items per girls class (occupation).
Title: Re: General Discussion
Post by: Xipomus on November 12, 2013, 04:26:22 PM
Will do. Got most of the logic in my head figured out... now need to translate it into something that works on occupation and disposition.

Example:
Buy lingerie for a warrior girl when disposition is low... she doens't really like it and disposition lowers.
But buy the lingerie when the dispostion > 50 she is ok with it. No penalty
And > 80 she loves it. +2 or something.
With the prostitue class it much higher with levels like above...

that was my idea at least.
Title: Re: General Discussion
Post by: Xela on November 12, 2013, 04:31:01 PM
Will do. Got most of the logic in my head figured out... now need to translate it into something that works on occupation and disposition.

Example:
Buy lingerie for a warrior girl when disposition is low... she doens't really like it and disposition lowers.
But buy the lingerie when the dispostion > 50 she is ok with it. No penalty
And > 80 she loves it. +2 or something.
With the prostitue class it much higher with levels like above...

that was my idea at least.

Disposition ranges between -1000 and 1000 if I am not mistaken.
Title: Re: General Discussion
Post by: Xipomus on November 12, 2013, 04:35:55 PM
k will check it in the char stats... but first the look a feel so we can check it. after that is just logic in code.. that's the easy part.

ps. Is it my copy or is the last version on the dropbox not able to go to the next day?
Title: Re: General Discussion
Post by: Xela on November 12, 2013, 04:42:11 PM
k will check it in the char stats... but first the look a feel so we can check it. after that is just logic in code.. that's the easy part.

ps. Is it my copy or is the last version on the dropbox not able to go to the next day?

Lemme check...

============
Should work now.
Title: Re: General Discussion
Post by: Xipomus on November 12, 2013, 05:15:18 PM
Changed files fixed the next day issue for me. Thx.
Title: Re: General Discussion
Post by: DarkTl on November 13, 2013, 08:08:44 AM
Here is xml for those Bleach characters.
Title: Re: General Discussion
Post by: CherryWood on November 13, 2013, 08:29:39 AM
Thank you!
Title: Re: General Discussion
Post by: DarkTl on November 14, 2013, 01:52:41 AM
Xela, do we have a ready system for creating mobs?
Title: Re: General Discussion
Post by: Xela on November 14, 2013, 02:45:01 AM
Xela, do we have a ready system for creating mobs?

Yeap, take a look at content/db folder, there are mobs.json and arena_fighters.json files that are really similar, mobs will be blacked out in the bestiary until defeated once.

I don't have anything to report on my end, jobs have been written without tags in mind and it would take more effort to adapt those than I've expected. For now, I'll leave the tags and fix traits (virginity check has already been added).
Title: Re: General Discussion
Post by: Pashax2 on November 15, 2013, 08:51:08 PM
One of the great things about the original WM game was how easy it was to add new girls. Grab some appropriate pictures, modify an xml file a little, and you were ready to go. Easy enough even for me to do! I'm told the same was true of items as well, although I never tried it.
But with the significantly expanded scope of this project, what will be required to add a new girl/item/stuff?
Title: Re: General Discussion
Post by: Xela on November 15, 2013, 09:28:58 PM
One of the great things about the original WM game was how easy it was to add new girls. Grab some appropriate pictures, modify an xml file a little, and you were ready to go. Easy enough even for me to do! I'm told the same was true of items as well, although I never tried it.
But with the significantly expanded scope of this project, what will be required to add a new girl/item/stuff?

It depends...

Girls:

Option one:
Same as for WM, only .xml file is required, .json with basic tags will automatically be drawn from the file names (like in WM). Disadvantage of this approach is that player will miss out on a number of events requiring specific tags (once we add such events).

Option two:
I am considering adding WM crazy mod packs --> PyTFall automatic convertor. Basically, WM packs can be used in PyTFall for non combat girls "out of the box". This way all WM crazy mod girls could be used as non combatants in PyTFall. Nothing in packs themselves would have to be changed.

Option three:
To construct a proper PyTFall pack, all images inside would have to be tagged by tagger software, .xml file would also be required.

Option four:
Advanced pack, this is not for faint-hearted, same as in option three but modder in PyTFall is allowed to to write unique meeting script, girlsmeets script and interaction script for each unique girl, it's a lot of work, but if you know what you're doing, you can make a girl very unique.


Items:

It's as simple as in WM but you would also require to find a picture for the item.


Rest:

Basically, most of what we're planning to allow modding, will be in json or xml files. So workload is about the same as in WM.
Title: Re: General Discussion
Post by: Pashax2 on November 16, 2013, 01:21:34 AM
If this was a democracy, I'd vote for option 2. There's a lot of content already out there, and it'd be nice to have it reasonably accessible. Option 4 is tempting, but it sounds like it'd be too much for those of us who can't program.

What about using some default settings for characters who don't have a suitable picture for any particular category? The supplied picture(s) would override that, but if there's nothing in the pack for that field then it pulls out something generic but suitable.
Title: Re: General Discussion
Post by: Xela on November 16, 2013, 03:05:24 AM
If this was a democracy, I'd vote for option 2. There's a lot of content already out there, and it'd be nice to have it reasonably accessible. Option 4 is tempting, but it sounds like it'd be too much for those of us who can't program.

All four options should be available, they are not mutually excluding. Option two requires code, one, three and four are working (95% working).

What about using some default settings for characters who don't have a suitable picture for any particular category? The supplied picture(s) would override that, but if there's nothing in the pack for that field then it pulls out something generic but suitable.

We've discussed this and decided to do it differently, profile category picture will be used if pack is missing even the most basic types ("sex", "anal", "lesbian", "combat" etc.).

Special events will only run if pack has tags like ("sex", "outside", "nude", "ecstatic") on a single picture, some events might require less like ("lesbian", "outside") for example.

There are no special events yet, I think that the jobs are now more or less adapted to the new traits, tonight I am planning to add first special event, not yet sure how it'll turn out bu we'll see. Main problem is that jobs code wasn't written with advanced tags in mind and now texts might turn out to long or incoherent and the whole thing will require a rewrite (if that happens, it'll be post Alpha, we'll just release what we have now + whatever we manage to add without making texts look shitty).
Title: Re: General Discussion
Post by: Xipomus on November 16, 2013, 08:11:47 PM
Finally updated my Dropbox folder.
Just the visual part of the girl can shop now. After buying something, it jumps back.
If you have something equiped on the body. It shows a frame below the selected frame, with the equiped item.

Let me know what you think.
In the common-screen.rpy I added a itemstats value for that equiped item.
And in the common-screen.rpy I changed the shop script, so the inventory title is either inventory for hero, shop inventory for shop and girl name for girl. (could be I changed something else there in the shop script, but i was on heavy duty painkillers, so can't really recall)

Ignore the Entertaining text. That was just a test if it would be picked up. Going to revamp that after i'm done with the shop.
Probably first the sex options though.

If you like this setup, I'll add the dispisition changes because of buying or selling a piece for the girl.
At this time the shop is only to the tailor shop. When it's done, i could included all different shops if you wanted?

Let me know.

Signing off, it's way to late here!


Title: Re: General Discussion
Post by: Xipomus on November 16, 2013, 08:16:22 PM
Was still testing. Can one of you apply a love potion to a girl? I get and error activate_effect is neither a gamestat nor a attribute of Girl

Hinata has a default inventory that should contain this.  :'(
Title: Re: General Discussion
Post by: Xela on November 17, 2013, 05:54:23 AM
Lower frame is empty when taking the girl shopping (I think you forgot to upload the common_screen.rpy file).

Everything looks fine, there is a field on every item determening how "good" it is for the girl, you could prolly use that to calculate disposition effects. I think one shop should be enough for now, also it'll prolly be best in the future to code the whole thing in the shops label, but we'll take care of that post Alpha.

I've fixed the Love Potion error. DB version has been updated with the fix, fix for slavemarket (was broken for prostitutes), traits updated for jobs, removing virginity during jobs and a small number of other improvements. I'll try to code in that damn first tagged event tonight :)

=======================
Edit:

Have you worked with version control before? I could resume updating mercurial repo if you like?
Title: Re: General Discussion
Post by: Xipomus on November 17, 2013, 08:32:20 AM
Copied the wrong file... instead of the common-screens.rpy, i copied the jobs...sigh... (it was late... )

Should be up now.

Nice work on the fixes. I'll try to test them today, hope to get a start on the disposition on buying and selling.

Haven't really worked with version control, but probably can figure it out if that handier.

- A suggestion. When you choose the filter free or slave in the girl selection screen, you might want to reset the filter for at least the free or slave.. because it's possible to select them both now... and you don't see anything.

*EDIT*

Btw my changes are always commented with Added by Xipomus and the date or change by Xipmus and date. And also close with a comment end changes by Xipomus. So you can recognise them quickly
Title: Re: General Discussion
Post by: Xipomus on November 17, 2013, 12:54:02 PM
Did come across an issue when i updated the files from your dropbox folder Xela.

Sometimes on the next day button it generates an error.

The error is in de dropbox screenshot folder.

It's a type error rGirl object has no attribute 'get__getitem__'
Title: Re: General Discussion
Post by: Xela on November 17, 2013, 02:04:04 PM
classes - jobs.rpy is updated, error should no longer occur (unless I've missed something, typos in old code that were causing this error were numerous).

Filters are ok for now, they work on exclusion basis and there is a reset button.
Title: Re: General Discussion
Post by: Xipomus on November 17, 2013, 02:29:50 PM
Thx for the fix. Saw an old spelling error in sevices and the /n instead of the \n in some places... replaced those and added a \n to all \n in the end of the line. It makes next day a lot more readable.

I put the changed jobs in my dropbox folder, if you want to use it.

* EDIT *

I forgot to ask.. what can healers do? There isn't a job they want to do I think.
Title: Re: General Discussion
Post by: Xela on November 17, 2013, 02:57:49 PM
Thx for the fix. Saw an old spelling error in sevices and the /n instead of the \n in some places... replaced those and added a \n to all \n in the end of the line. It makes next day a lot more readable.

I put the changed jobs in my dropbox folder, if you want to use it.

* EDIT *

I forgot to ask.. what can healers do? There isn't a job they want to do I think.

Nope, they don't do anything, there is just one or two of those in the game.
Title: Re: General Discussion
Post by: Xipomus on November 17, 2013, 04:51:04 PM
Came across a bug in the tailor shop filter function.

When I call it from the girl_interactions with pytfall.tailor_store.inventory.filter = 'body', the top of the shop inventory shows body.. only the inventory still contains everything.

I didn't even notice till now. Will look at it later.. but just thought to mention it, incase somebody else notices it.
Title: Re: General Discussion
Post by: Xela on November 17, 2013, 05:07:37 PM
Came across a bug in the tailor shop filter function.

When I call it from the girl_interactions with pytfall.tailor_store.inventory.filter = 'body', the top of the shop inventory shows body.. only the inventory still contains everything.

I didn't even notice till now. Will look at it later.. but just thought to mention it, incase somebody else notices it.

It should say: pytfall.tailor_store.inventory.use_filter('body') (I think). Simply setting attribute value to "body" will not activate it.
Title: Re: General Discussion
Post by: Xipomus on November 17, 2013, 06:06:03 PM
Thanks. Works like a charm. Set the girl inventory to body to... so you can see what you sell\buy.

The girl value you are talking about is .badness I think?

But i want to try and add different options for occupation & disposition, so i'll have to filter occupation, and the item stats for added disposition and maybe some joy. If disposition is high enough maybe trigger something.

I was playing around with how i want to responde to trigger.. that is done... now it's making the if's.
Title: Re: General Discussion
Post by: Xela on November 17, 2013, 07:26:07 PM
Thanks. Works like a charm. Set the girl inventory to body to... so you can see what you sell\buy.

The girl value you are talking about is .badness I think?

But i want to try and add different options for occupation & disposition, so i'll have to filter occupation, and the item stats for added disposition and maybe some joy. If disposition is high enough maybe trigger something.

I was playing around with how i want to responde to trigger.. that is done... now it's making the if's.

Ok, after you're done, we should see if those checks can be packaged in a function/method so everything is in one place. If it's to random and common pattern cannot be found, it'll be fine too, just might mean more work if we change something later.
Title: Re: General Discussion
Post by: DarkTl on November 18, 2013, 09:55:51 AM
Do we still need exp in the mobs json? I believe we don't.
Title: Re: General Discussion
Post by: Xela on November 18, 2013, 10:02:43 AM
Do we still need exp in the mobs json? I believe we don't.

Nope, even if we do at the moment, I'll remove the code.
Title: Re: General Discussion
Post by: DarkTl on November 19, 2013, 10:57:19 AM
Btw, I'm going to use "portrait" field for mobs as well. Make sure it at least won't crash the game  :)
Title: Re: General Discussion
Post by: Xela on November 20, 2013, 04:24:08 AM
Btw, I'm going to use "portrait" field for mobs as well. Make sure it at least won't crash the game  :)

Oki, I'll make sure that it doesn't.

There is some turbulence in rl on my side right now so I don't have a lot of time for the project. Things should calm down in a week or so, maybe sooner, I am planning to focus on development after that and try to release Alpha before X-Mass.

@CW: Can you throw whatever you have for girlsmeets in the DB folder (loose texts collection included (like you old xml file))?
Title: Re: General Discussion
Post by: CherryWood on November 20, 2013, 10:06:08 AM
Ok, it's on DB. 
But there's not much useful. It really turned out that I don't have any talent for this.  :( 


After spending some time with it, I think that making girlmeets in simple simbro1x style wasn't the best bet. It doesn't look visually appealing when using standard renpy VN textbox and as from gameplay standpoint, it's not much interesting either (adding more texts doesn't help).  But I'm still not really sure how to do it differently...
Title: Re: General Discussion
Post by: DarkTl on November 20, 2013, 01:18:46 PM
There is some turbulence in rl on my side right now
Same here, I have a new job, so things a bit unsettled right now. But it's still that kind of job where I will be able to spend at least a couple of hours per day on the project.

I've made first 50 mobs, you can find json in my db\mobs folder, and all sprites for them in my db\mobs\mobs folder.
Title: Re: General Discussion
Post by: Xela on November 21, 2013, 03:42:03 AM
Ok, it's on DB. 
But there's not much useful. It really turned out that I don't have any talent for this.  :( 


After spending some time with it, I think that making girlmeets in simple simbro1x style wasn't the best bet. It doesn't look visually appealing when using standard renpy VN textbox and as from gameplay standpoint, it's not much interesting either (adding more texts doesn't help).  But I'm still not really sure how to do it differently...

I don't know... I think it's very good for the Alpha, keep working on it. You don't have to try and make everything perfect, just some base texts for all categories you can handle.

Once we improve window design, it'll be even better, maybe later in development we'll change the way girlsmeets are presented to a player but for now it's all good.

I've made first 50 mobs, you can find json in my db\mobs folder, and all sprites for them in my db\mobs\mobs folder.

I had to delete two lines of code in the screen cause mobs past 10 were cut off but everything is working great otherwise :)
Title: Re: General Discussion
Post by: DarkTl on November 21, 2013, 09:30:44 AM
Added some more mobs, it should be enough for alpha.
Title: Re: General Discussion
Post by: Xipomus on November 21, 2013, 04:31:02 PM
Hey guys,

I'm busy with build the responses to the shop and I have this weird error when I try to reload the game from somewhere in the game. Same if I try to load a game from the menu...

If I start a new game and then load.. I don't have the issue... can't figure it out. Am I missing something?

The error is in the screenshot folder of my Dropbox folder and says something about the StoreModule has no attibute rights to create_arena_girls.

If you could take a look, it would save a lot of time if I can just reload a change... instead of quiting to the menu... reloading, starting a new game again ect.
Title: Re: General Discussion
Post by: Xela on November 22, 2013, 03:43:24 AM
Hey guys,

I'm busy with build the responses to the shop and I have this weird error when I try to reload the game from somewhere in the game. Same if I try to load a game from the menu...

If I start a new game and then load.. I don't have the issue... can't figure it out. Am I missing something?

The error is in the screenshot folder of my Dropbox folder and says something about the StoreModule has no attibute rights to create_arena_girls.

If you could take a look, it would save a lot of time if I can just reload a change... instead of quiting to the menu... reloading, starting a new game again ect.

Why do you need saving? If this bugs you, move create arena girls function definition to init from label start. Otherwise I'll do it in the weekends update myself.
Title: Re: General Discussion
Post by: Xipomus on November 22, 2013, 02:03:44 PM
Because I have all the girls in different categories so I can test the conversation on the different occupations for slave and free. So makes it a lot easier to test changes quickly.

And reload does this automaticaly I have no influence on that... will have  look with more the create arena girls function.

Thx

-----

Put it in the common.rpy about the exit label. It seems to work out. I can change something and press Shift+R to reload and test the modifications.. it speeds the process up a lot.

Dunno how much I can get done this weekend. Lots to do IRL. Got a basic setup for the Prostitution class, but needs a lot of polishing but it works now. I hope to get it at least polished Sunday evening, so I can upload it for your comments.

Ciao
Title: Re: General Discussion
Post by: Xela on November 27, 2013, 03:59:05 PM
Oki, I am still busy with RL but fairly confident in some free time this weekend. I am updating SF version right now (code there is almost three month old) as there is someone who's interested in the project and might be willing to lend a hand. We'll see how it'll turn out.

In any case, I am not going to be around until Friday evening :(
Title: Re: General Discussion
Post by: longint on December 02, 2013, 04:43:24 PM
Hello, everyone!

I think its me, that Xela mentioned above. I'm interested in project, its in python and its alive  ;) .
Now I'm spending some time on my evenings trying to get familiar with renpy and pytfall.

Made popups on girls listing buttons.
Seems to work, but, on other hand, its better to make it like in WM: rows with all info for decision making and small profile image for beauty.
This won't help for alpha release  :( , but this way I become more familiar with project.

(http://s27.postimg.org/832673ucj/ddd.png)
Title: Re: General Discussion
Post by: Xela on December 03, 2013, 09:18:13 AM
You're welcome to remake them in WM style if you like, might even work out better. I am revisiting jobs code and trying to think of way to add tags to it without having to rewrite the whole thing or making a mess :)
Title: Re: General Discussion
Post by: DarkTl on December 04, 2013, 02:45:30 AM
Good to know that the project is still alive  :)
I resume packs creation, although without tags, since we may end up with another tag system close to the release.
Title: Re: General Discussion
Post by: rudistoned on December 04, 2013, 06:16:54 AM
we may end up with another tag system close to the release.
Any serious problems with the current system? I know I've not updated the tagger in a while, but I've been quite busy with Pytherworld and the problems you brought to my attention were no showstoppers as far as I could tell.
Is there somewhere I can read about the new system?
Title: Re: General Discussion
Post by: DarkTl on December 04, 2013, 06:35:28 AM
Nah, Xela mentioned that we might use another set of tags eventually. Even if the changes will be minor, it still means retagging for each tagged pack.

Besides, we won't have bdsm pics tagged properly until slave training system (= beta most likely). So I will have to rework and reupload tagged packs in the future at least once anyway.

Btw, an option to delete any unknown tags, either automatically during tagging for the current picture or for the whole folder
by pressing a button, will be very useful for retagging.
Title: Re: General Discussion
Post by: CherryWood on December 04, 2013, 09:11:47 AM
I'm still hoping for that delete current image button. That would be a great help.
Title: Re: General Discussion
Post by: rudistoned on December 04, 2013, 09:58:21 AM
Btw, an option to delete any unknown tags, either automatically during tagging for the current picture or for the whole folder by pressing a button, will be very useful for retagging.
If you want to get rid of all unknown tags, IMHO the best option is to write a very simple script that uses the functions in the tags package to delete all unknown tags from all images in a directory tree. That's how I've done it in the past. It's also a good option for retagging. All 1:1 and n:1 changes can be done automatically because it is clear which tag should be replaced by which. Only changes were one tag should be replaced by several tags and new tags that should be added require manual retagging.
Of course, using the tags package directly requires a Python installation and the XMP library. To avoid that, I should probably add an option to Image Tagger that lets you run custom scripts like that from the tagger.

I'm still hoping for that delete current image button.
I'll see what I can do. As I said earlier, the problem is not the feature itself, which can be written very quickly, but packaging and uploading the application. I have ideas that can greatly accelerate this process, but they take time to implement too. I'll try to fit this in sometime soon.
Title: Re: General Discussion
Post by: Xela on December 04, 2013, 11:40:01 AM
I've ran into a couple of major bugs when refreshing my memory on how jobs work. While fixing a few, a number of bugs issues remain, one of the bugs is a saving bug which I understand and will attempt to fix tonight.

Rudi is right and we'll kill faulty tags with code, New tags will be required only with the slave training I expect. I have developed an approach that might work with combining new tags and current jobs code the way I intended it to work (two ways actually) without having to rewrite the whole thing (which I intend to do post Alpha).

In any case, I'll let you know when there is some real progress...
Title: Re: General Discussion
Post by: DarkTl on December 05, 2013, 10:12:45 AM
Btw, looks like I cannot get access to gelbooru at home without anonimox addon for firefox (not at work though). And I heard that danbooru has been banned in Russia recently (although I never had any problems with it, at least yet).
Perhaps in the future we'll have to rely on pack makers from other countries.
Title: Re: General Discussion
Post by: CherryWood on December 06, 2013, 04:13:57 AM
What they could possibly gain from blocking boorus? Weird... I'm not using these two sites at all, but still...


----------
I'm at the end of what I can do for the girlmeets at this moment. There's a few things missing and a would like to have more lines here and there, but I couldn't think of anything good anymore so I'm stopping here. (We could really use someone who likes to write...)
Things I wasn't able to do:
- girlmeet doesn't have an end / ap limit to actions. (I removed the ending label)
- giving gifts

- when using   if hero.take_money(100):  it returns false when you have exactly 100g


I uploaded the files to DB - do anything you want with it
Title: Re: General Discussion
Post by: Xela on December 06, 2013, 04:50:59 AM
Don't try to understand what Russians do...

I'll take a look at new girlmeets code when I get a chance. Otherwise I still can't find enough time to really focus on the project, but I did manage to fix the quick save.load buttons on the top strip :)
Title: Re: General Discussion
Post by: CherryWood on December 06, 2013, 06:27:11 AM
I made recruiting girls in a simbro1x way - they only join you if you raise their disposition enough. But it's really weird to have every free girl that's working in your brothel to like you. There really should be two type of girls, the ones those are not opposed to work like this or are actually looking for a job (they could appear in some sort of place that would serve as a "working agency" (that will charge additional hiring money)) and those "pure" ones that you really have to persuade into it (like it's now).


Also, It could be nice to have some sort of competition in the game that will actually hire those free girls from the pool. That could add some emotions to the gameplay, if they woo the girl you also wanted  :) (or maybe even your unhappy girls.)


But unfortunately, I also don't have much time... :(
Title: Re: General Discussion
Post by: DarkTl on December 06, 2013, 09:43:12 AM
I guess we could use occupation for such things. Whores obviously are less opposed to it, while warriors and healers would think twice before working in a brothel, even if not as a whore.

As for competition, I think we shouldn't use competing brothels only, like in wm. I mean, it's pretty old idea already.
Instead we could create random jobs for "free" girls in different places around the city. Maybe you even have to offer better working conditions for working girls if you want them, unless they have maxed disposition.
Title: Re: General Discussion
Post by: longint on December 06, 2013, 03:27:54 PM
DarkTI is right, and you can see it in other games already (every one adds something new, like hospitals and cinema studios). It gets boring with only brothel management, cause you doing all the same stuff over and over again, only with different girl packs.
I though of game world where you have live economics (simulation of it) with different resources and market, with countries and cities. It can be not like Skyrim, but like Pharaon and Cleopatra or Zeus, where you only see them on map, and cities are only buttons with text info (not very hard to implement visually). And you can trade with them, fight etc. :)
Xela's one of main features, on my opinion, is arena. Its good, cause, as I said before, its boring, if its only girl/brothel management.

NB: to think of tags. I had idea, will it be interesting to set tags depending on which directory it is? Example: we have root directory that contains all of images, and they placed in folders that named as tags, like root/girl_name/waitress/offended_by_visitor or root/girl_name/sex/bj. It can make setting tags to groups of images and adding new images much faster. Of course, it just an idea.
Title: Re: General Discussion
Post by: Uriel on December 06, 2013, 06:29:29 PM
Don't try to understand what Russians do...
That pretty much sums it up.  :D   Thanks for the third party opinion on this.
BTW, boorus still work fine for me.
Title: Re: General Discussion
Post by: CherryWood on December 07, 2013, 03:44:45 AM
NB: to think of tags. I had idea, will it be interesting to set tags depending on which directory it is? Example: we have root directory that contains all of images, and they placed in folders that named as tags, like root/girl_name/waitress/offended_by_visitor or root/girl_name/sex/bj. It can make setting tags to groups of images and adding new images much faster. Of course, it just an idea.
This is the way I used (and probably everyone else) when creating old filename based packs, to sort them in different folders first and then rename. And it took quite a while to make all those folders and sort downloaded images in. I don't really miss that now, when we can just tag everything like it is within one folder, one by one. I admit that it can get a little confusing when removing/adding images, but Xela made a gallery for sorting images by tags, that can be used to look for mistagged ones.
So even in the case we could have the ability to add tags for every image in one folder, I don't think it will be worth it to do it like that. Maybe for converting WM packs, but I'm not really a fan of that. Also, with tags like locations or expressions that differs on every image, it's hard for me to imagine any real time saving of that.
Jump to number, delete image and remove tags functions for the tagging software would be the most valuable additions now, In my option.

Title: Re: General Discussion
Post by: Xela on December 07, 2013, 08:11:09 AM
Folders are not likely to work well for tagging, we simply have to many and they're to different.

AS for other jobs/places, it's exactly where I wanted to take the game, as well as allowing different paths for better gameplay. I mean, at this point all we basically have is cold and technical code without any real gameplay. Improving/creating gameplay is next on the list... when I have more time for this :)
Title: Re: General Discussion
Post by: Xipomus on December 07, 2013, 08:18:48 AM
Argl. Still way too busy.
I´ve uploaded my girlinteractions.. with a setup for responding to buying something for the girl.
Only the prostitute is there now.

Will add the rest and finish the prostitute class when i have a bit more time and mostly mental energy left.

It´s on my dropbox folder. Comments are off course welcome.

Have good weekend all.
Title: Re: General Discussion
Post by: Xela on December 07, 2013, 09:15:59 AM
Kewl, I'll take a look and update Repos when I get the chance. Prolly not for a couple of days though :(
Title: Re: General Discussion
Post by: CherryWood on December 07, 2013, 09:36:51 AM
for interactions: earlier I started creating beach date, but I don't feel like working on it right now. Same for combat graphic.
I will update my packs instead (still untagged).


@Xela: You mentioned adding some NPCs. If you are not too busy, may I ask you more about what you had in mind?
Title: Re: General Discussion
Post by: Xela on December 07, 2013, 10:57:04 AM
@Xela: You mentioned adding some NPCs. If you are not too busy, may I ask you more about what you had in mind?

Well, characters with some form of personality that guide player on quests, run shops, Arena and so on. They should at the very least have one VN style backgroundless picture, maybe with a couple of emotions. In some cases we can use Random or even unique girls.
Title: Re: General Discussion
Post by: Xela on December 13, 2013, 06:21:04 AM
Just wanted to post that lack of updates is due to another random hellish event in RL and not related with anything that will last (prevent future development). I should be able to resume normal development (about 2 hours per day + more on weekends) next week.
Title: Re: General Discussion
Post by: DarkTl on December 13, 2013, 09:58:05 AM
And my lack of updates is due to Sharin no Kuni visual novel that I was reading at job this week besides creating packs :D
I'm making Attack on Titan pack, it will be ready next week.
Title: Re: General Discussion
Post by: DarkTl on December 24, 2013, 03:05:53 AM
Xela, do you have sufficient free time to continue the project? Or, rather, will you have it in the future?
Title: Re: General Discussion
Post by: Xela on December 24, 2013, 07:18:22 AM
Xela, do you have sufficient free time to continue the project? Or, rather, will you have it in the future?

Yeah, I expect that I will :)

Even before you wrote your message I've merged all longint's updates, CW's and Xip's work and uploaded it to SF. Also some decent fixes from myself. I cannot find energy to start working on the next large update (Jobs), but I've relaxed quite a bit last week so hopefully I find the energy soon :)

In any case, I expect that there will be time for the project, I just need to rest after some rl crap and kick myself in the butt to start working on the project in daily bases again.
Title: Re: General Discussion
Post by: Xipomus on December 27, 2013, 02:07:21 PM
Xela,

Sounds really familiar... Had to do a programming job in between for Poser (also python) but hope to get some work done on the shop on the weekend.

Will let you know via post and dropbox when it's up.

Have a good weekend guys.
Title: Re: General Discussion
Post by: Xela on January 04, 2014, 12:32:43 PM
I've resumed working on project tonight. Does anyone feel like writing descriptions based on tags during the jobs? That would speed up the process a bit.
Title: Re: General Discussion
Post by: Xipomus on January 04, 2014, 09:53:51 PM
With that you like if a certain tag, a certain sentence is used?
Example.

Tag Big Breasts.
Description. Her big breasts keep the customers of the bar almost hypnotised while they drink.

That sort of thing?
Title: Re: General Discussion
Post by: F-Trill on January 05, 2014, 03:36:58 AM
Hey, Xela.


How are you doing on writers? Looking for story line writing?
Title: Re: General Discussion
Post by: Xela on January 05, 2014, 04:33:04 AM
How are you doing on writers? Looking for story line writing?

With that you like if a certain tag, a certain sentence is used?
Example.

Tag Big Breasts.
Description. Her big breasts keep the customers of the bar almost hypnotised while they drink.

That sort of thing?

Story might be a bit premature but if you want to take a shot at that, be my guest :)

What I meant was:

In PyTFall we voted on keeping the WM based tagging system so for sex jobs we have four categories:

- normalsex
- anal
- lesbian
- blowjob

Each of these categories has a number of sub-tags that are best checked in tagging software. Right now working blueprint for the code looks like this:

Code: [Select]
                if self.girl.has_image("sex", "ontop") and dice(50):
                    self.txt += "He invited her to 'sit' on his lap as he unsheathed his cock. They've continued in what along the same lines in 'girl ontop' position. \n"
                    self.img = self.girl.show("sex", "ontop", resize=(500, 600))
                elif self.girl.has_image("sex", "doggy") and dice(50):
                    self.txt = "".join([self.txt, "He ordered %s to bend over and took her from behind. \n"%self.girl.nickname])
                    self.img = self.girl.show("sex", "doggy", resize=(500, 600))
                else:   
                    self.txt += random.choice(['He wanted some oldfashioned straight fucking. \n',
                                                              'He was in a mood for some pussy pounding. \n',
                                                              'He asked for some playtime with her vagina.\n'])
                    self.img = "sex"

so basically we write texts for specifically tagged images. It can be expanded (obviously) by adding another sublayer of lets say: inside/outside/garden (if there is a garden), if the girl looks happy/sad/ecstatic (check with available tags) and so on.

Maybe we should keep Alpha release simpler and keep to more basic categories... I haven't decided yet, but we need to cover at least the basics.

I'll prolly rewrite the jobs code post Alpha but all text will remain the same.


=============
Edit: Also tags/images can be checked in the Gallery inside of girls profile screen.
Title: Re: General Discussion
Post by: Xipomus on January 05, 2014, 12:32:21 PM
Is group a different category of sex or just a tag?

Like this setup?
Quote
if self.girl.has_image("sex", "ontop") and dice(50):
                    self.txt += "He invited her to 'sit' on his lap as he unsheathed his cock. As soon as he sheated the girl, they started their dance. Thrusting up and down she ran them to both their satisfaction. \n"
                    self.img = self.girl.show("sex", "ontop", resize=(500, 600))
                elif self.girl.has_image("sex", "doggy") and dice(50):
                    self.txt = "".join([self.txt, "Bend over %s, he ordered!\n As she complied he immediately thrust hard into her. Soon after a hard thurst they came together.\n"%self.girl.nickname])
                    self.img = self.girl.show("sex", "doggy", resize=(500, 600))
                elif self.girl.has_image("group"):
                    self.txt = "".join([self.txt, "The group surrounded %s and started stripping her, while playing with her body.\n As soon as she was naked the first entered %s, the others joined.\n"%self.girl.nickname])
                    self.txt = "".join([self.txt, "%s has sucked, fucked and riding them all to exhaustion.\n"%self.girl.nickname])             
                else:   
                    self.txt += random.choice(['He wanted some oldfashioned straight fucking. \n',
                                                              'He was in a mood for some pussy pounding. \n',
                                                              'He asked for some playtime with her vagina.\n'])
Title: Re: General Discussion
Post by: Xela on January 05, 2014, 02:00:03 PM
Is group a different category of sex or just a tag?

Like this setup?

It is a different category as "group" would require different logic as it involves more than one client.

Right now it works like this (off the top of my head, I prolly forgot some sh!t):

-- > Health/Fatigue checks.
-- > Slave/Free/Occupation checks.
-- > Client preference vs girl traits checks.
-- > General sex category (4 main cats I mentioned in previous post, group hasn't been added yet but it'll be the fifth).
-- > Sub sex/location/event/mood/expression categories.
-- > Stat check (relevant to the main category, we do not have substats yet).
-- > Rewards/Penalties over the whole interaction.

If you're planning to add code as well, register with SF and I'll give you the required rights, you'll also have the latest code version at all times...
Title: Re: General Discussion
Post by: Xipomus on January 05, 2014, 02:12:24 PM
-- > Health/Fatigue checks.
-- > Slave/Free/Occupation checks.
-- > Client preference vs girl traits checks.
-- > General sex category (4 main cats I mentioned in previous post, group hasn't been added yet but it'll be the fifth).
-- > Sub sex/location/event/mood/expression categories.
-- > Stat check (relevant to the main category, we do not have substats yet).
-- > Rewards/Penalties over the whole interaction.

So it's now only point 4 that needs writing? The above checks have been done right?
SF you mean Source Forge I imagine?

Dunno how much code it will be. If you want to keep it simple it will just be an split from the example you've given for the 4/5 categories.
Title: Re: General Discussion
Post by: Xipomus on January 05, 2014, 05:07:42 PM
Question though? So I know what part to write.

This is replacing the the part which is in the customer script right? Else you would get double text and the customer text not matching the pic.

If so the testing for her skill and charisma must be included too.

Cheers,

Xip

btw Best wishes for the New Year all (still not used to it)


Title: Re: General Discussion
Post by: Xela on January 05, 2014, 06:47:22 PM
btw Best wishes for the New Year all (still not used to it)

There, there! :)

Question though? So I know what part to write.

This is replacing the the part which is in the customer script right? Else you would get double text and the customer text not matching the pic.

If so the testing for her skill and charisma must be included too.

Cheers,

Xip

Jobs script, take a look at the last update on sf, costumer class/script doesn't have anything to do with pics/tags.
Title: Re: General Discussion
Post by: Xipomus on January 05, 2014, 07:13:21 PM
NVM read the code.. post obsolete :D.

***********obsolete post************************
Sorry jobs script but part of the customer action.

Quote
            # Straight Sex Act
            if self.client.act == 'sex':
               
                self.txt += random.choice(['He wanted some oldfashioned straight fucking. \n',
                                                          'He was in a mood for some pussy pounding. \n',
                                                          'He asked for some playtime with her vagina.\n'])
               
                # Virgin trait check:
                if "Virgin" in self.girl.traits:
                    self.txt = "".join([self.txt, "\n{color=[pink]}%s lost her virginity!{/color} \n\n"%self.girl.nickname])
                    self.girl.removetrait(traits["Virgin"])

Only this part or does the skill part need to be included too. Else you get get a description of a hot sex with the first and then get the remark she's like a cold turkey or something.

Otherwise it's only a small description of the interaction with the pic.
Title: Re: General Discussion
Post by: Dekhyper on January 06, 2014, 08:57:31 PM
Just wandered in and thought I'd barge into the conversation and demand answers to questions you have no interest in answering.

Do you have a world design? So far i've seen a picture of a town and i know that there is an arena and that whoring is at least tolerated but no information about the rest of the world. Is this a lawless land where the strong dominate the weak? Or is it an independent kingdom with an inexplicably high ratio of female citizens whose main export is therefore slavegirls? Perhaps your player has for somehow bribed or blackmailed a local official to look the other way rather than raid his whorehouse? Perhaps you have not given any thought to this at all as you're busy coding? if that last were the case I could do some world design if it would help. If there IS some repository of background information perhaps you could direct me to it.

Also do you have any plans for explorable dungeons? do you have a random dungeon generator yet? there is a set of charts for generating random dungeons in the 1st ed. D&D DM guide that is pretty extensive. It might not be to hard to convert that into code for a dungeon generator.
Title: Re: General Discussion
Post by: Xela on January 07, 2014, 10:59:23 AM
Just wandered in and thought I'd barge into the conversation and demand answers to questions you have no interest in answering.

Do you have a world design? So far i've seen a picture of a town and i know that there is an arena and that whoring is at least tolerated but no information about the rest of the world. Is this a lawless land where the strong dominate the weak? Or is it an independent kingdom with an inexplicably high ratio of female citizens whose main export is therefore slavegirls? Perhaps your player has for somehow bribed or blackmailed a local official to look the other way rather than raid his whorehouse? Perhaps you have not given any thought to this at all as you're busy coding? if that last were the case I could do some world design if it would help. If there IS some repository of background information perhaps you could direct me to it.

Also do you have any plans for explorable dungeons? do you have a random dungeon generator yet? there is a set of charts for generating random dungeons in the 1st ed. D&D DM guide that is pretty extensive. It might not be to hard to convert that into code for a dungeon generator.


World design is VERY limited. Right now it's limited to slaves not being allowed to train in combat skills or participate in any kind of fights, due to a slave revolt that happened not so long ago (maybe 20 - 30 years before the events of PyTFall).

Whoring is perfectly legal, right now there is no tax payment but it's easy to introduce to the game at a later stage (after we have some form of world economics and balance).

There should be law and order. Definitely not lack of those to a point where strong would always dominate the weak.

I never gave any thoughts to female/male ratios. I actually thought that most slaves would either be born into slavery or "imported" from elsewhere.  Enslaving a citizen should be forbidden under normal circumstances, maybe a debt or crime would make an exception.

We didn't give it much thought honestly, it was limited to a couple of discussions on this forum. As you've guessed, we've been busy coding and creating some elements that would suit almost any WMlike world.

Any help is welcome, you can simply search the forum for any info but if you want to design the world/storyline (there is a repository of code, not information), just keep conditions mentioned above (as they've been coded in already), other than that, we haven't agreed on anything.


We've decided to leave explorable dungeons to a latter stage and release an Alpha without those. A lot of code that would allow explorable dungeons has been written already and even if it's not in the repo, I have it. The trouble is that any decent explorable environment, random or not, requires even more coding and thought that Arena. Otherwise random dungeons are easy to code in, what does require a lot of time is to make enough tiles, monsters, bosses, events, items/gold rewards and balance to make it all work. In fact, a VERY good random dungeon generator with rooms, corridors, smart bosses locations, smart temptation tiles placement is actually only 200 - 300 lines on code (we have 20k+ lines in the game right now). Making dungeons or any other explorable environments interesting would take a could thousands lines of code + text.
Title: Re: General Discussion
Post by: Dekhyper on January 07, 2014, 12:44:38 PM
pretty much all i do is study and think about world designs. I'd be glad to work on this if you like. First you gotta start with the big things then you work your way towards the small stuff.
For instance the shape of the world and governments. The shape of the world will affect how things are governed. So far I've assumed a standard spheroid world with a standard government. I think there are nobles mentioned as a type of customer and that implies that we are currently working inside some sort of feudalistic monarchy. the shape of the world means that a slave that escapes may very well be able to simply run far enough cross a border and be gone forever in game terms.

But lets say we want something more interesting, like a world shaped like a group of associated spheroids inside a bubble of breathable gasses in a low gravity environment. each spheroid probably has its own government lets say that the one you are on rather than a feudalistic monarchy is an oligarchy nobility therefore is merely a recognition that a person has sufficient wealth to be considered an oligarch and therefore have a vote in the senate. Travel between spheroids is limited to those who can obtain passage on a flying ship. Slaves that are shipped from one spheroid to another therefore have little chance of returning to their homes therefore are always recoverable in game terms. 

And gods, what kind of gods do you want? a deistic style creator would mean that after god created the land he simply lets it run and no longer interferes with what happens. or perhaps you prefer a polytheistic system with different gods claiming different realms of influence. the competition among gods might mean that in some places slavery is illegal and therefore any slave that gets to that place is now free.

any of this looking interesting to you?
Title: Re: General Discussion
Post by: DarkTl on January 07, 2014, 01:00:36 PM
Well, for now Xela is assuming it is the same universe where WM "events" taking place. There is a fairly detailed prehistory (http://www.pinkpetal.org/index.php?topic=1008.0) of the world. Naturally, there is no information about Pytfall and its environs, so it could be anywhere and have any prehistory if you'd like to write it. Still, you can rely on that prehistory if you want to.

As for the slavegirls source, Xela refused once to substantiate it by standard simple explanation (space distortion, yeah), somehow he prefers to not have an explanations at all  :)

Title: Re: General Discussion
Post by: DarkTl on January 07, 2014, 01:12:36 PM
And gods, what kind of gods do you want? a deistic style creator would mean that after god created the land he simply lets it run and no longer interferes with what happens. or perhaps you prefer a polytheistic system with different gods claiming different realms of influence. the competition among gods might mean that in some places slavery is illegal and therefore any slave that gets to that place is now free.
A god that no longer interferes would be contrary to the possibility of the resurrection of characters in the temple that will be added to the game in the future. Of course, you can change the concept and resurrect with the help of scientific achievements solely, but that would require much more advanced world, with spaceships and stuff.
Title: Re: General Discussion
Post by: Xela on January 07, 2014, 01:37:17 PM
As for the slavegirls source, Xela refused once to substantiate it by standard simple explanation (space distortion, yeah), somehow he prefers to not have an explanations at all  :)

Well, I didn't want to create to many delimiting factors before the world is created as a concept... I thought I've made that clear. Slaves can be drawn from major military conquests (not related to player, general government sort of thing), during exploration, people without citizenship and so on. There is no point in setting these things straight before conception of the whole world, unless required by code/game design.

pretty much all i do is study and think about world designs. I'd be glad to work on this if you like. First you gotta start with the big things then you work your way towards the small stuff.
For instance the shape of the world and governments. The shape of the world will affect how things are governed. So far I've assumed a standard spheroid world with a standard government. I think there are nobles mentioned as a type of customer and that implies that we are currently working inside some sort of feudalistic monarchy. the shape of the world means that a slave that escapes may very well be able to simply run far enough cross a border and be gone forever in game terms.

- standard spheroid world
- standard government
- feudalistic monarchy

All sound good to me. Maybe a republic along the lines of Roman Empire before Julius? I don't care either way.

But lets say we want something more interesting, like a world shaped like a group of associated spheroids inside a bubble of breathable gasses in a low gravity environment. each spheroid probably has its own government lets say that the one you are on rather than a feudalistic monarchy is an oligarchy nobility therefore is merely a recognition that a person has sufficient wealth to be considered an oligarch and therefore have a vote in the senate. Travel between spheroids is limited to those who can obtain passage on a flying ship. Slaves that are shipped from one spheroid to another therefore have little chance of returning to their homes therefore are always recoverable in game terms. 

Similar to what I've suggested above as a system, however multiple worlds may require to much design and search for related graphics than we have actual time to create.

And gods, what kind of gods do you want? a deistic style creator would mean that after god created the land he simply lets it run and no longer interferes with what happens. or perhaps you prefer a polytheistic system with different gods claiming different realms of influence. the competition among gods might mean that in some places slavery is illegal and therefore any slave that gets to that place is now free.

I like the Oblivion deity design. We could go with something along those lines, only more limited.

any of this looking interesting to you?

It's all interesting, but world concept should be mindful of the fact that this is a game and a sim. Deep design of the world might not really be necessary or may even turn out to be restrictive to game design.

Maybe we should first agree on the format:

1) Long introduction style.

2) Books like in Elder Scroll games.

3) Talking to NPCs and advancing through the game.

Mixture or something different might also work but the main issue is that we need to be mindful of the amount of texts/events/NPC required and time we'll need to make it all work. Since it's a game and not a book, we're limited as far as the depth goes by Graphics, sounds, backgrounds, NPCs that we can find online...
Title: Re: General Discussion
Post by: Dekhyper on January 07, 2014, 02:31:13 PM
A god that no longer interferes would be contrary to the possibility of the resurrection of characters in the temple that will be added to the game in the future. Of course, you can change the concept and resurrect with the help of scientific achievements solely, but that would require much more advanced world, with spaceships and stuff.
not if you went with a steampunk/frankenstien style resurrection, which consists of strapping a not too rotten or damaged corpse to the slab during a storm and shooting lightning into it. Or a reanimator style resurrection, pump the corpse full of drugs but don't wait too long or it will be evil.

- standard spheroid world
- standard government
- feudalistic monarchy

All sound good to me. Maybe a republic along the lines of Roman Empire before Julius? I don't care either way.
good old Not Earth it is i guess

i dunno much about the old roman way of doing things to be honest, wasnt there a lot of family stuff going on as well as  competition for wealth? maybe your dude it trying to break into the nobility despite not being from a "noble" family?

I like the Oblivion deity design. We could go with something along those lines, only more limited.
wow gonna hafta be WAY more specific on that.
It's all interesting, but world concept should be mindful of the fact that this is a game and a sim. Deep design of the world might not really be necessary or may even turn out to be restrictive to game design.

Maybe we should first agree on the format:

1) Long introduction style.

2) Books like in Elder Scroll games.

3) Talking to NPCs and advancing through the game.

Mixture or something different might also work but the main issue is that we need to be mindful of the amount of texts/events/NPC required and time we'll need to make it all work. Since it's a game and not a book, we're limited as far as the depth goes by Graphics, sounds, backgrounds, NPCs that we can find online...

a good world background allows easy creation of quests and makes coherent npc talk easier, but you are right in as much as the background needs to reflect the mechanics and not restrict them. The elder scrolls game really did do a good job explaining the history of the world in unobtrusive ways, emulating them is not a bad choice.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2014, 02:52:42 PM
Well, I didn't want to create to many delimiting factors before the world is created as a concept... I thought I've made that clear.
Nah, you said you don't care about such explanations at all  :)

Basically, in OW, SM and WM anything about girls could be explained by random space distortion. That includes twins, characters from clearly different worlds, dead ones according to the original source, etc. That's a very simple, yet handy concept.

Or a reanimator style resurrection, pump the corpse full of drugs but don't wait too long or it will be evil.
Ouch, now that's a scary story. I watched Reanimator, it does not restore the body, and the revived ones are always evil and kinda immortal, iirc  ???
Title: Re: General Discussion
Post by: Xela on January 07, 2014, 02:54:26 PM
good old Not Earth it is i guess

i dunno much about the old roman way of doing things to be honest, wasnt there a lot of family stuff going on as well as  competition for wealth? maybe your dude it trying to break into the nobility despite not being from a "noble" family?

Old Earth clone might work, but we have magic and some tech to make it more interesting. Family names died off fairly quickly for some reason in RE, also most adapted children did a better job at governing sh!t.

As for trying to buy his way into nobility, if you can make that story work, I don't really mind.

wow gonna hafta be WAY more specific on that.

Oblivion as in Elder Scrolls. Aedra/Daedra/Creation Gods/Local folklore and so on. Basic stuff, couple schools of thought, maybe with specific benefits like increasing specific skills benefits as a rewards for loyalty to a specific school of believe/thought.

a good world background allows easy creation of quests and makes coherent npc talk easier, but you are right in as much as the background needs to reflect the mechanics and not restrict them. The elder scrolls game really did do a good job explaining the history of the world in unobtrusive ways, emulating them is not a bad choice.

It's true, my point was that creating a world background without any NCP's/Texts/Books or any actual content is not a very good idea. I am more concerned in something we can actually put in the game, not just a backstory since there are plenty of those available in books/games/online and in this very forum :)
Title: Re: General Discussion
Post by: DarkTl on January 08, 2014, 01:14:28 AM
On the other hand, we will have cloning technology in the game, so reviving could be somehow based on it as well.

- standard spheroid world
- standard government
- feudalistic monarchy
Well, WM plot is about endless multidimensional catacombs under the city that lead to other worlds. We might as well assume that those catacombs are not just under the city, but "under" the whole world.
Title: Re: General Discussion
Post by: Dekhyper on January 08, 2014, 12:14:45 PM
hrrmm endless transdimensional catacombs huh? one of my favorite explanations for those goes like this, you've got this priest who worships a dead god, one who was defeated and cast out by the other gods, and he wants to preform a resurrection on his god. ordinarily this  would be impossible but this priest has a reliquary that contains a actual physical part of the dead god.  so he does the resurrection and it doesn't work all it does is pull a fragment of the dead gods realm into his own. this so upsets the fabric of space and time that it causes the relevant catacombs, 
Title: Re: General Discussion
Post by: Xela on January 08, 2014, 05:04:55 PM
hrrmm endless transdimensional catacombs huh? one of my favorite explanations for those goes like this, you've got this priest who worships a dead god, one who was defeated and cast out by the other gods, and he wants to preform a resurrection on his god. ordinarily this  would be impossible but this priest has a reliquary that contains a actual physical part of the dead god.  so he does the resurrection and it doesn't work all it does is pull a fragment of the dead gods realm into his own. this so upsets the fabric of space and time that it causes the relevant catacombs,

I can't really tell why these explanations are even required. Some stuff is better left to the imagination.

On the other hand, we will have cloning technology in the game, so reviving could be somehow based on it as well.

I thought we wanted to go with magic (religious/spiritual) approach, not tech?

============
Otherwise I pushed a small bit of code as an update for jobs today. Maybe more tomorrow, I'll try to push more frequently since there "might" be more people working on the code now.
Title: Re: General Discussion
Post by: Dekhyper on January 08, 2014, 06:16:17 PM
not every explanation needs to be visible to the player but HAVING an explanation, even a vague one, in mind from the beginning makes it easier to craft coherent events relating to the anomaly.

Maybe you dont actually need an explanation but a good idea of the capabilities of the anomaly might work just as well. a comprehensive list of what can and cant happen would obviate the need for an explanation of why or how it happens if you wanted to leave that as a mystery.

(see i can be flexible)
Title: Re: General Discussion
Post by: DarkTl on January 08, 2014, 11:50:38 PM
I thought we wanted to go with magic (religious/spiritual) approach, not tech?
Doesn't matter. We will have clones one way or another, even if created by magic only. So resurrection could be based on this concept if we won't have an advanced religion with resurrectig spells.

one of my favorite explanations for those goes like this, you've got this priest who worships a dead god, one who was defeated and cast out by the other gods, and he wants to preform a resurrection on his god.
Reminds me of NWN2 MoB   :)
I guess we could try to give an explanation for catacombs existance, maybe even use it as a main plot.
Title: Re: General Discussion
Post by: Xela on January 09, 2014, 06:59:49 AM
not every explanation needs to be visible to the player but HAVING an explanation, even a vague one, in mind from the beginning makes it easier to craft coherent events relating to the anomaly.

Maybe you dont actually need an explanation but a good idea of the capabilities of the anomaly might work just as well. a comprehensive list of what can and cant happen would obviate the need for an explanation of why or how it happens if you wanted to leave that as a mystery.

(see i can be flexible)

Like I've said, you can write a world concept as you see fit. My personal experience from Alkion development showed that it doesn't pay off in the end for small indie projects. The only such project where it works is Mystic Mirrow where one developer is completely focused on concept designs/graphics and coder is focused on code.

PS: I've added you to Skype as you've asked.
Title: Re: General Discussion
Post by: Xela on January 09, 2014, 05:04:52 PM
Oki, just pushed a decent update to SF. If somebody wants to replace/improve my texts (that shouldn't be to hard) or add more options or even addons (like moods or locations based on stats and locations), be my guest, I'll prolly leave acts like this for the Alpha.

- Changed the logic on sex acts (random choice instead of dice)
- Added a lot of new texts on act events
- Started adapting rest of the jobs to new tagging system
Title: Re: General Discussion
Post by: DarkTl on January 10, 2014, 04:31:45 AM
Finished with attack on titan, making tekken pack now.

I think you forgot to code a couple of effects for traits. I reminded you about it at some point, and you forgot again. Now even I don't remember which effects weren't coded :)
Title: Re: General Discussion
Post by: Xela on January 10, 2014, 04:43:11 AM
Finished with attack on titan, making tekken pack now.

I think you forgot to code a couple of effects for traits. I reminded you about it at some point, and you forgot again. Now even I don't remember which effects weren't coded :)

"Poison"
"Unstable"
"Optimist"
"Pessimist"
"Composure"
"Down with Cold"
"Nymphomaniac"
"Frigid"
"Kleptomaniac"
"Slow Learner"
"Fast Learner"
"Introvert"
"Extrovert"
"Food Poisoning"

This is what we have at the moment. I think you've tested them...

==============================
Edit:
SF updated. (Rest and Strip Jobs are better tagged now.) I am gonna be busy until tonight :(
Title: Re: General Discussion
Post by: DarkTl on January 10, 2014, 06:26:56 AM
I have. But it was like half a year ago.

Guess we need depression for joy<10 and on a roll or something for joy>90. We already have discussed that, but I don't remember if there was any conclusion.

Sensitive ("This girl's body is very delicate and responsive to stimulation") should be more sensitive to any items and events that change libido (both increase and decrease).

Impersonal should be less dependent on emotions. Emotions are both joy and disposition in our case. Not sure how to handle this one, perhaps items and events that change these stats should be twice less effective, or maybe there will be lesser bonuses and penalties for both low and high values of these stats, unlike girls without this trait.

Food and drinks (maybe drugs in the future) should have half of effect on artificial body girls. Since there are cyborgs and stuff, we cannot disable it completely, but 100% effect is weird too.
Also, in WM AB-girls are difficult to damage, they recovered longer than usual ones, iirc healing items are less effective too.

I guess that's all. Other effects will require a new BE or autoequpment system.
Title: Re: General Discussion
Post by: CherryWood on January 10, 2014, 07:03:33 AM
Oki, just pushed a decent update to SF. If somebody wants to replace/improve my texts (that shouldn't be to hard) or add more options or even addons (like moods or locations based on stats and locations), be my guest, I'll prolly leave acts like this for the Alpha.
Looks good so far.
But I have some group and rapeish pics appearing when using my girls. Would it be possible remove pics tagged "group" and "bdsm" from showing in whore job?   
Title: Re: General Discussion
Post by: Xela on January 10, 2014, 07:41:16 AM
Looks good so far.
But I have some group and rapeish pics appearing when using my girls. Would it be possible remove pics tagged "group" and "bdsm" from showing in whore job?

I'll don't have access to code right now, but it should be possible. Even if it isn't, I'll code an option to exclude tags. There are bound to be issues with tags system, it's a new design that I've never worked with but group and bdsm pics should never appear in normal sex category unless those were misstagged (bdsm/group/sex are all main tags from the same category). If you or Dark tagged bdsm or group tag with sex even if characters in the pic are having sex, it was an error.

We'll get it right after a couple of versions... Dark was right for example, one girl/one guy (of whatever) tags should have been used for any extra guy/girl except the MC. His approach would have been easier to work with, but I'll try to correct all of that stuff with code.
Title: Re: General Discussion
Post by: Dekhyper on January 10, 2014, 12:57:11 PM
man, signing up for classes is proving harder than expected. this bodes ill for the future
Title: Re: General Discussion
Post by: Xela on January 10, 2014, 03:45:41 PM
man, signing up for classes is proving harder than expected. this bodes ill for the future

:) Good luck both with signups and the future!

==================
There is no option to exclude tags on show but there seem to be one in tag database. I'll see if I can add it to show.
Title: Re: General Discussion
Post by: Xela on January 10, 2014, 05:33:54 PM
Oki, tonights SF update:

- Added (but not tested) exclude argument to girls show method
- Excluded group and bdsm tags from acts during the whore job
- Commented out old quest tags codebit on girls select image method
- Added combat pics to guard job and rest pic to it's resting event (there were no pics at all, causing chaos on next day)

==================================
I am not happy with the how tags are being excluded right now (to many database accesses), but if it actually IS working (confirmation needed), I am going to leave it at that until postalpha or until we agree on how tagging should work if that happens before the Alpha.

Gnight...
Title: Re: General Discussion
Post by: CherryWood on January 11, 2014, 08:03:32 AM
Yup, it's working, I don't have group and bdsm pictures in whore job anymore.


But now there are pictures from different girls appearing a lot in next day report :(
Title: Re: General Discussion
Post by: Xela on January 11, 2014, 08:29:36 AM
But now there are pictures from different girls appearing a lot in next day report :(

When and where?

Edit: Ah, ok. I may know what's happening...
Title: Re: General Discussion
Post by: CherryWood on January 11, 2014, 09:03:29 AM
When and where?

From starting girls, it's happening a lot for Alice Margatroid, on her report (she has been working for you for 1 day...). Then it's happening for girls that switch to auto rest (and those manually set to rest). For example, instead of Kurenai resting, I get a text "She spend the day relaxing" with picture of Chie, who is not even recruited.
Title: Re: General Discussion
Post by: Xela on January 11, 2014, 09:31:50 AM
From starting girls, it's happening a lot for Alice Margatroid, on her report (she has been working for you for 1 day...). Then it's happening for girls that switch to auto rest (and those manually set to rest). For example, instead of Kurenai resting, I get a text "She spend the day relaxing" with picture of Chie, who is not even recruited.

I just updated SF. This "might!" be fixed now. I somehow didn't get the issues you but I can see how and why they could occur.
Title: Re: General Discussion
Post by: Xela on January 11, 2014, 04:54:25 PM
Tonights SF update:

- Added type to girls show method
- Finished first attempt of adapting jobs to new tags system

================
Wrong girls pics showing on next day should be a thing of the past now but this obviously needs a lot of testing...
Title: Re: General Discussion
Post by: Xela on January 12, 2014, 06:19:14 AM
Another SF update:

- School updated to new codestyle

All stat updates are properly displayed and applied now. Pics are being displayed properly (with new tag system). Scales better... Damn that code was OLD... I almost forgot for how long we've been working in this :)
Title: Re: General Discussion
Post by: CherryWood on January 12, 2014, 08:32:23 AM
After getting this update, I tried sending girls on few courses but...
------
There are courses in the school list with 0 or less (like -2) days left.
They're normally attendable, but they never ends,  just deducting numbers forever (I get to -65 days left course)They probably appear like that, because courses with positive numbers ends normally.

------
There is no message besides disposition -50 in report when girl refuses to attend course. (Or at least I think that's the reason - hard to tell, but she is removed from the course when this happens)
-----
In a report about your girl attending a course, it announces girl stats like "Service 2" but in profile, she still have 0/94 after it.
------
Etiquete, dance and beauty pics are displaying fine, but
in combat course, there is no battle pic, just normal profile
in service course, there are ok waitress, cleaning and cooking (cooking looks good there) pics displayed, but also Strip+maid pics, that doesn't belong there.


------

And also funny >>>I missed something!<<< dev notes in whore job report :D
 
Title: Re: General Discussion
Post by: Xela on January 12, 2014, 08:54:11 AM
Should all be fixed as well (with new bug fix).

"I missed something" being an exception (some stats are being pushed below 0, I never intended that to happen). Do you think it's weird that some stats are being pushed below 0 by traits and items?
Title: Re: General Discussion
Post by: CherryWood on January 12, 2014, 09:59:26 AM
I don't think so, but I'm not experienced enough to think about what it actually mean for coding.
Title: Re: General Discussion
Post by: Xela on January 12, 2014, 10:25:00 AM
I don't think so, but I'm not experienced enough to think about what it actually mean for coding.

Well, doesn't mean much for coding, I'll need to adjust some wage methods and remove that message, as long as it's not to weird for gameplay.
Title: Re: General Discussion
Post by: DarkTl on January 12, 2014, 12:02:09 PM
Iirc, in D&D if you managed to drop any of your stats to 0 (and that's not simple at all), you will die. We might use the same system eventually.
Or maybe throw up some major negative effect instead. Maybe a separate effect for each stat, like atrophy for constitution.
Title: Re: General Discussion
Post by: Xela on January 12, 2014, 01:29:19 PM
Iirc, in D&D if you managed to drop any of your stats to 0 (and that's not simple at all), you will die. We might use the same system eventually.
Or maybe throw up some major negative effect instead. Maybe a separate effect for each stat, like atrophy for constitution.

Trouble is that some items and traits are pushing stats below 0 under very normal circumstances because they can also have effect on minimum of every stat.

If I just bluntly not allow then to do so, then every trait or an item on removal (that pushed below 0) will provide more stats than it deducted as a penalty. That can be prevented but I would have to introduce YET another dict to stats and code their already looks absurd due to all precautions we taken (original WM has a flawed design in this department btw)...

So: Before the Alpha, we choose between:

- Blunt force and small exploit in gameplay.
- Allow stats to drop below 0.

Post Alpha I might make the system "perfect" if there is real demand for it.

EDIT:
Simplest solution is to simple block ALL changes to minimum of ANY stat. I am not entirely sure that modding minimum is a good idea for any game...
Title: Re: General Discussion
Post by: Xela on January 12, 2014, 04:43:31 PM
Ok, so the last commit and push for today:

- Fixed some bugs
- Started (barely) to update girls sorting methods. They were rushed and not very well thought through (since we didn't know the shape of the Alpha we'll be releasing)
- Stats display on next day are now colorcoded (lawngreen for increases and red for decreases)
- Girls personal report is more useful now as it displays total changes to all stats that took place over the day. That means ALL stat changes from jobs, school, interactions, combat, girlsmeets and so on. Items are not included.

Also encountered some insane error that crashed the game without any error reports or tracebacks (on "compile"). I don't understand why the error occurs, prolly some Python thing I've never heard of or Ren'Py bug. Took me a while to get to the trace :(
Figured it out...

PS: Don't let sometimes scary drops in disposition when girls are getting payed less than they expect, that code is also outdated and new changes we've introduced since are messing with it. I'll take care of that after sorting is finished.
Title: Re: General Discussion
Post by: DarkTl on January 13, 2014, 01:12:52 AM
Well, I believe we should allow stats to drop below 0 then. Let's assume that 0 is average value, like neither beautiful nor ugly for charisma.

Respectively, negative values mean ugly, with corresponding consequences for client-oriented jobs for low enough values.
Title: Re: General Discussion
Post by: Xela on January 13, 2014, 04:51:30 PM
====
I'll be really busy this week, so the next update will have to wait until the weekend. I'll try to work on proper loading of characters into the game whenever I can before the weekend as well and I'll still check in with the forums.
Title: Re: General Discussion
Post by: Dekhyper on January 13, 2014, 08:30:00 PM
damn this is annoying. I am very busy, shoulda just stuck to lurking.
Title: Re: General Discussion
Post by: bondrus on January 14, 2014, 02:40:01 AM
Hi. Want to help with this game, but im didnt know Pyton, so i need to ask, is it easy to get in (i have some knoweledge in specific prog. lang.) and if it is, what i need to download exept Renpy to change code and test it?
And would be nice to see some "todo least" to get something to work on, that noone else do in (at least) this month.

So if someone can explain it to me, i can do something to help this game in my free time. :)
Title: Re: General Discussion
Post by: Xela on January 14, 2014, 02:39:31 PM
Hi. Want to help with this game, but im didnt know Pyton, so i need to ask, is it easy to get in (i have some knoweledge in specific prog. lang.) and if it is, what i need to download exept Renpy to change code and test it?
And would be nice to see some "todo least" to get something to work on, that noone else do in (at least) this month.

So if someone can explain it to me, i can do something to help this game in my free time. :)

Hi.

You just need the Ren'Py, it comes with a number of text (code) editors or you can use whatever you're used to. I do not have a TODO list, but my basic approach to whomever wants to contribute is to check the game and find whatever they would like to advance/improve or simply work upon.
Title: Re: General Discussion
Post by: bondrus on January 14, 2014, 11:51:53 PM
So, for example, if i see some action(button) without result in game - that mean its need to be done?

Then i try to do something. :)
Title: Re: General Discussion
Post by: Xela on January 15, 2014, 04:09:34 AM
So, for example, if i see some action(button) without result in game - that mean its need to be done?

Then i try to do something. :)

I don't recall that we have any of that but see what you can find :)


@ Dark/CW

I've updated the TODO list, tell me if I forgot something?
Title: Re: General Discussion
Post by: DarkTl on January 15, 2014, 10:16:14 AM
So, for example, if i see some action(button) without result in game - that mean its need to be done?
I guess we DO have the TODO list after all, so you could take a look at it if you want to  :)
Title: Re: General Discussion
Post by: bondrus on January 15, 2014, 11:45:43 AM
I guess we DO have the TODO list after all, so you could take a look at it if you want to  :)
Where? Show me plz.  ::)

"I don't recall that we have any of that but see what you can find"
About that... i followed instruction to download game profect, got all installed - and in interractions with girls (in park for example) i push buttons with actions and some of them just give neggative answer (looks for me like some textplacer) or give some error (line on top of screen) sayin something like "there no event for this button" (tested on weekend so can tell more acuratly).

P.S. forgive me my eanglish  ;) i dont know it well.
Title: Re: General Discussion
Post by: CherryWood on January 15, 2014, 12:04:13 PM
oh, that's girlmeets, "interaction" we call the part you can find under girl profile/interact (just to avoid confusion)


btw, girlmeets need more work then just filling holes and recruitment (in TODO list), because I did almost nothing on them codewise.

- they don't use AP so one meeting never ends
- girls those are there at the start of the game are never replaced with new ones
- there is no screen to give gifts
- they doesn't use tags yet


and I don't believe I can do it (I don't understand the code that much yet)


------------
Can I continue tagging girlpacks, or we will make some changes in tags before alpha?
Title: Re: General Discussion
Post by: Xela on January 15, 2014, 12:31:10 PM
oh, that's girlmeets, "interaction" we call the part you can find under girl profile/interact (just to avoid confusion)


btw, girlmeets need more work then just filling holes and recruitment (in TODO list), because I did almost nothing on them codewise.

- they don't use AP so one meeting never ends
- girls those are there at the start of the game are never replaced with new ones
- there is no screen to give gifts
- they doesn't use tags yet


and I don't believe I can do it (I don't understand the code that much yet)


------------
Can I continue tagging girlpacks, or we will make some changes in tags before alpha?

Noted about the girlsmeets. You and Dark can decide about the tags.
Title: Re: General Discussion
Post by: Xela on January 15, 2014, 12:34:50 PM
Where? Show me plz.  ::)

"I don't recall that we have any of that but see what you can find"
About that... i followed instruction to download game profect, got all installed - and in interractions with girls (in park for example) i push buttons with actions and some of them just give neggative answer (looks for me like some textplacer) or give some error (line on top of screen) sayin something like "there no event for this button" (tested on weekend so can tell more acuratly).

P.S. forgive me my eanglish  ;) i dont know it well.

Here: http://www.pinkpetal.org/index.php?topic=1920.msg21163#msg21163

Girlsmeets are not finished, no. If you want to add text to those, be my guest, but those would have to be in English :)
Title: Re: General Discussion
Post by: DarkTl on January 15, 2014, 01:01:03 PM
About tags, I'll finish Tekken pack tomorrow and then will take a look at them. But since we will change tags once more after slave training, I see no point in changing them right now. Not to mention that we need a new tagger version for a start.
I think I will remind rudi of it after actual alpha release.
Title: Re: General Discussion
Post by: CherryWood on January 15, 2014, 03:35:24 PM
Ok, if you think so...
Title: Re: General Discussion
Post by: bondrus on January 16, 2014, 01:14:36 AM
Ok, now i see how it all works.
I gona look at code and try to understand if i can help with this, thouth i should do it at weekend.

And bout text writing... dont think i have skill for this :) but learn pyton on this would be nice.
Title: Re: General Discussion
Post by: Xela on January 16, 2014, 02:02:46 PM
Crossed off brothel dirt, going to take a look at shops now.
Title: Re: General Discussion
Post by: Xela on January 16, 2014, 06:51:55 PM
Oki guys, decided to push before the weekend, someone may find some time to test the new stuff.

SF has been updated with:

Brothel dirt logic has been greatly improved:
- Brothel maintenance button activated
- It's now possible to hire pro-cleaners (brothel and all brothels)
- Auto-Clean by pro-cleaner if so desired
- Customers leave when brothel gets to dirty
- Sq meters logic introduced
- Logic still will require rebalancing

Shops improved:
- Proper Buy/Sell buttons
- Proper starting filters
- Amount of items to buy can now be chosen
- Owners will talk a bit more
- Shops will only buy appropriate items
- Prices are adjusted on sell/buy by 20%
- Total price is displayed
- Useless Day+Gold sub-screen removed
- Owners images will stay when player is shopping (like in Alkion)

SlaveDriver removed from girls control screen

Some minor code improvements
Title: Re: General Discussion
Post by: Jaeke on January 19, 2014, 11:59:39 AM
I've been poking around in your 'classes - jobs.rpy' file and doing some spelling/grammar nazi'ing. I didn't like seeing 'Slave is a slave so' so I fiddled with a wee bit of basic code too.(just added (self.girl.name).
I'm also wondering if you plan for 'customer' and 'client' to get names generated for them?  Unique clients? Regular customers? All randomly generated? Database of fantasy names hiding somewhere?
 If they aren't going to be given names I will continue doing grammar changes to those instances.
Is this file current for the version you work with? If not I could edit everything and note down the line that I changed and send that to you. Many cases of 'performace' , 'definetly' 'costumer' to be changed... luckily there is CTRL f/r.
Using Notepad++, can I save it as .txt file and rename to .rpy?
Title: Re: General Discussion
Post by: Xela on January 19, 2014, 12:34:14 PM
I've been poking around in your 'classes - jobs.rpy' file and doing some spelling/grammar nazi'ing. I didn't like seeing 'Slave is a slave so' so I fiddled with a wee bit of basic code too.(just added (self.girl.name).
I'm also wondering if you plan for 'customer' and 'client' to get names generated for them?  Unique clients? Regular customers? All randomly generated? Database of fantasy names hiding somewhere?
 If they aren't going to be given names I will continue doing grammar changes to those instances.
Is this file current for the version you work with? If not I could edit everything and note down the line that I changed and send that to you. Many cases of 'performace' , 'definetly' 'costumer' to be changed... luckily there is CTRL f/r.
Using Notepad++, can I save it as .txt file and rename to .rpy?

I did a lot of work on recoding finances yesterday so some code has changed in jobs file as well so it's a bit outdated...

You can save and rename as you please, just make sure it's encoded in UTF-8. I am going to see if I can root out the cleaning bug tonight (game hangs on infinite loop if Auto-cleaning is not enabled)
Title: Re: General Discussion
Post by: Jaeke on January 19, 2014, 12:40:37 PM
Ah, it was in ANSI. And np, I will wait for an update then. Good luck with that bug.
Title: Re: General Discussion
Post by: Xela on January 19, 2014, 12:41:45 PM
I'm also wondering if you plan for 'customer' and 'client' to get names generated for them?  Unique clients? Regular customers? All randomly generated? Database of fantasy names hiding somewhere?
Is this file current for the version you work with?

Clients update only in distant future, definitely not for the Alpha.

By the way, would it not be easier for me to add you to SF? I assume you already have mercurial, all you would require is an account on SF and you could simply merge+upload bits of fixed code, it'll be a real pain to pass updated files around.
Title: Re: General Discussion
Post by: Jaeke on January 19, 2014, 01:25:10 PM
Yea okay, I'm not sure how much I'll contribute but I'll try not to break everything. Sent you(I assume) a msg on sf.
Title: Re: General Discussion
Post by: Xela on January 19, 2014, 01:49:50 PM
Yea okay, I'm not sure how much I'll contribute but I'll try not to break everything. Sent you(I assume) a msg on sf.

You should have developer rights on SF now. Any contributions are welcome and it's unlikely for you to break anything since mercurial keeps revision histories and my dropbox account adds yet another layer of protection :)
Title: Re: General Discussion
Post by: Jaeke on January 19, 2014, 03:23:48 PM
If a girl has too little AP to do a stripshow, so she does something else instead, it seems to anger the customers.
 Her skill was low, so perhaps it ran the code that decides if it was a bad show anyway. Or maybe it was the terrible service girl...
Title: Re: General Discussion
Post by: Xela on January 19, 2014, 03:32:56 PM
terrible service girl...

This is more likely...
Title: Re: General Discussion
Post by: Jaeke on January 19, 2014, 04:42:40 PM
Ah it threw me off because it specifically said 'angered by the earlier strip show' or something similar.
Title: Re: General Discussion
Post by: Xela on January 19, 2014, 04:51:16 PM
SF updated:

- Finances have been completely recoded
- Finance screens added to Hero and Brothel management screens
- Code improved in a number of places
- Good number of bugs fixed


PS: A lot of money transactions are still not being recorded. I am considering new system good enough for the Alpha and it will be very easy to improve upon in the future.

I also forgot to add to the commit that wage payment mechanics have been recoded. Option to keep a percentage of whatever is earned as in WM no longer exists, it created a bunch of hard to read/difficult to explain code, we can always bring that back after Alpha but it might not be useful as I want to add more tips to make that logic more interesting.
Title: Re: General Discussion
Post by: Xela on January 20, 2014, 03:06:18 AM
Just did some really quick testing. With new tags system and added NextDay logic, game slows down @ 400 - 500 girls (significantly). Previous tests showed that 1k girls worked ok. I'll obviously improve the code after the Alpha and track down what's causing that but we might have to keep thing simpler in the future (unless it's some stupid bottleneck like last time).

Oh, and I found another bug, girls list screen doesn't work with 400 girls even on a gaming rig, I'll have to change the way it looks or delimit that screen to display 20 - 30 girls at a time or maybe some combination of both.

In any case, another busy week so I doubt that there'll be any updates before the weekend.
Title: Re: General Discussion
Post by: Jaeke on January 20, 2014, 07:13:58 AM
Our 'classes- jobs' files were too different for mercurials auto merge to work with, well, for me anyway. So I scrapped my old file and done some quick spelling error fixes and attempted to merge...
Did I break everything?

Also I seem to be getting minus gold in tips from my terrible service girls and strippers.
 eg - 'Moeblob earned -33 gold in tips, you take it all. '

also ' she expects to be compensated for her services( -35 gold). You've payed her more than that (0 gold)!

And dev note>>> i missed something <<< charisma = 5, strip = -5

might as well throw in the error report here too - trying to clean my pigstall of a brothel, clean all brothels clicked.

While running game code:
  File "game/library/screens/pyt - screens - brothelmanagement.rpy", line 18, in script
  File "game/library/screens/pyt - screens - brothelmanagement.rpy", line 116, in python
NameError: name 'self' is not defined

and - label clean does not exist. Then you get stuck on a blank wood background screen with nothing to click.
Title: Re: General Discussion
Post by: Xela on January 20, 2014, 09:44:00 AM
Our 'classes- jobs' files were too different for mercurials auto merge to work with, well, for me anyway. So I scrapped my old file and done some quick spelling error fixes and attempted to merge...
Did I break everything?

Everything works great, I've downloaded your spellchecks :)

Also I seem to be getting minus gold in tips from my terrible service girls and strippers.
 eg - 'Moeblob earned -33 gold in tips, you take it all. '

also ' she expects to be compensated for her services( -35 gold). You've payed her more than that (0 gold)!

And dev note>>> i missed something <<< charisma = 5, strip = -5

I am aware of all of that, just didn't get around to fixing that yet.

might as well throw in the error report here too - trying to clean my pigstall of a brothel, clean all brothels clicked.

While running game code:
  File "game/library/screens/pyt - screens - brothelmanagement.rpy", line 18, in script
  File "game/library/screens/pyt - screens - brothelmanagement.rpy", line 116, in python
NameError: name 'self' is not defined

Fixed, copy/pasted code from a wrong place.

and - label clean does not exist. Then you get stuck on a blank wood background screen with nothing to click.

If this happened after the previous error, it should be gone as well.
Title: Re: General Discussion
Post by: CherryWood on January 20, 2014, 02:45:09 PM
Can I use some established characters as NPCs in PytFall? Under their true names and making references to the original works they come from?
(for example, supplement our Tailor shop with Tailor from Enbizaka (The Evillious Chronicles) or using Hououin Kyouma (Steins;Gate) as mad scientist...)
Or would you rather have only original characters?
Title: Re: General Discussion
Post by: Xela on January 20, 2014, 03:16:32 PM
Can I use some established characters as NPCs in PytFall? Under their true names and making references to the original works they come from?
(for example, supplement our Tailor shop with Tailor from Enbizaka (The Evillious Chronicles) or using Hououin Kyouma (Steins;Gate) as mad scientist...)
Or would you rather have only original characters?

Go right ahead :) I actually thought about using many of the fitting "established" characters as NPCs, that would mean more and better interactions in the end.

Just put something like "npc" or "tailor_store_keeper" as location in their respective xmls ("city" at least should be out of question for those characters since they'd participate in girlsmeets that way)
Title: Re: General Discussion
Post by: Jaeke on January 20, 2014, 03:30:32 PM
Went through and fixed all the typos that I could find in classes- jobs and some in classes- characters. Uploaded to sf.
 Should be done with that sort of thing for a while.
*prays for no errors*
Title: Re: General Discussion
Post by: Xela on January 20, 2014, 03:35:32 PM
Went through and fixed all the typos that I could find in classes- jobs and some in classes- characters. Uploaded to sf.
 Should be done with that sort of thing for a while.
*prays for no errors*

Kewl, I'll do a merger with that tomorrow.
Title: Re: General Discussion
Post by: Xela on January 20, 2014, 05:01:54 PM
Decided to do a small update tonight. Fixed a bunch of reported bugs, improved wage methods (by no means balanced them out but BS like wages of -23 gold should disappear). >>>Dev Note<<< during jobs should be gone as well.

Wage methods were coded in little over an year ago, code made less than 0 sense...

Anyway: SF is updated with bit of new code and Jakes spelling checks.
Title: Re: General Discussion
Post by: CherryWood on January 21, 2014, 02:30:00 PM
 
BTW: Do we have Hinata, Sakura and TenTen tagged somewhere? I still only have the old filename based version?
I updated these girls you wanted, link is in my DB folder. All main tags in my other packs should also be corrected.
Categories that we don't use yet (group, date, nude, swimsuits, ent, exercise...) are still a mess though.
Title: Re: General Discussion
Post by: Xela on January 21, 2014, 04:11:36 PM
I updated these girls you wanted, link is in my DB folder. All main tags in my other packs should also be corrected.
Categories that we don't use yet (group, date, nude, swimsuits, ent, exercise...) are still a mess though.

Thanks m8. That's really appreciated, those are the once I usually use for testing. I had 0 time for the project today but I expect to put a 3 - 4 hours in tomorrow.
Title: Re: General Discussion
Post by: CherryWood on January 21, 2014, 07:01:04 PM
What I must write in game console to set the "chr" to be the girl I want? Like, how to get commands like chr.disposition or hero.add_girl(chr) to target Sakura?
Title: Re: General Discussion
Post by: Xela on January 22, 2014, 03:03:45 AM
What I must write in game console to set the "chr" to be the girl I want? Like, how to get commands like chr.disposition or hero.add_girl(chr) to target Sakura?

Code: [Select]
chr = char["Sakura"]

Actually "chr" is a poor name for a variable since it's a python built-in. I'll get rid of it on major code review after Alpha.
Title: Re: General Discussion
Post by: Xela on January 22, 2014, 03:43:07 PM
I updated these girls you wanted

Great job, I got them :)

I've wrote some code to normalize girls on entry, there might be some mistakes but we'll root them out.

Removed a bunch of outdated code from Arena and SlaveMarket (I've recently learned how to do the same thing better and faster). Girls for slavemaket are better randomized and unique girls will appear on the same rights as random once (it was almost impossible to get unique girl with loads of randoms around).

Bug reported by Jake is squashed in SlaveMarket and Profile screens.

Wage and other fin methods have been improved.

Arena's 1v1 dodfights will have a full compliment of fighters now.

Thats two more things crossed off the TODO list. I'll push in few seconds.
Title: Re: General Discussion
Post by: Xela on January 22, 2014, 06:58:02 PM
Didn't expect there to be one, but one last post for tonight:

I've added paging (8 girls per page) to girls list. Now it will work even with 400+ girls (game would fail after 50 - 100 in the past, depending on PC).

longint has introduced city event system, you can now meet a beggar who might rob you blind (as an example of the event) :) I didn't get a chance to take a look at the code yet, but it seems like a lot of fun with loads of potential.

Everything is included in my last push. Goodnight :)
Title: Re: General Discussion
Post by: CherryWood on January 23, 2014, 03:45:24 AM
I don't think it's a good idea to show events from city screen like that. I would prefer to have common gameplay tasks like shopping undisturbed, unless it's a part of a story. Also events can happen one after another now (you meet a beggar and immediately a bandit).


Also, I t would be good to run events from separate files (co they could be distributed with girl pack), it is possible?


Title: Re: General Discussion
Post by: Xela on January 23, 2014, 05:51:30 AM
I don't think it's a good idea to show events from city screen like that. I would prefer to have common gameplay tasks like shopping undisturbed, unless it's a part of a story. Also events can happen one after another now (you meet a beggar and immediately a bandit).

I actually love spontaneous events like that, they add a lot to the game if coded to be non-repetitive and not to frequent. Two events in sequence is a bug, we'll get rid of that. As for undisturbed, we could add an item that would allow teleportation to shops?

Also, I t would be good to run events from separate files (co they could be distributed with girl pack), it is possible?

It should be made possible, events themselves should be moved to Ren'Py script and distributed as labels, not Python code. Maybe event manager can be written in Python...

The idea is to make it possible for normal users to create content, like you, without programming experience, wrote many lines for girlsmeets. New versions of Ren'Py allow creating custom Ren'Py statements as well, which we will make use of to make modding even more convenient...

Also, Ren'Py script while being as easy as can be, enables insane amount of options and styling. In either case, while this event system has been coded really well in Python (longint is a very capable programmer), we'll have to either greatly expand on it or take a different approach.
Title: Re: General Discussion
Post by: longint on January 23, 2014, 02:47:38 PM
I don't think it's a good idea to show events from city screen like that. I would prefer to have common gameplay tasks like shopping undisturbed, unless it's a part of a story. Also events can happen one after another now (you meet a beggar and immediately a bandit).

OK, maybe some events better to add through 'Look around' action. And it will also decrease your AP, so it will be on your choice and not by random occasion.
It's my mistake that events can happen simultaneously, I will fix this. though in real life it happens sometimes =)

I actually love spontaneous events like that, they add a lot to the game if coded to be non-repetitive and not to frequent. Two events in sequence is a bug, we'll get rid of that. As for undisturbed, we could add an item that would allow teleportation to shops?

Thanks, I liked that to. We can make ordering with delivery by some messenger (pigeons?). =)
Title: Re: General Discussion
Post by: Xela on January 23, 2014, 05:18:47 PM
messenger (pigeons?). =)

LoL PyTFall's own online commerce!

---
Next update (from me) will be this weekend (no time to code until then), I'll try to put some time in "behind the scenes" logic.

With that in mind, I would like some opinions tomorrow (Do we actually want "behind the scenes" logic now):

Option 1:
Do nothing, girls remain as they've entered the game.

Option 2:
Stats/Gold/EXP increase randomly and slowly. Maybe assign random job names and workplaces to be used in girlsmeets to add a bit of depth.

Option 3:
Free girls would each get a job, wage, place of work as Python classes (properly simulated) and best residence that they can afford. Girlsmeets will depend in these factors. Basically building up code for the distant future that might add some depth to the game.

--- > I don't want to push this any farther than this for the Alpha release.

So how far should we take this? Basically if it's option one, I can cross another thing of TODO list and work on something else this weekend.
Title: Re: General Discussion
Post by: longint on January 23, 2014, 05:50:41 PM
I say it option 1. To make it good, in my opinion, it will consume week`s of development (if not more). But feature must be implemented in future, no doubts!

Also, I fixed events (I think  ::) ), and now it will appear only if you push 'Look around' (but it has very low chances to be triggered).
They are my view of code standard for some types of events.
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 05:32:06 AM
I say it option 1. To make it good, in my opinion, it will consume week`s of development (if not more). But feature must be implemented in future, no doubts!

Well, then I'll take a look at:

10) Arena
- Find better buttons for the Arena main screen
- Sort out and allow girlsmeets between Arena girls and player (allow recruiting and revisit team-breakups)
- Add NPCs
- Improve messages

The idea of "behind the screens" logic is not just making girlsmeets better but also adding first steps to creating economy, make sure girls have cash to auto-buy items (when that is coded in) and also first step towards creating rival businesses. In any case, most of that is in distant future so we can drop it for the Alpha without to much fuss.

They are my view of code standard for some types of events.

Chance of spontaneous events should be low, chance of "Look Around" events should be a lot higher as long as there is code preventing them to appear to frequently.

They are my view of code standard for some types of events.

It might do for the Alpha, but final version should be something like:

Base event class with:
- basic trigger conditions
- locations
- max frequency (lets say a tuple of "times can be triggered/amount of days")
- name (also prolly the label)

Event dispatcher class with:
- array of all events
- tracking
- event registration method
- parent_location tracking
- etc.

pytfall.ed.register_event("meet_beggar_event", locations=["park", "main", ...], freq=(1, 10), conditions=[...]) would create the event from base class and append to the list.

than on every relevant label pytfall.ed.check_events() is ran to figure out if anything can be triggered.

Event itself is fully written in labels. Anyone with skills to code a complex event would know how to bypass registration and append it to dispatcher directly.

Similar to DSE, only better coded :)
Title: Re: General Discussion
Post by: CherryWood on January 24, 2014, 06:24:02 AM
How to move images in python block?
 I would like to make a linear transition from:
Code: [Select]
renpy.show(tag, what=self._sprite, at_list=[fighter.Position.Transform, offset], layer=l, zorder=fighter.Position.Z + 0.001)to:
Code: [Select]
renpy.show(tag, what=self._sprite, at_list=[target[0].Position.Transform, offset], layer=l, zorder=target[0].Position.Z + 0.001)


----
btw, I vote for option 1, maybe 2 for warriors in arena ladder. It's a nice idea, but some other things looks more important now.
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 07:19:50 AM
Like I've said, I didn't really went all that keep into the BE...
Code: [Select]
                                mf = MoveFunction(fighter.Position.Transform.xpos, fighter.Position.Transform.ypos, step.Transform.xpos, step.Transform.ypos, period=self._period)
                           
                            fighter.Position = step
                           
                            fighter.Show(transforms=[Transform(function=mf)], zorder=z)

I think this an example on how characters are moved around in BE.

Did you try to have a fireball fly from one character to another?
Title: Re: General Discussion
Post by: CherryWood on January 24, 2014, 09:08:21 AM
HURRAY! It works!
Code: [Select]
                        mf = MoveFunction(fighter.Position.Transform.xpos, fighter.Position.Transform.ypos, target[0].Position.Transform.xpos, target[0].Position.Transform.ypos, period=1)                         
                        renpy.show(tag, what=self._sprite2, at_list=[Transform(function=mf)], layer=l, zorder=fighter.Position.Z + 0.001)
So after I improve graphics a little bit, I will have my first channeling+missile+impact skill  ;)
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 09:22:42 AM
HURRAY! It works!
Code: [Select]
                        mf = MoveFunction(fighter.Position.Transform.xpos, fighter.Position.Transform.ypos, target[0].Position.Transform.xpos, target[0].Position.Transform.ypos, period=1)                         
                        renpy.show(tag, what=self._sprite2, at_list=[Transform(function=mf)], layer=l, zorder=fighter.Position.Z + 0.001)
So after I improve graphics a little bit, I will have my first channeling+missile+impact skill  ;)

Good luck :)

New skills need to be registered twice, once as they are in the assets and second time in my bridge function between pytfall and BE.

I did about the same thing with pseudo-code and Ren'Py's own Move function:

engine-skills.rpy:

Code: [Select]
    class MagicFighterAttackSkill(Skill):
       
        def __init__(self, name="Magic Fighter Attack", command=None, attributes=['magic'], damage=1, cost=1, range=5, sprite=None, pause=0, sfx=None, endTurn=True, hotkey=None, weight=0, special=False):
            self._damage = damage
            self._cost = cost
            self._targets = TargetData.TargetFightersLos(range=range)
            self._sprite = sprite
            self._pause = pause
            self._sfx = sfx
            self._endTurn = endTurn
            self._attributes = attributes
            self._special = special
           
            if command == None:
                command = [("Magic", 5), (name, 0)]
           
            super(MagicFighterAttackSkill, self).__init__(name=name, command=command, hotkey=hotkey, weight=weight)


           
        def SetUpFighter(self, fighter):
            fighter.RegisterStat("Magic", 10)
            fighter.RegisterStat("MP", 10)

        def PerformAction(self, fighter, target):
            if (self.IsAvailable(fighter)):
                if (target != None):
                   
                    fighter.Stats.MP = fighter.Stats.MP - self._cost

                    if self._sfx != None:
                        renpy.music.play(self._sfx, channel="sound", loop=False)
                   
                    face = fighter._battle.GetFacing(fighter.Position, target[0].Position)
                    fighter._battle.ChangeFighterState(fighter, "magic", facing=face)

                    # Make sure that the camera centres on the target before the spell goes off
                    fighter._battle.PointOfInterest(fighter=target[0])
                   
                    if self._sprite != None and self._pause > 0:
                        offset = Transform(xanchor=self._sprite.Anchor[0], yanchor=self._sprite.Anchor[1])
                        tag = "MagicFighterAttackSkill_"+target[0].Tag+"_"+str(renpy.random.random()*1000)
                        l = fighter._battle.GetLayer('Fighters')
                        if not self._special:
                            renpy.show(tag, what=self._sprite, at_list=[target[0].Position.Transform, offset], layer=l, zorder=target[0].Position.Z + 0.001)
                        if self._special == "snipe":
                            renpy.show(tag, what=self._sprite, at_list=[Move((fighter.Position.Transform.xpos, fighter.Position.Transform.ypos, fighter.Position.Transform.xanchor, fighter.Position.Transform.yanchor),
                                                                                                          (target[0].Position.Transform.xpos, target[0].Position.Transform.ypos, target[0].Position.Transform.yanchor, target[0].Position.Transform.yanchor), 0.5)],
                                                                                                           layer=l, zorder=target[0].Position.Z + 0.001)
                        if (_preferences.battle_skip_combat == False):
                            _battle.Pause(self._pause)
                        renpy.hide(tag, layer=l)
                       
                    fighter._battle.Attack(fighter, fighter.Stats.Magic * self._damage, self._attributes, target[0], target[1])
                   
                    fighter._battle.ChangeFighterState(fighter, "default", facing=face)

                   
                    if (self._endTurn):
                        fighter.EndTurn()
                       
        def IsAvailable(self, fighter):
            if fighter.Stats.MP < self._cost:
                return False
            targets = fighter._battle.GetTargetFighters(fighter, self._targets, skill=self)
            if len(targets) > 0:
                return True
            else:
                return False

assets.rpy: (Replacing Fire 2 skill that is active on MC)
Code: [Select]
    Library.Skills.Fire2 = MagicFighterAttackSkill("Fire 2", attributes=['magic', 'fire'], damage=10, cost=8, range=4, sprite=BattleSprite('fire 2', anchor=(0.5, 0.8)), pause=0.8, sfx="content/sfx/sound/be/fire2.wav", special="snipe")
Title: Re: General Discussion
Post by: DarkTl on January 24, 2014, 10:14:05 AM
I'm totally owned by work this week, did I miss something? We are already making skills for BE without a new BE?  ???
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 10:19:52 AM
I'm totally owned by work this week, did I miss something? We are already making skills for BE without a new BE?  ???

LoL

CW does... but it's all within the same framework so whatever he creates today will be VERY easy to port. Also, it might be a while until we code a BE of our own (if ever). Jake's BE can be extended indefinitely, I still didn't study it for long enough to decide if coding a new BE will actually be faster than building upon old one.

Not mentioning that it offers a lot of different battle scenarios...
Title: Re: General Discussion
Post by: DarkTl on January 24, 2014, 10:31:52 AM
Yeah, but don't we need, for example, elements for a start for both skills and items?
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 10:49:35 AM
Yeah, but don't we need, for example, elements for a start for both skills and items?

Yeap, but with modifications, there is no reason why Jake's BE can't handle that. Like I've said, it's all about balance :)
Title: Re: General Discussion
Post by: DarkTl on January 24, 2014, 10:52:26 AM
Then please create a thread for BE discussion. I guess it's about time.
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 11:03:13 AM
Then please create a thread for BE discussion. I guess it's about time.

Done: http://www.pinkpetal.org/index.php?topic=2670.0

We can discuss the topic, but we'll make final decisions post Alpha I expect.
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 01:57:18 PM
Arena screen for the Alpha:

(http://s28.postimg.org/jihxxrb21/2014_01_24_20_47_20.jpg) (http://postimg.org/image/jihxxrb21/)


I'll start adding content and removing last bugs tomorrow...
Title: Re: General Discussion
Post by: CherryWood on January 24, 2014, 03:33:15 PM
May I ask for a bit more help? I tried to find it in renpy documentation, but without much luck...
I have this in assets.rpy
Code: [Select]
    image Flame SniperS:
        Image("content/chars/Sailor_mars_test/Mars/combat (10).jpg")
        pause 0.6
Code: [Select]
    Library.Skills.FlameSniper = MagicFighterAttackSkill2("Flame Sniper", attributes=['magic', 'fire'], damage=5, cost=5, range=4, sprite_cast=BattleSprite('Flame Sniper1',anchor=(0.5, 0.),sprite_fly=BattleSprite('Flame Sniper2',anchor=(0.5, 0.),sprite_impact=BattleSprite('Flame Sniper3',anchor=(0.5, 0.),sprite_special=("Flame SniperS"), pause=1, sfx="content/sfx/sound/be/fire.wav") And this in engine-skills.rpy
Code: [Select]
    class MagicFighterAttackSkill2(Skill):
       
        def __init__(self, name="Magic Fighter Attack2", command=None, attributes=['magic'], damage=1, cost=1, range=5, sprite_cast=None, sprite_fly=None, sprite_impact=None, sprite_special=None, pause=0, sfx=None, endTurn=True, hotkey=None, weight=0):
            self._damage = damage
            self._cost = cost
            self._targets = TargetData.TargetFightersLos(range=range)
            self._sprite_cast = sprite_cast
            self._sprite_fly = sprite_fly
            self._sprite_impact = sprite_impact
            self._sprite_special = sprite_special
            self._pause = pause
            self._sfx = sfx
            self._endTurn = endTurn
            self._attributes = attributes
           
            if command == None:
                command = [("Magic", 5), (name, 0)]
           
            super(MagicFighterAttackSkill2, self).__init__(name=name, command=command, hotkey=hotkey, weight=weight)


           
        def SetUpFighter(self, fighter):
            fighter.RegisterStat("Magic", 10)
            fighter.RegisterStat("MP", 10)

        def PerformAction(self, fighter, target):
            if (self.IsAvailable(fighter)):
                if (target != None):
                   
                    fighter.Stats.MP = fighter.Stats.MP - self._cost

                    if self._sfx != None:
                        renpy.music.play(self._sfx, channel="sound", loop=False)
                   
                    face = fighter._battle.GetFacing(fighter.Position, target[0].Position)
                    fighter._battle.ChangeFighterState(fighter, "magic", facing=face)

                    # Make sure that the camera centres on the target before the spell goes off
                    fighter._battle.PointOfInterest(fighter=target[0])
                   
                    sprite_flip1 = False
                    if (fighter.Position.X < target[0].Position.X):
                        sprite_flip1 = True
                       
                       

                    tag = "MagicFighterAttackSkill2_"+target[0].Tag+"_"+str(renpy.random.random()*1000)
                    l = fighter._battle.GetLayer('Fighters')                       
                   
                    if self._sprite_special != None and self._pause > 0 and dice(50):
                        renpy.show(tag, what=self._sprite_special, at_list=[Position(xpos=0.5,ypos=0.], layer=l, zorder=fighter.Position.Z + 0.001)
And I would like this image in the last line Resized, and apply transitions on it. But I'm not sure where to write that...
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 03:34:39 PM
and I want this image in last line Resized, and apply transitions to it, but I just don't know where to write it...
I'm sorry to ask again, I tried to find it in renpy documentation, but without much luck.

Please be more specific, what are you trying to do?

Code: [Select]
    image Flame SniperS:
        Image("content/chars/Sailor_mars_test/Mars/combat (10).jpg")
        pause 0.3

Images are easier to resize so you might as well do it here (use im.Scale(path, 100, 100)) instead of Image(path).

Code: [Select]
renpy.show(tag, what=self._sprite_special, at_list=[Position(xpos=0.5,ypos=0.], layer=l, zorder=fighter.Position.Z + 0.001)

I think you can use At() function and transform in "at_list" property. Might even resize displayable... who knows :) I don't really have straight answers for these questions, I usually get things right by trail and error with some help from Ren'Py docs and their forums.
Title: Re: General Discussion
Post by: Xela on January 24, 2014, 04:13:18 PM
Code: [Select]
renpy.show(tag, what=self._sprite_special, at_list=[Position(xpos=0.5,ypos=0.], layer=l, zorder=fighter.Position.Z + 0.001) And I would like this image in the last line Resized, and apply transitions on it. But I'm not sure where to write that...

http://www.renpy.org/wiki/renpy/doc/reference/functions/renpy.with_statement

This might also work if you put it right after renpy.show() line.
Title: Re: General Discussion
Post by: CherryWood on January 25, 2014, 04:48:46 AM
Please be more specific, what are you trying to do?

I want to display big image over the whole screen as a part of some skill animations. (It's often used in some fight games and I think it looks cool)
But the images in BE's assets.rpy are loaded directly so they can easily end too small or over-the-screen big. I need to specify the size they should fit in somewhere. I know that we have something called ProportionalScale class in game, but I don't understand how set up something like that.


Also, do I need to take config sizes into account, or the game can do that automatically? Like this from interaction:
Code: [Select]
$renpy.show('chr', what=chr.show('date',resize=(int(config.screen_width*0.85), int(config.screen_height*0.785))), at_list=[Position(ypos = 0.8])
Title: Re: General Discussion
Post by: Xela on January 25, 2014, 05:48:04 AM
Also, do I need to take config sizes into account, or the game can do that automatically? Like this from interaction:
Code: [Select]
$renpy.show('chr', what=chr.show('date',resize=(int(config.screen_width*0.85), int(config.screen_height*0.785))), at_list=[Position(ypos = 0.8])

No you do not, just specify the size. Basically config.screen_width and config.screen_height are simply integers: 1280 and 800. There is no magic involved.

I want to display big image over the whole screen as a part of some skill animations. (It's often used in some fight games and I think it looks cool)
But the images in BE's assets.rpy are loaded directly so they can easily end too small or over-the-screen big. I need to specify the size they should fit in somewhere. I know that we have something called ProportionalScale class in game, but I don't understand how set up something like that.

ProportionalScale() will keep the image proportions. im.Scale() will force a resize but image might turn out to stretched. im.FactorScale() can also resize images based on factors but keeping in proportion.

Images are loaded into the game at their resolution and are scaled automatically with the window. Changing game's resolution will not be supported in PyTFall, as long as we are using good quality images, game should look good even on large screens.

So to answer your question:

1) You can simply resize your image in windows.

2) You can use im.Scale() if you want to define image in the init:
image KaaaBOOM:
    im.Scale("path_to_image", 1280, 800)

3) Or, if you are making a new unique animation (I would advice against creating a new class as you did by the way, simple if fork will look better (as in my example)):

inside the method of class you can also simply use:

kaboom = im.Scale("path_to_KaaaBOOM", 1280, 800)

or

kaboom = Image("path_to_KaaaBOOM") (if you resized it in windows)

and then:

renpy.show('chr', what=kaboom, at_list=[Position(ypos = 0.8])

If your animation is unique, it actually makes a lot more sense to do it this way, than use the BE approach.

You can also do cool stuff like randomly recoloring your attacks using im.twocolor() for example... You just need to understand how Ren'Py is handling images and displayable.
Title: Re: General Discussion
Post by: CherryWood on January 25, 2014, 10:31:40 AM
Ok, if we don't allow changing resolution, then I can do it manually.
...and that probably also means that all of my girlpack images over 800 height are a wasted disk space  :)



Title: Re: General Discussion
Post by: Xela on January 25, 2014, 10:54:46 AM
Ok, if we don't allow changing resolution, then I can do it manually.
...and that probably also means that all of my girlpack images over 800 height are a wasted disk space  :)

Well, it's a moot point, really. I found that images sized at 2000x2000 and resized in Ren'Py look a LOT better on a large screen than 1280x800 images native to resolution. There is also quality factor involved (pixed depth, saturation and other factors noone but graphical designers and artist truly understand...). I am afraid that I simply do not know enough about graphics to confirm or reject your statement :(

But yeah, I am not coding the game with presumption that resolution will be changed. That would require effort with very little reward...
Title: Re: General Discussion
Post by: CherryWood on January 25, 2014, 04:01:01 PM
Ok, with your help I changed MagicFighterAttackSkill class to allow missile spells, and created 3+1 spells to test it, and after like 100 errors I got in last two days it seems to be working.
So I satisfied my curiosity for a while and I will go back to much more tedious tagging   :)
Title: Re: General Discussion
Post by: Xela on January 25, 2014, 04:03:32 PM
Ok, with your help I changed MagicFighterAttackSkill class to allow missile spells, and created 3+1 spells to test it, and after like 100 errors I got in last two days it seems to be working.
So I satisfied my curiosity for a while and I will go back to much more tedious tagging   :)

Can you create an account on SourceForge and push the code (I'll give you developer rights)? Or simply upload it to DB?
Title: Re: General Discussion
Post by: CherryWood on January 25, 2014, 04:37:22 PM
I've made that account (cherrywood, [email protected]) but I never ever did anything like that.


But DB is probably fine, most of it is in assets and skills BE files + few sprites and test girl. But the skill registration is in functions,characters and arena (don't know if it's all needed, I just look for all places with earth spell and copy paste new ones under it).

Title: Re: General Discussion
Post by: Xela on January 25, 2014, 04:56:40 PM
SourceForge is better than, I can see exactly what you have done that way.

Girl you have to upload to DB. You can now upload to the server. Open the workshop, commit the code and push it to the server. Learn how to keep those in sync or you'll have to maintain multiple copies at all times.
============================
I wrote some into text to the Arena today (creating content as planned), maybe more tomorrow. I am not a good writer so that usually goes rather slowly :(
Title: Re: General Discussion
Post by: Xela on January 26, 2014, 05:18:14 AM
But DB is probably fine, most of it is in assets and skills BE files + few sprites and test girl. But the skill registration is in functions,characters and arena (don't know if it's all needed, I just look for all places with earth spell and copy paste new ones under it).

Great freaking job on new Animations!!! Congratulations :)
Title: Re: General Discussion
Post by: CherryWood on January 26, 2014, 06:55:51 AM
Great freaking job on new Animations!!! Congratulations :)
Good news is, that after setting up the code for type of sprite movement (skill class), additional animations using it created from existing sprite files found on net (and there is a lot of them) ale totally easy to set up. And I found sites with lots of sounds too (http://www.sounddogs.com/sound-effects.asp), so creating a new one takes only like 15-30 minutes (If you don't want to draw your own, obviously). So I can probably make a lot of these when we will want it.


I'm thinking about using renpy sprite functions to make an acid rain effect someday later. But these is still much I don't understand in the BE code, for example, I'm not able to place images in upper parts of battle sprites.


BE also allows sprite states (standby, attack, on_hit...) for making characters animated, but that's a total overkill.
Title: Re: General Discussion
Post by: Xela on January 26, 2014, 07:08:21 AM
BE also allows sprite states (standby, attack, on_hit...) for making characters animated, but that's a total overkill.

Hgehe, see, you know more than me about the BE already :)

Actually, at some point in distant future, we could add some super spell that disarms and disrobes the fighter and than change the sprite to some nude backgroundless sprite (if such is available).

Also, it would be easy to add animation, color, glow or movement to the sprite as it attacks or preforms magic, might actually end up looking really decent.
Title: Re: General Discussion
Post by: Xela on January 26, 2014, 09:23:35 AM
Damn it... there are like 10001 bugs in the arena :(
Title: Re: General Discussion
Post by: Xela on January 26, 2014, 03:55:45 PM
Oki... managed to get some things done this weekend:

SF updated:

- Arena is now on the map as well.
- Added content to the Arena (intro texts and simple NPC).
- Fixed a lot of bugs in the Arena.
- Enabled normal Arena operations even for dev version.
- Fixed a number of non-arena related bugs (Bad wage pay routine included).
- Added penalties for keeping girls joy and disposition to low.
- Girls can now leave players employment and commit suicides (maybe).
- Added penalty for not paying upkeep.
- Characters in the Arena will now use CW's magic attacks.
Title: Re: General Discussion
Post by: CherryWood on January 26, 2014, 04:39:03 PM
So this is what you meant by NPC...
good job


I don't think I understand the game enough to make "tutorial" ones, but I would like to make a tailor and then some others who don't have any real use in the game yet, but I have plans to use then in some quest later - a corrupted judge, young landlady and a mad scientists and his bodyguard. (I could make some small introduction event perhaps)


EDIT: And a church assistant!
If I ever get to it... I still have soooooo much images to tag  :( And I just can't bring myself to reduce the girlpack images to some reasonable quantities... why they draw them so cute??  :D
Title: Re: General Discussion
Post by: Xela on January 26, 2014, 04:44:52 PM
I don't think I understand the game enough to make "tutorial" ones, but I would like to make a tailor and then some others who don't have any real use in the game yet, but I have plans to use then in some quest later - a corrupted judge, young landlady and a mad scientists and his bodyguard. (I could make some small introduction event perhaps)

Go right ahead, you wanted to use a real character as an NPC right? I mean, for advanced NPC, it's actually a much better bet because you'd have lots of pic categories.

You can even add simple quests, like bring me three of some item and get a money or random girl reward :)

Stuff like that is what makes the game in the end...

PS: I am trying to play a round of game without dev mode, found a bug during jobs, girls don't go resting on high fatigue. I've  already fixed.
Title: Re: General Discussion
Post by: CherryWood on January 27, 2014, 12:20:52 PM
 
Yeap, but the trick is figuring out how integrate BE into PyTFall or/if add rows. Preferably without breaking other schemes. Question now is to decide when to start messing with BE, I'll have couple of hour free tonight, I was planning on taking a look at girlsmeets and maybe put in a new location (like beach) but if we can make a final decision to stick with FF styled BE, I'd love to start digging into that code :)

I've had some plans for creating beach date, but because I wasn't able to figure out even the simplest lines like - what the girl should say if you take her swimming + I had a little difficulties with setting screen, I ended before I actually start.
I was visioning it like this:
beach have three main parts - main beach, best place for swimming and there is a beach cafe
north beach - that end with a cliff that you can climb up or take a stroll and reach a outlook
south beach - with a restaurant/hotel where you can eat or rent a room for a while and a small harbor (maybe rent a ship for a small trip?)
maybe changing it a bit depending on how the bg will actually looks (sadly the ones that fit best are only 800p or smaller)


and a system that you can do 2 activities and one extra it all goes well, or something along these lines.

...what's your plan?
Title: Re: General Discussion
Post by: Xela on January 27, 2014, 12:49:15 PM
I actually started reading the BE code for the first time (ever).

You plan sounds great, did you manage to find pictures for those locations? I would also like some "play beach volleyball" action showing some pic with chance of increasing agility + constitution... maybe something more along those lines.

Jake seems like a very good programmer but still does stuff that could have been easy avoided, took me good 10 mins to figure out what this does:

Code: [Select]
    class NestingClass(object):
       
        def __init__(self, child):
            self._child = child
           
        def __getattr__(self, name):
            if name in self.__dict__.keys():
                return object.__getattribute__(self, name)
            else:
                if "_child" in self.__dict__.keys():
                    return getattr(self._child, name)
            return None
           
        def __setattr__(self, name, value):
            if hasattr(object, name):
                object.__setattr__(self, name, value)
                return
            elif hasattr(self._child, name):
                setattr(self._child, name, value)
            object.__setattr__(self, name, value)
           
        def getClass(self):
            return self._child.__class__
        __class__ = property(getClass)


So far the BE seems really well structured and thought through, but I've just started...
Title: Re: General Discussion
Post by: CherryWood on January 27, 2014, 12:57:18 PM
You plan sounds great, did you manage to find pictures for those locations? I would also like some "play beach volleyball" action showing some pic with chance of increasing agility + constitution... maybe something more along those lines.
All BG I found are in my DB under the link I placed in our shared DB, or in Roman's BG folder you once posted.
--------------!
EDIT: ups, the link for Roman's BG is not working. Luckily I have the whole thing saved, so I merge that into mine. --------------!!
EDIT2: I ran out of DB space again... 1GB background gallery is not something DB like, obviously.  :)  Ok, I just place the beach ones in shared folder.
Title: Re: General Discussion
Post by: Xela on January 27, 2014, 01:07:41 PM
All BG I found are in my DB under the link I placed in our shared DB, or in Roman's BG folder you once posted.

I'll take a look when I get to adding the location. I thought that maybe you've already picked out backgrounds for all of those places.

Jake seem to have a good sense of humor as well:

        # Facings must cover all angles between 0 and 360 or the world ends in a cataclysm of fire, brimstone and over-cooked broccoli.

:D


============
PS: I have Romans whole collection from RuTracker (Torrent site)
Title: Re: General Discussion
Post by: CherryWood on January 27, 2014, 02:03:48 PM
 Ok, then I don't have to do that.
 http://img24.eu/images/ypi4zmq2.jpg (http://img24.eu/images/ypi4zmq2.jpg) this one I like for hotel, but other I didn't decide yet. (but there are some that could fit)


It's kind of hard to find good animeish backgrounds on picture sites. It may be easier to screenshot them from some HD anime.
Title: Re: General Discussion
Post by: Xela on January 27, 2014, 02:55:18 PM
Didn't you post links to all pics an hour go??? Let me know when you decide on the rest.
Title: Re: General Discussion
Post by: CherryWood on January 27, 2014, 06:10:17 PM
Didn't you post links to all pics an hour go??? Let me know when you decide on the rest.
Ok, its done and uploaded to DB.
Sorry, it was little more work than I thought, because most of the pics were in 4:3 ratio while we need 16:10. But there shouldn't be any easily noticeable distortion now, like there were before in out beachdate example.
It turned out much better than I expected, because now we can actually go to the palms or to the cliffs from the original picture  :) . But I still can't find any suitable interior...
Title: Re: General Discussion
Post by: Xela on January 27, 2014, 06:15:03 PM
Ok, its done and uploaded to DB.
Sorry, it was little more work than I thought, because most of the pics were in 4:3 ratio while we need 16:10. But there shouldn't be any easily noticeable distortion now, like there were before in out beachdate example.
It turned out much better than I expected, because now we can actually go to the palms or to the cliffs from the original picture  :) . But I still can't find any suitable interior...

Great, thanks! I'll take a look at it if I get the chance tomorrow.
Title: Re: General Discussion
Post by: CherryWood on January 28, 2014, 07:01:31 AM
If I made only small changes (like adding a few lines somewhere, improve picture, create another battle animation) should I send them, or wait until something bigger?
I'm still not exactly sure how repository works... I don't want to break something
Title: Re: General Discussion
Post by: Xela on January 28, 2014, 08:26:35 AM
If I made only small changes (like adding a few lines somewhere, improve picture, create another battle animation) should I send them, or wait until something bigger?
I'm still not exactly sure how repository works... I don't want to break something

You should upload stuff as soon as you're done with it (often even if it's something small). You'll have more trouble than I would if your new code cannot be auto-merged after a new pull (download).

PS: This is hopefully the last time you'll ever have to add attacks in more than one place. From programming viewpoint it's absurd and it's my mistake. I'll add one dict that will be used in the whole game.
Title: Re: General Discussion
Post by: CherryWood on January 28, 2014, 12:06:27 PM
Ok.
I uploaded tailor npc images and placed her in backroom of our store (Nothing is actually happening here). I will have few busy days now, so I made a proper event later.
Title: Re: General Discussion
Post by: Xela on January 28, 2014, 03:55:37 PM
Ok.
I uploaded tailor npc images and placed her in backroom of our store (Nothing is actually happening here). I will have few busy days now, so I made a proper event later.

Got your code, well done on the store front!
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 08:59:58 AM
create another battle animation

Completely forgot that I've promised to make registering this with the game easier...

Pushed to SF:

- Fixed bad girlsmeets jump
- Horrid if forks for the BE engine have been replaced with proper code
- Removed "globals" for init
- Slightly corrected fly-spells
- Test of grid picture combat (however incomplete) is now working

Naming rules for New attacks and magic:

Library.Skills.MarsFlameSniper = MagicFighterAttackSkill("Mars Flame Sniper"

MarsFlameSniper this is the important bit. In girls/mobs/arena fighters files, this skill must be the same as here OR same with any amount of spaces, so "Mars Flame Sniper" is ok, "Mars FlameSniper" is also ok, "Mars - FlameSniper" is NOT. That is also how the skill will be displayed in the game.

"Mars Flame Sniper" This is how the skill will be called in Menu of BE, there are no rules here.

Skills must be registered once, in the BE (and obviously added to girls/monsters/fighters files), it is no longer necessary to place them anywhere else, the horrible 60 lines long if forks has been replaced with three lines of code :)

so this:
Code: [Select]
Library.Skills.SwordAttack = AttackSkill(command=[('Attack', -1)], multiplier=1.2, sfx="content/sfx/sound/be/sword.wav")is enough.


PS: To take a look at tiled pic prototype with moving around from the BE discussion thread, run this command in console from mainscreen: pytfall.arena.test()
Title: Re: General Discussion
Post by: CherryWood on January 29, 2014, 09:44:38 AM
good news
-----------
Is there a way to start event right after selecting a girl from meet girls selection, instead of gm menu with interactions that normally appear?
I know that were adding something into girlmeets to support custom labels, but I forget what that was.


I'm trying to figure out good place from where to start girlpack dependent events.
Title: Re: General Discussion
Post by: DarkTl on January 29, 2014, 09:47:02 AM
"MarsFlameSniper"? Are we gonna use custom skills for various characters? Like Byakugan buff for Hinata or something?
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 10:25:09 AM
Is there a way to start event right after selecting a girl from meet girls selection, instead of gm menu with interactions that normally appear?
I know that were adding something into girlmeets to support custom labels, but I forget what that was.


I'm trying to figure out good place from where to start girlpack dependent events.

Why instead of the menu? I was planning to make the menu customizable as well but not for the Alpha.

What we were talking about were custom girlsmeets for unique girls. Basically just create a file called: "hinata girlsmeets.rpy" in directory with the pics (or any directory, I just think that is an appropriate place). Then inside the file create a label (for example):

Code: [Select]
label gm_interact_hire_Hinata:
    define h = Character('Hinata', color=blue)
    hinata = char["Hinata"]
    if hinata.disposition > 500:
        h "Ok, I don't mind working for you!"

Remember that you can just use names and there is no real need to check for traits since the character is already known. Game will know if personal label exists, otherwise default will be used. _Hinata should be id of the girl as it is used in the data.xml file.

"MarsFlameSniper"? Are we gonna use custom skills for various characters? Like Byakugan buff for Hinata or something?

We could, CW made that skill (in case you haven't seen it yet). Bright bow appears over Mars, she shouts something like FIIIRE ARRRO or FIIIRE SNIPA with Japanese accent, huge pic of her with flaming hand looking like a bow/arrow appears over the whole screen, then the fire flies towards the enemy and another animation is triggered when it hits.

There is a simplified version other characters can use too.

Stuff like that has huge potential for personal quests and events.
Title: Re: General Discussion
Post by: DarkTl on January 29, 2014, 10:57:11 AM
Nice, I could use it for some characters that have omgwtf attacks, like Ar Tonelico song magic (http://www.youtube.com/watch?v=cH0Ho61n-6I&feature=player_detailpage#t=75).

Finished with Tekken, doing Blazblue pack now. I'm planning to deal with all those fighting series that have been used as crossovers in Queen's Blade (Blazblue,  Guilty Gear,  Soul Calibur, DoA + 3-4 less known games), then will create unique characters from dragon quest in addition to already created random ones, then will convert those my packs from wm ex that haven't been converted yet. After that probably Touhou again. I think it will take all the time before the alpha, if not beta in case of Touhou.

As for custom skills, I'll wait for more stable BE for a start, since I already saw you forced Cherry to add attacks in more than one place  :)
Title: Re: General Discussion
Post by: CherryWood on January 29, 2014, 11:53:21 AM
Why instead of the menu? I was planning to make the menu customizable as well but not for the Alpha.
I'm thinking of making some girl recruitable through event/small quest - something that works like Tifa quest. And placing beginning of that in random city event feels not very practical and a bit of forced to me. I believe selecting a girl in "meet girls" would be more natural start.


==============
Why they draw the pics so cute?? I have like 5000 images to tag for just 2 girlpacks, which is totally exhausting, but it's so hard to force myself to throw away some... 
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 11:54:30 AM
Pushed a really small update that might help you with BE animations...

good news

When/if you make animations for BE, there might be ways to make your task easier.

1) You'll find a LOT of images like this one in RPG Maker and other games:

(http://s28.postimg.org/6miapi13d/fireball.jpg) (http://postimg.org/image/6miapi13d/)

Renpy has a function to automatically load them into the game:

Code: [Select]
image fireball = anim.Filmstrip('path to image', (192, 192), (5, 3), 0.1, loop=false)
Check documentation for parameters description.

2) We have an animations folder in content/gfx, whatever files you put there will be automatically animated by a custom class. Name of the folder can be used as a name of the image.

So for example, creating a folder called Whirlwind and throwing all of the files in is about the same as:

Code: [Select]
    image Whirlwind:
        "content/gfx/be/Windwhirl_1.png"
        pause 0.06         
        "content/gfx/be/Windwhirl_2.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_3.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_4.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_5.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_6.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_7.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_8.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_9.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_10.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_8.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_9.png"
        pause 0.06
        "content/gfx/be/Windwhirl_10.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_11.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_12.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_13.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_14.png"
        pause 0.06   
        "content/gfx/be/Windwhirl_15.png"

Default pause is actually 0.25 so in order to get the same image, you have to name the folder Windwhirl 0.06, spaces are NOT allowed other than to define the pause. Files do not have to be named 1,2,3 as in my animations, your filenames would work as long as they can be logically sorted in correct order.

3) There are sites that will help you to rip animated GIF files into separate .png/.gif images, just google to find the one you like. There are many .gif animations that could be used as images or even battle sprites.

====
This is it I guess. Nothing will help you with advanced animations like your flame/ice arrows, those you can only do manually, but simpler stuff can be done easier than writing the name of every file and pause.
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 12:12:05 PM
Nice, I could use it for some characters that have omgwtf attacks, like Ar Tonelico song magic (http://www.youtube.com/watch?v=cH0Ho61n-6I&feature=player_detailpage#t=75).

I was thinking more along the lines of Rukia having "charm" skill with the masturbation animation I once left instead of a brothel pic :)

Joking aside, as I've said, content makes a game like this, mech is secondary.

Finished with Tekken, doing Blazblue pack now. I'm planning to deal with all those fighting series that have been used as crossovers in Queen's Blade (Blazblue,  Guilty Gear,  Soul Calibur, DoA + 3-4 less known games), then will create unique characters from dragon quest in addition to already created random ones, then will convert those my packs from wm ex that haven't been converted yet. After that probably Touhou again. I think it will take all the time before the alpha, if not beta in case of Touhou.

Do we actually need so many?

As for custom skills, I'll wait for more stable BE for a start, since I already saw you forced Cherry to add attacks in more than one place  :)

Please read my two previous posts.


============================
I'm thinking of making some girl recruitable through event/small quest - something that works like Tifa quest. And placing beginning of that in random city event feels not very practical and a bit of forced to me. I believe selecting a girl in "meet girls" would be more natural start.

Well, you can already write custom replies, if you want, I might be able to throw in a custom meeting label as well (I need to check the code). Event manager will have to be improved but it's also a good option.

Why they draw the pics so cute?? I have like 5000 images to tag for just 2 girlpacks, which is totally exhausting, but it's so hard to force myself to throw away some...

Well, the cuter the better, we don't need that many girls for the Alpha as well, especially since game allows random girls.

I'll see if I can add allowing multiple data.xml files, we've been talking about that forever and I now have better coding skillz...
Title: Re: General Discussion
Post by: CherryWood on January 29, 2014, 12:42:45 PM
Well, you can already write custom replies, if you want, I might be able to throw in a custom meeting label as well (I need to check the code). Event manager will have to be improved but it's also a good option.
I was wondering if I can:
1. create a girl with her location=city in data.xml so she will appear in girlsmeet
2. right away, or after some condition (like disposition>200) jump to a custom label instead of gm menu
3. in custom label change her location to something made up (location=in_quest_02) so she will not appear anywhere until it's changed again
Title: Re: General Discussion
Post by: DarkTl on January 29, 2014, 01:05:41 PM
I was thinking more along the lines of Rukia having "charm" skill with the masturbation animation I once left instead of a brothel pic :)
That's unusual concept. Iirc, in the source she prefers that zanpakuto thing that actively uses ice element  :D

Do we actually need so many?
That's still nothing compared to wm. I only have about 4 GB of packs on my Mega account, while the first torrent with wm I downloaded about 3.5 years ago containing most (but not all) of existing packs was about 12 GB. Both are archived, of course.

Please read my two previous posts.
Can't help but recall that story with one girl/one guy tags  ::)
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 01:13:17 PM
I was wondering if I can:
1. create a girl with her location=city in data.xml so she will appear in girlsmeet
2. right away, or after some condition (like disposition>200) jump to a custom label instead of gm menu
3. in custom label change her location to something made up (location=in_quest_02) so she will not appear anywhere until it's changed again

Manually, that would be easy... gamewide, might be a lot trickier. Gamewide, it can either be done by an event system or by jumps to custom labels. I think we can do a very simple solution for now, I'll write a function that will jump to a girl_id label if you pick that girl in girlmeets AND girls location is set to "girlmeets-quest". Game will send all girls with the girlmeets-quest location to girlsmeets as well. Than, game will jump to girl_id label (label Hinata:) for example, from there you will own the flow of the game and do whatever you like. A system like that will be very easy to add to an event manager when we actually have one. How will you get disposition to 200 if you cannot interact? Better option would be to check hero's stats like charisma.

I'm done with allowing more than one data.xml file, I should prolly do the same for traits and items as well. I'll see what I can do about the girlmeets afterwards.


===============================
That's still nothing compared to wm. I only have about 4 GB of packs on my Mega account, while the first torrent with wm I downloaded about 3.5 years ago containing most (but not all) of existing packs was about 12 GB. Both are archived, of course.

May I suggest that you download the vanilla version and see what packs dev team put in? There is other stuff to do, but we still have time before the Alpha as well I guess...

Can't help but recall that story with one girl/one guy tags  ::)

You say it like tags we use now is the final version...? Game is in development... but skills are a poor example, even if we change the concept, only one or two words would have to be added to skills themselves, girls/mobs/items/monsters files will take the beating.
Title: Re: General Discussion
Post by: DarkTl on January 29, 2014, 01:29:51 PM
May I suggest that you download the vanilla version and see what packs dev team put in? There is other stuff to do, but we still have time before the Alpha as well I guess...
Are you casual?  :D
Actually, indeed it's not like I have something else to do before the alpha. Traits, items, mobs are done on my part, I only forgot to add new effects to traits xml, but I'll do it at this weekend.

Also, some of vanilla packs iirc contained like 1-3 shitty pics per catagory. I can do the same. Will I? No.

but skills are a poor example, even if we change the concept, only one or two words would have to be added to skills themselves, girls/mobs/items/monsters files will take the beating.
And if we'll use another BE? Like Eliont will make his BE perfect, and you only will need to grab it?
Title: Re: General Discussion
Post by: CherryWood on January 29, 2014, 01:52:36 PM
Manually, that would be easy... gamewide, might be a lot trickier. Gamewide, it can either be done by an event system or by jumps to custom labels. I think we can do a very simple solution for now, I'll write a function that will jump to a girl_id label if you pick that girl in girlmeets AND girls location is set to "girlmeets-quest". Game will send all girls with the girlmeets-quest location to girlsmeets as well. Than, game will jump to girl_id label (label Hinata:) for example, from there you will own the flow of the game and do whatever you like. A system like that will be very easy to add to an event manager when we actually have one. How will you get disposition to 200 if you cannot interact? Better option would be to check hero's stats like charisma.
Yup, sounds great.
Would it work I write into my custom label that the game should jump back to girlmeets if disposition<200 ?
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 01:58:35 PM
Actually, indeed it's not like I have something else to do before the alpha. Traits, items, mobs are done on my part, I only forgot to add new effects to traits xml, but I'll do it at this weekend.

I can find something to do for you :)

And if we'll use another BE? Like Eliont will make his BE perfect, and you only will need to grab it?

Using it will in no way in hell mean abandoning ours, it will be an extension, like him using our packs, items or Arena in Alkion.
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 02:00:19 PM
Would it work I write into my custom label that the game should jump back to girlmeets if disposition<200 ?

Yes, might not even require to leave girlsmeets, give me an hour or so... I was helping someone on Ren'Pys Lemma forums, there are very few people there that help out with complex code.

Title: Re: General Discussion
Post by: Xela on January 29, 2014, 03:29:06 PM
Pushed:
- Unique girls, traits and items can be loaded from multiple data files
- Added jump @ custom girlsmeets quests on CWs request.

Set location to "girlsmeets_quest" in data file, then when you pick a girl, game will jump to girl_id (Hinata) label.

Only background remains, use renpy.scene() if you wish to clear that as well. You'll have to put girls pic on the screen and define her speaking character yourself.

If you want to reject the quest, just check condition, show her pic, say something fitting and jump back to where you came from:

Code: [Select]
$ jump(pytfall.gm.label_cache)
You can obviously keep her location at girlsmeets and use flags to control your labels if you want to meet her several times.
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 03:39:51 PM
Would it work I write into my custom label that the game should jump back to girlmeets if disposition<200 ?

Maybe I've misunderstood you, if you want for normal or unique custom girlmeets to kick in after setting disposition to 200 in your quests, just set location of the girl to "city": char["Hinata"].location = "city".
Title: Re: General Discussion
Post by: CherryWood on January 29, 2014, 03:53:36 PM
You're the best!
Now if only I was better writer  :)  It's so hard to came up with something that doesn't look plain stupid...
Title: Re: General Discussion
Post by: Xela on January 29, 2014, 03:57:42 PM
Now if only I was better writer  :)  It's so hard to came up with something that doesn't look plain stupid...

You've being doing great so far. Besides, even if you sneak something plain stupid in there, it's better than nothing at all.
Title: Re: General Discussion
Post by: DarkTl on January 29, 2014, 11:24:24 PM
I can find something to do for you
Like what? You know I'm not a writer or artist  ::)
Title: Re: General Discussion
Post by: Xela on January 30, 2014, 05:51:22 AM
Like what? You know I'm not a writer or artist  ::)

Neither am I... but there are lots of things you could do:

1) Add more Arena fighters and set up 5 - 6 fixed teams for each ladder. (I may have some sprites from new SM Arena event)

2) Elements for BE, find me pics for every element for screens (could be borrowed from naturo series if you go with that concept), write description for every alignment and maybe all of them in detail (doesn't have to be in Shakespearian, just so it makes sense) add elemental alignment to girls, monsters and Arena Fighters and create at least one spell (better 2 - 3) for each element in BE.

3) Find a sound file (preferably .wav, but can also be mp3 or .ogg) with sound of a bow, than I can have all normal characters get into the game with fist attack and set rest of the attacks based off weapon they have equipped. Maybe also a sound that rod, fist or claws make if we have claws.

4) Come up with concepts (better concepts) for balancing and any game elements (doesn't have to be in Shakespearian either btw.)

5) See if you can find better graphics for any of the game elements that you think look awful.

6) See if you can split items and maybe traits files, right now items file is so huge, it takes me ages to find something I'm looking for. They just need to start with items and end with .xml

7) There are to many Warriors in your packs, even if they are used in the Arena, player will never see them until post Alpha. See if you can cut a few, I'll add an option to switch occupation on a very high disposition.

8) Check if any items or traits edit max disposition, this can give weird results since we check vs values and not min and max stats in the events, basically a girl with max disposition of 800 will never see events or allow interactions that require 900, many traits might be removed but if item decreases it and there are no items to raise the max in the game, girls is at least partly broken. PS: Expensive items to raise/decrease it is as good as no items at all.

9) Maybe revisit all of your packs before the Alpha? I am getting sex images on profile pics every now and again.

10) Mobs you've created, all work off FistAttack, noone has any other attack, magic.

PS: If you decide to revisit Mobs or visit arena fighters, you might want to add MDef and charisma stats as well (for defense vs magic and charm skills).

I can prolly think of a few more... More girls is great as well, but after alpha release, we'll fix all new bugs and weird game elements people might find, maybe take a little break and than start with adding slavetraining at which point we'll like have to create more tags... it's not like any code I write or content you add is final anyway.

Oh, you could write (once again, leet skillz are not required) modding guides, especially for tagging.
Title: Re: General Discussion
Post by: DarkTl on January 30, 2014, 09:08:46 AM
2-6 paragraphs sound interesting, I'll take a break from packs making and take care of them tomorrow at work.

Maybe revisit all of your packs before the Alpha? I am getting sex images on profile pics every now and again.
I will fix them right away if you'll be more specific with characters names. Full Revisit = Slave Training.
It's like if I find a bug in the game and tell you that you should revisit all the code instead of describing it  :)

7) There are to many Warriors in your packs, even if they are used in the Arena, player will never see them until post Alpha. See if you can cut a few, I'll add an option to switch occupation on a very high disposition.
Alright. How many unique warriors we might need for alpha?

10) Mobs you've created, all work off FistAttack, noone has any other attack, magic.
I was under impression that we don't have a decent, ready for use set of BE skills yet even for characters, not to mention mobs. Especially in the absence of elements.
Title: Re: General Discussion
Post by: Xela on January 30, 2014, 09:24:38 AM
2-6 paragraphs sound interesting, I'll take a break from packs making and take care of them tomorrow at work.

Kewl

I will fix them right away if you'll be more specific with characters names. Full Revisit = Slave Training.
It's like if I find a bug in the game and tell you that you should revisit all the code instead of describing it  :)

LoL

True enough... I know for a fact that vivi from op has one. There are definitely one or two more but I don't know where. I think I can come up with a script to root them out when I get a chance.

Alright. How many unique warriors we might need for alpha?

We need to decide how to release the Alpha, it would be obviously a mistake to force everyone to download all of the packs. So prolly girls with special content like Mars, all random girls and maybe one or two of the best known packs would be the way to go.

With random girls we don't really NEED any warriors, prostitutes or any other class. I have just noticed an insane amount of warrior unique girls in the game as compared to other classes.

PS: Right now game might overwrite this, but if you put arena_willing = "false" in girls file, she will not participate in the arena, ever.

I was under impression that we don't have a decent, ready for use set of BE skills yet even for characters, not to mention mobs. Especially in the absence of elements.

Yeap, thats true but you could have used what we had :)

PS: There is a simbrothel 2 RPG maker game that a team way larger than ours is working on, most of the ideas are the same, only there it's rpg framework and we use vn framework (and they seem to have more content due to more people in the project). I had a copy like an year ago, downloading one now to check what's been done since...
Title: Re: General Discussion
Post by: DarkTl on January 30, 2014, 09:46:50 AM
I know for a fact that vivi from op has one.
You're right, I misclicked anal and profile flags. I will upload new version asap, but if you have tagger, you can fix your version in two seconds instead of downloading 174 MB, picture name is anal (1).

PS: Right now game might overwrite this, but if you put arena_willing = "false" in girls file, she will not participate in the arena, ever.
I'll do that.

Yeap, thats true but you could have used what we had :)
Yeah, but I don't even know what to write there right now. Does the game have a list of existing battle skills in some file that I could view via notepad+ or something?
Title: Re: General Discussion
Post by: Xela on January 30, 2014, 11:58:36 AM
Yeah, but I don't even know what to write there right now. Does the game have a list of existing battle skills in some file that I could view via notepad+ or something?

Nope, that's what I got rid of, but you can find all skills registered to BE in assets.rpy file in BE folder:

Code: [Select]
    Library.Skills = object()

    # Now we're creating individual skills one by one and adding them to the library
    Library.Skills.SwordAttack = AttackSkill(command=[('Attack', -1)], multiplier=1.2, sfx="content/sfx/sound/be/sword.wav")
    Library.Skills.KnifeAttack = AttackSkill(command=[('Attack', -1)], multiplier=0.8, sfx="content/sfx/sound/be/knife.wav", name="Knife")
    Library.Skills.ClawAttack = AttackSkill(command=[('Attack', -1)], multiplier=1, sfx="content/sfx/sound/be/sword.wav", name="Slash")
    Library.Skills.FistAttack = AttackSkill(command=[('Attack', -1)], multiplier=1, sfx="content/sfx/sound/be/knife.wav", name="Hit")

and:

Code: [Select]
    Library.Skills.Fire1 = MagicFighterAttackSkill("Fire 1", attributes=['magic', 'fire'], damage=5, cost=5, range=4, sprite_impact=BattleSprite('fire 1', anchor=(0.5, 0.8)), pause=0.4, sfx="content/sfx/sound/be/fire.wav")
    Library.Skills.Fire2 = MagicFighterAttackSkill("Fire 2", attributes=['magic', 'fire'], damage=10, cost=8, range=4, sprite_impact=BattleSprite('fire 2', anchor=(0.5, 0.8)), pause=0.8, sfx="content/sfx/sound/be/fire2.wav")
    Library.Skills.Fire3 = MagicFactionAttackSkill("Fire 3", attributes=['magic', 'fire'], damage=7, cost=10, sprite=BattleSprite('fire 1', anchor=(0.5, 0.8)), pause=0.4, sfx="content/sfx/sound/be/fire.wav")
   
    Library.Skills.Water1 = MagicFighterAttackSkill("Water 1", attributes=['magic', 'water'], damage=5, cost=5, range=4, sprite_impact=BattleSprite('water 1', anchor=(0.5, 0.8)), pause=0.6, sfx="content/sfx/sound/be/water.wav")
    Library.Skills.Water2 = MagicFighterAttackSkill("Water 2", attributes=['magic', 'water'], damage=10, cost=8, range=4, sprite_impact=BattleSprite('water 2', anchor=(0.5, 0.8)), pause=1.2, sfx="content/sfx/sound/be/water2.wav")
    Library.Skills.Water3 = MagicFactionAttackSkill("Water 3", attributes=['magic', 'water'], damage=7, cost=10, sprite=BattleSprite('water 1', anchor=(0.5, 0.8)), pause=0.6, sfx="content/sfx/sound/be/water.wav")

    Library.Skills.Earth1 = MagicFighterAttackSkill("Earth 1", attributes=['magic', 'earth'], damage=5, cost=5, range=4, sprite_impact=BattleSprite('earth 1', anchor=(0.5, 0.8)), pause=0.6, sfx="content/sfx/sound/be/earth.wav")
    Library.Skills.Earth2 = MagicFighterAttackSkill("Earth 2", attributes=['magic', 'earth'], damage=10, cost=8, range=4, sprite_impact=BattleSprite('earth 2', anchor=(0.5, 0.8)), pause=0.6, sfx="content/sfx/sound/be/earth2.wav")
    Library.Skills.Earth3 = MagicFactionAttackSkill("Earth 3", attributes=['magic', 'earth'], damage=7, cost=10, sprite=BattleSprite('earth 1', anchor=(0.5, 0.8)), pause=0.6, sfx="content/sfx/sound/be/earth.wav")

    Library.Skills.Windwhirl = MagicFighterAttackSkill("Windwhirl", attributes=['magic', 'earth'], damage=5, cost=5, range=4, sprite_impact=BattleSprite('Whirlwind',anchor=(0.5, 0.9)), impact_duration=1.1, pause=0, sfx="content/sfx/sound/be/Whirlwind.wav")   
    Library.Skills.IceArrow = MagicFighterAttackSkill("Ice Arrow", attributes=['magic', 'water'], damage=10, cost=8, range=4, sprite_cast=BattleSprite('Ice Arrow cast',anchor=(0.5, 0.9)), cast_duration=0.6, sprite_fly=BattleSprite('Ice Arrow fly',anchor=(0.5, 0.9)), fly_duration=0.4, sprite_impact=BattleSprite('Ice Arrow impact',anchor=(0.5, 0.9)), impact_duration=0.9, pause=0, sfx="content/sfx/sound/be/Ice Arrow.wav")
    Library.Skills.FireArrow = MagicFighterAttackSkill("Fire Arrow", attributes=['magic', 'fire'], damage=10, cost=8, range=4, sprite_cast=BattleSprite('Fire Arrow cast',anchor=(0.5, 0.9)), cast_duration=0.6, sprite_fly=BattleSprite('Fire Arrow fly',anchor=(0.5, 0.9)), fly_duration=0.4, sprite_impact=BattleSprite('Fire Arrow impact',anchor=(0.5, 0.95)), impact_duration=0.9, pause=0, sfx="content/sfx/sound/be/Fire Arrow.wav")
    #For Sailor Mars
    Library.Skills.MarsFlameSniper = MagicFighterAttackSkill("Mars Flame Sniper", attributes=['magic', 'fire'], damage=12, cost=9, range=4, sprite_cast=BattleSprite('Fire Arrow cast',anchor=(0.5, 0.8)), cast_duration=0.6, sprite_fly=BattleSprite('Fire Arrow fly',anchor=(0.5, 0.8)), fly_duration=0.4, sprite_impact=BattleSprite('Fire Arrow impact',anchor=(0.5, 0.9)), impact_duration=0.78, sprite_special=BattleSprite('Sailor Mars Flame Sniper',anchor=(0.5, 0.5)), special_duration=0.8, sprite_special_pos=At(truecenter), img_display_chance=100, pause=0, sfx="content/sfx/sound/be/Fire Arrow.wav", sfx_special="content/chars/Sailor_Moon/hino_rei/Mars Flame Sniper.wav")       
 
    # We'll create alternate spells which use the same sprites for the magic
    # that enemy creatures use:
    Library.Skills.Fireball = MagicFighterAttackSkill("Fireball", attributes=['magic', 'fire'], damage=6, cost=0, range=3, sprite_impact=BattleSprite('fire 1', anchor=(0.5, 0.8)), pause=0.4, sfx="content/sfx/sound/be/fire.wav")
    Library.Skills.Aqua = MagicFighterAttackSkill("Aqua", attributes=['magic', 'water'], damage=6, cost=0, range=3, sprite_impact=BattleSprite('water 1', anchor=(0.5, 0.8)), pause=0.6, sfx="content/sfx/sound/be/water.wav")
    Library.Skills.Tremor = MagicFighterAttackSkill("Tremor", attributes=['magic', 'earth'], damage=6, cost=0, range=3, sprite_impact=BattleSprite('earth 1', anchor=(0.5, 0.8)), pause=0.6, sfx="content/sfx/sound/be/earth.wav")

And you might want to put adding the actual skills off, until you've figure out elemental alignments and created more spells.
Title: Re: General Discussion
Post by: Xela on January 30, 2014, 04:02:16 PM
PS: There is a simbrothel 2 RPG maker game

Very impressive... their over three years of development was REALLY well spent. There are even mouse only controls that work almost everywhere an sh!tloads of content.
Title: Re: General Discussion
Post by: Xela on January 30, 2014, 04:33:26 PM
Now if only I was better writer

I've started filling in the gaps in girlsmeets, my writing is worse than yours BUT you should have told me that girlsmeets creation was so tedious (Like you did with BE Skills). One of the main points of the game design is to allow easy modding.

I'll be setting new rules and allow for a much simpler checking of traits, occupation and most importantly, random lines with the next update. It will count everywhere, not just girlsmeets...
Title: Re: General Discussion
Post by: CherryWood on January 30, 2014, 05:14:59 PM
I've started filling in the gaps in girlsmeets, my writing is worse than yours BUT you should have told me that girlsmeets creation was so tedious (Like you did with BE Skills). One of the main points of the game design is to allow easy modding.

I'll be setting new rules and allow for a much simpler checking of traits, occupation and most importantly, random lines with the next update. It will count everywhere, not just girlsmeets...
Tedious? Something like tagging is tedious, this was the opposite - too much thinking causing my head to hurt. I tried to make every line unique.
I admit that it is an insane idea to make variations for every personality, but I started it anyway because 1) I had a lot of lines like that to start with that I could just copy/paste and 2) It's really something I would personally enjoy in game, more that stuff like arena or slavetraining, but I didn't have a strength to continue for some time, so I am not really sure what to do with it....

Disposition values there are from some table I just made up, they don't follow any math logic. Fell free to do anything with these.

------------------
I'm trying to add two or three arena teams now, just to learn how to do it. (looks very easy so far, that's great) If they will work, I'll upload them soon.
I've seen some talk before arena matches. Can this be customised for unique teams?
Title: Re: General Discussion
Post by: Xela on January 30, 2014, 05:39:09 PM
Tedious? Something like tagging is tedious, this was the opposite - too much thinking causing my head to hurt. Every line should be unique here.

I don't really do unique, I just throw whatever comes to mind first. We need to get this to the Alpha stage and hopefully get more people on board...

You must have misunderstood me, what I meant be tedious wasn't writing content in itself, it is constant typing of:

if "trait" in chr.traits:

or if chr.disposition > 100:

or gm_chr(random.choice(["", "", ""])).

gm_chr will be g from now on. Everywhere, main girl of any event should be g, we'll simply redefine it all the time.

$gm_chr(random.choice(["", "", ""])) this will be replaced with this: $rc("", "", "")

if chr.disposition > 100 this with d(100)

if "trait" in chr.traits: this with ct("trait") and you can check any amount traits like $ct("Magic Talent", "Magic Gift") and it will return true if any girls has any of the traits...

I got sick of typing same things over and over again in an hour.

I admit that it is an insane idea to make variations for every personality, but I started it anyway because 1) I had a lot of lines like that to start with that I could just copy/paste and 2) It's really something I would personally enjoy in game, more that stuff like arena or slavetraining

I do some traits checks as well, we'll add/expand as we proceed. PS: If something I put in bugs you, just comment it out and leave a replacement and maybe the reason as well. I rewrote your Hiring procedure and will do so again after we start simulating the city.

Disposition values there are from some table I just made up, they don't follow any math logic. Fell free to do anything with these.

I glanced over your code so I got the general idea. I don't have any spreadsheets reader on this laptop right now anyway.

------------------
I'm trying to add two or three arena teams now, just to learn how to do it. (looks very easy so far, that's great) If they will work, I'll upload them soon.
I've seen some talk before arena matches. Can this be customised for unique teams?

Obviously, but it's inside Python code, not much harder than girlsmeets but you'll need to know where to look. We might make even that easier but only for the release version.
Title: Re: General Discussion
Post by: CherryWood on January 30, 2014, 06:00:53 PM
Oki, I understand.
I usually spend so much time on thinking out what to write/searching for images/figuring out how to make something work, that I'm not really bothered with writing something multiple times at all afterwards.


But too much simplification can make the code hard to read. Like, I'm used to it by now, but It was really hard for me to figure out how things work at first with all these classes around through multiple files.
Title: Re: General Discussion
Post by: Xela on January 30, 2014, 06:17:50 PM
But too much simplification can make the code hard to read. Like, I'm used to it by now, but It was really hard for me to figure out how things work at first with all these classes around through multiple files.

Old way will work just as it did before if that's your preference.

I usually spend so much time on thinking out what to write/searching for images/figuring out how to make something work, that I'm not really bothered with writing something multiple times at all afterwards.

Before I forget again and since you've said images, I've added some new options to the girls's show method:

Assumes girl is set to chr:

1) chr.show("nude", "generic inside", resize=(500, 400), exclude=["generic outside", "bla bla bla", "etc..."]) will exclude any of the tags in the list. I've already created a list of all main sex tags in initialization.rpy (closer to the end of the file). If you want/need to, create more lists there like for excluding all inside, outside and other categories that can be grouped together or we'll do it later as required. You can obviously just use exclude=main_sex_tags and it'll work.

2) chr.show("nude", "generic inside", resize=(500, 400), type="first_default"). Now type decides the logical order of a search, first default means that game will try to find a pic with ALL tags first, than try to find the pic with very first tag only AND only if that fails as well, go for the "profile" pic.

Other option for type that we have now is "any", game will try to find a pic with ANY one of the tags.

You can also use both exclude and type during the same search.
Title: Re: General Discussion
Post by: DarkTl on January 31, 2014, 03:33:11 AM
Ok, I split items xml, they are in items xmls folder. Not sure about traits, items are easy to classify by slot type, but several traits xml probably will be unintuitive.

May I assume that we have more or less fresh version of the game in db?
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 04:08:03 AM
Ok, I split items xml, they are in items xmls folder. Not sure about traits, items are easy to classify by slot type, but several traits xml probably will be unintuitive.

Purrfect!

May I assume that we have more or less fresh version of the game in db?

From mid November of 2013.
Title: Re: General Discussion
Post by: DarkTl on January 31, 2014, 05:16:35 AM
Alright, I downloaded fresh copy from repository, and now I'm confused by file structure of rchars folder. Does it have other rules for tags and girls files? I have this one when I use the same structure that char folder has:
Quote
  File "game/script.rpy", line 79, in script
  File "game/script.rpy", line 138, in python
  File "game/library/classes - support.rpy", line 26, in python
  File "game/library/functions.rpy", line 46, in python
WindowsError: [Error 267] : u'C:\\RenPy\\Pytfall/game\\content/rchars/data_2k_tan.json\
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 05:45:00 AM
Alright, I downloaded fresh copy from repository, and now I'm confused by file structure of rchars folder. Does it have other rules for tags and girls files? I have this one when I use the same structure that char folder has:

I would expect same or similar Error with normal characters as well, game doesn't expect there to be any girls files in main rchars or chars folder. You need to create a new folder called something like windows_girls just as you would create one for Naruto to put data_Sakura.xml inside.
Title: Re: General Discussion
Post by: DarkTl on January 31, 2014, 05:55:25 AM
Ah, I see. It's just I tried to download rchar folder you linked in repository thread, and it confused me even more, since you moved and combined some of tags files.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 06:00:47 AM
Ah, I see. It's just I tried to download rchar folder you linked in repository thread, and it confused me even more, since you moved and combined some of tags files.

I am not 100% sure that's your last copy btw, it's been a while since I've posted that as well so I don't remember if that's pre or post tagging.

Just a note, you no longer have to specify folder in girl files. Game doesn't use it (Doesn't really do any harm either, maybe for better compatibility with Alkion or something...). With that, any rules for acutally naming girl folders are gone so you can use proper names for folders like One Piece.
Title: Re: General Discussion
Post by: CherryWood on January 31, 2014, 06:06:17 AM
Custom arena fighters in arena_fighters.json don't use any attacks in combat (both old like Randalf and new ones - they just stand there doing nothing).
Maybe it's not linked with the new system you created?


Also because they get shown in aftermath report, support for battle pic would be nice (now they use portrait)
Title: Re: General Discussion
Post by: DarkTl on January 31, 2014, 06:17:19 AM
Lol, now you actually can sell your last brothel and live on the streets  :D
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 06:28:52 AM
Custom arena fighters in arena_fighters.json don't use any attacks in combat (both old like Randalf and new ones - they just stand there doing nothing).
Maybe it's not linked with the new system you created?


Also because they get shown in aftermath report, support for battle pic would be nice (now they use portrait)

I disabled part of the code they were using I think along with the mobs. I'll take a look. Battle pics would be almost impossible to find for most of them, but I'll add such a possibility as well.

Lol, now you actually can sell your last brothel and live on the streets  :D

Eventually, I want player not to be forced into buying brothels. Especially when we create guilds and slavetraining.
Title: Re: General Discussion
Post by: DarkTl on January 31, 2014, 06:39:09 AM
Guess we'll need a separate location like player house then. Maybe with furniture and upgrades.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 06:46:22 AM
Guess we'll need a separate location like player house then. Maybe with furniture and upgrades.

Definitely at some point.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 08:22:01 AM
Custom arena fighters in arena_fighters.json don't use any attacks in combat (both old like Randalf and new ones - they just stand there doing nothing).
Maybe it's not linked with the new system you created?


Also because they get shown in aftermath report, support for battle pic would be nice (now they use portrait)

Ok, they were using old names and container types, we'll have to update girls at some point as well but for now game will take care of that.

Just pushed, look inside the files for examples.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 10:01:08 AM
Hey Xela, nice to see the projects still running smoothly. Just a quick thing, I could try writing meetscripts for your project. I've already done a couple for wm so maybe you could take a look at them and tell me what you think?. Just thought I would ask seeing as writing meetscripts is something I enjoy doing.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 10:06:00 AM
Hey Xela, nice to see the projects still running smoothly. Just a quick thing, I could try writing meetscripts for your project. I've already done a couple for wm so maybe you could take a look at them and tell me what you think?. Just thought I would ask seeing as writing meetscripts is something I enjoy doing.

That would be great, cause we really are lacking in that area. Do you have dev environment setup already?
Title: Re: General Discussion
Post by: DarkTl on January 31, 2014, 10:18:24 AM
Found some decent sounds for all weapon types that we might have in the near future. In my db it's animation and sounds\BE folder.
Some types of attacks have several sounds, either use the one you like most or randomly select it during battle.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 10:21:00 AM
Found some decent sounds for all weapon types that we might have in the near future. In my db it's animation and sounds\BE folder.
Some types of attacks have several sounds, either use the one you like most or randomly select it during battle.

Awesome, you could out them in the game and push to SF yourself btw.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 10:32:01 AM
That would be great, cause we really are lacking in that area. Do you have dev environment setup already?
Afraid not :( , but run me through the basics and i'll see what i can do :) .
Title: Re: General Discussion
Post by: CherryWood on January 31, 2014, 11:07:15 AM
Ok, they were using old names and container types, we'll have to update girls at some point as well but for now game will take care of that.

Just pushed, look inside the files for examples.
Great, they're working now.
I pushed a few sprites I used for testing. I'll improve these later, now I want to try creating a small event. 
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 11:12:52 AM
Afraid not :( , but run me through the basics and i'll see what i can do :) .

First follow the instructions here:

http://www.pinkpetal.org/index.php?topic=2125.msg22144#msg22144

Next, after you got the code and some girls, in Ren'Py: Press on "script.rpy" under Edit files: You'll get a choice of a number of text editors, JEdit is by far the best but you'll need Java Development kit installed as well. There is also a gVim (difficult to use but many say that it's very good and pays off in the end). I use only JEdit.

After you've downloaded the Jedit or any other editor (You could obviously use any editor but you'll have no RenPy syntax), you should open Utilities in the Menu, pick File Browser and than dock it to the left side for convinience.

The whole thing takes like 5 mins.

Thereafter, you'll have to play the game a little bit to figure out what's what. Also take a look at content/db/traits.xml. Traits inside should be used at forks during the girlsmeets. There are currently 4 classes of girls in PyTFall, "Prostitute", "Stripper", "Warrior" and "ServiceGirl" (Cleans/Tends bar).

Most important stat during girsmeets is "disposition" (scale of -1000 to 1000) and charisma which is under normal circumstances in range of 0 - no limit but is not likely to go above 400 after we balance out the game. Charisma will prolly be rarely used anyway.

After you got everything set up and played our pre-alpha version a little bit and actually took a look at what girlsmeets look like in PyTFall (SimBro 1x clone and very different from WM), take a look at labels - girlsmeets.rpy (or something similar) in the library/screen folder. Don't be overwhelmed by the code, it's actually VERY simple and after you glanced through it, I'll explain what's what.

Found some decent sounds for all weapon types that we might have in the near future. In my db it's animation and sounds\BE folder.
Some types of attacks have several sounds, either use the one you like most or randomly select it during battle.

Bow sounds like arrow hits wood, I don't think we have any wooden enemies even under mobs...
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 11:14:35 AM
Great, they're working now.
I pushed a few sprites I used for testing. I'll improve these later, now I want to try creating a small event.

If Bowman takes over girlsmeets, I'll pause my work on them and start with updating the event manager tonight :)

Edit: they are not just working, you can also set up weight of each attack (how frequently AFs will use it). That should be working now as well.
Title: Re: General Discussion
Post by: DarkTl on January 31, 2014, 11:20:52 AM
Awesome, you could out them in the game and push to SF yourself btw.
I would appreciate a small (but complete  :) ) pushing guide, just like that one for pulling in repository section.

Bow sounds like arrow hits wood, I don't think we have any wooden enemies even under mobs...
Not exactly wood, but something solid for sure. It's the best free one for now, there are much better ones, but not for free. I'll continue my search tomorrow.
Title: Re: General Discussion
Post by: CherryWood on January 31, 2014, 11:37:26 AM
Good news is, that after setting up the code for type of sprite movement (skill class), additional animations using it created from existing sprite files found on net (and there is a lot of them) ale totally easy to set up. And I found sites with lots of sounds too (http://www.sounddogs.com/sound-effects.asp (http://www.sounddogs.com/sound-effects.asp)), so creating a new one takes only like 15-30 minutes (If you don't want to draw your own, obviously). So I can probably make a lot of these when we will want it.
Have you tried this site? Bow + Arrow in search field gives me 985 sound effects  :)  I've used bow sf+fireball sf+explosion/freeze sf from this site to create fire/ice arrow. 
==========
Edit: Oh, ok, sorry  :) 
Title: Re: General Discussion
Post by: DarkTl on January 31, 2014, 11:45:50 AM
Yup, that's where I found it in the first place. Didn't have enough time today to listen all 985 examples  :)
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 12:10:37 PM
After you got everything set up and played our pre-alpha version a little bit and actually took a look at what girlsmeets look like in PyTFall (SimBro 1x clone and very different from WM), take a look at labels - girlsmeets.rpy (or something similar) in the library/screen folder. Don't be overwhelmed by the code, it's actually VERY simple and after you glanced through it, I'll explain what's what.
Right I'll get to that and see if I can't whip up something half decent :D . I think I might be odd in that i like making meetscripts :o
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 12:26:16 PM
Right I'll get to that and see if I can't whip up something half decent :D . I think I might be odd in that i like making meetscripts :o

No idea. Plenty of people like playing and making date style games.

The idea behind girlsmeets in PyTFall is to raise disposition of girls towards the player until events could be triggered or girl can be hired. Unlike in WM, there is a menu with loads of choices from the very start and you can add other menus on top of that. Player is usually silent and is communicating through menu choices.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 01:35:51 PM
Interesting and sure I don't mind taking over meetscripts, now I'm here your not getting rid of me just yet 8)
===
Edit: Okay downloading some of Darks girls now, are their any I need to make sure the game doesn't throw a fit? :D
Title: Re: General Discussion
Post by: CherryWood on January 31, 2014, 01:48:31 PM
Edit: Okay downloading some of Darks girls now, are their any I need to make sure the game doesn't throw a fit? :D
Maybe not anymore, but it was Hinata (Naruto0) and Alice Margatroid (touhou). + some random girls to fill the arena
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 01:53:17 PM
Maybe not anymore, but it was Hinata (Naruto0) and Alice Margatroid (touhou). + some random girls for working arena
Thanks for the heads up, I'll get them both just in case.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 02:33:15 PM
Thanks for the heads up, I'll get them both just in case.

The only link to Hinata is in the bug reports thread. You do STILL require Darks naruto girls because a team in the arena expects them to be there. I also suggest you get all of the random girls because you'll get an empty arena or arena filled with one random girl all over the place otherwise.

I would appreciate a small (but complete  :) ) pushing guide, just like that one for pulling in repository section.

Choose Hg Workbench from the menu in your pytfall folder.

First you need to commit or Fiksirovat' all of the changes you made. That you need to pull the the changes everyone else has made from the server like you usually do (there are green arrows with yellow cylinders in the toolbar of hg workbench). There is a roadmap in top window and if you actually pulled something, it will be split in two. Call a menu on the fork that splits, pick Merge with local copy. On a pop up window, at the bottom, there is a + listbar with hidden options, pick always automatically resolve conflics and then on next a couple of times. You'll be asked to commit again, choose yes. And push with the yellow cils/green arrows button.

That is basically it, long explanation for 5 - 6 mouse clicks. The worst thing that can happen is if someone has worked on the same code you did, then you'll be asked to solve the conflict manually. You'll get a text editor with conflicts and if you want to choose your version or the other guys from a menu, but that doesn't happen very often.

Software is pretty smart, it will not let you push unless you specifically tell it to force it if you did not pull the latest changes and always ask if you wish to add new files or remove the old once during commits. You'll have to setup your nickname in the software as well, it should tell you what to do.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 02:47:16 PM
 :D good call right i'll just get everything to be safe right now
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 02:51:21 PM
Btw, do we have a heads-up as to who is and isn't officially working on this Xela?
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 03:01:52 PM
Btw, do we have a heads-up as to who is and isn't officially working on this Xela?

Me, Dark and CW are active. longint pops in every now and again. Rudi helped us with tags but hasn't been seen for a while and has his own game in development. Jaeke did some testing and spell-checks. Xip made a couple of backgrounds for the Arena.

Otherwise, people keep contacting me in PMs, promise to help, ask questions and disappear.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 03:08:34 PM
That kinda sucks :( , still if you want you can add me to the list. I think i could really get into this.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 03:13:08 PM
That kinda sucks :( , still if you want you can add me to the list. I think i could really get into this.

Oki :)
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 03:16:10 PM
Thanks, still DL'ing stuff atm but as soon as those girlpacks hit my harddrive I'm in :D
===
Edit: Right set up a sourceforge and dropbox account just in case I need 'em
 
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 03:52:54 PM
Maybe not anymore, but it was Hinata (Naruto0) and Alice Margatroid (touhou).
Just had a look at the script.rpy file, there both mentioned in it so it might still.
Title: Re: General Discussion
Post by: CherryWood on January 31, 2014, 04:34:36 PM
Is there a way to have random sound played on each attack? I tried this:
Code: [Select]
Library.Skills.CannonAttack = AttackSkill(command=[('Attack', -1)], multiplier=1, sfx=random.choice(["content/sfx/sound/be/Cannon_1.wav", "content/sfx/sound/be/Cannon_2.wav", "content/sfx/sound/be/Cannon_3.wav"]), name="Fire")but its not working like that, I get only one sound for whole battle.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 04:41:17 PM
Is there a way to have random sound played on each attack? I tried this:
Code: [Select]
Library.Skills.CannonAttack = AttackSkill(command=[('Attack', -1)], multiplier=1, sfx=random.choice(["content/sfx/sound/be/Cannon_1.wav", "content/sfx/sound/be/Cannon_2.wav", "content/sfx/sound/be/Cannon_3.wav"]), name="Fire")but its not working like that, I get only one sound for whole battle.

It cannot work like that but you'll simply be getting new sound every time you start and maybe load the game. You need to modify the Skill it self, if you want, I can quickly do it right now and push.
Title: Re: General Discussion
Post by: CherryWood on January 31, 2014, 04:58:27 PM
It cannot work like that but you'll simply be getting new sound every time you start and maybe load the game. You need to modify the Skill it self, if you want, I can quickly do it right now and push.
Ok, I still need to learn I lot I see  :)
I've actually pushed it like this. Because I started new game over and over, I didn't notice before.
I don't know how to do it, so if you would be so kind... but it surely doesn't have to be right now
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 05:10:41 PM
Ok, I still need to learn I lot I see  :)
I've actually pushed it like this. Because I started new game over and over, I didn't notice before.
I don't know how to do it, so if you would be so kind... but it surely doesn't have to be right now

Oki. By the way, we'll be equipping Attack skillz with items so we now need a cannon item... (Dark)? :P
Title: Re: General Discussion
Post by: CherryWood on January 31, 2014, 05:19:30 PM
Oki. By the way, we'll be equipping Attack skillz with items so we now need a cannon item... (Dark)? :P
This is for Maria's Tulip, I added some Rance girls into arena. Do arena girls need items too? If not, then we don't need one...
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 05:33:53 PM
This is for Maria's Tulip, I added some Rance girls into arena. Do arena girls need items too? If not, then we don't need one...

Nope, Arena girls don't :)

Wait, it's not only if you meant Arena characters, not actual girls set to fight in the arena.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 05:40:19 PM
I have to admit I really like the interface, despite it being a similar principal to wm's at the moment somehow it just looks miles better.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 05:47:37 PM
I have to admit I really like the interface, despite it being a similar principal to wm's at the moment somehow it just looks miles better.

Finally got it working? Truth is there has been almost no effort put into the interface graphics, we just used whatever we could scrap. Noone here knows how to Gimp/Photoshop like in WMAC.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 06:04:52 PM
Well that just lets us focus on the more important stuff for now, BTW do any of you have an example meetscript I could use as a framework, would make things a hell of a lot quicker.
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 06:12:03 PM
After you got everything set up and played our pre-alpha version a little bit and actually took a look at what girlsmeets look like in PyTFall (SimBro 1x clone and very different from WM), take a look at labels - girlsmeets.rpy (or something similar) in the library/screen folder. Don't be overwhelmed by the code, it's actually VERY simple and after you glanced through it, I'll explain what's what.

Play the game a little bit first, you'll see how they work. Then read the code, you'll prolly have some question (unless you know how to program in any PL). It's actually a lot simpler than it looks at first.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 06:16:23 PM
Will do, looking through that file now, would meetscripts for specific characters be the same or lain out differently?
Title: Re: General Discussion
Post by: Xela on January 31, 2014, 06:20:59 PM
Will do, looking through that file now, would meetscripts for specific characters be the same or lain out differently?

Exactly the same. Only here you must use stuff like "[chr.name]" in strings and use trait checks to determine personality. Since personality and name of any unique character is known, there is no need for checking those. (So unique characters are basically simpler).

We need to get girlsmeets done first... unique characters afterwards <-- this shouldn't even be handled by dev team, it's for modders. We'll never get this to Alpha if we try to cover everyone.
Title: Re: General Discussion
Post by: BlackWolf Inc. on January 31, 2014, 08:21:04 PM
this shouldn't even be handled by dev team, it's for modders. We'll never get this to Alpha if we try to cover everyone.
Good point, my bad i'll get to work on improving the meetscript asap then.
Title: Re: General Discussion
Post by: DarkTl on February 01, 2014, 02:47:28 AM
Oki. By the way, we'll be equipping Attack skillz with items so we now need a cannon item... (Dark)? :P
I'm thinking about releasing an optional hi-tech pack after the release at some point, with cannons, plasma weapons and stuff  ;)
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 05:47:16 AM
I'm thinking about releasing an optional hi-tech pack after the release at some point, with cannons, plasma weapons and stuff  ;)

Kewl :)

I went on way into the night yesterday, event system seems to be coming along nicely :) Just couple more tweaks and place it in the game and we're golden. Will prolly have to be improved and expanded at some point, I recoded simplified beggar event as well.

PS: In MyCuteSlave, if MC doesn't shag something for a couple of days, he dies. We could do something similar, like he'd get stat penalties or less AP etc...
Title: Re: General Discussion
Post by: DarkTl on February 01, 2014, 06:07:59 AM
Lol, how cruel  :)
Guess we could add penalty effect, maybe for both MC and girls, if they have max libido for several days in a row.
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 06:33:03 AM
Doesn't make any sense to me... If someone have a nymphomaniac trait, then ok, but why should normal person get a penalty?
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 06:38:56 AM
Lol, how cruel  :)
Guess we could add penalty effect, maybe for both MC and girls, if they have max libido for several days in a row.

Doesn't make any sense to me... If someone have a nymphomaniac trait, then ok, but why should normal person get a penalty?

Agreed, MC has a condition called HornPerv, very dangerous but not contagious, this would make less sense for the girls, fancy girls might be given the similar effect, low libido=poor job performance.

This is just throwing ideas around to make game interesting (seem like a game, not just code)...
Title: Re: General Discussion
Post by: DarkTl on February 01, 2014, 07:00:18 AM
First of all, girls shouldn't have max libido for several days under normal circumstances, because every pack has mast pics, if you know what I mean.
It's either drugs of some kind, nymphomaniac trait or maybe prohibition on self-pleasure during slave training (like in slave maker).
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 07:19:25 AM
First of all, girls shouldn't have max libido for several days under normal circumstances, because every pack has mast pics, if you know what I mean.
It's either drugs of some kind, nymphomaniac trait

Yeah, I should add something like this before the Alpha...
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 07:37:10 AM
I personally don't really favor this "hunger for sex" libido concept...
I would prefer if libido meant the amount of customers a girl can service, before she becomes "oversexed" and unhappy. (a normal solid stat)
But whatever....
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 07:43:07 AM
I personally don't really favor this "hunger for sex" libido concept...
I would prefer if libido meant the amount of customers a girl can service, before she becomes "oversexed" and unhappy. (a normal solid stat)
But whatever....

And for non prostitute types?
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 08:30:34 AM
And for non prostitute types?
Libido is currently listed under prof stats, so it could be just useless for a warrior as other skills there, like striptease. (at least unless we add something like "teasing fighter show" as a job  :) )
========EDIT======
But Ok, I gave it a serious thought and this is my option:I think that Libido could work little like fatigue stat. It should increase over time (at the end of a day), but not over it's maximum. But this maximum will be different for each girl (like 0=frigid, 40=normal, 100=total nympho). Each sex act will decrease it's momentary value, and if that would cause lovering libido under zero, a girl will get a performance/happines hit. If libido is at it's maximum for few days (unsatisfied girl) then something like you described should happen, but depending on how hight the maximum is. Normal girl with max. libido 40 may be more willing to have sex, but nothing else will visibly happen, with max. 70 may waste her AP masturbating and with 100 she'll jump the first thing she sees. 
Why: libido is in some games, and I just found it annoying that your sweet innocent (or noble and refined) girl turned into a sex maniac just because her libido increased over time. It's fun if you caused that (training or drugs) or if she is like that from the begining, but not if it's just happening to everyone because of the system.
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 09:07:56 AM
Libido is currently listed under prof stats, so it could be just useless for a warrior as other skills there, like striptease. (at least unless we add something like "teasing fighter show" as a job  :) )
========EDIT======
But Ok, I gave it a serious thought and this is my option:
I think that Libido could work little like fatigue stat. It should increase over time (at the end of a day), but not over it's maximum. But this maximum will be different for each girl (like 0=frigid, 40=normal, 100=total nympho). Each sex act will decrease it's momentary value, and if that would cause lovering libido under zero, a girl will get a performance/happines hit. If libido is at it's maximum for few days (unsatisfied girl) then something like you described should happen, but depending on how hight the maximum is. Normal girl with max. libido 40 may be more willing to have sex, but nothing else will visibly happen, with max. 70 may waste her AP masturbating and with 100 she'll jump the first thing she sees. 


Why: libido is in some games, and I just found it annoying that your sweet innocent (or noble and refined) girl turned into a sex maniac just because her libido increased over time. It's fun if you caused that (training or drugs) or if she is like that from the begining, but not if it's just happening to everyone because of the system.

Ok, I'll think about how that can be implemented. For now, still working the last kinks out of the events system, I'll get your updates and push after that's done.
Title: Re: General Discussion
Post by: DarkTl on February 01, 2014, 09:17:50 AM
Normal girl with max. libido 40 may be more willing to have sex, but nothing else will visibly happen, with max. 70 may waste her AP masturbating and with 100 she'll jump the first thing she sees.
I like the idea, actually. The more max libido is, the less is self-control.
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 09:38:08 AM
I like the idea, actually. The more max libido is, the less is self-control.
But I'm wondering if it not too complicated and unintuitive to do it all within libido stat. Something else may be better...


----------
If a girl have a high disposition towards MC she should probably seek his "help" first.
And also because most les pic are happening between girl from same series, someday later if we decide to have relationships, maybe use some help from a friendly co-worker  :) 
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 09:47:56 AM
But I'm wondering if it not too complicated and unintuitive to do it all within libido stat. Something else may be better...


----------
If a girl have a high disposition towards MC she should probably seek his "help" first.
And also because most les pic are happening between girl from same series, someday later if we decide to have relationships, maybe use some help from a friendly co-worker  :)

Both the amounts of traits and stats that we have today are a nightmare to work with...
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 09:57:14 AM
And pushed:

- Set Firearrow to kill almost any opponent for testing winning conditions in BE.
- Added an option to specify multiple attack sounds in Attack skill of BE.
single string = one sound
list of pathnames = randomly chozen sound
- Added Execute class to be used in screen language to call callables.
- Added event manager with lots of simple and complex options.
- Rescaled Arena post-combat screen and set stats animaion to fade as well as move.

Not sure what to do next... simple Hero setup screen or some events or the beach... or anything left in TODO lists or the libido thing :)
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 10:12:39 AM
I looked at the new girlmeets hiring - seems good.
I was actually thinking about setting the required disposition in girl data files, because one of the ideas we talked about earlier was to allow changing occupations and for that we would probably need to set up what is allowed and what isn't (=no good pics for that) here anyway.
But that probably wouldn't be compatible with the "girls life" system you have planned post alpha.


but wow, so many changes  :) I'll need a while to look at that...
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 10:13:58 AM
Hey all. In regards to the whole libido thing, I could have a look at writing up something after meetscripts if you want me to give that a go?
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 10:21:11 AM
I looked at the new girlmeets hiring - seems good.
I was actually thinking about setting the required disposition in girl data files, because one of the ideas we talked about earlier was to allow changing occupations and for that we would probably need to set up what is allowed and what isn't (=no good pics for that) here anyway.
But that probably wouldn't be compatible with the "girls life" system you have planned post alpha.


but wow, so many changes  :) I'll need a while to look at that...

I think you'll find the new Events system simpler to use as it doesn't require messing with python classes while offering an insane amount of options, needs a lot of testing obviously.

It will be compatible. We'll add changing occupation even for the Alpha, it's very easy since it's basically just a string.

Hey all. In regards to the whole libido thing, I could have a look at writing up something after meetscripts if you want me to give that a go?

Meetscripts will take a while, also, there are interaction scripts that are more important. Libido is basically code, it only requires some responses during the next day and maybe some events.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 10:26:22 AM
Meetscripts will take a while, also, there are interaction scripts that are more important. Libido is basically code, it only requires some responses during the next day and maybe some events.
Okay, just running a quick spellcheck through the girlsmeet script first
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 10:33:47 AM
@Xela: You deleted me this:
Code: [Select]
-        if kayo_music_on:
-            stop music fadeout 1.5
-            $kayo_music_on = False
We didn't talked about music yet, but I believe that if there will be background music in the city, It shouldn't stop and change every time you enter or left a shop.  So the purpose of this was to stop the music only if I started it, and not if something else is played.


I will comment my stuff better, I promise  :)
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 11:00:29 AM
@Xela: You deleted me this:
Code: [Select]
-        if kayo_music_on:
-            stop music fadeout 1.5
-            $kayo_music_on = False
We didn't talked about music yet, but I believe that if there will be background music in the city, It shouldn't stop and change every time you enter or left a shop.  So the purpose of this was to stop the music only if I started it, and not if something else is played.


I will comment my stuff better, I promise  :)

I doubt that anyone will linger in the city for long, if an event starts, it can add it's own music. Game shouldn't be changing music all the time. It would make more sense to add sound effect to a different channel, like a bell on entry to any shop or crowd on entry to main street or brids/some random sounds on entry to citymap but music should play whereever people linger, so in shops, during girlsmeets (maybe in the future with sounds again), in the arena and so on.

I'm gonna stretch my legs and then see if I can add a beach today, also we need a proper pic for main square (or whereever tifas quest used to start), if anyone can find better pics for other locations as well, post some thumbnails please.
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 11:10:42 AM
I'm gonna stretch my legs and then see if I can add a beach today, also we need a proper pic for main square (or whereever tifas quest used to start), if anyone can find better pics for other locations as well, post some thumbnails please.
Have you looked into My/DarkTl's/(that one on torrent) BG folders? If we should post from there too, or just new ones from the net.
Title: Re: General Discussion
Post by: DarkTl on February 01, 2014, 11:11:00 AM
like a bell on entry to any shop or crowd on entry to main street or brids/some random sounds on entry to citymap but music should play whereever people linger
That reminds me, I have many such sounds in my db already.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 11:22:55 AM
I wonder, would it be more practical to seperate meetscripts into different locations seeing as we have control over that, or should I try and keep it as one file?
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 11:27:29 AM
I wonder, would it be more practical to seperate meetscripts into different locations seeing as we have control over that, or should I try and keep it as one file?

Whatever makes work easier, but none of the labels that I recall were that big. File is still of an acceptable size.
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 11:30:05 AM
Have you looked into My/DarkTl's/(that one on torrent) BG folders? If we should post from there too, or just new ones from the net.

I meant to ask if you guys had any ideas, not where I could find a couple of thousand pics to go through :) If not, we'll stick with what we have until an option that is obviously better presents itself.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 11:37:53 AM
Whatever makes work easier, but none of the labels that I recall were that big. File is still of an acceptable size.
True, but it does have some of the option missing, plus it will only get larger in future so it will probably be more practical to split it now, also it would make adding meetscripts to new areas easier I guess.
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 11:49:17 AM
True, but it does have some of the option missing, plus it will only get larger in future so it will probably be more practical to split it now, also it would make adding meetscripts to new areas easier I guess.

It'll be a while until we actually start making girlsmeets based on the area and even then, it should not be more than one specific menu, not the whole thing.

It might make some sense to add greeting based on locations, but even that is an overkill for an Alpha. Right now the objective is to fill all the options that we can fill and I'll disabled date/gift menu until we come with a concept and have more time. For now: Traits/Occupations/Disposition checks and texts will be enough.

PS: Do you manage to find your way around the code?
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 11:53:01 AM
More or less yeah, fortunatly its not my first time looking through python so I can atleast understand it.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 12:05:59 PM
I've noticed that every instance of optimistic checks for lolita as well as in "elif "Optimist" in  chr.traits and "Lolita" in chr.traits", which implies that all optimists are also lolitas or vice versa.
So should I change these to "or" instead so that their used with one or the other and not just both in conjunction?
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 12:15:52 PM
I've noticed that every instance of optimistic checks for lolita as well as in "elif "Optimist" in  chr.traits and "Lolita" in chr.traits", which implies that all optimists are also lolitas or vice versa.
So should I change these to "or" instead so that their used with one or the other and not just both in conjunction?
I wrote condition 
Code: [Select]
elif "Optimist" in  chr.traits and "Lolita" in chr.traits:that means that these lines will be shown only if the character have both Optimist and Lolita. (=something close to cheerful little sis archetype)
If you want to add lines for Optimist or Lolita characters, these should be put under this one, so Optimist+Lolita combination is checked first.
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 12:19:57 PM
I've noticed that every instance of optimistic checks for lolita as well as in "elif "Optimist" in  chr.traits and "Lolita" in chr.traits", which implies that all optimists are also lolitas or vice versa.
So should I change these to "or" instead so that their used with one or the other and not just both in conjunction?

It's CWs work so I would just leave it along unless you want to add more options or see mistakes.

Note:

- The language you see there is Ren'Py script, only:

$ ...

and

python:
...

is actually python code.

Since than I've added some new option as described in the beginning of the file, such as:

ct("Optimist", "Lolita") will check if the girl has either of those traits. rc("", "", "") will cause a girl to randomly pick one of the replies, co() will check if girl has any of the occupations and d(100) will check if a girl has disposition above 100.

All of that is python so you'll have to put $ in-front unless it's after if (like if ct("Optimist", "Lolita"): bla bla bla)

You do not have to concider all girls with Lolita trait optimists and vice-versa, just go with your gut. You'll get notification if label you want to work with off the menu doesn't exist, you can just create that label. That's more or less it, just ifs, dices, texts and so on :)
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 12:36:15 PM
@Xela Right, thanks for clearing everything up, so its alright to shorten the old lines with your new command option for them?

@CW Gotcha, I'll add seperate lines for them.
===
Are there any traits in particular I should focus  on adding lines for in either of your opinions?

Edit: I forgot to add that the example I used had a # before it and no actual text so I wondered if it was a WIP
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 12:37:56 PM
 Don't know about the added ones, but in what I wrote, there are two systems:

More advanced one in "about her" question that select answer randomly from all conditions that fits (it's creating a list)
and simple "if" order of traits for everything else that goes as:
mind fuck>shy>impersonal>well-manered>egocentric>optimist+lolita>mature>strict morals>tomboy>famous

The idea behind it was that girl who has more "personality" traits will use the more expressive one, and not the others (so if a girl has good manners, she will not use any "buddy" lines, even if she's tomboyish by nature). It's not very good, but didn't come with a better way to do that at that time.

 
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 12:43:55 PM
Yeah that makes sense, like no matter how tomboyish ect. you are, if you don't like talking to people your gonna say as little as possible.
And it would take me all year and then some to cover every trait combo we have (I'm not going that far so don't worry :D )
Perhaps it would be worth 'charting out' the trait order for these things hmm..
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 12:49:50 PM
@Xela Right, thanks for clearing everything up, so its alright to shorten the old lines with your new command option for them?

Are there any traits in particular I should focus  on adding lines for in either of your opinions?

1) Yes, but ask CW if he is ok with that for his lines (those are usually longer, better thought through and more numerous). He wasn't particularly happy with my helper functions. You can do anything you like with my lines, delete, rewrite, add to them etc.

2) Occupations and character/mind specific traits are more important. Like I've said, just go with your gut, I wouldn't know what to write for a good half of traits during girlsmeets.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 12:55:02 PM
You can do it in your own way of course, I don't think I will be adding something there for a while.
Haha, ok just wanted to run it past you first. Your stuff is actually very well done and really well layed out, makes my job a hell of alot easier.
Like I've said, just go with your gut, I wouldn't know what to write for a good half of traits during girlsmeets.
I'll do that then, Just wanted to make sure were all on the same page with this you know, Still got some catching up to do.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 12:59:59 PM
The more I think about it now, the better I think it is that the player doesn't say anything, otherwise with my writing practically everything he says could end up as sarcasm ???
Title: Re: General Discussion
Post by: DarkTl on February 01, 2014, 01:04:37 PM
I guess he should have general lines, like "agree" and "disagree" during a question, or "ask her about X" during a conversation.
Title: Re: General Discussion
Post by: CherryWood on February 01, 2014, 01:06:12 PM
Edit: I forgot to add that the example I used had a # before it and no actual text so I wondered if it was a WIP
Missed this one>

Lines that I commented out with # are probably lines that doesn't have enough answers. It would be too repetitive, so it was better to leave them out and use normal ones.
-----------------
You can do anything with my part too, of course.
I had lines first (ripped out of artificial girl 3 game) and I was figuring how to use them, so that's why it may not make much sense sometimes (like some categories missing, or why we have some secondary traits covered and not the most common ones)
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 01:32:31 PM
I guess he should have general lines, like "agree" and "disagree" during a question, or "ask her about X" during a conversation.
Good point, I have to agree with you there, after all we do want the MC to feel like their part of the game.

Lines that I commented out with # are probably lines that doesn't have enough answers. It would be too repetitive, so it was better to leave them out and use normal ones.
I'll see if I can't come up with something to fill in those holes then

You can do anything with my part too, of course.
I had lines first (ripped out of artificial girl 3 game) and I was figuring how to use them, so that's why it may not make much sense sometimes (like some categories missing, or why we have some secondary traits covered and not the most common ones)
No problems here, and no need to worry in regards to the coverage. THat is why I'm here I believe ???
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 02:08:13 PM
What a perfect range in days for girls to stick to the same location? I am rewriting girlsmeets class (that will not effect your work) to be more flexible and less consuming on expansion. Also are there any requests for sorting other than to trying to get 1 girl with highest disposition and give priority to unique character over random once?
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 02:18:52 PM
I would say maybe 3-4 days max? long enough to have a chance of finding them but short enough to be realistic I'd say

===
I know now that the whole optimist + lolita is a sort of little sister archetype but every time I try to think up more lines for it all I can hear is Navi in my head going "HEY, LISTEN" :D
Title: Re: General Discussion
Post by: DarkTl on February 01, 2014, 02:42:29 PM
I wonder if some traits should affect where you can find them. Like Always Hungry near or inside cafe or something.

Also, theoretically, higher charisma and libido should affect meetings as well, if disposition is the same.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 03:00:38 PM
It's true that charisma doesn't actually do much atm and it's not used in meetscripts at all.
Which actually leads me on to a question of my own, do you think i should make compliments have a higher success rate with egocentric people  seeing as they do love being complimented and all.
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 03:34:10 PM
It's true that charisma doesn't actually do much atm and it's not used in meetscripts at all.
Which actually leads me on to a question of my own, do you think i should make compliments have a higher success rate with egocentric people  seeing as they do love being complimented and all.

Yeap, why not...

We might have to add some form of a wrapper to calculate disposition based on difference between hero and girl, but the system can be simple for now.

Otherwise: FY(&(UIYHUGOBI Son of a $**%(, just wasted two hours because of a spelling error...
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 03:45:25 PM
Try Hitting it with a hammer, works for me...

In other news: finally finished my grammar check, next will be replacing the old functions with the new shorter ones

Edit -
Otherwise: FY(&(UIYHUGOBI Son of a $**%(, just wasted two hours because of a spelling error...
??? That may just be the single greatest exasperation in the history of the internet ???
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 03:57:00 PM
in regards to the new function replacement I'm doing :
disposition checks should be changed from-

if chr.disposition > 50
to

if d (50)

correct?
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 05:00:53 PM
in regards to the new function replacement I'm doing :
disposition checks should be changed from-

if chr.disposition > 50
to

if d (50)

correct?

Yeap, that looks about right, just not less than sign.

We have a beach (no cafe yet) and the new girlsmeets logic makes it a lot easier to fill new locations with girls (now it's one line of code in the label instead of about 60 line all over the place before) :)
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 05:02:22 PM
Ok thanks, I'll get on modifying all the instances to make everything easier to read

Edit -
In regards to rc and ct functions, I assume that the variables (lines/traits) go within the brackets correct?
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 05:49:35 PM
Edit -
In regards to rc and ct functions, I assume that the variables (lines/traits) go within the brackets correct?

Yeah, there are plenty of example in the file.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 05:59:03 PM
Sorry for throwing so many questions at you :( , I just prefer getting rid of problems by not having them to start of with.
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 06:07:19 PM
Sorry for throwing so many questions at you :( , I just prefer getting rid of problems by not having them to start of with.

That's the correct approach :)

Beach is ready, I've also temporarily enabled arena girls showing up in girlsmeets to get more original characters. I want to improve the look of frames surrounding names of locations on city map now and than push.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 06:22:37 PM
Sounds good to me, so how does the beach work atm. Is it just one section or can you move up and down it?
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 06:35:55 PM
Sounds good to me, so how does the beach work atm. Is it just one section or can you move up and down it?

I just pushed. CW got us some pics for the main beach, rocky beach to the right and beach with cafe to the left. Cafe is also there. Other... it's all rather empty but most girls in girlsmeets will be wearing bikinis :)

- Added resize argument to maps.xml
- Added Beach location
- Refactored Girlsmeets logic code
- Temporarily enabled arena girls to take part in girlsmeets
- Girlsmeets will now use imagecache, it was wierd when girls in bikinis switched to armor or coat while talking to MC
- Slightly improved frames over location text in main street and city
- Added some convinient imports
- Updated all girlsmeets screens to new logic
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 01, 2014, 07:06:30 PM
Awesome, shall I keep going with what i'm doing or do you want the grammar checked version?
Title: Re: General Discussion
Post by: Xela on February 01, 2014, 07:37:20 PM
Awesome, shall I keep going with what i'm doing or do you want the grammar checked version?

Just keep at, I'll take a look once you add something new.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2014, 01:38:36 AM
Added new effects, fixed typos in traits xml.

While testing beach, I randomly met slime rmg there. So now I wonder if girls with not human trait should dwell in remote, natural locations, like forest or beach, while human girls should be in the park or at central street.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 02:46:02 AM
Added new effects, fixed typos in traits xml.

While testing beach, I randomly met slime rmg there. So now I wonder if girls with not human trait should dwell in remote, natural locations, like forest or beach, while human girls should be in the park or at central street.

I agree, just tell me what to do (Beach = exclude traits: ..., preferred traits: ...). With my re-factored sorting, it'll be easy to fix up.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2014, 04:58:24 AM
Let's see, Beach is good for Athletic, Tomboy, Not Human; bad for Shy, Sensitive, both scars traits.

Dark Forest (I believe we should use it for meetings too, not just for the Hut) is good for Not Human, Adventurer, Alien, bad for Kleptomaniac, Edgy, Noble.

Arena is good for Hyperactive, Combat Training, Aggressive, bad for Meek, Kind, Edgy.

Main street is good for Professional Maid, Kleptomaniac, Noble, bad for Not Human, Alien, Cat Girl, Artificial Body.

Park is good for Psychic, Impersonal, Cat Girl, bad for Hyperactive, Aggressive.

Curious should negate all traits, so you can meet curious characters anywhere no matter other traits.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 05:13:29 AM
Let's see, Beach is good for Athletic, Tomboy, Not Human; bad for Shy, Sensitive, both scars traits.

Dark Forest (I believe we should use it for meetings too, not just for the Hut) is good for Not Human, Adventurer, Alien, bad for Kleptomaniac, Edgy, Noble.

Arena is good for Hyperactive, Combat Training, Aggressive, bad for Meek, Kind, Edgy.

Main street is good for Professional Maid, Kleptomaniac, Noble, bad for Not Human, Alien, Cat Girl, Artificial Body.

Park is good for Psychic, Impersonal, Cat Girl, bad for Hyperactive, Aggressive.

Curious should negate all traits, so you can meet curious characters anywhere no matter other traits.

I don't remember Curious trait at all :(

Anyway, I just pushed two supersimple events for the beach (just random pics and texts are being displayed), fixed two huge errors in events manager and added a prototype for fire graphics (fade + rotate transformations apply). Only mars has it as it is forced by game but you can add it to anyone (add element field to girls xml and set it to "Fire 1")).

Arena is good for Warriors, screw traits, to much typing :)

I didn't add girlsmeets or events to the forest because it was to much code over three files, since yesterday it's one line in one file and copypasta of buttons, so it'll be no problem.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2014, 05:17:43 AM
It's one of Cherry's traits. You probably should check traits xml, or at least traits list.txt in my db as a short version. So far this trait didn't do anything special, guess it's a good start.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 05:44:33 AM
I assume that rules for sorting girls on traits are not absolute? If girls with traits cannot be found, any available girls are used?
Title: Re: General Discussion
Post by: DarkTl on February 02, 2014, 05:56:31 AM
Yup. Maybe except the arena, it's rather specific place.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 06:26:53 AM
Yup. Maybe except the arena, it's rather specific place.

Ok, but we'll add that after Alpha or even beta, sorting on so many conditions requires quite a bit of code.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 07:42:22 AM
I think I am done with sorting, it occurred to me that a while loop can be used, it all got a lot easier after that.

How it works:

Girls with conditioned traits and/or occupation always have priority!

1) First girl you get will be a girl you know well (to make sure player would not be forces into looking or waiting for a girl to show up again (with a few 100s of girls it can take a really long while)).

2) Will be a unique girl if available.

3) Will be absolutely random for as long as she is allowed to participate in girlmeets (traits/occ priority still applies here).

I think this is very sound... I am going to see if I can add a disposition bar to girlmeets now.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2014, 08:11:12 AM
I'd say cafe should be a separate location for meetings, not just shop only.
Title: Re: General Discussion
Post by: CherryWood on February 02, 2014, 09:05:00 AM
Fire element graphic looks good.
but I think this should be show not in "stats" tab but in "pro stats" under battle stats.
Also I believe that profile screen could use another tab next to these, "info" with girl full name, origin and description


=======
Transitions between city screens (with irisin) are much slower then the usual dissolve ones, could these be accelerated?
Title: Re: General Discussion
Post by: DarkTl on February 02, 2014, 09:53:52 AM
Guess we need some kind of neutral icon for characters without elemental affinity as well.

Took me awhile to figure out what qs and lq buttons do :)
You could use parts of save-load.dds file in my db\Agarest folder instead.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 10:13:05 AM
Fire element graphic looks good.
but I think this should be show not in "stats" tab but in "pro stats" under battle stats.
Also I believe that profile screen could use another tab next to these, "info" with girl full name, origin and description

Ok.

=======
Transitions between city screens (with irisin) are much slower then the usual dissolve ones, could these be accelerated?

It should be, I don't really remember. I'll take a look when I get a chance.

I'd say cafe should be a separate location for meetings, not just shop only.

We don't have any girlsmeets in shops yet, only outside.

Guess we need some kind of neutral icon for characters without elemental affinity as well.

Took me awhile to figure out what qs and lq buttons do :)
You could use parts of save-load.dds file in my db\Agarest folder instead.

We could simply not use any image for that. Or maybe some symbol of balance.

I don't wont to go far with screens either, Doesn't it say what those buttons do in tooltips whereever available?
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 11:31:43 AM
Also I believe that profile screen could use another tab next to these, "info" with girl full name, origin and description

I wonder if we should add "modder" and "version" fields as well, I've seen many game doing that.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2014, 11:44:52 AM
Or maybe some symbol of balance.
I'll try to find something decent tomorrow.

Doesn't it say what those buttons do in tooltips whereever available?
Yup, but I'm used to ignore tooltips, since many gui elements don't have them even now  :)

I wonder if we should add "modder" and "version" fields as well, I've seen many game doing that.
It will effectively break the fourth wall though, so I'm not sure about it.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 12:03:35 PM
Just pushed:

- Added sorting by traits to girlsmeets
- Fixed bad >= sing that prevented girls from staying at their locations
- Pretty much perfected ProportionalScale (as far as I can tell)
- Added traits we discussed for girlsmeets sorting
- Remodeled girlsmeets screen so picture could be bigger
- Added animated disposition bar to gm screen
- Moved elemental alignment to pro stats screen
- Added info subscreen to girls profile screen on CWs request

I'll try to find something decent tomorrow.

Oki :)

Yup, but I'm used to ignore tooltips, since many gui elements don't have them even now  :)

Yeah... I don't want to add tooltips to stats for example cause that seems to slow thing down significantly. Most people do that with imagemaps but we don't have an artist :( I could try to cook up a custom pop-up screen but since it would have to activate on hover as well, it is VERY unlikely to solve the issue.

It will effectively break the fourth wall though, so I'm not sure about it.

Didn't understand that.

===================
I'll see if I can add rest of elemental graphics to the game and assign one automatically until we sort things out.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2014, 12:13:59 PM
I guess you aren't familiar with Marvel's Deadpool character then, and didn't even play the recent game too?  :)
Breaking the fourth wall is when characters are know that they are in a game/show/whatever, or in our case, when every girl's tab is contain hints of RL, constantly reminding players about it.

As for tooltips, I proposed earlier to reprogram right mouse button and make it show tooltip for current gui element instead of main menu.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 01:04:54 PM
As for tooltips, I proposed earlier to reprogram right mouse button and make it show tooltip for current gui element instead of main menu.

Not before Beta, even if it's easy (I never looked into it) it is very likely that I'll have to rewrite every button in the game that already works with current tooltip. There is no point in that because 1) Artist might pop up at some point, 2) We don't really know what game element we'll have @ 1.0. By Beta, it will become clearer so even without artist, we can use whatever graphics we can find and make decent, thought through screens. I would not say thing look completely shitty right now but putting a lot of effort into gui now is very premature.

Stuff like alignment buttons is different because even after remodeling screens we'll still be using same pics and transforms.

PS: I don't think we actually require more than one alignment level for Alpha. It would require a lot of time to put magic and alignment into context, keeping it superficial is a better bet.
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 03:09:51 PM
- Added rest of alignment graphics to the game
- Updated Hero Profile screen with it
- Added tooltips to hero profile screen, slowed things down conciderably
- Game will randomy assign Elements to all girls until we sort thing out.

Another update. Last one for today I think. I'll doubt I have energy for anything else but I'll take a look at todo list.
Title: Re: General Discussion
Post by: CherryWood on February 02, 2014, 03:42:44 PM
whoa, so many updates in such little time  :)
--------------
I thinking about making a "lite" versions of some girlpacks (=instead of 300 images I put in just 40). I would like to have some more girls available for few events I have in mind, but the high possibility that we will need to retag them again soon seriously scares me.
Is that acceptable, or you would rather have only completed stuff around?
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 03:45:41 PM
I thinking about making a "lite" versions of some girlpacks (=instead of 300 images I put in just 40). I would like to have some more girls available for few events I have in mind, but the high possibility that we will need to retag them again seriously scares me.
Is that acceptable, or you would rather have only completed stuff around?

That's how I originally planned it, you and dark were the once who shut that idea down :)
Title: Re: General Discussion
Post by: CherryWood on February 02, 2014, 04:20:36 PM
That's how I originally planned it, you and dark were the once who shut that idea down :)
True enough  :D 
---------------------
I'd like to make something special for Hatsune Miku, because she's the girl with the most and best pictures around and all...
So I'm thinking about a quest, where you can "build" her if you:
- have her body
- found the box with vocaloid software
- make a deal with a scientist and escort him to a place where he can revive her
with a little dark opportunity to upload a somewhat altered software in  ;D


But because I don't think I'm able to make it interesting with my poor writing just through text and menu choices alone, I would like to combine it with some normal gameplay (like exploration, or satisfied customer...).
So If you don't find the whole idea stupid, may I ask what do you thing would be a good task for MC to do?
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 04:45:39 PM
So If you don't find the whole idea stupid

Not at all, this is why we're using Ren'Py, easy storytelling.

may I ask what do you thing would be a good task for MC to do?

Go through the quest? If you're asking me for ideas, I cannot help you since I have 0 knowledge about the series. If you need more than the event system/girlsmeets can provide, let me know. Also if you require conditioning or sorting beyond your knowledge of game/python.
Title: Re: General Discussion
Post by: CherryWood on February 02, 2014, 05:04:28 PM
Go through the quest? If you're asking me for ideas, I cannot help you since I have 0 knowledge about the series. If you need more than the event system/girlsmeets can provide, let me know. Also if you require conditioning or sorting beyond your knowledge of game/python.
sorry, I meant it a little differently. It can be in general terms (forget vocaloids). For example, earlier you talked about that we could place some NPC that would request items. So what I'm wondering about is, what would be a good task (=challenge) for player to get this items.
Only asking if, by chance, you or someone have something in mind already (collecting ideas).


----------------------------
I looked for some location bgs, there are some nice ones I think, but it's hard to decide about the style when we have not yet decided about the main city map pic. And sadly, I don't have anything good for that...


---------------------------
Some girl have really nice collection of expressions - http://img24.eu/images/14jlx9b7.jpg (http://img24.eu/images/14jlx9b7.jpg)
If there was a need for tutorial girl, she would be my candidate  :) 


---------------------------
Maybe we could use some achievents in future. Like "earn a milion","collect ten lolis","rot in a prison","catch all social diseases at once" etc...
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 02, 2014, 06:11:04 PM
Hey guys, I apologize for the absence all day but I had a gig so been gone most of the day.
Now i'm back i can get back to work hurray :D
Title: Re: General Discussion
Post by: Xela on February 02, 2014, 09:20:11 PM
sorry, I meant it a little differently. It can be in general terms (forget vocaloids). For example, earlier you talked about that we could place some NPC that would request items. So what I'm wondering about is, what would be a good task (=challenge) for player to get this items.
Only asking if, by chance, you or someone have something in mind already (collecting ideas).

Before slavetraining or exploration, our options are somewhat limited:

Examples of quests you could make using events system/renpy script, some might require more "intimate" knowledge of game mechanics:

1) Some NPC tells you he/she lost something at the beach.
2) We have 4 beach locations, your randomly pick one and start a quest with purpose of finding it at dice(20), so 5x per location with 4 locations, player would have to look 20 times and possibly more.
3) Bring the item back and get a girl or a decent item.
----------------------------

1) NPC requests a girl with specific traits/stats/occupation.
2) You find/train/bring
3) You get a reward
----------------------------

1) After getting disposition high enough, girl comes to you and tells you that she has a unique ability but it needs to be unlocked, but you'd have to fuck her twice during a fool moon on the beach, near the mountain (reminds me, I need to revive moon calendar), it's counting but we don't display it anywhere...
2) You do the deeds, she gets a spell or a some unique trait you can make just for her.
----------------------------

1) Some NPC got beaten up by some dude/gall in the arena, she/he asks you to beat the crap out of him/her in-front of the whole city (arena match).
2) Get some cash as an extra reward.
---------------------------

1) Find a specific combination of items and deliver.
2) Reward = girl or more cash than the items are worth, or something unique/rare.
---------------------------

I can go on for a very long while like this, quests where you just relay messages or sh!t between places and people or find specific girls or go somewhere on a specific day are limitless with renpy and very simple to code in (as yo would write them basically in plain text (renpy script))... It's all about getting in sync with the game. I would like to add a Quest manager as well at some point...

Also "deep" NPCs, the one who may have effect on world or mechanics and offer a good amount of conversations are also interesting.

----------------------------
I looked for some location bgs, there are some nice ones I think, but it's hard to decide about the style when we have not yet decided about the main city map pic. And sadly, I don't have anything good for that...

Yeap, our city is far from perfect :(


---------------------------
Some girl have really nice collection of expressions - http://img24.eu/images/14jlx9b7.jpg (http://img24.eu/images/14jlx9b7.jpg)
If there was a need for tutorial girl, she would be my candidate  :) 

Yeap again, I used to have a lot of expressions from visual novels but lost them with one of my drives and sill haven't downloaded them again.

This one is pretty decent if it can be cleaned up properly, but somehow I imagined Disgaea girls to do the intro. We'll live and see.

---------------------------
Maybe we could use some achievents in future. Like "earn a milion","collect ten lolis","rot in a prison","catch all social diseases at once" etc...

Yeah, get #1 spot in the arena in 1v1, 2v2, 3v3 all three of them, beat dogfights 100 times, unlock all mobs, get 50 unique girls, get 100, get 10, 30, 50 whores of rank 5,6,7 and so on. Most of it is really easy to code but I would like some decent icons for the achievement (maybe not per achievement, but like medals on the complexity scale) and prolly for beta.

Hey guys, I apologize for the absence all day but I had a gig so been gone most of the day.
Now i'm back i can get back to work hurray :D

WB!


===================
Otherwise, I couldn't sleep so I cooked us up a decent slave market (old one was dreadful), removed useless central plaza and placed slavemarket on the map (events enabled but without girlsmeets) on it's place. Arena now has it's own icon :)
Push:
- Added SM to the map
- Fixed broken image cache in girls class
- Removed image cache from SM (Might not have been wise, but I have a brillant idea on how to improve cache in the girls class)
- Auto-loading of backfrounds as png files is in.
- Comletely remodelled slave market
- Added slave club location, only covered with event manager so far...
Title: Re: General Discussion
Post by: DarkTl on February 03, 2014, 12:34:27 AM
PS: I don't think we actually require more than one alignment level for Alpha. It would require a lot of time to put magic and alignment into context, keeping it superficial is a better bet.
That was the plan from a start. We still need to decide if it would be possible to have opposite alignments at the same time.

That's how I originally planned it, you and dark were the once who shut that idea down :)
Huh. (http://www.quickmeme.com/img/08/08ef803fd3d20cabbce6e92ded08609800ebfbc1a0f24581106bfd6d4e728cc9.jpg)

- have her body
- found the box with vocaloid software
- make a deal with a scientist and escort him to a place where he can revive her
with a little dark opportunity to upload a somewhat altered software in  ;D
Yup, I have similar ideas for androids from my packs, but without EE it would be difficult to implement properly.
Title: Re: General Discussion
Post by: Xela on February 03, 2014, 03:02:21 AM
That was the plan from a start. We still need to decide if it would be possible to have opposite alignments at the same time.

Oki, one alignment per character for now. Opposite? I wouldn't want them to be allowed to have any two alignments at the same time, unless they make up some unique new element.

Code: [Select]
raise Error, list(itertools.combinations(nature_elements, 2))

 [('Fire 1', 'Fire 2'), ('Fire 1', 'Water 1'), ('Fire 1', 'Water 2'), ('Fire 1', 'Earth 1'), ('Fire 1', 'Earth 2'), ('Fire 1', 'Darkness 1'), ('Fire 1', 'Darkness 2'), ('Fire 1', 'Light 1'), ('Fire 1', 'Light 2'), ('Fire 1', 'Air 1'), ('Fire 1', 'Air 2'), ('Fire 2', 'Water 1'), ('Fire 2', 'Water 2'), ('Fire 2', 'Earth 1'), ('Fire 2', 'Earth 2'), ('Fire 2', 'Darkness 1'), ('Fire 2', 'Darkness 2'), ('Fire 2', 'Light 1'), ('Fire 2', 'Light 2'), ('Fire 2', 'Air 1'), ('Fire 2', 'Air 2'), ('Water 1', 'Water 2'), ('Water 1', 'Earth 1'), ('Water 1', 'Earth 2'), ('Water 1', 'Darkness 1'), ('Water 1', 'Darkness 2'), ('Water 1', 'Light 1'), ('Water 1', 'Light 2'), ('Water 1', 'Air 1'), ('Water 1', 'Air 2'), ('Water 2', 'Earth 1'), ('Water 2', 'Earth 2'), ('Water 2', 'Darkness 1'), ('Water 2', 'Darkness 2'), ('Water 2', 'Light 1'), ('Water 2', 'Light 2'), ('Water 2', 'Air 1'), ('Water 2', 'Air 2'), ('Earth 1', 'Earth 2'), ('Earth 1', 'Darkness 1'), ('Earth 1', 'Darkness 2'), ('Earth 1', 'Light 1'), ('Earth 1', 'Light 2'), ('Earth 1', 'Air 1'), ('Earth 1', 'Air 2'), ('Earth 2', 'Darkness 1'), ('Earth 2', 'Darkness 2'), ('Earth 2', 'Light 1'), ('Earth 2', 'Light 2'), ('Earth 2', 'Air 1'), ('Earth 2', 'Air 2'), ('Darkness 1', 'Darkness 2'), ('Darkness 1', 'Light 1'), ('Darkness 1', 'Light 2'), ('Darkness 1', 'Air 1'), ('Darkness 1', 'Air 2'), ('Darkness 2', 'Light 1'), ('Darkness 2', 'Light 2'), ('Darkness 2', 'Air 1'), ('Darkness 2', 'Air 2'), ('Light 1', 'Light 2'), ('Light 1', 'Air 1'), ('Light 1', 'Air 2'), ('Light 2', 'Air 1'), ('Light 2', 'Air 2'), ('Air 1', 'Air 2')]

Fire 1 + 2 = Fire 3... it's to much work putting all of this in context.


=======================
Huh. (http://www.quickmeme.com/img/08/08ef803fd3d20cabbce6e92ded08609800ebfbc1a0f24581106bfd6d4e728cc9.jpg)

We don't have any human rgirls... Also I am thinking we should prolly make packs with 3 - 4 pics best pics per category.

Leaving aside the discussion about different tastes for different people, all pictures in my packs are already  best from my perspective, without any significant flaws. If you or anyone else don't have enough space on hdd, just delete those you personally don't like  :)

my thoughts exactly, sorry xela! :-)


========================
Yup, I have similar ideas for androids from my packs, but without EE it would be difficult to implement properly.

EE = ?

NM, Just figured it out. Didn't get enough sleep tonight :(
Title: Re: General Discussion
Post by: DarkTl on February 03, 2014, 03:12:55 AM
Opposite? I wouldn't want them to be allowed to have any two alignments at the same time, unless they make up some unique new element.
I thought about combinations like fire and earth (=lava spells), or light and air (=lighting spells), but I'm not sure about combinations like light and darkness, it even sounds strange. On the other hand, in Naruto they have opposite elements AND some characters can use any combinations, making uber technics.
Title: Re: General Discussion
Post by: Xela on February 03, 2014, 04:06:48 AM
I thought about combinations like fire and earth (=lava spells), or light and air (=lighting spells), but I'm not sure about combinations like light and darkness, it even sounds strange. On the other hand, in Naruto they have opposite elements AND some characters can use any combinations, making uber technics.

Context... we cannot handle a complex system right now.

- Written content: We still have girlsmeets, interactions and some events left.

- BE improvements: (I want to add 6 alignments) + look into adding critical hits.

- Acts, Jobs, Customers.

- MC: (Training locations) + (VERY simple starting screen)

- Packs content: See if Crazy mod packs can be used in PyTFall.

Maybe:
- Quests.
- Adding our simple exploration.
========================

I'll see if I can look into packs today...
Title: Re: General Discussion
Post by: DarkTl on February 03, 2014, 04:30:40 AM
No-no, I don't mean right now, I mean in the future. For alpha 1 element is more than enough, and for beta we could add optional second element.
Title: Re: General Discussion
Post by: CherryWood on February 03, 2014, 04:51:41 AM
@Xela: Please, you must tell me, how did you create a menu for that arena girl Xeona? I'm looking at the code, but I don't get it. How you do, that if you select one question, you get back to the same menu to select another or the same one, all within one label? Without jumps anywhere in the choices?
Renpy tutorial is only telling me to do it like this:
Code: [Select]
    $ test_once_1 = False
    $ jump("test_menu_1")
label test_menu_1:
    menu:
        "question 1 repeatable":
            "answer 1"
            $ jump("test_menu_1")
        "question 2 only once" if not test_once_1:
            $ test_once_1 = True
            "answer 2"
            $ jump("test_menu_1")
        "leave":
            pass
   
    $ del test_once_1
    "and continue"
and that doesn't look as good as yours
Title: Re: General Discussion
Post by: Xela on February 03, 2014, 05:06:46 AM
@Xela: Please, you must tell me, how did you create a menu for that arena girl Xeona? I'm looking at the code, but I don't get it. How you do, that if you select one question, you get back to the same menu to select another or the same one, all within one label? Without jumps anywhere in the choices (like they telling me to do in renpy tutorial)

While loop is a programming concept that will run everything in it until you break out of it:

Code: [Select]
        $ a_skip = False
        while not a_skip:

This in normal language means: Run everything inside of that loop for as along as a_skip is not True. So you menu will basically loop upon itself.

Code: [Select]
                "I know all I need to...":
                    ax "See you around!"
                    hide npc xeona
                    with dissolve
                    $ a_skip = True

Here we break the loop...
                   
This is not really required, I just do it for kicks:
Code: [Select]
        # Keeping global namespace tidy:           
        $ del a_skip

=========
For general info: in Python environment you could have done the proper thing:

Code: [Select]
while True:
    break

or marginally faster:

Code: [Select]
while 1:
    break

but Ren'Py script does not recognize break command. Using Ren'Py script loop instead of a python one is better because you can save inside of it, jump back into the loop if you went out of context (used call statement for example) AND use menu statement that you are used to (or you would have to mess with Python's equivalent that is slightly more complicated and time consuming).

It's one of the most common things in programming, everything repetitive runs of it. Our battle engine has one as well, inside the Battle class, but that a proper python loop.

Another very common loop is a for loop, you can google it.

for i in xrange(10):
    ...

would make you code run 10 times for example, this is often used to iterate over containers.

PS: Don't worry, all this stuff was foreign to me one year ago as well :)
Title: Re: General Discussion
Post by: Xela on February 03, 2014, 05:16:38 AM
Renpy tutorial is only telling me to do it like this:
            $ jump("test_menu_1")

This should be:

Code: [Select]
jump test_menu_1
unless whoever wrote the tutorial was drunk.
Code: [Select]
$ jump("") will only work in PyTFall, it's our function, it will not make the jump if label does not exist and notify you of that fact if you are in the development mode.

PS:

On the while loop, think of it as something that will run your menu from start to the end and only than loop... don't expect it to do something weird like knowing when you wanted it to loop (like after every menu choice). It's actually very easy to get right.
Title: Re: General Discussion
Post by: CherryWood on February 03, 2014, 05:26:03 AM
Thanks! All is working nicely.  (lol, it look so obvious now  ::) :) )
---------------

I pushed a small event for outside arena. (trying to learn how to do it)


---------------
The event manager doesn't seems to working well - simple_beach_event have "max_runs=50" but I never seen it again after first visit.
Also it seems that the only chance to see an event is on first "look around" in a day, never on consecutive attempts in same location (it that's not intended)
Title: Re: General Discussion
Post by: Xela on February 03, 2014, 08:28:56 AM
Thanks! All is working nicely.  (lol, it look so obvious now  ::) :) )
---------------

I pushed a small event for outside arena. (trying to learn how to do it)


---------------
The event manager doesn't seems to working well - simple_beach_event have "max_runs=50" but I never seen it again after first visit.
Also it seems that the only chance to see an event is on first "look around" in a day, never on consecutive attempts in same location (it that's not intended)

I am busy with crazy import (I am calling everything related in the code crazy :) ). It should work, but it doesn't. I'll take a look at it than.  Manager needs testing as I've said but there is a condition preventing it from showing for x amount of days. Take a look at the class itself, lots of comments there. 
Title: Re: General Discussion
Post by: Xela on February 03, 2014, 09:58:52 AM
Yeah ok... messing with xmls from a different game is nasty but it would seem to be working now. Gallery looks really clean as well. I'll take a look at the events later, you they don't seem to be working as intended.
Title: Re: General Discussion
Post by: DarkTl on February 03, 2014, 11:04:16 AM
Found some icons for characters without elemental affinity, pics starting with neutral in my db\icons for everything\Elements.

Ripped/wrote basic general descriptions for 6 elements, my db\Descriptions.txt.

Changed occupations in unique girls xmls (my db\Girls\unique's xmls), now we have much more non warriors, and many warriors do not participate in arena fights.

Continue to work little by little at Blazblue pack.
Title: Re: General Discussion
Post by: DarkTl on February 03, 2014, 11:19:44 AM
Now we need elemental affinity for mobs, unique and random girls. It probably should be random for random girls as well, like traits.
Title: Re: General Discussion
Post by: Xela on February 03, 2014, 12:02:37 PM
Now we need elemental affinity for mobs, unique and random girls. It probably should be random for random girls as well, like traits.

For Unique girls, arena fighters and mobs just use element = Fire 1 with xml or json syntac depending on the file.

For random girls use:

    "elements": [
     ["Fire 1", 20],
     ["Water 1", 20],
     ["Earth 1", 20]
     ]

or

    "elements": {"Water 1": 20,
                    "Fire 1": 20,
                    "Earth 1": 20}

Doesn't matter which one, dict is prolly faster but it's  nanoseconds we'd be counting... It will not work until I enable it in the game.
Title: Re: General Discussion
Post by: DarkTl on February 03, 2014, 12:17:04 PM
Alright. We do have 3 levels, right? Like darkness 3 for undead.
Title: Re: General Discussion
Post by: Xela on February 03, 2014, 03:13:12 PM
Alright. We do have 3 levels, right? Like darkness 3 for undead.

I'll sort it out, as long as it begins with Darkness .

Just pushed, removed a bug from events system and unique girls from wm/wm crazy mod can be used in pytfall.
Title: Re: General Discussion
Post by: DarkTl on February 04, 2014, 07:25:20 AM
About disposition, our traits only change min and current value, but we do have some non consumable items (various shackles) that decrease max value. I wonder if I should change it to mod, or leave it as it is. After all, you always can remove them (maybe we'll have scripts in the future preventing it in some cases). And if you don't want to remove them (or cannot remove them yet in the future), well, no high disposition scenes for you (yet).
Title: Re: General Discussion
Post by: Xela on February 04, 2014, 08:04:00 AM
About disposition, our traits only change min and current value, but we do have some non consumable items (various shackles) that decrease max value. I wonder if I should change it to mod, or leave it as it is. After all, you always can remove them (maybe we'll have scripts in the future preventing it in some cases). And if you don't want to remove them (or cannot remove them yet in the future), well, no high disposition scenes for you (yet).

I still find balancing confusing, especially before slave training and capture. Until all of those systems work in unison, there is no chance in hell the game can be balanced by me. I say leave it as it is and would also prefer if items like that left lasting effect if used for a random number of days in the future. I'll try to hardcode the item you had, that raised health but completely depleted magic for a day, thinking that was awesome and with new leveling system, it is obviously broken. I'll either add "raise absolute maximum" to temporary consumables only or do so just for that one item.

PS: Just got pwned in the arena, it never occurred to me that someone would shoot my modified fire arrow back in my ass :D 1k+ damage.

================
Ok, I've added a couple new spells, including out first light spell (pushed yesterday, just didn't post). With crazy packs crossed of the TODO list, I'll prolly take a look at BE or Brothels next, both would require a good amount of time but especially if Bowman comes through with girlsmeets and interactions, we're getting close to an Alpha :)

Edit: Decided to go with BE for now.
Title: Re: General Discussion
Post by: CherryWood on February 04, 2014, 08:46:30 AM
The text font used in girl description and in slavemarket is weird... doesn't fit in with the other screens at all. Do you really like it?
--------
I added a few animations do my DB folder.
and I'm creating a super-short unique girl meetscript now, to test out the gm option for that you created (thanks again!)
Title: Re: General Discussion
Post by: Xela on February 04, 2014, 09:15:27 AM
The text font used in girl description and in slavemarket is weird... doesn't fit in with the other screens at all. Do you really like it?

Yeah, it took effort to get it done since that font doesn't have / | \ signs we use for stat value / maximum value. If it really bugs you we can go with something else... :(

I added a few animations do my DB folder.
and I'm creating a super-short unique girl meetscript now, to test out the gm option for that you created (thanks again!)

Good luck :) I have 30 mins so I'll add neutral alignment and have it default for all characters unless specified otherwise in data files.

@ Dark. You said something about going over mobs, it's prolly not the last time but could you add charisma and luck stats to them as well? (Remember that luck goes from -50 to 50). I'll see if I can cook up critical hits in the engine based on agility and luck this weekend.
Title: Re: General Discussion
Post by: DarkTl on February 04, 2014, 09:16:17 AM
Yup, back then when I created shackles items (some of them are ports from wm), I thought we could use it somehow for slaves. They are completely useless in wm, and that's quite a shame. We should try to introduce them properly within slave training/rmg capturing systems in the future.

I've added elemental affinities to unique and random girls data files. Those who don't have any should be neutral, obviously.

Just got pwned in the arena, it never occurred to me that someone would shoot my modified fire arrow back in my ass :D 1k+ damage.
So, does game over screen work properly?  :D
Title: Re: General Discussion
Post by: DarkTl on February 04, 2014, 09:19:51 AM
You said something about going over mobs, it's prolly not the last time but could you add charisma and luck stats to them as well? (Remember that luck goes from -50 to 50). I'll see if I can cook up critical hits in the engine based on agility and luck this weekend.
Yup, I'll add elements, charisma and luck to mobs tomorrow. Not attacks though, I think it's too early for that now, when we have new attacks almost every day.
Title: Re: General Discussion
Post by: CherryWood on February 04, 2014, 09:26:38 AM
Yeah, it took effort to get it done since that font doesn't have / | \ signs we use for stat value / maximum value. If it really bugs you we can go with something else... :(
Seriously? ...

It looks kinda computerish, reminding me of pipboy  :) not bad, but also not like something to combine with wood frame...


--------
 Images in new girlmeet screen are too pixelated, as if the small image in meetgirls was resized instead of original one.


--------
and another thing: how I can remove a girl from the meetgirl screen if I ran an unique label instead?
I tried   $pytfall.gm.remove_girl(chr)
but that giving me this error:
  File "game/library/classes - support.rpy", line 271, in python
TypeError: 'in <string>' requires string as left operand, not Girl


---------------
and how to use exclude tags?
I tried:
show('bikini', "beach", "swimsuit","summer", exclude=main_sex_tags, type="any")
and I get a beach sex image
 

Title: Re: General Discussion
Post by: Xela on February 04, 2014, 10:36:53 AM
Yup, back then when I created shackles items (some of them are ports from wm), I thought we could use it somehow for slaves. They are completely useless in wm, and that's quite a shame. We should try to introduce them properly within slave training/rmg capturing systems in the future.

Yeap, we'd need more advanced items system then as well, would be a good reason to revisit and update both concept and system.

I've added elemental affinities to unique and random girls data files. Those who don't have any should be neutral, obviously.
So, does game over screen work properly?  :D

We don't have a game over screen unless I coded one and forgot. Loosing in the arena leaves you with 1 health.

I've added neutral pics, going to make sure everyone is neutral unless stated otherwise in their files tonight.

Seriously? ...

It looks kinda computerish, reminding me of pipboy  :) not bad, but also not like something to combine with wood frame...

Yeah... but where did you find woodframe in the market???

Images in new girlmeet screen are too pixelated, as if the small image in meetgirls was resized instead of original one.

... It's actually exactly what happens, I'll recode that bit as well.

and another thing: how I can remove a girl from the meetgirl screen if I ran an unique label instead?
I tried   $pytfall.gm.remove_girl(chr)
but that giving me this error:
  File "game/library/classes - support.rpy", line 271, in python
TypeError: 'in <string>' requires string as left operand, not Girl

I'll take a look as well, didn't expect this to break, code there should be really simple.

and how to use exclude tags?
I tried:
show('bikini', "beach", "swimsuit","summer", exclude=main_sex_tags, type="any")
and I get a beach sex image

? Never happened before. Maybe I did something wrong with the any type.
Title: Re: General Discussion
Post by: Xela on February 04, 2014, 11:22:11 AM
Ok, so the poor image quality during girlsmeets and not being able to remove girls should all be patched with a quickfix (just pushed). I do not like the current system as it's messy but it would seem that I am to stupid today/this week to come up with a better plan. In any case, it should all be working just fine for now.

On the show method... I couldn't find a flaw in this code:

Code: [Select]
            elif type == "any":
                    tags_backup = tags * 1
                    tags.remove(self.id)
                    random.shuffle(tags)
                    while tags and not imgpath:
                        tag = tags.pop()
                        imgpath = self.select_image(tag, self.id, exclude=exclude)
                    tags = tags_backup

So either a method that excludes the tags is flawed (but we should be getting sex pics all over the place in that case) or main_sex_tags list does not actually include all sex tags or there is a fault in the pack during tagging. Can you find an image that game is displaying for the girl instead of what is requested by your tags in the gallery (you can add her by hero.add_girl(char["Hinata"]) command in the console) and tell me all of the tags she carries. If I cannot figure out what's wrong then, I'll go over the whole show --> select_image --> access database routine.
Title: Re: General Discussion
Post by: CherryWood on February 04, 2014, 12:53:13 PM
I'm not able to find it at all....
This is my code that don't work: (I tried to display more type of clothes than one, so I put this in city beach cafe)
Code: [Select]
            for entry in pytfall.gm.display_girls():
                    use r_lightbutton(img=entry.show("bikini", "beach", "swimsuit", "summer", exclude=main_sex_tags, type="any", label_cache=True, resize=(300, 400)), return_value=['jump', entry])
and I get Slime's beach+sex, Leafa's bikini+les, Maid elf's summer+sex etc. (nothing wrong with tags)


and this is one yours that is just fine:
Code: [Select]
for entry in pytfall.gm.display_girls():
                    use r_lightbutton(img=entry.show('profile', "generic outside", "forest", exclude=main_sex_tags, type="any", label_cache=True, resize=(300, 400)), return_value=['jump', entry])
because I never saw tenten's forest+sex pic. and I visited her at least 30 times.
Also jobs are fine (I have Maid+sex pic in Rei and you never see that in service job or class)
Title: Re: General Discussion
Post by: Xela on February 04, 2014, 01:44:32 PM
Copy/Pasted your code, those are not sex pics, they are strip pics.

Code: [Select]
            for entry in pytfall.gm.display_girls():
                    use r_lightbutton(img=entry.show("bikini", "beach", "swimsuit", "summer", exclude=main_sex_tags.append("strip"), type="any", label_cache=True, resize=(300, 400)), return_value=['jump', entry])
Title: Re: General Discussion
Post by: CherryWood on February 04, 2014, 02:24:08 PM
Copy/Pasted your code, those are not sex pics, they are strip pics.

Code: [Select]
            for entry in pytfall.gm.display_girls():
                    use r_lightbutton(img=entry.show("bikini", "beach", "swimsuit", "summer", exclude=main_sex_tags.append("strip"), type="any", label_cache=True, resize=(300, 400)), return_value=['jump', entry])
Nope, they're still there. I just deleted the whole game and downloaded it again from repo (with the new 2 minutes old update) and got one on right beach at first attempt. If it's not happening in your game too, then I just don't know...
Title: Re: General Discussion
Post by: Xela on February 04, 2014, 02:45:45 PM
Nope, they're still there. I just deleted the whole game and downloaded it again from repo (with the new 2 minutes old update) and got one on right beach at first attempt. If it's not happening in your game too, then I just don't know...

Just tried it and got one, this is odd, going to take a while to track...
Title: Re: General Discussion
Post by: Xela on February 04, 2014, 02:51:56 PM
Nope, they're still there. I just deleted the whole game and downloaded it again from repo (with the new 2 minutes old update) and got one on right beach at first attempt. If it's not happening in your game too, then I just don't know...

Ever got this with an unique girl???
Title: Re: General Discussion
Post by: CherryWood on February 04, 2014, 03:01:42 PM
Ever got this with an unique girl???
Yes, I just confirmed that with Temari (summer+mast)

Title: Re: General Discussion
Post by: Xela on February 04, 2014, 03:23:50 PM
Yes, I just confirmed that with Temari (summer+mast)

FOUND IT :)

It's a method that has been created by Rudi, edited by me, then him again and by me like 3 times since then. I got things messed up in the process...
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 04, 2014, 03:25:13 PM
But especially if Bowman comes through with girlsmeets and interactions, we're getting close to an Alpha :)
No worries i'm still working on them, just a sort of trial and improvement type thing, so i'm improving it bit by bit i'd say 8)   
Title: Re: General Discussion
Post by: CherryWood on February 04, 2014, 03:37:34 PM
FOUND IT :)

It's a method that has been created by Rudi, edited by me, then him again and by me like 3 times since then. I got things messed up in the process...
Thats great! Congrats!
It really looks good to have girls in bikinis on the beach. I'm glad we decided to do it like that. (and all the possibilities for the future...)
Title: Re: General Discussion
Post by: Xela on February 04, 2014, 03:50:03 PM
Thats great! Congrats!
It really looks good to have girls in bikinis on the beach. I'm glad we decided to do it like that. (and all the possibilities for the future...)

We should do something similar for all other locations as well. After I sort this thing out, apparently there was a stupid thing that I've left but pics are appearing even after I removed it. Two methods in girls class now seem perfectly sound so next step will be going thought Rudi's database code.

No worries i'm still working on them, just a sort of trial and improvement type thing, so i'm improving it bit by bit i'd say 8)   

Awesome :)

Title: Re: General Discussion
Post by: Xela on February 04, 2014, 04:16:35 PM
All done, I don't think anything was actually broken, first you got the strip pics, second I've added a bad argument main_sex_tags.append("strip") was not allowed and we started getting sex pics as well, main_sex_tags + ["strip"] should have been the argument.

I did get a good chance to clean up both methods, so that is at least a good thing :)
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 04, 2014, 04:48:25 PM
I just realized that one of the new pushes changes the  pyt - labels - girlinteractions.rpy, ah well looks like i'm starting from scratch  :-[
Title: Re: General Discussion
Post by: Xela on February 04, 2014, 05:07:08 PM
I just realized that one of the new pushes changes the  pyt - labels - girlinteractions.rpy, ah well looks like i'm starting from scratch  :-[

 ???

1) You should get a DropBox folder, you can use this as reference: https://db.tt/n73tZzn9 We'll both get 500mb free space.

2) You should also get an account with SourceForge and push your work every now and then + commit before pulling.

We all use 2 - 3 layers of backups and clouds to keep our work secure. We also have a shared folder in Dropbox, I can add you to it.



===========================
Some Q&A:
1) Should I remove everyone from dropbox who isn't around anymore?

2) Dark has a kickass elven city map in his DB, maybe we can come up with a story, like High elves leaving and now humans and other raises as well as remaining elves are trying to preserve it, learning how to control and maintain it's magic? We can add a beach to the top left corner of the map for now and later maybe someone might draw actual see/sand? What do you think?

3) What kind of transitions between the screens work best? And where?
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 04, 2014, 05:27:10 PM
I actually already have a dropbox & sourceforge account, just haven't used them yet.
No need to worry though, the stuff I did before was kinda rough anyway, and now I've got even more to play with :P

1) Should I remove everyone from dropbox who isn't around anymore?
I would say yes, probably best to yet it to active contributers

2) Dark has a kickass elven city map in his DB, maybe we can come up with a story, like High elves leaving and now humans and other raises as well as remaining elves are trying to preserve it, learning how to control and maintain it's magic? We can add a beach to the top left corner of the map for now and later maybe someone might draw actual see/sand? What do you think?
Definatly a interesting idea and sounds pretty cool, come up with something interesting we might.

3) What kind of transitions between the screens work best? And where?
I'll leave decision on this to Dark and CW 'cause I don't mind the current ones to be honest
Title: Re: General Discussion
Post by: DarkTl on February 05, 2014, 12:15:53 AM
1) Should I remove everyone from dropbox who isn't around anymore?
Pretty sure we won't see them again, at least as a part of dev group.

2) Dark has a kickass elven city map in his DB, maybe we can come up with a story, like High elves leaving and now humans and other raises as well as remaining elves are trying to preserve it, learning how to control and maintain it's magic?
In Witcher humans win because they breed much more often. Furthermore, elven women there can (and want to) do it much more often with humans as well (it has something to do with hormones in human body). Talk about fanservice, huh?  :)

3) What kind of transitions between the screens work best? And where?
Clarify this question, please.
Title: Re: General Discussion
Post by: CherryWood on February 05, 2014, 05:56:50 AM

2) Dark has a kickass elven city map in his DB, maybe we can come up with a story...
I'm not really a fan of elves. But I must admit that it looks good, especially that arena. It's hard to find anything from this perspective...
I was looking for many hours but only other city pics with arena I found is this one:
(http://img24.eu/m-493m2mm7.jpg) (http://img24.eu/v-493m2mm7.jpg)
 

 3) What kind of transitions between the screens work best? And where?
 

I don't really care as long it's FAST.
So what I currently like the most is that "pixelate" on main creen, and definitely not "with irisin" because it's soooo slow right now.
"Fade" is interesting, but a little too much aggressive to my taste, when the first screen disappear instantly. But if the first screen (buttons and such) could dissolve first, it may look good in girl screens. (if it's fast  :) )
Classic dissolve usually ok
And if you want to set something new... no idea
Title: Re: General Discussion
Post by: Xela on February 05, 2014, 06:59:16 AM
Pretty sure we won't see them again, at least as a part of dev group.

Oki, I'll wait till this weekend and then remove everyone who isn't active, archiving their folders.

In Witcher humans win because they breed much more often. Furthermore, elven women there can (and want to) do it much more often with humans as well (it has something to do with hormones in human body). Talk about fanservice, huh?  :)

I think that the map is great and has great story/quest/events potential.

Clarify this question, please.

Transitions between screens. Like when you enter main screen, it turns the picture into pixels. Sometimes it fades, sometimes it dissolves. Sometimes it kinda zooms in or out like on the map. There will be an option to turn that off for slower machines but I wanted to know if you had any preferences.


I'm not really a fan of elves. But I must admit that it looks good, especially that arena. It's hard to find anything from this perspective...
I was looking for many hours but only other city pics with arena I found is this one:
(http://img24.eu/m-493m2mm7.jpg) (http://img24.eu/v-493m2mm7.jpg)

Yeah, this city is really good too but it a tag to dark for the city map. It already has a beach on the other hand. It will only matter when we start writing something story related...

So what I currently like the most is that "pixelate" on main creen, and definitely not "with irisin" because it's soooo slow right now.
"Fade" is interesting, but a little too much aggressive to my taste, when the first screen disappear instantly. But if the first screen (buttons and such) could dissolve first, it may look good in girl screens. (if it's fast  :) )
Classic dissolve usually ok
And if you want to set something new... no idea

Ok, noted, speed should be taken into account as well.
Title: Re: General Discussion
Post by: DarkTl on February 05, 2014, 07:26:45 AM
I think that the map is great and has great story/quest/events potential.
Yup, it would be interesting to have more than one city in the game. We also could move 80-90% of non human characters there.

Transitions between screens. Like when you enter main screen, it turns the picture into pixels. Sometimes it fades, sometimes it dissolves. Sometimes it kinda zooms in or out like on the map. There will be an option to turn that off for slower machines but I wanted to know if you had any preferences.
I'll take a look at it again when I'll return home. For now I can say that I agree with Cherry about speed.
Maybe we do need long animated transitions here and there when the game is loading something big, so it won't be instant anyway. Like when you select another brothel or even a city.
Title: Re: General Discussion
Post by: Xela on February 05, 2014, 08:59:00 AM
Yup, it would be interesting to have more than one city in the game. We also could move 80-90% of non human characters there.

Yeap, I like CW's pick for the main city, it has larger scale and potential. Elven one for the second city in the future. Other option is to go with something drawn in cartographer:

http://www.fantasticmaps.com/wp-content/uploads/2010/06/townpackunlabelled.jpg

I love our current map as well but the damn palace is covering like 60% of the map. I'll load CWs map in and reposition markers in xml.

I'll take a look at it again when I'll return home. For now I can say that I agree with Cherry about speed.
Maybe we do need long animated transitions here and there when the game is loading something big, so it won't be instant anyway. Like when you select another brothel or even a city.

Oki
Title: Re: General Discussion
Post by: DarkTl on February 05, 2014, 09:06:43 AM
Ok, I have to say that I dislike that "pixelate" transition when you close girls menu and return to brothel main screen, it kinda annoys me  :)
I'd prefer that simple dark fading like when you go to girls menu from general brothel menu.
That effect when you go to dark forest (or out of it) will be ok if it will be faster.

So we probably need settings menu for transitions effects, since it's a subjective thing.

If you want our opinion about other effects that renpy has, you could make a quick demo and upload it somewhere.

I added luck, charisma and elements to mobs json, and fixed one bug there (Assassin had Amazon Archer battle sprite  :D ). And finished another girl from Blazblue. I wonder what I should do next, besides my work on pack.
Title: Re: General Discussion
Post by: Xela on February 05, 2014, 09:54:55 AM
Ok, I have to say that I dislike that "pixelate" transition when you close girls menu and return to brothel main screen, it kinda annoys me  :)
I'd prefer that simple dark fading like when you go to girls menu from general brothel menu.
That effect when you go to dark forest (or out of it) will be ok if it will be faster.

So we probably need settings menu for transitions effects, since it's a subjective thing.

If you want our opinion about other effects that renpy has, you could make a quick demo and upload it somewhere.

I added luck, charisma and elements to mobs json, and fixed one bug there (Assassin had Amazon Archer battle sprite  :D ). And finished another girl from Blazblue. I wonder what I should do next, besides my work on pack.

Wtf happened? I posted reply to this already and now it's gone???

====
I am not going to allow choosing transitions, there are limits to what should be customizable in the menus. I'll try to put an option to turn them off all together. There are a bunch of demoes in Tutorial and we can make the dark forest effect faster but I kinda like it's current speed. Ok, at least I know that you like dissolve/fade effect and dislike pixellate and CW prefers pixellate to dissolve :) Not sure what to do with that.

I've put in a new map and restore calendar + updated it's class. For now it reports to tooltip of main screen. Gonna push because there isn't going to be anything significant until weekend.
Title: Re: General Discussion
Post by: DarkTl on February 06, 2014, 02:01:02 AM
Can't you make a json or xml settings file in renpy for deep customising, including transitions?
Title: Re: General Discussion
Post by: Xela on February 06, 2014, 11:22:36 AM
Can't you make a json or xml settings file in renpy for deep customising, including transitions?

Sure... but I'll rather get alignment working in battle-engine, more fun (и больше толку :) ). We "can" do quite a lot that we are not going to do for the Alpha and prolly not ever, I try to choose best reward/time spent objectives if I can.
Title: Re: General Discussion
Post by: DarkTl on February 06, 2014, 02:13:39 PM
Another day, another girl  :)
I'll probably write a guide for packs making tomorrow in addition to my work on packs. Also, I would appreciate a guide for quest/custom meeting creation. At least post alpha, if you don't have time for that now.
Title: Re: General Discussion
Post by: CherryWood on February 06, 2014, 03:13:41 PM
I'll never understood how can you manage to create a girl in just a day...
Title: Re: General Discussion
Post by: Xela on February 06, 2014, 03:31:04 PM
Another day, another girl  :)
I'll probably write a guide for packs making tomorrow in addition to my work on packs. Also, I would appreciate a guide for quest/custom meeting creation. At least post alpha, if you don't have time for that now.

I'll see what I can do, we should prolly make one anyway.

I'll never understood how can you manage to create a girl in just a day...

Quantity vs quality. Your packs are better as you search for the best out of thousands of images and tag them really carefully but since we are not yet using full potential of our tagging system, it doesn't really show. It's basically difference between making and converting, I've hooked up crazies packs couple of days ago so I've basically added 800 - 1000 girls to the game, but they will never show in the correct outfits in the locations, never have as much events during jobs, never respond with correct pics to moodswings after we add those checks.
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 06, 2014, 11:46:38 PM
I've been thinking, would it be more practical to use YAML instead of XML seeing as it's simpler to write stuff in?
Title: Re: General Discussion
Post by: DarkTl on February 07, 2014, 12:20:48 AM
I'll never understood how can you manage to create a girl in just a day...
Depending on a girl. One thing is Touhou, where almost every character has 25000+ pics on pixiv alone, not to mention other sources. Another thing is Blazblue which I'm making now, where even popular characters don't have more than 2000 pics, maybe 10-20 more if you look in every corner of internet.

That's why I postponed Touhou for now until I'll make all other packs that I want in the game.

Also, I usually have at least 5 free hours per day at work  :)
Title: Re: General Discussion
Post by: DarkTl on February 07, 2014, 04:16:56 AM
Ok, I have questions now as well.

We do not need folder field in xmls anymore, or it would be better to keep it for compatibility if nothing else?

Do we have any other optional fields besides fullname and nickname? I mean fields that may be missing in xml, and the game still won't have any errors.
I guess trait and absolute_block trait fields are not mandatory, for example.
Title: Re: General Discussion
Post by: Xela on February 07, 2014, 05:49:03 AM
I've been thinking, would it be more practical to use YAML instead of XML seeing as it's simpler to write stuff in?

From development perspective, Json would be more practical. I don't know if there are any decent converters, I need to look into that. For now, xml does not mess us up to badly so I see no reason to invest time into rooting it out. If we find a converter, we can either switch the whole game to Json or simply allow both formats and ask everyone to add new content in a new format.

We do not need folder field in xmls anymore, or it would be better to keep it for compatibility if nothing else?

We will never need it, Alkion does but I do not remember the reason why.

Do we have any other optional fields besides fullname and nickname? I mean fields that may be missing in xml, and the game still won't have any errors.
I guess trait and absolute_block trait fields are not mandatory, for example.

Are there actually fields that are absolutely required? I never tested this thing, sorry :( Other than id, you might not have to put anything in...

That said, a good design for the girl to take her place in the game is very important...
Title: Re: General Discussion
Post by: DarkTl on February 07, 2014, 06:03:14 AM
I'll test it then. It's just I wonder what will happen if a girl doesn't have description (probably nothing, but who knows), or occupation (pretty sure we need it), or location (where she will be then?), or status (will hse be slave or free?), or stats (will they be 0 then?).
While our girls obviously will have these fields, it's kinda useful information for a guide.

I guess we need default settings for all fields, so if any major field is missing, it won't be a problem.
Title: Re: General Discussion
Post by: Xela on February 07, 2014, 06:19:14 AM
I'll test it then. It's just I wonder what will happen if a girl doesn't have description (probably nothing, but who knows)

Nothing will.

or occupation (pretty sure we need it)

Will be randomly assigned to her, everything except the Warrior.

or location (where she will be then?)

Slavemarket.

or status (will hse be slave or free?)

Slave.

or stats (will they be 0 then?).

0 - 15 at random.

While our girls obviously will have these fields, it's kinda useful information for a guide.

I guess we need default settings for all fields, so if any major field is missing, it won't be a problem.

We should. That's what I called girl normalization. I've crossed that off the list already but there are still couple of things to be done.
Title: Re: General Discussion
Post by: Xela on February 07, 2014, 08:15:40 AM
I am going to block all traits and items from modifying minimums of any stat. We should remove that from xml files as well. Programming accounting for a possibility of negative stat values requires to much effort with almost 0 reward. Any items/traits that were based around the concept of modding minimum values, should be rewritten or removed from the game.
Title: Re: General Discussion
Post by: DarkTl on February 07, 2014, 09:47:14 AM
Wow, wow, wait a sec. If some trait/item increases min value of stats, it has nothing to do with negative values.
Title: Re: General Discussion
Post by: Xela on February 07, 2014, 09:55:14 AM
Wow, wow, wait a sec. If some trait/item increases min value of stats, it has nothing to do with negative values.

Fair enough, I'll just block them decreasing mins then, but stuff like that is still pretty dangerous as some events may not trigger if girl's joy cannot go low enough for example and modders may expect them to...
Title: Re: General Discussion
Post by: DarkTl on February 07, 2014, 10:10:03 AM
Then we need failproof checks that can determine if it possible at all to have low enough value, and if not, then these events will trigger with the current min value. But it won't be a problem until the release, I think.
Title: Re: General Discussion
Post by: Xela on February 07, 2014, 10:25:17 AM
Then we need failproof checks that can determine if it possible at all to have low enough value, and if not, then these events will trigger with the current min value. But it won't be a problem until the release, I think.

Yeap, something like that might work.
Title: Re: General Discussion
Post by: Xela on February 07, 2014, 11:14:21 AM
Just pushed alignments and critical hits.
Title: Re: General Discussion
Post by: DarkTl on February 07, 2014, 11:58:39 AM
Rotating alignment icons look great, although looks like we have too many neutral random girls. On the other hand, I expect items and events that can change alignment at some point, so maybe it's for the best.
Title: Re: General Discussion
Post by: Xela on February 07, 2014, 12:05:12 PM
Rotating alignment icons look great, although looks like we have too many neutral random girls. On the other hand, I expect items and events that can change alignment at some point, so maybe it's for the best.

I would prefer alignments to be fixed. Maybe changed only by quests or through training.
Title: Re: General Discussion
Post by: DarkTl on February 07, 2014, 12:20:52 PM
Oh, that's not me, it's a bug. For priest rg I have now "elements": {"Light 1": 80, "Water 1": 100}, so they are either light or water anyway, but in the game they are neutral.
Title: Re: General Discussion
Post by: Xela on February 07, 2014, 01:07:09 PM
Oh, that's not me, it's a bug. For priest rg I have now "elements": {"Light 1": 80, "Water 1": 100}, so they are either light or water anyway, but in the game they are neutral.

Maybe I've not enabled the code yet.

Olympics opening ceremony is pretty amazing btw.

Just pushed a fix, should work now, code wasn't even there, not just disabled :(
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 02:12:30 AM
Nope, either you didn't fix it or didn't push it, still neutrals everywhere.
Also I noticed that the game doesn't show traits effects in Effects field. Is it a bug?

Olympics opening ceremony is pretty amazing btw.
Olympics even have snoubordizm now  ???
Pretty imressive, rotation in the air at high speed and stuff.
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 05:58:22 AM
Nope, either you didn't fix it or didn't push it, still neutrals everywhere.
Also I noticed that the game doesn't show traits effects in Effects field. Is it a bug?

1) I thought that I pushed it... but I've tested it and the code seems to be sound in itself.

2) No idea about effect, I'll take a look.

Try pulling again, I've blocked traits/items from pushing minimums below 0 as well.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 06:31:31 AM
Ok, seems to work now. Still strange to see several neutral girls with 70%/90% element affinity chances though, but at least those who have 100 are not neutral anymore  :)

About effects, for example, Sophie from "tales of" pack has retarded trait, so she has slow learner effect as well. Yet her effects list is empty.
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 08:01:00 AM
Ok, seems to work now. Still strange to see several neutral girls with 70%/90% element affinity chances though, but at least those who have 100 are not neutral anymore  :)

About effects, for example, Sophie from "tales of" pack has retarded trait, so she has slow learner effect as well. Yet her effects list is empty.

The code for the alignments is sound, I don't have any explanations for there being to few girls with alignments @ 90%. Maybe just bad luck during testing.

Try in the console:
Code: [Select]
[girl.element for girl in char.values() if girl.__class__ == rGirl]To get a better picture.

Fixed effects and pushed. Unless more bugs are found, I am going to take a look at brothel/reports next. Maybe next day screen as well.

Do we have any ideas on a subsystem for gifts during girlsmeets? Seems like establishing some form of universal system is premature and might work worse than something simple like in SimBro 1x at this point.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 08:48:55 AM
Ok, I'll test it.

About gifts, I thought about DA approach, where different characters prefer different types of items, and gifts are special items that cannot be used in another way. In our case we could use traits to determine which gifts a character would like.
In case of meetings with characters that don't "belong" to you yet you need to figure out their traits for a start if you don't want a bad reaction to the gift.
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 09:58:58 AM
About gifts, I thought about DA approach, where different characters prefer different types of items, and gifts are special items that cannot be used in another way. In our case we could use traits to determine which gifts a character would like.
In case of meetings with characters that don't "belong" to you yet you need to figure out their traits for a start if you don't a want bad reaction to the gift.

Sounds good, there would also be simpler items that any girls with a specific occupation would want and maybe some gift items that anyone would want.

Option 2: is to add a field like gift="true" to any normal item with some extra options.

Option 3: do you think existing items carry enough data to determine if they are good gifts for girls based at least on girl's occupations?

Basically, you know items way better than I do. Take a look at them and see what can be logically done to tackle the girlsmeets gift issue. If you decide to go with your suggestion, lets make new file for gift items a json, not xml. You can set it up in any way you like, just make sure to use as many of normal item fields as possible and show me a prototype.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 11:02:48 AM
there would also be simpler items that any girls with a specific occupation would want
I wonder about it. I cannot come up with a universal gift for any service girl, for example. Maybe weapons/armor are more or less universal for warriors, but it's too straightforward to me.

and maybe some gift items that anyone would want.
Sure thing. Theoretically there could be characters without traits, after all.

Option 2: is to add a field like gift="true" to any normal item with some extra options.
Option 3: do you think existing items carry enough data to determine if they are good gifts for girls based at least on girl's occupations?
We could use this approach for occupation related gifts if you want it. I'll flag items with preferable occupations then, and such gifts probably should dissappear from the game after giving. Or become unremovable, except slaves, but this will only add complexity.

Or we could just make weapons/armor good for warriors, dresses good for service, rings/amulets good for strippers, and maybe misc for whores. Very, very rough approach. Right now we only have flags for autobuying system, that's not enough, because many average items do not have them.


If you decide to go with your suggestion, lets make new file for gift items a json, not xml. You can set it up in any way you like, just make sure to use as many of normal item fields as possible and show me a prototype.
   As example:
Quote
[
  {
    "id": "Elven Cape",
    "icon": "content/items/cape/ec.png",
    "desc": "Comfortable and noiseless cape from an unknown, soft material.",
    "price": "1500",
    "chance": "40",
    "dismod": "20",
    "infinite": "false",
    "hidden": "false",
    "location name": ["Forest", "Work Shop"],
    "goodtrait name": ["Not Human", "Alien"],
    "badtrait name": ["Noble", "Tomboy"]
 }
]
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 11:29:35 AM
I wonder about it. I cannot come up with a universal gift for any service girl, for example.

PeacockFeatherDuster, Apron, SilverBottleOpener... I am not good with naming items :)

I wonder about it. I cannot come up with a universal gift for any service girl, for example. Maybe weapons/armor are more or less universal for warriors, but it's too straightforward to me.
Sure thing. Theoretically there could be characters without traits, after all.
We could use this approach for occupation related gifts if you want it. I'll flag items with preferable occupations then, and such gifts probably should dissappear from the game after giving. Or become unremovable, except slaves, but this will only add complexity.

Or we could just make weapons/armor good for warriors, dresses good for service, rings/amulets good for strippers, and maybe misc for whores. Very, very rough approach. Right now we only have flags for autobuying system, that's not enough, because many average items do not have them.

Yeah, you're prolly right, any system we come up with without dedicated gifts will be confusing and hard to work with...

Code: [Select]
[
  {
    "id": "Elven Cape",
    "icon": "content/items/cape/ec.png",
    "desc": "Comfortable and noiseless cape from an unknown, soft material.",
    "price": "1500",
    "chance": "40",
    "dismod": "20",
    "infinite": "false",
    "hidden": "false",
    "location name": ["Forest", "Work Shop"],
    "goodtrait name": ["Not Human", "Alien"],
    "badtrait name": ["Noble", "Tomboy"]
 }
]

Yeah, just remember that booleans and integers in json should not be strings. Also, maybe a different field, like:

"traits": {"Not Human": 30, "Alien": 20, "Magic Talent": -40}

to determine how much disposition should an item increase/decrease, that way, there is more control... and we do not need both good/bad trait fields.

Same with "occupation": {"Stripper": 20, "Prostitute": 40, "Warrior": -50}

I'll have type="gift" added on auto since all items in that json will be gifts anyway.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 11:50:13 AM
I'm not sure how to handle universal gifts for any traits. We could use either dismod field if non of listed traits are match with the girl, or use "traits": {"Universal": 10} string.
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 11:56:56 AM
I'm not sure how to handle universal gifts for any traits. We could use either dismod field if non of listed traits are match with the girl, or use "traits": {"Universal": 10} string.

Both will work, you pick.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 12:04:53 PM
Dismod field then. I'll start to make gifts json on Monday.
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 01:36:48 PM
Should we add rooms as well? Or is it to much for the Alpha?
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 01:39:20 PM
You mean like in Alkion or something?
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 02:04:48 PM
You mean like in Alkion or something?

That would be insane... no, maybe a bit similar. In Alkion, much like in many similar games, player is forced to assign girls to and room per action.day shift. I always believed that it was stupid and counter intuitive way. Alkion takes it to a whole new level where you hire (Yes HIRE, no slaves in Alkion as per concept) a girl, then you get to tell her what to do during the whole day in shifts per room, most rooms have one action only...

We will have rooms in PyTFall at some point. They will work differently, you'll have to assign girls only to living rooms/quarters/very specific rooms. Most of the free girls will not live in the brothels/other buildings (only slaves and free girls that wish to do that for some reason). Work rooms (like brothel room) will be used as required. As game advances in logic, new buildings could be built for housing, for now we'll have only brothels.

Basically, many rooms as I see it, would work on concept of auto-assignment as required, NOT forced assignment by player.

As for rooms themselves, they should have decor (as upkeep first, furniture next), square footage (as range) (buildings have that already for cleaning), picture, name and so on.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 02:16:00 PM
I fail to see significant difference between rooms and upgrades for brothel then. Furthermore, if you want rooms, decor and furniture, they probably should be in MC house mostly, since you mentioned that brothels won't be mandatory.
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 02:23:18 PM
I fail to see significant difference between rooms and upgrades for brothel then. Furthermore, if you want rooms, decor and furniture, they probably should be in MC house mostly, since you mentioned that brothels won't be mandatory.

There is none, most upgrades would have to go. All buildings should have them, but rooms are overkill for the Alpha... I'll just try to code the jobs with future rooms in consideration.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2014, 02:46:05 PM
I don't know. It probably will be too complicated if every single brothel will have an extensive system of rooms (a lot of micromanagement), and more importantly, the same extensive system of rooms (=monotonous micromanagement).

I have no objection against MC house of any complexity, since a) it's only one house, not 10+ brothels; b) people like to have their own main base/house/castle/whatever in games, and I like it too  :)
Title: Re: General Discussion
Post by: Xela on February 08, 2014, 03:39:33 PM
I don't know. It probably will be too complicated if every single brothel will have an extensive system of rooms (a lot of micromanagement), and more importantly, the same extensive system of rooms (=monotonous micromanagement).

I have no objection against MC house of any complexity, since a) it's only one house, not 10+ brothels; b) people like to have their own main base/house/castle/whatever in games, and I like it too  :)

Rooms will add a lot to the game in the end, I'll make sure micro is not monotonous.
Title: Re: General Discussion
Post by: DarkTl on February 09, 2014, 01:49:13 AM
Reminds me of my discussion with Rudi about advantages and traits  :)
Just like then, I don't see difference between the terms, except their names.
Title: Re: General Discussion
Post by: Xela on February 09, 2014, 02:29:55 AM
Reminds me of my discussion with Rudi about advantages and traits  :)
Just like then, I don't see difference between the terms, except their names.

?
Title: Re: General Discussion
Post by: DarkTl on February 09, 2014, 02:48:24 AM
Rooms and upgrades, I mean. Upgrades work on concept of auto-assignment, they have upkeep, name, picture. Not square footage, but total number of upgrades in one brothel.
Title: Re: General Discussion
Post by: Xela on February 09, 2014, 03:16:20 AM
Rooms and upgrades, I mean. Upgrades work on concept of auto-assignment, they have upkeep, name, picture. Not square footage, but total number of upgrades in one brothel.

Yeap... rooms would be more powerful and interesting I guess. We'll see. Damn jobs require to much rewriting, I was really hoping it would be less than that.
Title: Re: General Discussion
Post by: Xela on February 09, 2014, 01:40:40 PM
Just pushed. Mainly bigfixes, quickfixes and small improvements:

- Very early prototype of future jobs code is added.
- Improved jobs a little bit.
- Slightly reduced amount of clients in brothels.
- 2 fixes on brothel management screen.
- Added logging for hero's fins to more places.
- Imporved brothel reports.
- Patched a quick fix for hero fin screen error when displaying long strings.
- Found a bug when game quits on itself when returning from hero main screen, but was unable to replicate.


Not all is listed, basically just tying up some loose ends. I've crossed jobs off the TODO list (unless bugs pop up or sh!t is totally unbalanced, it'll have to do for the @). Don't know what's next... gonna take another look at the list.
Title: Re: General Discussion
Post by: Xela on February 09, 2014, 03:59:49 PM
    Library.Skills.SwordAttack
    Library.Skills.BowAttack
    Library.Skills.CrossbowAttack
    Library.Skills.KnifeAttack
    Library.Skills.ClawAttack
    Library.Skills.FistAttack
    Library.Skills.CannonAttack
    Library.Skills.RodAttack
    Library.Skills.ScytheAttack
    Library.Skills.SprayAttack
    Library.Skills.ThrowAttack
    Library.Skills.WhipAttack

Added some normal attacks.

@Dark, when you get the chance, add attack="Sword Attack" and etc. fields to weapons. You can prolly push that to SF as well. I cannot do it with types since you have a number of Nonweapon types and both crossbows, bows and some throw items are typed Ranged.

I've added code to cover basic types for now but attack in items files will (or at least should) override it.
Title: Re: General Discussion
Post by: Xela on February 09, 2014, 04:16:14 PM
- Added missing pics for mob "mare" (copied from Dark's DB folder)
- Added a number of normal attacks and renamed them so small + normal weapons could be both used in BE
- Added option to rename brothels in maintenance
- Added items activating correct Battle skillz (I think)
- Checks the code for items "addskills" field that should add magic powers. Looks like it should be working but haven't tested it yet.
- Removed blocking acts during whore job

And that's two more things off the list + a bunch of fixes. I think that for once, we actually crossed more off that we've added :)
Title: Re: General Discussion
Post by: Xela on February 09, 2014, 05:23:17 PM
- Notification screen pop-ups added on not enought money to buy a brothel
- Not enough AP to buy brothel/girl
- Fixed right listing button in slave market (both were bound to left index)
- Fixed couple of errors during hiring in girlsmeets.

Last small update for tonight.

PS: Do you think we should add a menu before entering shops? Yes/No and take 1 AP on entry? We obviously cannot take 1 AP per purchase, but shopping shouldn't be AP free either...
Title: Re: General Discussion
Post by: DarkTl on February 10, 2014, 01:42:07 AM
@Dark, when you get the chance, add attack="Sword Attack" and etc. fields to weapons. You can prolly push that to SF as well.
Will do asap. As for nonweapon items, they are supposed to be unusable for actual attacks in BE, just giving more bonuses to stats instead. If it's too much trouble, I'll set them to spray or fist attacks for now.

Do you think we should add a menu before entering shops? Yes/No and take 1 AP on entry? We obviously cannot take 1 AP per purchase, but shopping shouldn't be AP free either...
Yup, that would be useful, I think. Although this menu should be optional, since it will be a huge nuisance for experienced players.

Another thing is the slave market screen. When you browse slaves you cannot quickly close the market and return to brothel by pessing the cross, that's quite inconvenient.

Also I could use a quick, short cheat code of some kind for unlimited money for testing purposes, since slaves are not cheap at all  :)
Title: Re: General Discussion
Post by: Xela on February 10, 2014, 12:25:01 PM
Will do asap. As for nonweapon items, they are supposed to be unusable for actual attacks in BE, just giving more bonuses to stats instead. If it's too much trouble, I'll set them to spray or fist attacks for now.

Oki, weapons that should not work in BE don't get an attack field at all.

Another thing is the slave market screen. When you browse slaves you cannot quickly close the market and return to brothel by pessing the cross, that's quite inconvenient.

Note this somewhere and remind me during major screen remodeling. I want slavemarket to be accessed from the city only for Alpha.

Also I could use a quick, short cheat code of some kind for unlimited money for testing purposes, since slaves are not cheap at all  :)

In the console:
Code: [Select]
hero.gold += 100000000
Title: Re: General Discussion
Post by: Xela on February 11, 2014, 09:08:28 PM
Update:
- Moved NPC folder
- Remodeled mainscreen (work in progress)
- Renamed a number of files
- Added intro to the SlaveMarket
- Added first event to the SM-Club (Abby's Crossing themed)
- Throw all of mobs from darks folder into the games mobs folder (after getting ANOTHER missing file error)
- Added a good number of new sounds
- Two or three new music tracks
- Registered new sound and music channels in Ren'Py
- Fixed erroneous girlsmeets in the park
- Merged in Dark's items update
Title: Re: General Discussion
Post by: DarkTl on February 12, 2014, 10:16:16 AM
I think we don't need "hidden" field after all. All gifts effects probably should be hidden.

Also, I wonder how to handle situations when a girl has several traits. For example, if some gift gives -50 to silly and +50 to kind, and we have silly kind character.
Title: Re: General Discussion
Post by: Xela on February 12, 2014, 11:56:39 AM
I think we don't need "hidden" field after all. All gifts effects probably should be hidden.

Also, I wonder how to handle situations when a girl has several traits. For example, if some gift gives -50 to silly and +50 to kind, and we have silly kind character.

I can hide it with code on type/slot (whatever you're using, slot would make more sense). Description should at least hint on gifts purpose.

It's up to you, I would have maid gift system simple and linear, without complicated or contradiction items.
Title: Re: General Discussion
Post by: DarkTl on February 12, 2014, 12:39:44 PM
Yup, I try to make gifts as intuitive as possible. Trial and error method will help players too in some cases, it's not like wrong gift will kill the girl. Also I converted some existing items to gifts, like all flowers consumables.

As for conflicting traits, in such cases we could use the first matched trait in the list, ignoring others, like we do with mutually exclusive traits in random girls jsons.
Title: Re: General Discussion
Post by: Xela on February 12, 2014, 02:47:40 PM
Yup, I try to make gifts as intuitive as possible. Trial and error method will help players too in some cases, it's not like wrong gift will kill the girl. Also I converted some existing items to gifts, like all flowers consumables.

As for conflicting traits, in such cases we could use the first matched trait in the list, ignoring others, like we do with mutually exclusive traits in random girls jsons.

Oki, I kinda liked those as normal items, but gifts will work just as well.
Title: Re: General Discussion
Post by: Xela on February 12, 2014, 03:15:57 PM
Holy crap... the new on click sound is annoying... I didn't notice it yesterday, gonna get rid of it asap...

What did you guys think about the SM intro and club event?
Title: Re: General Discussion
Post by: CherryWood on February 12, 2014, 03:58:45 PM
Holy crap... the new on click sound is annoying... I didn't notice it yesterday, gonna get rid of it asap...
it really is  :)


What did you guys think about the SM intro and club event?
Sorry, but I'm not into slaves at all, so I will not comment or contribute to this part of the game.
But generally, I must say that sound effects are improving the feel of events a lot, and that NPC guy is really good  8)   (but they have Patchouli, WHY!  :'( )



Are you working on the screens? Because they are really strange atm...


also there is "beauty" tag used in SM screen, I don't think it fits there. (at least I didn't used that tag like that, can't speak for Dark's girls)
---------------------------------------

I'm sorry, but I can't help with anything this week, too much RL stuff.  :(   (I only managed to tag few more images)
Title: Re: General Discussion
Post by: Xela on February 12, 2014, 04:38:01 PM
Sorry, but I'm not into slaves at all, so I will not comment or contribute to this part of the game.

Keep finding out the strangest things about core members of dev team after nearly an year of working on this together (before this it was Dark and BE) :) I guess it's a good thing that game is designed to be playable without any slaves at all.

But generally, I must say that sound effects are improving the feel of events a lot, and that NPC guy is really good  8)

That's what I was hoping for, as we build up on content, quality and speed of creation of events will hopefully increase.

Are you working on the screens? Because they are really strange atm...

You'd have to be more specific, if you have any (especially simple) ideas on how to improve screens, tell me. I would not say that I am working on them, rather I am  trying to get rid of the stuff that really bugs me (like Arena reports on the main page dimming the main picture, shitty outdated slavemarket we used to have, etc.).

also there is "beauty" tag used in SM screen, I don't think it fits there. (at least I didn't used that tag like that, can't speak for Dark's girls)
---------------------------------------

Might not be very thought through... you can just change stuff like that and push if you get a decent idea for a better tag/sound/music/picture for any location/screen etc.

At some point, pictures should reflect how a girl feels, how well is she trained, recent events and so on. Right now, it would be too time consuming and we'd have to change it later anyway. Some things would only make sense to address after game took some form and shape.

I'm sorry, but I can't help with anything this week, too much RL stuff.  :(   (I only managed to tag few more images)

Ah, that's ok. We've all agreed to work at our own pace.
Title: Re: General Discussion
Post by: DarkTl on February 13, 2014, 12:25:25 AM
also there is "beauty" tag used in SM screen, I don't think it fits there. (at least I didn't used that tag like that, can't speak for Dark's girls)
Yeah, I noticed that too. Seems out of place for many characters.
Title: Re: General Discussion
Post by: Xela on February 13, 2014, 10:04:03 AM
Yeah, I noticed that too. Seems out of place for many characters.

Oki, if I get a chance to mess with the code tonight, I'll start with getting rid of on click sound from text-picture buttons (maybe find a replacement), make sure main screen is hidden during the next day report and slightly realign the new main screen and removing beauty tag from SM (only nude tag will remain, until we come up with something better).
Title: Re: General Discussion
Post by: DarkTl on February 13, 2014, 10:36:31 AM
I have a question, I think.
That event is fun and all. But why do you use Irma from my Queen's Blade pack as that mistress Blue?  ::)

Also, let's not tread in the steps of early Alkion and use illegible fonts. While stats are more or less ok (still not perfect), descriptions of slaves are a big no.
Title: Re: General Discussion
Post by: Xela on February 13, 2014, 10:44:33 AM
That event is fun and all. But why do you use Irma from my Queen's Blade pack as that mistress Blue?  ::)

!@#$%^ Didn't know... Maybe in this case, we could make her first fully intractable NPC out of her or something. Those two pics I got from Elionts Alkion's resources, not your pack (I am not 100% sure I have that pack loaded into the game). Finding NPCs without drawing from some characters will be more trouble than it's worth...

Also, let's not tread in the steps of early Alkion and use illegible fonts. While stats are more or less ok (still not perfect), descriptions of slaves are a big no.

Early? Isn't that font still one of the most used in Alkion..? I need to look into the whole fonts thing, we currently only have fonts from Alkion and our current "default font" is to plain.
Title: Re: General Discussion
Post by: DarkTl on February 13, 2014, 11:03:33 AM
!@#$%^ Didn't know... Maybe in this case, we could make her first fully intractable NPC out of her or something. Those two pics I got from Elionts Alkion's resources, not your pack (I am not 100% sure I have that pack loaded into the game). Finding NPCs without drawing from some characters will be more trouble than it's worth...
Not really. You need to search with tag "original" at gelbooru or danbooru for example, plenty of independent chars there. I do not mind making her npc, she has only 32 pics (even though they cover all categories). But it should be dateable npc, if those pics will be unused, that would be a shame.

Early? Isn't that font still one of the most used in Alkion..? I need to look into the whole fonts thing, we currently only have fonts from Alkion and our current "default font" is to plain.
At least they are bigger now after I pointed it out  :)

Keep finding out the strangest things about core members of dev team after nearly an year of working on this together (before this it was Dark and BE)
You don't expect from average people to work for years on indie hentai game, do you?  8)
Title: Re: General Discussion
Post by: Xela on February 13, 2014, 12:08:10 PM
Not really. You need to search with tag "original" at gelbooru or danbooru for example, plenty of independent chars there. I do not mind making her npc, she has only 32 pics (even though they cover all categories). But it should be dateable npc, if those pics will be unused, that would be a shame.

Ah ok, I'll take a look at the original filter, maybe I can find some character to replace her. It'll be weird to use high profile characters for NPCs, especially once that NPC/Event dev knows nothing about. As for dateable /f*ckble/recruit-able: in order to get that working, universal tracking system should be implemented for such NPCs or a mess of flags would have to be created all over the game. I had an idea to use Random/Unique girls at locations instead of NPCs,. allow reqruiting, replacing with other and so on. But that's not something I want to get into now.


You don't expect from average people to work for years on indie hentai game, do you?  8)

Guess not ;)
Title: Re: General Discussion
Post by: Xela on February 13, 2014, 06:28:49 PM
Super small update, just the stuff from the post above.

- Slightly reduced noise on sm track
- Added new font for testing
- Removed old on click sound and replaced it with on hover one
- Removed beauty tag from SM
Title: Re: General Discussion
Post by: Xela on February 14, 2014, 01:08:23 PM
Oki... I'll start in an hour and try to clear some of the bugs Jaeke reported. Tomorrow should be a good day for the development unless something comes up... Almost nothing got done this week so I need to catch up :)

Edit: Just remembered when DB crapped out on me. Back when I was releasing pre-Alphas as proofs of concept, I got "This file has been downloaded to many times" Error... Might not be applicable for purchased accounts or issue that no longer exists at all (speed was a lot better on DB back than as well).
Title: Re: General Discussion
Post by: assburger321 on February 14, 2014, 01:48:11 PM
Looking forward to this project.

It might just be me but every time i click the images on the first post to get an enlarged version i keep getting the standard server not found message. But it works just fine if i go do the exact same thing on the futanaripalace thread.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2014, 01:49:30 PM
Back when I was releasing pre-Alphas as proofs of concept, I got "This file has been downloaded to many times" Error...
Yup, it's 200 GB per day for paid accounts. Thus, only 50 people can download all my packs from db per day (0 people from Mega though).
Title: Re: General Discussion
Post by: Xela on February 14, 2014, 02:16:29 PM
Looking forward to this project.

It might just be me but every time i click the images on the first post to get an enlarged version i keep getting the standard server not found message. But it works just fine if i go do the exact same thing on the futanaripalace thread.

Nah, I copypastad it from FP and something got broken in the process. I'll rather fix girls not going back to work on autorest than fix the links ;)

Yup, it's 200 GB per day for paid accounts. Thus, only 50 people can download all my packs from db per day (0 people from Mega though).

Oh well... I am still hoping mega will get back to normal. It might work better with browser plugins, I've seen that happen.

Edit: I lied in both posts btw, we seem to have over 15k images already... (I only have 7 crazy packs from Lurker and Hhcbn and not all native packs) :)

INFO     PytFall 0.38    Loading: Mobs
INFO     PytFall 0.38    It took 0.0090000629425 secs to execute!
INFO     PytFall 0.38    Loading: Exploration
INFO     PytFall 0.38    It took 0.0739998817444 secs to execute!
INFO     PytFall 0.38    Loading: Tag Database
INFO     PytFall 0.38.tags loaded 14574 images from tags.json files
INFO     PytFall 0.38    It took 1.07999992371 secs to execute!
INFO     PytFall 0.38    Loading: Generating Random girls
INFO     PytFall 0.38    It took 0.381999969482 secs to execute!
INFO     PytFall 0.38    Loading: testing mode
INFO     PytFall 0.38    It took 0.0439999103546 secs to execute!
INFO     PytFall 0.38    Loading: GirlsMeets
INFO     PytFall 0.38    It took 0.0 secs to execute!
INFO     PytFall 0.38    Loading: Populating SlaveMarket
INFO     PytFall 0.38    It took 0.0 secs to execute!
INFO     PytFall 0.38    Loading: Arena!
INFO     PytFall 0.38    It took 0.365000009537 secs to execute!
Title: Re: General Discussion
Post by: CherryWood on February 15, 2014, 05:15:05 AM
Don't mention images to me now, I just spend more than hour trying to make a usable sprite from bad quality picture and after that I looked at google and found better source pics in seconds  :-[ (with look by image)
-----------
I spend few hours looking for better city pic again, but without any luck. I can probably improve the current one a bit (cutting mountains out and making it more colored) but I don't like it much and I'm still wondering if it wouldn't be better to use a map instead.
Title: Re: General Discussion
Post by: Xela on February 15, 2014, 05:26:30 AM
I spend few hours looking for better city pic again, but without any luck. I can probably improve the current one a bit (cutting mountains out and making it more colored) but I don't like it much and I'm still wondering if it wouldn't be better to use a map instead.

It's grim but I am liking it a little better than the old one :)

Decent map would be awesome, but one to top that pic would not be easy to build. We all knew that we'll be limited by whatever resources we can find on the net and even some of our development efforts will be decided by those resources. I once tried making a map using Cartographer and Photoshop but it took to long and didn't look all that awesome... I did watch a number of Tutorials before trying it obviously.

In any case: Took down the AutoRest bug, fixed the Brothel Report text, disabled Right/Middle mouse buttons doing strange things to the game and now I am looking into enabling right mouse button equipping items!
Title: Re: General Discussion
Post by: DarkTl on February 15, 2014, 05:40:51 AM
Don't know about you, I always use mouse with 5 or more buttons. More than enough for most of actions if RenPy supports it.
At very least we could use middle button for tooltips in the future. Or even allow players to customise mouse buttons functions.
Title: Re: General Discussion
Post by: CherryWood on February 15, 2014, 05:45:04 AM
It's grim but I am liking it a little better than the old one :)
Ok... then I'll wait for a while and If we don't find something better until then I look into it.


Problem is that almost every picture that looks good is from a game that is too well known to use  :(
like: (http://img24.eu/m-0qdhfrjk.jpg) (http://img24.eu/v-0qdhfrjk.jpg)
Title: Re: General Discussion
Post by: Xela on February 15, 2014, 05:59:21 AM
and now I am looking into enabling right mouse button equipping items!

Don't know about you, I always use mouse with 5 or more buttons. More than enough for most of actions if RenPy supports it.
At very least we could use middle button for tooltips in the future. Or even allow players to customise mouse buttons functions.

I am not 100% certain that Ren'Py knows about the extra mouse buttons... gonna use middle-mouse button for now, right one seems to be reserved for use on image buttons like the once we use for items.

Tooltips system is not really a priority, we'll implement better one only after screen redesign (if ever) since it's very likely that it'll be based on hotspots and it'll be to consumption to change it all the time without a dedicated screen designer.

Problem is that almost every picture that looks good is from a game that is too well known to use  :(
like: (http://img24.eu/m-0qdhfrjk.jpg) (http://img24.eu/v-0qdhfrjk.jpg)

Not a very big city... more like a town. I don't think that to well known is a problem, so are most of the characters in the game. We might even make it a part of the story. That pic is a good candidate, I might try to load it into the game when I get a chance.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2014, 06:15:59 AM
I'm personally not familiar with the game from which you took that map  :)
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 15, 2014, 07:42:35 AM
I should probably apologize for being so quiet on my end, been out of town visiting the gp's and only got back yesterday evening.
I'll see were I left off and get back to work.
Title: Re: General Discussion
Post by: Xela on February 15, 2014, 07:46:41 AM
I should probably apologize for being so quiet on my end, been out of town visiting the gp's and only got back yesterday evening.
I'll see were I left off and get back to work.

Kewl, tell me if you need anything.

=======================================
Done with the equipping with middle-button, fixed screenshots (Error is really odd so I just turned off reporting screenshot name, shots themselves will work).

That's all I can do on Jaeke's bughunt, next is hero normalization, I will also try to turn locations into a property for proper reporting. This will prolly take a while.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2014, 08:18:04 AM
Done with uploading packs to db. I still use password-protected archives with meaningless names for security reasons. All links in db links.txt file.
Title: Re: General Discussion
Post by: Xela on February 15, 2014, 09:07:48 AM
Done with uploading packs to db. I still use password-protected archives with meaningless names for security reasons. All links in db links.txt file.

Great, Mega is still half-dead.

I finally figured out why properties weren't working in PyTFall's character classes!

Default for new style classes for __setattr__ is:

Code: [Select]
                super(PytCharacter, self).__setattr__(key, value)
I've been using the old:

Code: [Select]
                self.__dict__[key] = value
This will make a lot of things easier in the future :) Going to take a look at MC now, maybe cook up some new screens...
Title: Re: General Discussion
Post by: Xela on February 15, 2014, 06:17:14 PM
Buuuuugs fixinn :)

- Vastly improved normal image cache on show (This will prevent pics jumping all over the place like when exiting from girls equipment for example)
- Fixed property setters in all Character classes
- Fixed girl going back to work after AutoRest
- Fixed "getting gold" report in adverts
- Fixed second girl for girlsmeets not being picked from unique chars
- Improved girlsmeets start method
- Finally fixed stupid error when game shut down on exit from multiple entries label (like H-profile or Items transfer) after entry into game options before entrying than label...
Yeah... I know, that crap can actually happen...
- Added game options to top-stripe in mainscreen
- Fixed screenshots (press s)
- Killed right and middle mouse buttons messing with the game
- Improved (at least IMHO) transitions in multiple places
- Items can now be equipped using middle mouse button instead of pressing equip button
- Paging in girlslist can now be done with mousewheel (fecking useful with 100+ girls)
- Memory will now be freed every in game day
- Prevented error when return button in the park actually teleported you to cityview instead of going through park gates
- Nami will now start with 300 fatigue for testing purposes


Also, I did another battery of tests with 1000+ girls and FINALLY managed to crash Ren'Py with out-of-memory error (without actually writing a script intended to cause a crash :) ) It took a while and I was unable to replicated it, only get the game to slow down a lot but game will now clear memory every next day (for now only there, we may use it in other places at some point as well). The issue as I understand it is that Ren'Py natively a VN engine expects game to flow through labels and screens using clearing caches as it proceeds. We on the other hand, pretty much keep jumping around the same labels most of the time...
Title: Re: General Discussion
Post by: CherryWood on February 15, 2014, 06:54:33 PM

- Improved (at least IMHO) transitions in multiple places
I like it!

EDIT: you have small typo in main street

Title: Re: General Discussion
Post by: Xela on February 15, 2014, 07:00:02 PM
I like it!

EDIT: you have small typo in main street

Thanks, quickfixed it :)
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 16, 2014, 11:11:15 AM
I couldn't agree more about the whole mousewheel thing, no-one wants to spend 3 years going through a damned list :D
Title: Re: General Discussion
Post by: Artemx on February 16, 2014, 01:35:18 PM

I'm sorry, but errors were detected in your script. Please correct the
errors listed below, and try again.




File "game/library/screens/pyt - screens - girlprofile.rpy", line 854: expected a keyword argument, colon, or end of line.
    text "{color=[purple]}{size=30}{b}{font=fonts/Parka36.ttf}%s"%chr.element.split(" ")[0] align(0.1, 0.1)
                                                                 ^


File "game/library/screens/pyt - screens - heroprofile.rpy", line 230: expected a keyword argument, colon, or end of line.
    text "{color=[purple]}{size=30}{b}{font=fonts/Parka36.ttf}%s"%hero.element.split(" ")[0] align(0.1, 0.1)
                                                                 ^


File "game/library/screens/pyt - screens - mainscreen.rpy", line 66: expected a keyword argument, colon, or end of line.
    text "{font=fonts/rubius.ttf}{size=25}%s"%calendar.weekday() pos (100, 45)
                                             ^


Ren'Py Version: Ren'Py 6.16.5.525


How i can fix that??

Title: Re: General Discussion
Post by: Xela on February 16, 2014, 01:39:05 PM
RenPy options --> Update channel --> PreRelease and click on Update in the main menu. (You need Ren'Py 6.17.xxx for parser to accept that code)

WTF is with those lines???? They WERE working in Ren'Py 16.xxx before... similar errors have been reported with Ren'Py 16.5 only :(

Edit: I think:

("{font=fonts/rubius.ttf}{size=25}%s"%calendar.weekday())

that extra brackets might fix this for all versions since like 12.xxx.
Title: Re: General Discussion
Post by: DarkTl on February 17, 2014, 08:53:35 AM
No, that would make them almost impossible to defeat. Like we've agreed, all mobs were constructed based on relative strength, like a Troll might have strength of 80 and magic of 0 and Wraith magic of 90 and strength of 5 so it just takes their base stats and multiplies those preserving their strengths and weaknesses in relative proportions.
Dammit, stop evading my questions  :D
What I mean is I have no idea what 2x multiplayer means. Or 1x multiplayer.
 Is it strong, weak, etc?
Title: Re: General Discussion
Post by: Xela on February 17, 2014, 09:02:32 AM
Dammit, stop evading my questions  :D
What I mean is I have no idea what 2x multiplayer means. Or 1x multiplayer.
 Is it strong, weak, etc?


.................

{
"name": "King Slime",
"battle_sprite": "content/npc/mobs/king.png",
"portrait": "content/npc/mobs/pking.png",
"element": "Water 3",
"stats": {"attack": 20, "defence": 50, "magic": 30, "agility": 40, "luck": 10, "charisma": 40},
"bskills": {"FistAttack": 1},
"mskills": {}
},

Quote
it just takes their base stats and multiplies those

Red values will be multiplied by the multiplier, how is this evading?  ???
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 17, 2014, 11:25:37 AM
So an average multiplier would be x1.1 or x1.2 then, where as a boss could be x1.6 or x2 if you want them to be quite tough
Title: Re: General Discussion
Post by: Xela on February 17, 2014, 11:53:18 AM
So an average multiplier would be x1.1 or x1.2 then, where as a boss could be x1.6 or x2 if you want them to be quite tough

Depends... Hero + his crew can get pretty damn powerful, at level 50 - 60 any of them would take out a boss like that with any attack.
Title: Re: General Discussion
Post by: DarkTl on February 17, 2014, 12:39:41 PM
.................
::) :( :'(

So an average multiplier would be x1.1 or x1.2 then, where as a boss could be x1.6 or x2 if you want them to be quite tough
Depends... Hero + his crew can get pretty damn powerful, at level 50 - 60 any of them would take out a boss like that with any attack.
^That's the kind of answers that I need. So, a boss for a new team should have about 2x to be strong enough, while for level team 50-60 we need, let's say, about 80-100 or something?
Title: Re: General Discussion
Post by: Xela on February 17, 2014, 01:04:59 PM
::) :( :'(
^That's the kind of answers that I need. So, a boss for a new team should have about 2x to be strong enough, while for level team 50-60 we need, let's say, about 80-100 or something?

Beast chainfights are right now hero only. At level one hero will have a max capped at:

                'luck': 50,

                'attack': 40,
                'magic': 30,
                'defence': 40,
                'agility': 25,
                'mp': 30,

as a Brothel owner and about + 40 if player decides to start as a warrior (MAX will increase not stats).

You know the stats of mobs.
Title: Re: General Discussion
Post by: DarkTl on February 17, 2014, 01:15:20 PM
Mobs don't have any caps at all, right? I mean, it is possible to use 10000000 multiple to create an unbeatable creature?
Title: Re: General Discussion
Post by: Xela on February 17, 2014, 01:52:31 PM
Mobs don't have any caps at all, right? I mean, it is possible to use 10000000 multiple to create an unbeatable creature?

They are built off the same baseclass so they do have a cap, but it should be very high. If not, I'll fix that.
Title: Re: General Discussion
Post by: Xela on February 17, 2014, 05:04:01 PM
Tonight's update:

- Fixed Arena ladder bug reported by Jaeke
- Fixed a number of issues with the Arena (AF list, AF restore, AF inclusion)
- Noted that characters placed into Arena by the player would usually have lower stats than their standings
- Restructured some code
- Preserved Pythons built-in chr as characters since we're using chr all over the place as in game girl
- Fixed SM bug reported by Jaeke
- Fixed Wages not being displayed in Fin Reports

Basically took care of all bugs reported that I could figure out. Still couldn't replicate the +800 000 EXP thing Jaeke keeps getting.
Title: Re: General Discussion
Post by: DarkTl on February 18, 2014, 01:07:12 AM
Couldn't his quicksave help you to replicate the exp bug?
Title: Re: General Discussion
Post by: Xela on February 18, 2014, 02:09:45 AM
Couldn't his quicksave help you to replicate the exp bug?

Maybe, game should also auto-save a lot but it seems to be difficult to catch even with that. I am simply unable to replicate it so far...
Title: Re: General Discussion
Post by: DarkTl on February 18, 2014, 05:30:55 AM
Btw, you mentioned that we won't have negative stats anymore. Yet you mentioned in other post (about mobs) that we have luck from -50 to 50. I'm confused, what should I do with luck?
Title: Re: General Discussion
Post by: Xela on February 18, 2014, 05:46:12 AM
Btw, you mentioned that we won't have negative stats anymore. Yet you mentioned in other post (about mobs) that we have luck from -50 to 50. I'm confused, what should I do with luck?

Luck is separate, it can go below 0 like disposition.

I was talking about minimums of normal stats being pushed below 0 by traits and items. I thought I got rid of that but Jaeke reported a negative agility so something was missed. I'll take a look at that tonight.
Title: Re: General Discussion
Post by: DarkTl on February 18, 2014, 05:49:38 AM
I see. Do they have absolute min and max? Luck and disposition, I mean.

Another thing is if I use negative luck values for mobs, won't they be even smaller with high multiple? Because multiplication rules and stuff.
Title: Re: General Discussion
Post by: Xela on February 18, 2014, 07:24:37 AM
I see. Do they have absolute min and max? Luck and disposition, I mean.

Another thing is if I use negative luck values for mobs, won't they be even smaller with high multiple? Because multiplication rules and stuff.

Not really, we max for disposition, joy and luck can be modified by traits and items, I might block this in the future but it's possible now. They are not being increased with levels obviously.

Doesn't really matter all that much, luck is only used for critical hits right now + hard min/max will not allow luck to go to far off the reservation.
Title: Re: General Discussion
Post by: DarkTl on February 18, 2014, 07:41:04 AM
What is the formula for critical hits?
Title: Re: General Discussion
Post by: Xela on February 18, 2014, 08:43:33 AM
What is the formula for critical hits?


Code: [Select]
                if dice(10):
                    if (attacker.Stats.Luck >= target.Stats.Luck and dice(max(50, attacker.Stats.Luck*2))) or dice(50):
                        multiplier = 2.5
Title: Re: General Discussion
Post by: DarkTl on February 18, 2014, 09:14:12 AM
^I wonder if we should do something about multiplier as well in the future. I mean dependency on stats/RNG/element affinities.

Uploaded to my db new xmls for traits and items, no more negative stats there, except luck.
Gifts are done for now, 15 types should be enough for alpha. It's my db\items\gift for sprites and my db\items xmls\gifts.json for data.

Started to make Guilty Gear pack today. Will start to work with mobs sets/rewards json for arena tomorrow.
Title: Re: General Discussion
Post by: Xela on February 18, 2014, 04:55:09 PM
^I wonder if we should do something about multiplier as well in the future. I mean dependency on stats/RNG/element affinities.

Uploaded to my db new xmls for traits and items, no more negative stats there, except luck.
Gifts are done for now, 15 types should be enough for alpha. It's my db\items\gift for sprites and my db\items xmls\gifts.json for data.

Started to make Guilty Gear pack today. Will start to work with mobs sets/rewards json for arena tomorrow.

We'll keep improving BE as we go and do something major post beta/release.

Would really appreciate if you just updated SF with items/traits... not threw them in DB folder.

I'll take a look at the gift when I get back to girlsmeets.

Mrrr0re bugfixin:
- Bad use of setattr builtin fixed in two places, was causing insane stat increases is now fixed
- Fixed old code in SM displaying wrong max stats
- Fixed paging in girls list screen
- Added an extra check when leaving girl equipment screen in case item kills the girl
- Added a check to prevent items like Potion of ultimate health from killing the girl on reverse, now her health will be set to 1
- Fixed a crash on missing an arena match
- Fixed a bug where hero was auto-assigned to fight in the arena causing a variation of bug above
Title: Re: General Discussion
Post by: DarkTl on February 19, 2014, 01:39:47 AM
3 consumables and 1 amulet became gifts, I'm afraid I'll broke something by pushing it.
 
Title: Re: General Discussion
Post by: Xela on February 19, 2014, 04:37:34 AM
3 consumables and 1 amulet became gifts, I'm afraid I'll broke something by pushing it.

Items are a closed system, so no, you won't break anything + if it works for you, it'll work for everybody since we're all working of the same repo.
Title: Re: General Discussion
Post by: DarkTl on February 19, 2014, 12:08:46 PM
Pushed everything.
Today I created arena_rewards.json. The idea is that we have several sets of items with different probability for every single item.
Just like rmg traits/elementals. So, theoretically, you beat 100 elves at arena and got access to

Quote
"id": "Elven_gear",
    "items": {"Elven Sage Armor": 20, "Elven Sage Boots": 24, "Elven Sage Armbands": 25, "Elven Ranger Armor": 30, "Elven Ranger Boots": 34, "Elven Ranger Armbands": 35, "Elven Armor": 60, "Elven Boots": 64, "Elven Gloves": 65, "Elven Rapier": 75, "Elven Bow": 80, "Elven Cape": 100}
Not necessarily 1 item, the number of rng rolls should depend on the number of rounds that you survived.
Title: Re: General Discussion
Post by: Xela on February 19, 2014, 12:18:57 PM
Pushed everything.
Today I created arena_rewards.json. The idea is that we have several sets of items with different probability for every single item.
Just like rmg traits/elementals. So, theoretically, you beat 100 elves at arena and got access to
Not necessarily 1 item, the number of rng rolls should depend on the number of rounds that you survived.

I meant for the CHAINFIGHTS when I requested this.

What you suggest is awesome and not very difficult to code in BUT at this very moment, there is no way for a game to know if an elf was defeated since there is nothing in girls JSON/XML girl files to specify that a girl is an elf. We do not have that as traits and don't have any "race" field unless I am mistaken.

So in order for this to work... you'll have to put even more effort into this until I can put in a counter in the Arena and code in an Event to present player with the gift as a sign of admiration from the elven folk for example (just appearing out of nowhere would be to impersonal).

=============================================
I am still looking at the schools code, looks messy but fairly sound. Did anyone EVER had a girl actually complete a course? Logic is there but I don't think I've seen that happen in a long time. This is another thing for be to be on a lookout for I guess...
Title: Re: General Discussion
Post by: DarkTl on February 19, 2014, 12:23:31 PM
No-no-no. Tomorrow I'll create another json where we'll have chainfights. However, that json will be for fights only.
When I will set rewards for them, I'll use id from this json. Something like "reward": {"Elven_gear": 20}, that should mean 1 roll per 20 rounds.
Title: Re: General Discussion
Post by: Xela on February 19, 2014, 12:35:15 PM
No-no-no. Tomorrow I'll create another json where we'll have chainfights. However, that json will be for fights only.
When I will set rewards for them, I'll use id from this json. Something like "reward: {"Elven_gear": 20}, that should mean 1 roll per 20 rounds.

Ah I see, you'd handpick elves from mobs?

PS: Chainfight (and current codename) is old name for Survival btw. There are currently only 7 rounds (maybe 8 if I messed up the counter). Rewards should be awarded at the end of every round. Alternately, you can simply setup the amount of rounds you'd like to see in Json as well.

Just remember that hero fights along AND cannot heal himself during or between the fights.
Title: Re: General Discussion
Post by: DarkTl on February 19, 2014, 12:43:55 PM
What is a round then? 1 fight?

I guess I can use rgirls ids on a par with mobs ids for chainfights?
Title: Re: General Discussion
Post by: Xela on February 19, 2014, 01:00:35 PM
What is a round then? 1 fight?

I guess I can use rgirls ids on a par with mobs ids for chainfights?

You do have a copy of a game. right?  :D

There is a Survival in the Arena. That's how this all got started and what Jaeke was talking about. Basically, you start a survival chainfight - game randomly pics an opponent for you from the mobs - if you win you're offered to try again vs stronger mob or quit.

If you win 7 times in a row without quitting, you get an Item as a price.

Every time you win ANY round, you get a bit of gold, rep and chance to increase your stats.

Now... the small problem was that I simply coded the game to give player ANY items priced above xxx Gold, but Jaeke thought it was weird getting an item like Fairy Gown as a price for beating the leaving sh!t out of monsters in a difficult fight. So I've asked you to make a list of items you'd think were better suited... Afterwards we've expanded towards you setting up a number of these fights by handpicking monsters for a game to choose from instead of a total pool of mobs, difficulty levels based on mobs and multiplier AND correct pool of items and maybe other rewards like gold to be awards at the completion of an event.

Maybe something got lost in the communication. The above would really spice the chainfights up!
Title: Re: General Discussion
Post by: DarkTl on February 19, 2014, 01:18:50 PM
You do have a copy of a game. right?  :D
Yup, but I have no idea what is a placeholder and what is a more or less ready content when we talking about arena  :)

Also, you didn't answer the second question. I can use rgirls ids on a par with mobs ids for chainfights? There are slimes and elves, they could be used as mobs, I guess.
Title: Re: General Discussion
Post by: Xela on February 19, 2014, 01:48:16 PM
Also, you didn't answer the second question. I can use rgirls ids on a par with mobs ids for chainfights? There are slimes and elves, they could be used as mobs, I guess.

You could... but maybe save it for later, when we have more info on girls file like race and codebase is more mature. If you decide to go through with this, it's not going to be an issue, just remember that random girls stats are not constructed in the same way as mobs stats and multiplier is not applicable so you'd have to specify their exact stats instead of relative stats with multiplier like we do for mobs. Maybe they can be bosses or something along those lines...
Title: Re: General Discussion
Post by: Xela on February 19, 2014, 05:40:19 PM
- Fixed bad experience adjustments formulas
- Removed girls getting tired from courses
- Fixed adds prices not being displayed correctly
- Increased max Teacher Knowledge to 300 instead of 100
- Restored code that enables girls to complete a course for extra bonuses and maybe even reall small max stats increase
- Added employment info to  the items transfer screen
- Fixed the bug where game would freeze on entry into an empty slave shop

+ Merged with all of the Dark's updates!
Title: Re: General Discussion
Post by: DarkTl on February 19, 2014, 11:43:38 PM
Race for girls, huh? I wonder about it.

Maybe just as a string, like origin field, to group them during some events or to use with relationships system between girls. There are dozens of races, we won't be able to properly code them all.
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 02:46:21 AM
Race for girls, huh? I wonder about it.

Maybe just as a string, like origin field, to group them during some events or to use with relationships system between girls. There are dozens of races, we won't be able to properly code them all.

That's a decent option, yeah... the more info the game has - the better. Even if we only use it for sparsely.
Title: Re: General Discussion
Post by: DarkTl on February 20, 2014, 03:01:56 AM
About the forth wall, guess we could add tab with all info like full name, description, race, etc. If you want to add modder and origin fields (version is an overkill, pretty sure you don't give a new version even to the game after every push), they probably should be hidden by default. For example, a small info (http://www.icondig.com/data/icons/ie_Bright/512/information_green.png) button somewhere in a corner of the tab.
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 04:05:29 AM
About the forth wall, guess we could add tab with all info like full name, description, race, etc. If you want to add modder and origin fields (version is an overkill, pretty sure you don't give a new version even to the game after every push), they probably should be hidden by default. For example, a small info (http://www.icondig.com/data/icons/ie_Bright/512/information_green.png) button somewhere in a corner of the tab.

We already have an info tab so it's about throwing more stuff in there. Unless Jaeke comes with a new barrage of bugs, I'll see if I can code in a simple Hero setup screen for the Alpha. Since we still don't have any texts/plans for the lifestory --> stats increases like you wanted to do, I'll make something like Alkions setup screen but with less options (because I don't really know how to use them in the game right now).
Title: Re: General Discussion
Post by: DarkTl on February 20, 2014, 04:30:58 AM
What do you mean by Girls Control Screen in the to do list?
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 04:36:08 AM
What do you mean by Girls Control Screen in the to do list?

Girl Control in the Girl profile screen:

- Fix Interactions | Note Darks partner pick request.

this is not placed there correctly.
Title: Re: General Discussion
Post by: DarkTl on February 20, 2014, 04:43:04 AM
Ah, my bad. I kept wondering for some time  what could it mean  :)

Guess we not that far from the alpha. If you write a guide about adding spells to the game, I'll try to add a couple for each element after I'll finish chainfights.
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 05:51:59 AM
Guess we not that far from the alpha. If you write a guide about adding spells to the game, I'll try to add a couple for each element after I'll finish chainfights.

Codewise, we're very close, especially since Jaeke debugged most of the game to a great depth. We're still short on events and have almost 0 interactions. Also state of girlsmeets is unclear as I've not heard anything from Bowman for a while.

Take a look at my post to CW on loading animations into the game as well as assets file in the library/be folder. I am having trouble beliving that somebody who can/once could program in Delphi has trouble figuring it out.

As for guide in events, read any basic intro into the Ren'Py and take a look at the events folder. Writing proper guides take a lot of time :(

PS: BB in a couple of hours.
Title: Re: General Discussion
Post by: Jaeke on February 20, 2014, 06:34:15 AM
I'll hold off on too much more testing until you get some more things implemented like that hero setup, sounds good. Well, unless there are crashes/error reports. But don't let bugs get in the way of features.
Title: Re: General Discussion
Post by: DarkTl on February 20, 2014, 06:36:14 AM
Well, I cannot use RenPy at work because of deadly antivirus of Satan himself, also known as Kaspersky. Since it doesn't trust RenPy and checks every single file, the game's loading time is like 20 min or so (yet is does trust Kamidori, as well as any hentai VN  :D ).

I'll take a look at assets file though.
Title: Re: General Discussion
Post by: CherryWood on February 20, 2014, 07:05:02 AM
Codewise, we're very close, especially since Jaeke debugged most of the game to a great depth. We're still short on events and have almost 0 interactions. Also state of girlsmeets is unclear as I've not heard anything from Bowman for a while.
Can I touch the interaction file? I really miss an option to talk with your girls that doesn't involve sex... (why do we have sex options then?)
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 08:50:17 AM
Well, I cannot use RenPy at work because of deadly antivirus of Satan himself, also known as Kaspersky. Since it doesn't trust RenPy and checks every single file, the game's loading time is like 20 min or so (yet is does trust Kamidori, as well as any hentai VN  :D ).

I'll take a look at assets file though.

I see, well, you can still at it's documentation on the website...

Can I touch the interaction file? I really miss an option to talk with your girls that doesn't involve sex... (why do we have sex options then?)

You don't have to ask this stuff. Just change what you need to and push. Same counts for other files, if you see something you can fix/improve, especially texts, transitions, pics choices, trait checks and so on (stuff you understand) just do it and push.
Title: Re: General Discussion
Post by: DarkTl on February 20, 2014, 11:16:51 AM
Yup, but iirc you said yourself that documentation is pretty poor. Animation is clear enough to me, but not sure about events. Although, it can wait for post alpha.
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 12:54:22 PM
Yup, but iirc you said yourself that documentation is pretty poor. Animation is clear enough to me, but not sure about events. Although, it can wait for post alpha.

Documentation is a lot better today and that counted mainly for the advanced stuff. Scripting is very well covered, even in the Tutorial Demo.
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 02:50:17 PM
I'll hold off on too much more testing until you get some more things implemented like that hero setup, sounds good. Well, unless there are crashes/error reports. But don't let bugs get in the way of features.

Missed this post. I'll start working on MC screen tonight but rooting out bugs is just as important. There is no point in adding new features if the current once are broken.
Title: Re: General Discussion
Post by: Jaeke on February 20, 2014, 03:16:34 PM
Yea but it gives me something new to play with. ;D Gotta keep morale high.
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 03:20:18 PM
Kewl.

I am going to use just 2 - 3 sprites for now but if anyone got any ideas for extra MC sprites, let me know. There should be a transparent png for battle and a portrait (can be cut from the battle sprite).
Title: Re: General Discussion
Post by: CherryWood on February 20, 2014, 03:38:33 PM
Kewl.

I am going to use just 2 - 3 sprites for now but if anyone got any ideas for extra MC sprites, let me know. There should be a transparent png for battle and a portrait (can be cut from the battle sprite).
It was you who didn't want more of them for alpha  :D  But this should be really easy. What do you mean by "let me know"?
1. It would be nice to have battle pic support for MC like that we have for arena npcs
2. Maybe we could use some default sprite for any girl that doesn't have battle_sprite (some hooded character maybe)
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 03:46:14 PM
It was you who didn't want more of them for alpha  :D  But this should be really easy. What do you mean by "let me know"?

I didn't want to have a mc setup screen period, but I believe Dark said we should at least make a simple one. By let me know, I mean let me know. This doesn't sound so super simple to me... anyway I'll code in a setup screen and if anyone finds more MC sprites, it'll be as simple as renaming them and throwing them into a folder.

1. It would be nice to have battle pic support for MC like that we have for arena npcs

Noted.

2. Maybe we could use some default sprite for any girl that doesn't have battle_sprite (some hooded character maybe)

Find one, it wouldn't be that hard to code in BUT it may be a better bet to disable girls without battle sprites from becoming warriors.
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 04:08:32 PM
LOL, it would take me less time to find 50 males then tag images for one girl  :) I start throwing some into my DB folder. Do you have any preferences how they should look?

We'll know more this weekend, I am kinda coding this without a plan :)

btw, I'll add some more arena fighters/mobs and skill animations, but I'm waiting for few more types of skills first (like healing or weakness).
I'm beginning to have some time for this again, but I also still have a lot untaged images...

I am not really planning to add those skills for the Alpha, but we'll see. Some of those may have been coded in already.
Title: Re: General Discussion
Post by: CherryWood on February 20, 2014, 04:12:42 PM
Hey, you are too fast! I don't have a chance for my usual "delete and rewrite post 3 times" style in this forum  :o :D
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 04:15:24 PM
Hey, you are too fast! I don't have a chance for my usual "delete and rewrite post 3 times" style in this forum  :o :D

Hgehe, I am too sleepy to code so I am looking at forums. I'll try to at least write 100 lines tonight...
Title: Re: General Discussion
Post by: CherryWood on February 20, 2014, 04:19:17 PM

I am not really planning to add those skills for the Alpha, but we'll see. Some of those may have been coded in already.
I'm not requesting anything. I still can try to write something for interaction/beach instead and I don't have productivity like you anyway
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 04:23:27 PM
I'm not requesting anything. I still can try to write something for interaction/beach instead and I don't have productivity like you anyway

Interaction are just as important as hero screen, if not more...
Title: Re: General Discussion
Post by: Xela on February 20, 2014, 07:23:42 PM
Some beginnings of MC setup screen, I've also got my hands on some new fonts:

(http://s15.postimg.org/l6ahouv07/screenshot0005.jpg) (http://postimg.org/image/l6ahouv07/)
Title: Re: General Discussion
Post by: DarkTl on February 20, 2014, 11:56:53 PM
I didn't want to have a mc setup screen period, but I believe Dark said we should at least make a simple one.
It's called roleplaying  ;)
Even if we don't have classes, different sprites, scripted backstory and stuff for MC, name and maybe optional short description (that will be seen at his info screen) won't hurt.

Actually, that description for warrior class could be description for warrior MC by default, while player could write his own instead if he wants to.
On the other hand, if we'll have scripted backstory with choices in the future, it will be useless.

Find one, it wouldn't be that hard to code in BUT it may be a better bet to disable girls without battle sprites from becoming warriors.
I'd prefer to disable them. But others may disagree with that. Also, crazy's packs don't have sprites at all. Guess we need both options just in case.

Some beginnings of MC setup screen, I've also got my hands on some new fonts:
I wonder if you could tie fonts with characters. That crystal.ttf would look perfect with impersonal artificial girls :)
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 01:15:52 AM
I'd prefer to disable them.

Me too, but using default is prolly just as easy. If CW find a good default sprite...

I wonder if you could tie fonts with characters. That crystal.ttf would look perfect with impersonal artificial girls :)

Very easy to do, may even use one font per character. Crystal as we got it from Alkion will not work, it doesn't have a lot of characters but I am sure there is an improved version somewhere.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 02:19:35 AM
Just finished a simple chainfight json, should be enough for alpha. Uploading here for now, forgot my flash card today  :)
Of course, I cannot balance it properly until it will be loaded in the game.
 
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 02:40:11 AM
Just finished a simple chainfight json, should be enough for alpha. Uploading here for now, forgot my flash card today  :)
Of course, I cannot balance it properly until it will be loaded in the game.

I'll see if I can load in all the new content after the draft of basic MC setup is done. You should expand on rewards that are not actually items.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 02:48:54 AM
I don't want to give gold here, that is what brothels for. Not to mention that you can sell items if you need gold that badly.
Maybe fame?
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 03:23:07 AM
I don't want to give gold here, that is what brothels for. Not to mention that you can sell items if you need gold that badly.
Maybe fame?

It's not what I meant, there are strings like: Elven_gear, common_Cons or something similar. I need to know what they represent.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 03:28:19 AM
Ah, I see. This is sets of rewards from arena_rewards.json that I pushed recently.
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 03:30:58 AM
Ah, I see. This is sets of rewards from arena_rewards.json that I pushed recently.

Purrfect, I didn't look at that yet but it's settled then.
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 06:34:38 AM
Should we allow player to pick MCs alignment? Or is it a better bet to make it a part of an event or some guild thing in the future?
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 06:41:38 AM
I think we shouldn't. An event is a good idea, maybe something related to your girls, like if you have high disposition with fire girl, you both could go for a quest, and after that MC will have fire as well.
Maybe it even could be changed unlimited number of times, but the quest should be difficult enough.
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 06:50:15 AM
I think we shouldn't. An event is a good idea, maybe something related to your girls, like if you have high disposition with fire girl, you both could go for a quest, and after that MC will have fire as well.
Maybe it even could be changed unlimited number of times, but the quest should be difficult enough.

Yeap... something like that, but I want alignment to be constant, changing that should not be possible without scripting.

We also do not have a way to learn spells yet. Should we code in a Mage Guild or some Mage Tower as a location for the Alpha or do something with items (Like a new scroll type consumable)?
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 07:02:09 AM
Well, we do change MC alignment from neutral to something else. While it shouldn't be possible to change it freely and anytime, the option should be there, I think.
It even could be two separate quests. The early and easy one is to obtain alignment, and the difficult optional quest is to change it if player changed his mind.

While I have some good icons for spell books and scrolls, the current item system doesn't support it I'm not mistaken. Although, we could handle it another way: you could find a spell book, but you need to bring it to a Mage Guild to learn the spell.
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 07:08:19 AM
While I have some good icons for spell books and scrolls, the current item system doesn't support it I'm not mistaken.

? I thought we had that from the very first concept of items system?

Although, we could handle it another way: you could find a spell book, but you need to bring it to a Mage Guild to learn the spell.

To complicated and messy? It doesn't sound too bad but imagine hero at level 70 being required to go to a guild to learn Fire 1 spell if he can already do Fire Arrows and FireBall for example. It's one thing if that knowledge can be learned only at one or two places but with a book/scroll, it should be simpler.

There are plenty of ways to go here actually... gain new spells according to your alignment with levels or the scrolls or the guild or asking girls/NPC to teach you and so on. We just need to pick something for the Alpha.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 07:16:14 AM
Moreover, we have 3 levels of alignment. So if you want lvl 3 fire, you need to do the quest with 3 different fire girls.

? I thought we had that from the very first concept of items system?
Well, if spells are count as skills, then yes. I thought it is another class or something.

There are plenty of ways to go here actually... gain new spells according to your alignment with levels or the scrolls or the guild or asking girls/NPC to teach you and so on.
Hm, I wonder how difficult it would be to code if we assume that fire 3 MC could read any fire scrolls, but he needs a girl with lvl2 darkness to learn a lvl2 darkness spell from a scroll.
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 07:23:39 AM
Moreover, we have 3 levels of alignment. So if you want lvl 3 fire, you need to do the quest with 3 different fire girls.

Right now we only have one.

Well, if spells are count as skills, then yes. I thought it is another class or something.

There should be options in items. Something like mskills or magic_skills and bskills or battle_skills. I need to take a look at the code.

Hm, I wonder how difficult it would be to code if we assume that fire 3 MC could read any fire scrolls, but he needs a girl with lvl2 darkness to learn a lvl2 darkness spell from a scroll.

Super easy. We would require more logic for spells, there is currently spells don't really have levels, it's only in the names and will not reflect reality in all cases.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 07:28:03 AM
Yup, we need 3 levels for both affinity and spells then.

Maybe spells also should have requirements to magic and/or intelligence, for both girl and MC if we talking about joint study.
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 07:41:12 AM
Yup, we need 3 levels for both affinity and spells then.

Yeap, if we go this way, we might do a fourth super level that would require two/three level 3 practitioners to learn the spell.

Maybe spells also should have requirements to magic and/or intelligence, for both girl and MC if we talking about joint study.

Another thing that'll be easy to code in. We're talking post or pre-Alpha right now? For the moment, BE only recognizes one level of affinity. This looks like it's not a big deal to code in and I doubt that it actually is but creating content for all of this might take ages. We don't even have enough spells yet.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 07:44:44 AM
Post alpha, no need to delay alpha only to add something not from the to do list.
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 07:48:35 AM
Post alpha, no need to delay alpha only to add something not from the to do list.

Well, the idea is really good. We can pair it with learning from guild but with girl you can learn it for free and guild would require some crazy fee...

I am doing the stats for the MC now, no idea how to balance those since there is no training for MC yet and a lot hasn't been coded in yet (like interactions) so MC stats are almost not in use outside of combat but I'll do the best I can come up with for now.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2014, 07:57:18 AM
Of course, girls shouldn't teach you too (at least for free) with low enough disposition.
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 09:06:38 AM
LoL

I am building this MC screen and get a REALLY strong urge to redesign pytfalls world as a space adventure  :D
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 10:58:04 AM
Just pushed:

- Added basic MC setup screen
- Edited MC starting stats
- Adjusted Arena gangs stats so half of the fighters would be closer to Warrior hero level (they were all killing him with one blow)
- Added loading function for hero sprites
- Edited Player.show method to work with that system
- New fonts
- New sfx

Will prolly start with something else tonight...
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 05:47:20 PM
What do "reward": {"Ninja_gear": 1, "Cons_common": 2}

1 and 2 mean here? I cannot find your explanation in the posts :(
Title: Re: General Discussion
Post by: Xela on February 21, 2014, 07:23:15 PM
And last update:


- Fixed some minor bugs
- Overclocked hero in dev mode once again
- Restored FireArrow to normal damage
- Enabled Dark's Arena Mob Fights
- Added luck/charisma to list of battle stats (This might cause problems elsewhere)
- Added cache to Player.show to avoid potential problems with screens


Survival mode got a hell load better :) I've also factored in hero's luck when awarding items!
Title: Re: General Discussion
Post by: Jaeke on February 21, 2014, 08:02:07 PM
Lovin the new survival mode. 
Those divine warriors though, I'm hitting for only 40 damage with 1000 attack skill  ???

Might actually survive the goblin horde on non dev version, I'll have a look later.

Title: Re: General Discussion
Post by: Xela on February 21, 2014, 08:13:32 PM
Those divine warriors though, I'm hitting for only 40 damage with 1000 attack skill  ???

Noticed that as well...

I'll add multiplier to stat/gold rewards tomorrow and take a look at BE damage.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 01:56:56 AM
What do "reward": {"Ninja_gear": 1, "Cons_common": 2}

1 and 2 mean here? I cannot find your explanation in the posts
You should get 1 random item from Ninja_gear set and 2 random items from Cons_common set.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 02:43:50 AM
You should get 1 random item from Ninja_gear set and 2 random items from Cons_common set.

Ah ok... I thought dice should have been thrown for each of the items individually.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 02:46:26 AM
That would be too profitable.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 03:22:53 AM
Omg, that intro and the skyrim sound for warrior, lol  :D

Well, sci-fi is always welcomed (a new map for the city ftw (http://fc04.deviantart.net/fs7/i/2005/208/f/f/Askey_City__Helios_by_strangelet.jpg)).
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 03:44:01 AM
Omg, that intro and the skyrim sound for warrior, lol  :D

Well, sci-fi is always welcomed (a new map for the city ftw (http://fc04.deviantart.net/fs7/i/2005/208/f/f/Askey_City__Helios_by_strangelet.jpg)).

LoL Yeah, I was in the weird mood :)
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 06:14:46 AM
Right... so apparently damage attribute of magic and multiplier attribute of Normal attacks do EXACTLY the same thing... either it's a bad case of picking a name for an attribute or there was some intent that was never finished.

I know followed the full chain of damage calc (it's actually quite simple). For now I'll just dial down the spells multipliers to weapons level.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 07:37:16 AM
Just pushed:

- Dialed down power of magic attacks in BE
- Fixed some bad anchoring of magic in BE
- Base rewards of gold and arena rep in Survival are now based on multiplier as well
- Fixed item rewards as Dark intended them
- Slightly realigned the final reqards screen
- Lowered experience gained by guards in training facilities
- Possibly fixed cources missing a day
- Added hero stat bars to the Arena
- Fixed bad money handling in the shops when buying multiple items
- Items should be logged under Items in hero finances now
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 08:03:41 AM
I'll try to adjust mobs strength and rewards for chainfights tonight or tomorrow.
I could use a console command to change MC level for testing.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 08:13:14 AM
I'll try to adjust mobs strength and rewards for chainfights tonight or tomorrow.
I could use a console command to change MC level for testing.

It's not that simple, MC is overclocked at the moment so there is little you can do. I'll see if I can write a function to facilitate testing.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 08:38:25 AM
Added a function to level up MC and max out all of his stats:

enter in console:
Code: [Select]
buff_mc(5)
to push MC to level 5 for example. Based off Warrior class, Casanova will be slightly weaker but that will become less and less apparent with each level.

At higher level, all stats can be pushed even further by items and Health can be pushed a lot higher by items even at level one.
Title: Re: General Discussion
Post by: CherryWood on February 22, 2014, 09:35:31 AM
I am going to use just 2 - 3 sprites for now but if anyone got any ideas for extra MC sprites, let me know. There should be a transparent png for battle and a portrait (can be cut from the battle sprite).

Pushed a few, If you like it, I'll add more.

Title: Re: General Discussion
Post by: Xela on February 22, 2014, 10:13:35 AM
Pushed a few, If you like it, I'll add more.

They're great! Why is there a girl in between?????

Do we actually need more?

PS: They also have combat pics! Btw, you can put more than one sprite if you like.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 11:04:23 AM
Why is there a girl in between? ??? ?
I'm doing my best to restrain my imagination  :D

Great work. We even could remove those two old MC sprites (unless you know their names, so we could find combat pics for them).
I'll try to find some more after chainfights, my skills with graphic editors are much better now after all those packs and icons.
Title: Re: General Discussion
Post by: CherryWood on February 22, 2014, 11:06:46 AM
They're great! Why is there a girl in between? ??? ?

It's a trap!  ;D 

Do we actually need more?


Probably not. I mean, they're easy to add, so anyone can do it if he would like something else.
I've just picked few pics that didn't need much work at random and then added Gendo and my favourite cross-dresser just for the fun of it. It's missing a magician for example or some more weapon types, but I don't really care that much :)
---------------
I'm trying to manage the relative height of characters that have something on their heads or long weapons with empty space above those who haven't - I think it's working, but as a result the sprites appear smaller (especially vs sprites that are not adjusted) and it also look silly when you fit this image into a box (we have on at arena screen).
----------------
I'm going to create another arena team, it's really fun to do it as a break from taging  :)
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 11:30:12 AM
----------------
I'm going to create another arena team, it's really fun to do it as a break from taging  :)

Kewl, I'll make sure that you can push any kind of stats with the next push. Right now Arena characters come off a bit weak and have a very low hardcap. You can do that with pure experience as well right now.

PS: Arena Character are not mobs so you should specify the exact strength you wish them to have instead of relative strength as percentage.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 11:32:19 AM
It's a trap!  ;D   

"Traps" like that usually end up causing billions of questions...

LoL

And I just realized that I didn't add the ability to give a name to MC in the setup screen :D I'll see if I can do that tonight.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 12:33:12 PM
I'm afraid we'll need gun and machine gun attacks for some characters due to their battle sprites. They don't have to be more powerful, I mean sounds and stuff.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 12:51:53 PM
I'm afraid we'll need gun and machine gun attacks for some characters due to their battle sprites. They don't have to be more powerful, I mean sounds and stuff.

Not really, char having a sword doesn't actually mean he carries one. We don't have a flute from Tayuya and she's doing ok.

I got a bit drunk and finally understood how to properly use Styles in Ren'Py :D

Roman really did some weird crap with his buttons screens in Alkion... and I've inherited the odd practice.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 12:58:29 PM
Well, if a battle sprite has a sword, I figured that the character should have a sword attack by default, providing that she doesn't have any weapon equipped. We have that bskill field in our data files after all.

And Tayuya uses summons and genjutsu mostly, so maybe she shouldn't have melee attacks without equipped weapons at all?
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 01:31:37 PM
Well, if a battle sprite has a sword, I figured that the character should have a sword attack by default, providing that she doesn't have any weapon equipped. We have that bskill field in our data files after all.

Game will override that and it's not worth coding something like a fixed attack.

And Tayuya uses summons and genjutsu mostly, so maybe she shouldn't have melee attacks without equipped weapons at all?

Customizing every character in BE so specifically is something we may never be able to afford due to time constraints.

PS: It is now possible to name the MC.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 01:40:42 PM
Why do we need bskill field then?

There should be options in items. Something like mskills or magic_skills and bskills or battle_skills. I need to take a look at the code.
According to our own Items Concept thread, items only have addskill/removeskill fields.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 01:47:46 PM
Why do we need bskill field then?

We used it to specify attack type, now that depends on the items so it became kinda obsolete. Maybe we'll find use for it in the future again.

According to our own Items Concept thread, items only have addskill/removeskill fields.

That's what adds/removes magic, we now have an "attack" field for the normal attacks.

Idea:

Should I look into using MC sprites that remained unpicked for Arena Fighers with flipped images? Seems kinda like a waste otherwise...
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 02:03:28 PM
Sure, why not. Will make more sense to add even more MC sprites to the game.

Although, Gendo will be a very strange opponent. Then again, Rei vs Gendo = epic battle  :)
Title: Re: General Discussion
Post by: CherryWood on February 22, 2014, 02:24:23 PM
Kewl, I'll make sure that you can push any kind of stats with the next push. Right now Arena characters come off a bit weak and have a very low hardcap. You can do that with pure experience as well right now.

PS: Arena Character are not mobs so you should specify the exact strength you wish them to have instead of relative strength as percentage.
I haven't played the game in months (if ever) so I have no idea about the balance  :) . I've just copied the values for "Randalf" and adjusted them a little.
also I didn't pay attention to it, because without more skill types, new teams are just different pictures atm...




May I suggest creating a possibility to add customized pre-match and aftermatch events for teams? Something like adding a field in arena_teams.json with name of label the game will jump to? (Or automatic team name label like in GM) For stuff like different taunt line, team pic, different music, first introduction event or to set flags for quests (=team XY defeated).

Also, it is possible to set affinities for NPC arena fighters?


btw. I'm for the guns. After playing few FF games, sword vs machine guns doesn't feel like unusual combination in the slightest  :) .
Title: Re: General Discussion
Post by: DarkTl on February 22, 2014, 02:33:26 PM
Oh, I will add guns after we will have rows (= ranged weapons) in BE in any case. I already have a lot of great icons for them.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 02:56:23 PM
I haven't played the game in months (if ever) so I have no idea about the balance  :) . I've just copied the values for "Randalf" and adjusted them a little.
also I didn't pay attention to it, because without more skill types, new teams are just different pictures atm...

Already quite a bit.

May I suggest creating a possibility to add customized pre-match and aftermatch events for teams? Something like adding a field in arena_teams.json with name of label the game will jump to? (Or automatic team name label like in GM) For stuff like different taunt line, team pic, different music, first introduction event or to set flags for quests (=team XY defeated).

Lets do the Arena enchantments post Alpha, we have a lot of working systems that still are very low on content, why add another.

Also, it is possible to set affinities for NPC arena fighters?

Yes, use element field in the main dictionary and it should work.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 02:59:26 PM
Sure, why not. Will make more sense to add even more MC sprites to the game.

I'll see if I can do this tonight, it may get tricky. Should we simply specify folders for the ArenaFighter like for MC sprites and use the same filenames? It'll make my job easier and improve future modding... yeap we should do this :)
Title: Re: General Discussion
Post by: CherryWood on February 22, 2014, 03:09:23 PM
Lets do the Arena enchantments post Alpha, we have a lot of working systems that still are very low on content, why add another.
I actually just planned to place one pre-match image  :) So it can definitely wait.

I'll see if I can do this tonight, it may get tricky. Should we simply specify folders for the ArenaFighter like for MC sprites and use the same filenames? It'll make my job easier and improve future modding... yeap we should do this :)
I just pushed few sprites, so if you are doing this now, I hope they won't cause troubles.


That will also mean that there we will be able to use more images, right? Then I'm all for it.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 03:20:49 PM
That will also mean that there we will be able to use more images, right? Then I'm all for it.

Yeap. This will work just like our old filename based system did for girls.
Title: Re: General Discussion
Post by: Xela on February 22, 2014, 04:20:06 PM
I hope they won't cause troubles.

No trouble. Note that Name in the json file and Folder you put the girl in MUST be named the same. Arena looks a bit more lively. I'll reduce number of random girls a bit so AFs get a chance. Also I've killed my Z and Rudolf (forgetting that Z served as an example of random arena fighter...). It can be found in mercurials history I think.

Coded the whole thing without one typo/crude mistake  8)
Title: Re: General Discussion
Post by: CherryWood on February 22, 2014, 07:20:23 PM
No trouble. Note that Name in the json file and Folder you put the girl in MUST be named the same. Arena looks a bit more lively. I'll reduce number of random girls a bit so AFs get a chance. Also I've killed my Z and Rudolf (forgetting that Z served as an example of random arena fighter...). It can be found in mercurials history I think.
I don't really understand how Z was supposed to work. If I set unique: false, then that warrior is participating outside of the team on his own, but there is still only 1 of him. So they can't make arena work without Rgirls.


I managed to find portrait for our brave starting warrior, but there doesn't seems to be any usable battle images for his red outfit  :( 
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 02:50:05 AM
I don't really understand how Z was supposed to work. If I set unique: false, then that warrior is participating outside of the team on his own, but there is still only 1 of him. So they can't make arena work without Rgirls.

They in theory could, they just don't. If you set unique to false, there will be two of them, one in the teams and another one free to do as he/she likes (so could join a team, go solo or both.)

Actually you were the one who asked me to add that saying that you'd like to see bleach girl supported by two shinigami for example. If you set shinigamis to false, you can use them unlimited amount of times. If you set them to true and try to use them twice, game will throw an error.

I managed to find portrait for our brave starting warrior, but there doesn't seems to be any usable battle images for his red outfit  :(

As long as that's him...
Title: Re: General Discussion
Post by: CherryWood on February 23, 2014, 03:26:23 AM
They in theory could, they just don't. If you set unique to false, there will be two of them, one in the teams and another one free to do as he/she likes (so could join a team, go solo or both.)

Actually you were the one who asked me to add that saying that you'd like to see bleach girl supported by two shinigami for example. If you set shinigamis to false, you can use them unlimited amount of times. If you set them to true and try to use them twice, game will throw an error.
Thanks for clearing that out.
Yes, I did, but I decided not to make a Bleach pack in the end... but most importantly, using girlpack girls in teams is giving errors when you don't have that girlpack present in game.
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 03:30:32 AM
Thanks for clearing that out.
Yes, I did, but I decided not to make a Bleach pack in the end... but most importantly, using girlpack girls in teams is giving errors when you don't have that girlpack present in game.

You thinks it would be better to prevent team build-up and write to log? I thought about that when making the Arena... Seemed like Errors would make debugging easier.
Title: Re: General Discussion
Post by: CherryWood on February 23, 2014, 03:55:37 AM
You thinks it would be better to prevent team build-up and write to log? I thought about that when making the Arena... Seemed like Errors would make debugging easier.
I don't think I understand...
I just know that there already was someone who couldn't run the arena because of missing Tsunade, so we should probably do something with that for alpha to prevent confusions like that... probably just remove these teams for now, because you already answered me that improving modeabillity of arena is something for post-alpha or further.
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 04:05:20 AM
I don't think I understand...
I just know that there already was someone who couldn't run the arena because of missing Tsunade, so we should probably do something with that for alpha to prevent confusions like that... probably just remove these teams for now, because you already answered me that improving modeabillity of arena is something for post-alpha or further.

I intend to ship the game with full Naruto pack and all random girls. Rest of packs could be downloaded separately. Tsunade's team should serve as an example...
Title: Re: General Discussion
Post by: DarkTl on February 23, 2014, 07:11:25 AM
Btw, how did you code multiplier? Do you figured out that that "multiplier": [1, 0.2, 0.7] means 1x for the first mob, +0.2x more to every following one and +0.7x more to the boss?
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 07:13:33 AM
Btw, how did you code multiplier? Do you figured out that that "multiplier": [1, 0.2, 0.7] means 1x for the first mob, +0.2x more to every following one and +0.7x more to the boss?

Ofcourse, we've discussed that before you created the file.
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 10:20:22 AM
...

 :P :P :P     Gonna exploit CW      ;) ;) ;)

I love what you did with the Arena background pics! Any chance your could do the same for:

http://www.pinkpetal.org/index.php?topic=2160.msg22719#msg22719

so I can add it as an animated background for Survival? They all need to be added about 200 pixels ground space to the bottom  ::)


=================================
Just pushed a fix for the last bugs reported. Jaeke's need to confirm the Arena payment = unhappy bug.

I'll take a look at the TODO list to figure out what to do tonight.
Title: Re: General Discussion
Post by: CherryWood on February 23, 2014, 11:11:50 AM
Not sure if I understand - you just simply want 200 more pixels of sand? If yes, then it's on DB but... not sure what you want strange size like this for.
Title: Re: General Discussion
Post by: DarkTl on February 23, 2014, 11:30:36 AM
Done with chainfights and pushed. You can beat goblins for warrior at lvl 1 with some basic equipment, but you need very good items to beat slimes even at 250+ lvl. And you will get very nice items for those slimes, best equipable items in the game, basically.
Many items cannot be obtained via arena (gowns, for example). I decided to not use misc items as well, they are too valuable to freely give them away.
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 11:34:48 AM
Not sure if I understand - you just simply want 200 more pixels of sand? If yes, then it's on DB but... not sure what you want strange size like this for.

I think I've added 200 of solid color when I've edited them.

Done with chainfights and pushed. You can beat goblins for warrior at lvl 1 with some basic equipment, but you need very good items to beat slimes even at 250+ lvl. And you will get very nice items for those slimes, best equipable items in the game, basically.
Many items cannot be obtained via arena (gowns, for example). I decided to not use misc items as well, they are too valuable to freely give them away.

Kewl.

=====================
I am going to see if I can load the animated bg into arena. Ended up improving some minor stuff instead of working on interactions, that code is really old so I need to kick myself in the butt in order to start working on that.
Title: Re: General Discussion
Post by: DarkTl on February 23, 2014, 11:40:23 AM
Took me a couple of minutes to find hero profile screen. And I still cannot find schools  :D
Title: Re: General Discussion
Post by: CherryWood on February 23, 2014, 11:57:21 AM
I am going to see if I can load the animated bg into arena. Ended up improving some minor stuff instead of working on interactions, that code is really old so I need to kick myself in the butt in order to start working on that.
What are you planning to do with interactions?

Title: Re: General Discussion
Post by: Xela on February 23, 2014, 12:02:24 PM
Took me a couple of minutes to find hero profile screen. And I still cannot find schools  :D

LoooooooooooooooooooooooooooooooooL

Small update:
- Removed 0.1 sec delay before switching screens during Survival as it caused screens to flicker
- Added some tunes to mains screen
- Improved MC-Setup slightly
- Added animated background to Survival fights (Thanks to Xip and CW)

(I've got your update, going to kill some later)

What are you planning to do with interactions?

I am planning to allow customized labels just like with girlsmeets, add more texts and checks (free/slave/disposition/stats). Basically just make them work for us, I don't have anything planned that we haven't discussed before.


===========================
Some parts of PyTFalls moddability are getting ridiculous. Took me 3 seconds to create animation from those backgrounds and load it into the game... looks really good as well!
Title: Re: General Discussion
Post by: CherryWood on February 23, 2014, 12:20:21 PM
I am planning to allow customized labels just like with girlsmeets, add more texts and checks (free/slave/disposition/stats). Basically just make them work for us, I don't have anything planned that we haven't discussed before.
Ok, thanks. I wasn't sure what was planned for alpha and what isn't.


===========================
Some parts of PyTFalls moddability are getting ridiculous. Took me 3 seconds to create animation from those backgrounds and load it into the game... looks really good as well!
How can this take 3 seconds? Are you following the order of frames Xipomus provided?
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 12:26:59 PM
Ok, thanks. I wasn't sure what was planned for alpha and what isn't.

:)

If you want to add texts, be my guest. I'll find something else to hack.

Are you following the order of frames Xipomus provided?

I hope so...

How can this take 3 seconds?

(Takes longer to write this message)

1) Throw all files from your DB folder to a folder in animations (2 secs)
2) Change one single string in the arena to name of folder in animations (1 sec)

It may have been longer but it felt like three, not that I've timed it  ::)
Title: Re: General Discussion
Post by: DarkTl on February 23, 2014, 01:18:48 PM
Dammit, how to get access to schools? I only see them in girls filters, that's all.
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 01:22:00 PM
Dammit, how to get access to schools? I only see them in girls filters, that's all.

You have to do three quests and kill the Arena King  ::)

(it's actually a top right button called "Training" in girls profile screen)
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 05:31:59 PM
Ok, so I really didn't feel like doing interactions tonight...

Instead I went in and went in deep into styles. The whole concept that seemed really redundant to me at first (since it's almost never used in Alkion) is actually overwhelmingly powerful. If used properly, it might even allow to realistically adjust resolution of the game in some distant future. For now it'll make a number of things more convenient and maybe even faster.

If I don't fall asleep, I'll try to recode interactions screen using styles, it's simplicity makes it a good target practice.
Title: Re: General Discussion
Post by: Xela on February 23, 2014, 06:28:39 PM
New interactions screen, not like the old interactions screen :)

(http://s18.postimg.org/49f4bw3ud/screenshot0001.jpg) (http://postimg.org/image/49f4bw3ud/)

Code that builds this screen:

Code: [Select]
screen pyt_girl_interactions:
   
    use pyt_top_stripe(True)

    fixed:
       
        style_group "interactions"
       
        align (0, 0)
       
        frame:
            pos (10, 50)
            add(ginterimg) align(0.5, 0.5)
       
        frame:
            pos (1000, 50)
            vbox:
                spacing 3
                text('{size=+3}Talk') xalign 0.5
                textbutton "Chat" action Return(['act', 'chat'])
                textbutton "Praise" action Return(['act', 'praise'])
                textbutton "Scold" action Return(['act', 'scold'])
                null height 5
                text('{size=+3}Sex') xalign 0.5
                textbutton "Fuck" action Return(['act', 'fuck'])
                textbutton "Anal" action Return(['act', 'anal'])
                textbutton "Blowjob" action Return(['act', 'blowjob'])
                textbutton "Lesbo action" action Return(['act', 'lesbo'])
                null height 5
                text('{size=+3}Go Out') xalign 0.5
                textbutton "Date" action Return(['act', 'date'])
                textbutton "Entertainment" action Return(['act', 'entertainment'])
                textbutton "Shopping" action Return(['act', 'shopping'])
                textbutton "Other" action Return(['act', 'other'])

Styles are pretty useful at keeping the code clean :)
Title: Re: General Discussion
Post by: DarkTl on February 24, 2014, 09:49:14 AM
Xela, slave market mistress and queen's blade pack...  ::)
Title: Re: General Discussion
Post by: Xela on February 24, 2014, 10:15:56 AM
Xela, slave market mistress and queen's blade pack...  ::)

I still haven't decided what to do about that. Either turn her into NPC and ship with the game or have her tell the player that she might have a twin sister somewhere in town. First will require some logic, latter is easy.

======================
I am going to start building some groundwork for balancing of stats/money rewards. That should prolly be a class or a number of classes separate from the rest of game classes. I'll start with something simple to facilitate interactions... I am busy until tonight, but if I have some energy left, I'll try to do that at least.
Title: Re: General Discussion
Post by: DarkTl on February 24, 2014, 11:17:40 AM
What is the "other" interaction? A placeholder, or you actually have some ideas?
Title: Re: General Discussion
Post by: Xela on February 24, 2014, 12:25:29 PM
What is the "other" interaction? A placeholder, or you actually have some ideas?

I am not even sure about the current once if truth be told... I had many ideas but I am a messed up day so I am to tired to remember anything.

Going to rest for an hour and see if I can code smart stat rewards method for the interactions.
Title: Re: General Discussion
Post by: Xela on February 24, 2014, 01:03:51 PM
Couple of questions:

1) Should we change the name of the currency? Gold seems to simple... maybe Gil or something like that?

2) What should it be worth? Lets try to convert a price of a normal meal into the currency, simple dagger, blowjob and so on.

3) Any other thoughts/ideas?

====
I am trying to get my head wrapped around a concept of balancing and maybe simulating basic economy...

BTW: What population should PyTFall have? How many people?
Title: Re: General Discussion
Post by: DarkTl on February 24, 2014, 02:36:43 PM
1) We do need a decent name for currency, not gil though, it's too known.

2) Let's see, according to xmls the cheapest delicacy (cake) cost 10 coins. I guess a simple meal should be about 5?
A simple dagger cost 50 coins. Seems pretty similar to prices ratios in my local store, if by dagger we mean a good kitchen knife  :)
Blowjob... If we talking about a noob whore, maybe 5-15 depending on looks?

3) Tomorrow.

BTW: What population should PyTFall have? How many people?
The city picture is small. And technologies/magic seem pretty weak for now. It may be a big city compared to others, but I doubt there could live more than 50000 with the current concept, as I see it in your background pictures with minor traces of progress.
Title: Re: General Discussion
Post by: Xela on February 24, 2014, 02:54:25 PM
1) We do need a decent name for currency, not gil though, it's too known.

2) Let's see, according to xmls the cheapest delicacy (cake) cost 10 coins. I guess a simple meal should be about 5?
A simple dagger cost 50 coins. Seems pretty similar to prices ratios in my local store, if by dagger we mean a good kitchen knife  :)
Blowjob... If we talking about a noob whore, maybe 5-15 depending on looks?


1) http://en.wikipedia.org/wiki/List_of_fictional_currencies

2) Seems ok... well, that's something to work with when we get to balancing. That should be sooner than later.

The city picture is small. And technologies/magic seem pretty weak for now. It may be a big city compared to others, but I doubt there could live more than 50000 with the current concept, as I see it in your background pictures with minor traces of progress.

Oki, doesn't really matter right now but we might simulate economy at some point. I just need to create some version in my head and preferably be on the same page with everyone else.

==========
I am having trouble focusing on the interactions function, maybe cause I am to tired, maybe cause the concept is still unclear in my head. I'll just take a look at what's been done on interactions already and try to figure if some of the OW texts could be used.

PS: Did anyone know that OW had a basic exploration engine?  ???  It just never been activated...
Title: Re: General Discussion
Post by: Armegetton on February 24, 2014, 03:37:48 PM
Couple of questions:

1) Should we change the name of the currency? Gold seems to simple... maybe Gil or something like that?

2) What should it be worth? Lets try to convert a price of a normal meal into the currency, simple dagger, blowjob and so on.

3) Any other thoughts/ideas?

====
I am trying to get my head wrapped around a concept of balancing and maybe simulating basic economy...

BTW: What population should PyTFall have? How many people?

Well, I personally like credits, it is widely used, but normally it's for futuristic sci-fi type stuff. Gil is a final fantasy one, but people recognize it as a fantasy currency. If you want to be different but still not come up with some random terms, you can use shapes or types ( 'bars', 'cubes', 'hexes') you can use precious metals or gems (copper, bronze, silver, platnum, etc). Or you can always just call it 'coin'. but that might be too simple.

I always did think the fallout series using bottle caps as money was amusing.

2) Let's see, according to xmls the cheapest delicacy (cake) cost 10 coins. I guess a simple meal should be about 5?
A simple dagger cost 50 coins. Seems pretty similar to prices ratios in my local store, if by dagger we mean a good kitchen knife  :)
Blowjob... If we talking about a noob whore, maybe 5-15 depending on looks?

I agree with basic food cost of 5 (whatevers). And while I do think actual weapons should cost significantly more, an actual kitchen knife (at least where I'm from) can cost anywhere from 5 - 50. So it could be sorta funny if there are 'tool' items that are relatively cheap that can be used as weapons (though not intended, but can be equiped as such).

cost: 8 coins
name: Screwdriver
damage: +2

lol

@Dark, are knives really 50 ? O.o. Can't you get a 5 or 6 set for like 25 -30? it's all good.

Other thoughts, I think a multi-tool is like 15 ... its been a while.

By simulating an economy are talking about fluctuating prices and a changing population based on the wealth and success of the city itself? Ooooh, does that mean we can take over the city itself .... yes .... yes, excellent. Change the laws, makes all the womens slaves. <insert evil laugh here>

But seriously, don't make too much work.

Ok, one more point before I take a break.
this '50,000' population thing ......

Aren't there supposed to be different tiers of people? beggars, commoners, journeymen, smithys, farmers, tailors, carpenters, clockmakers, laborers, merchants, law enforcement, businessmen, artisans, lawyers, politicians, judges, nobles, and royalty? (I missed a lot, but you get the point)

If there are this many types of people .... isn't this city a massive trade city / metropolis? With probably +3 million citizens (not including illegals/slaves). Where you can essentially never see the same customer twice and still make a profit?

I mean, in the end it's up to you, but I don't see a whole lot of nobles and lawyers living around a 50k pop town. I mean, unless it's like their summer home, or they can commute to work or something.

Title: Re: General Discussion
Post by: Xela on February 24, 2014, 03:57:05 PM
Aren't there supposed to be different tiers of people? beggars, commoners, journeymen, smithys, farmers, tailors, carpenters, clockmakers, laborers, merchants, law enforcement, businessmen, artisans, lawyers, politicians, judges, nobles, and royalty? (I missed a lot, but you get the point)

Yeap, nice round up, we currently only have seven, I should really look into adding more...

Millions is an overkill by any count, it doesn't really fit the setup, we can do 500k - 1mil maybe, city on the map doesn't look that big but that's not a huge issue.

Well, I personally like credits, it is widely used, but normally it's for futuristic sci-fi type stuff. Gil is a final fantasy one, but people recognize it as a fantasy currency. If you want to be different but still not come up with some random terms, you can use shapes or types ( 'bars', 'cubes', 'hexes') you can use precious metals or gems (copper, bronze, silver, platnum, etc). Or you can always just call it 'coin'. but that might be too simple.

Credits are for the sci-fi, yes. Crowns sound good... Septims? :D

By simulating an economy are talking about fluctuating prices and a changing population based on the wealth and success of the city itself? Ooooh, does that mean we can take over the city itself .... yes .... yes, excellent. Change the laws, makes all the womens slaves. <insert evil laugh here>

But seriously, don't make too much work.

The economy itself isn't a problem, content is... Code doesn't take nearly as much time as finding pics, sounds, music and writing texts. Just to create presentable taking over of city would require insane amount of new texts.


=================================
Otherwise:

Interactions are not in a very good shape, code itself is poorly designed poorly, there is very little decent content and it's so old that hero is still not silences and has his own lines. I'll do some minor editing like deleting all of heroes lines and maybe change the way pictures are handled. OW has a couple of lines we might use as well, but I don't wanna touch that until I get some decent project time on a clear head.

Quick Edit:

Some useful links:

http://www222.pair.com/sjohn/blueroom/demog.htm
http://en.wikipedia.org/wiki/Historical_urban_community_sizes
Title: Re: General Discussion
Post by: CherryWood on February 24, 2014, 05:18:11 PM
 For interaction I was thinking that:

 I would like to have talk option that is just talk
I think that girls which are not prostitutes should only have sex with you on higher disposition
images for sex acts should have "partner hidden" tag
Interaction should consume AP for both you and the girl
Maybe we could have something like "rest and preserve strength for next day" to increase girl's AP for next day
lots of stuff to do at the dates


But I always ended giving it up because it turned out to be too hard for me codewise or, much more often, I got stuck with grammar or I was otherwise unsure how to say something in english.
Title: Re: General Discussion
Post by: Armegetton on February 24, 2014, 05:24:34 PM
Hey, quick question. (well 2 questions)

Is there an external file that's going to contain (or is already containing) text for interactions and other things? Or is everything going to be "hard coded" into the script files?
Basically, how mod-able is this text going to be

Second, are the interactions meant to be generic? Or are they (can they) be specific to unique girls? (yes I know that would probably take more writing)
I guess this question is more about, what variables are taken into account during an action. Is it just the disposition bar, just like it is in sim broth? Or are there more variables?


Interactions are not in a very good shape, code itself is poorly designed poorly, there is very little decent content and it's so old that hero is still not silences and has his own lines. I'll do some minor editing like deleting all of heroes lines and maybe change the way pictures are handled. OW has a couple of lines we might use as well, but I don't wanna touch that until I get some decent project time on a clear head.


I didn't know this about the interactions. It kinda makes me motivated to pump em out. Hmm, so wait, does that mean they're based on the girl's personality? or how does that work? or does it not matter right now?

----------------
@xela about those links. So does that mean this is officially in a medieval time period? I was under the impression that it was 'all-in-one' type of thing
Title: Re: General Discussion
Post by: Xela on February 24, 2014, 05:38:31 PM
"The post you are trying to quote either does not exist, was deleted, or is no longer viewable by you."

Man... what the hell CW? That was a good post!

Here is how I've started with interactions tonight:

1) My thoughts on reading the code:

- Holy crap those texts are off-base
- File needs to be split
- Fighting sequence is out of date (Note to self: Need to create an universal function to start BE sequences) (Do we actually want dates or Alpha?)
- That's not a bad shopping event Xip wrote, I completely forgot he worked on that... (Do we actually want shopping event for the @? If yes, I need to code it into the shops themselves, make sure item is tagged as a gift and give warning on removing it from the girl and huge disposition penalty if removed (taken from her))
- What the f*ck what I thinking when I came up with ginterimg idea? What the hell does it stand for? (Oh right... Girl Interaction Image and I was a coding nub...)
== Made a function to change girl images with providing any/none attributes but their tags and have automatic image transition during switching... coded and tested in 20 mins.
- Ok... time to delete all player sentences (Done)
- Nuff for today? It's gonna be a pain to write all the lines/events that I want to :(


===========================
Some interactions are more than off-base, they are just plain wrong, like free girl longing for freedom... oh well. I am not going to do any lines tonight, just update all images to new format. Tomorrow, if I can get up few hours earlier, I'll sneak in couple of texts and see if I can write a universal function for starting combat sequences...


Part of your post is back:

For interaction I was thinking that:

 I would like to have talk option that is just talk
I think that girls which are not prostitutes should only have sex with you on higher disposition
images for sex acts should have "partner hidden" tag
Interaction should consume AP for both you and the girl
Maybe we could have something like "rest and preserve strength for next day" to increase girl's AP for next day
lots of stuff to do at the dates


But I always ended giving it up because it turned out to be too hard for me codewise or, much more often, I got stuck with grammar or I was otherwise unsure how to say something in english.

1) We have an option that is just talk...
2) Agreed 100%, prostitutes have no reason to give you freebees either, but they should do it at lower disposition than other classes.
3) I need to code in a new type of tag search method with "preferred" field. But I agree with you here 100%
4) "for both you and the girl", yeah... I forgot about that, same thing should prolly count for girlsmeers.
5) This is girl_control related, not interaction related.
6) Not really my department... if you have any texts or ideas, let me know.

============
I'll start with the basics for chat and sex this weekend, this week will be hectic so doing writing interactions on a large scale is not a good idea until things quite down.




=========================================
Is there an external file that's going to contain (or is already containing) text for interactions and other things? Or is everything going to be "hard coded" into the script files?
Basically, how mod-able is this text going to be

Decent mods will be included into the game. Otherwise, files are just normal ".rpy" files, I am not making any effort to protect them or their content as Ren'Py does not provide such tools and coding them myself would take month of work and research that makes absolutely no sense for open-source free game.

Second, are the interactions meant to be generic? Or are they (can they) be specific to unique girls? (yes I know that would probably take more writing)
I guess this question is more about, what variables are taken into account during an action. Is it just the disposition bar, just like it is in sim broth? Or are there more variables?

1) We are writing generic interaction to cover the full girlspool.

2) Interactions can be written for any of the unique girl and even general type of random girls. They will automatically overwrite default generic interaction if available but we are not going to bother with that ourselves, at least not at this stage of development.

3) Disposition, stats that matter for specific interaction, traits, girl's occupation (class). I want to automate some of that, but that can only be done to a point and using normal script will be more prudent at some places than resorting to automatisation.
Title: Re: General Discussion
Post by: Xela on February 24, 2014, 05:39:54 PM
@xela about those links. So does that mean this is officially in a medieval time period? I was under the impression that it was 'all-in-one' type of thing

Still, the setting is without trains and spaceships (at least so far) :)
Title: Re: General Discussion
Post by: Xela on February 24, 2014, 06:19:18 PM
SF updated (not a big update but it's better than nothing):

- Fixed costumer spelling errors
- Cooked up new function for better image handling during interactions
- Interactions now cost AP for both, girl and the player


All interactions should be updated to new code for displaying pictures as well!
Title: Re: General Discussion
Post by: CherryWood on February 24, 2014, 06:22:29 PM
Man... what the hell CW? That was a good post!
Sorry... I did it again...       but thanks for answer, helped me a bit  :)


I don't think we need dates anytime soon. We have no real reward or reason for being nice to your girls in the game yet, so while it would look nice to have some options there, the actual gameplay value would be very low atm.
Title: Re: General Discussion
Post by: Xela on February 24, 2014, 06:30:26 PM
I don't think we need dates anytime soon. We have no real reward or reason for being nice to your girls in the game yet, so while it would look nice to have some options there, the actual gameplay value would be very low atm.

Yeah, my thoughts exactly... same is prolly true for shopping as well. We should stick to the simpler stuff for now and things like girl changing class that might matter.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2014, 12:28:26 AM
@Dark, are knives really 50 ? O.o. Can't you get a 5 or 6 set for like 25 -30? it's all good.
Nah, I mean high quality knives, they cannot be that cheap. And I guess even a simple combat dagger should not be worse than that.

If there are this many types of people .... isn't this city a massive trade city / metropolis? With probably +3 million citizens (not including illegals/slaves). Where you can essentially never see the same customer twice and still make a profit?
Ancient Rome at some point had about 7 million free citizen.
But our city map is kinda way too small for that.

Still, the setting is without trains and spaceships (at least so far)
I wonder. We have magic and androids, it should have some self-propelled transport at least .
Since "events" occur after wm with its multidimensional catacombs, all those androids, demons and stuff (and their knowledge) have been known for some time.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2014, 12:46:11 AM
Oh my, I found anime coins  :D
1,  (https://fc08.deviantart.net/fs71/f/2010/073/5/b/Amuto_Coins_by_Amuto_4eva.jpg)2. (https://fc06.deviantart.net/fs71/f/2010/073/b/3/The_Ikuto_Coin_by_Amuto_4eva.jpg)
Title: Re: General Discussion
Post by: Armegetton on February 25, 2014, 07:35:10 AM
I wonder. We have magic and androids, it should have some self-propelled transport at least .
Since "events" occur after wm with its multidimensional catacombs, all those androids, demons and stuff (and their knowledge) have been known for some time.

Maybe it's intended that all extra forms of travel are magic-based? Portals, teleporting, magic wings? O.o
Title: Re: General Discussion
Post by: CherryWood on February 25, 2014, 08:03:09 AM
What the:
"Whore? WTF?? I am a Fancy Girl!!!!"
"And there were 'whores' :)"
reports are supposed to mean?  ???
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 09:16:49 AM
What the:
"Whore? WTF?? I am a Fancy Girl!!!!"
"And there were 'whores' :)"
reports are supposed to mean?  ???

Kind of a placeholders to determine that it's a whore job  :D
Title: Re: General Discussion
Post by: DarkTl on February 25, 2014, 09:25:19 AM
And here I thought it was an easter egg of some kind  ::)

Finished Guilty Gear pack today, next is Soul Calibur. Also I'll see if I can find more animations for spells.
 
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 09:42:12 AM
And here I thought it was an easter egg of some kind  ::)

Finished Guilty Gear pack today, next is Soul Calibur. Also I'll see if I can find more animations for spells.

CW has a boat-load of them in his DB but there are plenty more to find I am sure :)
Title: Re: General Discussion
Post by: Armegetton on February 25, 2014, 10:32:50 AM
Tried pushing an update. Let me know if it went through.

I originally modified my post in the other thread, then it occurred to me, that might not show up as a 'new post'.

Bah.
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 10:54:17 AM
Tried pushing an update. Let me know if it went through.

I originally modified my post in the other thread, then it occurred to me, that might not show up as a 'new post'.

Bah.

Nothing... did you need to do this:

1) Commit local changes.
2) Pull from SF.
3) Merge your own work that you've committed (locally) with what you've pulled.
4) Push.

Basically, unless there are conflicts the whole thing takes 5 - 6 mouse-clicks.
Title: Re: General Discussion
Post by: Armegetton on February 25, 2014, 11:01:52 AM
oh ... I got an error 403 forbidden. hmm

hold on, I think I need to set something up? like a login? checking...

damn, its not obvious ... crap ...

Well, I've commited, pulled and merged. But when I push it sends me red frowny faces. Defeated by the evil interweb monster.
Title: Re: General Discussion
Post by: CherryWood on February 25, 2014, 11:19:29 AM
oh ... I got an error 403 forbidden. hmm
Took me quite a while to figure this one too  :) You need to push through Read/Write access you get after registering (ssh:), not the read only one we have listed here on forum (http:).  I have found mine there:
https://sourceforge.net/p/sb-pytfall/code/ci/default/tree/ (https://sourceforge.net/p/sb-pytfall/code/ci/default/tree/)
Title: Re: General Discussion
Post by: Armegetton on February 25, 2014, 11:31:24 AM
Took me quite a while to figure this one too  :) You need to push through Read/Write access you get after registering (ssh:), not the read only one we have listed here on forum (http:).  I have found mine there:
https://sourceforge.net/p/sb-pytfall/code/ci/default/tree/ (https://sourceforge.net/p/sb-pytfall/code/ci/default/tree/)

Ah,  I see. It appears as though I still do not have access then.

I have access to RO (read only) and http. and both of them are the same link. There's no ssh option for me.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2014, 11:43:17 AM
You should be logged in there to have the option.
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 11:44:48 AM
Ah,  I see. It appears as though I still do not have access then.

I have access to RO (read only) and http. and both of them are the same link. There's no ssh option for me.

No you have developer rights. I am certain of that. You need to push through the software, not the website and just use your password since SSH is hard to setup unless you know what you're doing.

Scratch that, I didn't read CW's post, I thought you've meant to establish secured shell connection to be able to use repo without password access.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2014, 11:52:39 AM
In my case it's ssh://[email protected]/p/sb-pytfall/code string, where darktl is my login on sourceforge.
You could try to set it manually in workbench settings.

Although, on sourceforge I see "Brought to you by: cherrywood, darktl, xela00" line. Xela, are you sure he has dev rights?
Title: Re: General Discussion
Post by: Armegetton on February 25, 2014, 11:58:28 AM
In my case it's ssh://[email protected]/p/sb-pytfall/code string, where darktl is my login on sourceforge.
You could try to set it manually in workbench settings.

Although, on sourceforge I see "Brought to you by: cherrywood, darktl, xela00" line. Xela, are you sure he has dev rights?

Ok, I did change it to ssh://[email protected]/p/sb-pytfall/code
then it'll ask for my password, and then I get permission denied lol.

I also saw only those 3 names. Which is why I suspect I'm not allowed as of yet.

______________

Blarg, I wish I knew what I was doing wrong. I'm not familiar enough with merc or sf to know if I've got something messed up or not.
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 12:19:28 PM
Although, on sourceforge I see "Brought to you by: cherrywood, darktl, xela00" line. Xela, are you sure he has dev rights?

Yes, I am sure, full developer rights meaning that it is possible to do everything save add/remove members to the team and other useless things.

Ok, I did change it to ssh://[email protected]/p/sb-pytfall/code
then it'll ask for my password, and then I get permission denied lol.

I also saw only those 3 names. Which is why I suspect I'm not allowed as of yet.

______________

Blarg, I wish I knew what I was doing wrong. I'm not familiar enough with merc or sf to know if I've got something messed up or not.


You're allowed in... I am sure of that. What is the exact error message? It should work.




==============
Edit: Maybe you should try pulling after you've entered the ssh: path? See if that works?
Title: Re: General Discussion
Post by: Armegetton on February 25, 2014, 12:33:57 PM
Here's what Im doing

first I do a check for outgoing. It asks for password. then does this

% hg --repository S:\Repo Hg\PyTFall outgoing --quiet --template {node}^M --branch default ssh://[email protected]/p/sb-pytfall/code
fa0acbf5709b1b8f84cbcb229b4292aee0c72376
[command completed successfully Tue Feb 25 12:24:46 2014]

it shows the 1 file ready to be pushed. Then I click push all. it asks for password then does this.

% hg --repository S:\Repo Hg\PyTFall push --branch default ssh://[email protected]/p/sb-pytfall/code
pushing to ssh://[email protected]/p/sb-pytfall/code
searching for changes
remote: abort: could not lock repository /hg/p/sb-pytfall/code: Permission denied
abort: unexpected response: empty string
[command returned code 255 Tue Feb 25 12:25:05 2014]
PyTFall%

if I check for incoming, it can do it fine. my code of sf shows the read only access and http access. problem is, when I do it with http it doesnt ask for the password and fails.
error 403 access denied

if I change it to https it asks for the password and acts like its uploading
but then gives me a error 500, internal server error

if everyone else is using the ssh code, that should work for me I thought. but it isnt set up in the code section for me. so is it something I set up in my sf settings? or should it not be this hard?

___________________

ok, jk
photobucket is sucking today. should probably use a different site.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2014, 12:41:40 PM
Iirc, it takes time for sourceforge to update its database, I read something like that in their faq.
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 12:53:01 PM
Iirc, it takes time for sourceforge to update its database, I read something like that in their faq.

I believe that only counts for authorization with ssh key instead of a password.

http://i155.photobucket.com/albums/s282/superhbob/s1.jpg
http://i155.photobucket.com/albums/s282/superhbob/s2.jpg
http://i155.photobucket.com/albums/s282/superhbob/s3.jpg
http://i155.photobucket.com/albums/s282/superhbob/s4.jpg
http://i155.photobucket.com/albums/s282/superhbob/s5.jpg

Not quite so pointless it would seem. You do not have my last update where I've fixed bugs CW reported. Server will not allow you to push yours unless you have mine unless you wish to force it and break stuff.
Title: Re: General Discussion
Post by: Armegetton on February 25, 2014, 12:56:26 PM
it shows no updates. when I click pull changes. You're saying there's something later than 147?

craaaap.

p.s. I deleted those screen shots pb is being a putz

_____________


I'm re-cloning the whole thing. bah

whiling, I'm coping the pics and files I want to keep, I've noticed that the work bench pretends like I've still pushed my update ... hmm, yeah I think I need to wipe it and start over.
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 01:05:27 PM
I'm re-cloning the whole thing. bah

Ok... but I don't think that will help.

Last commit:     [021d0d] - Quickfix

You do not seem to have it in those screenshots, only the previous one.
Title: Re: General Discussion
Post by: Armegetton on February 25, 2014, 01:14:02 PM
Ok, I wiped and re-acquired. ... and somehow this time it has the 147 change ....

I.. guess I'll try to push mine ... again .... let's see if it works.

_________________

unfortunately, I'm getting the same message(s).

well, at the very least I want to be able to get updates. I'll set it up for that. Not sure why it keeps screwing up when I try to add things.

mmm, yeah my brain hurts from this and I don't seem to be getting anywhere with it. I think I'll leave it be for now. come back to it later.
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 02:53:14 PM
Damn... this "universal" function to start fights is pain in the @ss. I'll want there to be the ability to put AI fighters on player team as well, if someone you don't know decides to help out, but codebase created for the Arena wasn't prepeared for that... I'll prolly take another hour.
Title: Re: General Discussion
Post by: Xela on February 25, 2014, 05:48:11 PM
Today wasn't the best of days for me at least... even simplest thing I seem to have gotten right only from 2 - 3 try.

But the battle function is done, I don't think starting battle sequences can get any easier than using it.

Pushed:
- Added A's new girlsmeets
- Added new function for super easy start of battle sequences

-----------------------------------------------
On how to use the function:
Code: [Select]
    def start_battle(player_team, enemy_team, music=None, background=None, pt_ai=False):
        '''
        Bridge to battle engine, idea is to try and make it as easy as possible.
        player_team/enemy_team: iterables
        music: path to a music file
        background: Displayable
        pt_ai: if AI Fighter is required on player team, should be a list of booleans of same length as player_team (True for AI, False for Player control)
        '''

in any label:
Code: [Select]
$ r = start_battle([hero], [copy.deepcopy(choice(pytfall.mobs.values()))], background="bg battle_forest_1")
This will start a fight between hero and randomly chosen mob at it's base powerlevel with forest background for example.

background and music should be obvious.

For iterable a list, tuple or Team should be used. If it's Team, leader will be set to center, if list or tuple, order will be preserved.

It's up to you to give out rewards, take off AP, mod stats or experience as a result of the battle. It will not be possible to die during the battle until death plays a more prominent role in the game. If it's a mob or some NPC you've created, feel free to tell the world that it's dead.

After fight is over, you'll be returned to the same label where you've left of and r or whatever variable you've used will be set to a tuple of (True, <list of dead teammembers> in case of a victory or (False, []) in case of defeat.

I think this is it...
Title: Re: General Discussion
Post by: DarkTl on February 26, 2014, 12:02:38 AM
I thought I disabled sourceforge spam once and for all, and here (http://youpic.su/view.php?id=s001.youpic.su/pictures/1393362000/ee6cb2c8555089503ce49b13a6eac035.jpg) we go again...  ::)

About currency name, how about either crows  (http://img.rakuten.com/PIC/26455075/0/1/500/26455075.jpg)(more (http://imgcdn.geocaching.com/track/large/862e257e-e499-4555-806f-7082e629735b.jpg)   crows (http://imgcdn.geocaching.com/track/large/50886e92-8aaa-47c5-a7e2-dc569c48ea4b.jpg)) or crowns (http://i.ebayimg.com/t/SCARCE-1928-WREATH-CROWN-FROM-GEORGE-V-BRITISH-SILVER-COIN-EF-/00/s/MTU4NVgxNjAw/z/W8cAAMXQMmJRUbmQ/$T2eC16R,!yUE9s6NFHnmBRUbmQgo9g~~60_35.JPG) (more (http://www.bullionbypost.co.uk/media/uploads/images/2012/09/14/jqb_half_Crown_IsleOfMan_reverse.JPG)   crowns (http://static-numista.com/catalogue/photos/royaume-uni/g3536.jpg))?
Title: Re: General Discussion
Post by: BlackWolf Inc. on February 26, 2014, 02:34:43 AM
If the archtecture style is more medieval like then perhaps currency should be too like florins, talents, denarii or pehsos.
Title: Re: General Discussion
Post by: Xela on February 26, 2014, 06:55:01 AM
So far I like Crowns, Denarii (RTW) and Talents.
Title: Re: General Discussion
Post by: DarkTl on February 26, 2014, 07:43:24 AM
Well, I still don't see Armegetton among that "Brought to you by" list. Shouldn't everyone with dev rights be there?
Title: Re: General Discussion
Post by: Xela on February 26, 2014, 08:20:53 AM
Well, I still don't see Armegetton among that "Brought to you by" list. Shouldn't everyone with dev rights be there?

Admins are there, not the developers. I don't recall one project where everyone had admin rights. If managing project correctly gave us any advantage at all, even developer rights would be too much because developer can seriously mess up the repository, basically there is no difference between what a developer and admin can do to the code at all.

You can go to the website, click on Admin button and take a look at UserPermissions. Rudi, longint, Xip have all pushed without any issues from developer rights (and there can be no limitations as to what can be done to the code as explained above). Admin is purely SF website thing. They are often not even coders, just managers so I figured that anyone who contributed to the project for a long time should be on the "brought by" list...

Basically, in a pro team, setup would be:

Me/You/CW = Admins
Rudi = Developers
Xip, A, longint, Jaeke = Members

PS: Jaeke managed to push once as well without any issues if I recall correctly.
Title: Re: General Discussion
Post by: Armegetton on February 26, 2014, 09:50:30 AM
I'm probably doing something wrong. All things considered.

I just need to talk to jaeke or one of these other 'member' category people and see what they do to get their stuff working.

No worries though. I don't like stress. If I can't manage to get it working, I can just post or pm an update here, there or somewhere else. I'll keep an eye on the workbench updates to make sure I'm not over writing someone else's stuff as well. and when I get a good chuck of something done, maybe I'll post on weekends. It's still undecided.

I've just got a lot of free time right now because of my surgery recovery vacation time. And I'm getting a headache from games with too many moving animations in them. (xbox games are a 'no go' right now) So, I don't mind doing something to keep myself occupied.

oh, speaking of random silliness. I know I could always use the shift-o to change things, but I changed my code so that drugging a girl turns them into your slave. I also added a class change thing in the girl interactions, just to see if I could and if it would work.

turns out slaves aren't allowed to be guards? I'm not sure why though .... hmm. weird. Speaking of this, are there plans (albeit, probably more complicated or involved) to have class changes? I do know that wm had that dungeon where you could make girls into slaves. Are there similar plans? I think I should probably move that code into a separate file so it doesn't mess up the updates .... yeah.
Title: Re: General Discussion
Post by: Xela on February 26, 2014, 10:22:20 AM
No worries though. I don't like stress. If I can't manage to get it working, I can just post or pm an update here, there or somewhere else. I'll keep an eye on the workbench updates to make sure I'm not over writing someone else's stuff as well. and when I get a good chuck of something done, maybe I'll post on weekends. It's still undecided.

When you pull and someone has worked on the very same lines that you have, Mercurial cannot auto-resolve the issue. You will be given a choice of methods to fix it yourself.

There is a default HG method where you'll get a texteditor with four fields, one being the main fields and three others being your version, other guys version and one you can edit manually to combine the two. It's also very simple once you try it.

oh, speaking of random silliness. I know I could always use the shift-o to change things, but I changed my code so that drugging a girl turns them into your slave. I also added a class change thing in the girl interactions, just to see if I could and if it would work.

turns out slaves aren't allowed to be guards? I'm not sure why though .... hmm. weird. Speaking of this, are there plans (albeit, probably more complicated or involved) to have class changes? I do know that wm had that dungeon where you could make girls into slaves. Are there similar plans? I think I should probably move that code into a separate file so it doesn't mess up the updates .... yeah.

Yeap, keep that code locally, slaves are not allowed to be trained in combat/work as warriors per design. There are very few story elements we've agreed upon and that was one of them, it'll explained by a slave uprising not so long ago.

We'll have more classes, slavetraining and slaveturning in the future but it will not be as simple as you suggest.
Title: Re: General Discussion
Post by: DarkTl on February 26, 2014, 10:52:43 AM
Oooohkay, it appears that Soul Calibur has too many western style pictures and not enough hentai/anime ones. Screw it, Dead or Alive is next. I'm absolutely sure this title will have more than enough pics of any kind.
Title: Re: General Discussion
Post by: Jaeke on February 26, 2014, 04:40:40 PM
Which part of the pushing process are you having trouble with?
I had some trouble because I was using the wrong address to push to. On SF, in the pytfall code read/write(RW) part remove the extra sb-pytfall-code at the end and use that.
Title: Re: General Discussion
Post by: Xela on February 26, 2014, 06:42:57 PM
Which part of the pushing process are you having trouble with?
I had some trouble because I was using the wrong address to push to. On SF, in the pytfall code read/write(RW) part remove the extra sb-pytfall-code at the end and use that.

Good luck figuring it out. I am to tired to code again tonight I am afraid :( Hoping for better days tomorrow and the day thereafter or next update from me is gonna be this weekend.
Title: Re: General Discussion
Post by: Armegetton on February 26, 2014, 07:17:10 PM
Which part of the pushing process are you having trouble with?
I had some trouble because I was using the wrong address to push to. On SF, in the pytfall code read/write(RW) part remove the extra sb-pytfall-code at the end and use that.

Well, currently successfully pulling the code with:
http://hg.code.sf.net/p/sb-pytfall/code (http://hg.code.sf.net/p/sb-pytfall/code)

If I were, to say, make changes to a file. go to workbench and click commit, it'll open a 'new' version. Then I can say detect outgoing changes, it'll show the one I'm doing.

Then I'll click push, and it'll say http: error 403 (forbidden)

So, I then roll back to the previous version so I don't have to re-obtain everything like I did earlier.

some have said they're using an ssh with a user name and stuff. But the only links I have under my sf account is the one I'm using. And it doesn't ever ask for a username/password.

and as you said, I don't have a read/write(RW) button or code anywhere. just a RO (read only) one.

_____________________

edit:

Hey, thanks for the reply jaeke. Here's some screens to show you guys what I see.

@xela, does the ID you put in match? or maybe there's a checkbox somewhere for RW, not completely sure. It still may very well be my fault. And yes, I am logged in in the first 2 screen shots. (though it doesn't show)
Title: Re: General Discussion
Post by: DarkTl on February 26, 2014, 11:43:38 PM
Ok, I did change it to ssh://[email protected]/p/sb-pytfall/code
then it'll ask for my password, and then I get permission denied lol.
That's not right. I took a look at your profile, your actual login is 4540034, while Armegetton is just user name.
Maybe either you or Xela did a mistake of some kind after all during registration, since you are the only one who have a numeric login. Maybe not though.
Title: Re: General Discussion
Post by: Armegetton on February 26, 2014, 11:57:28 PM
That's not right. I took a look at your profile, your actual login is 4540034, while Armegetton is just user name.
Maybe either you or Xela did a mistake of some kind after all during registration, since you are the only one who have a numeric login. Maybe not though.

Erm, I log into the site with armegetton not the user ID. so, no worries.
xela said he needed the user id to add me to the listing. or did he need the other login? I'm confused.


Language barrier. whyyyyyyyyyy?! lol

Title: Re: General Discussion
Post by: DarkTl on February 27, 2014, 12:02:50 AM
My login = my user name, so I'm not sure.
As far as I can tell, you always will have 403 error using those RO and HTTP strings just because they do not content your login. Without login you cannot enter password.  And without login/password sourceforge will never allow you to push.

You could try ssh://[email protected]/p/sb-pytfall/code string to push.

Then again, something could be wrong with your registration due to language barrier  :)
Title: Re: General Discussion
Post by: DarkTl on February 27, 2014, 12:20:03 AM
This is my profile
(http://s001.youpic.su/pictures/1393448400/thumb_428b2192e18fd10bc7571a30ca9f0929.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1393448400/428b2192e18fd10bc7571a30ca9f0929.jpg)
This is our permissions
(http://s001.youpic.su/pictures/1393448400/thumb_5e055a304830dd1e5e60d354f9743eaa.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1393448400/5e055a304830dd1e5e60d354f9743eaa.jpg)
Feel the difference  ::)
Title: Re: General Discussion
Post by: Armegetton on February 27, 2014, 12:41:50 AM
...

OMG, lol.  Xela, I messed up. can you change my login to my actual login?
LOL. that's funny. and explains everything.

Please change that number to 'armegetton'. That number is not a valid login.

Hahahahaha. well, hopefully this solves the problem and the mystery that was my pushing issues. Oh man. that's rich.

@Dark, you rock, bro.
(http://emoticoner.com/files/emoticons/onion-head/good-job-onion-head-emoticon.gif)
Title: Re: General Discussion
Post by: DarkTl on February 27, 2014, 12:58:15 AM
I added you as armegetton, looks better now
(http://s001.youpic.su/pictures/1393448400/thumb_562971afe3981c9636187028eeb6d686.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1393448400/562971afe3981c9636187028eeb6d686.jpg)
You should try to get RW access later (probably not now, it may take some time for sourceforge to update database). Maybe I should delete the old permission, but it probably won't hurt for now anyway.

I also figured how to set an avatar on sourceforge. You have to create an account on gravatar.com with the same e-mail that you use for sourceforge.
(http://s001.youpic.su/pictures/1393448400/thumb_5c66b4763e054aca20b86814f899353d.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1393448400/5c66b4763e054aca20b86814f899353d.jpg)  8)
Title: Re: General Discussion
Post by: CherryWood on February 27, 2014, 01:46:10 AM
@Xela: How should I code a proper fatigue check in girlinteraction.rpy that takes girls max values into account? I wanted to add that girl will fall asleep during conversation it if she is too exhausted
 
 also, I used $chr.disposition += 1 and not $chr.mod (disposition, 1) everywhere in girlmeets, what is the difference and shoul i correct it?
 
Title: Re: General Discussion
Post by: Xela on February 27, 2014, 04:14:39 AM
@Xela: How should I code a proper fatigue check in girlinteraction.rpy that takes girls max values into account? I wanted to add that girl will fall asleep during conversation it if she is too exhausted

if chr.fatigue > chr.get_max("fatigue") - 30:
    # do something

You can use any value instead of 30 if you feel it's to large or to small.

also, I used $chr.disposition += 1 and not $chr.mod (disposition, 1) everywhere in girlmeets, what is the difference and shoul i correct it?

$ chr.disposition would be the correct one for this case. There is no reason to correct this other than making the code look better. I believe that interactions code is so old that chr.disposition += 1 wasn't even possible back then...

Difference is that one allows you to change only one stats and the other any amount of stats with a single line during the iteration, for example during the jobs where 10 - 15 stats could have been changed (we apply them only once at the end of the job):

for stat in some_dict:
    chr.mod(stat, some_dict[stat])

And you're basically done. otherwise you'd have to write it out 15 times. There are other ways of doing this but they're all longer to type out and harder to maintain.

Edit:
Quote
There is no reason to correct this other than making the code look better.

By this I mean correcting chr.mod("disposition", 1) to chr.disposition+= 1 not the other way around, you've used the correct code.
Title: Re: General Discussion
Post by: Xela on February 27, 2014, 05:44:07 AM
Hahahahaha. well, hopefully this solves the problem and the mystery that was my pushing issues. Oh man. that's rich.

Well, if it does, it's a SF bug. What would be the bloody point in adding anyone using their ids if they cannot use their rights, either block adding people through ID or properly add them based on correct IDs.

Why f#ck with people instead?  :-[
Title: Re: General Discussion
Post by: CherryWood on February 27, 2014, 08:51:24 AM
thanks
 now another question: how to use this
Code: [Select]
if chr.has_image("deepthroat") to look for one image with more tags?
 what i want to do is for example display (profile + sad) image but if there is not one (profile + uncertain) image instead
Title: Re: General Discussion
Post by: Xela on February 27, 2014, 09:09:47 AM
thanks
 now another question: how to use this
Code: [Select]
if chr.has_image("deepthroat") to look for one image with more tags?
 what i want to do is for example display (profile + sad) image but if there is not one (profile + uncertain) image instead

if chr.has_image("profile", "sad"):
   # Do something

Maybe I should code something like this into show() method instead... for now use has_image, it'll always work.

=============
Just tested new version of Alkion, dungeon is a bit better, it's now possible to create maps in txt files (bit confusing) and there are some tile properties (like water passable only for those who can swim). Eliont has a couple of bugs to fix before throwing it on the blog. I think I also got a couple of ideas of how to make jobs better on code review from there.
Title: Re: General Discussion
Post by: Armegetton on February 27, 2014, 03:05:40 PM
Well, if it does, it's a SF bug. What would be the bloody point in adding anyone using their ids if they cannot use their rights, either block adding people through ID or properly add them based on correct IDs.

Why f#ck with people instead?  :-[

I just checked SF, I have a RW code now. I'm gonna try to push something, it only has one line changed. It's just a test. Let's see if this works now.

_____

Well, it seemed to go through this time. Let me know if it didn't.

Kinda dumb that sf is being retarded like that though.... so .... what's the point of the user ID then? .... lol. whatever
Title: Re: General Discussion
Post by: Xela on February 27, 2014, 04:22:54 PM
Kinda dumb that sf is being retarded like that though.... so .... what's the point of the user ID then? .... lol. whatever

Yeap... When I've added you through ID, it read you nickname correctly, it reported that you've been added corerectly as well. Even big companies have their crap to sort out, recently I've downloaded Windows Update that prevented me from opening 90% of .exe files. Last time that has happened was the 90s and it was a virus :D
Title: Re: General Discussion
Post by: CherryWood on February 27, 2014, 05:36:42 PM
- pushed a very small addition to interaction (it's just me playing with something more than seriously adding content)
Title: Re: General Discussion
Post by: Xela on February 27, 2014, 06:22:24 PM
- pushed a very small addition to interaction (it's just me playing with something more than seriously adding content)

Still better than nothing that I've manged to come up with (just an idea for the event).

Been another hectic day...

Code: [Select]
$int_show("profile", "angry", exclude=["nude","bikini","swimsuit","exposed","beach"], type="first_default")
Profile is always the default (unless an actual default has been specified), it doesn't do do any damage to the game at all. I am just making sure we're all at the same page.
Title: Re: General Discussion
Post by: CherryWood on February 27, 2014, 07:19:34 PM
Profile is always the default (unless an actual default has been specified), it doesn't do do any damage to the game at all. I am just making sure we're all at the same page.
???  Thanks a lot. I somewhat managed to totally forget that there is also a "normal" behavior...


I'll look into it again (and I'll try to do something with the first interaction pic too).
Title: Re: General Discussion
Post by: DarkTl on February 27, 2014, 11:44:28 PM
No idea why do they need user id at all, however when you try to add someone, it says "enter username". Nothing about id.
Title: Re: General Discussion
Post by: Xela on February 28, 2014, 05:04:31 AM
No idea why do they need user id at all, however when you try to add someone, it says "enter username". Nothing about id.

Come on... why accept IDs then? I might as well enter Bing-Tiddle-Tiddle-Bong but that ain't going to be accepted...
Title: Re: General Discussion
Post by: DarkTl on February 28, 2014, 06:09:24 AM
I have a theory that you have to use ssh key if you registered via id.
Title: Re: General Discussion
Post by: Xela on February 28, 2014, 06:36:25 AM
I have a theory that you have to use ssh key if you registered via id.

Not impossible but unlikely since you don't seem to be getting write permission through ssh protocol. I used to connect through ssh but pushing using that is too easy and I often remember few small things that while typing in the password :)
Title: Re: General Discussion
Post by: DarkTl on February 28, 2014, 11:07:43 AM
Strange, I can't find any mention of id in the sourceforge documentation.
Title: Re: General Discussion
Post by: Xela on February 28, 2014, 11:40:45 AM
Strange, I can't find any mention of id in the sourceforge documentation.

Aah, who cares? It's clear that new people should only be added through usernames. I want to see if I can improve the MainMenu this weekend (from blank background) and Menu from the default. Should be doable but with my graphical skills  :'(

Maybe someone on the crew will find time for interactions or girlsmeets as well. Magic is still waiting to be added.

===========
Oh, I'll put in some more checks and mp3s as well. If anyone knows/can find better tunes or simply missing tracks, let me know or just throw them into the game through "choice()"
Title: Re: General Discussion
Post by: DarkTl on February 28, 2014, 11:52:35 AM
I'll try to figure magic at this weekend. As for soundtracks, here we go (http://animeost.info/15493/kamidori-alchemy-meister-sound-collection).
It's up to you whether to add them or not to the repository. I know I will add them to my copy of the game when it will be ready  :)
Title: Re: General Discussion
Post by: Xela on February 28, 2014, 12:00:59 PM
I'll try to figure magic at this weekend. As for soundtracks, here we go (http://animeost.info/15493/kamidori-alchemy-meister-sound-collection).
It's up to you whether to add them or not to the repository. I know I will add them to my copy of the game when it will be ready  :)

I need concrete examples, like track: location no more mp3s... anyway, I am gonna wrap up music flags and start with the damn menu!
Title: Re: General Discussion
Post by: DarkTl on February 28, 2014, 12:33:01 PM
I can't possibly be specific enough until you push your mp3s. I created music folder in my db, you can find some tracks there that are not overused in the source game.
Title: Re: General Discussion
Post by: Xela on March 01, 2014, 07:44:39 AM
I can't possibly be specific enough until you push your mp3s. I created music folder in my db, you can find some tracks there that are not overused in the source game.

Hmm, Kamidori OSTs are good, maybe we can use a couple for girl's screens. I had a pretty messed up week so I had a "few already today" :) I did some work figuring Ren'Py code and functions, modifying main screen and game menu. I don't think I can do it really well even with complete knowledge of Ren'Py and Python, someone with design skills or simply a good eye for GUI is required, but I'll do what I can. I'll resume my work tonight and hopefully update SF before tomorrow.
Title: Re: General Discussion
Post by: DarkTl on March 01, 2014, 08:16:41 AM
Looks like so far we only have projective and instant magic. I've been thinking about rays of some kind, when the continuous beam shoots to the enemy.
Title: Re: General Discussion
Post by: Xela on March 01, 2014, 08:39:04 AM
Looks like so far we only have projective and instant magic. I've been thinking about rays of some kind, when the continuous beam shoots to the enemy.

Should be doable but animations for that will not be easy to find and while making one is simple, we don't have any graphical designers on the team. It's prolly best to work with what we've got before the @.
Title: Re: General Discussion
Post by: Xela on March 01, 2014, 12:54:17 PM
SF Updated:

- Better music handling
- Location music will now play while gilsmeets and not reset on return to the location label
- Some sfx files have been relocated
- RenPy default screens have been restyled

As usual I've done all I could to build a prototype in absence of graphics designer, it's far from perfect but it's not awful either...

Pics (some of this stuff is animated so it's a frozen frame on the pic):

(http://s27.postimg.org/82g617oj3/screenshot0001.png) (http://postimg.org/image/82g617oj3/)

(http://s27.postimg.org/ppxyzeygf/screenshot0002.png) (http://postimg.org/image/ppxyzeygf/)

(http://s27.postimg.org/4hkahzjzj/screenshot0003.png) (http://postimg.org/image/4hkahzjzj/)

(http://s27.postimg.org/qqy7ojffz/screenshot0004.png) (http://postimg.org/image/qqy7ojffz/)
Title: Re: General Discussion
Post by: Armegetton on March 01, 2014, 03:25:39 PM
SF Updated:...


much nice. many ambiance. very mood
wowe
Title: Re: General Discussion
Post by: Xela on March 01, 2014, 04:33:39 PM
much nice. many ambiance. very mood
wowe

Thanks :)

Luckily Ren'Py allows to do quite a bit with just code even if this doesn't approach designs made by artists.
Title: Re: General Discussion
Post by: DarkTl on March 02, 2014, 04:52:37 AM
"Tab characters are not alowed in renpy scripts". Since when proper code formatting is forbidden?  :(

How to add magic skills to mc?
Title: Re: General Discussion
Post by: Xela on March 02, 2014, 05:03:14 AM
"Tab characters are not alowed in renpy scripts". Since when proper code formatting is forbidden?  :(

Spaces are not good enough for you? :)

Actually unless I am mistaken, Python allows using tab... maybe it was a bitch to write parser for so PyTom decided not to.

How to add magic skills to mc?

Either in classes - characters.rpy (Player class, some are defined there already so just copy/paste) or prolly simpler:

in console or in script.rpy after hero has been defined:

hero.magic_skills["skill"] = 2 # Or any number, hero is always player controlled so priority doesn't matter.
Title: Re: General Discussion
Post by: DarkTl on March 02, 2014, 06:17:33 AM
I have strange results. I pushed darkness spell, mc already has it, but I have no idea what is wrong with animation.
I read about anim.filmstrip function, it supposed to work this way, but it doesn't.
Title: Re: General Discussion
Post by: Xela on March 02, 2014, 07:43:11 AM
I have strange results. I pushed darkness spell, mc already has it, but I have no idea what is wrong with animation.
I read about anim.filmstrip function, it supposed to work this way, but it doesn't.

image dark_skull = anim.Filmstrip('content/gfx/be/dark_skull.png', (250, 500), (4, 3), 0.0, loop=false)

image dark_skull = anim.Filmstrip('content/gfx/be/dark_skull.png', (375, 500), (4, 3), 0.1, loop=false)

Just pushed a fix for the screen issue you've reported and your animation, you got 1500/4 (prolly thought image was 1000/1500) a bit wrong and didn't put any time between the animations. I've also changed anchor a little bit so it's above the enemy but it might not be your intent (I suggest not to try and anchor it in between the characters because that will look a bit weird on battlefield where they can move around). Also this animation seems to big... but that's an opinion.

Edit: Evil laughing sound would go well with that :)
Title: Re: General Discussion
Post by: DarkTl on March 02, 2014, 08:00:36 AM
Huh, I resized it to 1000/1500, but instead it became 1500x1500, and I didn't notice it  ::)

I also like how it formed in the air and then attacks an enemy while disappearing. I'll find another sound, sure, this was a test one.
Title: Re: General Discussion
Post by: Xela on March 02, 2014, 08:08:30 AM
Huh, I resized it to 1000/1500, but instead it became 1500x1500, and I didn't notice it  ::)

I've spent over an hour trying to figure out why my AlphaBlend didn't work. Apparently I had "fit to scale" option turned on while resizing the fire animation so instead of PyTFall it kept showing PyTF :D

Never working with AlphaBlend before, I believed fault was with me not understanding what it does and there are 0 examples on how to use it since it's a bit tricky.
Title: Re: General Discussion
Post by: DarkTl on March 02, 2014, 12:36:12 PM
Where did you take that "good luck" sound from? When I hear it brings to mind the expression "go full retarded" from some gaming community  ::)

Why MC cannot sell items back to merchants? Or rather, why do they refuse to buy it back?
Title: Re: General Discussion
Post by: Xela on March 02, 2014, 03:44:07 PM
Where did you take that "good luck" sound from? When I hear it brings to mind the expression "go full retarded" from some gaming community  ::)

LoL If you can find something better suited, be my guest. I think it was called something like Ironic Cartoon Voice on SD.

Why MC cannot sell items back to merchants? Or rather, why do they refuse to buy it back?

Merchants should only buy items they sell themselves. General Shop buys everything. If it works differently, it's a bug.
Title: Re: General Discussion
Post by: Xela on March 02, 2014, 05:37:41 PM
Fixed a small number of things:

- Fixed a bug where shops would buy everything except what they themselves sell (wrong bool).
- Disposition can no longer be changed by traits and will not mess with girlsmeets.
- Original order will be maintained for chainfights after saves. Now reversed.
Title: Re: General Discussion
Post by: Xela on March 02, 2014, 11:48:41 PM
New prototype, map is loaded from Tiled (this actually is being cropped from tiles, not an image like before).

(http://s1.postimg.org/fdrhs0laz/screenshot0052.jpg) (http://postimg.org/image/fdrhs0laz/)
Title: Re: General Discussion
Post by: DarkTl on March 03, 2014, 03:42:47 AM
I'm not sure about the idea that party members should move and act independently. And I'm not sure about several exploring parties at the same time as well.
Title: Re: General Discussion
Post by: Xela on March 03, 2014, 04:23:37 AM
I'm not sure about the idea that party members should move and act independently. And I'm not sure about several exploring parties at the same time as well.

I am against cloning RPGMaker functionality to Ren'Py, it's messy, will not be as good or as fast and will take to long. This is what we got and even this still needs sh!tloads of work. If we're going to do a dungeon, we should at least try to make it a bit different from hundreds of standard RPGMaker games.
Title: Re: General Discussion
Post by: DarkTl on March 03, 2014, 07:27:40 AM
Well, some of those sprites look strange (especially Hinata). I think they could use a framing of some kind for EE.

What kind of BE do you want to use in dungeons? I suppose we won't use our current BE, since party members are divided?
Title: Re: General Discussion
Post by: Xela on March 03, 2014, 07:52:05 AM
(http://s21.postimg.org/wss0y4dur/screenshot0053.png) (http://postimg.org/image/wss0y4dur/) (http://s21.postimg.org/zbdpyszkz/screenshot0054.png) (http://postimg.org/image/zbdpyszkz/) (http://s21.postimg.org/r21uke5ur/screenshot0055.png) (http://postimg.org/image/r21uke5ur/)

- Fixed a bug in the BE + Added default Luck
- Added loading map from Tiled + 1 map/it's json
- Moved debug screen with coords to dev mode only

Added collision, increased size of tiles because our magic looks really shitty otherwise (animations seem 10x larger than sprites). We'll have to choose if we want tiny sprites with battlefield zoom-in and auto-resize of attacks or this option (I like larger tiles myself and it's less of a mess in code).

LiveComposite/AlphaBlend may be resource hungry, I'll need to test new updates on a shitty laptop at some point. There are other ways to go. That entire map is loaded from 37kb png file by the way :)

It's basically the same thing as before but with proper tile loading and map + collision on that map from Tiled.


==============
Enough playing around (although it's a lot of fun) :) I'll see if I can find something on the TODO list for tonight...

==============
What kind of BE do you want to use in dungeons? I suppose we won't use our current BE, since party members are divided?

I like Alkion's style a lot but with magic and attack "on the ground", instead of a separate animation screen... Proof of concept been in the game for a long time (pytfall.arena.test()) in the console. It's very raw but base concept is clear.

If you have other ideas, lets hear them, all of it can be easily changed. (oh, we can load hex-tiles, 3Dtiles and maybe some other formats, this was just already in Tiled).
Title: Re: General Discussion
Post by: DarkTl on March 03, 2014, 09:19:36 AM
If you can find something better suited, be my guest. I think it was called something like Ironic Cartoon Voice on SD.
How about this (https://www.dropbox.com/s/e2bi6v2l5lu7q53/Heroes%20Opening%20Credits..mp3) one (with better quality)?  :)

(oh, we can load hex-tiles, 3Dtiles and maybe some other formats, this was just already in Tiled).
3Dtiles without an artist? Is it even possible?

I like Alkion's style a lot but with magic and attack "on the ground", instead of a separate animation screen
Even though it is practically the Kamidori BE, I kinda dislike separating characters in our case. Maybe a small teams instead, like 2-3 groups with 2-3 members each...

Those maps are way too bright btw. I wanna dark, grim and dangerous dungeons.

p.s. it's difficult to tear your eyes from that bleach dance in options menu  ::)
Title: Re: General Discussion
Post by: Xela on March 03, 2014, 10:04:09 AM
How about this (https://www.dropbox.com/s/e2bi6v2l5lu7q53/Heroes%20Opening%20Credits..mp3) one (with better quality)?  :)

Nice, but this one is bit too long.

Even though it is practically the Kamidori BE, I kinda dislike separating characters in our case. Maybe a small teams instead, like 2-3 groups with 2-3 members each...

That would not allow on the map combat... might be easier to code though! We don't have to make the decision right now or we can do it both ways depending on the location.

Those maps are way too bright btw. I wanna dark, grim and dangerous dungeons.

Well, loading another tileset is easy. Also tiled has "sewers" tileset by default. Implementing a proper dungeon system with collect/trap/terrain tiles is a LOT of work, but with Tiled it no longer seems so out of reach as before... maybe we'll pull it off someday. (still an extensive dungeon system would be better implemented in RPGMaker... and there is a brothel sim on that platform that is pretty good)

p.s. it's difficult to tear your eyes from that bleach dance in options menu  ::)

... good!

3Dtiles without an artist? Is it even possible?

How about making a hentai game without one ??? We just don't know where to look for tilesets, I am sure there plenty around, but this is like for version 2.5 if we ever get there.
Title: Re: General Discussion
Post by: DarkTl on March 03, 2014, 10:35:17 AM
That would not allow on the map combat... might be easier to code though! We don't have to make the decision right now or we can do it both ways depending on the location.
Not necessarily. For example, one character for close and one for ranged combat, or one fighter and one mage, etc.

Nice, but this one is bit too long.
Well, you don't have to wait until it stops before loading the brothel screen screen. High quality version (https://www.dropbox.com/s/durv75q3hx8foe5/heroes_theme.mp3).
Title: Re: General Discussion
Post by: Armegetton on March 03, 2014, 02:24:43 PM
p.s. it's difficult to tear your eyes from that bleach dance in options menu  ::)

Oh, maybe can we get the ending credits dance from Highschool DxD? In some screen as well?

They look like dis:
http://cybersteelex.blogspot.com/2012/02/high-school-dxd-gif-collection.html

Title: Re: General Discussion
Post by: Xela on March 03, 2014, 03:45:47 PM
Oh, maybe can we get the ending credits dance from Highschool DxD? In some screen as well?

They look like dis:
http://cybersteelex.blogspot.com/2012/02/high-school-dxd-gif-collection.html

Got something else planned for that... I really don't feel like writing tonight and there is not much else left to do, so... Inspired by Roman's ending theme of Ceramic Hearts, I'll see if I can cook up something similar for our gallery!
Title: Re: General Discussion
Post by: Xela on March 03, 2014, 09:02:45 PM
- Fixed potential disposition bug
- Added transition loop to the gallery
Title: Re: General Discussion
Post by: DarkTl on March 04, 2014, 05:20:06 AM
Ending credits? What are you going to write there? We are a small team with short usernames  :)
Title: Re: General Discussion
Post by: Xela on March 04, 2014, 06:22:06 AM
Ending credits? What are you going to write there? We are a small team with short usernames  :)

We don't have an ending yet either but when we will, I'll think of something.
Title: Re: General Discussion
Post by: Xela on March 04, 2014, 08:55:38 AM
Still hacking at code, doing some of the stuff planned for post-@ that could be of use today. Rewrote some borrowed code and tweaked our own a bit. Managed to increase productivity of AlphaBlend (PyTFall letters on the main screen) and all auto-animations in the game by 50 - 500%. Game will no longer hang on entering options from main menu and during complex auto-loaded animations in BE.

- Improved AlphaBlend on the main screen
- Improved transitions on SlideShow in the gallery
- Cleared out some obsolete borrowed code that slower down auto-animations
Title: Re: General Discussion
Post by: Xela on March 04, 2014, 02:08:25 PM
Where did all the writers go to? At this point Girlsmeets/Interaction texts are like 90% of the remaining workload for the @, I've done all I could with the code save a major review. Get working (sound of a whip)!
Title: Re: General Discussion
Post by: DarkTl on March 04, 2014, 02:31:10 PM
There are plenty of things in the to do list, including NPCs (queen's blade mistress...).
Btw, I believe we have at least 1 spell per element (I'll add more at this weekend), you can strike it out from the list.

Actually, what will happen to the arena and all BE content after you will add Alkion's EE/BE?
Title: Re: General Discussion
Post by: Xela on March 04, 2014, 03:37:52 PM
There are plenty of things in the to do list, including NPCs (queen's blade mistress...).

I've updated the list and most of it is writing... tell me if I forgot something.

What should I do about Blue? Put something in about her being a clone, a sister, add an event to trigger if player enters with QB girl on his team into slavemarket? To be perfectly honest, I don't really give a sh!t about it, it would be a pain to look for NPCs that cannot be unique girls. This doesn't break your "fourth wall" and it's a magical universe so a lookalike is not out of place without any explanations.

Actually, what will happen to the arena and all BE content after you will add Alkion's EE/BE?

We are not likely to abandon Jake's BE for the Arena at this point... only if I decide to code something similar but in that case, I'll make use of all the resources we've created. My combination of Jakes BE and maps from Tiled looks promising as well, I am not entirely sure Alkion's BE is a better concept. I discussed that with Roman and maybe convinced him to switch from that text file with letters insanity to Tiled as well. Basically, we'll haven't decided or even discussed exploration yet so talking about porting Alkions BE is premature.
Title: Re: General Discussion
Post by: Armegetton on March 04, 2014, 05:54:18 PM
Where did all the writers go to? At this point Girlsmeets/Interaction texts are like 90% of the remaining workload for the @, I've done all I could with the code save a major review. Get working (sound of a whip)!

Well, as for what I've been doing. ... my bed has been very comfortable lately, and my recovery vacation ends on friday. Not that going back to work will change anything. (I can still do writing after work, it's not a big deal, but my responses on the site won't be as often or push updates)

There's a big problem I've encountered; I'm not entirely sure how you're wanting to do the girlsmeets/interactions/etc.

I'll try to explain what I'm talking about.

Right now we have a lot of code blocks for each action ( you probably know this), and inside it's just sorted by two long elif nests. One for 'yes' the other for 'no'. My biggest issue, is I have no clue which traits should be there and which shouldn't. And should we be using multiple tags at a time?

ex:
elif "Egocentric" in  chr.traits: (most are single like this)
elif "Optimist" in  chr.traits and "Lolita" in chr.traits: (others are double like this)

Basically, what I'm saying is the work load currently looks infinite to me. Also, I remember reading that we're not even sure if we're going to keep all the traits or not, or change them etc etc etc.

Don't get me wrong, I can certainly get 'into the zone' think a personality (or whatever trait) through and put in some lines, but I'm not confident in what you (the management) is expecting in terms of the @ release.

I tried going through the traits xml file to see what was there but ... aren't there like a hundred traits?! Do we need a line for each trait?


But as for what would really help me (as far as writing is concerned), is having a little more direction. Basically tell me, "I want X many under general, X many under <certain trait>, X many under <certain other trait>" or you could even put it in comments in the code, that would work too. But that way, I'd at least know what traits I can ignore; for the @, at least.

I'll need at least some of this so I can get some idea of what we need. Then I can go through and tell myself "ok, tonight I'll get X traits done for Y action" and work piece by piece. But right now it's just one huge blob of work.

Best case scenario: have someone tell me

elif ct(<trait(s)>):
   $rc("") #want <whatever number> of responses here <----

That way I can start going through filling it out.

_________________________

Issue #2


Also, how are you wanting the logic under the insult actions to be done? Wouldn't getting insulted piss off most women? This seems like something other than the 'writing' department.

And issue 1 applies to this as well. What's the bare minimum traits/number of responses desired for the @?


__________________________

possibly issue #3?

Right now, if we have every single trait in the elif nest. Will the general responses even be used? What if a girl has multiple traits? Should the code be able to select a response from any trait or multiple responses? Because right now it only chooses the first one, right?

This seems more like a design issue, more than a writing issue. But it affects the writing portion, or at least, it may cause problems in the future.




The most important issue is #1. If that one is addressed, I can at least work while the others get sorted out.

Any responses are appreciated.


p.s. I have no idea what any of the other writers are doing, since I rarely see them communicate via this forum. Also, I work alone, so hopefully I won't do something someone else is working on. If there are any issues like this, please let me know.

Title: Re: General Discussion
Post by: Xela on March 04, 2014, 06:37:34 PM
We've answered most of these issues already:

- We do not cover all traits for each response obviously.
- We cover them in the following order: Generic > Occupation > Stats > Traits (Traits that make sense).
- Do we really want insults for @? There could be a couple of jokes thrown in there but they do not sound very important.


You can add menus as well, to add more options. Basically, some of the lines, especially in the interactions are really bad so those can be improved and more options to the interactions can be added easily. Girlsmeets are in a much better shape, I agree. Not really sure about what else can be added there.

I'll take a look at both tomorrow (and getting late and I am not feeling to chipper either), maybe write some code and comments for placeholders for text, that might actually work (I think Daisy in OW did something like that).
---------------------------------------------------------------------

Another thing:
- Events
- NPCs
- Other texts in the game/stuff on TODO list

If anyone gets bored writing generics for the gm/interactions, consider doing a couple of those. For example, I want to have a Leprechaun called Peevish McSpud who's very rude, insulting and lives in the small house near the witch. He'd teach earth/water magic, raise Magic for Gold and maybe offer some quests. Writing lines for something like that or coming up with own NPCs might make a decent break. I just need the writing in Ren'Py format (+ menu choices for player responses) and Sprites for NPC if writer doesn't know how to put those in himself.

Ideas here might be infinite and there aren't many rules to follow.

==========================================
In the end, we need more content of all kinds, game feels kinda empty at the moment with too few events, locations and NPCs.

I'll do a small push, basically just added some minor logic where MC not placed in any brothel (basically living on Streets) will loose health slowly, slaves in the same situation will loose heath as well (slightly faster rate), Free girls will live in the place of their own but still expect to be paid since you've hired them (might learn some skills + get small amount of experience) and everyone will benefit from living in a building (in our case, only buildings in the game right now are brothels).

- Brothels are a lot more expensive
- Location matters during the Next Day
- Notify during traits has been disabled (faster loading time and we already know that trait blocks work anyway)
Title: Re: General Discussion
Post by: DarkTl on March 05, 2014, 12:45:04 AM
Put something in about her being a clone, a sister, add an event to trigger if player enters with QB girl on his team into slavemarket?
Actually, a clone will be a good easter egg, if you haven't abandoned the idea of ​​cloning.
Title: Re: General Discussion
Post by: Xela on March 05, 2014, 04:47:27 AM
Actually, a clone will be a good easter egg, if you haven't abandoned the idea of ​​cloning.

Well, there is no point in having her tell that to everyone unless part of some event... So we keep it as it is, maybe we'll write some minor event on entry to SM with QB mistress on the team.
Title: Re: General Discussion
Post by: DarkTl on March 05, 2014, 04:51:12 AM
I could make Irma (that's the character name) a slave. And after MC will see her among other slaves, there will be a new line in the dialogue with Blue or something.
Title: Re: General Discussion
Post by: Xela on March 05, 2014, 05:12:10 AM
I could make Irma (that's the character name) a slave. And after MC will see her among other slaves, there will be a new line in the dialogue with Blue or something.

Yeap, that would work as well.
Title: Re: General Discussion
Post by: GonDra on March 05, 2014, 08:46:28 AM
I wanted to check out the progress you guys made yesterday, only to find out that I get errors over errors, so I stopped yesterday.

The most recent revision I get is 172, and produces the following error when run in the most recent version of Ren'Py trying to start a game:
Code: [Select]
While running game code:
  File "game/script.rpy", line 85, in script
  File "game/script.rpy", line 160, in python
  File "game/library/classes - tags.rpy", line 32, in python
TypeError: list indices must be integers, not unicode

I will try taking a look at the interactions anyway later today but I need to finish some other stuff before I have time for that today.
On a sidenote I found it a bit annoying to get the game to start as I had to figure out the folder structure for the chars and rchars with the error messages, maybe keeping default folders in the repository would make it a tad easier to start people off with the project.
Title: Re: General Discussion
Post by: DarkTl on March 05, 2014, 10:51:00 AM
You should update your renpy to prerelease version for a start to have much less errors  :D
Title: Re: General Discussion
Post by: Xela on March 05, 2014, 02:06:08 PM
I wanted to check out the progress you guys made yesterday, only to find out that I get errors over errors, so I stopped yesterday.

The most recent revision I get is 172, and produces the following error when run in the most recent version of Ren'Py trying to start a game:
Code: [Select]
While running game code:
  File "game/script.rpy", line 85, in script
  File "game/script.rpy", line 160, in python
  File "game/library/classes - tags.rpy", line 32, in python
TypeError: list indices must be integers, not unicode

I will try taking a look at the interactions anyway later today but I need to finish some other stuff before I have time for that today.
On a sidenote I found it a bit annoying to get the game to start as I had to figure out the folder structure for the chars and rchars with the error messages, maybe keeping default folders in the repository would make it a tad easier to start people off with the project.

Odd error, you may have put the girls directly in char/rchar folders. I am not 100% sure how to add folders to the mercurial depo and then exclude everything inside them, I just know how to exclude a folder from it completely but following a structure of:

content/chars/Naruto/Hinata
content/rchars/elf_girls/Rena_Elsword

isn't a difficult instruction to follow.

Making it even easier for the dev team might be very time consuming... Once you get folder structure right, make sure that you have Persona and Naruto packs and at least one random girl. If you cannot find those for some reason, PM me, Dark or CW.

You should update your renpy to prerelease version for a start to have much less errors  :D

No longer required, 6.17.x is official now.

========================
I had another messed up day today, so unless I can shake it off in an hour or two, there isn't going to be an update tonight.
Title: Re: General Discussion
Post by: DarkTl on March 05, 2014, 02:35:39 PM
I am not 100% sure how to add folders to the mercurial depo and then exclude everything inside them
Repositories usually don't allow empty folders at all. Although, you can use empty files as placeholders.
Title: Re: General Discussion
Post by: GonDra on March 05, 2014, 06:17:35 PM
Odd error, you may have put the girls directly in char/rchar folders. I am not 100% sure how to add folders to the mercurial depo and then exclude everything inside them, I just know how to exclude a folder from it completely but following a structure of:

content/chars/Naruto/Hinata
content/rchars/elf_girls/Rena_Elsword

Making it even easier for the dev team might be very time consuming... Once you get folder structure right, make sure that you have Persona and Naruto packs and at least one random girl. If you cannot find those for some reason, PM me, Dark or CW.

Maybe add that to the repository post so that it is easy to find.

Got it running now after recloning the entire thing, but I am running too low on free time to start looking into it.

Might I suggest that future girlspacks include .xml's and .json's in their folder structure? Also unless I am overlooking something there is no indication what under folder specific rgirls are supposed to go.
Title: Re: General Discussion
Post by: Armegetton on March 05, 2014, 07:38:42 PM
Maybe add that to the repository post so that it is easy to find.

Got it running now after recloning the entire thing, but I am running too low on free time to start looking into it.

Might I suggest that future girlspacks include .xml's and .json's in their folder structure? Also unless I am overlooking something there is no indication what under folder specific rgirls are supposed to go.


No, you're probably right, you'd have to dig through this site for a while to find the answer. It's likely buried by now.

I'm actually not entirely sure what is supposed to be where, but I can explain what I have. (and it works ... so...)

All girls are split into two categories unique and random
the uniques go under
\game\content\chars

randoms go under
\game\content\rchars

after that, I have mine split into folders based on origin (i.e. naruto, one piece, etc)
in the naruto folder I have 2 files and then a folder for each girl
the two files are a data.xml and tags.json
\game\content\chars\naruto\data.xml
\game\content\chars\naruto\tags.json

And there seems to be these two files under every origin folder.

There's also a folder for each girl under the origin folder.

i.e. sakura
\game\content\chars\naruto\Sakura
this folder has all her pics. Normally, there would also be a tags.json file in this folder as well, but it seems the one in the outer naruto folder has sakura, hinata, and tenten in it.

The random girls folders are done similarly, but the data files are also .json and they all seem to be in the outer folder. (same as the uniques)



All that said, I actually didn't do any of that file sorting myself. I just downloaded the packs. (see attached file, I believe this one may be the most recent, could be wrong)

And when you 'unzip' them (though they're all 7z files) you keep the file hierarchy and drop them into the folders as I explained above.

Each download is an entire major origin folder, so you won't have to worry about missing those outer data.xml and tags.json files. And you'll get all the girls for naruto when you download the naruto pack, etc etc.

I'm sure this can definitely be done a better way, but currently, this is the setup. (besides, the alpha is still in development, so it's mainly only people working on it who even touch it) As game progresses, there will probably be a solution to this.

If anything, we could probably get Dark or who ever is mainly responsible for updating core graphics to have this file or a readme file tell people where to get more girl packs.

Clear as mud?

Title: Re: General Discussion
Post by: Xela on March 06, 2014, 06:12:16 AM
MEGA Claim of Alleged Infringement / Takedown

And so it begins...

=========
- We forgot to add gifts during girlsmeets to the list. I am going to take a look into that, rest of gm and interactions today to get rid of choices we aren't going to use got the @.
Title: Re: General Discussion
Post by: DarkTl on March 06, 2014, 09:01:05 AM
MEGA Claim of Alleged Infringement / Takedown
You mean your account or someone's else? Guess it's about time to use password protected archives with meaningless names.
Title: Re: General Discussion
Post by: Xela on March 06, 2014, 09:37:04 AM
You mean your account or someone's else? Guess it's about time to use password protected archives with meaningless names.

Mine, I am still hosting packs for original WM, it never said which one.
Title: Re: General Discussion
Post by: Xela on March 06, 2014, 11:48:04 AM
I'll start with gifts in an hour, if anyone has any ideas for girlsmeets/interactions that are heavy on coding, let me know and I'll try to get it done tonight as well.
Title: Re: General Discussion
Post by: Xela on March 06, 2014, 03:01:51 PM
(http://s13.postimg.org/zf80430gz/screenshot0056.jpg) (http://postimg.org/image/zf80430gz/)

LoL I love Ino's look near the Arena "_"

Gifts are more or less ready without texts, getting rid of unused choices for the @ is next.

Edit:
Got rid of useless choices and created labels with singe text as a placeholder for everything else.

Going to take a look at Interactions now and do the same.

Edit 2:

Done as well.

I am going to do one last thing (add renpy Character class to our PyTFall class, for now with some simple options to be expanded upon later) and then push.
Title: Re: General Discussion
Post by: Xela on March 06, 2014, 06:06:20 PM
SF Updated:

- Imported gift items into the game and added them to girlsmeets
- Added say attribute to characters set to Ren'Pys Character class with a side-image and ivory colored nickname
- Added the above whereever appropriate to the code
- Added two_window to all/most text-lines
- Added some comments and placeholders to girlsmeets and interactions
- Removed all non-@ interactions and girlsmeers
- Fixed a bug with music in the Arena-Outside girlsmeets
- Adjusted databases loading order
- Moved some of the interactions we are not going to use for the Alpha to separate files


Edit:

Note: You guys will have to delete all bytecode files after pulling due to files split.
Title: Re: General Discussion
Post by: DarkTl on March 06, 2014, 11:34:55 PM
Guess I'll try to write texts for gifts if you give me format.

How about adding race string field to girls data files for the alpha? Even if we don't use it for now, we will anyway.
Also, we have to do something about initial stats in data files. Since we have normalization, I even not sure if we need them in their current form.
Title: Re: General Discussion
Post by: Ioriya on March 07, 2014, 01:03:33 AM

Quote
I'm sorry, but an uncaught exception occurred.


While running game code:
  File "game/library/screens/pyt - screens - nextday.rpy", line 10, in script
  File "game/library/screens/pyt - screens - nextday.rpy", line 109, in python
  File "game/library/classes - support.rpy", line 86, in python
  File "game/library/classes - arena and exploration.rpy", line 2051, in python
  File "game/library/classes - arena and exploration.rpy", line 694, in python
AttributeError: 'NoneType' object has no attribute 'fighting_days'


-- Full Traceback ------------------------------------------------------------


Full traceback:
  File "E:\Games\renpy-6.17.0-sdk\renpy\execution.py", line 294, in run
    node.execute()
  File "E:\Games\renpy-6.17.0-sdk\renpy\ast.py", line 732, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "E:\Games\renpy-6.17.0-sdk\renpy\python.py", line 1358, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/library/screens/pyt - screens - nextday.rpy", line 109, in <module>
    pytfall.next_day()
  File "game/library/classes - support.rpy", line 86, in next_day
    self.arena.next_day()
  File "game/library/classes - arena and exploration.rpy", line 2051, in next_day
    self.update_matches()
  File "game/library/classes - arena and exploration.rpy", line 694, in update_matches
    elif setup[2] not in team.leader.fighting_days and team.leader not in self.get_matches_fighters(matches="1v1"):
AttributeError: 'NoneType' object has no attribute 'fighting_days'


Windows-7-6.1.7601-SP1
Ren'Py 6.17.3.327
PytFall 0.38


Does anyone happen to know what this error is about?


It seems to prevent me from going on to the next day.
Title: Re: General Discussion
Post by: CherryWood on March 07, 2014, 02:18:56 AM

Does anyone happen to know what this error is about?


It seems to prevent me from going on to the next day.
This usually means game didn't found any random girls to fill the arena with fighters. Either you don't have them or you placed them wrong. It's explained on previous page...
You get similar errors if you don't have Naruto0, Naruto and Persona packs too. They all are currently requested by dev version.
If that's not it, then sorry...
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 07:09:16 AM
Guess I'll try to write texts for gifts if you give me format.

I will not! It's the same deal as with jsons m8 (you managed to create last three almost with 0 errors and no formats from my side)... We chose Ren'Py because it offers the easiest, most intuitive and cleanest form of adding text imaginable. There have been plenty of people who had harder time understanding how if/elif/else fork works than adding pics and texts through Ren'Py script, not mentioning that I made it even easier at some places taking game specifics into account.

Take a look at the pyt - labels - girlsmeets.rpy file, preferably in JEdit (can be downloaded in Ren'Py launcher and has it's syntax highlighting) and you may also take a look Tutorial OR better yet, Ren'Py documentation on Dialogue and Narration but even examples and comments in the file should be enough.

How about adding race string field to girls data files for the alpha? Even if we don't use it for now, we will anyway.

You were the one against it if I recall correctly? I support the idea 100%.

Also, we have to do something about initial stats in data files. Since we have normalization, I even not sure if we need them in their current form.

Normalization simply caps them, there is still a range that can put a good difference between fighter and service girl... Alkions approach is to do away with starting stats all together, we can take that direction as well but I am not sure it's the best one.

===============================
I need to think of something to do for the evening... prolly best to go on writing logic with placeholders for texts for interactions?
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 08:22:06 AM
Take a look at the pyt - labels - girlsmeets.rpy file, preferably in JEdit (can be downloaded in Ren'Py launcher and has it's syntax highlighting)
Um, I'm just not sure if I need to create a new file or use some existing one.

You were the one against it if I recall correctly? I support the idea 100%.
Nope, as long as it is a simple string without restrictions. At the worst, we could use a normalization of some kind for it in the future.

Normalization simply caps them, there is still a range that can put a good difference between fighter and service girl... Alkions approach is to do away with starting stats all together, we can take that direction as well but I am not sure it's the best one.
If you want a difference between classes, different initial bonuses for different occupations can be hardcoded.

Maybe we should use not absolute values in data files, but relative ones. It will be much more easy for pack makers, including me, instead of having to remember about caps all the time. Like, charisma 30 for lvl 1 girl should mean 30% of max possible charisma at lvl 1.

Also, it would be better to use level field instead of exp for the very same reason. The game can calculate required exp by itself, why it have to be me?  :)

We also could use health stat, for example if character will be injured (or dead?) when you find her, so you have to heal/resurrect/clone her. Although, maybe it will be easier to implement with scripts.

We probably don't need famous trait after all. I never used it (including wm ex packs), and we have reputation stat anyway.
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 08:31:48 AM
Um, I'm just not sure if I need to create a new file or use some existing one.

Existing one, I'll split them on the code review.

Maybe we should use not absolute values in data files, but relative ones. It will be much more easy for pack makers, including me, instead of having to remember about caps all the time. Like, charisma 30 for lvl 1 girl should mean 30% of max possible charisma at lvl 1.

Also, it would be better to use level field instead of exp for the very same reason. The game can calculate required exp by itself, why it have to be me?  :)

First thing is doable... I'll code this in tonight.

Lets leave the second thing for when the code is more mature.

We also could use health stat, for example if character will be injured (or dead?) when you find her, so you have to heal/resurrect/clone her. Although, maybe it will be easier to implement with scripts.

We probably don't need famous trait after all. I never used it (including wm ex packs), and we have reputation stat anyway.

Scripts are easier in this case, yes.

Traits are up to you, this can be something girls has to gain, not something she starts with... but it can be reflected with stats as well. It doesn't do any harm even if it stays, does it?
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 09:09:05 AM
It doesn't do any harm even if it stays, does it?
Fair enough.

Finished quite big DOA pack for this week, next is something small with hyakka_ryouran_samurai_girls tag.
Thus, only 3 small tags left, then 4 unique characters from dragon quest, and my alpha sheet will be completed  :)
We could use more random girls, so I'll try to find them after that.

Title: Re: General Discussion
Post by: Xela on March 07, 2014, 12:54:27 PM
About to start with percentages, it should be doable but still not as easy as I thought...

After I am done with that I'll either write some logic for interactions/girlsmeets or just find some code to hack at in TODO list or just randomly in the game.
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 01:05:38 PM
I found ost from ar tonelico (two first parts are basically music orientated games, so sounds are very decent). Will try to find something good for every location.
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 01:50:13 PM
I found ost from ar tonelico (two first parts are basically music orientated games, so sounds are very decent). Will try to find something good for every location.

Ok, there are not many left, just the main-street/shops (CW already got one for the tailor store) and girls list/profile but I do not really feel the need for music there. We could always use more choices for tracks at any location I guess.

I am done with the code for percentages for Normal, Crazy and Random girls, going to test that now and look for something else to work on.
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 02:13:51 PM
My db\music, all tracks are named according to locations.
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 02:34:58 PM
My db\music, all tracks are named according to locations.

Ok, I'll take a look at that now. Percentages are prolly ready... There is no way of telling for sure since traits are messing stuff up and I don't feel like creating dummies for testing. At least nothing is crashing.

Edit:
Awesome selection, city is very depressing so we'll keep looking and I nature sounds are prolly better for the forest, I'll put the rest in now.
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 02:59:36 PM
Ok, I uploaded there more neutral tracks for city (city (1) and (2)). You could use depressing ones for slave market, I guess  :)
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 03:22:14 PM
Ok, I uploaded there more neutral tracks for city (city (1) and (2)). You could use depressing ones for slave market, I guess  :)

Wtf with the "hip-hop" battle track after all of your fourth wall talk? I don't even know which one it is...
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 03:34:39 PM
Fight (1) probably. It uses short version without vocals in the source game, didn't notice that.
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 03:41:02 PM
Fight (1) probably. It uses short version without vocals in the source game, didn't notice that.

Question: Do we actually want unique tracks for the city or is it better to stick with the current setup of same music playing in the city as in the main menu of the game and during next day/brothel screens? It would not serve us to switch between music tracks to often. I am trying to write a script that will automatically load tracks into the game based on filenames where that is appropriate.

Edit: How should we handle shops? Random choice from a pool of shop tracks or per shop choices? Or just keep playing whatever music is playing at the moment unless specified otherwise?

PS: Tomorrow a writer might be joining us :)
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 03:50:00 PM
Yeah, we shouldn't change tracks too often. But space adventures track in the main menu is a mockery on the game, please change it to city/general city at least.

Added "small events" folder to music, there are short tracks that could be used in some cases, for example Good night track sounds good for next day or rest.
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 03:52:38 PM
In the future we might assign unique tracks to the shops. For now they don't even have NPCs and quests, so random pool is enough.
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 04:00:47 PM
Yeah, we shouldn't change tracks too often. But space adventures track in the main menu is a mockery on the game, please change it to city/general city at least.

:( I really like that one...
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 04:14:15 PM
We also might assign some of battle tracks to boss fights only, but it could wait for now.

:( I really like that one...
It's not too late to change setting to something like this (http://artonelico.wikia.com/wiki/Ar_tonelico:_Melody_of_Elemia) or that (http://en.wikipedia.org/wiki/Phantasy_Star_III:_Generations_of_Doom). Sci-fi music = sci-fi plot  8)
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 04:20:37 PM
It's not too late to change setting to something like this (http://artonelico.wikia.com/wiki/Ar_tonelico:_Melody_of_Elemia) or that (http://en.wikipedia.org/wiki/Phantasy_Star_III:_Generations_of_Doom). Sci-fi music = sci-fi plot  8)

That might be cool... there are no space settings in our type of sim games :)

But resources for that will be harder to find... maybe we'll add a space-city at some point...
Title: Re: General Discussion
Post by: DarkTl on March 07, 2014, 04:25:08 PM
Nah, in Phantasy Star 3 they live in giant ships (http://www.pscave.com/fanart/ps3d/1ali3_0519b_2.jpg) that perfectly mimic a planet as long as you stay inside them  :)

Not to mention Shadow Raiders (http://en.wikipedia.org/wiki/Shadow_Raiders), where they use World Engines to fly on the very planet.
Title: Re: General Discussion
Post by: Xela on March 07, 2014, 05:50:17 PM
Oki, done with the music (didn't know what to do with the short event stuff, but that will be very useful later).

Some battle-tracks are not really good, new arena inside is awesome... we'll adjust, game will pick up the files automatically now.

- New music found by Dark
- Semi-Automated music handling where appropriate (based on file-names)
- Auto-convertion from percetages to be specified in girls data files to values besed of max (100%)
- (luck stat is excluded from the above)
- Music added to victory screen (took some tinkering, I think there is a bug in Ren'Py)

Uploading...
Title: Re: General Discussion
Post by: Sysreq on March 08, 2014, 07:42:18 AM
Uh, so I guess I'm the new writer for this game.  I got the game up and working and played around a bit and dang it's an ambitious project.  However, I'm not exactly sure what you all would like me to work on and how to do so lol.  I mean, I saw some grammar stuff in the game that needs fixing but what else and how do I go about editing the text?   


Edit:  Never mind, I looked around in Ren'Py a bit and found the edit files thing and saw the "edit all files" option so now I see all the scripts for all the events and stuff.  So yeah what do ya guys want me to do?
Title: Re: General Discussion
Post by: DarkTl on March 08, 2014, 09:03:08 AM
Xela will explain it better, but anyway. Right now we need texts for girlsmeets/interactions depending on characters traits/occupations/stats/whatever you want.
You could take a look at pyt - labels - girlsmeets.rpy for examples (with notepad+ or something similar).
Title: Re: General Discussion
Post by: Sysreq on March 08, 2014, 10:01:50 AM
Ah yeah I see the "placeholder for interactions with being asked to be a friend blah blah" stuff.  I found the traits xhtml file; do most traits need a text?  Or only more major traits like personality traits (ex. mind fucked, tsundere, tomboy, mature, etc.).
Title: Re: General Discussion
Post by: DarkTl on March 08, 2014, 10:41:03 AM
It depends on your imagination and free time. More the better, but if you won't be able to write texts for some traits, nothing bad will happen  :)

Another thing is dialogues for gifts. There is gifts.json file, some gifts could be good or bad for some characters depending on traits mostly.
We don't have any lines for gifts right now, even general ones, while ideally there should be lines for all major traits. I guess three levels of reaction should be enough (great gift, meh gift, terrible gift).
Title: Re: General Discussion
Post by: Sysreq on March 08, 2014, 11:03:54 AM
I guess I meant certain traits like "Cool Scars", "Old Scars", "Kleptomaniac", maybe "Magic Gift", etc. since they have no real bearing on a person's personality lol (kleptomaniac is debatable but I don't really know if it warrants its own response set).


As for actually editing, I've opened the files in some Editra program that Ren'py recommended to me.  Can I just edit the text there?  Though, admittedly, I'm not sure how to open .json files.  I can open .rpy files fine though.
Title: Re: General Discussion
Post by: DarkTl on March 08, 2014, 11:19:48 AM
Ah yes, indeed. Such traits mostly serve for checks diring various events. I guess it's possible to come up with some lines for Kleptomaniac, especially for gifts, then again it mostly serves for checks and gives a scripted effect to the character.

As for json, I personally use notepad+ for them. Not sure if renpy editor can handle it, but it won't be too difficult to move your lines to another editor anyway if there will be problems.
I also recommend to use json validator (http://jsonlint.com/) to check json files for errors.
Title: Re: General Discussion
Post by: Sysreq on March 08, 2014, 11:41:30 AM
Also, lol, sorry to bombard you with all these questions, but I just want to make sure I don't mess anything up.  If I directly edit the code in the .rpy files, won't you guys have different code in your files, which you will be editing?  As an example, if I went and fixed all the typos and grammatical errors in the .rpy files, they would still exist in your guys' code, no?  So is there going to be a way to synchronize all this shit?   
Title: Re: General Discussion
Post by: DarkTl on March 08, 2014, 11:54:00 AM
Nah, since Xela celebrates International Women's Day or something, I will answer all your questions instead  :D

First of all, you should read this (http://www.pinkpetal.org/index.php?topic=2125.0) thread. Basically, after you edit some file, you will push it to the repository. After that, we will download your changes and, if needed, merge it with the changes that we have made. You don't have to use the repository, you might as well upload your work somewhere (we mostly use dropbox and mega), and then someone will push it instead of you.
Title: Re: General Discussion
Post by: Sysreq on March 08, 2014, 12:10:16 PM
Okay, I had a feeling it had to do with that tortoise thing and the repository lol.  Though, yeah, maybe I should just upload it and have someone else push it since I dunno how to push.
Title: Re: General Discussion
Post by: Xela on March 08, 2014, 01:13:05 PM
Welcome ;)

Ah yeah I see the "placeholder for interactions with being asked to be a friend blah blah" stuff.  I found the traits xhtml file; do most traits need a text?  Or only more major traits like personality traits (ex. mind fucked, tsundere, tomboy, mature, etc.).

A very similar question has been answered here: http://www.pinkpetal.org/index.php?topic=1291.msg25247#msg25247

Traits are not very important in texts but it often makes sense to use some in forks.

Also, lol, sorry to bombard you with all these questions, but I just want to make sure I don't mess anything up.

It teach a man to fish/give man a fish kind of scenario so bombard away :)

Okay, I had a feeling it had to do with that tortoise thing and the repository lol.  Though, yeah, maybe I should just upload it and have someone else push it since I dunno how to push.

I strongly suggest to learn how because the only way to push your changes from my PC if I edited the same file myself that I know off is to fork the project or create another repository. It's messy and takes too long + mercurial and HG are considered very user-friendly.

You basically:

- Commit (add all your changes to local repository)
- Pull (get all incoming changes)
- Merge (and at rare occasionally might have to resolve some conflicts with some decent tools)
- Commit again (usually offered as a part of the merge above)
- Push (deposit changes to the remove repository)

We all maintain local copies of the code, history of development is maintained at every node (PC/server/laptop) locally so there is no chance in hell you can completely break something for everyone even if you try :)

Make an account at SourceForge and PM me/Dark or CW your login there. There are dozens of really good and short tutorials in written format or on YouTube if you need help with something or you can ask here (but our knowledge of mercurial is at userlevel I am afraid).

==================================
As for writing, fixing typos is a good start, you can add some choices to texts or work on placeholders next. As you gain experience, you can try to create some events, add to existing once, add more interactions with NPCs or add more options to girlsmeets or interactions. If you need Python code, just put in the text and leave me notes as comments or post what is required here.

Ren'Py makes writing really easy and convenient compared to games like WhoreMaster, SlaveMaker, OtherWorld and etc.

Main idea behind the game design is creating Features and Graphics representations of cold ingame logic, something that most indie games choose to ignore or don't even try. Ren'Py is very moddable and allows to do almost anything save the 3D graphics (and simple 3D graphics as well in an year or two). It is already possible to add 3D dungeons like in oldstyle Quake or Doom now but we don't have a graphics designer on the team and there are plenty of other interesting stuff planned/discussed already.

Basically as you get more and more familiar with game layout, Ren'Py script and some basic Python, you option in writing will grow exponentially, me putting your ideas in code might be really useful for learning as well.

For now we're planning to finish some basic form of girlsmeets, interactions, wrap up some loose ends and release an Alpha version to see what parts of the game people like...
Title: Re: General Discussion
Post by: Xela on March 08, 2014, 03:46:48 PM
Blah...

Noticed something odd during image caching, apparently we actually cache images instead of string paths... so now I know where the hell +1 gig of ram consumption comes from during the 1000 + 100 characters test scenario...

Similar thing is happening during the Next Day but memory is cleared afterwards so it's not that big of an issue. I am going to do some testing, see if loading images from path will cause any and if time permits, put some time into events.

Maybe the image caching thing was done with purpose and I forgot...


// It worked :) Memory will now be cleared once per 50 days so the delays Jaeke reported during the next day end should not be so bothersome anymore :)

Going to do some work for the Peevish event and then push.
Title: Re: General Discussion
Post by: Xela on March 08, 2014, 07:42:26 PM
SF Update:

- Improved image cashe (a lot)
- Added jump attribute to WorldEvent class (allows to jump to event instead of running it in new context)
- Finished first draft of Peevish meeting event
- Disabled auto-saving (testing if it might improve performance)
- Hero will now start with correct amount of AP
- Memory will be freed once in 50 days instead of once per day
- Some new event sounds added to the game

Click Look Around in the forest to check out the event (runs at 100% chance unconditioned for testing purposes).
Title: Re: General Discussion
Post by: DarkTl on March 09, 2014, 10:59:59 AM
Is it possible for us to compress any game content into archives? I read about .rpa archives used by renpy.
Right now my copy of the game has about 18000 files, about 15000 of them are in content folder. Quite messy for prealpha, I think, since there will be more. Besides, if rpa supports password protection, it will be an excellent tool vs copyright for packs.
We don't have to compress them, just archive.
Title: Re: General Discussion
Post by: Xela on March 09, 2014, 11:25:00 AM
Is it possible for us to compress any game content into archives? I read about .rpa archives used by renpy.
Right now my copy of the game has about 18000 files, about 15000 of them are in content folder. Quite messy for prealpha, I think, since there will be more. Besides, if rpa supports password protection, it will be an excellent tool vs copyright for packs.
We don't have to compress them, just archive.

It's possible but it's the worst idea you've had.

1) It would make almost impossible for a normal user to get rid of a girl or a picture.
2) It will make adding new content almost impossible as well.
3) If we released something and there is a bug in it, we'd have to update entire archive related to it instead of just one file.
4) It's messy due to amount of content in the game but it's structured and accessible.

Basically all the work I've done to make the game moddable would instantly be sent down the toilet, I don't see any real advantages either except cutting down on size and making it harder to delete from file sharing websites...

=====================
I need to find something to do for the evening... maybe adding another part to peevish event, coming up with something to improve the performance a bit or hack at BE or Ren'Py. I don't want to add logic to girlsmeets/interactions before new crew had some chance to catch up with HG and the code.
Title: Re: General Discussion
Post by: DarkTl on March 09, 2014, 11:59:22 AM
We don't have any shortcuts for removing a girl or a picture, players have to modify resources manually to do so (either data or tags files).
Might as well add another level and add buttons "remove girl" and "remove picture" to the game at some point. Also there are free utilities that allow to pack and unpack rpa files.

Besides, we could allow unpacked resources too.

3) If we released something and there is a bug in it, we'd have to update entire archive related to it instead of just one file.
That's what pro game devs do all the time  :D
Although they don't use too big archives for those parts of games that contain scripts ans stuff. We don't have to archive everything actually, packs are my main concern here

I don't want to add logic to girlsmeets/interactions before new crew had some chance to catch up with HG and the code.
Not sure what you can do at this point from the to do list... Either improve EE or join me in spells/girls packs making  :)
Title: Re: General Discussion
Post by: Xela on March 09, 2014, 12:34:28 PM
Not sure what you can do at this point from the to do list... Either improve EE or join me in spells/girls packs making  :)

We need some form of magic training. I want to try and sneak in two NPCs before the @. Also game world feels a bit empty. Did you see the meeting event? Took almost three hours to get right...
Title: Re: General Discussion
Post by: DarkTl on March 09, 2014, 12:42:08 PM
We discussed magic system, it's scrolls/MC affinity/girls with the right affinity for other elements. And requirements for spells, both magic and intelligence.

We even have a witch who could sell them until we'll have EE as the main source.

 
Title: Re: General Discussion
Post by: Xela on March 09, 2014, 12:50:24 PM
We discussed magic system, it's scrolls/MC affinity/girls with the right affinity for other elements. And requirements for spells, both magic and intelligence.

We even have a witch who could sell them until we'll have EE as the main source.

We need something for the Alpha, there can be different sources for learning magic. The trouble with the system as we've discussed is that it doesn't really add a lot to the content...
Title: Re: General Discussion
Post by: DarkTl on March 09, 2014, 12:57:18 PM
You have to find a scroll for a start, and it should vanish after you learn the spell. Although, we need EE for a start.

As for the event, that was a shocking experience, but at least it is fun when you tell him to f#ck off  :D
What I don't understand is why do you use cartoon low quality sprite while there are tons of pretty and cool characters (http://art.ngfiles.com/images/201/theshadling_death.jpg) out there  ::)
Title: Re: General Discussion
Post by: Xela on March 09, 2014, 01:18:16 PM
As for the event, that was a shocking experience, but at least it is fun when you tell him to f#ck off  :D
What I don't understand is why do you use cartoon low quality sprite while there are tons of pretty and cool characters (http://art.ngfiles.com/images/201/theshadling_death.jpg) out there  ::)

That thing doesn't look irish and I wanted a theme... Also it might be a pain to remove that background. Maybe something like that can teach darkness magic.

I think I am going to take a break tonight and maybe add simple condition evaluation to the event manager and second part to the peevish event if I get the chance tomorrow.

When you're done with the spells, can you look into adding magic to the mobs? Right now game just randomly assigns some crap...

I'll push the fix for the girlsmeets now.

Edit:

- Fixed Girlsmeets
- Fixed kathom_duo event
- Removed even more auto-saves (still... hey happen during a menu in a while loop, this is likely a bug in Ren'Py, I've posted a question in Q section on lemma)
- Bumped version to 0.41
Title: Re: General Discussion
Post by: Armegetton on March 09, 2014, 01:54:42 PM
Hey. Question for dark (or maybe xela knows?)

for the shopping/romance bit.

Are the girls going to have in game locations that they like? If so, is there a stat we can pull?

Basically, I'm asking whether this section is just for vague responses, or actual data.

romance:
Like data:  "I think the beach is romantic...///" or "I prefer dates in the park, going in town is too noisy"
or non-specific: "I like any place with a good mood..." or "Hmm, ... probably somewhere with a lot of sun."

shopping:
Like data:  "I really want a <item girl likes> ..." or "I've been wanting to go to <in game store, girl likes> ... will you take me sometime?"
or non-specific: "I've been meaning to get a new swim suit." or "That one place has really good ice-cream!"

Title: Re: General Discussion
Post by: DarkTl on March 09, 2014, 02:01:46 PM
Mobs have elements, spells should comply with them depending on mob's strength. It's not difficult for me to do it manually for now, but many mobs don't have an affinity. Thus, we need things like strong attack/accurate attack/whatever attack for neutral mobs if you want a proper fight.

As for leprechaun, how about this? (http://th09.deviantart.net/fs41/PRE/f/2009/050/5/4/st_Patty_by_maruhana_bachi.jpg)
Looks much better to me.
 
Title: Re: General Discussion
Post by: DarkTl on March 09, 2014, 02:05:14 PM
Are the girls going to have in game locations that they like?
Yup, they are based on girls traits. Not sure where the code is located, better ask Xela.

As for shopping, some items have goodtrait and badtrait fields, they serve for autobuying system for now, but might as well be used for dialogues.
Title: Re: General Discussion
Post by: Armegetton on March 09, 2014, 02:38:42 PM
Yup, they are based on girls traits. Not sure where the code is located, better ask Xela.

As for shopping, some items have goodtrait and badtrait fields, they serve for autobuying system for now, but might as well be used for dialogues.

Well, if I can find the code for the one that will work.

But not the good trait, bad trait. I don't think we need super complicated code to do a simple girlsmeet checks ... maybe favorite item type thing ..... actually can we have any favored items in the character class itself? Or it that pointless?

If nothing else I can just do generic responses for the items.
Title: Re: General Discussion
Post by: DarkTl on March 09, 2014, 03:00:46 PM
Wait a sec, we decided to use a separate class of items as gifts during meetings, it's in gifts.json. There you could use simple checks to determine responses, specifically how much disposition changed after the gift.

You also could create another json file and set there favored items depending on traits/occupation if you want to, and use it in some responses then. But to add it in the character class as an overkill, I think. Traits are designed to make every character more or less unique, no need to make them even more unique.
Title: Re: General Discussion
Post by: Armegetton on March 09, 2014, 03:13:19 PM
Wait a sec, we decided to use a separate class of items as gifts during meetings, it's in gifts.json. There you could use simple checks to determine responses, specifically how much disposition changed after the gift.

You also could create another json file and set there favored items depending on traits/occupation if you want to, and use it in some responses then. But to add it in the character class as an overkill, I think. Traits are designed to make every character more or less unique, no need to make them even more unique.

Hmm, how would I go about adding a json file? That would be much easier than reverse-checking items themselves. Also, does the script automatically add the json file?

jk, I'm looking at the json gifts file. What do all these numbers mean? Like chance, dismod, cblock, also what is the number next to the traits?
"Egocentric": 40, is this over writing the normal dismod number? How is it used?

And finally, how would I direct the code to check any of these things?
Title: Re: General Discussion
Post by: Xela on March 09, 2014, 03:26:29 PM
jk, I'm looking at the json gifts file. What do all these numbers mean? Like chance, dismod, cblock, also what is the number next to the traits?
"Egocentric": 40, is this over writing the normal dismod number? How is it used?

There is a long explanation of concept on items in the game design section but it's only partially applicable to gifts.

To answer your question:

chance: Chance for an item to appear in shop on restocking day. 100% is maximum (available at all times).
dismod: Disposition Modifier. Value to be added to disposition if given to a girl during girlsmeets.
cblock: Non-applicable, at least at the moment, not entirely sure what Dark wanted to use it for in this context but it is currently ignored by the code.

Number next to traits is additional modifier, will also be added to disposition but only if girl has such a trait.

And finally, how would I direct the code to check any of these things?

Depends on what you want to do... either tell me what you need or just leave comments near your texts giving me instruction. I'll take care of coding after I pull your new texts.
Title: Re: General Discussion
Post by: Armegetton on March 09, 2014, 03:32:15 PM
There is a long explanation of concept on items in the game design section but it's only partially applicable to gifts.

To answer your question:

chance: Chance for an item to appear in shop on restocking day. 100% is maximum (available at all times).
dismod: Disposition Modifier. Value to be added to disposition if given to a girl during girlsmeets.
cblock: Non-applicable, at least at the moment, not entirely sure what Dark wanted to use it for in this context but it is currently ignored by the code.

Number next to traits is additional modifier, will also be added to disposition but only if girl has such a trait.

Depends on what you want to do... either tell me what you need or just leave comments near your texts giving me instruction. I'll take care of coding after I pull your new texts.

Ok, so if
"dismod": 30,
"Egocentric": 40

then the girl will get +70 disposition?

Looks like the rest doesn't really matter for girlsmeets.
Title: Re: General Discussion
Post by: Xela on March 09, 2014, 03:33:24 PM
Ok, so if
"dismod": 30,
"Egocentric": 40

then the girl will get +70 disposition?

Looks like the rest doesn't really matter for girlsmeets.

Yeap, that's about it...

Oh... there is also "occupation" fields. Like items that only a Warrior/Prostitute/Stripper/ServiceGirl might find useful.
Title: Re: General Discussion
Post by: Armegetton on March 09, 2014, 03:43:07 PM
Yeap, that's about it...

Oh... there is also "occupation" fields. Like items that only a Warrior/Prostitute/Stripper/ServiceGirl might find useful.

Hmm, somehow I think it's replacing, not entirely sure but
Wild Flowers (15) has
"Impersonal": 0

what's the point of this if they're added together? Just wondering.

Who put together this file? Can we ask them directly?
Title: Re: General Discussion
Post by: DarkTl on March 09, 2014, 03:47:03 PM
Yeap, that's about it...
Nope. It should be 40 instead of 30. And, as correctly noted Armegetton, it obviously should be 0 instead of 15 for Wild Flowers in case of Impersonal.
Title: Re: General Discussion
Post by: Armegetton on March 09, 2014, 04:09:26 PM
Nope. It should be 40 instead of 30. And, as correctly noted Armegetton, it obviously should be 0 instead of 15 for Wild Flowers in case of Impersonal.

Good to know. I'm working through it currently.

Also, is there a purpose in the duplicate item at the bottom? Just wondering.
Title: Re: General Discussion
Post by: Xela on March 09, 2014, 04:35:11 PM
Good to know. I'm working through it currently.

Also, is there a purpose in the duplicate item at the bottom? Just wondering.

Prolly a mistake... game will overwrite the top one with the bottom one in such case.

Title: Re: General Discussion
Post by: Xela on March 09, 2014, 05:37:09 PM
EE

What are our plans for EE/BE exactly?

We currently have two prototypes in the game (Forest Exploration type) and the map from Tiled import into the Jake's BE type. There are plenty other ways to go as well. Last we discussed this, we've also agreed to introduce something like this post 1.0?

Any new thoughts/ideas/questions?
Title: Re: General Discussion
Post by: Armegetton on March 09, 2014, 06:52:36 PM
girlsmeets update.

clever compliments (general) added

(general) gifting for bad, good, and perfect gifts added.

All still needs updated logic for disposition changes.
Title: Re: General Discussion
Post by: Xela on March 09, 2014, 07:09:44 PM
girlsmeets update.

clever compliments (general) added

(general) gifting for bad, good, and perfect gifts added.

All still needs updated logic for disposition changes.

Great, I am falling asleep so it'll have to wait until tomorrow.

Edit:

I just grabbed your update. What disposition changes? It's already done when giving the gifts automatically.

Ah ok I got it. You can do those yourself, there are no hard rules to follow in disposition checks/rewards. Reward/penalty should be a bit higher than previous interaction in the menu, it's not really a rule but it would make sense.

Edit 2: I just pushed a small update of your code. You done have to set variables to result of dice 50 by the way either:

if dice(50):
    # Success
else:
    # Fail

will do the same thing.

My addition is not tested but it should work unless there are typos somewhere.

- Goodnight -
Title: Re: General Discussion
Post by: DarkTl on March 10, 2014, 02:39:24 AM
Oh yeah, Ar Tonelico music makes the game much more lively  :)

Last we discussed this, we've also agreed to introduce something like this post 1.0?
No idea, I recall you mentioned a dungeon as an easter egg for the alpha.

Any new thoughts/ideas/questions?
Fix gifts for a start according to my explanation?  :D

Ok, I changed leprechaun sprite to leprechaun girl, I can tell you that the event is much less painful for my eyes now. And deleted duplicate item from gifts.
Title: Re: General Discussion
Post by: Xela on March 10, 2014, 08:49:06 AM
Ok, I changed leprechaun sprite to leprechaun girl, I can tell you that the event is much less painful for my eyes now. And deleted duplicate item from gifts.

I like that asshole... She can be his sister or something like that in the future.

Fix gifts for a start according to my explanation?  :D

Link me to the explanation please, I must have missed it.
Title: Re: General Discussion
Post by: DarkTl on March 10, 2014, 08:55:54 AM
Lol, at the previous page.
Nope. It should be 40 instead of 30. And, as correctly noted Armegetton, it obviously should be 0 instead of 15 for Wild Flowers in case of Impersonal.
Title: Re: General Discussion
Post by: Xela on March 10, 2014, 09:09:46 AM
Lol, at the previous page.

Ok... so if girls has a matching trait, dismod should be ignored instead of having a stacking effect?

What about occupation field? Should it stack with traits bonuses?
Title: Re: General Discussion
Post by: CherryWood on March 10, 2014, 09:10:57 AM
 
Ok, I'll take a look at that now. Percentages are prolly ready... There is no way of telling for sure since traits are messing stuff up and I don't feel like creating dummies for testing. At least nothing is crashing.

May I ask for explanation how to use this (=what to write in girl file) ? I love the idea, wanna try that, but I know virtually nothing about what that really means or how skill caps work.
-------
Do you guys have any good source or method for creating girls descriptions in data.xml? I'm usually trying to stick it up from various wikis, but as these are usually not written to give a brief summary without story related stuff, it gives me a hard time and consume hours...
Title: Re: General Discussion
Post by: DarkTl on March 10, 2014, 09:13:27 AM
I like that asshole... She can be his sister or something like that in the future.
That's a problem, it's not easy to find a not ugly male leprechaun picture. This (http://www.wired.com/geekmom/wp-content/uploads/2011/03/leprechaun1-224x300.jpg) one seems too nice, this (http://wallcapture.com/wp-content/uploads/2013/03/Leprechaun-Wallpapaer-791x1024.jpg) one somehow remindes me of trollface, this (http://fantast.in.ua/uploads/posts/2013-01/1357922530_11.jpg) will not be easy to rip...
Maybe this (http://images1.wikia.nocookie.net/__cb20111009195528/vampirewars/images/6/68/Boozehound_Leprechaun.png) or that (https://www.grosvenorcasinos.com/Content/Images/sliders/slotsandgames/rainbow-riches-leprechaun.png) one.
Title: Re: General Discussion
Post by: DarkTl on March 10, 2014, 09:30:08 AM
so if girls has a matching trait, dismod should be ignored instead of having a stacking effect?
Yup. It's more convenient to create gifts this way, instead of manual calculations you just set the outcome.

What about occupation field? Should it stack with traits bonuses?
Yup, like warrior (+30) and Iron Will (-40) should give -10 total.

May I ask for explanation how to use this (=what to write in girl file) ? I love the idea, wanna try that, but I know virtually nothing about what that really means or how skill caps work.
I dislike when you have to remember about some limitations all the time. We have hardcoded min and max values for stats, so if you write charisma 10000 for lvl 1 girl in data file, the game will rewrite it anyway. So instead I decided to use relative values.

Let's say, we have 50 charisma cap at lvl 1 (I don't remember actual cap, it's an example). So if you write charisma 50 in data file, it will be 50% of 50 = 25.
If you will set girl's initial level to 100 (right now we use exp field, but there will be more convenient level field in the future), her max charisma value will be, let's say, 300. Then her actual charisma will be 50% of 300 = 150.

Do you guys have any good source or method for creating girls descriptions in data.xml? I'm usually trying to stick it up from various wikis
I use wikis as well, usually I just find a couple of lines briefly describing the girl and copy them  :)
Title: Re: General Discussion
Post by: Xela on March 10, 2014, 10:15:23 AM
I particularly liked Dark's percentages idea because we can change hardcaps freely that way for balancing purposes and nothing in girl files would have to be changed.

As for descriptions, it's a matter of personal preference. I loved some personally written descs in WM but other were downright stupid. Wiki's usually carry to much info from the show. I usually tried to get some fix on girls personality from the wikis and roll with that when making packs.

=================
Ok, I think I understood the gifts concept, I'll fix it tonight.

=================
I started to talk about EE/BE because even if we decide to put it in after 1.0, having some form of endgoal now would be of a great help to me as I often read articles on programming, code from other games, tips and tricks and examples. That would give me something to focus on.

There are many good ways to implement Exploration in Ren'Py type of engine, they all have their own advantages and disadvantages, so I just would like to have some sort of a consensus on a system, discuss it's weaknesses, strengths and try to split the total workload so we all could slowly put in some time in it and so it at least seems doable.



==
thanks
I mean, after that Miku in main menu and especially if a cosplayer of Misa Amane can make it into the game as a beggar... (seriously  ::) ) I'm kinda surprised something like this can cause any objections  :) 

The cosplayer gotta go... longint said something about grabbing first pic he could find for a placeholder. See if you can find a better beggar? + You know how to replace sprites yourself.

What's the problem with Miku girl by the way? I know nothing about her but her dance in gif seemed useful for main-menu... I also think that Rukia/Orichime in the options look really well.

Just for the record, I've said it before... if anyone has any ideas for interface/menus/sprites and etc, let me know. Last option for leprechaun is not bad by the way but just like CW, I cannot understand Dark's issue with the current one.
Title: Re: General Discussion
Post by: CherryWood on March 10, 2014, 10:45:32 AM
The cosplayer gotta go... longint said something about grabbing first pic he could find for a placeholder. See if you can find a better beggar? + You know how to replace sprites yourself.

What's the problem with Miku girl by the way? I know nothing about her but her dance in gif seemed useful for main-menu... I also think that Rukia/Orichime in the options look really well.

Ok, if that's a placeholder, than it's fine, I was kinda worried if not  :) .  I'll replace it if I see something, thanks.
About Miku, the pic has a bad quality, that's all.  I don't really understand the purpose of having dancing girls in menus, but If you like it, I'll just fix it a little.
Title: Re: General Discussion
Post by: DarkTl on March 10, 2014, 10:49:07 AM
Just for the record, I've said it before... if anyone has any ideas for interface/menus/sprites and etc, let me know. Last option for leprechaun is not bad by the way but just like CW, I cannot understand Dark's issue with the current one.
Too cartoonish. All those high quality backgrounds and girls, then bam - low quality sprite. It hurts me aesthetically.
I pushed a new sprite for him, his "sister" picture is in my db for now.

Do we really need initial stats settings for MC? I'd prefer to chose class (in the future some facts from prehistory as well).

I started to talk about EE/BE because even if we decide to put it in after 1.0, having some form of endgoal now would be of a great help to me
Hard to say. As much as I like our forest (easy to make too), the number of forest backgrounds is limited enough (unless we'll use real ones).
Alkion version = Kamidori. Not too original, but clean concept.
Your version is basically a trpg, for example like Final Fantasy Tactic Advance or Fire Emblem.

I guess we'll use tiles for EE in one way or another anyway.
As for BE, if we'll use your/Alkion approach, shouldn't we teach AI how to move on the map, avoid obstacles, approach at the correct distance? Whether there are ready-made algorithms, or it means 2 additional years of coding?  :)
Title: Re: General Discussion
Post by: Xela on March 10, 2014, 01:18:40 PM
Do we really need initial stats settings for MC? I'd prefer to chose class (in the future some facts from prehistory as well).

It'll do for the @, what we do after that is open to discussion. You sent me some decent example of a game where character was built of pre-game events for example or there are plenty other ways to go.

As much as I like our forest (easy to make too), the number of forest backgrounds is limited enough (unless we'll use real ones).

Forest is not that much easier to make than other options. Backgrounds don't all have to be different either and there are plenty to go around. Workload would mostly consist of scripting events, designing tiles in json (backgrounds, events, possibilities, encounters, mobs, drops, terrain, teleportation and etc.) and looking for more backgrounds. Not mentioning that we also have mountains, beach, other cities, villages, roads and who knows what else. It's not really limited to any specific terrain type. We could have some form of teleportation setup so hero can run the brothels while exploring or just leave matron to run business as well.

Pros:
- Uses our BE for encounters with all resources and any further work that we put in it for the Arena and any other on scene encounters
- Very easy to randomize
- Easy to explain
- Can use insane amount of VN functionality
- Possible to build the whole world around it

Cons:
- No "real" tiled dungeon exploration
- Fairly simple design
- Relatively large workload for something simple
- Maps would have to be built in json as well or a custom software would have to be built for this

Alkion version = Kamidori. Not too original, but clean concept.

Yeap, uses Python code to cut a map from auto-tiles... attacks are animations built on a separate pop-up screen.

Pros:
- Randomization is not very hard to achieve

Cons:
- I'll have to port our resources made for Jake's BE into pop-up animated screen
- Maps are built in text (like literally txt) files.

Your version is basically a trpg, for example like Final Fantasy Tactic Advance or Fire Emblem.

Pros:
- Uses the same resources as the Arena/Encounter BE
- Works off mature mechanics compared to Alkion's BE allowing to create maps from different tile layouts and even 3D tiles

Cons:
- Much harder to randomize, especially will be weird if we use pretty maps for custom and simple for random
- Those mature mechanics come at a price of more complicated code than Alkions version


I guess we'll use tiles for EE in one way or another anyway.
As for BE, if we'll use your/Alkion approach, shouldn't we teach AI how to move on the map, avoid obstacles, approach at the correct distance? Whether there are ready-made algorithms, or it means 2 additional years of coding?  :)

There are plenty of ways to go, not just the three above.

There are EE options without tiles. For example an overhead map/chain of maps of large areas like in Alkion. Basically we have made a decision for BE already I think... Now we need to figure out:

E = Exploration
D = Dungeons

and make it all seem like parts of one whole and intuitive design. It'll take a long while I think, especially with all the normal Sim functionality we have planned that has priority and the code review.


Another important topic is Map building if we decide to go with something that uses tiles:

1) Map layout:
- Tile layout, often built from different tilesets
- Logic layout, more info for the tiles (walkable, trap, special and so on)
- Unit layout, enemy, items, event placement

2) Tilesets:
- There are many different ways of building maps from tiles. There are many tile layouts as well...
- Auto-tiles (RPG Maker type) that use very simple sprite that is then cut in tiny bits to make large number of complex patterns
- Scenery

3) Data:
- Software like Tiled is used to create a map
- Maps (and their layers) are created in plain text in txt/json/xml formats
- Some form of software that can write into those files is used to create maps from pre-determined types


========================
Logic for BE is another topic for discussion... I don't know how long will all take since I've never coded something like that before. AI logic for some reason does not seem to complicated to me but maybe I just don't see all the variables yet.
Title: Re: General Discussion
Post by: DarkTl on March 10, 2014, 02:18:26 PM
Well, we don't have to choose something one. Originally we were going to use simple tilesets together with VN forest.
Thus, we could use VN functionality and tile software.

Even if we use tilesets, we'll need forest type EE anyway, I think. Because we cannot build the whole world in tile editor, it's too time consuming.
Title: Re: General Discussion
Post by: Xela on March 10, 2014, 02:24:29 PM
Well, we don't have to choose something one. Originally we were going to use simple tilesets together with VN forest.
Thus, we could use VN functionality and tile software.

Even if we use tilesets, we'll need forest type EE anyway, I think. Because we cannot build the whole world in tile editor, it's too time consuming.

True... but like I've said, it would be nice to know the direction early.

I fixed gifts (the whole thing was heavily bugged by the way, tis strange that noone has noticed). I'll push that and see if I can find something else to hack at.

Edit:

- Occupation field in gifts json renamed to occupations
- Fixed bonus being added from all traits regardless if girl has them or not when giving gifts
- Fixed the player to be able giving gifts even at 0 AP
- Slightly recoded gift bonuses logic per Dark's design
Title: Re: General Discussion
Post by: Sysreq on March 10, 2014, 05:12:28 PM
Preparing to do my first push in a little while once I figure it out fully lol...In any case, girlsmeets is now typo-free and grammatically correct.


Also, I was thinking more about events and if we could use the girls' stats for them?  For example, I randomly thought off the top of my head perhaps a maid event where the player could run into Sakuya from Touhou and if the player had a girl with a service stat of X or greater, then they get some money or an item or something, I dunno.

Title: Re: General Discussion
Post by: Xela on March 10, 2014, 05:35:15 PM
Also, I was thinking more about events and if we could use the girls' stats for them?  For example, I randomly thought off the top of my head perhaps a maid event where the player could run into Sakuya from Touhou and if the player had a girl with a service stat of X or greater, then they get some money or an item or something, I dunno.

LoL

I've actually just coded in simple conditioning with strings and even advanced conditioning for events with inheritance and custom method :)

Edit:

Going to push the event update and try to get some sleep. With this, event system is fairly close to how I've imagined it would be.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2014, 01:40:18 AM
True... but like I've said, it would be nice to know the direction early.
My opinion is since renpy disigned for VN in the first place, we should use that part in full before adding something completly new. Meaning forest EE with arena BE.
Title: Re: General Discussion
Post by: Xela on March 11, 2014, 05:24:27 AM
My opinion is since renpy disigned for VN in the first place, we should use that part in full before adding something completly new. Meaning forest EE with arena BE.

Well, if noone objects... I actually had a full bag of ideas on how to improve upon that :) If only I had written them down somewhere... oh well, it'll all come back to me.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2014, 06:05:50 AM
Moreover, we could use general first-person view for battles, like in Might and Magic series. Probably will be easier to create animation, no need for battle sprites, less stringent requirements for backgrounds.
Maybe less pretty though, but maybe not.
Title: Re: General Discussion
Post by: Xela on March 11, 2014, 06:32:47 AM
Moreover, we could use general first-person view for battles, like in Might and Magic series. Probably will be easier to create animation, no need for battle sprites, less stringent requirements for backgrounds.
Maybe less pretty though, but maybe not.

More info please, you mean a sprite just hanging in the air in-front of view or a tactical grid battlefield view with scenery all around? We already need sprites for Arena so that's not much of an issue...

Edit:

Another thing we've never considered by the way... Heroes of might and magic have really good editors for scenery. Leaving enough for a battle-grid in the middle, it would look freaking amazing, use our battle-resources from the Arena, would be super simple to add couple not passable grid-tiles just for the kick of it (water, rocks). It's yet another really good option that would require quite a bit of work thought :)

===
Anyway, there'll be good four - five hours for the project from my side today... I better find something to do or I'll just waste it if I loose focus again. Best bet is prolly to start with Peevish magic teachings. I can start in about four hours.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2014, 07:09:05 AM
An example (http://www.rpgsite.net/system/images/images/000/024/230/original/Battle.jpg).

We look through party's "general eyes". Same could be done with arena btw.
It's just an option, but I think it will allow us to use more seamless transition between EE and BE.

It also will solve the problem with characters without battle sprites once and for all.

I better find something to do or I'll just waste it if I loose focus again. Best bet is prolly to start with Peevish magic teachings. I can start in about four hours.
Btw I find it strange that the leprechaun, a forest creature, knows water magic. Shouldn't he teach earth magic only? Maybe we need one creature per element? A mermaid for water, an undead (the woman with scythe that I found) for darkness, etc.
Title: Re: General Discussion
Post by: Xela on March 11, 2014, 08:23:47 AM
We look through party's "general eyes". Same could be done with arena btw.
It's just an option, but I think it will allow us to use more seamless transition between EE and BE.

It also will solve the problem with characters without battle sprites once and for all.

Well... It would simplify a lot of stuff... Like then we wouldn't need Jake's BE at all. But it would also prevent a number of things like watching/betting on Arena fights or dungeouns as we first envisioned them. On the other hand 3D like dungeoun evironment like in Reidy would be possible as the next stepping stone.

I was taking about something like this myself:
Link (http://screenshots.fr.sftcdn.net/fr/scrn/51000/51287/heroes-of-might-and-magic-v-16.jpg)


Btw I find it strange that the leprechaun, a forest creature, knows water magic. Shouldn't he teach earth magic only? Maybe we need one creature per element? A mermaid for water, an undead (the woman with scythe that I found) for darkness, etc.

If you volunteer to write events for 5 more NPCs before the Alpha... I am actually thinking about him teaching all magic until better system is implemented.
Title: Re: General Discussion
Post by: CherryWood on March 11, 2014, 08:52:55 AM
I was looking for beggar girl sprite, but I only found one (http://livedoor.4.blogimg.jp/wakusoku/imgs/8/9/89627678.jpg) and she's too hardcore for the event text - when I tried her in game, it didn't feel good at all...

So I began to look for girl by status (=she is poor in anime, but doesn't look like shabby beggar), but my number 1# fav girl for that Poorfag from Madoka doesn't have a quality full body pic  :(  and I don't know many other. (but there is loli who is a god of poverty, lol)
Didn't expect to be this hard...


If I'll ever write events, I'll look for pics first, because doing it the other way is a real pain...
Title: Re: General Discussion
Post by: Xela on March 11, 2014, 08:56:09 AM
I was looking for beggar girl sprite, but I only found one (http://livedoor.4.blogimg.jp/wakusoku/imgs/8/9/89627678.jpg) and she's too hardcore for the event text - when I tried her in game, it didn't feel good at all...
So I began to look for girl by status (=she is poor in anime, but doesn't look like shabby beggar), but my number 1# fav girl for that Poorfag from Madoka doesn't have a quality full body pic  :(  and I don't know many other. (but there is loli who is a god of poverty, lol)
Didn't expect to be this hard...


If I'll ever write events, I'll look for pics first, because doing it the other way is a really unproductive...

You know how to change texts as well...
Title: Re: General Discussion
Post by: DarkTl on March 11, 2014, 10:15:56 AM
Why only the two of us discuss EE/BE anyway? We have at least three more active members even now  :D
I guess we could use a poll after the alpha.

If you volunteer to write events for 5 more NPCs before the Alpha... I am actually thinking about him teaching all magic until better system is implemented.
I almost finished with packs, I mean with those of them that I want here and now.
So I won't make new ones until slavetraining unless I have nothing to do at all. Might as well write some events.
Title: Re: General Discussion
Post by: Xela on March 11, 2014, 10:54:03 AM
I almost finished with packs, I mean with those of them that I want here and now.
So I won't make new ones until slavetraining unless I have nothing to do at all. Might as well write some events.

Kewl, well, there are still more magical attacks, adding magic to mobs on you.

+ Packs are not very important right now, we already have plenty, unless maybe a couple extra random girls... There is plenty of other stuff that is higher priority.

Why only the two of us discuss EE/BE anyway? We have at least three more active members even now  :D
I guess we could use a poll after the alpha.

Maybe noone gives a damn, even I never planned to go to far with BE. Exploration/Mobs/Dungeons I only got involved in cause I figured that you'd help me out with content.

===
I'll start with the magic teaching event in hour and a half.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2014, 11:31:26 AM
unless maybe a couple extra random girls...
It's not that easy to make a decent one. We need more or less popular, yet blank characters (Rena from mmo, Windows mascots, character classes from Dragon Quest). And ideas are welcomed here.

Another option is just search with tags like red_hair+original and make packs like those elven ones. A lot of work though, especially with eyes color.

Maybe noone gives a damn, even I never planned to go to far with BE. Exploration/Mobs/Dungeons I only got involved in cause I figured that you'd help me out with content.
But we do need some kind of EE anyway. Otherwise it will be WM 2.0.
Title: Re: General Discussion
Post by: Xela on March 11, 2014, 11:40:34 AM
It's not that easy to make a decent one. We need more or less popular, yet blank characters (Rena from mmo, Windows mascots, character classes from Dragon Quest). And ideas are welcomed here.

Orc girl? MassEffect Girl? StarWars Girl? Giraffe Girl? Zebra Girl? There are many random packs for WM...

Another option is just search with tags like red_hair+original and make packs like those elven ones. A lot of work though, especially with eyes color.
But we do need some kind of EE anyway. Otherwise it will be WM 2.0.

WM 2.0 is kinda what I was going for :)

I am not against EE. But ideas are always plentiful, I actually thought about gangwars with strategy type of battle field and territory control at first for example. I think our path is sound for now.

brb in an hour or two and start coding something then.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2014, 12:52:39 PM
Isn't crazy's mod basically WM 2.0? While WM EX is WM 1.5 or something. And Abby's Crossing will be 3.0, if Doc won't abandon it.
If you take a look at SM, it has about the same amount of differences between the parts  :)

Orc girl? MassEffect Girl? StarWars Girl? Giraffe Girl? Zebra Girl? There are many random packs for WM...
Nope, you do not understand. In our current random packs all pictures are not completely mutually exclusive. There are either very similar to each other original/too rare for unique pack girls (elves packs), or generic characters (DQ characters classes, mmo character class, mascots) that exist but do not have a personality, so it can be random.
With the exception of slimes capable of changing the colour and form.

Now if I make/port a Zebra pack, will it be the same? Nope. Zebra girls pics are too rare to be not too different from each other. And of course they have nothing to do with classes/mascots. While they will work, of course, they will reduce the overall quality.

I tried ragnarok online characters, but somehow they are all different, even within the same class. Now if you know classes/mascots/something like that, that would be very helpful.
Otherwise I have no choice but to use hair colour/original combination.

p.s. danbooru changing servers again, no random packs today  ::)
Title: Re: General Discussion
Post by: Xela on March 11, 2014, 05:44:39 PM
Added Peevish's magic teaching event and tested simple conditioning for the events (seems to be working :) )

I am done for tonight, need to rest up a bit.
Title: Re: General Discussion
Post by: Armegetton on March 11, 2014, 06:04:38 PM
Kewl, well, there are still more magical attacks, adding magic to mobs on you.

+ Packs are not very important right now, we already have plenty, unless maybe a couple extra random girls... There is plenty of other stuff that is higher priority.

Maybe noone gives a damn, even I never planned to go to far with BE. Exploration/Mobs/Dungeons I only got involved in cause I figured that you'd help me out with content.

===
I'll start with the magic teaching event in hour and a half.

My vote for the explore engine (EE?) would definitely be the Lightning warrior raidy style. However, I didn't want to say it earlier because I'm not sure if it'll be too much work. (and I have no clue how to do something like that.)

Like so:
http://biotoxic.wordpress.com/lightning-warrior-raidy-2-guide/lightning-warrior-raidy-2-guide-dungeon-part-1/

Because the "dungeons" are basically just a bunch of square blocks with walls and door. And there's no need to 'see' the enemies before you encounter them (they could be random) or I guess you could show them, but again, more work. Same thing with treasure chests, they can be invisible and the player just has to "search" each square, or they could be visible. Whatever.

The downside or hard part, would be doing the 3d movement (I would think so), but I know its possible because akabur just did one in his 'magic shop' game that xela posted in another thread (can't remember where). ... or thinking about it, it may just have been 2d and it was just a couple animations .... maybe ignore? lol

But for the battles themselves (BE?), I like what we currently have. Or perhaps a fire emblem gba style. I don't mean actual animations (keep the simple animations that we're using), but maybe an 'overlay' with a small battle field on it. So that you can still see the 'dungeon' behind the battle itself. (too much? again, I don't know)

Addressing girls with no 'combat' sprite. Can we have somewhat generic battle sprites (maybe based on class, or type?) for girls that don't have one? I know that might annoy some people, but at least it won't break the game if someone later down the line (in time) adds a girl, but not a battle sprite, and all they have to do in the tags file is tell the game which generic sprite they want to use for that girl.

These are all just ideas, you guys are doing all the heavy lifting, so I'm probably more like a cheerleader ....
(http://www.cute-factor.com/images/smilies/onion/th_100_.gif)There you go.
Title: Re: General Discussion
Post by: Xela on March 11, 2014, 06:35:44 PM
The main problem with any system is content (graphics, sounds, textures and so on). Coding workload for all of these options is more or less the same.
Title: Re: General Discussion
Post by: DarkTl on March 12, 2014, 04:31:00 AM
^That's our forest pretty much.

Addressing girls with no 'combat' sprite. Can we have somewhat generic battle sprites (maybe based on class, or type?) for girls that don't have one?
I have yet to see a decent generic battle sprite  ::)
Title: Re: General Discussion
Post by: Xela on March 12, 2014, 01:18:24 PM
Oki... I'll get to work on the project for 3 - 4 hours again tonight.

Plans is to finish the peevish magic teaching event (enable him to teach magic to girls who accompany the player as well + restyle some choice buttons) and prolly spend some timing hacking at some code to take a break from the events. If anyone sees something specific in need of immediate improvement, let me know.

Otherwise I'll hack at BE code for a couple of hours without any specific purpose.


Preparing to do my first push in a little while once I figure it out fully lol...In any case, girlsmeets is now typo-free and grammatically correct.

Are there any problems with pushing? It's best to update the code as frequently as possible so there are as few potential conflicts as possible as well. As I've said, if you want to try you hand at scripting an event, I've enabled simple and advanced conditioning some time ago and if you need help figuring something out, just ask me for specifics. Also interactions are still in a pretty sh!tty shape :( After you push, I'll add some new logic for that as well.
Title: Re: General Discussion
Post by: DarkTl on March 12, 2014, 01:24:34 PM
Before I forget, can you modify the settings screen? More specifically, can you add checkboxes for disabling music/sounds in addition to volume controls?
Title: Re: General Discussion
Post by: Xela on March 12, 2014, 02:00:27 PM
Before I forget, can you modify the settings screen? More specifically, can you add checkboxes for disabling music/sounds in addition to volume controls?

What's the point? I can look into it but there will not be any difference between disabling music completely and setting volume to 0.

Edit:

Nope, it doesn't look like it's working very well at latest version of Ren'Py. There is an issue with music/sound/voice player in the framework in general... most options and capabilities are disabled to preserve backward compatibility while the player itself could actually be pretty good. There are ways around that but I honestly can't see the point since volume to 0 works perfectly.
Title: Re: General Discussion
Post by: DarkTl on March 12, 2014, 02:35:48 PM
Of course there is a difference. You don't need to touch volume controls to disable sounds, thus you don't have to adjust sound levels anew after every single shutdown.
Well, if renpy is bad with such things, it can't be helped.
Title: Re: General Discussion
Post by: Xela on March 12, 2014, 03:13:51 PM
Of course there is a difference. You don't need to touch volume controls to disable sounds, thus you don't have to adjust sound levels anew after every single shutdown.
Well, if renpy is bad with such things, it can't be helped.

Maybe on a screen review... there are always simple ways around something Ren'Py doesn't want to do.


Edit: Found a super simple way as a screen language action. I'll see if I can put that in tonight as well.
Title: Re: General Discussion
Post by: CherryWood on March 12, 2014, 04:46:53 PM
I've finished a first working version of Sailor moon pack.
According to this forum, it took me 11 months from when I started  ???  WTF I was doing all this time???  :o :(
Now I'm trying to finish Haruhi pack, and I really hope it will not take that long again....


btw. tags really needs some more adjustments in the future
Title: Re: General Discussion
Post by: Xela on March 12, 2014, 04:50:09 PM
I've finished a first working version of Sailor moon pack.
According to this forum, it took me 11 months from when I started  ???  WTF I was doing all this time???  :o :(
Now I'm trying to finish Haruhi pack, and I really hope it will not take that long again....

Blah... your packs are really good but if it takes so damn long, you should really do events or something like that... kathom dou event didn't take you nearly that long :)

I am done with disabling sound/music buttons, also now member of players team can be taught magic as well. Now I am making some styles for the event to try and make buttons a bit prettier.
Title: Re: General Discussion
Post by: Armegetton on March 12, 2014, 05:07:34 PM
Oki... I'll get to work on the project for 3 - 4 hours again tonight.

Plans is to finish the peevish magic teaching event (enable him to teach magic to girls who accompany the player as well + restyle some choice buttons) and prolly spend some timing hacking at some code to take a break from the events. If anyone sees something specific in need of immediate improvement, let me know.

Otherwise I'll hack at BE code for a couple of hours without any specific purpose.


Are there any problems with pushing? It's best to update the code as frequently as possible so there are as few potential conflicts as possible as well. As I've said, if you want to try you hand at scripting an event, I've enabled simple and advanced conditioning some time ago and if you need help figuring something out, just ask me for specifics. Also interactions are still in a pretty sh!tty shape :( After you push, I'll add some new logic for that as well.

here's a message I was sent

Quote
Okay, I've tried pushing this thing like 3 times and it just doesn't work.  I've gotten to the part where it asks for my SF password and I've entered it, but it aborts because it says the push creates a new remote head.  I assume that means I need to update, but I have updated to the latest thing.  So, I dunno. 

I sent advice for merging and updating, but if it isn't working, would it be preferred if the update is just posted and one of us pushes it? Just like you said, it's best to post soon to avoid conflicts. And I wouldn't mind merging it if there are any issues (though I doubt there'll be a problem)

What's the point? I can look into it but there will not be any difference between disabling music completely and setting volume to 0.

Edit:

Nope, it doesn't look like it's working very well at latest version of Ren'Py. There is an issue with music/sound/voice player in the framework in general... most options and capabilities are disabled to preserve backward compatibility while the player itself could actually be pretty good. There are ways around that but I honestly can't see the point since volume to 0 works perfectly.

Maybe we can get a little bell or chime icon that shows up next to the gold and if you click it, it automatically sets volume to 0? and it's a toggle, between 0 and whatever it was last? I think it would be pretty useful.

My 2 cents.
Title: Re: General Discussion
Post by: Xela on March 12, 2014, 05:28:22 PM
Screenshot of Sysreq's revision history would be of some help. None of us will be able to push his work properly unless we clone the repository on our PCs twice (which isn't really difficult at all) but I would prefer if everyone knew how to push since it's not very difficult if done right once.

I was about to push but I'll see if  sound/music icon can be found for to the bar as well. Preferably a really good one, don't really expect finding one is gonna be a problem.
Title: Re: General Discussion
Post by: CherryWood on March 12, 2014, 05:40:10 PM
Blah... your packs are really good but if it takes so damn long, you should really do events or something like that... kathom dou event didn't take you nearly that long :)
But that event also don't do anything at all  :) .
Problem is, that most of the generic events I can think of are too much code dependable (like selecting girls and sending them somewhere for few days) or too much into gray space of the game (you win the favor of a NPC - but for what purpose?).
So regarding events I was wondering that maybe I could try to write something story-like for some girls instead - but for that I need the girls first!
...but these are probably just excuses. Basically: I'm not confident in my writing + there is a lot of girls I would like to have in game + school is sucking out most of my energy to think these days = I'm just slowly sorting images and all events didn't make it further then to some paper notes and conceps on my desks.
Title: Re: General Discussion
Post by: Xela on March 12, 2014, 05:48:17 PM
"Didn't do anything" isn't a problem. Event enrich the game even if they don't do anything, also you've presented an Arena team to the game, so that's already a lot. Unique girls events are also important but not when game feels so empty.

If you decide to do an event that is code dependent, leave the code to me and just write the lines/trigger. Leave requirement for the code as comments or post them here. Sometimes you can also start slow, with winning favors of NPC, then expand and make sure that favor has meaning.

I think I found an icon, going to pin it to the bar now and see how that looks.
Title: Re: General Discussion
Post by: Xela on March 12, 2014, 06:40:29 PM
CW's post just keep disappearing! It's like magic  :D

Done for the night... somehow took longer than I expected but I've also been watching some cr#p in the background.

SF Updated:

- Improved peevish event
- Added Music and Sound mute to options
- Added Music+Sound mute to the topbar
- Couple new styles


Edit:

Peevish will now also teach magic to girls that player takes with him (on team). And I just realized that I forgot to style that :(
Title: Re: General Discussion
Post by: Armegetton on March 12, 2014, 08:18:58 PM
Hurray, a working sound button.

 :)
Title: Re: General Discussion
Post by: DarkTl on March 13, 2014, 12:46:04 AM
btw. tags really needs some more adjustments in the future
Yup. If you going to make some new packs, don't tag them until we'll improve the system.

That actually could be problematic since rudi disappeared. I'm afraid we'll need to create our own tagger.
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 04:18:32 AM
That actually could be problematic since rudi disappeared. I'm afraid we'll need to create our own tagger.

Bah... I thought he got the tagger pretty close to a working version? What's wrong with it? I have no experience with Qt, so if we go down this road, I'll prolly have to recode the whole thing in Ren'Py or properly learn a new framework.

===
Found a much better color for water spells during the training. I am not sure as to what I am going to do tonight... maybe mess with BE a little bit to learn new stuff or look into the tagger to determine the workload (I'll need a wishlist to do that).
Title: Re: General Discussion
Post by: DarkTl on March 13, 2014, 05:17:28 AM
It lacks some basic yet extremely useful functions.
* "jump to N" option or something like that for pictures, very useful for large packs, right now it only has previous and next buttons;
* an option to delete the currently displayed picture; right now to delete any picture you have to close the tagger and delete it manually, otherwise there will be problems;
* an option to delete any unknown tags, will be very useful to delete others' tags and those tags that we don't use anymore.

While the tagger can be used even now, it's far from being ready.

All functions from rudi's tagger, except that "guess tags from images names" thing, are welcomed. Including easy modifying tags menus.
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 07:50:42 AM
It lacks some basic yet extremely useful functions.
* "jump to N" option or something like that for pictures, very useful for large packs, right now it only has previous and next buttons;
* an option to delete the currently displayed picture; right now to delete any picture you have to close the tagger and delete it manually, otherwise there will be problems;
* an option to delete any unknown tags, will be very useful to delete others' tags and those tags that we don't use anymore.

While the tagger can be used even now, it's far from being ready.

All functions from rudi's tagger, except that "guess tags from images names" thing, are welcomed. Including easy modifying tags menus.

So what, you're suggesting that I stop working on PyTFall for a month or two and code a tagging software just to add these 3 new features?
Title: Re: General Discussion
Post by: DarkTl on March 13, 2014, 08:32:34 AM
Let me put it another way. No proper tagger = no new tagged packs + no major changes in tags system (like slavetraining). Feel free to decide when it would be better to work on it.
Tagging takes plenty of time per se, much more than actual hunt for pictures. I'd prefer to not have artificial difficulties.
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 08:56:37 AM
Let me put it another way. No proper tagger = no new tagged packs + no major changes in tags system (like slavetraining). Feel free to decide when it would be better to work on it.

Well, not any time soon...

I see six options here:

1) Try to contact Rudi via Email and see if he can write me a simple guide to the work environment that he used to create the tagger or even made the required modification himself.

2) Abandon the XMP data system and code new filename based tagging software in Ren'Py.

3) Use the old version. I just took a look at it and I wouldn't have a problem tagging with it.

4) Find a programmer familiar with Qt/PyInstaller/Python/XMP/Image libs that could reverse engineer the GUI or create a similar one (logic is opensourced).

Last two options are recoding the entire thing in Ren'Py as it is in Qt or me figuring out how to work with Qt and PyInstaller.

=================
Personally I favor option 3. I consider that software is more than adequate as it is + I can retag 1 or 2 packs myself for slavetraining and if it turns out to be an interesting addition, I am sure people will pick it up eventually.

My second favorite is option 2, cause than I could also add girl, item, event editor and easy ways to edit other stuff but that's something I was planning to do only after 1.0 cause constantly changing the editors as content evolves is very time consuming and I didn't really see any increase in activity for content creation for OtherWorld after Daisy added editors to the game.

---
Perfect scenario would obviously be successfully contacting Rudi but it's a longshot :(
Title: Re: General Discussion
Post by: CherryWood on March 13, 2014, 09:27:23 AM
heh, my original comment was more about the tags themselves and not the software :-)   because I'm still unsure about some
 I admit these additional functions would be a great improvement, as I need to delete some pics or to click 200x on next to resume work quite often, but other then this small annoyance, I don't have any big problems with the software (especially "use last tags" button is just great). but I began using image manager for sorting images by tags and to repair them as tagger dont support that
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 10:25:13 AM
heh, my original comment was more about the tags themselves and not the software :-)   because I'm still unsure about some
 I admit these additional functions would be a great improvement, as I need to delete some pics or to click 200x on next to resume work quite often, but other then this small annoyance, I don't have any big problems with the software (especially "use last tags" button is just great). but I began using image manager for sorting images by tags and to repair them as tagger dont support that

Which manager/viewer/editor? There is a whole bunch of them around...

As for the tags themselves, yeah... without question. We'll do a review of tagging system soon after @/code review and make the decisions then.
Title: Re: General Discussion
Post by: DarkTl on March 13, 2014, 11:03:24 AM
Well, I can't see his email, not here, not on otherworld forum. He even wasn't online in this year yet.

Unfinished tagger is a crutch, not a tool. One deleted/renamed tag means manual retagging for every single picture.

Btw, the game doesn't read metadata, it reads tag jsons. No need to rename pics or use meta.
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 11:29:12 AM
Well, I can't see his email, not here, not on otherworld forum. He even wasn't online in this year yet.

Unfinished tagger is a crutch, not a tool. One deleted/renamed tag means manual retagging for every single picture.

Btw, the game doesn't read metadata, it reads tag jsons. No need to rename pics or use meta.

It's his nickname exactly as it is on the forums + @gmail.com.

It's a tool since it has a lot of functionality we require and was built specifically for our purpose. Using an image viewer or editor to tag and then running a script to construct a json file, that's what's called a crutch.

It's hard to tell how difficult/fast/convenient it would be to tag using Ren'Py. But since I wanted to to code something, I might just as well try and throw a prototype together to see what that's like...
Title: Re: General Discussion
Post by: DarkTl on March 13, 2014, 11:40:06 AM
I can tell that it was a mistake to rely on a software whose source code is unavailable to us. We should have asked it sooner, before rudi disappears. I doubt that he would have refused to share it.

The same mistake i've made with Future and wm ex, dammit  :(
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 01:37:54 PM
I can tell that it was a mistake to rely on a software whose source code is unavailable to us. We should have asked it sooner, before rudi disappears. I doubt that he would have refused to share it.

The same mistake i've made with Future and wm ex, dammit  :(

Yeap. I've never actually looked into the tagger since the only non-foreign thing in it to me was Python (So I didn't know that the code at the SF tags repo was incomplete). Also Rudi's been talking about/developing PytherWorld for about three or four years, he was not the most likely person to vanish.

Edit:

Ok, so I took a look at the tag code inside PyTFall itself (DB/Json Read/Write + Sorting) and Python code in the tagging software. We have everything that we need to make our own tagger, workload will be significantly simplified if we abandon XMP data. One thing is that Ren'Py doesn't have dropboxes like Qt so those will have to be replaced with something.

There is no point in doing this now and prolly no point in doing this ever. I've tagged a couple of images and I cannot see anything that screams for new software. Whenever someone is sick of tagging, it is always possible to switch to something else for a while :)

---
Found something to do for tonight, not all events seem to be executing as they should. I think there is something wrong with them failing to execute on first throw of dice. I'll take a look into that first.
Title: Re: General Discussion
Post by: DarkTl on March 13, 2014, 03:19:26 PM
Don't you have a situation with a certain half-npc, half-girl to fix?  ::)

I've tagged a couple of images and I cannot see anything that screams for new software.
Yeah-yeah, I have 16500 pics in my packs totally, wanna try some?  :D
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 03:23:19 PM
Don't you have a situation with a certain half-npc, half-girl to fix?  ::)

We've discussed it and decided to leave everything as it is. Better explanation after cloning and maybe an event as well.

Yeah-yeah, I have 16500 pics in my packs totally, wanna try some?  :D

LoL

That's your own fault! I've asked for three - four packs tops for the @
Title: Re: General Discussion
Post by: DarkTl on March 13, 2014, 03:31:07 PM
Oookay, I was under impression that the event will be an easter egg for cloning during alpha, but if you say so.
Title: Re: General Discussion
Post by: Armegetton on March 13, 2014, 04:14:46 PM
Well, not any time soon...

I see six options here:

1) Try to contact Rudi via Email and see if he can write me a simple guide to the work environment that he used to create the tagger or even made the required modification himself.

2) Abandon the XMP data system and code new filename based tagging software in Ren'Py.

3) Use the old version. I just took a look at it and I wouldn't have a problem tagging with it.

4) Find a programmer familiar with Qt/PyInstaller/Python/XMP/Image libs that could reverse engineer the GUI or create a similar one (logic is opensourced).

Last two options are recoding the entire thing in Ren'Py as it is in Qt or me figuring out how to work with Qt and PyInstaller.

=================
Personally I favor option 3. I consider that software is more than adequate as it is + I can retag 1 or 2 packs myself for slavetraining and if it turns out to be an interesting addition, I am sure people will pick it up eventually.

My second favorite is option 2, cause than I could also add girl, item, event editor and easy ways to edit other stuff but that's something I was planning to do only after 1.0 cause constantly changing the editors as content evolves is very time consuming and I didn't really see any increase in activity for content creation for OtherWorld after Daisy added editors to the game.

---
Perfect scenario would obviously be successfully contacting Rudi but it's a longshot :(

I know you've already stated this, however, I agree. Let's not worry about fixing/changing/etc the tagging system until after the alpha release.

Also, *ding* the fries are done.

pushed all of sysreq's work and some of my own edits in the peevish file.

Carry on, good sirs.
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 04:38:37 PM
Oookay, I was under impression that the event will be an easter egg for cloning during alpha, but if you say so.

Me writing event for the original Blue might not be a very good idea since I have absolutely no idea on what she's like.

If you want, I can give it a try.

pushed all of sysreq's work and some of my own edits in the peevish file.

Awesome! I'll take a look into that and see if I can get forest shop witch to teach some fire magic.

Events are fixed, also a number of other bugs that took me hours to clear could have been fixed in 5 minutes with two lines of code I've come up with tonight :)


==========
I'll change back:

"Amn’t!"

That's genuine Irish slang unless this article is full of sh!t: http://www.quickanddirtytips.com/education/grammar/how-to-speak-english-like-the-irish

==========
Damn... Sysreq really fixed quite a bit of typos/grammar, didn't know we sucked that much   :D
Title: Re: General Discussion
Post by: CherryWood on March 13, 2014, 06:23:14 PM
==========
Damn... Sysreq really fixed quite a bit of typos/grammar, didn't know we sucked that much   :D
Yup, great findings. Thanks!
I don't agree with only about 6 changes: barking -> yapping, tasty ass -> nice ass (i think it just sounds better how it originally was in AA game);
ok -> okay, got it -> alright, yeah -> yes in some "strict morals" trait lines (this girl is supposed to sound more direct, she's not gentle at all)

So if you don't mind much I revert these few back too.
Title: Re: General Discussion
Post by: Armegetton on March 13, 2014, 07:39:14 PM
Me writing event for the original Blue might not be a very good idea since I have absolutely no idea on what she's like.

If you want, I can give it a try.

Awesome! I'll take a look into that and see if I can get forest shop witch to teach some fire magic.

Events are fixed, also a number of other bugs that took me hours to clear could have been fixed in 5 minutes with two lines of code I've come up with tonight :)


==========
I'll change back:

"Amn’t!"

That's genuine Irish slang unless this article is full of sh!t: http://www.quickanddirtytips.com/education/grammar/how-to-speak-english-like-the-irish (http://www.quickanddirtytips.com/education/grammar/how-to-speak-english-like-the-irish)

==========
Damn... Sysreq really fixed quite a bit of typos/grammar, didn't know we sucked that much   :D

My apologies, I can't tell between things you did on purpose versus on accident.
Title: Re: General Discussion
Post by: Xela on March 13, 2014, 07:46:25 PM
It's fine :)

Didn't get to far with the Fire training so I'll have to catch up tomorrow I guess. It's kinda awesome that I managed to clear that event bug (cause same issue could have or possibly did mess with different parts of the game).
Title: Re: General Discussion
Post by: DarkTl on March 14, 2014, 12:49:10 AM
Oki, I finished all unique packs that I planned for now. Now I'll see what I can do with random ones.

Me writing event for the original Blue might not be a very good idea since I have absolutely no idea on what she's like.
Um, I doubt slaves at the slavemarket are allowed to talk or act. You don't have to write anything about the original, except the fact that MC sees her and Blue at the same time.
Title: Re: General Discussion
Post by: DarkTl on March 14, 2014, 03:06:10 AM
It's his nickname exactly as it is on the forums + @gmail.com.
Nope, doesn't exist.
Title: Re: General Discussion
Post by: Xela on March 14, 2014, 05:52:03 AM
Nope, doesn't exist.

Well... he deleted it then. He is registered in DropBox and on forums with it and those require replies.

Maybe cutting off Hentai was his newyears resolution and he kept it? :D


Um, I doubt slaves at the slavemarket are allowed to talk or act. You don't have to write anything about the original, except the fact that MC sees her and Blue at the same time.

Right... well it's not a priority but I'll add something if I get a chance. I fecking hate doing stuff like that when there is more important tasks to be done.

Edit: Hid the email acc from bots.
Title: Re: General Discussion
Post by: DarkTl on March 14, 2014, 06:04:58 AM
Ok, I tried again, it's working this time. Google has some issues today, youtube and gmail are both unstable. Couldn't even check my mailbox this morning.

Right... well it's not a priority but I'll add something if I get a chance. I fecking hate doing stuff like that when there is more important tasks to be done.
Like what? You said yourself that 90% of remaining work are texts for meetings. That's why I proposed both new tagger and the Blue event in the first place  :)
Title: Re: General Discussion
Post by: Xela on March 14, 2014, 06:19:46 AM
Like what? You said yourself that 90% of remaining work are texts for meetings. That's why I proposed both new tagger and the Blue event in the first place  :)

I don't want to delay @ so I'll do those myself. Also more events that teach magic and some form of MC training is required. More events are needed in general so the game feels less empty.

You still have to add magic/attacks to mobs + some new spells.

====
I am going to put more logic in interactions myself, texts as well if noone else will.
Title: Re: General Discussion
Post by: DarkTl on March 14, 2014, 06:28:24 AM
many mobs don't have an affinity. Thus, we need things like strong attack/accurate attack/whatever attack for neutral mobs if you want a proper fight.
Title: Re: General Discussion
Post by: Xela on March 14, 2014, 06:31:54 AM


Stop being such a perfectionist and add the damned magic! :)
Title: Re: General Discussion
Post by: DarkTl on March 14, 2014, 07:03:50 AM
Let's say we have strings
"bskills": {"WhateverAttack": 1},
"mskills": {"WhateverSpell": 1}

How often they will be used? 50/50 each one?
Title: Re: General Discussion
Post by: Xela on March 14, 2014, 07:05:19 AM
Let's say we have strings
"bskills": {"WhateverAttack": 1},
"mskills": {"WhateverSpell": 1}

How often they will be used? 50/50 each one?

Yeap, that's right. They can have more than one attack/mskill obviously.
Title: Re: General Discussion
Post by: DarkTl on March 14, 2014, 07:22:35 AM
Ok, so the higher value, the more useage the skill has. What is max/min values? Or they are relative?
Like, is there any difference between (skill A:1, skill B:2) and (skill A:100, skill B:200) if we don't have any other skills?
Title: Re: General Discussion
Post by: Xela on March 14, 2014, 07:52:15 AM
If I recall correctly, they are relative but I would not do 100, 200 because AI might have more skills to choose from that are not being preset.
Title: Re: General Discussion
Post by: Xela on March 14, 2014, 08:07:02 AM
On a separate subject: Do you guys think it would be a good idea to disable read access to non-dev team members before the Alpha?

Since we'll be adding events now mostly, those are easier to test and there doesn't seem to be any feedback from people who download the repo except from dev team members anyway? Would make more sense if some events came as a surprise (it will still be possible to download the repo version for everybody, just not as convenient as it is right now).
Title: Re: General Discussion
Post by: DarkTl on March 14, 2014, 08:34:29 AM
Yeah, make sense.

We also should do something with folders structure. Looks like many people are confused when it comes to adding packs.
I don't remember which one of my unique packs is the smallest one, probably Lodoss War. We probably should add it and some random one too to the repo, I suspect some people even dropped the game because of it  :D
Title: Re: General Discussion
Post by: Xela on March 14, 2014, 08:40:05 AM
Yeah, make sense.

We also should do something with folders structure. Looks like many people are confused when it comes to adding packs.
I don't remember which one of my unique packs is the smallest one, probably Lodoss War. We probably should add it and some random one too to the repo, I suspect some people even dropped the game because of it  :D

@ will be released with all rg packs and some unique once (others will be available as additional downloads) packs, that will hopefully clear things up a bit. I'll update the front post.
Title: Re: General Discussion
Post by: Xela on March 14, 2014, 07:19:42 PM
- Witch now teaches Air/Fire magic
- New buttons/styles
Title: Re: General Discussion
Post by: DarkTl on March 15, 2014, 03:37:30 AM
Spells could use descriptions too. Can't wait to write them, actually  :)
Title: Re: General Discussion
Post by: DarkTl on March 15, 2014, 04:56:38 AM
All right, pushed a couple of things, spells and mobs are almost ready. Tomorrow I have to be at work for a couple of hours, it will be a great time to add spells to mobs. For now random packs again, while danbooru is online (yesterday it wasn't).
Title: Re: General Discussion
Post by: Xela on March 15, 2014, 07:09:35 AM
All right, pushed a couple of things, spells and mobs are almost ready. Tomorrow I have to be at work for a couple of hours, it will be a great time to add spells to mobs. For now random packs again, while danbooru is online (yesterday it wasn't).

Just downloaded it, what the hell is with the insane multipliers like 4.2/8? Don't push this over 2.5 or we'll have shitty balancing issues with magic vs weapons again.

Why did you remove the generic earth spells btw?
Title: Re: General Discussion
Post by: DarkTl on March 15, 2014, 07:15:26 AM
Just downloaded it, what the hell is with the insane multipliers like 4.2/8?
Those spells have very high cost too btw. One cast per fight, basically.

Why did you remove the generic earth spells btw?
Because they suck, both in name and animation. Other default spells could be used after renaming, I guess, but this one is especially bad.
Title: Re: General Discussion
Post by: Xela on March 15, 2014, 07:19:33 AM
Those spells have very high cost too btw. One cast per fight, basically.

Edit:

damage=4.2, cost=10 = New earth spell making it 2x more powerful than any other spell in the game that cost 10 or even 12. :(

Yeah, but it will still be shitty balance even at high cost at high levels where MP is no longer a problem. I don't want to see magic that much more powerful than weapons in @.

Because they suck, both in name and animation. Other default spells could be used after renaming, I guess, but this one is especially bad.

I don't mind... + they are already in learning dicts. Leave them for the Alpha (I've restored them in my version already).
Title: Re: General Discussion
Post by: DarkTl on March 15, 2014, 09:18:07 AM
damage=4.2, cost=10
My bad, didn't notice.
Title: Re: General Discussion
Post by: Xela on March 15, 2014, 09:32:03 AM
So... with the witch teaching air/fire for the Alpha, we just need one more/two more NPCs for Light/Dark. Then something for hero training (I could use some ideas here):

Options:

1) AP/Training on the next day setup in the hero menu screen

2) NPC training (Like Xeona could train weapons skills/witch magic skills and so on, maybe with limits to what they are capable of teaching like in Elder Scrolls)

3 - x) Anything you guys can come up with.

(with training I mean the daily stat mining, obviously stats will be gained during events/interactions and so on as well)

=======
Past that... some generic location events, maybe one or two girls events, maybe some Blue-related cloning easter-egg, I would love to have some deep events as well (like enabling purchase of new building or different slavemarket or something at least slightly game-changing) but that takes time and thought and maybe game is not even ready for something like that at Alpha stage.

What else? Some simple dungeon I wanted to plant in as an easter egg as well but that might take a while to create a decent one unless we use sewers/desert or similar a tilemap...
Title: Re: General Discussion
Post by: DarkTl on March 15, 2014, 09:42:30 AM
You could use the leprechaun's sister, peevish.png in my db, for light/darkness. You were right about the other picture, it's a nightmare when you try to delete background there.

I agree with Xeona training and Skyrim-like limits.
We also have a lot of misc items that increase stats. If you make sure that they will work properly on MC, we won't need selftrainig.
Title: Re: General Discussion
Post by: Armegetton on March 15, 2014, 11:15:11 AM
So... with the witch teaching air/fire for the Alpha, we just need one more/two more NPCs for Light/Dark. Then something for hero training (I could use some ideas here):

Options:

1) AP/Training on the next day setup in the hero menu screen

2) NPC training (Like Xeona could train weapons skills/witch magic skills and so on, maybe with limits to what they are capable of teaching like in Elder Scrolls)

3 - x) Anything you guys can come up with.

(with training I mean the daily stat mining, obviously stats will be gained during events/interactions and so on as well)

=======
Past that... some generic location events, maybe one or two girls events, maybe some Blue-related cloning easter-egg, I would love to have some deep events as well (like enabling purchase of new building or different slavemarket or something at least slightly game-changing) but that takes time and thought and maybe game is not even ready for something like that at Alpha stage.

What else? Some simple dungeon I wanted to plant in as an easter egg as well but that might take a while to create a decent one unless we use sewers/desert or similar a tilemap...

Well, I don't know why you have to have 1 npc for both light and dark. If it were me, I'd have a church with an npc that teaches light. And then you could either use a warlock/necromancer hiding somewhere in the city who teaches dark (maybe in Main Street in a basement, just a thought) . OR dark could be taught by a mage who's studying ancient arcane magics .... but I feel like a person like that could probably teach all magic types.

Title: Re: General Discussion
Post by: Xela on March 15, 2014, 01:11:59 PM
You could use the leprechaun's sister, peevish.png in my db, for light/darkness. You were right about the other picture, it's a nightmare when you try to delete background there.

I agree with Xeona training and Skyrim-like limits.
We also have a lot of misc items that increase stats. If you make sure that they will work properly on MC, we won't need selftrainig.

Thanks, I thinks that might be a solid bet for the @, we can have Peevish teach Earth and her teaching Water in the future or something like that. BTW: Do you still have an image with background of our which somewhere? Maybe I an find a better tolerance setting for clearing the background for her?


Well, I don't know why you have to have 1 npc for both light and dark. If it were me, I'd have a church with an npc that teaches light. And then you could either use a warlock/necromancer hiding somewhere in the city who teaches dark (maybe in Main Street in a basement, just a thought) . OR dark could be taught by a mage who's studying ancient arcane magics .... but I feel like a person like that could probably teach all magic types.

Because it takes time and at least some effort (more in case of peevish, less in case of a witch). Somehow I am having a lot more difficulty with events that I HAVE to code in order to make the game playable than with events that I WANT to code to make it more fun to play... somehow that never transfers to writing code for logic.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2014, 01:23:37 PM
Here (http://gelbooru.com/index.php?page=post&s=view&id=347727) it is. I found her with witch+original tags back then, and with pumpkin+broom now  :)
Title: Re: General Discussion
Post by: Xela on March 15, 2014, 01:32:58 PM
Here (http://gelbooru.com/index.php?page=post&s=view&id=347727) it is. I found her with witch+original tags back then, and with pumpkin+broom now  :)

Awesome! I think this can be cleared with a lot less artifacts on contour, I'll try that tonight as well.

Edit:

It'll get better with the next push. I'll try to find some energy to at least start with the light/dark magic event tonight.
Title: Re: General Discussion
Post by: Xela on March 15, 2014, 02:48:45 PM
I wanna call her:

Aoibheann    “eve + een”    Eavan    

aoibhinn ”pleasant, beautiful sheen, of radiant beauty.” Often interpreted as “little Eve.” One Aoibheann was the mother of St. Enda of Aran who died c. 530 AD.

It might sound odd to Russians (like Иван), but it should make sense for English speakers :D

Awesome that the image is already perfectly cleaned from background btw, it took me some time messing with (prolly) subpixels to get the witch pic to artifact-less level.

I'll try to finish at least the logic for her tonight...

Edit:
Another option:

Aine    “awn + ye”    Anya, Anna, Hannah    

Ancient Irish name from the noun aine that means “splendor, radiance, brilliance.” Aine is connected with fruitfulness and prosperity. The queen of the Munster fairies was called Aine as was one of the wives of Fionn Mac Cool (read the legend). Aine appears in folktales as “the best-hearted woman who ever lived – lucky in love and in money.”
Title: Re: General Discussion
Post by: DarkTl on March 15, 2014, 03:55:45 PM
Aine would explain why there are leprikons in the forest in the first place.
Although, she doesn't seem powerful and imposing enough for a queen of fairies...
Title: Re: General Discussion
Post by: Xela on March 15, 2014, 06:00:56 PM
Aine would explain why there are leprikons in the forest in the first place.
Although, she doesn't seem powerful and imposing enough for a queen of fairies...

Aine it is, I got distracted with reading articles about graphics/image formats... Event will have to wait until tomorrow  :-[ Still going to try at least code 50 lines tonight.
Title: Re: General Discussion
Post by: DarkTl on March 16, 2014, 05:36:09 AM
Aaand pushed magic for mobs. Back to rg packs.
Title: Re: General Discussion
Post by: Xela on March 16, 2014, 09:37:21 AM
Aaand pushed magic for mobs. Back to rg packs.

Awesome, I'll get rid of auto-assigning spells in the next push.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 06:38:25 AM
I forgot to post that I've combined my updates with Dark's and pushed yesterday... I am not sure if I get the chance to work on the game tonight but I'll think about what to do new before then :)
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 06:48:42 AM
At least kill those bots and remove their remains.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 06:53:09 AM
At least kill those bots and remove their remains.

I've disabled them from posting anything and further polluting the forums. Admins can delete all their posts with couple of mouse clicks. I have to do it post by post. They've already been reported some time ago so I expect they'll be gone soon.

Edit: We should prolly also make a rule against using sites like http://emoticoner.com (aimed at Arm, mostly :D ). I am getting password pop-ups every time I visit my own thread...

Quote
A username and password are being requested by http://emoticoner.com. The site says: "Access Restricted (pwrestrict)"
Title: Re: General Discussion
Post by: CherryWood on March 17, 2014, 07:50:13 AM
I would like some girlpack girls to start with some special items equipped.   


It looks that I can probably write a silent event that will do that - check if girls are in game and equip items, using custom event and item files. But I'm not sure where I should run it from as main screen doesn't run events at the very start of the game and I would like to avoid any possibility of player acquiring and equipping these girls before it happens.


Or Is there already a some more convenient way to do that? (like writing something in girls .xml) 
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 08:03:12 AM
I would like some girlpack girls to start with items equipped.   


I was thinking that I can probably write a silent event that will do that. But I'm not sure where I should run it from as main screen doesn't run events at the very start of the game and I would like to avoid any possibility of player acquiring and equipping these girls before it happens.


Or Is there already a some more convenient way to do that? (like writing something in girls .xml)

Yeah well... we should really transfer girls files to JSON after the Alpha (preserving backwards compatibility with XML obviously).

I think the best way to do what you want is to create another label, like start_id and have it always run on game start (if such a label exists obviously). Modders might wish to do more than just adding items in the future and constantly modding XML loading function is tedious.

Just make the labels and be sure to end each label with a

Code: [Select]
return
statement. I'll try to make the rest work.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 08:13:54 AM
Do you mean existing or unique item? Cause if unique, with a new icon and stuff, then we need to load items from multiple jsons.

Also we'll need a flag of some kind for items that cannot be thrown or transferred, cannot be unequipped, and cannot be equipped by anyone but the girl.
Title: Re: General Discussion
Post by: CherryWood on March 17, 2014, 08:25:43 AM
Do you mean existing or unique item? Cause if unique, with a new icon and stuff, then we need to load items from multiple jsons.
I've simply created a new items_whateveruniquename.xml file in content/db, with icon image patch to gilpack folder and new item appeared in game. Is there something else to do?
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 08:35:00 AM
Nah, not for you, but for Xela. Ideally, such items xmls/jsons should be in the girl's folder, otherwise it will be too difficult to install them.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 09:00:14 AM
Nah, not for you, but for Xela. Ideally, such items xmls/jsons should be in the girl's folder, otherwise it will be too difficult to install them.

There is a line for allowing easy modding passed which I'd say: "F@ck it"

This steps over that line. Items can just as easily be coded in Python as loaded from XML. I'd rather show how to do that.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 09:15:27 AM
Are you telling me it's too difficult to load several items jsons in the game?
We already do it with girls data files.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 09:26:41 AM
Are you telling me it's too difficult to load several items jsons in the game?
We already do it with girls data files.

No, what I am saying is that there are:

Items, Traits, Battle/Magic Skills, Say window customization (possibly multiple windows), Advanced stats (overrides), Levels and more. If someone wants to do any of it for girls (later maybe for some random characters or Arena fighters as well), they can do it in start_id label in python, not in a sh!tloads of  xml/json files.

PS: Not mentioning that this way girls from large packs can be processed in bulk as well.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 10:31:59 AM
How do you propose to problemlessly distribute such changes? Even our Repo won't help.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 10:40:38 AM
How do you propose to problemlessly distribute such changes? Even our Repo won't help.

?
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 10:45:16 AM
If two independent modders modify the items.json to add some unique items, that means manual editing for everyone else. And you saw how many problems with installing packs people have even now.

If they both use Repo, their changes will be merged, but everyone else will have to use their packs.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 10:48:55 AM
If two independent modders modify the items.json to add some unique items, that means manual editing for everyone else. And you saw how many problems with installing packs people have even now.

If they both use Repo, their changes will be merged, but everyone else will have to use their packs.

I still don't follow? I said advanced modding should be done with python, why are you still talking about json files?
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 10:53:51 AM
That's an example. If two independent peolpe will change something packs-related in the code, we will have the very same problem.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 11:05:33 AM
That's an example. If two independent peolpe will change something packs-related in the code, we will have the very same problem.

I will only add mods that do not break anything to the game, what modders do with add-on mods is their business. I cannot see the problem that you describe, maybe I am missing something or you misinterpret how the game code is working...
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 11:16:08 AM
Nope, that's everyone's business. Because everyone will have to modify the code in order to use third party mods.

While it's not a problem if we stick to that "their business" attitude, we might as well use rpa archives for content then  :D
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 11:23:06 AM
Nope, that's everyone's business. Because everyone will have to modify the code in order to use third party mods.

Like I've said in previous post, I don't think we understand one another on this topic.

While it's not a problem if we stick to that "their business" attitude, we might as well use rpa archives for content then  :D

As I've said before, reasons why we shouldn't are far more numerous than reasons why we should.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 11:26:09 AM
Ok, let's try another approach. How to create an item without using items json?
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 11:55:17 AM
Ok, let's try another approach. How to create an item without using items json?

I've never tried, but it would look something like this:

Code: [Select]
    item = Item()
    item.id = "id"
    item.icon = "path/imagename.png"
    item.mod = dict(charisma=15, attack=20}

    items[item.id] = item

Can be simplified even further (item would not have be be spelled out every time) but right now the constructor doesn't take any arguments.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 12:05:53 PM
And where exactly should I add these lines?
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 12:08:58 PM
And where exactly should I add these lines?

Like I've told CW, start_rildid.rpy file. I'll enable calling those files tonight.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 12:17:32 PM
And this file should be where?
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 12:36:07 PM
And this file should be where?

Doesn't really matter that much, I'd make a suggestion to put it in girls folder with pictures.

My previous post was a bit misleading, I meant a label called "start_girlid" bot the file, files name is unimportant (CW knows that).
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 12:38:40 PM
@ CW

I just pushed a small addon to the script that should do what is required. Please test it and tell me if it works!
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 01:01:06 PM
Ah, ok then. As long as it's possible to use more than 1 modding file, it's not a problem.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2014, 01:56:10 PM
Pushed another cool music for main street. Working on Angel rg these days, will be ready before the alpha for sure, unlike huge hair_colour+original packs.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 04:50:13 PM
Pushed another cool music for main street. Working on Angel rg these days, will be ready before the alpha for sure, unlike huge hair_colour+original packs.

I got the track :)

Got about an hour tonight, I'll see if I can start adding to interactions a bit and see where that leads.

Edit:
Decided to skip that... head is completely empty for some reason. Going to rest up a bit and start with interactions tomorrow.
Title: Re: General Discussion
Post by: CherryWood on March 17, 2014, 05:30:23 PM
aaaaa... I need help again  :( I'm trying to figure it out for hours and I simply cannot find it anywhere :'(
I want to select one specific item, like in:
equip_item(item, chr)
what to write in the "item" field? Like, instead of "chr" I need to use "char["Hinata"]" to select specific girl, but how to call item by it's id?
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 05:33:28 PM
aaaaa... I need help again  :( I'm trying to figure it out for hours and I simply cannot find it anywhere :'(
I want to select one specific item, like in:
equip_item(item, chr)
what to write in the "item" field? Like, instead of "chr" I need to use "char["Hinata"]" to select specific girl, but how to call item by it's id?

Code: [Select]
items["id"] ?
Title: Re: General Discussion
Post by: CherryWood on March 17, 2014, 05:51:56 PM
Code: [Select]
items["id"] ?
YES! That's it, thanks!
I was using a overly long description to be sure that you'll understand that my question is really that stupid  :)


@ CW

I just pushed a small addon to the script that should do what is required. Please test it and tell me if it works!
Just run in and it works. Labels for girls start one after another without problems. I managed to have item from items.xml equipped on a girl from the start - which is just what I wanted. Thanks a lot.   I didn't have time yet to try advanced stuff, like that creating items in code you suggested or adding unique battle skills from there.
Title: Re: General Discussion
Post by: Xela on March 17, 2014, 05:57:12 PM
I'll look into creating items of addind arena skills later.

Yeap, stuff like MarsFlameSniper should be moved to girl's personal rpy files as well :)
Title: Re: General Discussion
Post by: DarkTl on March 18, 2014, 04:12:56 AM
I have a question though: Can you make a girl that will only make her appearance as your daughter? As in: she can't be found in the slave market, nor wandering the town, nor the catacombs etc. BUT, there IS a chance one of your daughters will be her.
I wonder if we should add something like that at some point. Providing that we'll use pregnancy at all (I'm not sure if we should, it's not like we don't have enough sources for random characters, not to mention clonning).
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 04:48:09 AM
I wonder if we should add something like that at some point. Providing that we'll use pregnancy at all (I'm not sure if we should, it's not like we don't have enough sources for random characters, not to mention clonning).

Enough sources is not really a valid counter argument in this case because pregnancy is a fetish/feature more than just a logical source. What we do with it depends on what happens after Alpha (new people joining dev team, modders, writers etc.).

I think that there are far more interesting features that we can immediately develop than pregnancy like training, capture, exploration, more buildings, more jobs, deeper communications, economics, territory control, BE features and so on.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 05:15:49 AM
Ok... so if I can focus today and not repeat yesterdays evenings bs, I can put quite a bit of time into the project.

If you have some stuff that requires coding, let me know, otherwise I'll start with replacing wooden buttons in the main menu, switch to interactions afterwards and see where that leads me.

For interactions (and girlsmeets), I want to look into creating a smart function to award disposition based on stats/classes and write a new routine for finding pics based on tags that will do something like this:

"tag1", "tag2" ==> will be used as default under default lookup logic.

first=[tags] ==> will look for exact match of all tags
second=[tags] ==> will look for exact match of all tags
...
fifth=[tags] ==> maximum 5 stages
all=[tags] ==> tags that will be added to all stages except the default so there is no need to repeat oneself.
Title: Re: General Discussion
Post by: DarkTl on March 18, 2014, 06:31:24 AM
That reminds me, did you change neutral tag to indifferent everywhere in the code?
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 06:41:04 AM
That reminds me, did you change neutral tag to indifferent everywhere in the code?

Yeap, I think it was Arm that did that, not me though... but they're all gone.
Title: Re: General Discussion
Post by: DarkTl on March 18, 2014, 07:30:23 AM
I know where we can use those sad tracks that you didn't want for the city. We could use a cemetery (near the temple if we'll have one), both for dead characters and for meetings with strange girls.

Also you wanted to add race field to girls data files.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 07:46:55 AM
I know where we can use those sad tracks that you didn't want for the city. We could use a cemetery (near the temple if we'll have one), both for dead characters and for meetings with strange girls.

Funeral march for the cemetery pls  ???

Also you wanted to add race field to girls data files.

No, I wanted you and CW to add that... I don't have any packs of my own at the moment.

(I've added new styles and removed unstyled wooden buttons from main menu, about to start on girlsmeets.)
Title: Re: General Discussion
Post by: DarkTl on March 18, 2014, 07:58:52 AM
Funeral march for the cemetery pls  ???
I don't know why they seem too depressing for you, but since they are, cemetery is the way to go  :D
Besides, how and where else could you keep dead characters if you don't have enough money to ressurect/clone them?

No, I wanted you and CW to add that... I don't have any packs of my own at the moment.
I mean you should add it to the game interface, it will be useless otherwise.
Also, by default it should be "human", unless otherwise stated.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 08:02:36 AM
I mean you should add it to the game interface, it will be useless otherwise.
Also, by default it should be "human", unless otherwise stated.

That's two lines of code for me and one line per girl for you guys :)
Title: Re: General Discussion
Post by: CherryWood on March 18, 2014, 08:06:04 AM
I must have missed that - Race means that we will remove all this catgirl, alien, artificial body etc. traits and write it as a string in xmls? Like human, youkai, data integration thought entity and such?
Or something else...?
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 08:10:02 AM
I must have missed that - Race means that we will remove all this catgirl, alien, artificial body etc. traits and write it as a string in xmls? Like human, youkai, data integration thought entity and such?
Or something else...?

Something like that. It's not immediately useful, but will become so after girls-capture/slave-training.
Title: Re: General Discussion
Post by: DarkTl on March 18, 2014, 08:16:56 AM
Well, it's impossible to write events for every possible race, since there are dozens, if not hundreds, of them. Only four traits (not human, AB, alien, catgirl) mean much less work.
I expect them to be used for some systems like girls relationships. And they will look well on stats screen.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 08:28:03 AM
Well, it's impossible to write events for every possible race, since there are dozens, if not hundreds, of them. Only four traits (not human, AB, alien, catgirl) mean much less work.
I expect them to be used for some systems like girls relationships. And they will look well on stats screen.

Yeap, for explanation/capture as well. I'm on a break, brb in an hour.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 02:45:11 PM
Ok.. it was more than an hour but back to work :)

I've decided to rewrite all interactions completely as nothing could really be salvaged. Main problem is that post training, most of this stuff will have to be rewritten or at least adjusted once again... maybe we should keep it to the bare minimum for now.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 04:35:34 PM
Would it make sense to show girls portrait in the say window at all times?
Title: Re: General Discussion
Post by: CherryWood on March 18, 2014, 05:59:08 PM
Would it make sense to show girls portrait in the say window at all times?
Maybe... I think it can look very good if we also use tags=more expressions for portraits (and these are easy to create) on most standard screens and it shouldn't be that weird on others.
Only place where it's no good is on events that use novel pics, but these are manually written anyway, so that's ok.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 06:28:06 PM
Maybe... I think it can look very good if we also use tags=more expressions for portraits (and these are easy to create) on most standard screens and it shouldn't be that weird on others.
Only place where it's no good is on events that use novel pics, but these are manually written anyway, so that's ok.

Yeap, we could do something like that as well. I was thinking about assigning h and g variables to hero.say and chr.say for automatic setups...

===
Didn't manage to get much done again. Interactions are very difficult to find a good approach to, will prolly take a few days just to build a code skeleton. I need some time for all the ideas and approaches to take some form in my head.
Title: Re: General Discussion
Post by: CherryWood on March 18, 2014, 07:03:07 PM
I actually like it more and more... I'm personally removing background from portraits because I believe it looks better, but this is not required, so making a set of portraits can be just cropping the heads of pics that would have to be tagged anyway = almost zero additional work from modders for something that will surely look good.


And portraits don't suffer from issues that profile pics often have - different outfits or body proportions - so they are much more suited for situations where the girl mood can change a lot.


----------------------------


I'm finishing a girl for which I want to make another attack animation. I'll try to use that new start_id laber for it. But because I have a lot school, it could take few days.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 07:16:09 PM
Kewl.

Just pushed a small update. It'll take a while for me to get a hang of interactions, prolly deleted more than added today :D

Had a decent idea on how to add animated text pop-ups on disposition changes during girlsmeets/interaction, maybe we'll add something like that before/after the @.
Title: Re: General Discussion
Post by: Xela on March 18, 2014, 09:01:11 PM
Just played the game a little bit without dev mode, some thoughts:

- First chain of mobs in the arena are too easy and allow mining gold/items almost with 0 effort, their strength should be increased, only the first enemy should be at players starting level.

- Found/fixed a bug where brothels address in memory was being reported instead of the name :)

- Game is very playable... better than I've expected. Girlsmeets written by me award disposition too generously and gms by CW award to little.

- Arena permit and maybe spells should be more expensive.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2014, 03:24:02 AM
Well, we need both cheap and expensive spells for different levels, but we don't have enough of them yet.

And portraits don't suffer from issues that profile pics often have - different outfits or body proportions - so they are much more suited for situations where the girl mood can change a lot.
Indeed. But I'm not sure how to make it right. Big quest pics are more beautiful than small portraits, generally.
Title: Re: General Discussion
Post by: CherryWood on March 19, 2014, 04:38:27 AM
JGirlsmeets written by me award disposition too generously and gms by CW award to little.

 It's because I expected that there wil be dates or love endings or something like that in the future and that disposition in gms will use only a portion of the stat range, like 600 max. But it's still awards low, I admit.
 Concept of recruiting girls by just randomly meeting them and inceasing disposition is still kind of weird. Maybe we should theme or explain it a little differently post alpha.
Title: Re: General Discussion
Post by: Xela on March 19, 2014, 05:11:23 AM
Indeed. But I'm not sure how to make it right. Big quest pics are more beautiful than small portraits, generally.

I am in no way suggesting a substitution. It would just make some things easier if portraits were used in addition to pictures.

It's because I expected that there wil be dates or love endings or something like that in the future and that disposition in gms will use only a portion of the stat range, like 600 max. But it's still awards low, I admit.
 Concept of recruiting girls by just randomly meeting them and inceasing disposition is still kind of weird. Maybe we should theme or explain it a little differently post alpha.

I see... we'll there might be in the future... It's not that weird but I am open to suggestions, if you have an idea on how it can be improved/replaced beyond what is already planned, let me know.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2014, 10:13:39 AM
Well, in your demo version there was a miniquest for Tifa. Perhaps a random (or not a random if pack maker makes his own) quest for everyone or something...
Title: Re: General Discussion
Post by: Xela on March 19, 2014, 12:44:07 PM
Well, in your demo version there was a miniquest for Tifa. Perhaps a random (or not a random if pack maker makes his own) quest for everyone or something...

There should still be a default... basically you suggest to scrap girlsmeets and go with a quest per girl instead of girlsmeets + quest per girl as we have now?

===
Don't know what to do tonight, struggle with interactions again/write some modding guide/add mc training to some NPCs...
Title: Re: General Discussion
Post by: DarkTl on March 19, 2014, 01:14:13 PM
Nope, I mean something like girlsmeets->quests->dates->more quests->...->profit  :)

So you need to earn some disposition at each stage to reach the next one. It will wait for post alpha, of course.
Title: Re: General Discussion
Post by: Xela on March 19, 2014, 04:45:43 PM
Can someone play PyTFall in Fullscreen mode for a while to see if it minimizes for no apparent reason? I get this annoying bug and cannot figure out where it comes from... driving me nuts.
Title: Re: General Discussion
Post by: Jaeke on March 20, 2014, 12:15:35 AM
No minimize error here after about an hour in fullscreen.

next day error
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/pyt - screens - witches hut.rpy", line 21, in script call
  File "game/library/screens/pyt - screens - nextday.rpy", line 10, in script
  File "game/library/screens/pyt - screens - nextday.rpy", line 61, in python
  File "game/library/classes - jobs.rpy", line 1188, in python
  File "game/library/classes - jobs.rpy", line 1488, in python
KeyError: 'intelligence'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "C:\renpy-6.16.5-sdk\renpy\execution.py", line 294, in run
    node.execute()
  File "C:\renpy-6.16.5-sdk\renpy\ast.py", line 720, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\renpy-6.16.5-sdk\renpy\python.py", line 1358, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/library/screens/pyt - screens - nextday.rpy", line 61, in <module>
    WhoreJob(whore, client, brothel, whores, clients)
  File "game/library/classes - jobs.rpy", line 1188, in __init__
    self.guard_event()
  File "game/library/classes - jobs.rpy", line 1488, in guard_event
    self.girlmod['intelligence'] += random.choice([0,1])
KeyError: 'intelligence'

Title: Re: General Discussion
Post by: Xela on March 20, 2014, 02:20:51 AM
Yeah... I thought it was just me :(

Both of those errors are fixed (second one is next day being run from witches hut...).
Title: Re: General Discussion
Post by: Xela on March 20, 2014, 04:36:39 AM
Ok... I've spent about 3 - 4 hours just playing the game yesterday and it's not as bad as I thought, so we're more or less ready for @.

I'll code in some form of training for hero tonight, leave interactions as they are now because I cannot wrap my head around everything I'd like interactions to be capable of doing so the plan is to slowly add to them/to the code during the post Alpha review.

Some stuff that still needs to be done as well, most of this are one liners codewise:

- Less conditioning for girlsmeets, current setup is preventing lots of girls from appearing.
- Slave Market should refresh at shorter intervals.
- Disable right-mouse-click opening game-menu. (Maybe find a way to have one setting in dev more and the other under normal gameplay?)
- Add load-quicksave to the main menu
- Raise multiplier for goblins horde.
- Prevent Arena Girls from participating in GirlsMeets.
- Proper conditioning for all events.
- Slightly lower disposition bonus from my GMs.
- Turn who window into a frame.
- Fix one of the Arena win screens from being shown instead of called (causes Arena music to be played simultaneously with winning track).
- Prevent winning track from being played on defeat (if it does*).


If there is anything else or if there is anything else you want to do/or need me to do before the @, let me know. I'll start clearing this list and add some basic training for MC and try to release an @ this weekend or next weekend at it's latest.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2014, 01:50:38 PM
About time. I'll finalize angel rg and fix all data files according to new stats system, and will add race fields too asap.
I hope you didn't forget to add into the game both race field and this (http://www.pinkpetal.org/index.php?topic=1920.msg23986#msg23986).
Title: Re: General Discussion
Post by: Xela on March 20, 2014, 02:05:47 PM
this (http://www.pinkpetal.org/index.php?topic=1920.msg23986#msg23986).

This will have to wait post-Alpha, I am not sure how interactions should be coded at the moment. Just out of curiosity, how do you see this? I mean what pictures should be displayed?

Edit:

race field

Done, I've also finished training code, Xeona, Abby and Aine will do the training. About to test and debug it right now.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2014, 02:37:24 PM
Not much choice here, either les+partner hidden, or two les for both girls simultaneously or one after another.
Title: Re: General Discussion
Post by: Xela on March 20, 2014, 03:14:51 PM
Not much choice here, either les+partner hidden, or two les for both girls simultaneously or one after another.

I suggested two nude pics side by side in TODO thread as an option as well... maybe I can sneak this in but seems like it's ahead of it's time compared to rest of the interactions.

Training tested, seems to be working just fine. Going to start cleaning the list from two posts above.
Title: Re: General Discussion
Post by: Xela on March 20, 2014, 03:54:55 PM
What's a good place for saves? Game directory or OS's user APPData folders? Right now saves go to both locations as it would seem...
Title: Re: General Discussion
Post by: Xela on March 20, 2014, 05:00:53 PM
Holy crap... I crossed of the entire list and added MC stats training (works for girls if they are on the team as well but schools are prolly more effective and cheaper).

Going to add Dark's new magic to NPCs spells training lists and push, then try playing a bit again, maybe find more stuff to fix for tomorrow.
Title: Re: General Discussion
Post by: Xela on March 20, 2014, 05:43:28 PM
Pushing now:


- Relocated a number of files (Delete ALL bytecode files)
- Removed Tsunades team from Arena
- Increased Goblin Horde Multiplier
- Synced Darks spells damage with rest of magic
- Fixed a good number of bugs
- Added flags to MC/Girls
- Added stats training by NPCs (Xeona, Aine, Abby)
- Added Scheduled stat training by NPCs
- Excluded Arena characters from Girlsmeets
- Decreased restock day value for SM counter (now every 2 - 3 days)
- Conditioned all events
- Added all magic spells to the training lists
- Right mouse-button will now be disabled in normal gameplay mode
- Added race to info screen
- Added Load QS button to main menu
- Removed Load Game button from main menu (still accessible from Preferences obviously)
- Linked forum from the game menu
Title: Re: General Discussion
Post by: CherryWood on March 20, 2014, 06:29:23 PM
My personal ToDo list goes as:


- update at least some my girls so they can be loaded in aplha
- create the sprites for one unique attack
- try to add it in start_id label
- try to create item in start_id label
- try to create arena team in start_id label (or in event)
- make one girlmeet_quest id label to test it
- finish Haruhi pack
- try the new tag function and update my part of interactions with it
- revert some lines back in GM
- review the GM disposition values
- remove Rei loading (fire alignment)
- look for another beggar girl sprite or adjust the text for the only one I have now
- get rid of tailor as there is no event yet, or at least remove the music (her theme song, it shouldn't play in other shops)
- fix some assistants images+dancing Miku white pixels


=don't count me on anything for @ as there is no way I can do these in a week.
Title: Re: General Discussion
Post by: Xela on March 20, 2014, 06:38:11 PM
- try to create arena team in start_id label (or in event)

Creating one shouldn't be a problem, placing one in the Arena is a bit harder.

- try the new tag function and update my part of interactions with it

Note that this doesn't exist yet. I just wrote a concept for the function but since it didn't proof useful anywhere, decided not to implement it (yet).
Title: Re: General Discussion
Post by: CherryWood on March 20, 2014, 06:55:09 PM
Creating one shouldn't be a problem, placing one in the Arena is a bit harder.

Note that this doesn't exist yet. I just wrote a concept for the function but since it didn't proof useful anywhere, decided not to implement it (yet).


Ok, I skip these.
I should be able to do the small fixies this weekend, but because I have a lot of school work these days, girls and modders related stuff (not-so-useful part, but it interest me) will surely take me much longer
Title: Re: General Discussion
Post by: Xela on March 20, 2014, 07:03:09 PM

Ok, I skip these.
I should be able to do the small fixies this weekend, but because I have a lot of school work these days, girls and modders related stuff (not-so-useful part, but it interest me) will surely take me much longer

You packs are ready yo go as far as I am concerned. I'll try to get everything together tomorrow, upload some of it to Mega at least. Maybe we can release first playable @ on Sunday already. I am also thinking about coding in an NPC that can set alignments to characters with Neutral once per game...

If you don't have activation event for MarsFlameSniper, I can prolly throw something temporary together with Abby as well (if player enters the shop with mars on the team after decent level in magic is reached).
Title: Re: General Discussion
Post by: DarkTl on March 21, 2014, 03:20:52 AM
What's a good place for saves? Game directory or OS's user APPData folders?
Game directory\Saves or something like that. I really hate how most of games create saves wherever they want except their own folders, so you have to look for them every time. Though that may have something to do with modern OS security limitations or something, if you use them not from admin...
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 03:43:58 AM
Game directory\Saves or something like that. I really hate how most of games create saves wherever they want except their own folders, so you have to look for them every time. Though that may have something to do with modern OS security limitations or something, if you use them not from admin...

Yeap... there are other advantages as well, Ren'Py documentation strongly suggests using the OS path. I'll take a look at both options and try to find out why game saves them at two locations right now...
Title: Re: General Discussion
Post by: DarkTl on March 21, 2014, 04:10:26 AM
I wonder if we can provide either a shortcut or maybe a button to open the save folder. I'm not sure if it's possible for all OS from xp to 8, they might use different path.
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 04:18:05 AM
I wonder if we can provide either a shortcut or maybe a button to open the save folder. I'm not sure if possible for all OS from xp to 8, they might use different path.

Doesn't matter really... Ren'Py knows where all the correct folders are located starting from XP ending up with Android. Problem is that trying to get those folders to open might not be a very good idea and may be the cause of some issues from OS to OS.

I've removed saving from OS dirs and assigned it to game/save folder only. It's working. Now we just have to make a decision if it should be left like that or OS path should be used. Advantages of using OS path are:

- Game can be used by someone with user privileges even if it was installed by Admin.
- Will not be lost if game is deleted.

Advantages of game/save:

- Everything in one place

...
Title: Re: General Discussion
Post by: DarkTl on March 21, 2014, 04:23:11 AM
Please remind me how to add spells to unique girls in xml.

Advantages of game/save:

- Everything in one place

...
- If your OS died and you had to reinstall it, your saves will be safe for sure because they are not on the system drive, unless you had no choice but format everything.
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 04:29:40 AM
Please remind me how to add spells to unique girls in xml.

<mskill name = "Magic Spell"/> I think...


- If your OS died and you had to reinstall it, your saves will be safe for sure because they are not on the system drive, unless you had no choice but format everything.

Yeah well... that doesn't happen too often. You could say that if you game HD died, you'd still have saves on the OS drive. I also hate when it's send to AppData but OS path is more professional and is safer. My opinion is really split 50/50 here.
Title: Re: General Discussion
Post by: DarkTl on March 21, 2014, 04:31:07 AM
Wait a sec, if you cannot open save folders, how are you supposed to move saves to another pc, or make backups?
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 04:35:52 AM
Wait a sec, if you cannot open save folders, how are you supposed to move saves to another pc, or make backups?

You can open it from OS, I meant that scripting something that opens that folder from Ren'Py is not very wise.
Title: Re: General Discussion
Post by: DarkTl on March 21, 2014, 04:40:24 AM
Either shorcuts or readme.txt with all pathes then.
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 04:52:29 AM
Either shorcuts or readme.txt with all pathes then.

Yeap, we'll need a tutorial at some point I guess.

I cannot find link to CWs packs in his folder... Going to download some of yours. Can you upload them to Mega as well (making sure that they are in proper format and can be just thrown in the game?)? I cannot torrent anything because I am behind two routers (first router I do not have access to :( )

I need to find something to do... gonna look at some options. I think finding some NPC to change alignments is a good bet for now. It sucks that it cannot be done at the moment. Maybe start writing a guide or tutorial after that? Gonna look for some nubish wizzard pic now, maybe a magical tower/guild picture as well, it can be closed for now but wizzard NPC near it could do the alignments and girlz with magical traits could hang around it as well...
Title: Re: General Discussion
Post by: DarkTl on March 21, 2014, 05:47:02 AM
I'm working with girls data files now, will upload everything when I get home.
You can download my tagged packs even now from both mega and db, but all topical data files are inside a separate folder in db, and there will be new ones soon.

Don't forget that we wanted a quest for changing MC aligment. And it probably would be a best bet for girls as well (maybe another one though).
So we don't need high detailed npc, if s/he will be a temporary one.
Title: Re: General Discussion
Post by: CherryWood on March 21, 2014, 05:51:11 AM
(making sure that they are in proper format and can be just thrown in the game?)
This is not guaranteed for my packs atm., so that's why there is no link. I'll add them back after I do the check.
Also, you once said that you wanted to just use Naruto pack + Rgirls for alpha, so I didn't hurry with anything mine...
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 06:16:41 AM
This is not guaranteed for my packs atm., so that's why there is no link. I'll add them back after I do the check.
Also, you once said that you wanted to just use Naruto pack + Rgirls for alpha, so I didn't hurry with anything mine...

You have three Naruto girls btw. It doesn't have to be perfect, just fix whatever you think should be fixed and throw a link in DB. Sailor moon should be a decent bet for the @ as well.
Title: Re: General Discussion
Post by: DarkTl on March 21, 2014, 06:18:29 AM
I probably should remove healer occupation, since we never implemented it?
Title: Re: General Discussion
Post by: CherryWood on March 21, 2014, 07:15:08 AM
 Pushed:
 - changed beggar event girl + text adjustment - event priority lovered - renamed Kayo's music so it don't appear in other shops - some GM lines reverted back - miku dance white pixels removed
That all from me that I could do quickly, now try to make those girlpack ready.
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 07:24:40 AM
Pushed:
 - changed beggar event girl + text adjustment - event priority lovered - renamed Kayo's music so it don't appear in other shops - some GM lines reverted back - miku dance white pixels removed
That all from me that I could do quickly, now try to make those girlpack ready.

Oki

I am clearing a pic for a mage girl I really want as NPC from backgrounds. None of the photoshop tolerance settings work so I am doing part on a pixel level, going to take a break and continue in an hour or so.
Title: Re: General Discussion
Post by: DarkTl on March 21, 2014, 11:56:04 AM
New data files are in db. And I uploaded tagged Angel rg.
No idea how are we going to distribute all that content  ::)
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 03:10:22 PM
New data files are in db. And I uploaded tagged Angel rg.

Awesome :)

No idea how are we going to distribute all that content  ::)

I am not 100% sure yet. Figuring that out is the main task for tomorrow. Right now I am going to work on that alignment NPC and not go to bed until that's finished. She is not going to be temporary, her assigning alignments will prolly be so.
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 06:05:03 PM
....

Added a new location/found pic/NPC/SoundTrack.

Going to add the event now. It just occurred to me that we should add simple simple events: Chance of finding some money + Chance of finding a cheap item...

# Edit: Should increase cost of rankups*
Title: Re: General Discussion
Post by: CherryWood on March 21, 2014, 06:07:02 PM
 @Xela: Do you understand the image positioning in BE?  All of this BE values like "archon", "battle.Camera", "offset" that I don't understand are making it totally confusing for me  :(
 
I need to calculate sprite movement, that will fly from caster to target (that's simple (fighterx, fightery) to (targetx, tragety)) but then continue off screen on the same trajectory - like if its flying through the target ((targetx, tragety) to (?,?)).


My latest attempt that is working on paper doesn't place it right in game at all for whatever reason (500 is a made up value that should move the X somewhere off screen) :
Code: [Select]
                        offset = Transform(xanchor=self._sprite_fly.Anchor[0], yanchor=self._sprite_fly.Anchor[1])

                        # Try to normalize positions:
                        fighterx = fighter.Position.Transform.xpos - fighter._battle.CameraX
                        fightery = fighter.Position.Transform.ypos - fighter._battle.CameraY
                        targetx = target[0].Position.Transform.xpos - target[0]._battle.CameraX
                        tragety = target[0].Position.Transform.ypos - target[0]._battle.CameraY

                                                # fly from caster to target
                        mf = Move((fighterx, fightery), (targetx, tragety), self._fly_duration)   
                        renpy.show(tag, what=self._sprite_fly, at_list=[mf, offset, do_the_flip], layer=l, zorder=fighter.Position.Z + 0.001)
                        fighter._battle.Pause(self._fly_duration)

                        # continue flying out on the same trajectory
                        if self._fly_off_screen:                         
                            if fighterx > targetx:

                                flip_math = -1
                            else:
                                flip_math = 1

                       
                               
                            flyoffx = targetx+(500*flip_math)
                            flyoffy = (tragety-fightery)*((500*flip_math)/(targetx-fighterx))+tragety   
                       
                            mfout = Move((targetx, tragety), (flyoffx, flyoffy), self._fly_duration)
                            renpy.show("fly_off", what=self._sprite_fly, at_list=[mfout, offset, do_the_flip], layer=l, zorder=fighter.Position.Z + 0.001)   
   

Seriously, let's say the positions are:
fighterx=100,
fightery=150,
targetx =500,
tragety=200,
and I increase the final X position by 500 to 1000, then obviously continuing on, the Y must get higher (262,5 according to vector program)
 
(targetx+(500*flip_math)),((tragety-fightery)*((500*flip_math)/(targetx-fighterx))+tragety)     
= ((500+(500*1)),((200-150)*((500*1)/(500-100))+200)
= (1000),(50*(500/400)+200)
= (1000),(262,5)
It's just right! Then why the hell is my image always moving in the straight horizontal line?  ??? :'(
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 06:37:34 PM
@Xela: Do you understand the image positioning in BE?  All of this BE values like "archon", "battle.Camera", "offset" that I don't understand are making it totally confusing for me  :(

battle.Camera is not applicable to BE used in Arena. It calculates position if map > screensize which is never the case since all battles in Arena are stationary. I wrote that code because your arrow spells were flying all over the map in tile type fights :)

anchor/offset is to the letter as they're described in Ren'Py documentation.

Code: [Select]
                            flyoffy = (tragety-fightery)*((500*flip_math)/(targetx-fighterx))+tragety


It's just right! Then why the hell is my image always moving in the straight horizontal line?  ??? :'(

Try:

Code: [Select]
                            flyoffy = int(round((tragety-fightery)*((500*float(flip_math))/(targetx-fighterx))+tragety))

In Python 2.7:

Code: [Select]
(50*(500/400)+200) == 250
would return True.
Title: Re: General Discussion
Post by: CherryWood on March 21, 2014, 07:06:46 PM
Code: [Select]
                            flyoffy = int(round((tragety-fightery)*((500*float(flip_math))/(targetx-fighterx))+tragety))
Whoa, it's working! Awesome! Thanks a lot! (I have so much to learn...)

===========



Do you have any pointers how to add a new magic skill into the game from separate file? (start_id)
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 09:46:48 PM
Phew... All done with the event :D

Gonna push and get some sleep, simple events = tomorrow.

***
- Added Magic Tower location
- Added Angelica NPC
- Version bumped to 0.43
- Added new Alignment choice events


====
Do you have any pointers how to add a new magic skill into the game from separate file? (start_id)

Same way as in be assets file.

*4 Tomorrow:
- Check arena rewards
- Check cost of rankups
- Add XP bonus from training with NPC
- Add simple events
Title: Re: General Discussion
Post by: CherryWood on March 21, 2014, 10:43:09 PM
Same way as in be assets file.
Thanks, it's working now too, so I remove Mars skill from the assets file.


------------------
These init priority numbers (init -9 python:), how should I use them?
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 10:59:06 PM
------------------
These init priority numbers (init -9 python:), how should I use them?

Order of loading from -9999 to 9999, everything out of -999 to 999 range is generally reserved for Ren'Py development team and should not be used unless you know what you're doing.

Basically just throw everything on init python or if you want to be really safe, init 999 python :D Remember that everything in the init is run every time game starts/being loaded so you can only initialize stuff there. All instantiation goes to labels.

Everything that needs to be saved goes to labels with other words:

For example:

Library.Skills.MarsSniper = ... <-- can go to the init or label.

char["Mars"].magic_skills["Mars Sniper"] = 1  <-- should go to a label.
Title: Re: General Discussion
Post by: CherryWood on March 21, 2014, 11:05:58 PM
 btw. It seems that there is a little bit of confusion in showing pictures for arena.
MC, moobs, npc arena fighters have pics called "combat". They're loaded by filenames (combat 0).
but for girls, we have main tag called "battle". So "combat" for them will not find anything, and it's currently showing just a profile pic.
Title: Re: General Discussion
Post by: Xela on March 21, 2014, 11:10:21 PM
btw. It seems that there is a little bit of confusion in showing pictures for arena.
MC, moobs, npc arena fighters have pics called "combat". They're loaded by filenames (combat 0).
but for girls, we have main tag called "battle". So "combat" for them will not find anything, and it's currently showing just a profile pic.

Ah, ok... I'll fix this tomorrow as well.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2014, 03:34:52 AM
I wonder, what are bytecode files? I mean, why they were in the game in the first place, while they can be deleted anytime?  :)
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 07:35:08 AM
Basically Human Readable converted into a slightly more convenient form for the interpreter to read.
Title: Re: General Discussion
Post by: smarties4 on March 22, 2014, 09:20:06 AM
What kind of writing is needed?
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 09:42:38 AM
What kind of writing is needed?

We will release an Alpha version soon, you'll see it then. There are too many game elements you can write lines/texts for to plainly answer this question...

***
Ok, everything planned yesterday for today except:

- Add simple events

is done. Going to take a break and do the events :)

* Omg... almost forgot to script game adding new random girls if player snatches them all :D
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 01:50:42 PM
SF Updated!

- Lowered Arena rewards
- Increased price/req for rank-ups
- Fixed battle/combat pic type mixup
- Game will add random girls to the game as player buys/recruits them
- Improved event handing and added substitution for dice (in case more complex trigger is required)
- Added "all" to events locations, will trigger at all locations
- Slightly improved alignment pick events
- Added two new generic events (found gold/item)
- Yey! :D
Title: Re: General Discussion
Post by: DarkTl on March 22, 2014, 02:27:52 PM
The witch mentioned spells, but doesn't actually teach them.
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 02:29:10 PM
The witch mentioned spells, but doesn't actually teach them.

As usual you just cannot find my obscure buttons  :D :D :D
Title: Re: General Discussion
Post by: DarkTl on March 22, 2014, 02:40:01 PM
Damn it  :D
Where are Peevish and Aine? I cannot find anything in the forest.
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 02:48:12 PM
Damn it  :D
Where are Peevish and Aine? I cannot find anything in the forest.

Events are conditioned now  ::)

Buy/equip some magic boosting item. I am not sure you can meet Aine at level one but Peevish should not be a problem. You cannot meet Aine before you meet Peevish btw.

Events without conditions are only available at test phase.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2014, 02:49:04 PM
How to disable dev mode again?
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 02:51:23 PM
How to disable dev mode again?

In options.rpy:

config.developer = False

instead of True. It's very close to the top of the file in init python early (that actually allowed me to enable rmc in dev mode and disable it during the normal play).
Title: Re: General Discussion
Post by: DarkTl on March 22, 2014, 03:00:16 PM
Scrollbar for MC sprites is way too transparent even for your usual interface. I use it only because I already know about it  :)

We still have customers without the singboard. The idea was to disable them completely without it.
 
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 03:06:40 PM
Scrollbar for MC sprites is way too transparent even for your usual interface. I use it only because I already know about it  :)

We still have customers without the singboard. The idea was to disable them completely without it.

My guess would be that restyling that scrollbar would be a pain in the ass. I'll take a look at it later.

Really? I'll take a look at it as well but that doesn't really byte as it is now.
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 03:10:59 PM
LoL

New Error reporting in last version of Ren'Py sure is shitty. It basically tell you: There is an error in your code somewhere... Try finding it  :P ??? :P
Title: Re: General Discussion
Post by: DarkTl on March 22, 2014, 03:13:21 PM
A random building in the begining of the game without any signs, and people still go there just because they can, in hopes to find girls non less. That's absurd.
Title: Re: General Discussion
Post by: CherryWood on March 22, 2014, 03:13:30 PM
Any idea what may cause this bug?
Code: [Select]
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 6, in script
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 10, in python
  File "game/library/initialization.rpy", line 143, in python
IOError: Couldn't find file ''.

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "G:\hry\renpy-6.16.5-sdk\renpy\execution.py", line 294, in run
    node.execute()
  File "G:\hry\renpy-6.16.5-sdk\renpy\ast.py", line 732, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "G:\hry\renpy-6.16.5-sdk\renpy\python.py", line 1358, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 10, in <module>
    result = ui.interact()
  File "G:\hry\renpy-6.16.5-sdk\renpy\ui.py", line 237, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\core.py", line 1993, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\core.py", line 2311, in interact_core
    self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\core.py", line 1530, in draw_screen
    renpy.config.screen_height,
  File "render.pyx", line 365, in renpy.display.render.render_screen (gen\renpy.display.render.c:5300)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\layout.py", line 536, in render
    surf = render(child, width, height, cst, cat)
  File "render.pyx", line 95, in renpy.display.render.render (gen\renpy.display.render.c:2764)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\layout.py", line 536, in render
    surf = render(child, width, height, cst, cat)
  File "render.pyx", line 95, in renpy.display.render.render (gen\renpy.display.render.c:2764)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\layout.py", line 536, in render
    surf = render(child, width, height, cst, cat)
  File "render.pyx", line 95, in renpy.display.render.render (gen\renpy.display.render.c:2764)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\screen.py", line 295, in render
    child = renpy.display.render.render(self.child, w, h, st, at)
  File "render.pyx", line 95, in renpy.display.render.render (gen\renpy.display.render.c:2764)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\layout.py", line 536, in render
    surf = render(child, width, height, cst, cat)
  File "render.pyx", line 95, in renpy.display.render.render (gen\renpy.display.render.c:2764)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\layout.py", line 698, in render
    surf = render(d, width - x, rh, cst, cat)
  File "render.pyx", line 95, in renpy.display.render.render (gen\renpy.display.render.c:2764)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\layout.py", line 903, in render
    st, at)
  File "render.pyx", line 95, in renpy.display.render.render (gen\renpy.display.render.c:2764)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "accelerator.pyx", line 109, in renpy.display.accelerator.transform_render (gen\renpy.display.accelerator.c:1654)
  File "render.pyx", line 166, in renpy.display.render.render (gen\renpy.display.render.c:2491)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\im.py", line 463, in render
    im = cache.get(self)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\im.py", line 196, in get
    surf = image.load()
  File "game/library/initialization.rpy", line 143, in load
    child = im.cache.get(self.image)
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\im.py", line 196, in get
    surf = image.load()
  File "G:\hry\renpy-6.16.5-sdk\renpy\display\im.py", line 507, in load
    surf = renpy.display.pgrender.load_image(renpy.loader.load(self.filename), self.filename)
  File "G:\hry\renpy-6.16.5-sdk\renpy\loader.py", line 428, in load
    raise IOError("Couldn't find file '%s'." % name)
IOError: Couldn't find file ''.


Problem is on my side caused by my Naruto pack, it's happening when game is about to shown any Hinata's pics.
But the problem is not in Data.xml (I didn't change it at all from when all was running) and also not in tags.json (I just recreated it multiple times again and it happens even without it) so I'm kinda clueless.
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 03:22:35 PM
Problem is on my side caused by my Naruto pack, it's happening when game is about to shown any Hinata's pics.
But the problem is not in Data.xml (I didn't change it at all from when all was running) and also not in tags.json (I just recreated it multiple times again and it happens even without it) so I'm kinda clueless.

Sorry m8... smart money is on unmatched id vs folder name, even if you triple checked that. Make sure you don't have any spaces or something like H1nata somewhere and that folder location is correct as well.

There are other things that could theoretically be causing this but I'd have to see the pack to determine what it could be.
Title: Re: General Discussion
Post by: CherryWood on March 22, 2014, 03:37:53 PM
Sorry m8... smart money is on unmatched id vs folder name, even if you triple checked that. Make sure you don't have any spaces or something like H1nata somewhere and that folder location is correct as well.
??? You're right. It was lowercase h in hinata...  I'm using lowercase ids for my girl, but I left "Hinata" there because she was used in code...
Stupid stuff... I rewrite all ids to have first letter capsized so it's same like DarkTl girls, hope it will avoid this in future.


----------------------
I updated Naruto and Sailor moon packs, so they can be used now and I add NGE pack and one other girl soon. Then I try to load item from script and that's all I can do in time. 

Title: Re: General Discussion
Post by: DarkTl on March 22, 2014, 03:43:20 PM
2 clients came to brothel just because it's there, and 2 because of it's fame (=0). A total of four. I wonder why 0 attracted by girls (no girls), should be 2 as well  :)

Cool animation during the affinity change btw.
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 03:47:35 PM
2 clients came to brothel just because it's there, and 2 because of it's fame (=0). A total of four. I wonder why 0 attracted by girls (no girls), should be 2 as well  :)

Wow... fame @ 0 should mean 0 customers. I'll fix it, busy with credits now.

Cool animation during the affinity change btw.

Thanks :)
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 05:17:43 PM
Credits are ready (just hope I didn't forget anyone...).

Going to take a look into the customer thing now!

*Right... it was stupid mistake, code was written with 0 customers bonus from 0 fame! Going to take a look at the sing thing but it's tricky since the sign can be removed after the brothel is famous and expects lots of clients.

Ok... that's done too. No sign in brothel with 0 fame and 0 rep == 0 clients and corresponding text!

I don't think the mc sprite bar is going to happen before Alpha, I'll prolly have to restyle the whole damn think to make it work.
Title: Re: General Discussion
Post by: CherryWood on March 22, 2014, 05:54:27 PM
Ok, I finished updating packs, so now at least 20 girls from me should be playable. (link is back in DB again, dunno why I removed it)
I wanted to add some items for Sailor Moon girls and a simple girlmeets-quest label for Rei, just to show that it's possible, but I don't have any strength left, so it have to wait for tomorrow.
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 06:01:41 PM
Ok, I finished updating packs, so now at least 20 girls from me should be playable. (link is back in DB again, dunno why I removed it)
I wanted to add some items for Sailor Moon girls and a simple girlmeets-quest label for Rei, just to show that it's possible, but I don't have any strength left, so it have to wait for tomorrow.

Great!

Last push from me for tonight:

- Small brothel clients fix
- Credits! :)
- Number of minor improvements

Credits can be viewed by clicking on Arena icon on the Main Screen (it's there now). Tell me if I forgot someone.
Title: Re: General Discussion
Post by: Xela on March 22, 2014, 08:01:04 PM
*Slightly broke slideshow with the last push. Will fix that tomorrow.
*Find out why gilsmeets aint more randomized.

@ Dark:
Does it make sense to re-download your old packs (I recall one Vivi pic was mistagged, I can just change that in software). Did you update anything else?
Title: Re: General Discussion
Post by: DarkTl on March 23, 2014, 04:53:00 AM
Yup, I fixed Vivi back then, you can fix it yourself if you find my post  :)
Aside from that, I only changed data files in old packs, since there were no more "bug reports". Even if you see any data files in my archives, it's better to take new ones from my db.

The difference between mega and db links is not tagged packs (will wait until slavetraining) and tagged Angel rg, I uploaded her to db only, because mega was too busy with something.

You forgot GonDra btw, he helped with spell checking a lot, the only one who checked all our items basically.

Now it would be great if someone with native English could check girls descriptions in my packs  :D
Title: Re: General Discussion
Post by: Xela on March 23, 2014, 05:28:25 AM
*Slightly broke slideshow with the last push. Will fix that tomorrow.
*Find out why gilsmeets aint more randomized.
*Take a look into the guard thing Jaeke reported.

@Dark, Ok, got it!
Title: Re: General Discussion
Post by: Xela on March 23, 2014, 06:48:13 AM
Ok, all of that is crossed off the list...

I really hate how traits are currently working in the game, I wanna try to re-implement it without changing the data file. I had a few today already so I am not 100% that I pull it off but I am going try.
Title: Re: General Discussion
Post by: CherryWood on March 23, 2014, 07:32:30 AM
I have a girl_id label to what the game will jump from pre-gm girls selection (girlsmeets_quest thing).
So my label starts, but I still have previous screen on (pyt_city_parkgates, pyt_city_beach_cafe...).
How to hide these when I don't know from where my label starts?
Title: Re: General Discussion
Post by: Xela on March 23, 2014, 07:48:36 AM
I have a girl_id label to what the game will jump from pre-gm girls selection (girlsmeets_quest thing).
So my label starts, but I still have previous screen on (pyt_city_parkgates, pyt_city_beach_cafe...).
How to hide these when I don't know from where my label starts?

Ouch... that's a tougth one.

Try:

Code: [Select]
$ renpy.hide_screen(renpy.current_screen().tag)
if that doesn't do anything, try:
Code: [Select]
$ renpy.hide_screen("_".join(["pyt", pytfall.gm.label_cache]))
If that doesn't work either, I'll automatically disable it in the core code.
Title: Re: General Discussion
Post by: DarkTl on March 23, 2014, 08:01:00 AM
Even though I don't use new data files with race field yet, all girls still should have Human race by default. However, I don't see it.

I really hate how traits are currently working in the game
Why?
Title: Re: General Discussion
Post by: Xela on March 23, 2014, 08:40:13 AM
Even though I don't use new data files with race field yet, all girls still should have Human race by default. However, I don't see it.

Race field default to empty string since game can also use Crazy girls that do not have race fields and would look really weird. On default, race is not displayed at all.

Why?

Because we went through some trouble to get stats to display as percentages of 100. Traits mess that up completely because girls with 5 - 6 traits get their stats pushed to a very high level, almost always above their maximum cap.

There are two issues with that:

- Percentage systems is near bloody useless.
- Most stat increases @ game start go down the toilet since traits do not have a separate layer of stats like items do.

I've implemented a solution that might have a better chance of working. Stats will be increased by 10% of what trait is actually supposed to be increasing every 5 levels. If trait is lost, the cumulative effect is lost with it. If gained again, the cumulative effect is restored. If levels are increased normally while girl has the trait, effects are applied on level-ups.
Title: Re: General Discussion
Post by: DarkTl on March 23, 2014, 09:02:58 AM
On default, race is not displayed at all.
You should have mentioned it before. Added human race to my data files.
Title: Re: General Discussion
Post by: Xela on March 23, 2014, 09:05:50 AM
You should have mentioned it before. Added human race to my data files.

I figured it was not very important. Race will really shine when we add elven city, girl capture, slavetraining. For now it's just a decoration.
Title: Re: General Discussion
Post by: DarkTl on March 23, 2014, 11:01:55 AM
Don't forget to add GonDra to credits.
Title: Re: General Discussion
Post by: Xela on March 23, 2014, 11:14:15 AM
Don't forget to add GonDra to credits.

Already done with the last push.
Title: Re: General Discussion
Post by: Xela on March 23, 2014, 04:02:45 PM
New update:

- Very slightly lower Prostitutes income at highest levels
- Decreased the amount of AP characters have
- Increased experience gain for the hero and reduced for it for girls
- Added edgescroll to MC Sprite viewport
Title: Re: General Discussion
Post by: Xela on March 23, 2014, 08:50:24 PM
SF Updated:

- Taxation, without penalties
- Simple MC Report and to ND and filters
- MC Finanace screen fixed
- MC will now log stats to display on next day
- Dev mode will start with 100k gold
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 07:25:49 AM
@ Dark:

Can you look into ripping:

textures.dtl file from this game: http://www.pinkpetal.org/index.php?topic=332.msg26349#msg26349?

It might be an option for our dungeon.
Title: Re: General Discussion
Post by: CherryWood on March 24, 2014, 09:38:59 AM
I've made a meetscrip for Rei, it's in her folder now. It's basically just a purchase of a slave with small show reference, to test if this option works.


But this is seriously getting on my nerves as I've seen this report:
Code: [Select]
I'm sorry, but an uncaught exception occurred.

After loading the script.
Exception: Invalid key specifier skip
like hundred times and it gives absolutely no clue where to look for bad code  :(
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 09:44:14 AM
Code: [Select]
I'm sorry, but an uncaught exception occurred.

After loading the script.
Exception: Invalid key specifier skip

I know... It's like telling you: Go look for an error somewhere in 100k lines of code. Have fun!

I will report it at Lemma, this is ridiculous.
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 11:19:01 AM
I am about to test the penalty code for not paying the taxes. After that I'd like to do one last thing and that is scripting a game over on MCs death, that code is ready, so it's just a simple screen and a tune.

If I have the energy, I will also add projected taxes and debt to the government to the MC fin screen. If noone comes up with bugs, huge dis-balances or anything that is really worth adding, I'll prepare the build and start uploading the game and write a release text.

Right.. and ofcourse on the test:

Code: [Select]
I'm sorry, but an uncaught exception occurred.

After loading the script.
Exception: Invalid key specifier skip
Title: Re: General Discussion
Post by: DarkTl on March 24, 2014, 11:55:37 AM
Can you look into ripping:
Cool game, but bad for ripping. No ready unpackers exist for it in free access, we need either a hacker or a good C++ coder (if I'm not mistaken) for that stuff. The team that translated it do not share their tools.
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 12:26:15 PM
Cool game, but bad for ripping. No ready unpackers exist for it in free access, we need either a hacker or a good C++ coder (if I'm not mistaken) for that stuff. The team that translated it do not share their tools.

Oh well... there is a lot of these dungeon graphics online and the code to render that in Ren'Py is ridiculously simple... If we go with something like that, we can always find other games to "borrow" from. This one is just too bloody convenient :)

I finished testing the penalty code. Fixed a couple of errors, it seems to be working just fine and it's even a bit of fun. I'll do the "game over" code next (I think there is a devent game over screen amongst your graphical resources) and see if I can add the weeks taxes tracking and add the total debt to the hero screen :)
Title: Re: General Discussion
Post by: DarkTl on March 24, 2014, 12:59:29 PM
Yup, I ripped one from Agarest.

Come to think of it, our BE mechanics are very similiar to Agarest BE (http://agarest.wikia.com/wiki/Game_Mechanics).
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 01:48:34 PM
Yup, I ripped one from Agarest.

Well, it's very good, especially combined with your soundtrack.

I just finished the code, it's simple but it took some time since it can be launched from anywhere in the game at all if hero's health drops to 0 or below. Right now I believe that it's only possible in case of very, VERY poor management of game affairs but since it's possible, there is little point on not having a game over screen at all and just go on playing as a walking corpse :D
Title: Re: General Discussion
Post by: DarkTl on March 24, 2014, 01:53:17 PM
Hm, we actually could use race for MC as well in the future depending on the sprite. Maybe including Undead  :)
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 02:04:04 PM
Hm, we actually could use race for MC as well in the future depending on the sprite. Maybe including Undead  :)

Yeap, that could actually work, all jokes aside.

I am beginning to figure out why we can do some stuff that never have been done in SimBro games before...

https://www.python.org/doc/essays/comparisons/

Trying to imagine what the taxes code looked like in Java or C++ scares me :D
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 02:07:38 PM
I've made a meetscrip for Rei, it's in her folder now. It's basically just a purchase of a slave with small show reference, to test if this option works.


But this is seriously getting on my nerves as I've seen this report:
Code: [Select]
I'm sorry, but an uncaught exception occurred.

After loading the script.
Exception: Invalid key specifier skip
like hundred times and it gives absolutely no clue where to look for bad code  :(

I've reported this to the developers by the way. PyTom suggested it might be an error in the new version but asked for examples, I provided two, one in Python and one Ren'Py script each. We'll soon know if I've done something weird to PyTFall or this is something global.

Edit:

*** The chances are that it was me or it is something in between... Fresh projects do not report errors the same way as PyTFall does...
Title: Re: General Discussion
Post by: CherryWood on March 24, 2014, 02:35:06 PM
it's really weird. Right now I forget about tabs and copied some text from .xml file and it's not even giving the obvious "tab characters are not supported in renpy code" message. And most of the time my errors would fall into the "bad syntax in line xy"category. It's just showing this one  :(


I just created item in label and it only took me few minutes, yay! If it's really work, it will be my first thing that runs fine without hours of with the company of error reports
But only thanks to your example of course  :)
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 02:37:42 PM
I just created item in label and it only took me few minutes, yay! If it's really work, it will be my first thing that runs fine without hours of with the company of error reports  :)

I'll try to figure this out... For now I've been coding in small bits, like 30 - 40 lines before checking if it runs well instead of a few 100s.

To be perfectly honest, I cannot even think of a reason for Ren'Py to behave this way at the moment.
Title: Re: General Discussion
Post by: DarkTl on March 24, 2014, 03:08:27 PM
When did it start? Is it possible to downgrade ren'py version as an experiment, or only the latest one is available?
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 03:34:14 PM
When did it start? Is it possible to downgrade ren'py version as an experiment, or only the latest one is available?

Few days ago I believe, I kept getting odd error error reporting for a couple of days and posted something about poor error reporting reporting here.

I don't really know... more than one version should be available. I'll wait for PyTom, maybe he can suggest something, if nothing pops up in a couple of days, it will be worth looking into.
Title: Re: General Discussion
Post by: CherryWood on March 24, 2014, 04:10:24 PM
Items created with:
        item = Item()
item.id = "something_new"
item.desc = "test item 2"
...
items[item.id] = item


Don't use default values as it seems, because game wants fields like "cmax" from me.
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 04:21:07 PM
Finished everything I wanted to do before the Alpha.

** Going to test it a bit.

Also I might change the slide show to work with taggroup chosen in the gallery instead of profile and battle combo it is currently locked to.

SF Updated:

- Game Over logic on MC's death
- Taxes code expanded to:
* Decent confiscation code (slaves and brothels, not items at this time) in case of total debt of 50000 Gold
* Displaying current debt in hero finances screen if such exists
* Displaying taxes so far this week in finances screen
- MC now has a chance to increase his stats if there are AP left at the end at the end of the day
- Fixed a bug where hero's MP and Fatigue wasn't displayed properly in bars at the team info, forest exploration testing and arena
- Brothels can no longer be sold at their face value, otherwise it would have been a way of never paying the property tax
- Hero location will now be properly updated if brothel is sold and he was living there
- Neow**!


Items created with:
        item = Item()
item.id = "something_new"
item.desc = "test item 2"
...
items[item.id] = item


Don't use default values as it seems, because game wants fields like "cmax" from me.

You need to run:

Code: [Select]
item.init()

after item is properly setup as you like wish it to be BUT before you run "items[item.id] = item".
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 06:04:58 PM
PyTom doesn't have any advice yet. He suggested it might be me disabling skip key but that's not possible since I've never touched it.

Otherwise... Gallery now will display images based on tag chosen in the Gallery! I've also excluded all "number tags" in Dark's packs.

With that I've officially finished all that was planned for the Alpha. Lets test this thing a little bit and release it tomorrow.

Possibly last pre-Alpha push:

- Excluded all "number" tags
- Sorted all tags in the gallery by the amount of images they have
- Gallery will now display images based on chosen tag in SlideShow.
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 06:17:14 PM
*** Took me 3 minutes of dedicated search to find out what was causing the faulty error reporting :D

Consider that fixed as well :)
Title: Re: General Discussion
Post by: CherryWood on March 24, 2014, 06:31:42 PM
I've also excluded all "number tags" in Dark's packs.
What this means? Should I do something too?
Title: Re: General Discussion
Post by: Xela on March 24, 2014, 06:36:11 PM
What this means? Should I do something too?

No.

In some of the Darks packs, he unknowingly had an option of "auto-tagging" based on filenames on. That resulted in dozens of images tagged with "0", "1", "2", "Combat" and so on. I wrote a tiny script at the start of the game to kill all of these tags that I could isolate from the good tags.

Basically you should never do that :)
Title: Re: General Discussion
Post by: CherryWood on March 24, 2014, 08:27:15 PM
Ok, I created few girl-unique items for SM pack, so now I have everything except Haruhi pack (no chance) and girlmeets too-low-disposition-awards adjustments (which I'm not really sure how to do) crossed out from my alpha mini todo list.


So I'll move to testing too. I don't even remember when I played the game last time  :)
Title: Re: General Discussion
Post by: DarkTl on March 25, 2014, 12:57:28 AM
*** Took me 3 minutes of dedicated search to find out what was causing the faulty error reporting :D
What was that?
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 04:46:34 AM
What was that?

In order to kill rmb during normal gameplay but preserve it during the dev mode, I've moved:

config.developer = False/True

to the python early field. That shouldn't cause any issues but apparently it did and I could have just moved it to any init below -999... basically it was a bug that they will never fix unless stumbling upon it in code and me doing something weird (there is no actual reason for this setting to be on an early field other than convenience).
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 06:00:50 AM
When I set unique warrior girl to arena_willing = "true", she obtains a randomized lv and a set of combat (like sword attack even if she doesn't have one) and magic skills, in addition of what she have in her .xml
This really shouldn't happen, I believe.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 06:06:46 AM
When I set unique warrior girl to arena_willing = "true", she obtains a randomized lv and a set of combat (like sword attack even if she doesn't have one) and magic skills, in addition of what she have in her .xml
This really shouldn't happen, I believe.

It's an Alpha thing. Better sorting costs a lot of development time.

Basically arena_willing girls, once joined the arena should not be touched until beta release.
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 06:36:52 AM
It's an Alpha thing. Better sorting costs a lot of development time.

Basically arena_willing girls, once joined the arena should not be touched until beta release.
Oh it's ok, I just tried and talked her into joining normally through GMs and she doesn't have them that way (she's back to .xml values). So she have this random stuff only in matches and when I obtained her through my lame testing code  :) .


---------
A designg question, should girlpack girls have some starting exp? Right now, all my girls have exp = "0", because I don't know much abou it.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 06:43:11 AM
Oh it's ok, I just tried and talked her into joining normally through GMs and she doesn't have them that way (she's back to .xml values). So she have this random stuff only in matches and when I obtained her through my lame testing code  :) .

Arena willing means that she might join Arena, not that she actually will. If she does join the Arena at game start, she will be excluded from girlsmeets. Code that governs that is still young, it'll get better with time.

She will never have "two sets" of stats as you suggest. The bump in stats happens when she joins the arena at game start.

You should never put arena_willing = True and script a meeting outside of girlsmeets (like an event for example) for the same girl at this stage of development.

---------
A designg question, should girlpack girls have some starting exp? Right now, all my girls have exp = "0", because I don't know much abou it.

Nope, better not. Not before the proper game logic to account for issues like that.
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 06:57:53 AM
Arena willing means that she might join Arena, not that she actually will. If she does join the Arena at game start, she will be excluded from girlsmeets. Code that governs that is still young, it'll get better with time.

She will never have "two sets" of stats as you suggest. The bump in stats happens when she joins the arena at game start.

You should never put arena_willing = True and script a meeting outside of girlsmeets (like an event for example) for the same girl at this stage of development.
Ok... I only briefly looked at the code at thought that she is excluded from girlmeets when she is waiting for a match, not that it's for all eternity, and didn't check the arena rosters after every start, so it could easily be just like you said it its.
But that means there is no point of having arena willing girl, if she just becomes a NPC fighter with 99% unnused pics atm  :)
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 07:04:21 AM
But that means there is no point of having arena willing girl, if she just becomes a NPC fighter with 99% unnused pics atm  :)

She might participate in dogfights or even challenge the match fighter if she has a permit, I don't really remember how that's coded. Arena is a complicate feature with a lot of code involved in it.

It depends on what you like I guess, I usually have couple of unique girls in the Arena for fun.
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 07:42:43 AM
She might participate in dogfights or even challenge the match fighter if she has a permit, I don't really remember how that's coded. Arena is a complicate feature with a lot of code involved in it.

It depends on what you like I guess, I usually have couple of unique girls in the Arena for fun.
No problem with someone wanting to do that, he can change it in .xml if he want after all, I'm just commenting the fact that it currently take much less time to create a NPC arena fighter, so it's not really worth intending/distributing them as so. I've made a whole set of MC sprites in same time I need for one girl.  :)


I think arena unique fighters and npc teams should take advantage of the percentage system, increase their stats accordingly (best with the ability to preset some multipliers like 1,2x overall arena level) but preserve ratios and their skills and items.

Title: Re: General Discussion
Post by: Xela on March 25, 2014, 07:46:59 AM
I think arena unique fighters and npc teams should take advantage of the percentage system, increase their stats accordingly (best with the ability to preset some multipliers like 1,2x overall arena level) but preserve ratios and their skills and items.

In the future, world will be simulated. Meaning that there will be a lot of girls and other character in the game that will start with high stats if permitted. Also stats/exp will grow for everybody with each day unless such an option is turned off in xml.

It's not difficult to code in, just balancing of the world itself is complex and such system right now would be very confusing.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 08:58:30 AM
Sf Updated again! :)

- Coded in significant advantages for Casanova Class:
* All requirements for girlsmeets are lower on high charisma
* Possible bonuses to disposition on high charisma
* High sex/charisma is now very advantageous during most interaction (sex only where applicable obviously)
- Amount disposition increased will now be shown during girlsmeets
- Fixed sorting bug CW found in girlsmeets
- Improved SlideShow code
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 09:15:27 AM
- Coded in significant advantages for Casanova Class:
* All requirements for girlsmeets are lower on high charisma
* Possible bonuses to disposition on high charisma
Whoa! I just wanted to suggest that  :)
I'm playing the game for a while now and taking notes what to improve - it's a lot but almost everything is just small cosmetic stuff.
Except one:


We need a BIG RED SIGN when MC have low health and no place to sleep. I managed to die two times from it so far... no fun.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 09:31:45 AM
We need a BIG RED SIGN when MC have low health and no place to sleep. I managed to die two times from it so far... no fun.

Read the nd reports...  ::)
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 09:47:33 AM
Read the nd reports...  ::)
It's just telling me that MC is loosing health (happens every day without brothel) not that he is about to die next day as you don't see there how much hp is left. Something like that should be on main screen, definitely more useful then dogfights reports.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 09:50:56 AM
It's just telling me that MC is loosing health (happens every day without brothel) not that he is about to die next day. Something like that should be on main screen, definitely more useful then dogfights reports.

We'll look into a better report system post-@. I've just uploaded a quickfix to the SF. Chances of bonuses for high charisma/sex were too low.
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 09:57:33 AM
We'll look into a better report system post-@. I've just uploaded a quickfix to the SF. Chances of bonuses for high charisma/sex were too low.
Ok. It's not an issue when I'm expecting that, but it may just confuse new players. Most people would probably buy a brother right away, but I take an approach: No girls=No need for brother=spend days in GM to get girls first, and then I just suddenly die because I forget that I was injured in arena fight and my formula: starting hp 100=-2 hp each day=no worries for 49 days doesn't apply anymore  :)
Ok, it's post-@ then. Report like that girl is about to leave and such may also be useful there. Or maybe we should just think about a whole new ND screen, current one is getting really unfriendly as your business grow in size.
Title: Re: General Discussion
Post by: DarkTl on March 25, 2014, 10:15:59 AM
In the future MC probably should gradually lose things like charisma and reputation as well while living on streets... After we will add houses.
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 10:44:59 AM
How can I kick a girl out from a room in brothel?
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 10:50:09 AM
How can I kick a girl out from a room in brothel?

You can't... I never felt that was required.

Game is playable, it's not easy or fast but it's playable.

I think we should add super simple jobs for MC so he could mine money/stats in exchange for AP? Near the Arena for Warrior type and in SM for Casanova...
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 11:04:04 AM
You can't... I never felt that was required.
So I'm first one to place a stripper girl in a brothel, forgetting that she can't do her job until fourth brothel? (and service girls until third one) 
At least she can fight in arena  :)
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 11:17:49 AM
So I'm first one to place a stripper girl in a brothel, forgetting that she can't do her job until fourth brothel? (and service girls until third one) 
At least she can fight in arena  :)

You can fire or sell her. I'll add an option to remove girl from the brothel as well than.

New list *(this sh!t never ends...):

- Exclude unused stats from hero powerups on nd
- Add simple jobs in the city
- Add girls switching classes
- Add an option to send the girl "to the streets" in brothel management
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 11:28:46 AM
Thanks you!


I noticed some wrong tags used in GMs so I try to fix that.
Also the movement between beach locations is unintuitive and escaping from beach cafe is too much clicking so I look into that too.
Title: Re: General Discussion
Post by: DarkTl on March 25, 2014, 11:49:29 AM
- Add simple jobs in the city
- Add girls switching classes
1) Why bother? They will be too simple for beta/release anyway, and you can earn gold by scouring locations even now.
2) With high enough disposition, I hope?
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 12:13:29 PM
1) Why bother? They will be too simple for beta/release anyway, and you can earn gold by scouring locations even now.

It's not too difficult to do.

2) With high enough disposition, I hope?

Yeap, not required for slaves and girls without battle pics cannot become warriors (slaves obviously can't be default).
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 01:21:27 PM
Another list crossed off:

- Alignment and Fatigue excluded as bonuses on hero ND training on left over AP
- Rest is more (a lot more) effective
- It's possible to ask girls to switch their proffession (Other under interactions)
- Two super simple jobs in the city (wage depends on relevant stats, is never too high and is level dependent)
- Now possible to remove a girl from working in a brothel
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 01:38:24 PM
It's a lot easier with MC jobs... Are we ready for the release?
Title: Re: General Discussion
Post by: DarkTl on March 25, 2014, 01:47:36 PM
If you figured how to distribute the game, then yes. Hopefully, release = more testers = less bugs.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 01:55:04 PM
If you figured how to distribute the game, then yes. Hopefully, release = more testers = less bugs.

Mega for now, maybe someone will do the torrent (I can't).

I'll wait a bit for CW and better girlsmeets tags and keep testing the game, already found a bug btw. And do small improvements here and there...
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 02:09:57 PM
sorry, got stuck on something stupid again: How to turn this button image by 90°?


Code: [Select]
    $img = im.Scale("content/gfx/interface/buttons/blue_arrow.png", 80, 80)
    imagebutton:
        align (0.99, 0.5)
        idle (img)
        hover (im.MatrixColor(img, im.matrix.brightness(0.15)))
        action [Hide("pyt_city_beach_cafe_main"), Jump("city_beach_left")]   

but I'm almost ready, just few minutes
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 02:30:22 PM
sorry, got stuck on something stupid again: How to turn this button image by 90°?
Code: [Select]
    $img = im.Scale("content/gfx/interface/buttons/blue_arrow.png", 80, 80)
    imagebutton:
        align (0.99, 0.5)
        idle (img)
        hover (im.MatrixColor(img, im.matrix.brightness(0.15)))
        action [Hide("pyt_city_beach_cafe_main"), Jump("city_beach_left")]   

That's not possible to do easily under this circumstances.

Use:
Code: [Select]
    $img = im.Scale(im.Flip("content/gfx/interface/buttons/blue_arrow_up.png", vertical=True), 80, 80)
    imagebutton:
        align (0.99, 0.5)
        idle (img)
        hover (im.MatrixColor(img, im.matrix.brightness(0.15)))
        action [Hide("pyt_city_beach_cafe_main"), Jump("city_beach_left")]   

It should work. We're not in any rush btw, I still have a lot of work to do just preparing the release...

Previously it was not possible to jump from girlsmeets related screen to screen freely. Now it should be... if music handling is taken into consideration.
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 03:02:46 PM
pushed:
 - tags for gm adjusted a bit
- arrow buttons for beach
- one MC sprite was lacking pics



----------
Unless I break something with this, I should be ready.
I actually need a break for few days anyway
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 03:07:54 PM
pushed:
 - tags for gm adjusted a bit
- arrow buttons for beach
- one MC sprite was lacking pics



----------
Unless I break something with this, I should be ready.
I actually need a break for few days anyway

Kewl, I'll test before releasing.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 03:26:02 PM
@ CW:

Everything looks great, I've also threw in a couple of last minutes improvements an icon.

Is there anything I should know about your packs?
Title: Re: General Discussion
Post by: Armegetton on March 25, 2014, 03:49:48 PM
glanced at some of the changes and fixed some coding and writing in the girlinteractions file. Did a small push.

Also, would it be terribly difficult to add a button on the start screen that switches between dev mode and 'normal' mode?

Or maybe if you want it hidden, if we hold Ctr while clicking on Start Game or something?

or am I wrong with assuming this is possible?

haven't been very productive lately. Next week I'm on leave so maybe I can get something done then.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 04:01:39 PM
glanced at some of the changes and fixed some coding and writing in the girlinteractions file. Did a small push.

I'll take a look and add to the A release as well.

Also, would it be terribly difficult to add a button on the start screen that switches between dev mode and 'normal' mode?

Or maybe if you want it hidden, if we hold Ctr while clicking on Start Game or something?

or am I wrong with assuming this is possible?

I'll look into it after the A release.

** Great catch on Prostitute typo!
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 04:20:27 PM
Is there anything I should know about your packs?
they're alpha like everything else  :) I surely update them many times in the future, but now they should work. (they at least don't crash the game on load. After that, who knows  :) ) .
Everything I have ready now (all is tagged) is in ChW_girls DB folder (link in txt in my pytfall DB) and I don't have any mirrors of it right now.
If you have any old ones from me, you should delete them completely, because until now, I had them in open DB folder and I was throwing files in an out on a whim, without versioning or notes, so I can't tell what changed and what is untouched.
There are few items, two skills and one scene in, all with made-up numbers without balancing   :)
Same for girl stats - I absolutely don't understand how those are calculated, girls always ended with totally different numbers then I thought they would have, so I gave up until someone explain it to me  :(
Airi from queen's blade could be a little confusing, because DarkTl also have her (he have a whole series-pack) under same id.
 
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 04:30:53 PM
Stats should be percentages you specify in xml between minimum and maximum. Traits are applied separately.

I've downloaded your packs right after you've restored your link file to dropbox. I found a couple new script folders, old script folder got a new resource folder inside it. I've updated it as well.

Did you change anything else since then? Like data.xml files (Other than mismatched id - folder, they were with Capital letters in the data.xml files and I've changed that myself).

I need to know if it's a better bet to re-download the whole thing, just download the data.xml files or just me updating the script folders is enough of an update from two days ago?
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 04:40:47 PM
I'll look into DB history
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 04:43:36 PM
Ok, I'll look into DB history...

Thanks, I was kinda hoping you just remembered :)
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 05:04:46 PM
Ok, looks that I uploaded that file after all that image changes, so it's only a little:
- for safety, whole NGE/Ayanami_Rei folder and Queen's Blade/Airi folder (only if you want those, of couse)
- all data.xml
- script folders in SM, NGE, QB and KanColle
...
But it's hard to be 100% sure, sorry :( But if the tags.json files match, then it should be fine.


 
Quote
Stats should be percentages you specify in xml between minimum and maximum. Traits are applied separately.

Then I'm doing something wrong?
I have a "dummy" girl with no traits at all.
in her data.xml I write:
 charisma="50"
And in game, she have
Charisma 60/60
...
?
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 05:08:12 PM
Then I'm doing something wrong?
I have a "dummy" girl with no traits at all.
in her data.xml I write:
 charisma="50"
And in game, she have
Charisma 60/60
...
?

Hah? Maybe I left old normalization code somewhere... I'll take a look.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 05:49:29 PM
Damn... I've messed up a simple percentage formula and it took me 40 minutes to figure that out :(

Going to push new updates right now.
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 06:03:31 PM
Damn... I've messed up a simple percentage formula and it took me 40 minutes to figure that out :(

Going to push new updates right now.
Great, the numbers are making much more sense now! Thanks!
I stat updating the .xmls right away.
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 06:15:02 PM
Great, the numbers are making much more sense now! Thanks!
I stat updating the .xmls right away.

Oki, Once that's done, I'll see if I can make a build and upload it to mega. If that can be done today, I'll just post it without any text and add the explanation tomorrow.
Title: Re: General Discussion
Post by: CherryWood on March 25, 2014, 07:34:06 PM
It is now.  (sry for waiting)
Title: Re: General Discussion
Post by: Xela on March 25, 2014, 07:42:59 PM
It is now.  (sry for waiting)

Oki, I am half asleep already so the @ will have to wait till tomorrow.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2014, 12:39:48 AM

Airi from queen's blade could be a little confusing, because DarkTl also have her (he have a whole series-pack) under same id.
We should merge her packs then after the alpha.
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 04:15:52 AM
Ok... Everything seems to be working, I'll download CW's new data files and start putting together a build. Most preparations for that were finished yesterday,
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 05:30:41 AM
Keep knocking down some last small errors, Dark removed battle_skill field from most if rg packs and angel was named xp_tan in the datafile. I think this is it. Going to get CWs new xml and start with the build.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2014, 05:38:42 AM
You said we won't use battle_skill field for now anyway.
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 05:42:33 AM
You said we won't use battle_skill field for now anyway.

Yeah, I know but game expected it, it's not a problem, one line of code had to be changed but that line crashed the game.

Neither you nor CW test your datafiles, you really should, especially for the Alpha release... well, more work for me :(
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 05:59:56 AM
*** I think everything is ready, just need to make a call on which packs to include with the games and which to post as separate downloads.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2014, 06:01:15 AM
I have another big project. In order to create high quality random packs for beta (as well as find more decent mobs and backgrounds) I'm browsing though all games galleries at g.e-hentai. It's 368 pages, 25 galleries per page and who knows how many pics per gallery.
So yeah, I didn't have time to test the newest data files, but you might as well remove that strange requirement from the code.
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 06:14:57 AM
but you might as well remove that strange requirement from the code.

I already have, it wasn't a requirement, it was an expectation, there is a difference :)
Title: Re: General Discussion
Post by: CherryWood on March 26, 2014, 06:25:51 AM
I believe that naruto + few rgirls (so the game doesnt crash :-(  ) was a good idea.  
 
 
 what this "alpha" actually means for us? can I do stuff just like before?
Title: Re: General Discussion
Post by: DarkTl on March 26, 2014, 06:36:45 AM
I'd say it's a type of advertising to draw more people to the game and get more help. Very early and unfinished, but playable enough.
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 06:38:51 AM
what this "alpha" actually means for us? can I do stuff just like before?

More people testing the game, maybe some bad tags/code will be exposed.

But yeah, I don't expect anything will be different, not before the training/tags review.
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 06:39:36 AM
I'd say it's a type of advertising to draw more people to the game and get more help. Very early and unfinished, but playable enough.

Yeah... we could really do with a couple of decent writers that would be willing to really get into development...
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 06:46:45 AM
I believe that naruto + few rgirls (so the game doesnt crash :-(  ) was a good idea.   

My plan:

Naruto
One Piece
KanColle
Some Bleach (Crazy packs to serve as an example).

- All random girls

What do you guys think?
Title: Re: General Discussion
Post by: DarkTl on March 26, 2014, 07:09:47 AM
Touhou should be very popular, but it's also one of my biggest packs.
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 07:18:32 AM
Touhou should be very popular, but it's also one of my biggest packs.

I'll report the size of the release soon, still killing bugs with datafiles and scripts in the packs.
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 08:09:27 AM
Looks like the size is going to be about 2.6 GB...
Title: Re: General Discussion
Post by: CherryWood on March 26, 2014, 08:22:03 AM
I'll report the size of the release soon, still killing bugs with datafiles and scripts in the packs.

 There was still something wrong?
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 08:31:20 AM

 There was still something wrong?

Yeah, other than Darks faulty random girl, all of your packs had mismatched ids vs folder names and an error in the path to explotion for the plain animation. I remoeved that pack from the build for now, that animation could be generally improved.

Now TouHou thing is in the build. I am wrapping up last loose ends and about to build the game. After that I'll have to once again test it because developer have been reporting errors during the building process in latest Ren'Py versions. If that's not the case, I'll start uploading it to Mega.
Title: Re: General Discussion
Post by: CherryWood on March 26, 2014, 08:51:23 AM
that's strange, I was playing alot these days and didn't noticed any errors with the girls... other that they hate me because I'm broke and don't pay their wages :-)  And animation was also working fine... It must be because of the old files, or I just don't know... I was so sure that I tested it all...
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 09:06:57 AM
Well, they are all broken now, I've fixed Dark's file since it's in our shared but I don't think I have the permission to edit yours.


3rd time that I have to rebuild the damn thing, I have 0 experience in creating actual builds in Ren'Py :(
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 09:59:25 AM
Fourth time is the charm :D

First time failed half-way because of the size, so I removed the packs.
Second time = Icons in the wrong folder (game instead of base).
Third time = Figured out that window icons and file icons are not the same thing.
Fourth time = Everything seems to be working just file, out icon for now will be a rendered P as in the main screen with background cleaned up a little bit. Doesn't look too shitty.

Going to look into putting the whole thing into a password protected rar archive and upload it to mega now...
Title: Re: General Discussion
Post by: CherryWood on March 26, 2014, 12:01:12 PM
Yeah, other than Darks faulty random girl, all of your packs had mismatched ids vs folder names and an error in the path to explotion for the plain animation.
I found a source of this renaming bug - Dropbox doesn't synchronize changes in letter sizes  :o So while I have "Aino_Minako" folder in my main computer, It downloads "aino_minako" folder name in my second computer and tells me that everything if fine!  >:(
...It seems I have to empty my dropbox and redownload everything into it again, because who can knows how many of this can be there... and there's no way to check it just from 1 computer as it seems



seriously...  ::)   makes me look like an idiot


But the Shoukaku bug was there, I forget to upload her changes  :( 
Title: Re: General Discussion
Post by: DarkTl on March 26, 2014, 12:07:19 PM
A common problem among various software.
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 12:13:45 PM
Shitty mega is failing on the file of this size, doesn't seem like it can be uploaded. I'll either have to find a different host or create a split archive...
Title: Released!
Post by: Xela on March 26, 2014, 02:40:16 PM
 ::)
Title: Re: General Discussion
Post by: CherryWood on March 26, 2014, 04:09:16 PM
I tried to put rGirls from alpha to repo version, and it gives me this:
Code: [Select]
While running game code:
  File "game/script.rpy", line 85, in script
  File "game/script.rpy", line 193, in python
  File "game/library/classes - characters.rpy", line 3675, in python
  File "game/library/classes - characters.rpy", line 2039, in python
AttributeError: 'battle_skill' is neither a gamestat nor an attribute of rGirl.

Is there a fix?

----------------------------
Also:
Quote
About 5 - 6 more GB of native packs will be available soon.

Do you want to have separate modder pages, like there are for WM to upload and update girlpack/event stuff, or keep it hidden and upload it only once in a while in main posts (like SM3) ?
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 04:12:44 PM
I tried to put rGirls from alpha to repo version, and it gives me this:
Code: [Select]
While running game code:
  File "game/script.rpy", line 85, in script
  File "game/script.rpy", line 193, in python
  File "game/library/classes - characters.rpy", line 3675, in python
  File "game/library/classes - characters.rpy", line 2039, in python
AttributeError: 'battle_skill' is neither a gamestat nor an attribute of rGirl.

Is there a fix?

Sorry, I've made a number of last minute changes to code and haven't pushed that yet. Will do so momentary.

----------------------------
Also:

Do you want to have separate modder pages, like there are for WM to upload and update girlpack/event stuff, or keep it hidden and upload it only once in a while in main posts (like SM3) ?

Yeap, might be useful. I am also thinking about a single thread where one modder is allowed to make only one post in a generalized format.


Edit:

Oki, just pushed.
Title: Re: General Discussion
Post by: CherryWood on March 26, 2014, 05:02:59 PM
Oki, just pushed.
Thanks!
Yeap, might be useful. I am also thinking about a single thread where one modder is allowed to make only one post in a generalized format.
Maybe a link in main thread that goes to simple txt file shared in DB where the actual updated links are?
[size=78%]https://www.dropbox.com/s/hrv92wy1vhxnchj/dummy%20file.txt (https://www.dropbox.com/s/hrv92wy1vhxnchj/dummy%20file.txt)[/size]
(just trying to find a way that allows me to keep stuff updated without bothering you with it each time)
Title: Re: General Discussion
Post by: Xela on March 26, 2014, 05:30:47 PM
Thanks!Maybe a link in main thread that goes to simple txt file shared in DB where the actual updated links are?
[size=78%]https://www.dropbox.com/s/hrv92wy1vhxnchj/dummy%20file.txt (https://www.dropbox.com/s/hrv92wy1vhxnchj/dummy%20file.txt)[/size]
(just trying to find a way that allows me to keep stuff updated without bothering you with it each time)

Feel free to start a new thread and maintain it as you like! I'll sticky it.
Title: Re: General Discussion
Post by: CherryWood on March 26, 2014, 07:09:04 PM
Feel free to start a new thread and maintain it as you like! I'll sticky it.
ok... but I wait until I actually have something worth it.


Right now I only have Shoukaku (Kantai Collection) updated, so you can add this link to her:
https://mega.co.nz/#!CdADVJRT!sejpqltsiHqnF3SsC8VnthyaHVA_0PzFQMMCa7OxGng (https://mega.co.nz/#!CdADVJRT!sejpqltsiHqnF3SsC8VnthyaHVA_0PzFQMMCa7OxGng)

[/size]But I noticed that you used my Airi inside DarkTl's pack instead of his and linked it like that - but I never intended to do so! - I would never touch anyone's else work like that... (*feels bad*)
But most importantly, now there are two Airi data entries inside... you should just keep link to his pack (it's already there), and I explain my alternative somewhere later...[/font]

Title: Re: General Discussion
Post by: Xela on March 26, 2014, 07:29:40 PM
Right now I only have Shoukaku (Kantai Collection) updated, so you can add this link to her:
https://mega.co.nz/#!CdADVJRT!sejpqltsiHqnF3SsC8VnthyaHVA_0PzFQMMCa7OxGng (https://mega.co.nz/#!CdADVJRT!sejpqltsiHqnF3SsC8VnthyaHVA_0PzFQMMCa7OxGng)

Is this the one with the bomber plain? You can post this yourself to the release thread if you like.


[/size]But I noticed that you used my Airi inside DarkTl's pack instead of his and linked it like that - but I never intended to do so! - I would never touch anyone's else work like that... (*feels bad*)
But most importantly, now there are two Airi data entries inside... you should just keep link to his pack (it's already there), and I explain my alternative somewhere later...[/font]

You didn't touch anything, I did. It's not a good idea to have mupliple versions of the same girl at @ release day, will confuse the hell out of people. She is commented out in data.xml in case you haven't noticed so she's loaded from your file. Also, generally, your packs integrate into the game better than Darks (which is understandable since he's tagging them 4 times faster than you).

You can figure this stuff out after your packs threads are setup.

* I've removed his QB link cause it has an older datafile than my upload. Was never my intent to post both. Also there are a bunch of packs that Dark hasn't uploaded to Mega it would seem... I don't have any energy left to figure out what's what tonight. I also have no clue as to why there are two SOA packs, they are not the same link/size so it's not a clone.
Title: Re: General Discussion
Post by: CherryWood on March 26, 2014, 07:57:10 PM
I didn't notice the commenting out, sorry. It's just feel "not right" because I posted her second (I actually didn't notice there was a QB pack somehow, but I was not planning to do the other girls anyway, I just wanted Airi for some event) and I didn't even ask about it.




Yes, she is that girl with Air Strike attack. KanColle is all about girls that are personification of real ships and Shoukaku was an aircraft carrier, so I thought it would be fun to add some attacking RC models in. It took me a long time to figure out that "fly out" part of animation that you also helped me with... sorry to hear that you don't like it  :( 


(Actually, a "Real" skill should be launching planes that would be attacking targets each turn independently, which in game terms actually means it would just be a different look of poison attack, but current BE is not prepared for that)
(her normal attack is using bow to shoot arrows with a plane attached instead of arrow head, which can be interpreted like "kamikaze" attack - these girls are fun!)
Title: Re: General Discussion
Post by: DarkTl on March 27, 2014, 01:09:37 AM
* I've removed his QB link cause it has an older datafile than my upload. Was never my intent to post both. Also there are a bunch of packs that Dark hasn't uploaded to Mega it would seem... I don't have any energy left to figure out what's what tonight. I also have no clue as to why there are two SOA packs, they are not the same link/size so it's not a clone.
I use db mostly. All existing packs are there (even not tagged), and new data files for them are in db too, in a separate folder.
I'll deal with double SAO and other mega stuff when I get home. Providing that mega will be in the mood for uploading.
Title: Re: General Discussion
Post by: Xela on March 27, 2014, 02:18:56 AM
I use db mostly. All existing packs are there (even not tagged), and new data files for them are in db too, in a separate folder.
I'll deal with double SAO and other mega stuff when I get home. Providing that mega will be in the mood for uploading.

Oki, can you test that everything works as well? Jaeke already got an error with one of the packs, I have no idea what the circumstances of that are, just that Timid trait was used somewhere that doesn't exist in the current game version.
Title: Re: General Discussion
Post by: DarkTl on March 27, 2014, 02:34:58 AM
Ah yes, found it (http://www.pinkpetal.org/index.php?topic=1888.msg25084#msg25084). We decided to rename Edgy to Timid back then. Aaaand then forgot about it  :D
Well, we have to either leave Edgy for now or change it to Timid everywhere.
Title: Re: General Discussion
Post by: Jaeke on March 27, 2014, 05:19:38 AM
Game size
Has anyone considered lowering game file size by batch processing these ~500kb jpegs into under 100 kb jpegs? I just set some to 20% quality in photoshop and could barely notice a difference, considering most of these images are not displayed at full size in game, could be worth looking into. Can always have low quality and full quality packs up for d/l. 100mb pack down to 20mb, and if the girls arent your style, try other packs. Find one you really like, get full quality.

Info for writers
Do we have a thread somewhere with information and resources for writers? You know like laws, races(and all their info), faction/country/race relations, religions and gods, current affairs/wars, people/groups in power/of high importance, important history, farmboy to hero prophecies?
Are there male slaves? Child/elderly ones? What does a slave generally do? How does one become a slave/gain their freedom? Are they born into it?
What are the laws on treatment of slaves? What if they die in your care/you kill them intentionally? What if someone else kills one of yours/you kill one of theirs?
Can a non-slave marry a slave? Multiple people? Can slaves marry?
Are all the humanoid races compatible for reproduction?
What about daily life of the super poor, low income, high income, super wealthy, nobles. What about super poor nobles? Does everyone speak the same language? What's the weapon/medicine/science level? Gunpowder a no? Electricity? Steampunk not allowed?? Any magic that is a no-no? Time travel not allowed?
What does the surrounding area/map look like?
Mythological/fantastic/sci-fi creatures? Dragons? Aliens? Orcs(considering I have fought them in the arena...)? Mermaids? Robots/cyborgs/androids?

I believe I read somewhere that Pytfall was a trade port/city/hub. What's the relation with crossgate/other games towns/realms?

Sorry if this is already documented somewhere but you should make it super visible (and inspiring) to attract writers.

Might be nice to have an avoidable short(and most importantly interesting) intro of the city at the beginning of the game, or in the game somewhere.
Title: Re: General Discussion
Post by: CherryWood on March 27, 2014, 05:46:18 AM
Lol, if we could write all of this, we wouldn't need a writer anymore :-P    
 
 and the packs are already optimised, the original size was much larger than this.
  
 I'm personaly against reducing quality (I actually increased if in between the first (NGE) and newer packs, because of the artifacts) but It may be worth making a "lite" pack versions with just few best pics and without all these categories that are not used right now (bdsm...)
Title: Re: General Discussion
Post by: Jaeke on March 27, 2014, 06:28:45 AM
Yea, making some packs that cut out the things not used would work, can always make character update packs later if you add them.
I just think the size of the game will put many people off.
And I don't mean forcing lower quality packs, I mean for them to be an option for those looking into the game but have problems with the size.
Title: Re: General Discussion
Post by: Xela on March 27, 2014, 06:40:19 AM
World setting is not really set in stone, we've agreed to keep as many avenues open as we possibly can.

When I made packs for WM, I usually had a compact and a large versions. It's not a bad idea as only slide show in the gallery really uses high quality pics.

That said... I can usually notice difference between low/high quality pic in the game, but it does byte.
Title: Re: General Discussion
Post by: NEXEON on March 27, 2014, 08:20:16 AM
where can i find configuration file which contain player gold ?
in the current alpha
thankx
Title: Re: General Discussion
Post by: Xela on March 27, 2014, 08:52:34 AM
where can i find configuration file which contain player gold ?
in the current alpha
thankx

There is none. You can only edit that in a script file.
Title: Re: General Discussion
Post by: DarkTl on March 27, 2014, 10:25:45 AM
Xela, use db links for my packs for now, I'm uploading packs to mega currently, so I removed all old ones.
Title: Re: General Discussion
Post by: Xela on March 27, 2014, 10:37:53 AM
Xela, use db links for my packs for now, I'm uploading packs to mega currently, so I removed all old ones.

You should create your own thread and maintain it or we'll have no end to inconsistencies. I can delete the packs posted in Alpha release thread once you got that setup.
Title: Re: General Discussion
Post by: DarkTl on March 27, 2014, 10:43:52 AM
Which of my packs are included in the release?
Title: Re: General Discussion
Post by: Xela on March 27, 2014, 10:50:33 AM
Which of my packs are included in the release?

Naruto/TouHou/One Piece and all Random Packs.

Make sure you don't have faulty traits (test with the Alpha if you're releasing for it). Current version was updated with tiny bit of code to test for traits differently.
Title: Re: General Discussion
Post by: Marquis on March 27, 2014, 10:54:00 AM

Hopefully this is where you want feedback on the Alpha. If not, you might want to start a thread.


Overall impression is that this is great for an Alpha.
I was able to download, install and play without any hiccups.
Got to turn 85 without any crashes.
It looks great and the gameplay is mostly intuitive.
Music and sound fx are great. Pix are high quality and a nice mix for an alpha. Text was amusing.


Alpha suggestion:
It would be helpful to have a txt file with any features that aren't yet working.
For example, I 'looked around' in many of the areas and only got 'bupkis' type responses. I wasn't sure if I was just unlucky or if some areas had no 'look around' events.


Main menu
You should have a 'continue' button and/or 'load save' button in addition or instead of 'load QS'.
The QS is not always the most recent save.


Keyboard shortcuts
Are there any? I can understand if they aren't yet implemented, but having to hit the upper right hand corner 'x' repeatedly is a pain.


Main Character
It seems I can only be male at start, despite having female avatars. Female armor is therefore unusable by MC.


Battle
When choosing dogfights, having the potential opponents sorted by reputation would be useful.
Is 'bestiary' enabled yet? All I see are silhouettes with "?". Another case where I wasn't sure if it wasn't implemented or if I just wasn't high enough reputation yet.
Dogfight and Survival battles work fine.


Meet girls
Are interactions persistent? e.g. If I give a gift or compliment that works, will it carryover to the next time I meet the same girl?
Never got the same girl twice to check. The named beggar in the Park seemed not to keep any positives from the three times I bought her food.


Starting gold
10k may be okay for when the game is balanced, but it's too low to test a wide variety of features. Which .rpy file has that?
(Yes, I know editing .rpy files with Editra or whatever may break the game.)


Income tax
This was my biggest gripe on balance. The jump from 0 to 10% when gross income hits 5,000 is fun-breaking.
I was grinding up income from my two girls and the MC either working or arena fighting, but when I hit 5,000/week gross, my funds started diving and I stopped playing.
Income tax should be on net income, not gross. Also, you might want to check the income calculator- I started exceeding 7,000 and have no idea how.
The two girls were averaging about 40gold per AP which meant about 1100/week gross. The MC worked at the arena for about 1,000/week gross,
yet the last weekly income (days 78-84) was >7,000. Is the income calculated actually Year-to-date?


Cheers.
Title: Re: General Discussion
Post by: DarkTl on March 27, 2014, 10:55:15 AM
Make sure you don't have faulty traits (test with the Alpha if you're releasing for it). Current version was updated with tiny bit of code to test for traits differently.
I won't touch data files for now. During the code review we will change Edgy to Timid simultaneously everywhere.

I created my own thread for packs, using db links there for now. This is ridiculous, I pretty much cannot upload to mega files more than 100 MB, it keeps retrying after 60-70%.
Title: Re: General Discussion
Post by: Xela on March 27, 2014, 12:26:46 PM
Hopefully this is where you want feedback on the Alpha. If not, you might want to start a thread.


Overall impression is that this is great for an Alpha.
I was able to download, install and play without any hiccups.
Got to turn 85 without any crashes.
It looks great and the gameplay is mostly intuitive.
Music and sound fx are great. Pix are high quality and a nice mix for an alpha. Text was amusing.

Thanks for the feedback, here will be fine.

Alpha suggestion:
It would be helpful to have a txt file with any features that aren't yet working.
For example, I 'looked around' in many of the areas and only got 'bupkis' type responses. I wasn't sure if I was just unlucky or if some areas had no 'look around' events.

Might be a good idea but documenting everything will take a long while, events are very few so documenting those shouldn't be very hard.

Right now you an find a beggar in the park, mage girl near the tower, two leprechauns (forest/park), randomly shown pics in the beach/beach right and randomly find money/items everywhere. Witch/leprechauns will teach spells and some NPCs can train you. Mage girl can adjust alignment. There is a minor event introducing a team near the arena.

Main menu
You should have a 'continue' button and/or 'load save' button in addition or instead of 'load QS'.
The QS is not always the most recent save.

It will load the save made with QS button. Not the latest save made. That way of saving is currently the most reliable.

Keyboard shortcuts
Are there any? I can understand if they aren't yet implemented, but having to hit the upper right hand corner 'x' repeatedly is a pain.

Yeah, something like that was already requested on another forum along with some other good ideas for gui improvements. We'll work on that.

Main Character
It seems I can only be male at start, despite having female avatars. Female armor is therefore unusable by MC.

There is one avatar but according to CW he only looks like a girl. It's not possible to start with a female MC, that would also require several versions of most texts and events, we cannot afford that at the current development team size. I warned him it will be a cause for confusion.

Battle
When choosing dogfights, having the potential opponents sorted by reputation would be useful.
Is 'bestiary' enabled yet? All I see are silhouettes with "?". Another case where I wasn't sure if it wasn't implemented or if I just wasn't high enough reputation yet.
Dogfight and Survival battles work fine.

I'll look into the sorting, it's not difficult, I just never know what to sort by, arena reputation is not the best indicator here. But it was already planed.

Bestiary is incomplete as it lacks spells, attacks and alignments and there are no description, but once you defeat a mob once in the Survival, it will be unlocked and you can see it's relative stats and name at the very least.

Meet girls
Are interactions persistent? e.g. If I give a gift or compliment that works, will it carryover to the next time I meet the same girl?
Never got the same girl twice to check. The named beggar in the Park seemed not to keep any positives from the three times I bought her food.

Yes, it will. Same girl should stick around at the same location, even if she leaves it, you will see the girls you've already talked with at highest priority as the left girl on the screen when that screen is resolved by the code. You should have no trouble finding girls you already have any positive relationship with.

Beggar is not even an NPC, just a part of generic event. She will rob you blind if you respond with WTF. We'll improve upon that event.

Starting gold
10k may be okay for when the game is balanced, but it's too low to test a wide variety of features. Which .rpy file has that?
(Yes, I know editing .rpy files with Editra or whatever may break the game.)

pyt - classes - characters.rpy or something like that but if you don't know what you're doing I suggest to find script.rpy file, open it and find the end of label start code separator.

It should state:

Code: [Select]
    if config.developer:
        $ hero.gold = 100000
        $ hero.magic_skills ={"Windwhirl": 1, "Ice Arrow": 1, "Fire Arrow": 1, "Fire Ball Z": 1, "Divine Light": 1, "Geyser": 1, "Insatiable Spirit": 1, "Spring Thunder": 1, "Forced Dawn": 1, "Other Light": 1, "Wrath Of Nature": 1, "Clay Spikes": 1}
        show screen debugTools
    jump mainscreen
    return

You can safely modify it to:

Code: [Select]
    $ hero.gold = 100000

    if config.developer:
        $ hero.gold = 100000
        $ hero.magic_skills ={"Windwhirl": 1, "Ice Arrow": 1, "Fire Arrow": 1, "Fire Ball Z": 1, "Divine Light": 1, "Geyser": 1, "Insatiable Spirit": 1, "Spring Thunder": 1, "Forced Dawn": 1, "Other Light": 1, "Wrath Of Nature": 1, "Clay Spikes": 1}
        show screen debugTools
    jump mainscreen
    return

And you'll have 100000 gold at game start. Just make sure the indentation is right.


Income tax
This was my biggest gripe on balance. The jump from 0 to 10% when gross income hits 5,000 is fun-breaking.
I was grinding up income from my two girls and the MC either working or arena fighting, but when I hit 5,000/week gross, my funds started diving and I stopped playing.
Income tax should be on net income, not gross. Also, you might want to check the income calculator- I started exceeding 7,000 and have no idea how.
The two girls were averaging about 40gold per AP which meant about 1100/week gross. The MC worked at the arena for about 1,000/week gross,
yet the last weekly income (days 78-84) was >7,000. Is the income calculated actually Year-to-date?

You pay taxes off the property you own (buildings/slaves) and brothel income (only brothel income, arena/jobs are not included). I'll take a look at the formula just in case, but it passed mine last round of testing.

Since it's a very recently installed system, there might be bugs... income should be calculated over the period of day - 7 days... maybe there is a mistake somewhere.
Title: Re: General Discussion
Post by: Longherin on March 27, 2014, 12:47:45 PM
I second the notion of having a specific alpha release feedback thread. or third, or...


Anyways.


(Disclaimer: I'm not sure how much of the GUI is placeholder and how much is "intended", so...)
1. The town icons should be bigger, or somehow POP enough (or have just a square hit detection box). They're a little hard to see as they are now.


2. There should be an alternative to the X at the corner for returning to the previous page. Maybe the escape key? It feels like having to go to the corner to go back a window messes with the flow of the game.


3. The item window resizing with each option is, uh. A little irritating. Doubly so with the mouse-only browsing.
3a. The scroll bar. Good god the scroll bar.


...That's about all I've got. Haven't gone deep enough into the content rabbithole to say anything about that.

Title: Re: General Discussion
Post by: Xela on March 27, 2014, 01:00:07 PM
Alpha discussion:

http://www.pinkpetal.org/index.php?topic=3402.0
Title: Re: General Discussion
Post by: CherryWood on March 27, 2014, 04:22:45 PM
There is one avatar but according to CW he only looks like a girl. It's not possible to start with a female MC, that would also require several versions of most texts and events, we cannot afford that at the current development team size. I warned him it will be a cause for confusion.
...and he was in SM3 too  :(  Ok, I remove him and turn him into arena fighter instead.


But still, MC selection screen should have "sex: Male" field, because some of the other sprites may also look a bit girlish.
Also, because we started using hero portraits in the game, I think we should show a portrait and maybe even combat pic there too. I like when I know exactly what I get.

Title: Re: General Discussion
Post by: Xela on March 27, 2014, 05:34:10 PM
...and he was in SM3 too  :(  Ok, I remove him and turn him into arena fighter instead.


But still, MC selection screen should have "sex: Male" field, because some of the other sprites may also look a bit girlish.
Also, because we started using hero portraits in the game, I think we should show a portrait and maybe even combat pic there too. I like when I know exactly what I get.

Oki, just more stuff to take care of. I'll update the sf with two small bugfixes and switch myself off :D
Title: Re: General Discussion
Post by: DarkTl on March 28, 2014, 02:20:07 AM
Finally some luck with mega. Links updated.
Title: Re: General Discussion
Post by: CherryWood on March 28, 2014, 08:35:31 PM

@XelaI uploaded my packs to mega and created a thread too. Please remove NGE and Sailor Moon links from alpha thread.




Service girls are working now in Alpha (not yet in repo), thanks!





Title: Re: General Discussion
Post by: Xela on March 29, 2014, 05:48:50 AM
@XelaI uploaded my packs to mega and created a thread too. Please remove NGE and Sailor Moon links from alpha thread.

Service girls are working now in Alpha (not yet in repo), thanks!

Done.
Title: Re: General Discussion
Post by: CherryWood on March 29, 2014, 12:57:39 PM
Are we sure the Crazy Packs are working? I've never seen any Bleach girls in alpha from that Crazy Bleach pack and even if I enabled the console and tried to add them, their ID is not there. (If it's supposed to be the same, char["Orihime Inoue"])
Title: Re: General Discussion
Post by: Xela on March 29, 2014, 01:09:15 PM
Are we sure the Crazy Packs are working? I've never seen any Bleach girls in alpha from that Crazy Bleach pack and even if I enabled the console and tried to add them, their ID is not there. (If it's supposed to be the same, char["Orihime Inoue"])

They are working, there are quite a few new bugs have been reported, mostly minor, I'll fix what I can tomorrow. Noone has reported missing Crazy girls. They are not participating in girlsmeets but all go to the SM. Their files can be edited to send them to girlsmeets obviously but it's not done by the game.

And yeah, you're prolly misspelling her name, it works just like with pytfall girls.
Title: Re: General Discussion
Post by: CherryWood on March 29, 2014, 01:31:22 PM
sorry! They are here...


------------


Is there something you would like me to look into right now?
Title: Re: General Discussion
Post by: Xela on March 29, 2014, 02:19:51 PM
Is there something you would like me to look into right now?

I don't know... kinda taking a break myself, I'll have some bugs to fix tomorrow but overall Alpha didn't turn out too bad. Most issues were with Mega and interface (flashy/unintuitive at places). There were only two ruining bugs, both introduced after Jaekes testing spree. If you want to work on something, just pick whatever you enjoy most.
====

Otherwise, there are some concerns about game being sluggish, but most players do not share that. There is an obvious lack of documentation of the game and modding capabilities. There are some very good requests and suggestions...

Tomorrow I will take care of all reported bugs that I will be able to find or replicate. Than we need to decide what to do next, I figure options are:

- Keep hacking at Alpha until that feels like a game.
- Add some features that would be required anyway
- Continue developing the game towards new version that will include new features.
Title: Re: General Discussion
Post by: DarkTl on March 29, 2014, 03:15:46 PM
I'm surprised that no one mentioned difficult fights at arena yet, except Jaeke. I'm not sure if we should do something about it.
Title: Re: General Discussion
Post by: Xela on March 29, 2014, 03:31:35 PM
I'm surprised that no one mentioned difficult fights at arena yet, except Jaeke. I'm not sure if we should do something about it.

People have mentioned that, just not here... I think that there should be difficulty levels in the future.
Title: Re: General Discussion
Post by: Jaeke on March 30, 2014, 12:16:04 AM
I haven't actually been able to play due to some errors I haven't gotten around to figuring out yet.
I agree with most of the feedback I've read though. Mainly minor UI things, balance or stuff planned for the future.
 Good job on the Alpha I say.  ;D
Title: Re: General Discussion
Post by: Xela on March 30, 2014, 04:08:54 AM
I haven't actually been able to play due to some errors I haven't gotten around to figuring out yet.
I agree with most of the feedback I've read though. Mainly minor UI things, balance or stuff planned for the future.
 Good job on the Alpha I say.  ;D

Kewl :) Weird about the errors, I am planning to fix a whole bunch of bugs today but nothing that makes the game unplayable.
Title: Re: General Discussion
Post by: CherryWood on March 30, 2014, 05:17:11 AM
If I change the girlpacks mid-game, I start to get missing picture errors everywhere. Not in new game, so it seems that picture links are stored in save files. Is it possible to renew them somehow?
We had a rebuild button in the early version I believe.
Title: Re: General Discussion
Post by: BlackWolf Inc. on March 30, 2014, 05:33:27 AM
I'm not dead I swear ??? , Just that RL has had me running around like a damn headless chicken for the last few months hence why I haven't had the chance to sit and really write something decent. Not intentional at all though I swear
Title: Re: General Discussion
Post by: Xela on March 30, 2014, 05:51:13 AM
Ok... so I need to gather all reports from all forums into one and try to fix as many bugs as I can today. Otherwise, we still haven't decided on where to go from here.


Bugz:
- Girlsmeets
- Slipper/Cute trait is crashing the game
- RMB in the arena chainfights is crashing the game
- image cache is prolly too high
- Inventory makes items disappear and reappear again after one more of the same item is purchased (not able to replicate yet).
- Auto-Rest needs to be smarter about putting girls back to work
- Girls that player interacted with and had their fatigue changed because of that interaction never go back to work (no idea what this is about, it should never work this way)
- Weird report about stats freeze up at 0, I don't think this is the case.
- DS_Store thing <-- Killed off for loading girls, but it may happen in other places. Didn't know that Apple OS was so full of shit :(

Requests:
- Add next day button to the next day screen (fast skipping, usually to recover MCs health)
- Make sure RMB closes as many windows as possible, not just where there is a top stripe
- Revise the ledgers, include taxes in them
- Lower the transparrency on textbox. Sometimes it's difficult to see the text.
- Look into reporting capped stats
- Look into a general report of all important events
- Add hotkeys
- Difficulty settings
- Items description window should be improved upon
- SM shopping should be closed in normal ways (should be doable but I need to think of a good way on how)
- Improve GM screen, add AP and gold to it
- Add sorting to dogfights? (This is not exactly what I wanted to do with that)
Title: Re: General Discussion
Post by: Xela on March 30, 2014, 05:54:34 AM
If I change the girlpacks mid-game, I start to get missing picture errors everywhere. Not in new game, so it seems that picture links are stored in save files. Is it possible to renew them somehow?
We had a rebuild button in the early version I believe.

We had but I've disabled that, maintaining it in ever changing game seemed to time consuming and I didn't have the skills to unify it with normal loading process back then,
I'll look into restoring the whole thing as time permits!

I'm not dead I swear ??? , Just that RL has had me running around like a damn headless chicken for the last few months hence why I haven't had the chance to sit and really write something decent. Not intentional at all though I swear

Yey! :)

We're all contributing at our own pace as time allows. Don't worry about it.
Title: Re: General Discussion
Post by: BlackWolf Inc. on March 30, 2014, 06:34:24 AM
Right, I'll see if I can't make some time here or there and actually contribute something worthwhile then
Title: Re: General Discussion
Post by: DarkTl on March 30, 2014, 06:46:33 AM
- Difficulty settings
Lower taxes (or no taxes at all), more gold from the begining, more AP for both MC and girls. Easy mode.

I wanna hard mode too in the future  ::)
Title: Re: General Discussion
Post by: CherryWood on March 30, 2014, 07:04:21 AM
We had but I've disabled that, maintaining it in ever changing game seemed to time consuming and I didn't have the skills to unify it with normal loading process back then,
I'll look into restoring the whole thing as time permits!

Thanks, I'm playing the alpha, and when I notice a bad picture in my packs, I repair it - but that always cause the game to be unplayable at some point, when I can't even open the girl list or see new day most of the time.


Is it possible to add girls into running game, or is it the same? 


I just need to clarify this as I have to tell the players that updates in my packs are not save game compatible.


---------
Because someone wanted that, I've made a smaller version of my packs, reducing the size to 1/4. I can do that for my 3 naruto girls too if we want to reduce the download size of alpha a bit.
Title: Re: General Discussion
Post by: Xela on March 30, 2014, 08:12:14 AM
Thanks, I'm playing the alpha, and when I notice a bad picture in my packs, I repair it - but that always cause the game to be unplayable at some point, when I can't even open the girl list or see new day most of the time.


Is it possible to add girls into running game, or is it the same? 


I just need to clarify this as I have to tell the players that updates in my packs are not save game compatible.


---------
Because someone wanted that, I've made a smaller version of my packs, reducing the size to 1/4. I can do that for my 3 naruto girls too if we want to reduce the download size of alpha a bit.

It's the same...

I've cleared some bugs and figured out some reports (not bugs as it turns out to be). Going to take a break and continue in couple of hours.
Title: Re: General Discussion
Post by: CherryWood on March 30, 2014, 08:18:21 AM
Ok, thank you.


--------
As reported in alpha thread, merging Airi with the Queens Blade pack caused her to have a bad item icon filepath in her Airi_start_id.rpy file. Can you please remove the link in alpha thread? (or replace that with fixed version)

--------
I think we should add some brothel building that will allow strippers early (but be terribad in every other aspects to balance it). Now it's hard to even test that job, as it comes really late.

---------
Consumables that increases joy are effective against the girl tendency to leave if you do not pay her wages. I think that's ok, but they're a bit imbalanced right now, especially cmax value is strangely distributed.
Title: Re: General Discussion
Post by: DarkTl on March 30, 2014, 01:17:01 PM
Consumables that increases joy are effective against the girl tendency to leave if you do not pay her wages. I think that's ok, but they're a bit imbalanced right now, especially cmax value is strangely distributed.
Hm, I'll look into it tomorrow.
Title: Re: General Discussion
Post by: Xela on March 30, 2014, 06:12:14 PM
Oki, I managed to clear a lot of bugs today and add some functionality as well, some of this stuff wasn't easy because I took shortcuts with the code before.

Since there are still 4 newly reported bugs left and some of the simple to add functionality still isn't added and partly cause I don't have any energy left, patch will have to wait until tomorrow...
Title: Re: General Discussion
Post by: DarkTl on March 31, 2014, 07:16:47 AM
Ok then, about joy items. Some of them are very rare and expensive (they also increase some stat permanently). Others are food, and we have food poisoning effect.
All of them are more or less balanced by ctemp field btw.
Cmax field used in items like Quality Makeup in order to limit charisma bonus, not joy. Although, I might increase it a bit in the future, so it will be useful at higher levels.
Title: Re: General Discussion
Post by: Xela on March 31, 2014, 07:24:39 AM
Ok then, about joy items. Some of them are very rare and expensive (they also increase some stat permanently). Others are food, and we have food poisoning effect.
All of them are more or less balanced by ctemp field btw.
Cmax field used in items like Quality Makeup in order to limit charisma bonus, not joy. Although, I might increase it a bit in the future, so it will be useful at higher levels.

Reminds me, I need to take a look at booty lube item and how it's applied. It's been reported to completely break the stat, I don't yet know how...
Title: Re: General Discussion
Post by: DarkTl on March 31, 2014, 07:31:48 AM
Holy sh#t, somehow it has cmax = -10. I wonder if it is the whole problem.
Title: Re: General Discussion
Post by: Xela on March 31, 2014, 07:51:21 AM
Holy sh#t, somehow it has cmax = -10. I wonder if it is the whole problem.

Doubt it. I just checked the code (it's old and confusing) and it doesn't look like it should work that way. I'll test it just in case, maybe it's a false report.
Title: Re: General Discussion
Post by: DarkTl on March 31, 2014, 07:52:01 AM
All of them are more or less balanced by ctemp field btw.
*I mean cblock.
Title: Re: General Discussion
Post by: Xela on March 31, 2014, 07:56:04 AM
I cannot replicate the booty lube thing, if cmax on it is at -10, it's completely useless as an item but it doesn't break diddly-squat. There are plenty of other bugs to fix thought.
Title: Re: General Discussion
Post by: CherryWood on March 31, 2014, 08:17:48 AM
@Xela:  Where I can find part of the code that puts and brother building image into next day screen report (and school too)? I've found where it is for all other screens, but not this one. These images are using just a scale function so it's very distorted in screens.
Title: Re: General Discussion
Post by: Xela on March 31, 2014, 08:52:54 AM
@Xela:  Where I can find part of the code that puts and brother building image into next day screen report (and school too)? I've found where it is for all other screens, but not this one. These images are using just a scale function so it's very distorted in screens.

Prolly brothel's next day method or the Event class.
Title: Re: General Discussion
Post by: DarkTl on March 31, 2014, 10:20:41 AM
Fixed a bit and pushed consumables xml.

I wonder, do we need to change them all to jsons during the code review as well?
Title: Re: General Discussion
Post by: Xela on March 31, 2014, 10:23:43 AM
Fixed a bit and pushed consumables xml.

I wonder, do we need to change them all to jsons during the code review as well?

Would not hurt to have some consistency...
Title: Re: General Discussion
Post by: Xela on March 31, 2014, 10:52:01 AM
Phew... think that I've cleared all reported bugs for now. There's going to be a patch tonight.
Title: Re: General Discussion
Post by: Xela on March 31, 2014, 03:38:57 PM
SF Updated:

- Arena combat is now more lucrative
- Arena Mob-Choice crash is fixed
- Erroneous taxes reporting is fixed
- Game should no longer crash on missing traits
- Missing traits will report a warning to devlog
- General shop will have more gold and reset the amount of gold on daily basis
- AutoRest should now be a lot smarter and not waste any valuable AP
- Number of spell/grammar mistakes is fixed
- Hotkeys tryout:
* a = Arena
* c = Beach Cafe
* g = General Store
* m = Mainscreen
- When loading girls from their respective folders, game will now check for foreign OS files such as DStore,
that may not fix the issue everywhere but at least this should get rid of the reported one (Mac OS fail after player has looked into girls folders)
- Temporary fix for gamecrash on one of the high level mobs on misnamed attack should now be intercepted in code until we fix it in json
- Increased image cache is for now disabled, may have been causing some issues
- Next day button added to next day screen
- RMB has been activated at more places
- MC will next day recovery is now tied into remaining AP. Will go a LOT faster if enough AP remain at the end of the day.

I'll make a patch in few minutes.
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 04:24:24 AM
Oki, I think that I'll start with a code review tonight...

If anyone got any immediate requests/ideas, let me know right now.

I'll start with:

- Unifying characters classes.
- Turning Customer into a proper PyTFall character
- Rescaling and improving all logic
- Improving Inventory class
- Improving equipment/traits and stats application logic
- Prolly moving stats to a separate class cause code is getting too messy
- Maybe moving finances to a separate class for the same reason
- Rescaling Brothel classes and creating a proper buildings Master class for it

- mrrre laterz.

* Also I will reread the article on how to increase calculating speed in Python and try to use as many ways as possible especially during the Next Day relevant calculations.
** Another thing, obviously is to add as much new functionality during the review as possible! Hence the above-standing question on any requests again...
Title: Re: General Discussion
Post by: DarkTl on April 01, 2014, 04:49:22 AM
I have a couple, yes.

* We should use type field in addition to the current system to determine which items can be sold in shops. Thus, the witch should buy all potion type items, while cafe should buy all food type items.
* We probably have no choice but to use levels, stats caps and so on for mobs. Right now they are either too easy or too hard during one fight.
* Normalization should be removed. Except those parts that don't allow negative stats . Min 40 constitution is ridiculous anyway. If you have a weak girl, train her or get rid of her, that's it.
* Someone mentioned somewhere that during girlsmeets you could repeat the same line over and over, getting disposition. The success of such tactics should depend on MC stats, for example, 1 attempt per 100 charisma.
* mrrre laterz  :)
Title: Re: General Discussion
Post by: RitschRatsch on April 01, 2014, 05:55:08 AM
you can pretty much exploit the romantic thing during girl meet it has 100% success chance and gives more or less 20-25 dispo each time you push dat button so its at least 60 dispo each  day just saying
Title: Re: General Discussion
Post by: DarkTl on April 01, 2014, 06:11:19 AM
^Yup, that's what I'm talking about.
For example, in Artificial Academy you only can use the same line 2 times, after that the probability of success is rapidly falling (depending on disposition).
Title: Re: General Discussion
Post by: CherryWood on April 01, 2014, 06:12:48 AM
- GM gift option doesn't show any items if you don't have corresponding item category selected in hero screen (All or Gift)






don't think the romance option will have any meaning until (if ever) we add a dating...
Title: Re: General Discussion
Post by: DarkTl on April 01, 2014, 06:33:18 AM
don't think the romance option will have any meaning until (if ever) we add a dating...
Proper dating will require insane amount of writings. It is pretty much impossible without a hard working writer. Well, maybe closer to 2.0 version my English will be good enough to write it  :D
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 07:06:06 AM
Well, most of the writing was done by us and noone really complained about that so far. Writing at that level I can do relatively fast myself. Girlsmeets require a plan... that is very clear to me, also they must correspond to interactions and slavetraining.

That was the hardest part when I was working on iterations... I kept thinking that I'd have to rewrite texts and conditioning for after the slavetraining and if added too many texts and options, it would require a lot of repetitive work.

=========
Basically by the ideas I meant logic, obviously noone except myself knows how the logic works exactly (neither do I really, some of the code is old and doesn't scale very well) but everyone prolly got a feeling for it during gameplay. That part I'll be working a lot during the code review.
Title: Re: General Discussion
Post by: DarkTl on April 01, 2014, 07:09:24 AM
Those are not ideas then, but requests  :)
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 07:18:23 AM
Those are not ideas then, but requests  :)

Both...

Request = Taxes should be lower!
Idea = Lets tax profit instead of income!
Title: Re: General Discussion
Post by: DarkTl on April 01, 2014, 07:40:55 AM
That part I'll be working a lot during the code review.
Did you see another report about anal stat and booty lube in alpha release thread? I suspect this is the part you'll be working a lot during the code review  :D
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 08:13:49 AM
Did you see another report about anal stat and booty lube in alpha release thread? I suspect this is the part you'll be working a lot during the code review  :D

:D Nope, actually I haven't...
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 08:18:07 AM
- MC gift option doesn't show any items if you don't have corresponding item category selected in hero screen (All or Gift)

That's a bug, didn't expect it to act that way.
Title: Re: General Discussion
Post by: CherryWood on April 01, 2014, 08:59:14 AM
Another strange item: Manual of the Dancer is disappearing after entering shops!



So Manual of the Dancer disappeared from my inventory, but when I bought a second copy, I'ts listing that I have two (so it's not physically gone, just invisible). I can give both to a girl, and she keeps them just fine. I can transfer one manual of the two back to MC. Now both the girl and I have one and it appears correctly both on MC inventory and item transfer screens. But when I enter any shop, manual that was in MC's inventory is visually gone from sell selection and MC inventory again. I can make it reappear with taking the second one from that girl - it shows two again so I can give one back to that girl after mine is "renewed".


Another two books I have, manual of sex and manual of health do not have this issue (they're here all the time)
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 09:07:21 AM
Another strange item: Manual of the Dancer is disappearing after entering shops!



So Manual of the Dancer disappeared from my inventory, but when I bought a second copy, I'ts listing that I have two (so it's not physically gone, just invisible). I can give both to a girl, and she keeps them just fine. I can transfer one manual of the two back to MC. Now both the girl and I have one and it appears correctly both on MC inventory and item transfer screens. But when I enter any shop, manual that was in MC's inventory is visually gone from sell selection and MC inventory again. I can make it reappear with taking the second one from that girl - it shows two again so I can give one back to that girl after mine is "renewed".


Another two books I have, manual of sex and manual of health do not have this issue

This has been reported but I've concluded that it was filters being reset and not items disappearing. Try setting a filter to all right after the item in question is gone.

I'll be back in a couple of hours and start with the code review.
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 02:05:45 PM
Well... I've started with the review. There is too much that can be done so on the first post Alpha review, I'll try to take care of the most obvious stuff only. For now I already found 4 utterly useless calculations every time a stat is accessed :D

*Items are very confusing to players and generally explaining the system does not improve the situation. Maybe we should allow all items to push stats to max + 30%...
Title: Re: General Discussion
Post by: DarkTl on April 01, 2014, 02:34:46 PM
You mean they don't understand cmax field, or your system with two maximums, or both?
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 02:41:21 PM
You mean they don't understand cmax field, or your system with two maximums, or both?

The whole thing. Mostly the factor of the annoyance (I think) is that after a character is maxed out but before the lvl_max overtakes the max: Items are pretty bloody useless.
Title: Re: General Discussion
Post by: CherryWood on April 01, 2014, 02:42:03 PM
Can't tell...After playing the alpha for 5 days, I'm just as confused as they are - no idea how items work  :-[  But I did not participate in creating them, so that's probably to be expected...



I've never seen any piece of armor appearing in the alpha, same goes for boots and small weapons, in 500 days in game. They have "Work Shop" location in .xml, but this blacksmith lady only have 100x short sword, 100x long sword, 100x long bow, some replica swords, magic bows and crystals staffs every time and sometimes on lucky days a better staff or sabre and nothing else.
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 02:45:27 PM
I've never seen any piece of armor appearing in the alpha, same goes for boots and small weapons, in 500 days in game. They have "Work Shop" location in .xml, but this blacksmith lady only have 100x short sword, 100x long sword, 100x long bow, some replica swords, magic bows and crystals staffs every time and sometimes on lucky days a better staff or sabre and nothing else.

Change her filter... In the next release, I'll set all shops filters to all. For some reason I thought that setting workshop to weapons was a good idea but that just causes confusion.
Title: Re: General Discussion
Post by: DarkTl on April 01, 2014, 02:54:32 PM
Exhaustive tooltips for items should be a good start, no? I remember most things about items because I created them, but for others it must be harder.
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 02:57:23 PM
Exhaustive tooltips for items should be a good start, no? I remember most things about items because I created them, but for others it should be harder.

NPC explaining them will serve a better purpose I expect.

PS:

I am not sure yet cause my dev version is currently broken but I believe that stats system wasn't functioning as it was designed and items messed it up at places :( I guess it's the beauty of scaled code... it's readable and understand to one who writes it :D
Title: Re: General Discussion
Post by: DarkTl on April 01, 2014, 03:00:40 PM
Besides, if players would be able to see both lvl_max and max stats, and how are they rise upon lvl up, it would clear up things a bit.

That reminds me, don't forget to add intelligence stat, girls don't have it right now.
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 03:11:15 PM
Besides, if players would be able to see both lvl_max and max stats, and how are they rise upon lvl up, it would clear up things a bit.

That reminds me, don't forget to add intelligence stat, girls don't have it right now.

Yeap, but it'll be a while until I get to cleaning up screens.
Title: Re: General Discussion
Post by: CherryWood on April 01, 2014, 03:22:45 PM
Change her filter... In the next release, I'll set all shops filters to all. For some reason I thought that setting workshop to weapons was a good idea but that just causes confusion.
NP, I'm just telling what was confusing.  :)




Dunno what was reported elsewhere, so my apologies if I'm just repeating stuff:


- I think we should add a disposition increase when MC personally saves a girl from customer. Because she gets -100 when you are not here, it would be nice to have a chance to win some back too.



- experience for warriors from guard job is very low. That's totally understandable when nothing is happening, but they don't get any more noticeable experience even if they get to fight the customer.


- experience scaling in dogfights is very disappointing. I've taken great length to take my warrior girl through arena fight, and when she actually survived the fight, in like 1 of 10 attempts (with a week of healing between each), she go only 90 experience, while my MC got 900. =no point at all in taking a challenge


- but on the other hand, levels for guard seem to not be required at all, because with lv3, my girl was able to easily fight off every customer that threatens even my lv35 prostitutes  :)


- flowerbeds are doing too much for such low-cost upgrade. They should have a smaller chance, or be limited by some cmax value.


- there should be a limit on how much arena rep. you can gain from one type of survival. Logically, it's a great feat when you defeat some monster, but not much if you do it 30 times after that.


- makeup items and parfumes are relatively balanced, but fatigue reducing potions are really profitable later on. btw. listing for how long effect of items last would be really friendly


- still wondering why starting wage of a prostitute is 4 times less then what other professions wants.

- prostitute ranks wants a ok amounts of refinement and money, but laughable experience - in time a girl have enough refinement, she have like 400k exp and it wants 50k

- we should put more brothels in


- food poisoning if fun, I totally forget something like that is in  :)  (and seriously, the whole alpha is much more fun then I thought it would be - so much that I was only playing until now and did nothing else)
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 04:25:36 PM
- I think we should add a disposition increase when MC personally saves a girl from customer. Because she gets -100 when you are not here, it would be nice to have a chance to win some back too.

Good idea!

- experience for warriors from guard job is very low. That's totally understandable when nothing is happening, but they don't get any more noticeable experience even if they get to fight the customer.

It gets better after building is updated.

- experience scaling in dogfights is very disappointing. I've taken great length to take my warrior girl through arena fight, and when she actually survived the fight, in like 1 of 10 attempts (with a week of healing between each), she go only 90 experience, while my MC got 900. =no point at all in taking a challenge

No point in changing that as experience should work differently all together. I'll take a look after I am done with stats scaling anyway.

- but on the other hand, levels for guard seem to not be required at all, because with lv3, my girl was able to easily fight off every customer that threatens even my lv35 prostitutes  :)

Customers in the bar/club are usually a lot stronger (more numerous actually).

- flowerbeds are doing too much for such low-cost upgrade. They should have a smaller chance, or be limited by some cmax value.

Noted.

- there should be a limit on how much arena rep. you can gain from one type of survival. Logically, it's a great feat when you defeat some monster, but not much if you do it 30 times after that.

Oki, I'll look into that.

- makeup items and parfumes are relatively balanced, but fatigue reducing potions are really profitable later on. btw. listing for how long effect of items last would be really friendly

Wrong department :D

- still wondering why starting wage of a prostitute is 4 times less then what other professions wants. I was thinking about keeping a one cleaning girl just for fun, but that would bankrupt me in no time...  7 whores can support one warrior in wage, but noone else. (in early game with 2 brothels)

- prostitute ranks wants a ok amounts of refinement and money, but laughable experience - in time a girl have enough refinement, she have like 400k exp and it wants 50k

I think taxes in the middlegame might become murderous again... I'll work on it when I get there. Wages should be client related, I'll figure it out when I get there. Not it's just stats/ranks and clients all have infinite money.

Noted on the experience front, that's an old code that isn't balanced.

- we should put more brothels in



- food poisoning if fun, I totally forget something like that is in  :)  (and seriously, the whole alpha is much more fun then I thought it would be - so much that I was only playing until now and did nothing else)

What's stopping you?

Kewl :)
Title: Re: General Discussion
Post by: CherryWood on April 01, 2014, 05:15:10 PM
What's stopping you?

Kewl :)
I think we didn't do that for alpha, because you had some advanced system for rooms in mind? But if it's not the case for near future, I'll look into that. It's really a super easy to add a building in .json :)   only think to solve are those distorted pictures.
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 05:26:47 PM
I think we didn't do that for alpha, because you had some advanced system for rooms in mind? But if it's not the case for near future, I'll look into that. It's really a super easy to add a building in .json :)   only think to solve are those distorted pictures.

Fixing pics should be easy.

I am 60% done with the stats rescaling... Don't know if it'll work out or not cause me game is still broken :D
Title: Re: General Discussion
Post by: Xela on April 01, 2014, 09:49:04 PM
SF:

- Stats completely rescaled
- Number of sideeffects from rescaling removed
- Added intelligence stat to girls profile

Hundreds of lines of code had been rewritten/rescaled so obviously this requires extensive testing. Not mentioning that this can have sideeffects on almost anything in the game.

Code is a lot cleaner now and a LOT better readable. I believe that there were errors in the old code that either never surfaced or at the very least revealed themselves in ways we couldn't understand (weird stats/items behavior). This should work a lot better now and with everything in one place, it will be a lot simpler to fix in the future.
Title: Re: General Discussion
Post by: DarkTl on April 02, 2014, 02:31:44 AM
- makeup items and parfumes are relatively balanced, but fatigue reducing potions are really profitable later on.
Yup, they probably should be more expensive and rare.

Wrong department
I cannot add indicators for how long effect of items last  ::)

- Stats completely rescaled
I hope you removed stats normalization as well. We shouldn't make every girl ready for anything, it's player's work.
Title: Re: General Discussion
Post by: Xela on April 02, 2014, 03:26:53 AM
I hope you removed stats normalization as well. We shouldn't make every girl ready for anything, it's player's work.

Everything should be the same... I will/cannot remove normalization completely, modder already can do quite a bit.
Title: Re: General Discussion
Post by: Xela on April 02, 2014, 03:36:00 AM
Rescaling takes too long, I think I'll be doing it in bits. Next thing on the list are items/equiment, code is absolutely awful and if truth be told, under the current system, I am not sure that I can make it a lot better :(

There are simply to many if/buts in the system...
Title: Re: General Discussion
Post by: Xela on April 02, 2014, 04:22:05 AM
Pushed another small QF fixing a similar error.
Title: Re: General Discussion
Post by: DarkTl on April 02, 2014, 10:03:01 AM
I will/cannot remove normalization completely, modder already can do quite a bit.
You cannot reduce initial min stats? How about, I don't know, 1-5 instead of 40?
I doubt there even will be characters with that low stats, but right now they are impossible at all. Basically, if I want to create a character with very low stats, I cannot do it with the current normalization. It's one more side of modability.
Title: Re: General Discussion
Post by: Xela on April 02, 2014, 10:26:50 AM
You cannot reduce initial min stats? How about, I don't know, 1-5 instead of 40?
I doubt there even will be characters with that low stats, but right now they are impossible at all. Basically, if I want to create a character with very low stats, I cannot do it with the current normalization. It's one more side of modability.

I need a practicle example, that's not how the code should behave, goes for both, old and the new one. If you set the stat to a percentage and it results at least with 1, it should not be touched by the game.

===================
I am done with equipping as well I think. I'll prolly do the buildings tonight. It's to early to review some other parts of the game because it'll be better to do that as those are updated.

We need to decide what we work on next... discussion and building concept will take a while anyway so we can do that while the code is being reviewed.
Title: Re: General Discussion
Post by: DarkTl on April 02, 2014, 10:40:59 AM
I recall you mentioned somewhere that initial min constitution is 40...

Anyway, I removed all traits from Nico (you have her from the start in dev version) and set every stat to 1 in xml.
Every new game she has random stats around 15-22, except reputation (always 1), health (always 100) and libido (1 too). Now I simply don't understand what is going on  :D
Why they are random?

We need to decide what we work on next...
* We should use type field in addition to the current system to determine which items can be sold in shops. Thus, the witch should buy all potion type items, while cafe should buy all food type items.
* We probably have no choice but to use levels, stats caps and so on for mobs. Right now they are either too easy or too hard during one fight.
* Someone mentioned somewhere that during girlsmeets you could repeat the same line over and over, getting disposition. The success of such tactics should depend on MC stats, for example, 1 attempt per 100 charisma.

Aside from that, I wanna clones and slavetraining  :)
Slavetraining is self-contained system, but clones probably require life imitation system for all "free" girls.
Title: Re: General Discussion
Post by: Xela on April 02, 2014, 03:16:16 PM
I recall you mentioned somewhere that initial min constitution is 40...

Anyway, I removed all traits from Nico (you have her from the start in dev version) and set every stat to 1 in xml.
Every new game she has random stats around 15-22, except reputation (always 1), health (always 100) and libido (1 too). Now I simply don't understand what is going on  :D
Why they are random?

They should be random only after they resulted in 0, you've set them to 1% of 40 - 60 (max) and that resulted in 0 after a round up. Randomness is required for Crazy girls until we have enough packs of our own as they do not have all the stats. Health should be max, not 100. .

* Shops (types)
** Mobs (not entirely sure how to convert the system yet)
*** The girlsmeets thing would prolly result in awkward code if automatized, I'll leave that for later.

Aside from that, I wanna clones and slavetraining  :)
Slavetraining is self-contained system, but clones probably require life imitation system for all "free" girls.

Cloning is easy, I don't expect it to require much effort or need imitation system. Slavetraining module next then? Any ideas on that one?
Title: Re: General Discussion
Post by: CherryWood on April 02, 2014, 05:18:07 PM
I looked at the gm code a bit, added a virgin check and sex stat increase, moved some stuff around... I changed impersonal lines to kuudere as it's a better match, but it's still not right. Seriously, how do I managed to write so many lines for a personality that doesn't fit to any trait in game?
Nothing new yet, but I probably add something soon, as alpha players doesn't seems to mind our writing  :)
...or I try to create some unique girl gm lines, It could be fun and we don't have example of that yet.




But to tell the truth, I'm not sure about gms. They're just not interesting as they are now. In alpha, it felt to me like it's just 1. Hey, I need another girl, 2. Find one I like, 3. Spam everything until she's mine, with optional 4. spam a bit more if I want to change her profession.

I started to thing that it may be better to not have gms for recruiting at all, instead have some another job offer/hiring process, and leave disposition stuff separated, but merge all interactions/gms/dates into one, because it's just too wasteful to have two or three different parts of code and texts that actually do the same. (to access one system from both city and brothel)
Title: Re: General Discussion
Post by: Xela on April 02, 2014, 05:59:27 PM
But to tell the truth, I'm not sure about gms. They're just not interesting as they are now. In alpha, it felt to me like it's just 1. Hey, I need another girl, 2. Find one I like, 3. Spam everything until she's mine, with optional 4. spam a bit more if I want to change her profession.

I started to thing that it could be better to not have gms for recruiting at all, instead have some another job offer/hiring process, and leave disposition stuff separated, but merge all interactions/gms/dates into one, because it's just too wasteful to have two or three different parts of code and texts that actually do the same. (to access one system from both city and brothel)

I don't know, they have a nice feel to them and it's already possible to change all of them or even launch customs scripts instead of GM. I'd prefer if they stayed unless there is a better system available as a concept.

PS: When you're making items in script, you cannot use stuff like "false", it will always mean True in code (any non empty string will). Use False instead and avoid using false with a small letter in the future, it's a sh!tty practice inherited from Alkion that slightly slows down the game.

=================
Updating SF:

- Replaced false with False
- Replaced true with True
- Got rid of some BS code
- Moved GM resets to Next Day, might have a better feel to it
- Shops will now buy other items from relevant categories
- Shops should have all filter by default
- Equipment code is completely rescaled
- Character classes are now a lot more compact
Title: Re: General Discussion
Post by: CherryWood on April 02, 2014, 06:12:31 PM
Ok... I don't mind that either. 
Title: Re: General Discussion
Post by: Xela on April 02, 2014, 06:27:17 PM
I correct the items in DB. I suppose I should keep the old version in thread for alpha?

Oki, I don't think it's broken. I am off, g'night!
Title: Re: General Discussion
Post by: DarkTl on April 03, 2014, 04:23:51 AM
Cloning is easy, I don't expect it to require much effort or need imitation system.
Well, if you fire a clone, she still should try to earn enough money somewhere to stay alive. Thus, we need some kind of life for girls, where they work, earn money, spend them, etc.
Or if she is unable to do it, then she dies eventually.

Moreover, there probably should be a chance to meet a clone during girlsmeetings. They could be hired very easily, since they need money desperately.
Of course, they also require a large sum every month to keep them alive. Thus, they can bring any profit only at very high levels with very good stats.
Title: Re: General Discussion
Post by: DarkTl on April 03, 2014, 09:16:29 AM
As for ideas for slavetraining, well, you could just  port everything you like from Валет Плетей for a start. There are tons of ideas and options.
Title: Re: General Discussion
Post by: Xela on April 03, 2014, 10:34:33 AM
As for ideas for slavetraining, well, you could just  port everything you like from Валет Плетей for a start. There are tons of ideas and options.

I'd rather not import cannibalism or growing maggots for alchemy ingredients inside of slaves bodies but yeah, training ideas are super easy to mimic, stats system might be a bit harder to mimic cause I have no idea how that's designed...
Title: Re: General Discussion
Post by: DarkTl on April 03, 2014, 11:36:51 AM
I guess slaves could have more stats than free girls. The problem is, what should happen to those stats if you free them.
Title: Re: General Discussion
Post by: Xela on April 03, 2014, 11:48:36 AM
I guess slaves could have more stats than free girls. The problem is, what should happen to those stats if you free them.

That will not work... same stats should exist for every girls, just have different effect on the game. That's why I've said that we need to discuss it before I start coding the system.
Title: Re: General Discussion
Post by: DarkTl on April 03, 2014, 11:53:21 AM
Oh, well, I need some time to download and examine the latest version of Huntsman's game. It's been awhile.
So you probably could add clones (or maybe add "return to main menu" button to game over screen) meanwhile.
Title: Re: General Discussion
Post by: Xela on April 03, 2014, 11:59:05 AM
So you probably could add clones (or maybe add "return to main menu" button to game over screen) meanwhile.

I still have some rescaling and recoding to do. Right now the two very important classes that must be recoded are:

- Building/Brothel
- Customer
Title: Re: General Discussion
Post by: DarkTl on April 04, 2014, 03:33:09 AM
There should be very serious obstacles for both enslaving and freeing. Because of the slave riot and game balance if nothing else.

Also, right now slaves are much more useful than free girls. Even though they are not free, it's still easier to obtain them, train and use as you wish than do girlsmeets with free ones, hire and then pay to them.

One option is to statutory limit the number of slaves, for example, no more than 20-30% of the total girls amount per building (again, slave riot and stuff). Another one is to add a new stat to MC (like leadership or domination), and to limit the total number of slaves according to it.
In addition to it maybe add a slaves guild, where you should buy rights to own more than 1-2 slaves.
Title: Re: General Discussion
Post by: Xela on April 04, 2014, 03:54:04 AM
One option is to statutory limit the number of slaves, for example, no more than 20-30% of the total girls amount per building (again, slave riot and stuff). Another one is to add a new stat to MC (like leadership or domination), and to limit the total number of slaves according to it.
In addition to it maybe add a slaves guild, where you should buy rights to own more than 1-2 slaves.

I don't like hard limitations, my own ideas:
- Ownership permit (not too expensive, to be obtained after hearing an explanation from NPC)
- Powerful Religious organization (that is rumored to be the driving force or at least partly responsible for uprising and war that's followed and started the new age)
* They will confiscate slaves for a while if they're mistreated or permanently for preparative offenses, Slave Guild will be a powerful counter-balancing agent but only if player's a member and player can only have membership in one guild at a time or even per game play.
* Require assurances
- Taxes for ownership (exist already)
- Untrained will try to fight/refuse work/try to escape (require guards)

===
With that, the difference between free/slave will be very real and have direct consequences to gameplay.
Title: Re: General Discussion
Post by: DarkTl on April 04, 2014, 04:20:29 AM
Captured rmg should should have the minimum possible training (maybe even much less trained than any girl from the slavemarket, like negative values or something). And you cannot start training/sell them until you make them slaves (and pay to the slaves guild again for that).
Yet you can talk/rob/rape/just let go/kill/hold in dungeon for some time/etc them without enslavement.

In order to free a slave again a certain sum required, and maybe "ideal" slaves (trained to max and with very high disposition) could refuse it.
Not sure how else we could limit slaves liberation, ecxept slaves guild penalties.

Also I wonder if we should allow enslavement of free city girls, like wm-like capturing/holding in dungeon. Maybe we could, but this should be illegal and, thus, dangerous to MC and his business.
Title: Re: General Discussion
Post by: Xela on April 04, 2014, 04:32:08 AM
Captured rmg should should have the minimum possible training (maybe even much less trained than any girl from the slavemarket, like negative values or something). And you cannot start training/sell them until you make them slaves (and pay to the slaves guild again for that).
Yet you can talk/rob/rape/just let go/kill/hold in dungeon for some time/etc them without enslavement.

In order to free a slave again a certain sum required, and maybe "ideal" slaves (trained to max and with very high disposition) could refuse it.
Not sure how else we could limit slaves liberation, ecxept slaves guild penalties.

Also I wonder if we should allow enslavement of free city girls, like wm-like capturing/holding in dungeon. Maybe we could, but this should be illegal and, thus, dangerous to MC and his business.

Something simpler is required, these options are too numerous.
Title: Re: General Discussion
Post by: DarkTl on April 04, 2014, 06:34:26 AM
Well, if we'll have EE similar to the first Huntsman's game (our forest), we might as well use a similar capturing system.
Title: Re: General Discussion
Post by: Xela on April 04, 2014, 11:19:28 AM
Well, if we'll have EE similar to the first Huntsman's game (our forest), we might as well use a similar capturing system.

I never got too far... some stuff about his games is a bit repulsive. I've only played earlier version of Valet Pletej to really get into the game.
Title: Re: General Discussion
Post by: DarkTl on April 04, 2014, 01:46:19 PM
All right, let me describe it then.
Girls capturing there is a scripted quest, almost like fights with monsters. Basically, you go to the forest (the futher you go, the better girls you can find, but it is deadly dangerous without good equipment) and start to look for girls. You could look for them manually, set a trap or two, maybe something else, I don't remember everything.

Now, when you find one, you can either attack her (during it either capture or kill, killing is easier but much less profitable) if you close enough, try to sneak up on her (equipment/skills required), try to use devices like hunting network, try to catch up with her if she is runnig away, etc, etc. Or you can catch someone in a trap with a certain probability (traps are not free and are disposable).
After successful capture you can rape her (that's how MC gains exp and levels there btw), kill, release, escort in the town and sell... There are less pleasant options, let's omit them. You know Huntsman, he just loves that guro stuff.
Oh, you also have to watch over your prisoner, so you are restricted in actions.

I'm not telling that we should copy it, but we could use some ideas.
Title: Re: General Discussion
Post by: Xela on April 04, 2014, 02:53:25 PM
Right, we'll see where the exploration engine will lead us and decide what's best. For now, after I am done with the review, I guess we've decided to do the ST first. So any ideas/input on stats, flags, NPCs, locations and etc are appreciated. I have some ideas of my own but would love to hear some from everyone first.
Title: Re: General Discussion
Post by: DarkTl on April 05, 2014, 07:56:45 AM
I took a look at the final build of Valet Pletej, very impressive work.

Comparing general stats, we don't have exoticism (prolly an overkill as a whole stat, we do have angels, demons, androids and stuff, unlike Huntsman), sensitivity (no idea), obedience (just like in SM, we most likely need that stat), pride (I think it's almost like obedience on the contrary, and it's very similar to character, so I'm not sure).

Skills are cleaning (=service), cookery (too deep micromanagement, I think), healing (maybe we could use it in some way), clerical work (for a slave that's a very strange skill, on the other hand we could use it as an intelligence based skill), fighting and magic (not with our prehistory), escort (maybe), singing/dancing/music (probably good enough subskills) aaand let's avoid pet/pony training and skills.

Sex skills that we don't have are petting (we could use it, probably), bdsm (must have, like in wm) and very perverted and strange things in fetish and xenophilia departments that I don't want to train or even see  :D

Maybe we could use skills as substats, like escort for refinement or something. In SM3 there are some substats, you could take a look.
Title: Re: General Discussion
Post by: DarkTl on April 05, 2014, 10:49:37 AM
There are also some hidden stats (http://ru.jack.wikia.com/wiki/%D0%90%D1%83%D1%80%D0%B0_%D1%80%D0%B0%D0%B1%D1%8B%D0%BD%D0%B8) that could be seen in slave's aura, if you want more advanced psychology imitation.

Altogether, unlike many other systems, I have no idea how exactly out slavetraining should look, so I only can throw you some ideas here.
Title: Re: General Discussion
Post by: DarkTl on April 06, 2014, 03:49:45 AM
Oh, I almost forgot about group stat from wm (and SM has something like that as well).
Title: Re: General Discussion
Post by: CherryWood on April 06, 2014, 09:33:16 AM
I have something I don't understand at all  :(
I did this in pyt - screens - arena_inside.rpy:
Code: [Select]
                 frame:
                     background Null()
                     minimum(426, 376)
                     maximum(426, 376)
                     xfill True
-                    add(l_team[0].show("battle", resize=(426, 376), cache=True)) align(0.5, 0.5)
+                    if l_team[0].has_image("fighting"):
+                        add(l_team[0].show("fighting", resize=(426, 376), cache=True)) align(0.5, 0.5)
+                    else:
+                        add(l_team[0].show("battle", resize=(426, 376), cache=True)) align(0.5, 0.5)
                     use pyt_arena_stats(l_team[0])
It works OK for girls, but now MC and arena fighters are not using combat pics anymore, but only battle_sprite pics.  But how? The code before and the one in Else: part are the same...
How could    if l_team[0].has_image("fighting"):  be True for MC?
Title: Re: General Discussion
Post by: Xela on April 07, 2014, 02:04:12 AM
I have something I don't understand at all  :(
I did this in pyt - screens - arena_inside.rpy:
Code: [Select]
                 frame:
                     background Null()
                     minimum(426, 376)
                     maximum(426, 376)
                     xfill True
-                    add(l_team[0].show("battle", resize=(426, 376), cache=True)) align(0.5, 0.5)
+                    if l_team[0].has_image("fighting"):
+                        add(l_team[0].show("fighting", resize=(426, 376), cache=True)) align(0.5, 0.5)
+                    else:
+                        add(l_team[0].show("battle", resize=(426, 376), cache=True)) align(0.5, 0.5)
                     use pyt_arena_stats(l_team[0])
It works OK for girls, but now MC and arena fighters are not using combat pics anymore, but only battle_sprite pics.  But how? The code before and the one in Else: part are the same...
How could    if l_team[0].has_image("fighting"):  be True for MC?

They work differently, what are you trying to do?
Title: Re: General Discussion
Post by: DarkTl on April 07, 2014, 05:13:25 AM
Xela, fix your game links in the alpha release thread, some of them are broken somehow.
Title: Re: General Discussion
Post by: Xela on April 07, 2014, 05:35:20 AM
Xela, fix your game links in the alpha release thread, some of them are broken somehow.

I think it's another one of their infamous internal errors that will be fixed in time. Files themselves are still available and links are correct.
Title: Re: General Discussion
Post by: Xela on April 07, 2014, 05:43:02 AM
=========
Otherwise I am busy with some rl stuff and taking a bit of a break from development. I now think that there is little point to push the review further because the most important bit is done, building class as well as there is not much except for dirt/cleaning that will be common to other buildings and my idea to rewrite customer class as a character class was royally stupid since I've designed customer class to be lightweight as they're generated every day and most of the functionality of character classes are useless to it.

Next on the list is to slightly change finances and taxes and slowly start working on some training setup.

PS: I'll push a small update because I broke some stuff in the dev version earlier. If someone is planning to start a new game, try dev version cause I need to know if some stuff is still bugged after the review.

EDIT:

SF Updated:

- Bugfixes
- Minor rescaling
- Pause on GameOver is no longer hard (can be skipped with interact)
Title: Re: General Discussion
Post by: DarkTl on April 07, 2014, 09:01:49 AM
I recall we wanted to randomly add some kind of traits to customers at some point. Is it possible with the current system?
Title: Re: General Discussion
Post by: Xela on April 07, 2014, 09:06:07 AM
I recall we wanted to randomly add some kind of traits to customers at some point. Is it possible with the current system?

Already being done actually :)

Everything is possible under the current system, I just don't want to bother with advanced stats and other normal character assets. They'll slow stuff down without any benefit.
Title: Re: General Discussion
Post by: CherryWood on April 07, 2014, 03:49:45 PM
They work differently, what are you trying to do?
if has_image() don't work for MC and NPC's, then what I would like to know, is probably how to skip them, like -do something only if selected character is a girl- if condition.
Title: Re: General Discussion
Post by: Gamo on April 07, 2014, 04:55:27 PM
Question:


I have read in posts that all packs from crazy's and regular whoremaster can be used in pytfall. I tried placing them in char file but when I open game it crashes showing the error of the pack I just copied over.


Am I placing it in the right folder?
Or is it not working because its alpha or some other reason?


If so what Folder should it be copied over to?


Thanks in Advance


Edit: i get this error attachment below
Title: Re: General Discussion
Post by: CherryWood on April 07, 2014, 05:05:59 PM
If so what Folder should it be copied over to?
In alpha, there is already a pack from wm - "Crazy Bleach" folder. If you place it like this one is, it still doesn't work?


- Make sure there are no other files then .girlsx and tags.json (automatically created) in main pack folder.
- only unique girls there
- make sure the character id and her images folder name are the same
- you currently cannot add girls to already started save in alpha (need a new game)


but there could be errors, it hasn't been tested that much...
Title: Re: General Discussion
Post by: Xela on April 07, 2014, 06:41:04 PM
but there could be errors, it hasn't been tested that much...

Patch is lagging behind the dev version, with the next release all packs will be supported, right now only Hwcbn and Lurkers packs are supported (actually all packs where filenames that start with a capital letter). I modeled loading based on file names from their packs and did not know that WM didn't care for capitals/small letter in it's loading process.

That has already been accounted for in the dev version but not in the Alpha yet.
Title: Re: General Discussion
Post by: Xela on April 07, 2014, 06:42:30 PM
if has_image() don't work for MC and NPC's, then what I would like to know, is probably how to skip them, like -do something only if selected character is a girl- if condition.

I think has image just rigged to always return True for those classes. It seemed simpler to code the tags in the show method. What is not showing correctly at the moment?
Title: Re: General Discussion
Post by: Gamo on April 07, 2014, 06:58:43 PM
I think has image just rigged to always return True for those classes. It seemed simpler to code the tags in the show method. What is not showing correctly at the moment?


So i created a folder in char


Ex: created a Hermoine folder then inserted the actual Hermoine folder into that and placed it in char folder no error atm but not sure if that worked.



Title: Re: General Discussion
Post by: Xela on April 07, 2014, 07:13:16 PM



would it work if capitalized

For sure, there are 5 or 6 Crazy WM packs in the game already, there is nothing special about them at all, they're all being preloaded with the same generic script.
Title: Re: General Discussion
Post by: DarkTl on April 08, 2014, 06:47:54 AM
Alright, summarizing my thoughts about ST...

*Obedience is a must have, we cannot use disposition alone for everything. It should be the same stat for everyone, but it could be called obedience for slaves and, for example, dedication, allegiance or loyality for free ones.

*Sensitivity from both Valet and SM. In the first game it means both physical and psychological sensitivity, in the second one it means physical only. Depends on how deep you want to simulate girls psychology. Basically, using too rough punishments and too perverted training/actions descrease it in both games, and vice versa.

*Escort, singing/dancing/music, healing, clerical work skills we could add at some point, providing that there will be jobs using them, not necessarily within brothels. Right now we don't have such jobs, we most likely will at least some of them in the future.

* BDSM skill is a must have.

*I'm not so sure about group though, basically you do the same thing, but with many people, so... Maybe we should use stat like pride/libido/obedience or something like that, so if pride is high enough for example, then a girl will refuse to do group.

*Petting. Both Valet and SM have it. Maybe we should too. In Valet it's a prelude to sex, in SM it's masturbation types of skills, basically.

*We could port a lot from Valet, I doubt it will ever have translations.
Title: Re: General Discussion
Post by: pitkir on April 08, 2014, 06:58:48 AM
How to rank up girl? I have met all the requiments(Money,exp,refiment) but i can not rank her up.Do I need to click on a circle with rank?
Title: Re: General Discussion
Post by: CherryWood on April 08, 2014, 12:02:23 PM
pushed a small tag adjustment




I planned to do much more (fix tags in service/rest (and put more rest images to use) and rework gms to get rid of that excessive excluding) but I ran out of time and energy so it will have to wait...
Title: Re: General Discussion
Post by: Xela on April 08, 2014, 04:16:43 PM
Alright, summarizing my thoughts about ST...

*Obedience is a must have, we cannot use disposition alone for everything. It should be the same stat for everyone, but it could be called obedience for slaves and, for example, dedication, allegiance or loyality for free ones.

*Sensitivity from both Valet and SM. In the first game it means both physical and psychological sensitivity, in the second one it means physical only. Depends on how deep you want to simulate girls psychology. Basically, using too rough punishments and too perverted training/actions descrease it in both games, and vice versa.

*Escort, singing/dancing/music, healing, clerical work skills we could add at some point, providing that there will be jobs using them, not necessarily within brothels. Right now we don't have such jobs, we most likely will at least some of them in the future.

* BDSM skill is a must have.

*I'm not so sure about group though, basically you do the same thing, but with many people, so... Maybe we should use stat like pride/libido/obedience or something like that, so if pride is high enough for example, then a girl will refuse to do group.

*Petting. Both Valet and SM have it. Maybe we should too. In Valet it's a prelude to sex, in SM it's masturbation types of skills, basically.

*We could port a lot from Valet, I doubt it will ever have translations.


Yeah well... loads more stats and clicks basically then?

The thing is that I am not entirely sure that it's the way to go right now. I've had 10x more fun playing Akabur's new training game then I've ever did playing Valet pletej. Obviously his design revolves around his art and is therefor pretty awesome but we could take that direction with slave training (more trait checks/simple jobs + less stats) instead of SM/Valet approach.

Events/personality driven training may pay off better in the end. But we still have plenty of time to decide.
Title: Re: General Discussion
Post by: h3nta1fun on April 08, 2014, 05:01:36 PM
Maybe instead of adding more stats, it could be better to add the traits + stats + level to decide a few things. For level could indicate a girl's professionalism towards a job and then adding certain traits and/or stats to see if she accepts to do something and how well she does that. No need to add more stuff that way, just use what is already there.
Title: Re: General Discussion
Post by: Xela on April 09, 2014, 02:05:34 AM
Maybe instead of adding more stats, it could be better to add the traits + stats + level to decide a few things. For level could indicate a girl's professionalism towards a job and then adding certain traits and/or stats to see if she accepts to do something and how well she does that. No need to add more stuff that way, just use what is already there.

Should prolly be simpler than this...
Title: Re: General Discussion
Post by: DarkTl on April 09, 2014, 03:25:15 AM
Yeah well... loads more stats and clicks basically then?
You cannot avoid more stats anyway. At least bdsm and some kind of obedience/loyality are required no matter the system.

As I mentioned, unlike pretty much any other system (even rmg capturing), I have no idea how our slavetraining should look like  :D
Title: Re: General Discussion
Post by: Xela on April 09, 2014, 03:36:22 AM
As I mentioned, unlike pretty much any other system (even rmg capturing), I have no idea how our slavetraining should look like  :D

Me neither... kinda hoping we'll figure it out.
Title: Re: General Discussion
Post by: alucard41 on April 09, 2014, 03:41:27 AM
How to rank up girl? I have met all the requiments(Money,exp,refiment) but i can not rank her up.Do I need to click on a circle with rank?

Click on the coin near to the girl's rank.(it turns golden when you can rank up a girl) ::)
Title: Re: General Discussion
Post by: DarkTl on April 09, 2014, 06:52:54 AM
but we could take that direction with slave training (more trait checks/simple jobs + less stats) instead of SM/Valet approach.
*SM is pretty boring because it is repetitive. It has many stats, jobs, endings, but in the end it lacks diversity, they are just numbers that you can clearly see and control.

*Another problem is too good attitude to slaves. You gradually change their lifestyle and behavior rather than train/break/punish/whatever they do with slaves.

*Valet doesn't have numbers at all. Up to the point that many things are completly unobvious (and without wiki I still do not know many things about it). Also you cannot just go to some teacher or buy a skill book for any MC stat, mostly you learn when you do it - pretty hardcore and interesting. Also it tries to simulate psychology, there are alot of punishments and rewards for slaves, and you have to balance them out, not just rise all stats to max.

*It is also very cruel. They live in the place where unprofitable to deliver any decent food AND they have a constant influx of people from many other worlds, so it's a f-king city of cannibals. Not to mention many other things, like anatomical theater for undead where actresses do not live longer than one performance.

I guess we must find a middle ground  :)
Title: Re: General Discussion
Post by: alucard41 on April 09, 2014, 11:11:44 AM
Hmm,why don't you make game routes?(or goals...however you wanna call them)
Each goal focusing on different kind of training and stuff like that.
You already pretty much got some achievable goals with the current MC proffesions.For example the warrior could have world conquest as one of the avaible goals to choose(which should effect the harshness of the slave training depending on the player's personality) or a royal slaver goal for the casanova(which will obvious require harsher training of slaves for the sake of the goal itself).
Anyway this is just a suggestion,if it take to much time to do or is no good that's it.
Title: Re: General Discussion
Post by: h3nta1fun on April 09, 2014, 01:49:06 PM
Is group actions planned for the future? I have seen a lot of that in the packs, but nowhere in the actual game so far. I haven't taken a good look at the game's code yet, but I was wondering about it.


As for the traits and jobs, I agree with keeping them under control, as far as how many there are going to be included. The problem with SM was just how much there was to it. After all, beyond a certain point it's no longer fun, but just plain repetitive. So probably it would be better to add more variations in the texts. Since the report is made from a few chunks of text, with each one having several possibilities, even if you add a few flavor texts, the total combinations will increase dramatically. That way the game will not look as repetitive as some other ones, with just a few different texts here and there.
Title: Re: General Discussion
Post by: Marquis on April 09, 2014, 03:42:40 PM
Security: I think one should be able to hire security from girls willing to be a warrior without going through girlsmeet disposition raising. You're paying a salary for a pretty cushy job where the warrior only occasionally has to take on an unruly customer. Maybe add a 'shopping' button at the Arena where one could hire Security.Having the warrior participate in arena matches could require a job switch and some level of positive disposition, maybe modified by traits. Convincing her to take any other job would still require a major disposition shift. Also, 'wasting' a room on a guard seems harsh, especially at smaller brothels. Perhaps one security guard can take the MC 'room' slot. So if the MC is assigned to a brothel, the guard needs a room, but if the MC is assigned to a different brothel, the guard doesn't take a room.

Title: Re: General Discussion
Post by: Cringe on April 10, 2014, 12:33:43 AM
Hello,

I took some time to write out a thoughtful critique from a first time player's perspective of the game after several hours of play. I don't know whats on your "To Do" or what has or hasn't been discussed to death. I'm playing version .45. All of my comments are focused on play-ability, presentation, and GUI.

First thoughts about the user interface after playing a short while.
Inconsistent
Messy
Disjointed
Busy
Clumsy

After several hours of playing.
The game is stuck between a Macro world and a Micro interface. You can have it both ways, you just need a different approach to the menu system and accessing information and management tools.


Suggestions that would (in my opinion of course) make the UI better.

General:
Pick a consistent set of UI elements and stick with them. Example; the “X” button has several different Icons and there are at least 4 distinct styles of “buttons.”


There are a metric fuckton of different Fonts. Font management is a huge part of a unifying look and feel to a game. Its especially important that it be legible, while the cute main-menu-information-panel-text looks cute, it’s harder to read.


The layout of the menus varies wildly. From the main menu 3 panel design with help text at the bottom, to the open map with floating help text, to the “narrative” scenes with a speech panel, to floating panels (like finance) to different styles textures and layouts for the Girls, Brothels and the labyrinth of menus within those menus which are all different from each other. Ah and the Hero menu which looks like no other menu and I almost forgot the options menu, less important but again with nothing in common.


The by-far best looking menu is the “Girls” Menu. It has good design and great functionality. It is one of the few menus with a solid organizational approach. The subtle background and clean layout make it stand out as a great menu. The one and only thing I would change is the “Page” button, move it from the top bar to the bottom of the page.


The Top Bar is also very good looking. Keep it consistent. If you going to put the next/previous page button on it, be consistent and always use that feature. The Bar would be an optimal place to put a “back” or “leave” button instead of “X” for shops and town places. Most importantly the less the bar changes menu to menu the better it will be as an anchor. Your web browser’s bar(s) don’t change with the web page, and neither should this one.
Full words instead of abbreviations would go a long way to usability too, you aren't short for space “Hero” “Save” “Load” wouldn't take much and would look much nicer. Icons could also work, everyone recognizes a Floppy for save or a Wrench/Gear for Options


Bottom “Help” panel (where information about what your hovering over is displayed) is extraordinarily inconsistent. It changes Size, Shape, Color, Position, Font, and Existence with every single menu.


End of Day Menu:
Finance is a critical component of the game, it seems stuffed away and hidden when it should be the first thing you see.
Put Total Earned, Expenses (Upkeep and Wages), Taxes (if not tax day, then the number of days until tax day) and the Net Earn/Loss as the first thing you see. Some 40 clicks later to see if it was tax day is not good. Keep the separate tax page, its still good to have a more detailed breakdown of that. (that explains the income tax etc.)

Bank: 9142$

Today’s Net Total:  200$
    Gross: 500$
        Whoring: 366$
        Guard: 100$
        Town Job: 34$     
    Expenses: 300$
        Upkeep: 150$
        Wages: 150$

This Week’s Net Total: 450$      (Adds up as the days go and resets after Tax Day)
    Taxes: (5 Days)
        Income:
        Property:

I like the “Next Day” button integration and position into the End of Day menu. However, without the aforementioned change its useless. Right now you can’t tell whether or not you are blundering into financial ruin without clicking to the last events. (even then you need to back out to the main menu to see your gold total) That would be fine if the limit was a single brothel, or just a handful of girls, but the scope that the game is trying to achieve does not allow it to be so.

Also When I was first playing, I hit “Next Day” thinking it would close the summary and start the beginning of the day and close this window. I hit it several times before my search lead me to the artistic “X” button. This Menu could use a more intuitive exit. (Something like an “Accept Report” button to share prominence with the “Next Day”?) To its credit, it IS consistent with the rest of the menus.


Finance:
I was Impressed by the Finance Menu(s). But It shouldn’t be buried in the Brothel or Girl menus. The Finance menu should be its own window with broad finances, that you then use to access specific brothel information or further to girl(s) information (who are in that brothel). Not accessed from the object you wish to examine. (eg find specific girl, click finances, repeat 10-20-...-100 times) This would streamline the Micro management and make it feel like a nicer blend of Macro-Micro. For example, tracking down an under-performing employee is awful when you have many.
This same “Top Down” to finer details approach to more aspects of the game will blend the Macro-micro game that you obviously want to happen. The details are there, stats, inventory, etc… The approach to managing them is way off.


Brothel Management:
Get rid of it as it is. Use the Girl menu layout, Put all of the brothels in (displayed like the girls). Grey-out un-purchased brothels. Functions Identical to Girl menu, click to manage a specific brothel. Give management menus proper menus, not transparent. Bam; two menus merged, usability and macro management increased and consistency increased.


City and Menus:
Actually I like these too, they don’t clash with anything and don’t feel disjointed from the rest of the game. I think a “Leave”, “Back” or “Home” button would be more intuitive than the “X”. When you figure out a consistent help panel I would add that to the scene. It could not only function as help, but also replace the narrative box when needed. (btw what is “MS” stand for?)


Shops are good enough, different “X” that blends in with the border, not a fan. Also it’s one of only 2 scenes that your Top bar disappears, not good.


Other:
The Inventory and Equipment function (for the girls) is much to micromanaged. The need to first transfer the items and then equip them goes too far, and through needless menus. Imagine doing this for ten or twenty girls!? Then remember the scope of your game, you could need to do this for a hundred easily. The most practical solution would be allow the girl access to your inventory when equipping things, then have it transfer automatically when it’s equipped.


If your going to use Wood Texture. You can’t resize wood texture. It doesn’t even match itself if you do. You need a big texture that you cookie-cut the menu out of, not a small one that you stretch the aspect ratio to fit every panel. Find your biggest Panel that uses it, make the texture that size, then don’t stretch to fit in others, instead crop the texture to fit them. Rotate grains of bordering panels perpendicular, parallel or fishboned.


My Biggest Remark
Consistency and Consolidation on their own would go a long way.

The End
I really hope this helps. Criticism (even constructive) of one’s work can really hurt sometimes, (its why we get so defensive) even small ones can create self doubt. I've kinda reamed you guys out in terms of criticism, and I’m sorry about that. Just remember, make what you think it should be, what you would be proud of, I’m just a schmuck who’s too busy fapping to make a game anyway (right?).
Title: Re: General Discussion
Post by: DarkTl on April 10, 2014, 01:16:27 AM
Security: I think one should be able to hire security from girls willing to be a warrior without going through girlsmeet disposition raising. You're paying a salary for a pretty cushy job where the warrior only occasionally has to take on an unruly customer.
There probably should be a difference between strong/famous  and weak/beginner warriors. Famous ones do not need a job that much, so you will need some disposition for a start.

...
We don't have an artist unfortunately. Xela is still hoping that we will have one and then will redone the whole interface.
Title: Re: General Discussion
Post by: glorer on April 10, 2014, 02:08:48 AM
If im allowed i will like to throw my two cents at this :p.


I think the at least these stats are a must

Obedience: how likely is for a girl to do what you tell them, this can increase trough specific training for this, events, and a little small amount (something like 0.2 or 0.5) if you put her to work in something she likes.

Loyalty: Obvious :p . This one have nothing to do with any other stat, but can be used for interesting events for ex:
 * A girl with high loyalty and low or even 0 obedience will still tick for you even if the chance to escape (in case of a slave) or non-payment or some event like an organization trying to free all slaves and the like happens.
 * A girl with low loyalty and high obedience will what you told her, but be sure she will kick you on the balls and go away at her first opportunity.
- This stat should be allowed to go down, if in the negatives she will try to sabotage you or event steal sutff from you before running away.
 
Pride: i think this one can be interesting, for ex:
 * A girl with high pride and and high disposition will do what you tell her even if her obedience is low.
 * A girl with high pride and low loyalty will fight you back, but a girl with high pride and high loyalty will try to protect you regardless of her disposition toward you.
This can make this stat an interesting double edged one, for one side you will try to get a girl with high pride for the benefits its bring in combination with other stats, in the other hand "raise" a girl with high pride and not losing it can be a challenge.
- Many thing can make her pride go down, like imprisonment in the dungeon (if implemented), insulting her, making her do something she hates, etc.
- This stat should only go up on rare events.
- A trait like prideful will make the girl always have high pride.

Fear: how scared she is of you,(ill assume a 0 - 100) it have different effects based how much is accumulated
* 0-30 > she is a bit scared of you but otherwise nothing really happens
* 30-70 > she is afraid of you and it shows (+15 obedience on checks, disposition raise slowly [-50%])
* 70-80 > she is is so scared she barely even breath out of fear (+30 obedience on checks, disposition only change negatively)
* 85-90 > she is terrified for real (+35 obedience on checks, disposition always go down on interactions but never below 0 [i assume disposition below 0 she is hating you])
* 90-100 > she wish she was on the other side of the world (+50 obedience checks, disposition always go down on interactions but never below 0, if sanity implemented her SAN will decrease by -2 with every interaction, increase change of running away by 30%)

Sanity: if dungeon exploration with monsters, magic and like will exists, i believe this is necessary.
- if remaining in a below 10 SAN eventually girl can get a trait like mindbroken or insane
- can raise slowly by making a "normal" everyday life or through treatment.
 
Disposition should be a hidden stat
 
 

 Skills
 
I think is better to start with a simple and general list of skills like combat, magic, sex and include a set of empty slots to be filled for ex:
 
 Combat xx/yy
 Magic xx/yy
 Sex xx/yy
-- empty skill --
-- empty skill --
-- empty skill --
-- empty skill --
-- empty skill --

this way some skills can be on the girl from the get go, others can be learned trough training (this will give more life to the academy), or from special npcs, the players is given more freedom on how to personalize the girls, of course the girls will have like, dislikes, and skills they will outright refuse to learn, which can make "raising" the girls more dynamic.



 Girls
 
Give the girls a basic personality, likes, dislikes, hates (things they will never do)



 Gameplay
 
No implement gangs like WM, i personally never liked them, make it so that everything you do is with your girls or with the MC, the only exception should be security, you can make it a service on the slave trade building where you can recruit girls to provide security to your buildings for a fee (these girls are not part of the ones you can manage, and as such no interaction can be made with them unless you find the in town).

Eventually add the ability to choose traits for the MC at the beginning.



 UI

A little thing when you are on the girl character screen and you over traits  the description change at the bottom, make it so that this happen to when the mouse over effects.[/i]
Title: Re: General Discussion
Post by: DarkTl on April 10, 2014, 05:15:09 AM
^These are very decent ideas, however you should be more clear about basic personality. Most of our characters (except random girls) should have a more or less unique personality, so it will be impossible to perfectly code for everyone.
Things like what they like, dislike, hate might depend on traits, but if you want more personal approach, you should give actual example of such a system.
Title: Re: General Discussion
Post by: DarkTl on April 10, 2014, 08:08:41 AM
Basically, I like obedience/loyality/pride system.

However, fear is probably an overkill as a separate stat. You probably cannot be loyal to someone you fear a lot, so fear could be negative loyality for example.
Title: Re: General Discussion
Post by: Xela on April 10, 2014, 08:16:14 AM
...

Noted, I am aware of gui's shortcomings but Dark has answered that already.

MS: Main Screen
==============================

...

Too many stats, we already have a lot, it's not realistic to keep track of for a small project. A good blueprint but there should be less stats and more depth. Also event driven system might work out better than stat driven one.
Title: Re: General Discussion
Post by: DarkTl on April 10, 2014, 08:40:19 AM
Also event driven system might work out better than stat driven one.
And what do you mean by that? How events can replace stats?
Title: Re: General Discussion
Post by: CherryWood on April 10, 2014, 08:58:42 AM
@Xela: I have a questing about pictures in gm girls selection:
I tried to replace tags in this:
Code: [Select]
use r_lightbutton(img=entry.show("bikini", "beach", exclude=["winter"], type="first_default", label_cache=True, resize=(300, 400)), return_value=['jump', entry])with a variable:
Code: [Select]
                    $citybeach_tags = '"bikini","beach"'     
                    use r_lightbutton(img=entry.show(citybeach_tags, exclude=["winter"], type="first_default", label_cache=True, resize=(300, 400)), return_value=['jump', entry])
but that's not working. How can I do something like that?
Title: Re: General Discussion
Post by: glorer on April 10, 2014, 09:55:10 AM

^These are very decent ideas, however you should be more clear about basic personality. Most of our characters (except random girls) should have a more or less unique personality, so it will be impossible to perfectly code for everyone.
Things like what they like, dislike, hate might depend on traits, but if you want more personal approach, you should give actual example of such a system.


ill use Anko as an example
Likes: showing off, exercise (this is what she says when you talk to her about her interest)
Dislikes: non-combat activities
Hates: cats (i know this one is unrealistic, everyone like cats XD but i need an example)




Likes (when doing something the girl like small increase on disposition +1/+2)


* Showing off:
     + All activities that require of her to be naked or half naked get a small little positive bonus  of +10%
     + Changing job to striper only need 400 disposition
     + You can convince her eventually to be always naked, this one is a double edged one, it will let her have the +10% bonus always, but if she gets hurt damage and recovery time increase by 10% and she will not wear armor/clothes of course


* Exercise:
    + Small bonus when performing athletic/combat training or other activities related +5%




Dislikes  (when doing something the girl dislike small decrease on disposition -1/-2)


* Non-combat activities
   - When performing activites not related to combat penalty -5%




Hates: when doing something the girl hate, regardless of what it is:
   - disposition decrease by -10
   - obedience decrease by -5
   - loyalty decrease by -1 (optional)
   - efficiency while performing the task -15%




As you can see there is a conflict between showing off and non-combat activities, in this case both, bonus and penalties, apply:
Bonus:  +10% +1/+2 disposition
Penalty -5%     -1/-2 disposition
End:     +5%




When doing something she hate the girl need high values, for example +80 obedience, +800 disposition and/or +80 loyalty (rounded the numbers :p), but due to the decreases, you will only make a girl do something she hates in case or great need, for ex:


You put Anko to protect a brothel with a catgirl inside, if Anko values are over the min required she will provide security for all, but the moment she get feed up (values go under min) she will protect the brothel but not the catgirl (she hates her after all).


In the example i used simple dislikes/likes like exercise and complex ones like showing off, for ex if she disliked showing off it changes like this:


 * Showing off:
     - All activities that require of her to be naked or half naked get a small little penalty  of -10%
     - Changing job to striper only need 1000 disposition
     - She may wear revealing clothes but suffer a penalty of -10% on all activities while wearing it, if naked penalty increase to -20% and a 2% of failing.


Basically these are things personal about the girls, meanwhile traits are physical/psychological characteristics.


** This information is show on the info page of the girl **
** All likes/dislike/hates appears as ? ? ? on the girl page until you talk with her about them, you cant know them if she, or someone else, doesnt tell you **
** Traits like heartless or emotionless make a girl to not have any likes/dislikes/hates, you need emotions for that after all **


 
Quote from: DarkTl
Basically, I like obedience/loyality/pride system.

However, fear is probably an overkill as a separate stat. You probably cannot be loyal to someone you fear a lot, so fear could be negative loyality for example.



In my opinion you can, but because the loyalty is totally tied to fear the moment she dont fear you any longer her loyalty disappears and she becomes aggravated even, in numbers for every +1 fear over 30 you get +1 loyalty but for every -1 fear you suffer -1.5 loyalty or even -2.
It is possible for you to do stuff for someone because you are scared of him/her, but the moment you are no longer scared you are bound to hold your ground or confront them, this is only my personal opinion




I hope i explained myself well enough :p
Title: Re: General Discussion
Post by: Xela on April 10, 2014, 01:58:27 PM
@Xela: I have a questing about pictures in gm girls selection:
I tried to replace tags in this:
Code: [Select]
use r_lightbutton(img=entry.show("bikini", "beach", exclude=["winter"], type="first_default", label_cache=True, resize=(300, 400)), return_value=['jump', entry])with a variable:
Code: [Select]
                    $citybeach_tags = '"bikini","beach"'     
                    use r_lightbutton(img=entry.show(citybeach_tags, exclude=["winter"], type="first_default", label_cache=True, resize=(300, 400)), return_value=['jump', entry])
but that's not working. How can I do something like that?

You're doing it right but forgetting to unpack the values. It should be entry.show(*citybeach_tags, ...), otherwise you pass a tuple of strings instead of individual strings as arguments.
Title: Re: General Discussion
Post by: Xela on April 10, 2014, 02:33:08 PM
I hope i explained myself well enough :p

Crystal clear but once again, it's a modding thing. There is no way that our team can apply a system like that for all girls, you're basically suggesting that we add yet another layer of properties to make girls different from one another while we cannot really properly manage even the layer (traits) we have today.

Everything that you propose with an exception of the jobs catgirls idea is already possible in girlsmeets/interactions through  individual girl modding and it's been made ridiculously easy. It will be possible for ST as well so there is no point to discuss likes/dislikes even further since it is something we leave to modders, bot the dev team.

And what do you mean by that? How events can replace stats?

With the goal being creating an enjoyable gaming experience, I mean exactly what I said.

Basically, working with loads and loads of stats is beyond boring and time consuming. Events are a bit easier to work with. What I suggest is that instead of having 4 or 5 new stats we just add one (obedience) and create loads of events that can occur during the training, add some NPCs that can help with it and so on.

Did you try the new Akabur game? It's (a lot) simpler that PyTFall logically but is a lot of fun... We could go with something like that instead of SM/Valet path, obviously transformed to reflect PyTFalls design/gameplay realities.

The thing is that I'm completely lost in all the traits, stats and items that we have now as it is, adding more seems like madness, we'll end up killing the development. We already have more than enough to create great gameplay value, in fact, we can prolly even scale down a bit.
Title: Re: General Discussion
Post by: CherryWood on April 10, 2014, 04:36:25 PM

I would personally prefer to just keep +- current stats (or even less stats than we have now as I seriously think that presence of intelligence, character and charisma is debatable) and use mainly traits. We have a lot of them, and it's easy to just add new if there is something missing - or use another thing we already have, effects. I mean, things like "she is mad at you" and everything could be effects too I believe.

Did you try the new Akabur game?
Can you send a link? If it's something useful to see....
Title: Re: General Discussion
Post by: Kuraku on April 10, 2014, 04:46:58 PM
Ok got a question regarding Grillz  8) :

Topic of my question is insertion (phrasing!) and removal in an active game, i.e. I found or created some nice extra Girl  ??? and want her in my game.
How can one go about this? Last time i removed some unwanted individual, I kinda shot the whole game, :-[ receiving a *missing image* error at a lot of times.

You guys probably gonna tell that new girls added to the 'chars' folder will pop up once I start a new game.  Well heck no  :o , I didnt spend 20 hours building my Brothel business to start anew right away bcs of this. Is there a solution to integrate them into the active game somehow? Happy to take any advice on this case.  :-\

Regards  ~ 苦楽
 
Title: Re: General Discussion
Post by: h3nta1fun on April 10, 2014, 05:05:26 PM
Ok got a question regarding Grillz  8) :

Topic of my question is insertion (phrasing!) and removal in an active game, i.e. I found or created some nice extra Girl  ??? and want her in my game.
How can one go about this? Last time i removed some unwanted individual, I kinda shot the whole game, :-[ receiving a *missing image* error at a lot of times.

You guys probably gonna tell that new girls added to the 'chars' folder will pop up once I start a new game.  Well heck no  :o , I didnt spend 20 hours building my Brothel business to start anew right away bcs of this. Is there a solution to integrate them into the active game somehow? Happy to take any advice on this case.  :-\

Regards  ~ 苦楽


It may be a bit harsh, but there is no current way of adding or removing girls or images in an active save file  :(


The girl linitation was also present in the original WM, as the game populates the girl list at the beginning of the game, plus the image list as well ( the last limitation wasn't in the WM).


The image thing could be solved if the game rescans the girl folders for new/removed images at the beginning of a new session. Although it may be not as simple as it sounds, based at how it is coded. The other issue is a bit more difficult, especially if you want to remove an existing girl.


Still, the game is just an early alpha and Xela might find a way around some of that eventually.
Title: Re: General Discussion
Post by: DarkTl on April 11, 2014, 12:52:27 AM
I'll try that new game, however in my opinion it is easier to add a couple of stats than write a couple dozens of unique events.

Maybe we should postpone ST for now (since we don't even have a clear concept yet) and add life simulation for girls instead?
Title: Re: General Discussion
Post by: Xela on April 11, 2014, 03:24:53 AM
Can you send a link? If it's something useful to see....

https://mega.co.nz/#!P9ZwgDiQ!f03qauEULD35bQjrJve20Oah7vNdSNpY4UgPv9BOXnk

Strongly doubt that it's your thing...

Maybe we should postpone ST for now (since we don't even have a clear concept yet) and add life simulation for girls instead?

We still have time to discuss this and we can always change it in the process. Regardless of what approach we will take, I need to create buildings/escape system/logic skeleton first that would be the same for any option.

I'll try that new game, however in my opinion it is easier to add a couple of stats than write a couple dozens of unique events.

I am less certain of that.

Still, the game is just an early alpha and Xela might find a way around some of that eventually.

Adding new characters/traits/items/pics should be easy enough (would take 30 - 60 minutes to code in), removing them will have to wait a while...
Title: Re: General Discussion
Post by: DarkTl on April 11, 2014, 04:08:45 AM
We still have time to discuss this and we can always change it in the process. Regardless of what approach we will take, I need to create buildings/escape system/logic skeleton first that would be the same for any option.
Time to create ST thead and discuss buildings/escape system at very least?  :)
Title: Re: General Discussion
Post by: CherryWood on April 11, 2014, 04:53:15 AM
You're doing it right but forgetting to unpack the values. It should be entry.show(*citybeach_tags, ...), otherwise you pass a tuple of strings instead of individual strings as arguments.
Thanks. That helped me, but as I still don't understand this much, I got stuck with the same after a while again. I suppose I could just ask about the whole thing. I want to make something with a structure like this (to replace the excluding):
Code: [Select]
$citybeach_tags_list = []

if chr.has_image("gm","beach"):
    $citybeach_tags_list.append(("gm","beach"))
if chr.has_image("gm","bikini","simple bg"):
    $citybeach_tags_list.append(("gm","bikini","simple bg"))
if chr.has_image("gm","swimsuit","simple bg"):
    $citybeach_tags_list.append(("gm","swimsuit","simple bg"))
if chr.has_image("gm","bikini","generic outdoor"):
    $citybeach_tags_list.append(("gm","bikini","generic outdoor"))   
if chr.has_image("gm","swimsuit","generic outdoor"):
    $citybeach_tags_list.append(("gm","swimsuit","generic outdoor"))

if not citybeach_tags_list:
    if chr.has_image("gm","generic outdoor"):
        $citybeach_tags_list.append(("gm","generic outdoor"))
    if chr.has_image("gm","simple bg"):
        $citybeach_tags_list.append(("gm","simple bg"))   
   
if not citybeach_tags_list:
    $citybeach_tags_list.append(("profile"))
   
$citybeach_tags = random.choice(citybeach_tags_list)

use r_lightbutton(img=entry.show(*citybeach_tags, label_cache=True, resize=(300, 400)), return_value=['jump', entry])
(not working)
Title: Re: General Discussion
Post by: Xela on April 11, 2014, 05:50:56 AM
...

I see nothing wrong with that code, it should work.

The way *args works is simple, you have a container (tuple in your case). If you pass it as an argument, it will pass the tuple that show method doesn't know what to do with. If you add the * to it, it will unpack the tuple and you get the effect you wanted.

I assume you have created a girl with "gm" tags?

====================
Edit:
Did you assign chr to the girl? This is before chr is set for the girlsmeets so unless you have something like $ chr = entry, it will not work. Or you can just auto-replace all chr with entry so it reads:

Code: [Select]
if entry.has_image(...):
    bla bla bla
Title: Re: General Discussion
Post by: Xela on April 11, 2014, 06:15:23 AM
(or even less stats than we have now as I seriously think that presence of intelligence, character and charisma is debatable) and use mainly traits.

BTW:

This should be #1 topic for debate at the moment. Specifically character and partly intelligence. We have traits that cover those so it's basically doing the same thing twice in a sh!tty way since stats often do not match the traits after 200 - 300 days in the game.

I've started #2 topic (ST) in a separate thread and will post some ideas on it shortly.
Title: Re: General Discussion
Post by: crazydave on April 11, 2014, 09:14:43 AM
Jumping into the discussion a little late, but my opinion regarding stats and traits is this.


Too many stats like Whoremaster get annoying micromanaging, especially when Obedience, Spirit, Love, Finances, Tiredness, all COMBINED with TRAITS AS WELL, influence the stat you care about Rebelliousness.


In that system I would prefer something more simple that was more reliant on traits.


Too few stats like Otherworld don't give you many options.  Health covers Health, Tiredness, Fitness, Constitution.  The "effect" of love just adds +1 Obedience per turn.


In that system, it would help to have traits that personalized each girl.




So what I'm trying to say is, 8-10 stats are good and necessary to display the generic information you need to know.  But the girls should display their unique qualities through traits, not random numbers.  In my opinion you don't need a BDSM "stat" you can simply have 4 tiers of traits.  Like Slavemaster 3 does.


Tier 0: The girl has no skill or desire for BDSM.  (The same as 0/100 in a stat)
Tier 1: The girl is alright with it. (25/100)
Tier 2: The girl is good at it. (50/100)
Tier 3: The girl is great at it. (75/100)
Tier 4: The girl is awesome at it. (100/100)


Instead of grinding the skill points each action, the system could simply have a chance at an event each time which might raise her skill.  Maybe if you want to reduce RNG, add a counter that adds an additional 1% chance to trigger each time the skill is used that resets once the event is triggered.


This way instead of having a list of 50 stats and numbers, you have 8-10 stats which are general "need to know" information, and you have her traits/skills which are more summarized "at a glance".


That's how I'd do it if I was creating a game.
Title: Re: General Discussion
Post by: CherryWood on April 11, 2014, 09:19:48 AM
Did you assign chr to the girl? This is before chr is set for the girlsmeets so unless you have something like $ chr = entry, it will not work. Or you can just auto-replace all chr with entry so it reads:

Code: [Select]
if entry.has_image(...):
    bla bla bla
Thanks, with this, it selects the images I wanted.
But in the end it's good for nothing, as the image is changed every time I hover over any button or reenter the screen. I guess it was a pretty stupid idea to put something randomized into screen definition  :)


btw. that akabur's game really is fun.
Title: Re: General Discussion
Post by: DarkTl on April 11, 2014, 12:28:11 PM
It is fun, too bad it is not finished completely, no final scene with Lola for example, dammit.
It is also interesting thanks to multiple interactive activities and dialogues, as well as good writing. I enjoyed it even despite the fact that I dislike such type of drawing.

But it is a linear VN quest. It's not even a brothel simulator, and we aiming for something bigger (since brothels won't be mandatory).
Unless you know someone who will write for us about the same amout of texts and events for every girl (or at least for every trait and their combinations), in which case I don't mind  ::)
Title: Re: General Discussion
Post by: Xela on April 11, 2014, 01:32:03 PM
Unless you know someone who will write for us about the same amout of texts and events for every girl (or at least for every trait and their combinations), in which case I don't mind  ::)

We don't need 'em for every girl, just relevant traits.

Thanks, with this, it selects the images I wanted.
But in the end it's good for nothing, as the image is changed every time I hover over any button or reenter the screen. I guess it was a pretty stupid idea to put something randomized into screen definition  :)

Far from stupid, it will be a shitty mess if done as a part show method itself so your way is likely the best way of doing it, you just need to prevent the code from running every time screen is being redrawn.

Set this as girl's individual flag:

Code: [Select]
if not entry.flag("beach_tags") or entry.flag("beach_tags")[0] < day:
    # ...your entire choice code here, it should end with:
    $ entry.set_flag("beach_tags", (day, random.choice(citybeach_tags_list))) # instead of:
    # $ citybeach_tags = random.choice(citybeach_tags_list)

use r_lightbutton(img=entry.show(*entry.flag("beach_tags")[1], label_cache=True, resize=(300, 400)), return_value=['jump', entry])

Not tested but this should work (or at least a variant of this should work if I made a typo somewhere).
Title: Re: General Discussion
Post by: Xela on April 11, 2014, 01:40:57 PM
...

That's pretty much what I've meant, obscuring stats is optional but having stats for stuff we already express with traits really well is messy and difficult to work with.


----------
Also:

Someone has suggested that we do something about charisma (beauty) stat. It's kind of lame when you have a super pretty picture of a girl and she has a charisma of 30 while another girl who already has a level of 50 has charisma of 150.

We could turn charisma into another static stat with fixed min and max like disposition or luck that cannot be risen with the level ups? What do you guys think?
Title: Re: General Discussion
Post by: lamoli on April 11, 2014, 01:59:47 PM

Too many stats like Whoremaster get annoying micromanaging, especially when Obedience, Spirit, Love, Finances, Tiredness, all COMBINED with TRAITS AS WELL, influence the stat you care about Rebelliousness.


Better make both and on config menu to chose if you like micro management or not..

personally the more complex ( with explanation.. on how stat works unlike WM ) the better

making them do what you want by either training em in obedience or breaking their spirit ( maybe more for slaves than free girls ) or love/hate (talking to them/going out/events) or even making them fear and obey you even if they hate you....
Title: Re: General Discussion
Post by: Xela on April 11, 2014, 02:02:46 PM
Better make both and on config menu to chose if you like micro management or not..

Not doable with a small team, one way needs to be chosen.
Title: Re: General Discussion
Post by: lamoli on April 11, 2014, 02:11:32 PM
Not doable with a small team, one way needs to be chosen.

understandable..

Since i liked girl stats/traits/jobs of WM and simbro (sibrx version) girl management/interactions/tree skills/perks/building managements
and looked like you where possibly planing to use the otherworld outffiting/body dummy option in the future

im watching your project closely hoping it will end up even better...
Title: Re: General Discussion
Post by: Xela on April 11, 2014, 02:19:26 PM
and looked like you where possibly planing to use the otherworld outffiting/body dummy option in the future

I don't expect that it will be difficult to code but with the amount of items/girls that we have in the game... amount of content required is absurd.
Title: Re: General Discussion
Post by: CherryWood on April 11, 2014, 03:01:03 PM
We could turn charisma into another static stat with fixed min and max like disposition or luck that cannot be risen with the level ups? What do you guys think?
Charisma stat, in the meaning of physical appearance (=beauty), doesn't make much sense as something you can learn. Girl just grow to be like that (represented with traits like "great figure") or not. Same with intelligence.
But it can also mean "presence", or "charm" which is something that can be improved by training (learning how to speak, how to pose, keep yourself well-groomed, dress with style, how to keep your composure, something from psychology...etc.).
But that is pretty much covered with refinement (stylish part) or character (intimidating part) stats...




heh, there are even games where you can choose what "style" a girls is pursuing, like "sexy", "cute", "cool"... 


seriously no idea...


Wouldn't it be better to think about it (and also that slave-training) from the other side? Think about some job events and then what stat/trait/something those event's could use?


Like, from situation when some ugly/dirty/rude comes to a brother, it's obvious that we need some torelance/obedience/pride stat or traits (we have a few like that) to know if a girls is willing to deal with them or not.
Title: Re: General Discussion
Post by: Xela on April 11, 2014, 03:12:17 PM
Wouldn't it be better to think about it (and also that slave-training) from the other side? Think about some job events and then what stat/trait/something those event's could use?

My point exactly...

PS: Tell me if girl flags work out in the screen when you get that done.
Title: Re: General Discussion
Post by: CherryWood on April 11, 2014, 03:47:00 PM
PS: Tell me if girl flags work out in the screen when you get that done.
Just did that and it seems to be working!


Now I need to try it on other locations and tag a few girls to test how it's look... may take a while


Then I probably look at buidings, gms or finishing haruhi pack.
Title: Re: General Discussion
Post by: DarkTl on April 12, 2014, 04:45:58 AM
This should be #1 topic for debate at the moment. Specifically character and partly intelligence. We have traits that cover those so it's basically doing the same thing twice in a sh!tty way since stats often do not match the traits after 200 - 300 days in the game.
and
Tier 0: The girl has no skill or desire for BDSM.  (The same as 0/100 in a stat)
Tier 1: The girl is alright with it. (25/100)
Tier 2: The girl is good at it. (50/100)
Tier 3: The girl is great at it. (75/100)
Tier 4: The girl is awesome at it. (100/100)
are basically Valet approach, where you see not numbers, but approximate text description of the current stat value. I don't mind it, even though it will require considerable amount of work to change our system this way.

We don't need 'em for every girl, just relevant traits.
I hope you are not going to copy "slave training" from that game. There you just grind gold and then spend it in the slave training school, it hardly could be called an actual training. By yourself you only decrease princess's popularity.

Someone has suggested that we do something about charisma (beauty) stat. It's kind of lame when you have a super pretty picture of a girl and she has a charisma of 30 while another girl who already has a level of 50 has charisma of 150.

We could turn charisma into another static stat with fixed min and max like disposition or luck that cannot be risen with the level ups? What do you guys think?
If you suggest us to set girls beauty according to our preferences by 100-point scale, it will be one big subjective mess.
There are also things like dresses, makeups and perfumes that should increase beauty even for already beautiful characters.

heh, there are even games where you can choose what "style" a girls is pursuing, like "sexy", "cute", "cool"... 
Maybe something along these lines... Then again, it's quite subjective, but not as subjective as 100-point charisma scale or something.
Title: Re: General Discussion
Post by: Xela on April 12, 2014, 05:24:06 AM
andare basically Valet approach, where you see not numbers, but approximate text description of the current stat value. I don't mind it, even though it will require considerable amount of work to change our system this way.

Obscuring stats is easy, it's already done with dirt in the brothel. I am not sure it adds value to the game and if we go that way, I'd like something better than average/good/great/awesome.

I hope you are not going to copy "slave training" from that game. There you just grind gold and then spend it in the slave training school, it hardly could be called an actual training. By yourself you only decrease princess's popularity.

No, I said the concept with adaptation to PyTFall's realities. Event driven instead of stats driven.

If you suggest us to set girls beauty according to our preferences by 100-point scale, it will be one big subjective mess.
There are also things like dresses, makeups and perfumes that should increase beauty even for already beautiful characters.
Maybe something along these lines... Then again, it's quite subjective, but not as subjective as 100-point charisma scale or something.

Forget about "subjective messes", it's not really applicable since 90% of stuff in the game is debatable from perfectly logical viewpoints. You have an issue with calling a girl cute for example, I don't. We just need to set the concept and work with it.

Stats are a very serious issue, especially from development perspective, they often repeat traits and consume insane amount of time to balance but have/will have purpose in future, like intelligence stat is currently being used only for guard even where an intelligent girl can find a way to resolve the situation peacefully. However in the future, we'll have stuff like Alchemy, maybe scrolls and it can find a very realistic uses there for example.

Charisma is already being used all over the place so getting rid of it will take time as it is... also it may be used for requests.

Basically whatever we do with the stats, we need to consider and review from all angles before we make a final decision.
Title: Re: General Discussion
Post by: DarkTl on April 12, 2014, 06:06:08 AM
Forget about "subjective messes", it's not really applicable since 90% of stuff in the game is debatable from perfectly logical viewpoints. You have an issue with calling a girl cute for example, I don't. We just need to set the concept and work with it.
They all are cute. Well, almost all. Thus, it hardly could be used in the game because if everyone are cute, then we might as well ignore this characteristic  :D

But if we'll have an item, like a dress, that gives cute trait when equipped because it is a cute dress, then it makes sense.

Stats are a very serious issue, especially from development perspective, they often repeat traits and consume insane amount of time to balance but have/will have purpose in future, like intelligence stat is currently being used only for guard even where an intelligent girl can find a way to resolve the situation peacefully. However in the future, we'll have stuff like Alchemy, maybe scrolls and it can find a very realistic uses there for example.

Charisma is already being used all over the place so getting rid of it will take time as it is... also it may be used for requests.
That's why I mentioned Valet approach. Just like with intelligence, where we have traits from retarded to genius, we could do the same with other stats, including charisma, from ugly (ok, we don't have ugly pics, maybe unattractive) to stunning. We even could use more "levels" for stats that could use them.
Title: Re: General Discussion
Post by: DarkTl on April 12, 2014, 10:46:36 AM
Here we go. (http://heartbleed.com/)

We probably should change all passwords, even google is affected  ::)
Title: Re: General Discussion
Post by: Xela on April 12, 2014, 01:45:53 PM
We probably should change all passwords, even google is affected  ::)

Would take days... is this confirmed by independent pros/tweakers or is this some bs again?

Never mind... looks like it's legit.
Title: Re: General Discussion
Post by: DarkTl on April 14, 2014, 05:21:46 AM
Wow, we have a first independent pack maker (http://www.pinkpetal.org/index.php?topic=3410.0) :)
Title: Re: General Discussion
Post by: CherryWood on April 14, 2014, 06:20:29 AM
Wow, we have a first independent pack maker
 I really hope that people understand that there will be changes that will probably require updates of girlpacks in the future.
Title: Re: General Discussion
Post by: Xela on April 14, 2014, 12:52:06 PM
I am too tired tonight, but will look into creating a modding thread for independent packs in the future.

Edit: weird design, I am not entirely sure it's supported by the patches version, dev version should run it without any issues. The bottomline is that it's not tagged...
Title: Re: General Discussion
Post by: CherryWood on April 14, 2014, 04:18:20 PM
I was checking tags in various places, and a place I have most issues with is the rest job. It uses some trait based selection of lines and pictures, which is not a bad idea, but in current implementation it results mostly in just showing profile pics (due to lacks such pics) to a point, where "rest" tag category (which is made for this) is only very scarcely used - and that just doesn't look very good.
There are some great texts (but some weird too) and situations, but I would like to achieve a bit better matching with pictures somehow.

Also some of rest pics have things that could never be trait dependable, like taking a walk in a park, sleeping... so adding some picture based texts can work there. (and, if girl have "reading" a book picture, why she have to be smart to display text that she is reading a book?)
Maybe we could use some sort of reverse technique, randomly selecting a "rest" picture first and then display text based on what other tags that selected picture have...

I would like to put some effort into this, but figuring out a good logic for this is probably a bit too much for me...

May I ask about your option there?

============

I studied jobs further:

Blowjob pics are not used at all, because deepthroat, footjobs and handjobs are taking priority over them (titfuck is not used at all). As normal blowjobs pics are the majority for most girls, this leads to displaying only very few pictures repeatedly.

Problem is, that for standard"blowjob" (http://2imgs.com/2i/i/534ce70f/b710ff003a4684f07a11aedd5300f7e5/bd76b69c4f.f.jpg)
pics.,there is no subtag to select them by it, so the game is taking then as leftovers, and never display them unless there is nothing else.

This is, more and less, repeated everywhere, for example "les" pics without secondary tags (imagine a pic with 2 girls close to each other but not doing anything yet example (http://2imgs.com/2i/i/534ce5c5/40b2a94ab7488eb933788537cefb21da/ac67a78d5e.f.jpg)) are also not used.

So the question is, should we change the way we tag pictures (putting subtags everywhere? I do not mind, but I'm not the one with most girls) or could solution for this be coded in?


If not "read" tags, then maybe something alike .has_image but with option to select tags that must not be there (and excluding them later in show)?
Title: Re: General Discussion
Post by: Xela on April 15, 2014, 04:11:35 AM
I was checking tags in various places, and a place I have most issues with is the rest job. It uses some trait based selection of lines and pictures, which is not a bad idea, but in current implementation it results mostly in just showing profile pics (due to lacks such pics) to a point, where "rest" tag category (which is made for this) is only very scarcely used - and that just doesn't look very good.
There are some great texts (but some weird too) and situations, but I would like to achieve a bit better matching with pictures somehow.

Also some of rest pics have things that could never be trait dependable, like taking a walk in a park, sleeping... so adding some picture based texts can work there. (and, if girl have "reading" a book picture, why she have to be smart to display text that she is reading a book?)
Maybe we could use some sort of reverse technique, randomly selecting a "rest" picture first and then display text based on what other tags that selected picture have...

I would like to put some effort into this, but figuring out a good logic for this is probably a bit too much for me...

May I ask about your option there?

Ghhm... I wouldn't say that I vividly remember that code, it's very old but maybe we could pick one of this solutions if you believe that there's a problem:

- Set self.img to rest picture at start of a job and perform checks before setting it to anything else but that (or maybe even running the traits checks).
- Perform tag checks at the same time as we check for matched trait
- Create a variable named tags and set it to the required tag instead of picking the image. Then:

default = self.girl.show("rest", resize=(bla, bla))
self.img = self.girl.show(tags, resize=(bla, bla), DEFAULT=default)

(basically a variation of first option)

There are other ways to go I expect...


I studied jobs further:

Blowjob pics are not used at all, because deepthroat, footjobs and handjobs are taking priority over them (titfuck is not used at all). As normal blowjobs pics are the majority for most girls, this leads to displaying only very few pictures repeatedly.

Problem is, that for standard"blowjob" (http://2imgs.com/2i/i/534ce70f/b710ff003a4684f07a11aedd5300f7e5/bd76b69c4f.f.jpg)
pics.,there is no subtag to select them by it, so the game is taking then as leftovers, and never display them unless there is nothing else.

This is, more and less, repeated everywhere, for example "les" pics without secondary tags (imagine a pic with 2 girls close to each other but not doing anything yet example (http://2imgs.com/2i/i/534ce5c5/40b2a94ab7488eb933788537cefb21da/ac67a78d5e.f.jpg)) are also not used.

So the question is, should we change the way we tag pictures (putting subtags everywhere? I do not mind, but I'm not the one with most girls) or could solution for this be coded in?


If not "read" tags, then maybe something alike .has_image but with option to select tags that must not be there (and excluding them later in show)?

Really? I rushed that part... but I thought that was fixed! The simplest way of fixing that issue is to add the default action to the list. The way it works is as this:

- Game checks availability of images for a number of actions.
- If a picture for an action is available, that action is added to the list.
- Game randomly picks an action from the list and adds texts/picture based on that action.

So if a default action like just "les" is added to the list (maybe even two or three times), it will make improve the situation. It's obviously not a perfect solution but it will do for now. This might get better after we create a better version of how images are tagged...

========
Otherwise, the biggest problem with this is obviously that we check images inside of the jobs method :) It was simpler to code but it should be moved elsewhere and done once, at the game start. There is a very early version of that in Girls class.
Title: Re: General Discussion
Post by: CherryWood on April 15, 2014, 09:23:22 AM
I may be able to do something like that... but the code may get really messy as a result.
So as you say, I suppose that running all these checks once at game start will be much better...

Maybe it will be best if I do something else for now----
Title: Re: General Discussion
Post by: Xela on April 15, 2014, 09:54:20 AM
I'll do the run once thing myself :) Going to try to get back into 2 hours per day development soon cause clearing days as I've planned doesn't work out.
Title: Re: General Discussion
Post by: DarkTl on April 15, 2014, 10:31:18 AM
I'm still busy with g.e.hentai. Found tons of great backgrounds and some good npcs and mobs sprites, not to mention enough material for 8 high quality random packs. And I'm still at 96 page (approximately one-third) despite doing it for three weeks every working day, like 6-7 hours per day  :D

Maybe it will be best if I do something else for now----
We could use descriptions for effects. And race traits, as general as possible, like elven blood (any elf) or celestial origin (angels, goddesses, etc).
Title: Re: General Discussion
Post by: CherryWood on April 15, 2014, 03:11:03 PM
@Xela: I'm sorry to ask again, but you never gave me answer that I could easily understand.


Girl"A" have two images, tagged as:
1. "Orange" 
2. "Orange", "Juice"


Girl"B" have only one image:
1. "Orange", "Juice"


I can be sure, with has_image function, that both girls have a "Orange"+"Juice" image.
So I can safely display that picture with text "This girl is drinking orange juice!"


I can display 1st. "Orange" image for Girl"A" using show "Orange" with exclude=["Juice"]
That should go with text "This girl is eating oranges!"
But when use it on Girl"B", I get text  "This girl is eating oranges!" with a picture with an orange juice. Not good.


Is there a way to know that Girl"B" have no image tagged just "Orange"? So I can know I should not try to look for it? And vise-versa, can I know there is one for "Girl"A"?


This is a little counter-intuitive, as a right text for "Orange" tag would be "This girl is enjoying the taste of oranges" or something else applicable for both cases, following our "Main tag" logic as we planned it. But sadly, the tags as we used them are not always like that.

 (sry for this lame example)
Title: Re: General Discussion
Post by: Xela on April 15, 2014, 04:23:36 PM
There are ways but some things are just awkward I suppose, not mensioning resources hungry...

If you want to know if a girl has an image that is tagged JUST "orange", you'll have to make a list of all tags, then do something like:

Code: [Select]
exclude_tags = all_tags * 1 # (*1 basically copies the list instead of just assigning a label to the variable that point to the same list, it's a bit safer, you can also use copy.copy(all_tags), it's longer but better python).
exclude_tags.remove("orange")
if chr.has_image("orange", exclude=exclude_tags):
    # do something...

But it's slow (if done a few hundreds/thousands times) and awkward as I've already said... there is a lot that can be done about it like implementing memorandums or building the tags database differently or some combination of both but I don't know if it's all worth the effort.


=========
Edit:

If this is still in reference to the whore job thing, it's prolly simpler just to to add the default choice to the random choice list couple of times, it'll be an acceptable solution (I thought it worked like that already but I prolly forgot something somewhere).

Basically this does something like that:
Code: [Select]
                acts = list()
                # We'll be adding "les" here as Many lesbian pics do not fall in any of the categories and will never be called...
                acts.append("les")

BTW: If you're planning to put some serious time into jobs, I may have a task for you restructuring the way we handle texts, performance is not very good with lots of girls at the moment and there are many ways to improve upon it, one of those ways being this:

Right now we do either this:

self.txt = ""
self.txt += "First text"

or slightly faster:

self.txt = "".join([self.txt, "Second text"])

and so on. Both slow thing down somewhat and proper thing should look like:

self.txt = list()
self.txt.append("First text")
self.txt.append("Second text")

and in the end:

self.txt = "".join(self.txt)

It's not a big priority but it'll have to be done at some point and it looks a lot cleaner, not mentioning works faster (and Python on average builds strings 3x slower than Java/10x slower than C++ so making mistakes in that area is pricy...)
Title: Re: General Discussion
Post by: CherryWood on April 15, 2014, 05:16:14 PM
Thanks a lot, this I can understand much better.


So it is possible, but not good for anything that is repeated a lot.

Doing it once in girl class could probably solve it then, but it's still awkward...




Then I suppose, having a "leftover" tag for every main tag category will be a best solution:


secondary "blowjob" for blowjob (need a better name)
"undefined position" for sex
"solo" for groups/bondage
"other activity" for rest
...


so we can do easy sorting and fast calls


============
Don't believe default choice can be a proper solution. It can improve it a bit right now, but it will suffer from bad texts like in that "orange" example, wouldn't it?

=============
missed your edit: Ok, I can look into that text think...


btw. It's not that I'm that much into this kind of work, but putting time into making a girlpack with all these time consuming tagging and then see that it it's not displayed properly is a bit irritating  :)
Title: Re: General Discussion
Post by: CherryWood on April 16, 2014, 01:47:07 PM
and in the end:

self.txt = "".join(self.txt)

How can I recognize where to create this "end"?
Title: Re: General Discussion
Post by: Xela on April 16, 2014, 02:52:49 PM
How can I recognize where to create this "end"?

Anywhere between last self.txt.append() statement and self.finish_job() method call but it'll prolly be safer to do something like changing this:

Code: [Select]
        def create_event(self):
            '''Returns an event depicting the current state of this job.
            '''
            evt = Event(type='girlreport', imginfo=self.img, txt=self.txt,
                        girl=self.girl, girlmod=self.girlmod,
                        loc=self.brothel, locmod=self.brothelmod)
            return evt

to

Code: [Select]
        def create_event(self):
            '''Returns an event depicting the current state of this job.
            '''
            if isinstance(self.txt, list):
                self.txt = "".join(self.txt)
            evt = Event(type='girlreport', imginfo=self.img, txt=self.txt,
                        girl=self.girl, girlmod=self.girlmod,
                        loc=self.brothel, locmod=self.brothelmod)
            return evt

in the Job base class because this way it will only have to be done once and not yet converted jobs will keep on working just the way that they were.
Title: Re: General Discussion
Post by: CherryWood on April 17, 2014, 08:13:48 AM
Ok, it's done
 - replaced self.txt to use a list
- added gold color when it was missing
- enabled titsjob with some lines
- deleted excluding of group/bdsm

Dunno how to see if something improved  :)
Title: Re: General Discussion
Post by: Xela on April 17, 2014, 02:07:54 PM
Ok, it's done
 - replaced self.txt to use a list
- added gold color when it was missing
- enabled titsjob with some lines
- deleted excluding of group/bdsm

Dunno how to see if something improved  :)

It can be testing in the 1000 girls mode if that is timed... I personally believe that it just is :)
Title: Re: General Discussion
Post by: CherryWood on April 21, 2014, 05:29:17 PM
Is it not possible to set unique girls stats to zero? (Or 1 at least)When I write for example refinement = "0"  in her data.xml,  she have some strange random value in game.
 ...if this is some system limitation, will it be ok to set such stat in her start_id instead?
Title: Re: General Discussion
Post by: Xela on April 21, 2014, 10:28:57 PM
Is it not possible to set unique girls stats to zero?

No.

...if this is some system limitation, will it be ok to set such stat in her start_id instead?

Yes.
Title: Re: General Discussion
Post by: CherryWood on April 22, 2014, 06:55:34 AM
Ok, np, I figured out how it works.


But something similar, how is "luck" calculated form girls .xmls?
I assumed it should be simply a value from -50 to 50,  but when I set  luck = '-40'  there, my girl only have luck -3, even with unlucky trait. With luck = "50" i get luck 1...


-------
- pushed a small text placement adjustment for profile screen
Title: Re: General Discussion
Post by: Xela on April 26, 2014, 07:20:55 AM
But something similar, how is "luck" calculated form girls .xmls?

Fixed, it was a bug.
Title: Re: General Discussion
Post by: Xela on April 27, 2014, 08:34:01 AM
SF Updated:

- Crazy tags loading code vastly improved
- Equipping girls directly from hero's inventory option added (been requested many times across all forums)

======
I'll try to come up with something else to do for tonight.

Edit: @CW: Can you push the Next Day report screens you've been working on? I can finish them myself.
Title: Re: General Discussion
Post by: CherryWood on April 28, 2014, 05:27:47 AM
Edit: @CW: Can you push the Next Day report screens you've been working on? I can finish them myself.
No, sorry. I didn't work on it yet, so there is so little code that it's not worth using at all.
Should I try to create that screen? I was doing something else, but if you want, I can look into it later this week when I will have some time again.
Title: Re: General Discussion
Post by: Xela on April 28, 2014, 06:13:00 AM
No, sorry. I didn't work on it yet, so there is so little code that it's not worth using at all.
Should I try to create that screen? I was doing something else, but if you want, I can look into it later this week when I will have some time again.

I don't really understand... if that pic was from the game, you already have the screens and positioning down. I don't really know what to work on right now, report screen seemed like a good bet because the more new features we create (like slave training) while using the old report screen, the more we'll have to review/change in the future. Just looked to me like you've done a lot of work building/positioning stuff and even if some of the stuff there were just placeholders, it'd be easier for me to get the logic down.
Title: Re: General Discussion
Post by: CherryWood on April 28, 2014, 07:07:18 AM
I don't really understand... if that pic was from the game, you already have the screens and positioning down.
Lol, I understand now... Sorry to disappoint you, but that wasn't from the game, it was just photoshoped pic meant as a concept,  just like the sketches Overhao drew in early development.


I tried to make the real thing after that, but because I didn't have any time this two weeks, there's virtually nothing here yet  :( .
(http://img24.eu/m-sd3gh35t.jpg)  (http://img24.eu/v-sd3gh35t.jpg)only some copypasted parts of other screens.


If you want a report screen now, you probably have do it yourself from a scratch, because I seriously lack the skills to do anything good from it in a reasonable time (I never tried a screen before so I need to look into tutorials for almost everything).
Title: Re: General Discussion
Post by: Xela on April 28, 2014, 11:00:47 AM
Aaah, ok, now I see :)

Well, I could prolly use your sketches for modelling or something. Going to think about it for a while.
Title: Re: General Discussion
Post by: CherryWood on April 28, 2014, 11:19:59 AM
Aaah, ok, now I see :)

Well, I could prolly use your sketches for modelling or something. Going to think about it for a while.
Sorry... :-[

That sketch was pretty random, I don't really agree with it anymore (especially the whole left side is really bad).


Do you want to talk about screen design?
But I'm not sure how to decide on something like that, there are so many options...
Title: Re: General Discussion
Post by: Xela on April 28, 2014, 11:54:49 AM
Since we're creating a new game, options are limitless in almost everything.

We need to make a list of features and order for the Next Day reports...
Title: Re: General Discussion
Post by: DarkTl on April 28, 2014, 12:38:52 PM
First of all, dozens of random girls events following each other (http://2imgs.com/2i/i/535e8e94/ca8edaad551efb44845ca7802aa8c816/03ba7a5083.f.jpg) every single turn quickly get bored and annoying, especially with 200+ characters. We need sorting by brothels, and inside it sorting by girls, so if a player cares about specific character, he could watch all her events, and only her.

Also, I guess with ST some kind of events will be in MC house as well, so sorting by types of building probably required too.

In other words, it should be like a windows file tree, where buildings are catalogs of different nesting levels and girls are files  :)
Title: Re: General Discussion
Post by: CherryWood on April 28, 2014, 12:40:20 PM
This is from earlier when I was thinking on how to fit all into one screen:
(http://img24.eu/m-23njql6u.jpg) (http://img24.eu/v-23njql6u.jpg)
(previous ones)(http://2imgs.com/2i/t/30894963b0.jpg)  (http://2imgs.com/30894963b0)(http://2imgs.com/2i/t/03ba7a5083.jpg) (http://2imgs.com/03ba7a5083)
Title: Re: General Discussion
Post by: DarkTl on April 28, 2014, 12:41:17 PM
^Yup, that's what I mean more or less.
Title: Re: General Discussion
Post by: Xela on April 28, 2014, 05:29:04 PM
I  am not sure that it's the way to go...

We need a main screen with most important data like MC finance data, important events that may require attention and general info on the front page.

Then we need something similar to what we have now on detail pages.

The layout and the amount of info we want to display on the main page is the most important topic for discussion. Followed closely by Building pages and only then individual reports pages. I personally likes CW's design, it's definitely something to consider.
Title: Re: General Discussion
Post by: DarkTl on April 29, 2014, 05:04:04 AM
I hope you don't think that someone would watch dozens of unsorted events every single turn. Players will skip that screen, end of story.

In wm there is a list of girls at the report screen, where you could select a girl and watch her events if you want to. If there is some kind of important event, the girl will be highlighted with red color.
Title: Re: General Discussion
Post by: Xela on April 29, 2014, 02:39:16 PM
I hope you don't think that someone would watch dozens of unsorted events every single turn. Players will skip that screen, end of story.

Not sure where you got that from.

In wm there is a list of girls at the report screen, where you could select a girl and watch her events if you want to. If there is some kind of important event, the girl will be highlighted with red color.

WM system (imo) is one of the worst from the sim family games. I thinks there should be a main screen with fast access to important events, building filters and general info followed by a number of individual reports as we have now.
Title: Re: General Discussion
Post by: DarkTl on April 29, 2014, 03:37:34 PM
That's (http://2imgs.com/2i/i/535e8e94/ca8edaad551efb44845ca7802aa8c816/03ba7a5083.f.jpg) what we have now. 27 minor, unimportant, quite repetitive events, one event per screen. If this is not a lack of ergonomics, then what is? Do you seriously watch them all when you play?

I'd say this is the worst system ever.
Title: Re: General Discussion
Post by: Xela on April 29, 2014, 04:27:04 PM
That's (http://2imgs.com/2i/i/535e8e94/ca8edaad551efb44845ca7802aa8c816/03ba7a5083.f.jpg) what we have now. 27 minor, unimportant, quite repetitive events, one event per screen. If this is not a lack of ergonomics, then what is? Do you seriously watch them all when you play?

I'd say this is the worst system ever.

I usually do watch some/most of them. This was the breakpoint at which I actually abandoned direct Alkion development and took a support/testing role, I could accept RPG angle (especially since we're starting to lean towards something similar in PyTFall), but if one job event per screen is abandoned (as an option, not enforced obviously) someone else would have to develop PyTFall or it's branch, there are only 2 - 3 of these "must haves" in the whole game from my part but it's one of them.
Title: Re: General Discussion
Post by: Parlarkey on April 29, 2014, 06:04:01 PM
I don't think you two are even that far apart in opinions. From what I gather, DarkTL's main concern is that right now you have to wade through most of those events in order to get the information you need to manage your business. A well designed turn summary screen would give the player most of that information on the fly, after which they can choose to go through some (or all) of the individual reports. I do quite like the individual reports (especially once more events will start making it into the game, giving them some more variety).

I honestly don't think that what the game 'needs' is that different from the WM end of turn screen. In WM, the names becoming red when something out of the ordinary was happening was really helpful, and it took a lot less time to manage the girls that had nothing special going on. Sure, I'd still go through the events every now and then to see what was going on and to watch the images, but all in all I didn't have to if I'd had that girl for a while and had seen it all by then. The game was sometimes a bit random as to what was considered important enough to warrant a red highlight (for example level ups were not highlighted, which I would've preferred), but in general it was a good way to get information without having to dig.

And FWIW, in Pytfall you can go to partial summaries by clicking the buttons in the lower left and lower right. It's a decent enough way to manage stuff for now (you get one screen per girl instead of 4-5, once you get used to the actions that can cause stats to rise and fall you can more or less deduct what's been happening), but I'm glad the development for a more streamlined, more 'top down' end of turn screen is still being considered :).
Title: Re: General Discussion
Post by: DarkTl on April 30, 2014, 05:51:50 AM
Don't know about you, but I'm planning to have as many girls as possible. Let's say, 500 girls x 4 events per day = 2000 events screens per turn. This is madness, you will never find the information you need.

I'm not against the individual reports, but there should be sorting options allowing to not see minor events (like some "old",  high lvl girl successfully cleans the building every turn) that you don't want and don't need to see.
I think wm has quite handy sorting options. If you know some better sorting system, be my guest. But right now all events screens are enforced, and this can't be good for everyone.
Title: Re: General Discussion
Post by: Xela on April 30, 2014, 06:19:41 AM
But right now all events screens are enforced, and this can't be good for everyone.

This is exactly what I am trying to get rid of and waiting for people to drop some ideas. I cannot see how WM system solves the issue, to me it was always confusing as hell. I do have some ideas of my own but I want to see some other options first.
Title: Re: General Discussion
Post by: DarkTl on April 30, 2014, 06:25:33 AM
I told you about hierarchical tree, like on that Cherry's picture. It's similar to wm screen, though not identical. No idea how else we could combine all reports to one screen.
Title: Re: General Discussion
Post by: Xela on April 30, 2014, 06:29:19 AM
I told you about hierarchical tree, like on that Cherry's picture. It's similar to wm screen, though not identical. No idea how else we could combine all reports to one screen.

Good plan, We need to talk layout and specifics (what info we include and what goes where).
Title: Re: General Discussion
Post by: DarkTl on April 30, 2014, 06:45:51 AM
Well, one option is to sort them by locations. Like,
Brothels->Brothel1
              |->Brothel2
              |->Brothel3->Girl1
                                |->Girl2
MC House->Girl1
                |->Girl2

Schools->XXX School->Girl1
                                 |->Girl2
That tree should be in the left part, and when you select a girl, her events screens should appear on the right side of the screen.
Pretty much like windows explorer.

We could sort them by occupations or jobs, but that probably would be less clear, though we could add different sorting options, including simple alphabetical order.
Title: Re: General Discussion
Post by: CherryWood on May 01, 2014, 09:15:09 AM
I don't really have any new idea about report screen beyond those I put as comments on that first two pictures.

===========

Bad news: I will not be able to do anything (again  :( ) for the game until the end of another week - this weekend I'm without PC, then I have school exams and on next weekend I'm going to animefest...
Title: Re: General Discussion
Post by: MonkeyBoo on May 01, 2014, 12:10:06 PM
Hey, I tried out a layout I had in mind for what you guys are talking about, although I didn't think about other specifics than girl information.


https://mega.co.nz/#!X1JjmZCZ!w2u4FJY-LPZaZPMIoirHL0ckuhmlynVJlUXbQ4xJJJc


Unlike Cherry's example, I tried to squeeze in all the information the girls have in a row. First I wanted to make a single row per girl, but I find an image necessary for identification sometimes, although for 500 girls it would be useless.


The screen width is of 1366, text Arial Narrow, size 11. The example is only a concept. You could either have one row per Action point or per girl, as an alternative to the 100/100 for skills you could have 0 or blank and +1 / -2 if there is a gain or loss, however the colors would be equivalent between the two display styles.


The color variation is by Brothel, and thus maybe we could eliminate the name from the list and have a tool tip explaining the difference, as a tutorial for new players. The color variation for each girl could also be per row instead of two rows, maybe it could work.


The image size is currently 40 x 40 pixels, I think it might work although scaling might be necessary depending on monitor resolutions.


The distribution could either be by girl or by AP per girl, I don't know about the coding for this but maybe it would be easy to reorganize the list after a criteria from inside the game on the fly.


As for the rest of the screen real-estate maybe on top you could have personal / total finances, let's say the equivalent of 3 to 4 girl slots dedicated to that, and an equivalent of another girl slot dedicated to sorting options for the girl list just between the girls and personal information, jumping from the existing to this or other sorting screens.


My initial vision was of having one line per girl, just text no images, and display only the affected stats, but you could easily have 10 affected stats per girl, and 1 for another girl, making it a total mess. I think information is easier to sort through if you have everything for everyone with the important stuff highlighted than to only show important stuff. Because then you clearly know... oh middle of the screen, the girl lost that... a bit to the right.. she gained that...


My 2 cents
Title: Re: General Discussion
Post by: Xela on May 01, 2014, 03:15:19 PM
Ren'Py is not very good with spreadsheets so this is not the best way to go, we need a good game interface (adaptation of CW's option) instead.
Title: Re: General Discussion
Post by: Xela on May 24, 2014, 12:05:10 PM
*** I'll have time for the project starting mid-june. Before that time it is unlikely that we'll get something big done :(
Title: Re: General Discussion
Post by: DarkTl on May 25, 2014, 12:08:59 PM
I'll finish resources collection within 2 weeks. And we need better concepts for both traits and tags system, so I have things to do for now (as well as Cherry, if he has time).
Title: Re: General Discussion
Post by: Algernon on May 25, 2014, 06:25:21 PM
First off, let me say that I love this game.  It's everything that I thought SimBro and Otherworld should be, and you're still adding content!  Simply awesome.

Anyway, I have a quick question.  I have some general game balancing ideas that I wanted to share, but I'm not exactly sure where I should post them.  I'd start a "Game Balancing - General" thread in the "Game Balancing" section, but I'm hesitant to do so. I don't want to be the person who started to clutter up that section.

Thank you in advance.  :)
Title: Re: General Discussion
Post by: DarkTl on May 26, 2014, 02:14:52 AM
Nah, feel free to start a new thread there.
Title: Re: General Discussion
Post by: Algernon on May 26, 2014, 04:57:16 PM
Thank you :)

I've got my ideas posted now.
Title: Re: General Discussion
Post by: Xela on May 29, 2014, 12:45:25 PM
Hello, I have a problem. My character has 80/80 ATK, 62/62 MAG, 10/50 LCK, 67/67 AGI, 70/70 DEF and I don't know how to increase his stats. I have some items equipped but I can actually put'em off and there is no difference, stats look the same. I didn't learn any magic yet, because its too expensive. With stats like this I can only win with "horde of goblins". Thank you in advance for your help :)

Most actions that MC takes do earn experience, with experience levels are increased and with them both stat caps and effectiveness of some items. It's a matter of playing/fighting/interacting and etc.
Title: Re: General Discussion
Post by: NahNah on May 29, 2014, 12:50:07 PM
Most actions that MC takes do earn experience, with experience levels are increased and with them both stat caps and effectiveness of some items. It's a matter of playing/fighting/interacting and etc.
I've just realised that when I lvl up these stats level up with me, so I removed my post, sorry :d But why it's always at maximum?
Title: Re: General Discussion
Post by: Xela on May 29, 2014, 12:57:51 PM
You prolly maxed out your stats completely and items are pushing them to the max.

At any point in the game stats are calculated from base which cannot be higher than max cap + equipment bonus, after you level up if you have am attack of lets say:

30/32 but you also have a sword equipped you'll just have 32/32 Attack.

To make it more complicated, there are two stat caps so at level 25 - 50 (depends on a stat) at some point items that raise max caps will actually work so lets say you have some kickass armor that increases defence cap by 50 and stat by 50.

At level 10 you might have 50/60 defence and that armor will max it out at 60/60. At level 30 you may have 120/130 defence but that very same armor will raise it to 170/180. It's a complex system, we'll have some NPC explain it in future versions.
Title: Re: General Discussion
Post by: NahNah on May 29, 2014, 01:05:23 PM
Thank you very much, you helped me a lot.
Title: Re: General Discussion
Post by: Xela on May 29, 2014, 02:55:23 PM
Oki, so I definitely squashed two bugs today but also have found some fundamental flow in new stats logic or items stat bonuses application method. Going to take some digging...
Title: Re: General Discussion
Post by: Xela on May 29, 2014, 04:34:32 PM
There was no flaw, just something I've created today due to negligence and being a bit out of practice.

Anyway, I cannot replicate or understand a bug some people reported where training actually decreases stats! Neither have I found any likely explanation in the code. That's all for tonight, I am getting some ideas on unifying finances into a single module and trying to figure out if it'll be worth the time in a long run and I've finished prototyping difficulties class and how it'll be applied in the game so I can start implementing that soon.
Title: Re: General Discussion
Post by: DarkTl on May 30, 2014, 01:06:54 PM
Finally finished resources collection. The next step is to sort backgrounds and sprites, as well as clean a bit my db folder.
Title: Re: General Discussion
Post by: CherryWood on May 30, 2014, 01:58:33 PM
I will be touching the girlmeets files for a bit...
Title: Re: General Discussion
Post by: Pinkutako on May 30, 2014, 02:41:55 PM
I've experienced the negative stats during training bug.  It seems to relate to armor being worn.  For Example, If the MC was wearing the plate armor with -30 agility and then trained with the arena girl; the MC would lose between 20 to 30 agility.  Conversely, If the MC had the +10 constitution bracers on and trained with her and the training resulted in a constitution gain, then the +10 from the bracers was added to gain.  It was the same with training charisma with the leprauchan girl if wearing the +charimsa coat.  I don't know if this will help you figure it out in the code, but it's just what I observed.



Title: Re: General Discussion
Post by: Xela on May 30, 2014, 03:43:46 PM
I've experienced the negative stats during training bug.  It seems to relate to armor being worn.  For Example, If the MC was wearing the plate armor with -30 agility and then trained with the arena girl; the MC would lose between 20 to 30 agility.  Conversely, If the MC had the +10 constitution bracers on and trained with her and the training resulted in a constitution gain, then the +10 from the bracers was added to gain.  It was the same with training charisma with the leprauchan girl if wearing the +charimsa coat.  I don't know if this will help you figure it out in the code, but it's just what I observed.

I remember how the bug was reported but like I've said, I did just that with multiple items and different stats/levels using the developers console and was not able to replicate that. Neither was I able to find any likely explanation in the code.

Are you basing those stats increases/decreases on Next Day report or actually checking MC profile screen? I'll tweak next day reports to exclude changes changes made by items in the future...
Title: Re: General Discussion
Post by: Xela on May 31, 2014, 06:51:35 AM
Decided to move finance related stuff to a separate module after all. Will prolly be easier to work with in the future.
Title: Re: General Discussion
Post by: DarkTl on May 31, 2014, 07:12:01 AM
Alright, I'm done with db folder. Mobs, npcs and backgrounds that I found are there as well, converted if needed and sorted.
I also have about 5500 pics for random packs, but they will wait until we done with balance and stuff.

What I'm going to do now:
* balance jobs profits and salary;
* balance items, both prices and stats;
* improve traits system, right now it seems a bit messy;
* improve tags system;
* balance arena.

What we might need for that from the viewpoint of coding:
* slots of some kind for traits; a purely cosmetic thing to sort traits by types and make girls gui less messy;
* number of uses for misc items; while some of them can be indestructible indeed, others are defenitely not;
* another system for mobs strength based on levels and max stats values, just like for girls and MC; the current system is almost impossible to balance properly unfortunately.
Title: Re: General Discussion
Post by: Xela on May 31, 2014, 08:17:46 AM
For now I am setting up some backbone code for Difficulties, Balance and unified Finances to make it easier to work with in the future. I don't have time to get a lot done but if I manage to set up some groundwork until mid-June, it'd be awesome.

* balance jobs profits and salary;

Ok, don't forget upkeep and slave related calculations. Profits/salary are more of a free girls sort of thing. Also see if you can make a sheet of different (basic) dwelling (rent/purchase prices) and meal types so we can add that the game at some point.

* balance items, both prices and stats;

That's your domain.

* improve traits system, right now it seems a bit messy;

Yeah, don't forget that traits are now applied completely differently (effects are not applied at game start but gradually, progressive as girl is leveling up).

* improve tags system;

Include CW into this as well, he's had experience applying tags in the game.

* balance arena.

There's too many factors to consider here. Some base should be written first.

What we might need for that from the viewpoint of coding:
* slots of some kind for traits; a purely cosmetic thing to sort traits by types and make girls gui less messy;
* number of uses for misc items; while some of them can be indestructible indeed, others are defenitely not;
* another system for mobs strength based on levels and max stats values, just like for girls and MC; the current system is almost impossible to balance properly unfortunately.

* Stots for traits is prolly an overkill, there aren't that many. In fact there we're even enough categories to split the file (your own opinion btw).
* We already have that? Do we not? I think you even made a could of those.
* Please don't do that, I believe that the relative-stats + multipliers system that we've create is VERY good and it'll get better as we work in difficulties, improve BE and Arena. So what I'm saying is that we shouldn't redesign mobs but work on other aspects of the game instead or maybe improving/advancing the existing system.
Title: Re: General Discussion
Post by: DarkTl on May 31, 2014, 12:21:40 PM
Ok, don't forget upkeep and slave related calculations. Profits/salary are more of a free girls sort of thing.
That's the problem, right now slaves can earn the same amount of money, yet they don't need a salary. And it's illogical to force upon them high upkeeps. No matter how much money they might need to keep themselves in shape, free girls still need more becuase they do have a choice, thus they prefer better food, rooms, etc.

What we can do here:
- lack of motivation; if you don't pay anything to slaves, they will be much less interested in job (even if trained perfectly), and if you pay them about the same amount of money that you would pay a girl with the same stats, they will do their job as well as free ones;
- slower skills/stats progression; they may need more exp for leveling and/or max levels of stats may grow more slowly;
- hardcoded limitations in equipment; as we know, slaves are not allowed to fight, thus no weapons at very least, plus maybe neck slot should always be filled with a slave collar;
- responsibility before the law; if a free girl commits some crime (attacks a customer for example), your reputation might be damaged, but it's still her own problem; while slaves are your property, if they commit something, it will be only MC's fault from the point of view of the law;
- living rooms; while free girls live somewhere else (we could add an option to settle free characters with high disposition in MC house, but definitely not in brothels), slaves require enough free rooms;
- I'm sure I'll come up with more later.

Yeah, don't forget that traits are now applied completely differently (effects are not applied at game start but gradually, progressive as girl is leveling up).
Could you quote this part of code or specify the place? I forgot the details.

* Stots for traits is prolly an overkill, there aren't that many. In fact there we're even enough categories to split the file (your own opinion btw).
In fact I already have them in traits file as comments. I mean general ones, like appearance, mentality, origin, etc. BUT not enough to split the file at the same time.

The thing is that I'm not satisfied with traits system yet. While that old idea of (iirc) Matt with slots for traits is way too simple even for simpler games, the very concept of more strictly structured traits is interesting and useful for us.
I'll also add general race traits during it, and I believe race traits could actually use a separate slot in any case.

* We already have that? Do we not?
I believe we don't. Right now items are:
1) destructible or not; meaning that either they will dissappear after 1 use or will exist forever;
2) reusable or not; meaning that either one character can use them once or unlimited number of times.
No middle ground.
Title: Re: General Discussion
Post by: Xela on May 31, 2014, 01:21:51 PM
That's the problem, right now slaves can earn the same amount of money, yet they don't need a salary. And it's illogical to force upon them high upkeeps. No matter how much money they might need to keep themselves in shape, free girls still need more becuase they do have a choice, thus they prefer better food, rooms, etc.

What we can do here:
- lack of motivation; if you don't pay anything to slaves, they will be much less interested in job (even if trained perfectly), and if you pay them about the same amount of money that you would pay a girl with the same stats, they will do their job as well as free ones;

Upkeep is higher on slaves so it's not all that bad but there is no way around that slave labor is cheaper...

- I really hate this idea.


- slower skills/stats progression; they may need more exp for leveling and/or max levels of stats may grow more slowly;

Slower stats gain is definitely a very good option. Slave labor is cheaper but it has been proven inferior to free labor times and times again, usually due to motivational and psychological factors.

- hardcoded limitations in equipment; as we know, slaves are not allowed to fight, thus no weapons at very least, plus maybe neck slot should always be filled with a slave collar;

Another good option. Block some eq slots...

- responsibility before the law; if a free girl commits some crime (attacks a customer for example), your reputation might be damaged, but it's still her own problem; while slaves are your property, if they commit something, it will be only MC's fault from the point of view of the law;

We already have some base code for that and this is definitely something we should do but it requires a better developed world. One step at a time...

- living rooms; while free girls live somewhere else (we could add an option to settle free characters with high disposition in MC house, but definitely not in brothels), slaves require enough free rooms;
- I'm sure I'll come up with more later.

- I couldn't come up with a good rooms solution other than if you do not have rooms available right now, slaves will slowly be damaged while free girls live at the place of their own.

Other options that are readily available to us:
- Higher initial price!
- Client preferences (percentage of clients would oppose slavery and be looking for free girls along)

Could you quote this part of code or specify the place? I forgot the details.
Code: [Select]
                    for trait in _traits:
                        if not self.level%5:
                            for key in trait.mod:
                                if key not in ["disposition", "upkeep"]:
                                    if key in self.stats:
                                        mod_value = int(round(trait.mod[key]*0.1))
                                        self.mod(key, mod_value)

Basically this means that during levelups, every 5 levels 10% of the value specified in the modding file will be applied. If a girls earns a trait at higher levels effects will still be applied fully. The idea is that girls are learning how best to use their traits to their advantage as they gain experience.

The thing is that I'm not satisfied with traits system yet. While that old idea of (iirc) Matt with slots for traits is way too simple even for simpler games, the very concept of more strictly structured traits is interesting and useful for us.
I'll also add general race traits during it, and I believe race traits could actually use a separate slot in any case.

I don't remember what we've decided, will race be a trait in itself or will there be traits available only to unique races?

I believe we don't. Right now items are:
1) destructible or not; meaning that either they will dissappear after 1 use or will exist forever;
2) reusable or not; meaning that either one character can use them once or unlimited number of times.
No middle ground.

Ah ok, I misunderstood the request. You want a misc item that can be used a limited amount of times on any character and than self-destruct.

It's definitely not worth the effort it would take to code. We can do something line having a misc item class that applies all of it's bonuses at once after being worn for a number of turns. Otherwise what we have right now (self-destruct after being used on the same character for a number of turns) is the best we can do.

Reason for that is that items instances are not being tracked individually so there is no decent way to implement a counter. There is one of every item as far as the game is concerned and the rest is tracked by the character classes.
Title: Re: General Discussion
Post by: Ogami on May 31, 2014, 05:25:53 PM
Sorry if i interrupt this thread but i followed this discussion for a while.
Why dont you make the main difference between slaves and free girls the rank?
Cap the Prostitute Rank of Slave girls at  Level 3  so that only free girls can  achieve the
higher prostitute ranks and profit.
Of course slave girls should be a lot cheaper in upkeep then free girls. Maybe 50%.
 So you could have low class brothels full of slave girls and later if
you made enough money you could train free girls to be high rank prostitues.
Maybe even make it a condition to buy the  higher class brothels.
For example something like " To buy this property you must have at least 3 girls of rank 4".
So  at the beginning players can concentrate at building up money  with slave girls  and low class brothels and
later beginn to train free girls to rise in status.   Would also lengthen the game play quite a bit.

Its just something which came to  mind when i was reading this discussion.
Title: Re: General Discussion
Post by: Xela on May 31, 2014, 05:36:27 PM
Sorry if i interrupt this thread but i followed this discussion for a while.
Why dont you make the main difference between slaves and free girls the rank?
Cap the Prostitute Rank of Slave girls at  Level 3  so that only free girls can  achieve the
higher prostitute ranks and profit.

That's F@cking brilliant idea!!! Well done! I am definitely in favor of this approach.

Otherwise, it took me almost 7 hours but I finally got Finances onto a separate module, obviously changes this large and broad (in the code, nothing changed in gameplay) require extensive testing. Girls class is now down to a very manageable 1100 lines of code instead of 3600 before the code review.

SF Updated:

- Finances have been unified and moved to a single module.
- Difficulties class prototype.
- Number of bugsfixes
Title: Re: General Discussion
Post by: DarkTl on May 31, 2014, 06:35:35 PM
- I couldn't come up with a good rooms solution other than if you do not have rooms available right now, slaves will slowly be damaged while free girls live at the place of their own.
Perhaps another upgrade for brothels, slaves living rooms or something. Minus one upgrade if you want to use slave labor in brothel.

- Higher initial price!
- Client preferences (percentage of clients would oppose slavery and be looking for free girls along)
Yup, those are good options as well.

Speaking of prices, I'm still not sure if we should add an auction of some kind in the slave market. While a decently coded, interesting and fun auction will be useful for the game, I have yet to see such an auction in h-games. Usually it's just several AI opponents with a simple algorithm. To keep things interesting, some kind of minigame required.

I don't remember what we've decided, will race be a trait in itself or will there be traits available only to unique races?
Ok, now that's an interesting concept you suggested here  :)

The last time we decided that race will be a trait, and as general one as possible to cover as much as possible, ie for example not dark elf/forest elf/whatever elf, but elven blood for all of them.

If races also will have some unique features or abilities, I'd prefer to put them beyond traits system, for example into a skill tree or effects system. Otherwise traits won't be general enough.

Why dont you make the main difference between slaves and free girls the rank?
Cap the Prostitute Rank of Slave girls at  Level 3  so that only free girls can  achieve the
higher prostitute ranks and profit.
Of course slave girls should be a lot cheaper in upkeep then free girls. Maybe 50%.
Yup, great idea indeed. We could also cap reputation and fame for slaves, if it won't be enough.
Title: Re: General Discussion
Post by: Xela on June 01, 2014, 04:39:39 AM
Perhaps another upgrade for brothels, slaves living rooms or something. Minus one upgrade if you want to use slave labor in brothel.

I've tried that, it doesn't really work all that well in code and in practice. If we ever turn rooms into objects, that'll become a decent option.

Speaking of prices, I'm still not sure if we should add an auction of some kind in the slave market. While a decently coded, interesting and fun auction will be useful for the game, I have yet to see such an auction in h-games. Usually it's just several AI opponents with a simple algorithm. To keep things interesting, some kind of minigame required.

This we can add at any point in the game, I think it may be more fun in a better developed world with more NPCs.

Ok, now that's an interesting concept you suggested here  :)

The last time we decided that race will be a trait, and as general one as possible to cover as much as possible, ie for example not dark elf/forest elf/whatever elf, but elven blood for all of them.

I'd like them to be traits as well, just blocked on race filter.

Did we? I recall coding it as a field in girls data file after out discussion but I may be mistaken. For "mixes" we could actually use a race field and mix of traits from both races.

Yup, great idea indeed. We could also cap reputation and fame for slaves, if it won't be enough.

I'll code this in today. I really like the concept.
Title: Re: General Discussion
Post by: DarkTl on June 01, 2014, 05:20:11 AM
The field doesn't do anything, it's just a string. While races could give some small bonuses, like agility for elves, and be flags for various checks. So Cherry suggested to actually use traits here.

* We probably could use both race traits and field. For example, string field Dark Elf and trait Elven Blood for all dark elves.

* Another problem is that race traits and fields might replace Not Human and Alien. Artificial Body is not affected, but those traits are. Moreover, traits like elven blood or furry should be considered as not human, while celestial origin or demonic origin as alien during checks in the code.
Thus, either we'll add another field to race traits, or keep Not Human and Alien and use them on pair with race traits.

* We don't have to use race traits, I can just create a json with general race types and bonuses for them, and when you set race for a character, you also will have to specify a general race type for it.
Title: Re: General Discussion
Post by: Xela on June 01, 2014, 05:33:17 AM
Ok, it was actually very easy, just two lines of code and disabling the rank checks during the job (until we figure out how it should work or maybe that's not required at all).

Small sf update. I doubt I'll have time for anything else any time soon other than small stuff and bugfixes. First thing I'll do when I can really get back into development is prolly to recode the whole next day reports screen.

The field doesn't do anything, it's just a string. While races could give some small bonuses, like agility for elves, and be flags for various checks. So Cherry suggested to actually use traits here.

* We probably could use both race traits and field. For example, string field Dark Elf and trait Elven Blood for all dark elves.

* Another problem is that race traits and fields might replace Not Human and Alien. Artificial Body is not affected, but those traits are. Moreover, traits like elven blood or furry should be considered as not human, while celestial origin or demonic origin as alien during checks in the code.
Thus, either we'll add another field to race traits, or keep Not Human and Alien and use them on pair with race traits.

* We don't have to use race traits, I can just create a json with general race types and bonuses for them, and when you set race for a character, you also will have to specify a general race type for it.

We'll figure it out. I like races as fields... It makes more sense.
Title: Re: General Discussion
Post by: Xela on June 01, 2014, 05:56:54 AM
Wanna pick your brains:

Right now one very easy way of cheating (or exploit) remains. Since everything is coded to be automated during the next day and there are no limitations set on the amount of days that can be spent in the game, making sure that one or two girls are profitable and simply keeping clicking the next day button can get player to a mil pretty fast. Especially with couple of stops to rank up girls in between.

What can we do to prevent that (simple solutions that do not require coding entire new modules would be great).
Title: Re: General Discussion
Post by: Ogami on June 01, 2014, 07:34:10 AM
Maybe make 2 game modes.
One timed mode where you have to pick a time limit at the start.
Something like  200-500 days.   At the end of the time limit you get a final score and rank, composed
of the stuff you managed to do in your playtrough. Much like in the Princess Maker Games.
Number of Brothels, Girls, Prostitute ranks , Arena Rank and so on.
This would also give the game a "goal".
That would make "Next Day" spamming pointless because you could spend the time much more efficent by doing other
things.

The second gameplay mode should be a Sandbox Mode without  time restrictions. If people want to exploit they could do it there.
This would also be useful as a training mode to develop strategies for the timed modus.

Like before, just a idea that came to mind.


Title: Re: General Discussion
Post by: Xela on June 01, 2014, 08:22:46 AM
Maybe make 2 game modes.
One timed mode where you have to pick a time limit at the start.
Something like  200-500 days.   At the end of the time limit you get a final score and rank, composed
of the stuff you managed to do in your playtrough. Much like in the Princess Maker Games.
Number of Brothels, Girls, Prostitute ranks , Arena Rank and so on.
This would also give the game a "goal".
That would make "Next Day" spamming pointless because you could spend the time much more efficent by doing other
things.

The second gameplay mode should be a Sandbox Mode without  time restrictions. If people want to exploit they could do it there.
This would also be useful as a training mode to develop strategies for the timed modus.

Like before, just a idea that came to mind.


We could do a 1000 days limit for normal gameplay and we'll have to do something along those lines eventually but doing that right requires a bit of work.

Lets see if there are any other idea, I am thinking along the lines of forcing player to pay taxes manually instead of automatically and maybe some events that would require immediate attention. Time limit is a definite possibility.
Title: Re: General Discussion
Post by: Ogami on June 01, 2014, 08:34:51 AM
Force the player to use at least 1-2 AP points before he can press "Next Day".   Even if he just talks to a girl or something like that it would
cost the player time and prevent  "Next Day" Button Spamming.
Maybe with a popup window like " You are still feeling full of energy today. Maybe you should go out and do something?"
You also could make it mandatory to spend all AP before you can proceed to the next day.
But then you have to remove the AP requierments for the MC regarding healing and coming to the aid of attacked girls.
I always thought the MC should just automaticaly defend girls in the house where he lives at the moment, regardless of AP.
If you want to force the player to employ guards you could make the agressive customers stronger or attack in groups later.
Title: Re: General Discussion
Post by: Pinkutako on June 01, 2014, 08:37:13 AM
Quote
Are you basing those stats increases/decreases on Next Day report or actually checking MC profile screen?


Actual MC stat changes.  It is actually a bit of an exploit to quickly gain constitution and charisma. It only occurs if the training effects those stats. It take a little save scumming to get the constitution increase, because of the rarity of training increase for that stat.
Title: Re: General Discussion
Post by: DarkTl on June 01, 2014, 10:32:51 AM
Right, first of all force to spend at least 1-2 AP before next day.
Maybe add a negative effect if MC doesn't leaving the brothel (or house) for a prolonged period, like claustrophobia or something. Or decrease fame over time for example, hermits are usually not popular.

In the future I'd like to have global goals that have nothing to do with pure amount of money, and that will become only more difficult if you wait too long. Thus, feel free to save up some money if you want, it's not like they will help you with everything  :)
Title: Re: General Discussion
Post by: Marquis on June 01, 2014, 10:54:32 AM



I had posted this in the ST thread, but may have been missed.
Here are some rambling thoughts on types of girls sparked by 'why would you have both slaves and free girls?' Each should have some advantages and disadvantages.
I included a cap to brothel reputation for some girl types - e.g. even if slavery is technically legal, the reputation of a brothel might take a hit for having slaves. This would be no problem for the shack, but would limit the mansion.


Captured/Coerced girls - captured monster girls or adventurers in catacombs or elsewhere, maybe kidnapping free girls. Disobedient.   
   Cost to acquire - few APs
   Jobs- Only usable for jobs when coerced (e.g. chains/collar). No pay.
        Advantages - Free. May be sold for a small amount of gold. Raw material for slave training. Can be a rare type (monster girls) or exceptional stats.
        Disadvantages - Requires constant supervision/dungeon. Zero Joy/Disposition. Limits reputation of brothel and affects other girls' disposition towards MC.


Bought Slaves - bought at slave market. Obedient.
   Cost to acquire - gold (equivalent to about 100APs in the beginning).
   Jobs- Basic jobs. No pay.
   Advantages- Easy to manage. Will do any job. Giving optional payment or attention can improve joy/disposition to a point.
   Disadvantage- Limit to Disposition/Joy maximum (maybe 50%). Low to Average stats. Limits brothel reputation maximum.


Free girls - become employees. Disposition is important for obedience.
   Cost to acquire - APs/gold. Should only require a few APs for their 'desired' job, but lots of APs/gold to increase disposition for undesired jobs.
   Jobs- only the ones they want to do. Fair pay. Maybe they can be convinced to enter slave training voluntarily (exceptionally high disposition? supporting an addiction?)
   Advantages- Better girls (higher stats). No limit to joy/disposition. No limit to brothel reputation.
   Disadvantages- requires fair payment (lower profits).


Trained slaves - either a free girl or captured girl trained to be fully obedient
   Cost to acquire - many APs to convince a free girl to enter training. No cost for captured girls. Many APs to actually conduct training.
   Jobs - No pay. Unique jobs available (ponygirl/catgirl).
   Advantages - Can train a higher stat girl than usual for some jobs. No limit to brothel reputation. Can be sold (but probably not cost effective due to high APs required).
   Disadvantages - Time to train.


Low level brothel: trained or bought slaves and coerced girls as prostitutes
Medium level brothel: free girls in some jobs (service/stripper, rarely prostitute), trained or bought slaves as prostitutes (or stripper/service)
High level brothel: free girls and trained slaves in all jobs
[size=0.85em][/size]
[size=0.85em][/size]
Title: Re: General Discussion
Post by: Marquis on June 01, 2014, 10:58:09 AM
As for hitting 'next day' as an exploit. Why worry about it? If a player wants to play that way, let them. I think it's pretty boring to do that. If you just want some extra cash, it's easy to edit the files to start with tons of cash. While useful for testing the range of the game that's no fun to play (for many of us). If someone wants a lot of cash to do something else they want to have fun doing, let them.  :)
Title: Re: General Discussion
Post by: DarkTl on June 01, 2014, 12:43:13 PM
^ Because the game should not be easy, unless you picked an easy mode.
Title: Re: General Discussion
Post by: Xela on June 01, 2014, 12:52:34 PM
I had posted this in the ST thread, but may have been missed.
Here are some rambling thoughts on types of girls sparked by 'why would you have both slaves and free girls?' Each should have some advantages and disadvantages.
I included a cap to brothel reputation for some girl types - e.g. even if slavery is technically legal, the reputation of a brothel might take a hit for having slaves. This would be no problem for the shack, but would limit the mansion.


Captured/Coerced girls - captured monster girls or adventurers in catacombs or elsewhere, maybe kidnapping free girls. Disobedient.   
   Cost to acquire - few APs
   Jobs- Only usable for jobs when coerced (e.g. chains/collar). No pay.
        Advantages - Free. May be sold for a small amount of gold. Raw material for slave training. Can be a rare type (monster girls) or exceptional stats.
        Disadvantages - Requires constant supervision/dungeon. Zero Joy/Disposition. Limits reputation of brothel and affects other girls' disposition towards MC.

ST/Exploration would be required unless we take shortcuts. Also I am not really in favor of brothel reputation being capped just from slaves working there. It's very different from limiting ranks. Maybe limiting reputation/fame of slave girls and through that the effectiveness of their influence on brothel fame/reputation but it's a confusing chain of logic.


Bought Slaves - bought at slave market. Obedient.
   Cost to acquire - gold (equivalent to about 100APs in the beginning).
   Jobs- Basic jobs. No pay.
   Advantages- Easy to manage. Will do any job. Giving optional payment or attention can improve joy/disposition to a point.
   Disadvantage- Limit to Disposition/Joy maximum (maybe 50%). Low to Average stats. Limits brothel reputation maximum.

Stockholm syndrom and etc. I am not in favor limiting Disposition/Joy for slaves either, maybe only slaves with specific traits.Same with stats, maybe we can do something like: very high intelligence stat + specific traits = high chance to rebel or something but simulations like that are in the distant future.


Free girls - become employees. Disposition is important for obedience.
   Cost to acquire - APs/gold. Should only require a few APs for their 'desired' job, but lots of APs/gold to increase disposition for undesired jobs.
   Jobs- only the ones they want to do. Fair pay. Maybe they can be convinced to enter slave training voluntarily (exceptionally high disposition? supporting an addiction?)
   Advantages- Better girls (higher stats). No limit to joy/disposition. No limit to brothel reputation.
   Disadvantages- requires fair payment (lower profits).

Yeap, this is what we're working towards. AP cost to acquire will be 1 if girl puts herself in employment agency in the future or girlsmeets sequences otherwise (she has a job elsewhere already and will work for you only if she believes it's a much better bet. You can't really expect 200+ girls in the game being unemployed waiting to work for the MC :D). This will improve as game logic develops and amount of content is growing.


Trained slaves - either a free girl or captured girl trained to be fully obedient
   Cost to acquire - many APs to convince a free girl to enter training. No cost for captured girls. Many APs to actually conduct training.
   Jobs - No pay. Unique jobs available (ponygirl/catgirl).
   Advantages - Can train a higher stat girl than usual for some jobs. No limit to brothel reputation. Can be sold (but probably not cost effective due to high APs required).
   Disadvantages - Time to train.

ST basically + specialized content (pony/cat) that I wanted to be as scripted addons for specific girls that have enough pics. Again, ST module will cover this


Low level brothel: trained or bought slaves and coerced girls as prostitutes
Medium level brothel: free girls in some jobs (service/stripper, rarely prostitute), trained or bought slaves as prostitutes (or stripper/service)
High level brothel: free girls and trained slaves in all jobs
[size=0.85em][/size]
[size=0.85em][/size]

This should be for the player to decide.


As for hitting 'next day' as an exploit. Why worry about it? If a player wants to play that way, let them. I think it's pretty boring to do that. If you just want some extra cash, it's easy to edit the files to start with tons of cash. While useful for testing the range of the game that's no fun to play (for many of us). If someone wants a lot of cash to do something else they want to have fun doing, let them.  :)

There is difference between cheating and using exploits. If possible I'd like to remove as many exploits as possible. For example in older versions of Civ5 I've always used barbarians smashing sold resources exploit but never considered that cheating. In latest version it was removed for good.

=================================================
Right, first of all force to spend at least 1-2 AP before next day.
Maybe add a negative effect if MC doesn't leaving the brothel (or house) for a prolonged period, like claustrophobia or something. Or decrease fame over time for example, hermits are usually not popular.

In the future I'd like to have global goals that have nothing to do with pure amount of money, and that will become only more difficult if you wait too long. Thus, feel free to save up some money if you want, it's not like they will help you with everything  :)

Forcing spending APs is not the best idea since right now AP = More health/Fatigue/MP recovery.

Negative effect is a decent bet... but that is too poor of a penalty with current amount of content.

Yeah, we'll get to the goals after game has better balance and ST/Exploration are at least at their Alpha stages. Those will be a part of Quests+Tasks+Achievements module.

==================================================


Actual MC stat changes.  It is actually a bit of an exploit to quickly gain constitution and charisma. It only occurs if the training effects those stats. It take a little save scumming to get the constitution increase, because of the rarity of training increase for that stat.

Like I've said, I cannot fix something that I cannot replicate. There is an off chance that it's been fixed in the dev version or otherwise I need to know exactly which items are equipped and what stats MC got. I've tried equipping a number of items but it never worked like that. Stats system is definitely advanced enough to be buggy so I am not ruling the possibility of this bug out. I just don't know what to do about it as there is no way for me to know what's wrong and where.
Title: Re: General Discussion
Post by: Xela on June 01, 2014, 01:12:30 PM


Actual MC stat changes.  It is actually a bit of an exploit to quickly gain constitution and charisma. It only occurs if the training effects those stats. It take a little save scumming to get the constitution increase, because of the rarity of training increase for that stat.

By the way, are you using the latest patch as it was specified in the front thread of Alpha release section or the latest patch that got lost in the posts. I've just updated the front post just in case... I believe that actual latest patch was the one where I rewrote stats system completely.
Title: Re: General Discussion
Post by: tjn67 on June 07, 2014, 02:01:23 AM
I've been searching the forum but for the life of me, I cannot figure out how I get guards.  Any clues to this?

Thanks!
Title: Re: General Discussion
Post by: Xela on June 07, 2014, 06:20:19 AM
I've been searching the forum but for the life of me, I cannot figure out how I get guards.  Any clues to this?

Thanks!

You need to go through girlsmeets with a Warrior type (In the city), once she knows you well enough (might take a while of talking/giving gifts), she'll agree to work for you (as a guard or teammate for combat in the arena).
Title: Re: General Discussion
Post by: Algernon on June 07, 2014, 02:27:33 PM
Just wanted to toss an idea your way.

In order to address the Next Day exploit, why not tweak the chances for customers to attack the girls?  Also, you can tweak the damage that is taken during those events.  Then, you could have those values change, based on difficulty level (when implemented).

This way, if someone tried the Next Day exploit on the harder difficulties, they will soon find themselves bankrupt due to the fact that their girls are all spending their time resting from their wounds.  Of course, someone playing on the easy difficulty would be able to use the exploit, but normal and hard difficulties would only be able to use Next Day for about a week.

You would also have a decent money sink in healing potions, on the harder difficulties.
Title: Re: General Discussion
Post by: tjn67 on June 08, 2014, 04:17:04 AM
You need to go through girlsmeets with a Warrior type (In the city), once she knows you well enough (might take a while of talking/giving gifts), she'll agree to work for you (as a guard or teammate for combat in the arena).


Thanks!  (And inadvertently, that's exactly what I ended up doing last night. LOL)
Title: Re: General Discussion
Post by: Xela on June 08, 2014, 09:45:42 AM
Just wanted to toss an idea your way.

In order to address the Next Day exploit, why not tweak the chances for customers to attack the girls?  Also, you can tweak the damage that is taken during those events.  Then, you could have those values change, based on difficulty level (when implemented).

This way, if someone tried the Next Day exploit on the harder difficulties, they will soon find themselves bankrupt due to the fact that their girls are all spending their time resting from their wounds.  Of course, someone playing on the easy difficulty would be able to use the exploit, but normal and hard difficulties would only be able to use Next Day for about a week.

You would also have a decent money sink in healing potions, on the harder difficulties.

I'd prefer to keep warfare outside of brothel :)
Title: Re: General Discussion
Post by: Algernon on June 08, 2014, 12:11:03 PM
I'd prefer to keep warfare outside of brothel :)
I do agree, but does this mean you are doing away with the Guard job?  All I'm suggesting is to tweak the frequency of existing events.

But, I do see your point.  This is a brothel sim, not a tactical war game lol.

While on the subject, what if girl rank and free/slave status affected the chances of being attacked?  For example, A beggar would be willing to attack a rank 1 slave, but not anything rank 4 and above.  Also, a noble would be willing to attack a rank 8 slave, but less likely to attack a rank 8 free girl.

Of course, that does get right back to the point you just made.

Anyway, on a different note, here's another concept for addressing the Next Day exploit.

I've read some of the other posts on adding BDSM into the game.  While I do agree on what would need to be done, in order to incorporate BDSM, I'd like to run this idea by you.

The BDSM sex act should have increased fatigue gain, some loss of health or both.  I'm thinking of another game (probably SimBro), where 1 BDSM act would take a girl out of work for a couple of days.  Now, I'm not saying that you should directly copy that, but it is an interesting idea to use.

You could start off with something like 3 BDSM acts are enough to put a girl on auto-rest.  This would cause players to utilize Incense of Serenity and Healing Potions, in order to stay in operation.

However, the player should be able to mitigate this with the use of brothel upgrades, items or both.

An example for the brothel upgrade would be different levels of BDSM equipment.  The use of quality equipment would cause less harm to the girl.

For an item example, I'd say the slave chains.  Since the girl is already restrained, the customer doesn't have to get rough with the girl in order to restrain her.  A good upgrade would be something like Fuzzy Handcuffs, which would still restrain the girl, but won't cut into her wrists (thus, she takes less damage).

All in all, this would prevent players from using the Next Day exploit, until they have their brothel firmly established.  Once they're at that point, then there isn't much of a need for them to use the Next Day exploit.

Well, I just thought I'd run this by you.  Of course, this idea can't be utilized if BDSM isn't implemented.  But, if you ever do implement BDSM, then this might help.

I should really make this into a signature, but feel free to use, abuse or make fun of my suggestions.  ;D
Title: Re: General Discussion
Post by: Xela on June 08, 2014, 12:33:59 PM
I do agree, but does this mean you are doing away with the Guard job?  All I'm suggesting is to tweak the frequency of existing events.

But, I do see your point.  This is a brothel sim, not a tactical war game lol.

While on the subject, what if girl rank and free/slave status affected the chances of being attacked?  For example, A beggar would be willing to attack a rank 1 slave, but not anything rank 4 and above.  Also, a noble would be willing to attack a rank 8 slave, but less likely to attack a rank 8 free girl.

There is/will be combat, just shouldn't be in a brothel. I am not disregarding the guard job since there is always a chance of unruly customers in borohel/stripclub/bar. I simply don't want to make something crazy out of it. I don't like the idea with the different ranks not attacking one another, seems a bit out there.


Anyway, on a different note, here's another concept for addressing the Next Day exploit.

I've read some of the other posts on adding BDSM into the game.  While I do agree on what would need to be done, in order to incorporate BDSM, I'd like to run this idea by you.

The BDSM sex act should have increased fatigue gain, some loss of health or both.  I'm thinking of another game (probably SimBro), where 1 BDSM act would take a girl out of work for a couple of days.  Now, I'm not saying that you should directly copy that, but it is an interesting idea to use.

You could start off with something like 3 BDSM acts are enough to put a girl on auto-rest.  This would cause players to utilize Incense of Serenity and Healing Potions, in order to stay in operation.

However, the player should be able to mitigate this with the use of brothel upgrades, items or both.

An example for the brothel upgrade would be different levels of BDSM equipment.  The use of quality equipment would cause less harm to the girl.

For an item example, I'd say the slave chains.  Since the girl is already restrained, the customer doesn't have to get rough with the girl in order to restrain her.  A good upgrade would be something like Fuzzy Handcuffs, which would still restrain the girl, but won't cut into her wrists (thus, she takes less damage).

All in all, this would prevent players from using the Next Day exploit, until they have their brothel firmly established.  Once they're at that point, then there isn't much of a need for them to use the Next Day exploit.

Well, I just thought I'd run this by you.  Of course, this idea can't be utilized if BDSM isn't implemented.  But, if you ever do implement BDSM, then this might help.

I should really make this into a signature, but feel free to use, abuse or make fun of my suggestions.  ;D

It's a decent idea... BDSM similar to SimBro 1X where a specialized upgrade was required and it meant a great deal of money at once. This at cost of disposition (unless traits are applied), joy (same) and fatigue...

Yeap, this could be a way to go...
Title: Re: General Discussion
Post by: Algernon on June 08, 2014, 09:51:52 PM
There is/will be combat, just shouldn't be in a brothel. I am not disregarding the guard job since there is always a chance of unruly customers in borohel/stripclub/bar. I simply don't want to make something crazy out of it. I don't like the idea with the different ranks not attacking one another, seems a bit out there.
Not as out there as you might think.  With any society, there is corruption in the upper levels and with the justice system.  What I was thinking is that, the lower class citizens would fear reprisal if they tried to hurt everyone's favorite courtesan.  However, they wouldn't be so afraid when it's a low class slave.  In contrast, the upper class citizens wouldn't expect to be punished, or would expect to get off with a light sentence, no matter how they acted.

However, now that I think about it, it is rather pointless to try and implement.  For one, it adds a degree of realism that the player won't even notice.  Second, from what I've read on here, the higher ranked girls won't even be seeing the lower class guys, so this calculation would become pointless.

Although, applying some difference with the free girls vs the slave girls might be good.  But, a different way to implement it would be a decrease in the bribe money (for a failed customer assault) if the girl is a slave.  The reasoning behind this is that it is, technically, a different crime.  Instead of assault, it would be viewed as property damage, thus the lower bribe.  This would also add another benefit to having free girls, instead of just slaves.

It's a decent idea... BDSM similar to SimBro 1X where a specialized upgrade was required and it meant a great deal of money at once. This at cost of disposition (unless traits are applied), joy (same) and fatigue...

Yeap, this could be a way to go...
Yay! I finally came up with a good idea!  I gotta mark this on the calendar!  :D
Title: Re: General Discussion
Post by: Xela on June 12, 2014, 08:38:09 AM
Small SF update:

- Fixed the Shop male filter bug.
- Updated Service Job stat checks.
- Fixed wages being logged in as tips.
- Added actual tips to the job.

Edit:

I guess noone really tries to get a decent club operation going cause this tips thing was not notice and it could mean that girls would keep all the cash to themselves. We could have made those jobs 20 lines of code instead of 250 and noone would notice :D
Title: Re: General Discussion
Post by: Xela on June 13, 2014, 07:38:55 PM
It could be that I am a bit out of practice but this screen is ridiculously hard to build while it looks fairly simple... I hope I can finish this tomorrow:

(http://s22.postimg.org/rzz3t4uot/6_14_2014_2_36_09_AM.jpg) (http://postimg.org/image/rzz3t4uot/)
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 04:36:09 AM
LoL

It's amazing what a good nights sleep will do for you, fixed two biggest issues with the screen in like 5 minutes while wasting 3 hours on them yesterday :)
Title: Re: General Discussion
Post by: DarkTl on June 14, 2014, 05:40:33 AM
Any progress with the dev mode?
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 05:46:53 AM
Any progress with the dev mode?

I can do that in 5 mins but I fear fecking up the depo because I still cannot push the ND screen. I think I can wrap up some stuff and get the summary screen to an incomplete but playable state so I can finish it while you can test the new formulas. Give me 15 - 30 mins.
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 06:24:10 AM
It's done:

- Added screen to review all fonts to the dev mode, accessible from the top stripe.
- Added red/green flags to many events
- 3 Bugs fixed and some code improved
- May have fixed experience overflows
- Added colors to a lot of special event texts
- Half finished the ND summary screen
- Taxes disabled in the dev mode
- At least 6 Service Girls on games start in the devmode

Many hundreds lines of new code, even if the screen looks innocent :D
Title: Re: General Discussion
Post by: DarkTl on June 14, 2014, 10:15:20 AM
Somehow Nico has -5 upkeep. Probably too many good traits, but it's ridiculous anyway, she shouldn't pay you for her own upkeep. Should be no less than 0.
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 12:11:44 PM
Somehow Nico has -5 upkeep. Probably too many good traits, but it's ridiculous anyway, she shouldn't pay you for her own upkeep. Should be no less than 0.

I think you were actually one to suggest that certain girls might need that (girls so well put that they are actually "moneysavers" around the house). I can turn upkeep into a property I guess but much later. If I can find strenght/time to finish the ND Summary today, it would be awesome. I still need to arrange sorting by red/green flagged reports, add exclamation marks/+ whereever they're required as now they only appear on job events and redesign the actual reports screen since they no longer require any filters. Also add the fin window/toolbar but that's luckily mostly copypasta from elsewhere.

Edit:
*** I do not believe that she does pay you for her own upkeep by the way, she just saves you the money.
Title: Re: General Discussion
Post by: DarkTl on June 14, 2014, 12:29:51 PM
The whole message looks strange. If upkeep is 0 or less, there should be another one that she does not need it, or maybe no message about upkeep at all.

Slaves or free ones that will live in MC house or something could actually pay the negative upkeep value, but not salaried workers.
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 12:41:00 PM
The whole message looks strange. If upkeep is 0 or less, there should be another one that she does not need it, or maybe no message about upkeep at all.

Slaves or free ones that will live in MC house or something could actually pay the negative upkeep value, but not salaried workers.

I think we had this discussion before but you were on the other end of it :)

Anyway, it's not so strange, lets say a girl on salary is a neat freak and will tidy the place up or is so pretty that she'll require less makeup or prefers to eat elsewhere and doesn't eat food from you so it goes to other girls. I don't really mind either way, upkeep will be easy to set at 0 min, no matter how we get negative values.

I think putting a couple more hours into the screen will do for now, I haven't done anything since the push but finding a semi-serious bug where clients come to the starting brothel even without the sign and all stats at 0. I was sure that couldn't happen but the summary screen told me otherwise...
Title: Re: General Discussion
Post by: DarkTl on June 14, 2014, 01:06:26 PM
Ok, that's how it should work: we summarize all upkeeps, both positive and negative, and then MC pays it. If after summation upkeep will be negative or zero, he doesn't pay anything and doesn't get gold too.

From the viewpoint of gui the message should be something like "she helped you save N gold on upkeep" or something like that, not "you pay -5 gold", because it gives the impression that MC just got pure gold out of nowhere.

Of course there should be another message for 0 upkeep.
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 01:13:23 PM
Ok, that's how it should work: we summarize all upkeeps, both positive and negative, and then MC pays it. If after summation upkeep will be negative or zero, he doesn't pay anything and doesn't get gold too.

From the viewpoint of gui the message should be something like "she helped you save N gold on upkeep" or something like that, not "you pay -5 gold", because it gives the impression that MC just got pure gold out of nowhere.

Of course there should be another message for 0 upkeep.

It can never work like that. Finances are settled per girl and I am not going to recode that. We'll lock at 0 or come up with a different solution.
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 01:26:52 PM
From the viewpoint of gui the message should be something like "she helped you save N gold on upkeep" or something like that, not "you pay -5 gold", because it gives the impression that MC just got pure gold out of nowhere.

Of course there should be another message for 0 upkeep.

Actually this we can achieve rather easily but it's still more effort than if we were just to set upkeep to min 0.

It's getting late and I am starting to make mistakes again. If this continues, I'll finish the screen tomorrow.
Title: Re: General Discussion
Post by: DarkTl on June 14, 2014, 01:29:45 PM
You cannot just summarize all their upkeeps and normalize them before actual payment, despite the fact that the game calculates and stores them every turn? How is it even possible?
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 01:56:09 PM
You cannot just summarize all their upkeeps and normalize them before actual payment, despite the fact that the game calculates and stores them every turn? How is it even possible?

Well, I shouldn't have said "can't", I should have said a LOT more effort than it's worth :) If you like I can make a list of reasons why...
Title: Re: General Discussion
Post by: DarkTl on June 14, 2014, 02:04:46 PM
I tried to test high level girls, but the game seems to ignore the exp field in data files. I told you we need a normal, "level" field  :)
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 02:23:20 PM
I tried to test high level girls, but the game seems to ignore the exp field in data files. I told you we need a normal, "level" field  :)

Stats have been separated. Use console, unless you go in too deep python reads/writes almost like a normal language. Either when you're in girls profile screen:

Code: [Select]
chr.exp += 10000000
or from anywhere:

Code: [Select]
for girl in hero.girls:
    girl.exp += 10000000

To handle them in bulk.
Title: Re: General Discussion
Post by: DarkTl on June 14, 2014, 03:36:37 PM
Pushed new strip tips. No need to change the formula there, just divided them by 10 after testing.

I'm not sure what is going on with bar income. Girls that don't have much difference in skills get very different amounts of money per shift.
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 04:04:53 PM
I'm not sure what is going on with bar income. Girls that don't have much difference in skills get very different amounts of money per shift.

It's a combination of an AP relay and stat modifiers. Girls can spend 1 - 2 AP per shift and formula will be further modified by her stats. I did that to reduce the amount of very similar events but there were better ways I guess that I haven't considered over an year ago. I think that it was just about trying to figure out how stuff works in Python functions (jobs were functions back then, Rudi and I later made classes out of them for the sake of clarity). Also to make sure AP's are less likely to get wasted and go to another Service Jobs as required.

For as long as she has more than 2 AP, 1 or 2 spent per shift will be chosen randomly.

Then:

Code: [Select]
            clientsmax = self.APr * 4 + (self.girl.agility * 0.1 + self.girl.service * 0.2)
We get the maximum amount of clients she can service per turn. The total amount of clients is decided on clients preferences during their creation (wants to see striptease/wants to have a drink etc.) and your strippers stats and performance. Infamous strippers or those with traits customer likes may convince a client to go to bar/club even if that wasn't originally intended. Total pool is created and then resolved on "per shift" basis by your girls.

Code: [Select]
            barfees = int(clientsserved * 0.5) * self.APr * int(self.girl.refinement * 0.2 + self.girl.charisma * 0.2 + self.girl.service * 0.2)
            tips = 0 # Will be 0 - 15% of the total bill depending on girls skillz and looks.

Code: [Select]
            if tapas:
                barfees = barfees * 1.5
            elif beer:
                barfees = barfees * 1.2

Code: [Select]
            # Skill checks
            if self.girl.service > 300:
                self.brothelmod['reputation'] += choice([0, 1])
                barfees = barfees * 1.5
                tips = barfees * 0.10
                self.txt.append("She was a godlike bartender, customers kept spending their money just for the pleasure of her company. \n")

We get the barfees and then modify them on basis of upgrades as well as high stats of the bartender.

I hope this clears things up a bit :)
Title: Re: General Discussion
Post by: Xela on June 14, 2014, 07:18:53 PM
SF Updated:

- ND Summary screen is 85% finished.
- Possibly killed the No sing STILL clients flooding in bug (should work but code is a bit messy in those places)
- Set two new red flags for the events
- Recoded the actual ND reports screens
- Adapted code to match images to new dimensions
- Prolly killed the bug Dark repotred on next day, no girl, brothel to dirty routine

(http://s15.postimg.org/uzaguycgn/6_15_2014_1_44_13_AM.jpg) (http://postimg.org/image/uzaguycgn/) (http://s15.postimg.org/daiq3c0pj/6_15_2014_1_44_30_AM.jpg) (http://postimg.org/image/daiq3c0pj/)
Title: Re: General Discussion
Post by: laposteb on June 15, 2014, 07:30:31 AM
I do not have time right now to tamper with my favorite photoshop, but I keep an eye on your progress for future updates, I do not know how to say it in English so I would say in French:
"J en ai l'eau à la bouche."


Literally: I water in the mouth.

I'll take out the definition :  ;D
When you're hungry and you face a dish that you particularly like, habitual physical reaction is to get to salivate. It is this phenomenon known what came of all this expression, which is used since the fifteenth century in various forms.
Title: Re: General Discussion
Post by: Xela on June 15, 2014, 08:55:55 AM
I do not have time right now to tamper with my favorite photoshop, but I keep an eye on your progress for future updates, I do not know how to say it in English so I would say in French:
"J en ai l'eau à la bouche."


Literally: I water in the mouth.

I'll take out the definition :  ;D
When you're hungry and you face a dish that you particularly like, habitual physical reaction is to get to salivate. It is this phenomenon known what came of all this expression, which is used since the fifteenth century in various forms.

Roflmao! (It's called drooling* in English I believe)

SF Updated again:

- Added text for negative upkeep text
- All values will be rounded and converted to int before logging into finances
- Fixed a couple of minor bugs
- 0 fee for Ads will no longer be logged in
- Fixed some issues with dedicated shops refusing to buy almost anything

* It is now possible to review red flagged events only (new filter)
** Summary will also report where the flags are but it is not yet possible to review the with narrower filters (but almost everything is tooliped and infrastructure for future upgrades to this code is laid out!)
*** Will eventually improve this as well obviously but I am getting sick from working on the same screen for so long

Now I need to figure out what to do next...

Results:
(http://s4.postimg.org/n0pzg003t/6_15_2014_3_19_22_PM.jpg) (http://postimg.org/image/n0pzg003t/) (http://s4.postimg.org/7dyq2mmbt/6_15_2014_3_19_56_PM.jpg) (http://postimg.org/image/7dyq2mmbt/)

(http://s4.postimg.org/p2qgu8y2x/6_15_2014_3_20_41_PM.jpg) (http://postimg.org/image/p2qgu8y2x/) (http://s4.postimg.org/dhkw0a1zd/6_15_2014_3_21_37_PM.jpg) (http://postimg.org/image/dhkw0a1zd/)
Title: Re: General Discussion
Post by: Xela on June 15, 2014, 09:35:47 AM
Oki, I've decided to put some time into fixing the skills thing after quipping items thing and trying to improve Arena's Survival fights since it's a popular thing as well. It's very different from the ND screen.

@ CW:
You've been very quite lately?
Title: Re: General Discussion
Post by: DarkTl on June 15, 2014, 01:44:49 PM
You could try to improve arena fights indeed. I did the best I can to balance them with the current system, so maybe you could change the system a bit.
Title: Re: General Discussion
Post by: Xela on June 15, 2014, 01:57:42 PM
You could try to improve arena fights indeed. I did the best I can to balance them with the current system, so maybe you could try to change the system a bit.

I killed the bug but haven't started working on Arena yet. I've been having too many ideas on how to expand the world, some new events and storylines + much needed improvement to customers and maybe even adding simple AI but I will prolly need some help in those areas.

I want to start by allowing more than one fighter and fighting either with the same amount of opponents or the same - 1 (2 vs 1 or 3 vs 2 will be possible). Also I want to add a random bonuses system with chances to recover by x hp/mp/completely/get some gold/experience.

As stated before, I really like our system and think that the solution to improving it lies elsewhere than in design itself. Simply leveling up crew is very likely to have them all very similar to each other on higher levels...
Title: Re: General Discussion
Post by: DarkTl on June 15, 2014, 02:10:21 PM
I'm in a loss. It's not unusual to see one service girl with 2 gold and another with 150+ with about the same stats. I don't think it's the tips formula, more like uneven distribution of customers or something.
Title: Re: General Discussion
Post by: Xela on June 15, 2014, 02:12:19 PM
I'm in a loss. It's not unusual to see one service girl with 2 gold and another with 150+ with about the same stats. I don't think it's the tips formula, more like uneven distribution of customers or something.

They will take as many as they can handle. 2 gold was prolly one that got the remaining 1 or 2 clients. And the next report was club report... I'll take a look myself in a bit.
Title: Re: General Discussion
Post by: DarkTl on June 15, 2014, 02:35:10 PM
Pushed small fix for whores. I forgot about upkeep, thus whores were not profitable at all at low levels.

I have no idea how to balance bar tips with that kind of scatter.
Title: Re: General Discussion
Post by: Xela on June 15, 2014, 02:48:46 PM
I have no idea how to balance bar tips with that kind of scatter.

I figured it out. Entire outcome of formulas has be multiplied by amount of AP spent, not just a part. We also need to add that to stripping tips and maybe all stat modifiers (it is already account in most of them there).

I never gave any thought to these formulas and just wrote whatever came to mind...

Edit: There is also a bug in cleaning routine, it starts before the hired cleaners and that is NOT intended.

Do you want me to fix the formulas to the state where they make sense or will you take care of it?
Title: Re: General Discussion
Post by: DarkTl on June 15, 2014, 02:53:11 PM
Do it, I'll test them and change if needed. I'll begin to balance traits meanwhile.
Title: Re: General Discussion
Post by: Xela on June 15, 2014, 03:34:14 PM
Do it, I'll test them and change if needed. I'll begin to balance traits meanwhile.

Just pushed, they are not "f$cked" anymore, not sure if they're financially sound. Just don't forget that a girl can spend 1 or 2 AP on the job.

Did similar thing for Club job. When you read the reports, keep in mind that those are mixed and game randomly sends girls to where they're required unless task isn't clocked in girl control.

I also fixed some more code.
===========================
I am not going to do Arena tonight, that will not get us anywhere. Tomorrow will do if time permits.
Title: Re: General Discussion
Post by: DarkTl on June 17, 2014, 11:35:33 AM
I'm going to increase traits level cap up to 100, and make them a bit stronger to compensate it.
Title: Re: General Discussion
Post by: Xela on June 17, 2014, 12:49:17 PM
I'm going to increase traits level cap up to 100, and make them a bit stronger to compensate it.

Ok, sounds good. I am making some slow progress on the inbetween chainfights minigame but having it working the way I wanted it to...

Edit: I FINALLY got the logic down in a dummy project! Now I need to transfer it to PyTFall and later add some graphics...
Title: Re: General Discussion
Post by: Xela on June 18, 2014, 06:27:23 AM
If I only knew what it'll take, I'd never try to make this stupid minigame :(

* It is now possible to do chainfights with a team (character placing looks weird due to cages but that should be fixed with a BE review).
** Minigame should be working properly

Chance for a Bonus is 25% + average team luck*0.5 during normal fights

and

Chance for a Bonus is 75% + average team luck*0.5 right before a boss fight.

The length of the fruitful bonus bars is determined by base + luck + current stat value (low health will mean a longer health bar for example).

Pic:
(http://s30.postimg.org/j7ycrnxq5/6_18_2014_1_19_50_PM.jpg) (http://postimg.org/image/j7ycrnxq5/)

===============================================
I am done with Arena for a while. Going to take a break and maybe look into adding some new building types next.
Title: Re: General Discussion
Post by: DarkTl on June 18, 2014, 08:27:06 AM
We'll need more minigames in the future anyway, consider it as training  :)

So, what should I do with races, should they be traits or a separate json with races names and bonuses?
Title: Re: General Discussion
Post by: Xela on June 18, 2014, 09:01:39 AM
So, what should I do with races, should they be traits or a separate json with races names and bonuses?

I voted for fields but traits will work as well. Honestly, I need only the ability to check for a race for exploration capture and slavemarket types. It's just that we already have it as field, I see no reason to twists that.

We'll need more minigames in the future anyway, consider it as training  :)

Yeah, next time it should go without a glitch. Most of the time wasted was because of weird Ren'Py sh!t. The logic itself while admittedly more complicated than expected was not an issue.
===============================================

My plans:
- Move brothels to a realter in the city.
- Create two new areas ("Fleebottom" Ghetto (underneath left-most mountain) and "GoldenHill" area (right most mountain)).
- Move Brothels to a realter.
- Add one or two apartments for MC to buy/rent at the realter.
- Start working on Fighter Guild:
* Simulated exploration
* Drag/Drop building management interface
* I want this guild to be something that is unique and can be upgraded and improved to accommodate more members and team setups.

---
Don't know how much of this is actually doable but trying will keep me busy for a long while :D

Edit: If you have some background in mind for ghetto and golden areas, let me know.
Title: Re: General Discussion
Post by: DarkTl on June 18, 2014, 09:18:30 AM
You mean vn-like background, or something like a map?

Will traits json like this be alright btw:
Quote
[
    {
    "id": "Trait Name",
    "desc": "Description",
    "effect": "Effect",
    "block_traits": ["Tough", "Fragile"],
    "stats": {"mod constitution": 30, "min constitution": 30, "max constitution": 30}
    }]
Title: Re: General Discussion
Post by: Xela on June 18, 2014, 09:35:21 AM
Will traits json like this be alright btw:

Don't use "stats": {"mod constitution": 30, "min constitution": 30, "max constitution": 30}. Defeats the point of switching from xml to json.

Traits class is one of the simplest we have in the game:

Code: [Select]
    class Trait(_object):
        def __init__(self):
            self.desc = ''
            self.temp = 0
            self.mod = dict()
            self.max = dict()
            self.min = dict()
            self.blocks = list()
            self.effects = list()

Instead use:

Code: [Select]
[
    {
    "id": "Trait Name",
    "desc": "Description",
    "effect": "Effect",
    "block_traits": ["Tough", "Fragile"],
    "mod": {"constitution": 30}
    "min": {"constitution": 10}
    }]

Python is prolly even faster and more convenient than JSON:

Code: [Select]
init python:
    t = Trait()
    t.id = "Trait Name"
    t.block_traits = ["Tough", "Fragile"]

But both will do just fine. You can leave them in xml format as well if you like, it's not a big deal.

You mean vn-like background, or something like a map?

VN-Like I guess, good map might do too but it'll be a bit out of place with VN-Backgrounds that we have everywhere.
Title: Re: General Discussion
Post by: DarkTl on June 18, 2014, 09:55:40 AM
My db\Images\Backgrounds\city has plenty of elite and medium wealth pics. For ghetto you could look into ruins, village, maybe canyon folders.
Title: Re: General Discussion
Post by: Xela on June 18, 2014, 10:08:51 AM
My db\Images\Backgrounds\city has plenty of elite and medium wealth pics. For ghetto you could look into ruins, village, maybe canyon folders.

There is a background for the elite but it looks really bright. On the other hand so does our beach so we cannot be picky. Good option would be the huge castle but it really looks like it's on fire :D

Nothing for the ghetto so fat, but I'll keep looking. I'll take a look at Valet as well, they had a couple of BGs, maybe there is something there.
Title: Re: General Discussion
Post by: Xela on June 18, 2014, 10:17:59 AM
NM

I found some option that will do for now + I am not likely to do that today anyway.
Title: Re: General Discussion
Post by: DarkTl on June 18, 2014, 10:26:28 AM
About our traits leveling system, for example, AL boobs trait gives right now
Quote
        <mod charisma = '20' />
        <max charisma = '20' />
        <min charisma = '20' />
        <mod agility = '-20' />
        <max agility = '-20' />
        <mod strip = '-15' />
        <max strip = '20' />
Thus, at higher levels the girl will have more charisma and less agility than at level 1? That seems a bit illogical from the viewpoint of learning, either penalties should be reduced over time, or be there in full from the start. I personally vote for the second option.
Title: Re: General Discussion
Post by: Xela on June 18, 2014, 10:58:26 AM
Thus, at higher levels the girl will have more charisma and less agility than at level 1?

I am a bit tired but how do you figure that?

Max/min stats are being applied at application. mod field is applied in bits of 10% so basically in this setup she'd gain: 40 charisma by level 100 and loose 40 agility. It doesn't mean that she cannot train hard and get that agility back. Max/Min fields make sure that she's a bit different from other girls as well as trait checks. I don't like singular base stat increases... it's hard to work with in the beginning of the game.
Title: Re: General Discussion
Post by: DarkTl on June 18, 2014, 12:25:59 PM
Because she learns how to use her breast to increase charisma and how to not lose agility thanks to it at the same time.
But you probably right, I'm not sure how to balance it in the beginning too.

I'm going to create a json for races. It will be something like
Quote
[
    {
    "id": "Elven Blood",
    "desc": "This girl is of the elven race.",
    "mod": {"constitution": -10}
    "min": {"agility": 10}
    }]

In case of mixed race we probably should allow two or more races at the same time, with bonuses and penalties
reduced twice of more. So in gui in case of half elf it should be something like "Elven Blood/Human", with const -5, agil +5 and for example reputation +5 providing that a pure human will have reputation +10.

This cannot be achieved via traits system, obviously.
Title: Re: General Discussion
Post by: Xela on June 18, 2014, 02:13:16 PM
Because she learns how to use her breast to increase charisma and how to not lose agility thanks to it at the same time.
But you probably right, I'm not sure how to balance it in the beginning too.

I'm going to create a json for races. It will be something like
In case of mixed race we probably should allow two or more races at the same time, with bonuses and penalties
reduced twice of more. So in gui in case of half elf it should be something like "Elven Blood/Human", with const -5, agil +5 and for example reputation +5 providing that a pure human will have reputation +10.

This cannot be achieved via traits system, obviously.

Ok.. I still think races should be fields thought and not be amongst the traits. Dark Skin/Tall/Strong Magic are traits, race doesn't sound like a trait, at leas to me.

Anyway, I think half/half should be precoded with their own bonuses because we should only allow one race, mixes will likely to cause more problem in code than their worth. Even Elder Scrolls don't mix. If you want half-races, create separate sheets for them.

"Elven Blood/Human" we better call this half-elf. In any case, it's not very important, I doubt we'll ever get far enough with this to have half-race storylines events. I already have more ideas for character stories/events than I'll ever be able to code in.
Title: Re: General Discussion
Post by: DarkTl on June 19, 2014, 03:44:32 AM
Hm, races are not traits, race features are. Demon is a race, infernal origin is a trait common to all demonic creatures, no matter how their race is called (oni, succubus, devil, demon, half demon, etc).
They also will solve half races problem. If you have a half demon, half angel, you just give this character both traits.

We actually could use the race field to separate for example elves from half elves during events checks. But make them more unique is easier with traits, since you don't want mixed races.
Title: Re: General Discussion
Post by: DarkTl on June 19, 2014, 05:23:44 AM
Since json does not support commentaries, I'll separate traits into several files to make navigation easier.
Title: Re: General Discussion
Post by: NEXEON on June 20, 2014, 12:18:08 AM
is there a function to buy in bulk from the shop ?

Title: Re: General Discussion
Post by: Xela on June 20, 2014, 05:00:10 AM
is there a function to buy in bulk from the shop ?

There are blue buttons that can change a quantity of items you sell/buy. Other than that, no.
Title: Re: General Discussion
Post by: DarkTl on June 20, 2014, 09:19:23 AM
Either you should explain it to me, or something is not right in the code.
What is the difference between bar_task(self) and club_task(self)? They use very similar code AND no matter what I change there it has no effect whatsoever on service girls income.
It wasn't like that with other jobs, they were coded much clearer  :D
Title: Re: General Discussion
Post by: Xela on June 20, 2014, 10:35:48 AM
Either you should explain it to me, or something is not right in the code.
What is the difference between bar_task(self) and club_task(self)? They use very similar code AND no matter what I change there it has no effect whatsoever on service girls income.
It wasn't like that with other jobs, they were coded much clearer  :D

They are very similar in a sense of their relationship to one another and they're very different from other jobs, yes. I didn't want all jobs to be linear as in other games.

Bar = Bar
Club = Club

Different upgrades (3 tears for each). Otherwise Club gets more clients from striptease job as well as brings in more money. You can leave those jobs for a while. if they mess the game up, I'll take care of them myself. I've explain in great detail two times already how they're working and if that didn't help, third time isn't going to make a difference. We can always take a simpler way, like other game and keep sh!t linear making it easier to balance but I am not going to recode them now.
Title: Re: General Discussion
Post by: DarkTl on June 20, 2014, 12:15:45 PM
I know the theory. I don't understand the code. I just multiplied both clubfees and barfees by 10000 for testing and it didn't change anything in the report. At all.
With other jobs it was clear what to change to have different income/wage, but not here. Maybe you have some kind of normalization there?
Title: Re: General Discussion
Post by: Xela on June 20, 2014, 12:22:21 PM
I know the theory. I don't understand the code. I just multiplied both clubfees and barfees by 10000 for testing and it didn't change anything in the report. At all.
With other jobs it was clear what to change to have different income/wage, but not here.

???

They should have went up by 10000 times... what did you do exactly?
Title: Re: General Discussion
Post by: DarkTl on June 20, 2014, 12:26:30 PM
clubfees = int((clientsserved * 0.6) * self.APr * int(self.girl.agility * 0.2 + self.girl.charisma * 0.2 + self.girl.service * 0.2))*10000
barfees = int((clientsserved * 0.5) * self.APr * int(self.girl.refinement * 0.1 + self.girl.charisma * 0.1 + self.girl.service * 0.25))*10000

My usual testing to determine the right formula  :)
Title: Re: General Discussion
Post by: Xela on June 20, 2014, 12:32:02 PM
clubfees = int((clientsserved * 0.6) * self.APr * int(self.girl.agility * 0.2 + self.girl.charisma * 0.2 + self.girl.service * 0.2))*10000
barfees = int((clientsserved * 0.5) * self.APr * int(self.girl.refinement * 0.1 + self.girl.charisma * 0.1 + self.girl.service * 0.25))*10000

My usual testing to determine the right formula  :)

I've updated the code, formulas should no longer look like that!

Are you sure that you're not working with NDServiceJob(NDAction) class. Those are not the once used by the game, I told you that and it's in game's comments.

Title: Re: General Discussion
Post by: DarkTl on June 20, 2014, 12:41:03 PM
Ah, that explains it. I thought you deleted the old code completly, so I blindly used searching option to find def bar_task(self) string, and the first one is the old one. My bad  :)
Title: Re: General Discussion
Post by: Xela on June 20, 2014, 12:45:18 PM
Ah, that explains it. I thought you deleted the old code completly, so I blindly used searching option to find def bar_task(self) string, and the first one is the old one. My bad  :)

Yeah, I intended to but there is some decent conceptual code there as well, we'll never use those classes but we may switch to that blueprint at some very late point in the development.

I've been slacking off and talking to a writer who might do some writing for us (already did a very good bit). I'll try to finish the realtor today and put some good time into the project tomorrow.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2014, 06:13:04 AM
Pushed another balance update, economics should be fine for now.
Title: Re: General Discussion
Post by: Xela on June 21, 2014, 07:13:06 AM
Pushed another balance update, economics should be fine for now.

Seems waaay too low. A good club girl would make like 8 Gold off a single customer, it's not very realistic and I have doubts that it'd pay for the 3 - 4 strippers/4 -5 service girls and 3 - 4 guards that would be required for a decent strip club operation. Normal brothel would be perfectly safe being guarded by one good warrior girl, even a large one. You could use two max. Club/Bar events can result in a brawl that is likely to require a team.

Also 8 gold per customer... it should be (a lot) more. Maybe we can work in more variables! Like quality of clients are based almost entirely on brothels reputation (0 - 1000 with delimiters per brothel). If we use that (self.brothel.rep*0.01*clientsserved) and add that to your formula, we can ensure that higher level of clientele will leave a lot more cash behind...

Another thing to consider here is that a proper club operation is a thing of the late-game... there is no reason for it to bring in such an insignificant sums.
==============================
I am starting with the realtor now and want stop until it's working. Tonight I want to do something else (maybe Fighter Guild prototype (which will prolly mean more work for you :D)).
Title: Re: General Discussion
Post by: DarkTl on June 21, 2014, 01:30:35 PM
A ->good<- club girl will have much more than 8, providing that she has enough customers. Lvl 14 girl with 50 charisma/refinement/service will have 50-150 per shift depending on the number of customers and AP. And 14 is not even close to really high levels.
Basically, I don't want bad whores/waitresses/etc with 0-10 stats to be good, self-sustaining workers. You have to train them or find and convince to join some good ones (when we finally will have levels in girls data files).

Also, since only whores have such a thing as ranks, they should make the best profit, and they do even now.
Title: Re: General Discussion
Post by: Xela on June 21, 2014, 01:59:27 PM
A ->good<- club girl will have much more than 8, providing that she has enough customers. Lvl 14 girl with 50 charisma/refinement/service will have 50-150 per shift depending on the number of customers and AP. And 14 is not even close to really high levels.
Basically, I don't want bad whores/waitresses/etc with 0-10 stats to be good, self-sustaining workers. You have to train them or find and convince to join some good ones (when we finally will have levels in girls data files).

Also, since only whores have such a thing as ranks, they should make the best profit, and they do even now.

Ok, if you say so.

Still seems unreasonably low... Anyway, I made some progress with the realtor but got a bit distracted. Basic version will be finished tonight, advanced (for more building types than brothels) I am not yet sure how to code in properly, since those other buildings don't really exist yet.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2014, 02:46:31 PM
I believe it's called denomination. We always can reduce upkeep and wage if the game will be too difficult, so there is no need to keep high income only for that.

Providing that you need about 10-15 gold per day to survive according to the current concept, about 10 per day for someone who cannot properly do anything at all is more than enough.
It was kinda strange that customers complaned about girls looks and stuff, yet paid quire a lot.

Though perhaps we could change that job's logic a bit. Theoretically, bar icome should not depend so much on waitresses. Maybe we should turn it into low profitalbe, but steady source of income, in contrast to high profitalbe but not so steady whores. I think I'll try it.
Title: Re: General Discussion
Post by: Xela on June 21, 2014, 03:59:20 PM
I believe it's called denomination. We always can reduce upkeep and wage if the game will be too difficult, so there is no need to keep high income only for that.

Providing that you need about 10-15 gold per day to survive according to the current concept, about 10 per day for someone who cannot properly do anything at all is more than enough.

Yeah, i understand that but even a shitty waitress should bring in good money in a good establishment, at the expense of reputation and satisfaction. Anyway, do your worse :) I don't mind either way. I think when you'll finish and I wrap up the realtor, we may release an "unofficial" release so people could test new stuff and get some feedback.
Title: Re: General Discussion
Post by: Marquis on June 21, 2014, 04:27:02 PM
... I think when you'll finish and I wrap up the realtor, we may release an "unofficial" release so people could test new stuff and get some feedback.


Cool!!
Title: Re: General Discussion
Post by: Xela on June 21, 2014, 06:48:23 PM

Cool!!

There is also some pre-history written, I'll try to work that in as well.

This is the first working preset of the realtor called Rose, the NVL bit is written by Klaus (same as the pre-history):

(http://s2.postimg.org/r2m0r54sl/screenshot0002.png) (http://postimg.org/image/r2m0r54sl/) (http://s2.postimg.org/ag4gi2but/screenshot0001.png) (http://postimg.org/image/ag4gi2but/)

I am going to allow picking a building to get details before buying tomorrow.
Title: Re: General Discussion
Post by: laposteb on June 21, 2014, 07:07:57 PM

If possible, made ​​sure we can change the images of personages or background of the game with a folder.
As before, you change all the code, I can do my little request ^ ^
Title: Re: General Discussion
Post by: Xela on June 21, 2014, 07:09:50 PM
If possible, made ​​sure we can change the images of personages or background of the game with a folder.
As before, you change all the code, I can do my little request ^ ^

Sure you can, resources are being loaded automatically. Or do you mean something different?
Title: Re: General Discussion
Post by: laposteb on June 22, 2014, 03:36:17 AM
I speak for mod the game  ;)
I know for the girl is normal whit file xml, tags, etc ...
But for the player, NPC, object, background if you could keep it as before.
Title: Re: General Discussion
Post by: Xela on June 22, 2014, 05:22:11 AM
But for the player, NPC, object, background if you could keep it as before.

There are no immediate plans to change that :)
Title: Re: General Discussion
Post by: Xela on June 22, 2014, 04:12:52 PM
Final version of the realtor:

(http://s8.postimg.org/vsu7br47l/screenshot0001.jpg) (http://postimg.org/image/vsu7br47l/)

I'll add an apartment next and start working towards the simulated exploration next.
Title: Re: General Discussion
Post by: DarkTl on June 24, 2014, 03:17:56 AM
What is the max for brothel reputation?
Title: Re: General Discussion
Post by: Xela on June 24, 2014, 04:05:45 AM
What is the max for brothel reputation?

1000 but only one of the brothels can go that far.
Title: Re: General Discussion
Post by: DarkTl on June 24, 2014, 05:09:46 AM
I'm going to add brothel fame to income formulas, it seems quite reasonable to me.
And what about other brothels?
Title: Re: General Discussion
Post by: Xela on June 24, 2014, 05:27:59 AM
I'm going to add brothel fame to income formulas, it seems quite reasonable to me.

Reputation is reasonable to use in the income formulas, fame just means more clients and that already transfers to a greater income as long as you can accommodate them. Reputation means better class of clientele, that should mean more income and does NOT at the moment.

I wanted client him/herself to determine how much they pay/can pay but I have no idea if I ever get around to creating blueprints for clients of different castes and noone else wants to do it. Also Reputation in the formulas will serve almost the same purpose over the long run.

And what about other brothels?

I just pushed realtor, you can take a look there or in the .json file.
Title: Re: General Discussion
Post by: Xela on June 24, 2014, 06:55:49 AM
Yey!

I finally found a decent, simple way to add "dropdowns" to the girlslist! Gotta go now, but when I'll be back, I'll do the same for the jobs :)

(http://s18.postimg.org/89187lj5x/6_24_2014_1_53_18_PM.jpg) (http://postimg.org/image/89187lj5x/)
Title: Re: General Discussion
Post by: DarkTl on June 24, 2014, 08:36:43 AM
I'm working with traits right now, converting them to json along the way.

Maybe we should tie somehow races to traits.
Currently we have a lot of checks for AB, alien and not human traits. And that's more than enough, there no need to make checks for races individually.

However, for example, all elves are not humans. Thus, everyone of them should have Not Human trait and <dark, forest, high> Elf race.
Looks like an overkill to me, especially since not human trait does not give any bonuses at all, it's basically a flag for checks and nothing more.
The situation is better for AB and Alien, those traits give bonuses and penalties at least, but then again any angel/demon is Alien.

Even if we will use races as traits, it won't change anything. You still have to use both Elven Blood and Not Human trait for every elf.

Seems a bit messy. What do you think?
Title: Re: General Discussion
Post by: Xela on June 24, 2014, 08:50:18 AM
Ok, you figure it out.

I'd appreciate all possible combinations that we're going to use so I could hijack the race property and turn it into a method that would report the required sting.
Title: Re: General Discussion
Post by: Xela on June 24, 2014, 10:37:41 AM
Just pushed SF update, hard to believe the code is acutally so simple, I've been thinking about how to get it done for a while but never actually got around to doing it.

(http://s29.postimg.org/fftjk4hqb/6_24_2014_1_53_18_PM.jpg) (http://postimg.org/image/fftjk4hqb/)

Now both location and action settings are working from the girls list. Next is the Apartment (+1 AP for the MC) and I want to start with the simulated exploration module tonight if I have the strength to do so.
Title: Re: General Discussion
Post by: DarkTl on June 24, 2014, 10:50:07 AM
but I have no idea if I ever get around to creating blueprints for clients of different castes and noone else wants to do it.
I want to do it, and I'll do it after traits and jobs balancing  :)
==============================================================================

The easiest way to support any possible race combinations is to use general traits races. Elven blood, celestial/infernal origin, undead, monster, anthropomorphic animal, android/cyborg, etc.
So in case of half-breeds we could just use several traits. It's quite accurate in terms of flags, but not accurate in terms of stats. All half-breeds will have full power of both races, that's illogical.
The problem is that even with as general as possible race traits the number of traits rises considerably, and they don't carry much semantic load either.

Another way is to create a separate json for all races, with optional bonuses and penalties.
But this way works poorly with half-breeds. You have to manually create a new race for every new species you add into the game.

Using current traits + race as a simple string won't help much. There are tons of elves for example, with different names too (high, forest, dark, etc), it will be impossible to properly use as flags. Unless you have advanced strings analyzer in plans.

So I propose this:
1) json with base races types
Quote
    {
    "id": "Elven Blood",
    "desc": "This girl is of the elven race.",
    "mod": {"constitution": -10},
    "min": {"agility": 10},
    "traits" : {"Not Human"}
    },
    {
    "id": "Undead",
    "desc": "This girl is basically dead.",
    "mod": {"constitution": 10}
    "min": {"charisma": -10}
    }
]

2) In girls data files we specify both actual race name and base race (optionaly, by default either Human or Unknown, I guess). For example, race name Ghost and race type Undead. This way the girl will have Ghost race, while with the help of Undead race type the game knows that she should hang around a cemetery.

3) For half-breeds you could type anything you want in race name, as for types, usually they act and live as one of their parents, like half-elves either live in a city as humans or in a forest as elves. So depending on character you should choose a base race, since it's just a flag and nothing more. This is the best we can do without advanced coding. It's just an example, I'll create half-elf base race of course, but I cannot create all possible half-breed races.

4) Artificial Body is a vague thing. Sometimes it's a race, sometimes it's a trait.
Not Human is a flag, nothing more. And usually it's pretty clear if the character is human or not.
Alien is quite complicated. Let's say, we have an angel that lived among humans all her life and doesn't have any special powers at all. So she is an angel, but not an Alien.

So, in cases when we sure that some specific race should have specific trait, we could use traits field, like in that example above. All elves are not humans, all adroids have AB. When a race has traits, all girls with this race will have these traits, no matter whether they specified in girls data files or not. Yet we cannot remove these traits completely, since in some cases they should be used manually.

==============================================================================
I'm not sure about p.4, perhaps it's a bit too complicated, but 1-3 sound reasonable.
Title: Re: General Discussion
Post by: Xela on June 24, 2014, 11:50:02 AM
I don't think any of this is practical. For now perfect way would be to differentiate between Humans, Elves, SlimeGirls, Angels, Undead (don't think we have any btw), Demons and Droids. I don't really care that much about the half-breeds/variations because I do not see a realistic application for such.

In fact just Humans/Elves/MonsterGirls(Rest of them) would prolly be enough for the next year of development. Rest is a luxury and will do more slowing down to the development than they'll do good.

I don't care how it's done...
Title: Re: General Discussion
Post by: DarkTl on June 24, 2014, 12:38:42 PM
We have a ghost and a zombie from Queen's Blade. And there is at least 1 vampire. Also some furry types. And several girls that actually-an-item-that-can-transform-into-a-human.
I'd rather create powerful enough system from the begining rather than redo everything from scratch in the future.

Long story short, we need race as a flag and as a decoration at the same time.
Thus, girls need both base race (known variable, as a flag) and actual race (arbitrary string, as a decoration).
Even if we'll use only 3 flags for now, I mean your Humans/Elves/MonsterGirls system, it still works perfectly. And it will help us in the future when we'll decide to expand it (we will, unless we stop the development, just because there will be new locations, more suitable for some races).

So, in girls data files there will be race and base_race fields. Base races are Human, Elf, Angel, Demon, Monster, Furry, Droid, Unknown. If you insist, I can use Humans/Elves/Monsters system for now though.
And in the future there will be optional json with race bonuses (we can live without it now).

Oh, btw we should probably convert girls data files into jsons as well.
Title: Re: General Discussion
Post by: Xela on June 24, 2014, 12:53:51 PM
Redo and expand are different things. Anyway, it's like I've said, I told you what is required for my purposes, rest is up to you.
Title: Re: General Discussion
Post by: Xela on June 24, 2014, 02:53:04 PM
My last push for today I think, it is now possible to buy an apartment for 5000 Gold (prolly more in the future). If MCs location is that apartment, he gets one extra AP every day. Other than that it serves no purpose (yet).

Not sure if I am going to start with the simulated exploration module today...

- Added Apartment to the realtor
- Changing MCs location is possible from the MC profile screen now
- Updated brothel property of Player
- Added buildings property to Player
- Updated realtor intro with new version of Klaus's text


(http://s9.postimg.org/4ogdlsccb/6_24_2014_9_54_17_PM.jpg) (http://postimg.org/image/4ogdlsccb/) (http://s9.postimg.org/duyo92hkr/6_24_2014_9_54_36_PM.jpg) (http://postimg.org/image/duyo92hkr/)


Edit: Spent about 2 hours reading up on Drag/Drop posts on Lemma. I was about to go with a normal interface but now decided to try and make a drag/drop interface for the simulated exploration tomorrow.


@ Dark:

I am going to start working on simulated exploration tomorrow, laying out interface and some basic logic first but we'll eventually need some locations with levels and possible rewards (Gold, girltypes to capture and items found with chances).

For now the idea is to crate a new building type where player can form teams out of girls (predominantly warriors I expect) and raid/explore the city surroundings, each "quest" will take several days to accomplish and entire team may die/get seriously injured if they're sent to a location that's to difficult for them.
Title: Re: General Discussion
Post by: gyzbug on June 24, 2014, 09:55:48 PM
Just ran into this online a few days ago and downloaded it to try it out.  I am really looking forward to all this has to offer.  Everything seems to work for the most part, trying to reproduce a barfight error I got so I can post the notes on it.  I hope in the future there are alot more areas to explore to meet girls since finding the ones you want can be hidden behind other girls you have to hire to make room for more.

Also, when does the inventory reset in shops and will there be a way to control the occurance of high end items for later in game without file editing.

I see alot of Dev posts here so if this gets in the way feel free to remove it.
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 01:34:21 AM
Everything seems to work for the most part, trying to reproduce a barfight error I got so I can post the notes on it.

It's been fixed (unless it's something new obviously).

I hope in the future there are alot more areas to explore to meet girls since finding the ones you want can be hidden behind other girls you have to hire to make room for more.

You're not really forced into hiring. Girlsmeets will update themselves. The left most girl will be the once you already know best so if you have favorites, don't try and get to know all of them, that way you'll have access to favs all the time.

Also, when does the inventory reset in shops and will there be a way to control the occurance of high end items for later in game without file editing.

Reset is every 5 - 7 days I believe. I wanted to make sort of the "PyTFall Herald" that you could buy/auto-buy for a small sum of gold. It would report on things happening in town, like Arena Fights, shops restocking, sm restocking, events, girls looking for work and etc. Just never got around to it.
========================================================
Dev version is well ahead of the Alpha version at the moment, I've even raised it to 0.47 from 0.45 so I'd expect remaining (rare) bugs from the last Alpha patch have been fixed already.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 01:54:22 AM
I guess we could use healers then? I recall some plans involving healer occupation at the beginning of development. Though whole occupation is an overkill, I think.
In simbro there are traits like medic/chakra medic.
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 01:59:05 AM
I guess we could use healers then? I recall some plans involving healer occupation at the beginning of development. Though whole occupation is an overkill, I think.
In simbro there are traits like medic/chakra medic.

Seems premature, we need managers first (like matrons)... Lets take it one step at a time, there is plenty to do as it is.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 04:15:48 AM
Let's clarify some logic behind stats again, in case if something has changed.

I can discrease and increase max health via traits.
I can increase min fatigue, so a weak girl will never have 0 fatigue (perfectly rested).
I can change max fatigue, so a girl either will have less or more max fatigue than other girls, thus gets tired faster or slower.
I can change upkeep via json the same way, "mod": {"upkeep": 10}. And upkeep does not depend on level, like other mod stats.
Right?
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 06:09:19 AM
Let's clarify some logic behind stats again, in case if something has changed.

I can discrease and increase max health via traits.
I can increase min fatigue, so a weak girl will never have 0 fatigue (perfectly rested).
I can change max fatigue, so a girl either will have less or more max fatigue than other girls, thus gets tired faster or slower.
I can change upkeep via json the same way, "mod": {"upkeep": 10}. And upkeep does not depend on level, like other mod stats.
Right?

Sounds about right. I'd avoid modding mins all together but we can disable that in code if it causes trouble.

I will start throwing together an interface prototype for fighting guild soon.

In json:

"mod": {"defence": 20, "attack": 20}

all mods in one dict, otherwise you'll overwrite the first with the last.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 06:21:05 AM
Yeah, I know.

If you worry about events stat checks and min values, well, it could cause troubles indeed, so it might require some additional coding, like ignoring min values in some cases. But it seems quite reasonalbe for some traits, especially for fatigue/joy.
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 06:43:45 AM
Yeah, I know.

If you worry about events stat checks and min values, well, it could cause troubles indeed, so it might require some additional coding, like ignoring min values in some cases. But it seems quite reasonalbe for some traits, especially for fatigue/joy.

We can do that obviously, it just seems like one of those unnecessary things that can cause problems and confusion all over the code.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 08:20:12 AM
Possible effect for tsundere trait: with disposition 900 or more trait works in reverse.

Meaning that if with low disposition it gives
    "mod": {"character": 40, "blowjob": -20, "service": -30, "upkeep": 15},
    "max": {"character": 20, "blowjob": -10, "service": -20},
then with high it gives
    "mod": {"character": -40, "blowjob": 20, "service": 30, "upkeep": -15},
    "max": {"character": -20, "blowjob": 10, "service": 20}
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 08:36:18 AM
Possible effect for tsundere trait: with disposition 900 or more trait works in reverse.

Meaning that if with low disposition it gives
    "mod": {"character": 40, "blowjob": -20, "service": -30, "upkeep": 15},
    "max": {"character": 20, "blowjob": -10, "service": -20},
then with high it gives
    "mod": {"character": -40, "blowjob": 20, "service": 30, "upkeep": -15},
    "max": {"character": -20, "blowjob": 10, "service": 20}

Edit: You want the effects to be reapplied after the disposition is reached? Code for that would be annoyingly complex and messy and if that's the case, we're not going to do that (it is never worth the effort as I've seen from some previous designs).

Ok, just don't make too many new effects.

I think nowadays that more and better features with simpler logic are better than less with complex logic. It's quite the opposite to where I've started but it seems to be the case.

Working with drag&drop is fun... I am trying a couple of things out right now and I don't like the fact that the drag seem to require their own positioning calculations...
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 08:48:26 AM
Um, I don't understand your question.
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 09:05:08 AM
Um, I don't understand your question.

I don't understand how you want that effect to work. Basically, trait mod effects are being applied in small bits per 5 levels. Trait max is applied once when the trait first activates.

So "flipping" effects of the trait after certain level of disposition is reached is not very easy. It's not exactly very hard either (since it's python) but it will most likely require checks in multiple places and a bit of time/concentration (since I haven't touched traits code in quite a while).

We have more important stuff to take care of right now. Traits can prolly be left as they are with slightly increased effects in some places and some form of automated system based on traits that could report race to the field. You can go on modding/converting the traits if you like, just lets avoid new types of complex logic. I am working on drag/drop interface right now, Klaus is writing some kiss da frog event and there is an extensive TODO list. I honestly think that traits are a very good design for the current game and simply increasing their power will be more than enough until we feel like the system should be revisited.

In fact, items seem to be in much worse shape right now because their maxes and effects/prices were created before levels started to push max caps.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 09:20:13 AM
That's what I do, increase their power where it seems logical and divide into 3 jsons (mind, body, origin).
Also there are too many blocked traits sometimes, now I block only absolutely incompatible ones.

If it would be more simple to flip only max/min or only mod part, be my guest, it doesn't mean much.
If it's too difficult either way, well, too bad. Then we'll have to create even more checks in code and texts to give tsundere trait more meaning.

My TODO list is:
1) traits
2) moar balance for club and bar
3) cusomers sheet
4) locations for exploration
5) items
6) converting girls data files to jsons
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 09:41:26 AM
No idea why do you want some additinal system to report race to the field depending on traits.
To make it work perfectly even now we'll need a couple of new traits.
To make it work perfectly in the future we'll need dozens of new traits.

I suggest to use two fields in girls data files, race and base_race. Race is an arbitrary string, base_race is that human/elf/monster system that you proposed and that can be expend in the future.
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 09:49:26 AM
No idea why do you want some additinal system to report race to the field depending on traits.
To make it work perfectly even now we'll need a couple of new traits.
To make it work perfectly in the future we'll need dozens of new traits.

I suggest to use two fields in girls data files, race and base_race. Race is an arbitrary string, base_race is that human/elf/monster system that you proposed and that can be expend in the future.

I'll handle it, as long as race can be drawn from traits. It's to simplify coding, I want to check:

if girl.race == "Human":

instead of if "Not Human" not in girl.traits:

It's better for the future. girl.race will be determined by her traits through a property.

Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 09:56:01 AM
Alright, and how are you going do divide angels from demons (Alien), or elves from slimes (Not Human)?
I expect to find slimes in a sewer and elves in a forest, not in both places. Should I begin to create more traits for race checks already?  ::)
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 10:06:48 AM
Alright, and how are you going do divide angels from demons (Alien), or elves from slimes (Not Human)?

I keep telling you, if you don't want race as a field, create traits and tell me how. I don't give a sh!t how it's done, as long as that is doable.

This drag/drop thing is going to take a while, I figured most of it out but it requires some complex logic to work it.

** Oh, I finally added mousewheel to almost everywhere with pages (except shops). Now it's possible to go through inventory, girls profiles, next day reports and etc using the wheel. Will be there with the next update, it's very intuitive, more so than I've expected.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 10:08:52 AM
Lol, I told you about two fields just now. Why create dozens of traits only to check them once when you can use 1 new simple field?
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 10:16:58 AM
Lol, I told you about two fields just now. Why create dozens of traits only to check them once when you can use 1 new simple field?

Because I thought that you wanted to have unique traits for every race. If that was the case, fields would have been useless and become just a thing that a game can set automatically. I was in favor of simple field from the start if you remember :)
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 11:44:06 AM
Nah, there will be unique bonuses/penalties and maybe effects for base races. In a separate json probably. And in the future.
It's just less messy and easier than too many traits.

Right now base races we could use are Human, Elf, Angel, Demon, Monster, Furry, Droid, Unknown, Undead.
That will cover all our (mine and Cherry's) existing characters, no matter how their actual race is called. We will add more if needed.
And we probably shouldn't display base race anywhere in the game, it might be too confusing, just race field should be enough.

Again, if you didn't understand all that, an example.
Dark Elf, Forest Elf, Watever Elf should be in race field and be displayed in character's profile.
Base race for all of them is Elf. That's how the game knows that they are live in the forest and hate slavery.
Also fairies, dryads, nymphs, etc are Elf base race too, because there is little difference in terms of behavior, mentality and dwelling place. And it should be hidden from players to not confuse them.

If you don't want to bother with so many base races for now, Human/Elf/Unknown are enough, we'll add more in time.
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 12:18:40 PM
Kewl, it's up to you (we could do with more races than needed, it'll make exploration better I expect) :)

I ran into a couple of oddities with the drag/drop... I asked devs to clarify one of those on lemma, rest will prolly straiten themselves out in time.

Otherwise it's progressing slow but steady.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2014, 01:29:23 PM
I thought about race traits system, but it quickly becomes too complicated in case of crossbreeds. I guess we could use base races as traits, but it will be too confusing for players if for example some dryad will have Elf trait out of nowhere.
So two races system is our best bet.

About tsundere effect, how difficult it will be to code flat and simple "mod": {"character": 20, "blowjob": 10, "service": 15, "upkeep": -5} for disposition > 800 no matter the current level? Is it too messy too?
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 01:41:49 PM
I thought about race traits system, but it quickly becomes too complicated in case of crossbreeds. I guess we could use base races as traits, but it will be too confusing for players if for example some dryad will have Elf trait out of nowhere.
So two races system is our best bet.

About tsundere effect, how difficult it will be to code flat and simple "mod": {"character": 20, "blowjob": 10, "service": 15, "upkeep": -5} for disposition > 800 no matter the current level? Is it too messy too?

Likely, yes. The trouble is not just that. Traits can be lost, gained and regained. So once the disposition reaches 800 and the effect is applied once, flag needs to be set. Than this flag needs to be checked against every time trait is removed, gained, disposition drops and increased back above 800 and etc.

All of that is perfectly doable as a system but just for one trait/effect... seems like an overkill. It might be simpler to code in an effect that has a random chance to increase character, blowjob and service by 1 every day or every 5 days for example for as long as disposition is larger than 800. That would be simple and not intrusive to code. Also what you suggested is possible but as long as it happens once the disposition of 800 is reached and never again for this girl (even if trait is lost completely).
Title: Re: General Discussion
Post by: Xela on June 25, 2014, 02:57:14 PM
Ok, so this is some complex sh!t (prolly only the first time it's done thought).

My head is throbbing but I'd call it a good day (even thought there is only 300 lines of code had been written).

(http://s30.postimg.org/uoy9gvpjx/6_25_2014_9_51_09_PM.jpg) (http://postimg.org/image/uoy9gvpjx/)

It is now basically possible to create teams using drag/drop interface and remove member from the team. Fighters Guild will have one team at the start but it will be expandable and upgradable. I am not yet sure if we should allow multiple guilds or not. I am going to get some beer and see if I can relax enough to get anything else done :)
Title: Re: General Discussion
Post by: DarkTl on June 26, 2014, 02:23:47 AM
Do you want to create a team from player's girls only? Or it will be possible to include there any willing warrior girls (for a fee, and to raise disposition during adventures)?
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 04:10:55 AM
Do you want to create a team from player's girls only? Or it will be possible to include there any willing warrior girls (for a fee, and to raise disposition during adventures)?

Not sure... what you see there are all of the MC's girls in the dev mode but any container can be used. To be perfectly honest I just want to get some simple form of the exploration done, prolly for player girls only. We can always expand and complicate logic later own, I wanted Arena to do a lot more originally but while it looks fairly simple from the first glance, it's actually more than 3500 lines of code already (for example). I think the first playable version of exploration will be somewhere in the 1500 Arena (250 lines now). And it's all fairly complex because exploration must track progress, unlock new locations, block/remove girls from player lists while they're off exploring so player can't interact, have a number of upgrades and so on.

So maybe if this module is successful, we can expand it later on, otherwise we can put more time into Arena/Brothels for example. Also, with this working, we can prolly throw in a simple ST module and Alchemy module (Copy/Improve Alkion design). If we can finish all of that, we can make a poll of what players would like to see improved and advanced like:

- Girlsmeets
- Interactions
- Arena
- Slave Training Guild
- Fighting Guild (Exploration)
- Brothels
- Events
- Alchemy Guild
- Content (We need to add faith, more NPCs, Expand NPCs, Locations)

Even with all of that we still wouldn't have:

- Quest tracker
- Personal (Player controlled) Exploration
- Cloning
- Territory Control (This is something I've been thinking about a lot lately for the Fleebottom ghetto, WMlike territory control of the lawless parts of the city, one Huge powerful family that lives on top on the mountain next to the Mage Tower and controls everything that would be almost impossible to defeat), teams of girls/NPCs/We can include some simple gang-member for meat shield as well. Maybe this will be a good use of the moving about engine and we can allow more than three teammates.
==================================================

Basically, (repeating myself) I'd prefer to have more content over the complex logic. Logic can always be added at latter stages of the development.
Title: Re: General Discussion
Post by: DarkTl on June 26, 2014, 04:57:36 AM
What bothers me here is that all that code required for exploration will be useless after we'll add EE. Providing that we will add it.

At the same time I'm not sure how to handle EE at all. The game has, or at least can have hundreds, if not thousands characters (mgirls, rgirls, clones).
When you explore some dungeon with a very small team in real time every turn, you are separated from the main part of the game, you are not a manager anymore, you are a performer.
So on the one hand we have autonomous exploring teams, on the other hand we have party EE. From the viewpoint of efficiency teams are better.

Maybe if we'll add some kind of EE eventually, it should be more global than one dungeon with two girls in party per time. Like in some turn-based strategies, where you explore territory via menu rather than personally.
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 05:50:15 AM
What bothers me here is that all that code required for exploration will be useless after we'll add EE. Providing that we will add it.

My take on this:

- When we have EE, you will have a choice to send MC's team exploring, loosing control of the management/ND reports for a number of days.
- Same locations/logic/rewards should be available to you as if you were sending girls teams, yet you should be able to get more loot than a team of similar size (rewards for the micro required).
- So everything made for the simulated exploration will be in effect and beyond useful.

At the same time I'm not sure how to handle EE at all. The game has, or at least can have hundreds, if not thousands characters (mgirls, rgirls, clones).
When you explore some dungeon with a very small team in real time every turn, you are separated from the main part of the game, you are not a manager anymore, you are a performer.
So on the one hand we have autonomous exploring teams, on the other hand we have party EE. From the viewpoint of efficiency teams are better.

- I want EE to look something like our Forest Exploration does now.
- With possibilities to meet other teams, yours, neutral, enemy.
- With extra possibilities to locate and loot small dungeons (Different battle scheme where you and enemies can move around and everything has range OR Pseudo 3D if we can find the graphics for it). This last part will be however an expansion because making maps, regardless if they're Auto-Tiled or Pseudo 3D takes insane amount of time.

Maybe if we'll add some kind of EE eventually, it should be more global than one dungeon with two girls in party per time. Like in some turn-based strategies, where you explore territory via menu rather than personally.

Maybe.. but we'll have something like "menu exploration" in the Guild.

My take again:

- Storyline should include something about a powerful, banned magical weapon being (Lets call it Etherra) used to bombard slave encampments around the city and in local mountains/caves during the last uprising. That created tears to other dimensions and unstable areas that were being constantly replenished with loot, people and items... and monsters. Driven by lust for fame and fortune, not mentioning the interest of exploring unknown, best warriors from PyTFall decided to try out their luck (still well armed and sure of themselves so soon after the conflict has ended). The effect however, was devastating and over 90% of explorers have perished or went MIA so the Masters ordered City Patrols to turn around anyone heading towards those lands. Soon, not willing to leave such a resource unexploited, Masters teamed up with Mages from the tower to utilize the same dampening system that was used to block fatal blows to valuable monsters and fighter in the arena to explorers. Evacuation through teleportation was also concepted. Soon a system of Fighting Guilds was created and sold into private hands in order to utilize those systems. Outside of controlled Arena environment, they were only about 20% effective, especially on large parties so a law was made to limit the units size to 3 (maximum allowed in the Arena). That, together with discipline, order and structure that Guilds provided the effect was astounding and death rate was lowered significantly. Teleportation over such great distances would be used only as a last resort in a case of lifes of entire team being in danger due to insanely high cost.
================================================

I think this setup will make sense. I am going to work on code for a couple of hours and than run some errands. This damn typing is taking too much time :)
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 07:13:33 AM
We have the guild building! :)

(http://s21.postimg.org/41oygs00j/6_26_2014_2_10_52_PM.jpg) (http://postimg.org/image/41oygs00j/)
Title: Re: General Discussion
Post by: DarkTl on June 26, 2014, 07:28:20 AM
============================================================================================
I'm thinking about something like in Eador games.
Global map there divided into small areas. Each area has its own exploration level, basically what % of this area is explored. During explorations random encounters, events, fights and rewards could be found. The more you explore the area, the more exploration level, and after 100% you cannot explore this area anymore, so you have to move on.
In our case I thought about sending girls teams via the guild only to explore areas, and while they do it, they can find (among other things) special zones that require first person investigation involving MC.
Thanks to that abnormal weapon areas change over time, so exploration level decreases from time to time.
============================================================================================
Traits jsons are done, also I sketched out base races json, will upload this evening. There are some changes, I'll try to change all names (no more cat girl because it's a specific and quite rare race after all, charismatic -> outgoing, mature -> protective, egocentric -> Ill-mannered) everywhere in the code tomorrow night. If the time will permit, today I'll do more balance stuff and begin customers sheet.
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 07:31:35 AM
If the time will permit, today I'll do more balance stuff and begin customers sheet.

We could use a json for exploration. I doubt I'll be improving customers any time soon, but if you have some ideas stuck in your head, make the file for the future.

Edit:

LoL Reading old code of mine sure is amusing :) I am going to rewrite girls assign screen a bit (not that we really need it anymore).
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 08:58:19 AM
SF Updated:

- Improved Building class
- Added Fighters Guild class
- Added actuall Fighters Guild
- Updated girls assign and girlslist screens
- Girl/Heroes equipment can now be paged using the mousewheel
- Girls in girls profile screen can be paged using the mousewheel
- Drag/Drop prototype to create teams in the FG (first native to the game since Puzzle code is imported)

PS: If somebody (preferably with time on their hands) wants to test the new stuff, create an account on sourceforge and I'll add you to the list so you can download the repo.
Title: Re: General Discussion
Post by: DarkTl on June 26, 2014, 09:02:56 AM
Can you have more than one house if needed? I guess we could use such an option if houses will have limited rooms or something. Or maybe not, if it will be too messy.

About exploration, what do you need there? Dungeon name, level, races of girls that could be found there, gold? Because if you need items list too, well, maybe I should rework items for a start.
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 09:10:04 AM
Can you have more than one house if needed? I guess we could use such an option if houses will have limited rooms or something. Or maybe not, if it will be too messy.

About exploration, what do you need there? Dungeon name, level, races of girls that could be found there, gold? Because if you need items list too, well, maybe I should rework items for a start.

I need to run some errands so I'll post the requirements in about an hour.
Title: Re: General Discussion
Post by: DarkTl on June 26, 2014, 10:23:24 AM
Come to think of it, limited money will effectively prevent too high income. Especially with some basic algorithm, when a poor customer either goes to bar or hires a whore because he cannot afford both.
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 11:08:15 AM
Can you have more than one house if needed? I guess we could use such an option if houses will have limited rooms or something. Or maybe not, if it will be too messy.

Yes, but there is no point in that right now.

About exploration, what do you need there? Dungeon name, level, races of girls that could be found there, gold? Because if you need items list too, well, maybe I should rework items for a start.

I am  not sure yet, but at the very least, we'll need:

[
"area_name (Cursed Forest lvl-1)":{
"free": "name_of_the_area_tree (Cursed Forest)"
"mobs": {"mob1": [encounter_chance, [multiplier_range_low, multiplier_range_high]]},
"unlocks": ["names_of_areas"],
"cash_limit": 1000,
"items_limit": 1000,
"img": "path",
"overlay_text": "LVL-1 (Will be printed over the image so the same image can be used for different areas levels)"
}
]

Maybe more, I think I'll do the first one myself and leave the rest up to you. I want events of each day to be logged in and reported. One expedition will take min 3 and max 15 days, players choice. The longer team lingers in the area, the better the bonuses/chances to unlock new areas. There will be bars to set up what they should look for (items/girls/gold). I want there also to be a risk bar (how much risk should a team take during exploration). They will also use any potions to restore MP/Health that they have in their inventory that do not have sideeffects.

Anyway, this whole thing will prolly take days so you still have plenty of time to do other stuff :)

==========================================
Come to think of it, limited money will effectively prevent too high income. Especially with some basic algorithm, when a poor customer either goes to bar or hires a whore because he cannot afford both.

As I've said, that is not possible to do right under the current system. That's why I've started with the new jobs code in the first place. Anyway, proper customers can improve plenty of other stuff even now... but that code will have to wait.
Title: Re: General Discussion
Post by: DarkTl on June 26, 2014, 12:57:19 PM
Dammit, stop ignoring my question about multiple MC houses  :D

Pushed new traits files and race json.

Traits files are correct from the viewpoint of pure syntax, but we'll never know for sure until the game will load them. Some of them have better names, so expect errors anyway  :)
I consider this version of traits sufficient at least for beta (except possible errors), unless we'll add some really innovative systems, like clonning or relationships between girls.

Races json contains base races that will be used as hidden from players identifiers for all characters to determine their world outlook, habitats and probably more in the future, maybe even including effects. I also added there some bonuses/penalties for all races that should be fully implemented at any level. While we can live without it until full beta, it won't hurt to use them even now to diversify girls more.

Those races already could be used in exploration json, for example Elf rgirls should be in the forest mostly. I guess there should be a chance to find some specific race though.
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 01:03:57 PM
Dammit, stop ignoring my question about multiple MC houses  :D

Yes, but there is no point in that right now.

============================================
I'll take a look at the files when I get a chance. I am going to try and rig girls profile and equipment so they could be accessed from the guild... also I think we might need service girl/s and guards so I need to arrange for more rooms as well.
Title: Re: General Discussion
Post by: Xela on June 26, 2014, 07:58:56 PM
Right.. worked well into the night again but I think that I worked around Ren'Pys Drag/Drop bugs and got the girls sorting/team assigning logic just perfect (And new interface is a lot of fun).

Going to get some sleep, tomorrow I'll start with exploration interface, logic and maybe the frog event as well.
Title: Re: General Discussion
Post by: gyzbug on June 26, 2014, 09:04:54 PM
Instead of other homes could you add a second set of options for upgrades to the brothels for the main characters room even maybe a bathing area for the girls.  Also make-up gets to be a hard thing to keep up with over alot of girls, would it be possible to add cosmetic slots to the inventory screen to equip makeup, perfume, and maybe add a body care slot for lotions, bath oil, hair care sutff.  These would act like normal equipment items and give thier full bonus when equiped but have a gold upkeep modifier to account for replacing used items in the kits.
Title: Re: General Discussion
Post by: Xela on June 27, 2014, 01:25:51 AM
Instead of other homes could you add a second set of options for upgrades to the brothels for the main characters room even maybe a bathing area for the girls.  Also make-up gets to be a hard thing to keep up with over alot of girls, would it be possible to add cosmetic slots to the inventory screen to equip makeup, perfume, and maybe add a body care slot for lotions, bath oil, hair care sutff.  These would act like normal equipment items and give thier full bonus when equiped but have a gold upkeep modifier to account for replacing used items in the kits.

Noted, I'll add this to the TODO list and see what can be done on the next Brothel overview.
Title: Re: General Discussion
Post by: Draonir on June 27, 2014, 11:50:34 AM
Hi there,

if you think about adventures that tooks some days for the MC. Maybe you could appoint one of the free girls to be the Brothel Madame who is in charge of the Brothels.
Title: Re: General Discussion
Post by: Xela on June 27, 2014, 12:04:16 PM
Hi there,

if you think about adventures that tooks some days for the MC. Maybe you could appoint one of the free girls to be the Brothel Madame who is in charge of the Brothels.

Yeah, I know, that's planned for the future, we will have matrons with bonuses.
Title: Re: General Discussion
Post by: Xela on June 27, 2014, 05:58:08 PM
SF Updated:

- Added sound for Arena Bonus Roll
- Added 400 code/text lines long Frog Princess event (written by Klaus and scripted by me) (new event = yey)
- The above event will start under different conditions in the dev mode
- Fixed Dark's track that replaced "Good Luck" playing over the mainscreen music track
- Fixed 3 Errors in the events code and added a much needed kill_event method
- Fixed two error in start battle function
- Fixed a stupid problem with Game Over screen (game to light as the frog kills ya :D)

================
Phew... this took a lot out of me, I'll see if I can put a couple of hours into the FG tomorrow.
Title: Re: General Discussion
Post by: DarkTl on June 28, 2014, 05:17:17 AM
Pushed new income, now it depends on brothel's rep, so even a bad waitress will have more or less good income in a well known establishment.
Also changed traits names everywhere according to the newest traits jsons. Now we just need to load them into the game  :)
Title: Re: General Discussion
Post by: Xela on June 28, 2014, 06:36:56 AM
Now we just need to load them into the game  :)

It's done, very nice job on the files by the way, I usually spend hours fixing mistakes and syntax errors, this time it was just one small error calling upkeep upleep.

Girls files obviously need an update (I don't think that it's worth migrating to Json since it'd be too much work rewriting the files... same was prolly true for the traits):

Code: [Select]
INFO     PyTFall 0.47 Alpha Loading: Characters
WARNING  PyTFall 0.47 Alpha Unknown trait: Charismatic for girl: hino_rei!
WARNING  PyTFall 0.47 Alpha Unknown trait: Old Scars for girl: katsuragi_misato!
WARNING  PyTFall 0.47 Alpha Unknown trait: Hyperactive for girl: Izayoi_Sakuya!
WARNING  PyTFall 0.47 Alpha Unknown trait: Charismatic for girl: Kurenai_Yuhi!
WARNING  PyTFall 0.47 Alpha Unknown trait: Hyperactive for girl: Kochiya_Sanae!
WARNING  PyTFall 0.47 Alpha Unknown trait: Hyperactive for girl: T-elos!
WARNING  PyTFall 0.47 Alpha Unknown trait: Egocentric for girl: Menace!
WARNING  PyTFall 0.47 Alpha Unknown trait: Egocentric for girl: Cloche_Leythal!
WARNING  PyTFall 0.47 Alpha Unknown trait: Charismatic for girl: Cloche_Leythal!
WARNING  PyTFall 0.47 Alpha Unknown trait: Puffy Nipples for girl: Minako_Arisato!
WARNING  PyTFall 0.47 Alpha Unknown trait: Charismatic for girl: Mei_Terumi!
WARNING  PyTFall 0.47 Alpha Unknown trait: Mature for girl: meiou_setsuna!
WARNING  PyTFall 0.47 Alpha Unknown trait: Egocentric for girl: Angela!
WARNING  PyTFall 0.47 Alpha Unknown trait: Hyperactive for girl: Shizune!
WARNING  PyTFall 0.47 Alpha Unknown trait: Charismatic for girl: Rise_Kujikawa!
WARNING  PyTFall 0.47 Alpha Unknown trait: Hyperactive for girl: Asuna!
WARNING  PyTFall 0.47 Alpha Unknown trait: Egocentric for girl: Nanael!
WARNING  PyTFall 0.47 Alpha Unknown trait: Mature for girl: Riesz!
WARNING  PyTFall 0.47 Alpha Unknown trait: Charismatic for girl: Mitsuru_Kirijo!
WARNING  PyTFall 0.47 Alpha Unknown trait: Mature for girl: Tear_Grants!
WARNING  PyTFall 0.47 Alpha Unknown trait: Puffy Nipples for girl: Kushina_Uzumaki!
WARNING  PyTFall 0.47 Alpha Unknown trait: Hyperactive for girl: Kushina_Uzumaki!
WARNING  PyTFall 0.47 Alpha Unknown trait: Mature for girl: Samui!
WARNING  PyTFall 0.47 Alpha Unknown trait: Puffy Nipples for girl: Samui!
WARNING  PyTFall 0.47 Alpha Unknown trait: Puffy Nipples for girl: Yukari_Takeba!
WARNING  PyTFall 0.47 Alpha Unknown trait: Charismatic for girl: horaki_hikari!
WARNING  PyTFall 0.47 Alpha Unknown trait: Mature for girl: Cheria_Barnes!
WARNING  PyTFall 0.47 Alpha Unknown trait: Hyperactive for girl: Ino_Yamanaka!
WARNING  PyTFall 0.47 Alpha Unknown trait: Old Scars for girl: Anko_Mitarashi!
WARNING  PyTFall 0.47 Alpha Unknown trait: Sexy Air for girl: Temari!
WARNING  PyTFall 0.47 Alpha Unknown trait: Cool Scars for girl: Karin!
WARNING  PyTFall 0.47 Alpha Unknown trait: Hyperactive for girl: Kula_Diamond!
WARNING  PyTFall 0.47 Alpha Unknown trait: Mature for girl: shoukaku!
WARNING  PyTFall 0.47 Alpha Unknown trait: Puffy Nipples for girl: Melona!
WARNING  PyTFall 0.47 Alpha Unknown trait: Sexy Air for girl: Melona!
WARNING  PyTFall 0.47 Alpha Unknown trait: Charismatic for girl: Tsunade!
INFO     PyTFall 0.47 Alpha It took 0.315999984741 secs to execute!

Code: [Select]
INFO     PyTFall 0.47 Alpha Loading: Generating Random girls
WARNING  PyTFall 0.47 Alpha Trait: Cool Scars for random girl with id: Dark_Elf is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Charismatic for random girl with id: Adventurer is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Egocentric for random girl with id: Angel is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Priest is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Priest is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Cool Scars for random girl with id: Soldier is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Priest is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Charismatic for random girl with id: Adventurer is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Egocentric for random girl with id: Angel is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Priest is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Charismatic for random girl with id: Noble_Elf is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Hyperactive for random girl with id: Adventurer is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Charismatic for random girl with id: Adventurer is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Egocentric for random girl with id: Angel is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Leafa is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Cool Scars for random girl with id: Dark_Elf is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Priest is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Egocentric for random girl with id: Angel is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Cool Scars for random girl with id: Dark_Elf is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Priest is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Charismatic for random girl with id: Adventurer is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Egocentric for random girl with id: Angel is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Priest is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Charismatic for random girl with id: Noble_Elf is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Charismatic for random girl with id: Adventurer is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Egocentric for random girl with id: Angel is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Leafa is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Puffy Nipples for random girl with id: Priest is not a valid trait for this game!
WARNING  PyTFall 0.47 Alpha Trait: Charismatic for random girl with id: Adventurer is not a valid trait for this game!
INFO     PyTFall 0.47 Alpha It took 0.286000013351 secs to execute!
Title: Re: General Discussion
Post by: DarkTl on June 28, 2014, 12:19:50 PM
I have updated girls files in my version, but it seems that they are not under version control...
Updated girls files in my db, also there is Cherry folder near with updated xmls for his packs if you need them.

I'd say we have to redone girls files anyway at some point after we will add level field, because everyone cannot be lvl 1 form the viewpoint of lore, and to add race and base race too. So we might as well convert them along the way.

More importantly, traits are not as chaotic now as they used to be.

Edit: forgot about some removed traits in the code, another push. Hopefully, no more loose ends.
Title: Re: General Discussion
Post by: CherryWood on June 28, 2014, 01:54:17 PM

I don't mind converting girls files either.
@ CW:
You've been very quite lately?
I had too much RL stuff so I did nothing for the game... I should have time again after one week from now, I hope...
Title: Re: General Discussion
Post by: gyzbug on June 29, 2014, 04:22:14 AM
Not sure if it was brought up yet or not, but my service girls and strippers are getting close to 250 customers per action causing tons of dirt to build up for each action, this reaches around 1000 per action.  Seems dirt is per customer and not event, matbe have strippers generate dirt based of happy customers and service not at all since cleaning is something they are supposed to do while they work.  It can get costly quickly calling in the cleaning crews after every action they work.
Title: Re: General Discussion
Post by: Xela on June 29, 2014, 08:04:57 AM
I don't mind converting girls files either.I had too much RL stuff so I did nothing for the game... I should have time again after one week from now, I hope...

Yeah, I need to deal with some rl crap as well... good to know that you'd be getting back in soon.
Title: Re: General Discussion
Post by: Xela on June 29, 2014, 08:18:53 AM
Not sure if it was brought up yet or not, but my service girls and strippers are getting close to 250 customers per action causing tons of dirt to build up for each action, this reaches around 1000 per action.  Seems dirt is per customer and not event, matbe have strippers generate dirt based of happy customers and service not at all since cleaning is something they are supposed to do while they work.  It can get costly quickly calling in the cleaning crews after every action they work.

Yeah, I'll take a look at that, there should be a max there.
Title: Re: General Discussion
Post by: MonkeyBoo on June 30, 2014, 03:09:12 AM
Hey, don't know how far along you are till the next update, but I pretty much finished everything, killed all the survival stuff, massed up a ton of items and girls, got the palace to see what it has, could have about 15 level 8 girls in it but will wait before that.


A couple of gameplay problems, girls seem to start making levels like crazy after about level 40 I think, I don't remember exactly, but they don't require any rest because of that, also max stat level rises like crazy at certain points and it get's too difficult to train them and maintain them, unless I ignore my hero and just next and save up money while in training, whatever the choice it became a click / next fest real quick. Arena has no more purpose once you kill the final survival thing because it's just next next next... nothing meaningful and the money I get from my 15 high level girls is more than enough for anything I would want. No point in playing at this time.


As a bug, for taxes, if you sell the brothel before you click next on the tax day, you get to keep any tax money you would have owed, for me it was like 150000... and with the upkeep of the girls I would still keep a big portion of that.... I can't imagine how advantages it would be later on. I hope it's not intended.


Another bug, if you move the file the game loses the location for the sprite of the main char in the arena... a bit annoying since I now have to keep it in the same place, probably works for new games, didn't try.


Item management also sucks at late game stages, we as players could really use something like equipment per action. as in if a stripper is working she has all equipment on, and if she is training she has it off so she can level up... also when you have so many girls keeping track of whatever they have on is hell to deal with, that takes most of my playtime actually, same goes for my hero, if I want to talk to a girl I need charisma items, if I want to fight I need fighting items, if I need to click next turn I need to change to constitution items, another time sink. Time sinks that have low gains and repeat often make the game play feel worse than it should. Idk how you can fix it with the system but it could be usefull to think about these issues in the future at least.


Also the training money sink sucks from level 30-40 till like 200 when you can afford it and not care, actually at about 150-200 the game starts being pointless anyways so from level 30 we can kiss training bye bye... it would be usefull if we could pick a stat and pay more depending on how much we would want to level it up, I don't feel like having it has a money sink really serves much of a real purpose, at least at the current setting the income is either too low or too high to justify the logic. I found myself either being unable to use it at all or very little, using quicksaves since I was low on money, or use it a lot and not give a damn about results when my income got too high to care.


As a final short complaint the filters for the girls deactivate once you leave the screen which is not ideal at all, but from what I read it might not be necessary to do so judging by the looks of development. however it would be nice if we could have a checkbox somewhere and send 15 girls at a time to a training school instead of going through it 15 separate times.


Probably should have posted in bugs but meh, you'll see it faster here.
Title: Re: General Discussion
Post by: Xela on June 30, 2014, 05:20:29 AM
Hey, don't know how far along you are till the next update, but I pretty much finished everything, killed all the survival stuff, massed up a ton of items and girls, got the palace to see what it has, could have about 15 level 8 girls in it but will wait before that..

Mostly the interface, user input and balancing have been updated. There isn't much in sense of new content.

A couple of gameplay problems, girls seem to start making levels like crazy after about level 40 I think, I don't remember exactly, but they don't require any rest because of that, also max stat level rises like crazy at certain points and it get's too difficult to train them and maintain them, unless I ignore my hero and just next and save up money while in training, whatever the choice it became a click / next fest real quick. Arena has no more purpose once you kill the final survival thing because it's just next next next... nothing meaningful and the money I get from my 15 high level girls is more than enough for anything I would want. No point in playing at this time.

The leveling thing has been fixed, I tied their experience to the money they earn in the Alpha and that proved to be stupid. Also we forgot to add the actual delimiters for ranking up girls in the Alpha, you could rank up to level 8 in the Old Shack while in fact by game design, maxrank field was supposed to limit that to 2.

As a bug, for taxes, if you sell the brothel before you click next on the tax day, you get to keep any tax money you would have owed, for me it was like 150000... and with the upkeep of the girls I would still keep a big portion of that.... I can't imagine how advantages it would be later on. I hope it's not intended.

We'll prolly redo or at least lower the taxes but selling brothel should not be profitable because you'd still have to pay for your slave girls and you actually SELL brothels cheaper than you can buy them back, so you'd be paying (20% I think) to the realtor instead of 4 to the government. Income should not be effected by the sale (profit would be but we don't tax that).

Another bug, if you move the file the game loses the location for the sprite of the main char in the arena... a bit annoying since I now have to keep it in the same place, probably works for new games, didn't try.


Item management also sucks at late game stages, we as players could really use something like equipment per action. as in if a stripper is working she has all equipment on, and if she is training she has it off so she can level up... also when you have so many girls keeping track of whatever they have on is hell to deal with, that takes most of my playtime actually, same goes for my hero, if I want to talk to a girl I need charisma items, if I want to fight I need fighting items, if I need to click next turn I need to change to constitution items, another time sink. Time sinks that have low gains and repeat often make the game play feel worse than it should. Idk how you can fix it with the system but it could be usefull to think about these issues in the future at least.

It will work for the new games. It is fixable but it's a bit of code that would have to be maintained and updated as we develop and that proved to be a bit timeconsuming. Changing most stuff, even the location of some files/entire game will be possible closer to the Beta.

Auto-Equipping items and allowing "sets"... it's doable and isn't too difficult but will take some thinking through...

Also the training money sink sucks from level 30-40 till like 200 when you can afford it and not care, actually at about 150-200 the game starts being pointless anyways so from level 30 we can kiss training bye bye... it would be usefull if we could pick a stat and pay more depending on how much we would want to level it up, I don't feel like having it has a money sink really serves much of a real purpose, at least at the current setting the income is either too low or too high to justify the logic. I found myself either being unable to use it at all or very little, using quicksaves since I was low on money, or use it a lot and not give a damn about results when my income got too high to care.

Actually that's about how it should work per design. At some point when you have a lot of the greatest girls money can buy with some of the best building out there, you're supposed to be a millionaire and being able to buy anything you wish. While on the road there it should feel really expensive and to be used with caution.

As a final short complaint the filters for the girls deactivate once you leave the screen which is not ideal at all, but from what I read it might not be necessary to do so judging by the looks of development. however it would be nice if we could have a checkbox somewhere and send 15 girls at a time to a training school instead of going through it 15 separate times.

It's not ideas but the other wise of the stick is players constantly forgetting about filters and claiming that "girls/items" have disappeared. Buy filters thing is in the TODO lists so I'll be taking a look at that.
Title: Re: General Discussion
Post by: MonkeyBoo on June 30, 2014, 05:13:26 PM
Something I forgot to mention, I was also in a big hurry to leave for work... but having those 15 girls that can get to level 8, and I'm keeping them at 5 for now, is my basic pot of gold, however it takes a long time to level up other girls after that, and isn't really necessary since pretty much all the game has been explored except for the last two brothels, I'm at the 175000 gold one because of the lack of girls for the other bigger one. But am training 25 girls, however I got bored since I can pretty much beat anything. Would be nice if you found a system that would work in indefinite increments.


For the filters, I don't care if they turn off as long as we could get a check-button to set 15 girls to a task at the same time, with one click, because if the castle has 100 girls, most of the time I have to check and change girls tasks, and if I don't have to do that, let's say I have 100 girls at level 8, I would make more money than I would know what to do with, and the game is pretty much over at my current level, with 15 girls capable of that. Of course it might take let's say double that for other players, since I used quick saves a lot in the beginning, but total time should be the same. I do have to admit it has taken a lot of time for such a small 'package', I'm just a bit sad it's over for now :)


In other words... it might be nice that the girls in the world level with you, at a lower pace maybe but it would be better than having to start over with x number of girls on each new brothel. I'm talking about end game stuff for most suggestions, it would be nice if they came sooner but whenever is possible is ok in the end. They do seem to level up extremely fast with training though, compared to the beginning, but I used next like crazy almost, so I could be wrong.


And one last thing, I save 150.000 gold if I sell the 175.000 brothel before taxes since I only have to pay girls upkeep and salary, with a wooping 1.700 gold for slaves owned taxes. That is a lot of money even with the 20% because you are no longer taxed on your girls income either, since the brothel is gone. Is that really intentional? I mean I want to be clear, all the taxes are reduced to 1.700 gold from 140.000 gold + If I sell it.
Title: Re: General Discussion
Post by: Xela on July 01, 2014, 09:55:51 AM
And one last thing, I save 150.000 gold if I sell the 175.000 brothel before taxes since I only have to pay girls upkeep and salary, with a wooping 1.700 gold for slaves owned taxes. That is a lot of money even with the 20% because you are no longer taxed on your girls income either, since the brothel is gone. Is that really intentional? I mean I want to be clear, all the taxes are reduced to 1.700 gold from 140.000 gold + If I sell it.

That's odd, most likely instead of drawing taxes from MC fin module, I coded it to iterate over the MC's owned brothels and get into from them. I think it'd be as simple as changing on line of code to fix.

===============
As for the rest, we still haven't decided on if there should be main storyline or limited amount of days and NG+ or multiple endings based on progress. Also there are currently no content creators on the team except for Klaus so it's not very likely that there'll be a lot more rewards for playing at the end game. Writing/thinking things through is required for that and we don't have the time between the new modules and re-balancing to work on that :(
Title: Re: General Discussion
Post by: DarkTl on July 01, 2014, 11:25:09 AM
In other words... it might be nice that the girls in the world level with you, at a lower pace maybe but it would be better than having to start over with x number of girls on each new brothel.
More like there should be both low and high level girls rather than only low level ones.
Title: Re: General Discussion
Post by: Xela on July 01, 2014, 11:38:54 AM
More like there should be both low and high level girls rather than only low level ones.

It's easily done, automated or set-up by players or a combination of both. I just feel that it's too early for that.
Title: Re: General Discussion
Post by: CherryWood on July 08, 2014, 09:47:18 AM
Ok, I'm back.
But not sure what to do now...I kinda lost track of where we are with the game... is there something easy for a start?
Title: Re: General Discussion
Post by: Xela on July 08, 2014, 07:36:45 PM
Ok, I'm back.
But not sure what to do now...I kinda lost track of where we are with the game... is there something easy for a start?

We have a TODO list :)

You could try to unify and organize interactions and girlsmeets bonuses, not easy but important. If you need something hard to code to happen there or base disposition bonuses on difference between hero/girls stats, just tell me what/how it needs to be coded and if possible I'll take care of it. Also, maybe we could use a simpler menu similar to AA2 (recently played that), we prolly have too many choices at the moment.
Title: Re: General Discussion
Post by: CherryWood on July 09, 2014, 12:02:47 PM
What do you plan to use disposition for? I mean, for general gameplay... I would like to get better estimation of how much effort and complexity is worth doing there, because for example, I feel that gm for alpha was totally off (too much time for little value).
Title: Re: General Discussion
Post by: Xela on July 09, 2014, 12:22:15 PM
What do you plan to use disposition for? I mean, for general gameplay... I would like to get better estimation of how much effort and complexity is worth doing there, because for example, I feel that gm for alpha was totally off (too much time for little value).

I always thought that for free girls, disposition should be used for almost everything. For slave girls disposition should be used for a lot of stuff but often with combination with obedience. We're talking about all sorts of iterations here obviously. Maybe even bonuses during jobs.

I do not believe that it requires too much effort and complexity, we shouldn't go far beyond what we have now or maybe even scale it down a bit. System can always be expanded later.

Value of having free girls working for you has already increased drastically with latest changes and will be even more so. I don't feel like the time required to establish relationship with a girl was off.
==============================

Otherwise, one major improvement that we should definitely introduce is a method to a girls class that handles disposition bonuses based off stats (maybe some traits as well but we cover those with effects and forks during the gm/interactions very well as it). Like chr charisma vs hero charisma should always be considered. Reputation/Fame and class relevant stats should also be at play. Maybe classes themselves as well.

This will be an improvement already, maybe different menu + simpler answers as well.
==============================

It would be hard to mimic AA2 (You said you borrowed some concepts/lines from there but I've never played it and I was kinda surprised by the game, especially how well it can mimic some Anime chars) so we'll have to meet it somewhere in between our system or theirs. Or come up with something else.

Anyway, I'd appreciate a concept as you see it, maybe something from other people as well. There is too much to do with the new exploration module and not enough time atm. I barely made any progress since the last update :( I can write base code, but a plan would be required for that (more time goes time into thinking things through on the fly nowadays that into writing actual code since I got pretty good at the latter.)
Title: Re: General Discussion
Post by: MrKlaus on July 09, 2014, 03:26:22 PM
 First of all I don’t know nothing about coding a game, so my ideas/opinions can be idiotic; sorry in advance. I PM with Xela for a while now and he encouraged me to speak up here if some ideas pop up in my head about this project, so here I go.
 
Disposition could be expanded to something like a ladder system (from worst to best):
Nemesis
Hostile/malign
Unfriendly/bad
Neutral
Friendly/good
Favorable
Love
 
Every girl would start from neutral. Growth or decline would be determined by the MC interactions and work types assigned to girls.
 
Slaves could only get disposition between Unfriendly and Friendly zone, where free girls could get any.  In work it could be used like this (I’m basing on Xela’s assumptions that slave girls would have a lvl that couldn’t be passed). In Neutral disposition no bonuses just the normal thing, AP = number of clients, normal bonuses to stats growth etc. When the disposition would be Unfriendly, there could be a chance for a customer’s complain and in overall worse performance and earning less gold then predicted, chance to get reputation down and the girl lose her fame/lvl, also a possibility of client being disappointed in the service leaving after a short while without paying (for example Unfriendly slave girl with 3AP could get 3 not paying customers). Also could get tired more quickly and resting longer before getting back to work. In the Friendly zone there should be a small chance to get better payment for the service, reputation growth etc, total opposition of unfriendly.
As for the free girls they could be the MC best dream or greatest nightmare.
A free girl with the highest disposition would get the best bonuses for works and maybe some boost for fights.
On the other side. A girl in Nemesis zone could randomly appear in the wild while exploring, wanting to get even with MC (some harder fight when exploring). And if she would be working for MC it would cost a LOT more than a normal.
 Or something easier I think. Let slaves and free girls have a possibility of getting form nemesis to love status, but the free girls should bring more profit and more trouble for the MC from their disposition. 
 
But how the disposition would grow and decline. It should depends from the WORK and girls status (slave/free). Whores would get the most negative growth (for example a daily count: -1 being a slave, -1 for a customer that force himself on her; -1 for being beaten/threaten, some other) but also positive (+1 nice weather; +1 nice customer; +1 MC positive action, +1 getting a gift; and so on).
Or just make it a daily dice throw, with chances for negative/positive result depending from girls stats like health tiredness or/and special traits like pessimist/optimist, lucky/unlucky. Or make it into a dual dice (one for positive boost one for negative) add the numbers and that would be the daily growth.
Title: Re: General Discussion
Post by: CherryWood on July 09, 2014, 04:37:24 PM
@MrKlaus
We have a lot from this already (or is planned to) - but it depends more on "joy" i.e. current mood of the girl (maintained by good work conditions) then on disposition.
The point is, that free girls primary do the job for the good money it provides and not for your affections, so even it they do not like you, they would be against themselves if they do worse job and therefore earn less money. Also, free girls are free so if they are unhappy (=low joy for a number of days) and do not have a good reason to stay (=good disposition towards you) they simply quit. And slaves do not have that choice - negative disposition on them probably just means you control them by fear, but unless they have some unbroken problematic traits, they do the job regardless. (all slaves currently in game auction are supposed to be "trained" and content with their fate atm. and do not cause troubles - that was mend to be part of Slave Training module, but that was postponed)


I personally favor using joy for most related job checks, like mentioned performance with customers. Disposition is currently used to check if girl stays with you even on hard times (like if you can't pay her wage for few days) or if you ask her to do something out of her profession or even change it. And to agree with intimate interactions from your side.


I believe that's a good way to use disposition for... for a brother management game with a lot of girls. But it's simple gameplay-wise so it doesn't really justify making options and text heavy interactions and gms/dates/whatever, if there is no more into it.  So that why I asked.


(I'll write about my option about gm tomorrow.)
Title: Re: General Discussion
Post by: MrKlaus on July 09, 2014, 05:32:57 PM
 Ok, looking at disposition, currently it is a dead stat, so maybe something like this:
Disposition would determine how much cut for the MC would be (for example, starting 30/70 going in girl favor, higher more like 50/50) also would affect, a signing fee/daily cost; for a free girl. More she likes the MC the less she want to rip him off.
 
Title: Re: General Discussion
Post by: DarkTl on July 10, 2014, 03:50:56 AM
I'm back as well  :)
Would it be an acceptable structure for items jsons? Specifically, I'm not sure about boolean types here.
Quote
[
    {
        "id": "Simple Training Dummy",
        "desc": "This low quality, straw dummy helps to keep fit a little, but do not expect it to be useful for professional Combat Training.",
        "icon": "content/items/misc/std.png",
        "price": 2550,
        "sex": "unisex",
        "chance": 55,
        "badness": 80,
        "hidden": true,
        "infinite": false,
        "slot": "misc",
        "type": "upgrade",
        "mtemp": 1,
        "mreusable": true,
        "mdestruct": false,
        "cmax": 50,
        "mod": {
            "constitution": 1,
            "fatigue": 2
        },
        "location": [
            "Work Shop"
        ],
        "badtrait": [
            "Fragile",
            "Athletic",
            "Artificial Body"
        ]
    }
]
Title: Re: General Discussion
Post by: DarkTl on July 10, 2014, 04:09:08 AM
Every girl would start from neutral. Growth or decline would be determined by the MC interactions and work types assigned to girls.
Yup, unless stated otherwise in girl's data file or by scripted events. Like when you saved someone from bandits or for example forced a girl to work for you somehow.
Title: Re: General Discussion
Post by: MrKlaus on July 10, 2014, 05:50:24 AM
Yup, unless stated otherwise in girl's data file or by scripted events. Like when you saved someone from bandits or for example forced a girl to work for you somehow.

This is obvious  :)
I was talking in general.
Title: Re: General Discussion
Post by: Xela on July 10, 2014, 11:57:20 AM
@ Klaus:

- You're right, we should obscure disposition with words vs stat ranges, especially since it's a locked stat.
- It shouldn't have such a direct effect on jobs as you suggest for reasons CW suggested.

@ CW:

- I don't really have anything to add to your post, it's how it works and how it's supposed to work.

@ Dark:

- JSON looks solid. I am not sure if it's worth converting the whole thing to JSON...

@ Klaus (Post 2):

- Disposition is not a dead stat, it is used in:

* Girls joining your service
* Girls leaving it
* Slave girls trying to/committing suicide
* Changing girls occupation
* Agreeing to interact with MC
* Being modified and effecting joy during the jobs/next day
* Some bonuses during the next day
* It can be used in all manners of events
* prolly more

==========================================
It's already a powerful stat... it'll be even more powerful in the future. I don't think it's usefulness is a problem, we need to put a muzzle on girlsmeets and interactions in order to move forward with those concepts and the game in general.
Title: Re: General Discussion
Post by: DarkTl on July 10, 2014, 01:04:55 PM
I'll have to rework every single item. Might as well convert them.

Btw where should I look for stats min/max values in the code since I keep forgetting them? I guess it's somewhere in the classes - characters, but I cannot find it.
Title: Re: General Discussion
Post by: Xela on July 10, 2014, 02:52:10 PM
I'll have to rework every single item. Might as well convert them.

Btw where should I look for stats min/max values in the code since I keep forgetting them? I guess it's somewhere in the classes - characters, but I cannot find it.

Code: [Select]
            ### Stats:
            stats = {
                'charisma': [0, 0, 100, 60],
                'refinement': [0, 0, 55, 35],
                'libido': [0, 0, 100, 100],
                'constitution': [0, 0, 60, 40],
                'joy': [0, 0, 100, 100],
                'character': [0, 0, 100, 60],
                'reputation': [0, 0, 100, 100],
                'health': [100, 0, 100, 200],
                'fame': [0, 0, 100, 60],
                'mood': [0, 0, 1000, 1000],
                'disposition': [0, -1000, 1000, 1000],
                'fatigue': [0, 0, 300, 300],
                'intelligence': [0, 0, 100, 60],

                'luck': [0, -50, 50, 50],

                'attack': [0, 0, 60, 40],
                'magic': [0, 0, 40, 30],
                'defence': [0, 0, 50, 40],
                'agility': [0, 0, 35, 25],
                'mp': [0, 0, 40, 30],

                'service': [0, 0, 100, 60],

                'anal': [0, 0, 100, 60],
                'normalsex': [0, 0, 100, 60],
                'blowjob': [0, 0, 100, 60],
                'lesbian': [0, 0, 100, 60],
                'strip': [0, 0, 100, 60]
            }

In Girl class, look under def __init__ (Python constructor method). This is the order: [stat, min, max, lvl_max] (Commented in stats class).

Basically, we create a dictionary of stat names as keys and a list of integers as values. Using that list we instantiate a stats object from Stats class that handles everything.
Title: Re: General Discussion
Post by: DarkTl on July 11, 2014, 03:58:37 AM
Wait a sec, so we don't have any hardcoded absolute maxes? I mean, at least disposition probably could use it.
Title: Re: General Discussion
Post by: Xela on July 11, 2014, 04:00:34 AM
Wait a sec, so we don't have any hardcoded absolute maxes? I mean, at least disposition probably could use it.

-1000, 1000. There are no absolute maxes, only stats that are excluded from being modified with levels like disposition, luck, joy, etc.
Title: Re: General Discussion
Post by: DarkTl on July 11, 2014, 01:59:26 PM
Btw, for now many powerful items can be found in "Forest" only, basically a placeholder for alpha, so they were not tested by players, except those few who were able to win a thing or two at arena.
There shouldn't be any major errors, but you never know. We have to make sure that all items will be available in the next public version, probably with the help of your basic exploration system.
Title: Re: General Discussion
Post by: Xela on July 11, 2014, 02:27:12 PM
Btw, for now many powerful items can be found in "Forest" only, basically a placeholder for alpha, so they were not tested by players, except those few who were able to win a thing or two at arena.
There shouldn't be any major errors, but you never know. We have to make sure that all items will be available in the next public version, probably with the help of your basic exploration system.

I'll try to put in some time into exploration tomorrow morning, I have it more or less mapped out in my head. The idea is to write base code and balance/enrich it later with a team.
Title: Re: General Discussion
Post by: Xela on July 12, 2014, 10:37:18 AM
Btw, for now many powerful items can be found in "Forest" only, basically a placeholder for alpha, so they were not tested by players, except those few who were able to win a thing or two at arena.

I've did a bit of coding for the SE (Simulated exploration) module. While converting items see if you can change "Forest" location to "Exploration" so they're available at all explorable locations. Also add that to any items that you believe to be a decent bet for the exploration module (remember that it can be absolutely anything as the story line goes).

Edit: To clarify the above, any item can be set to any amount of locations so if you think items belong in multiple locs, make it so.

I'll push whatever I can get done tonight, there is however no chance that I get it to even a semi-working state (loads of stuff needs to be adjusted everywhere) :(
Title: Re: General Discussion
Post by: TitanSon on July 13, 2014, 07:41:14 AM
Hey Xela,


I only wanted to ask you: When do you think we can expect a new update? =)
Title: Re: General Discussion
Post by: Xela on July 13, 2014, 07:54:26 AM
Hey Xela,


I only wanted to ask you: When do you think we can expect a new update? =)

Hopefully in about a month, depends on how much time we can put into this. Current build is perfectly playable but the only real changes made were to the balancing and improving interface + 1 event so it's prolly not worth releasing before the SE module...
Title: Re: General Discussion
Post by: TitanSon on July 13, 2014, 09:43:17 AM
ok .... thanks for the really fast answer =) ... oh ... and keep up this great work you were doin till now
Title: Re: General Discussion
Post by: DarkTl on July 14, 2014, 01:28:35 PM
I have some decent ideas for conversations, since just converting items all the time is boring  :)

I found our lines in pyt-labels-girlsmeets, but I need some explanations.

First of all, refuse lines. What is the difference between "if ct" part and "if "X" in chr.traits"? They seem to have the same purpose, yet they use different syntax.
Title: Re: General Discussion
Post by: CherryWood on July 14, 2014, 02:45:35 PM
I'm trying to revise interactions now and I'm seriously thinking about reducing the girlmeets a lot by striping it off most of the options and do the whole thing a bit differently. And part of that would be rewriting the whole file anew, cause it's a total mess right now.


...but lining up out even the first concept to share thoughts with you is giving me headaches...
Title: Re: General Discussion
Post by: DarkTl on July 14, 2014, 03:11:58 PM
Oki, I'll refrain from modifying the current file then and focus on items for now. I noticed that we don't have lines for all existing traits while I have some ideas for them, but in this case it might be pointless if you will remove whole sections.
Title: Re: General Discussion
Post by: Xela on July 14, 2014, 03:16:34 PM
First of all, refuse lines. What is the difference between "if ct" part and "if "X" in chr.traits"? They seem to have the same purpose, yet they use different syntax.

Same, but I think that ct function allows to check for multiple traits and those are not always the refuse lines obviously. ct is simply faster to type.

I'm trying to revise interactions now and I'm seriously thinking about reducing the girlmeets a lot by striping it off most of the options and do the whole thing a bit differently. And part of that would be rewriting the whole file anew, cause it's a total mess right now.


...but lining up out even the first concept to share thoughts with you is giving me headaches...

I know how you feel :)

And simplifying girlsmeets/interaction and unifying them is needed...

===========
PS: I've pushed a bit of code yesterday, didn't think it was something worth posting about.

Oki, I'll refrain from modifying the current file then and focus on items for now. I noticed that we don't have lines for all existing traits while I have some ideas for them, but in this case it might be pointless if you will remove whole sections.

We have too many traits... stats making the task even more difficult. I have some ideas but nothing that would really solve the issue. I am also trying to focus on SE module, it's a pain because there are so many things that need to be taken care of to make it work that I get lost in thoughts really quickly :(
Title: Re: General Discussion
Post by: DarkTl on July 15, 2014, 04:20:52 AM
Nah, we have 81 traits, less than SimBro btw. There is no way to significantly reduce their number, we could delete maybe 10-15 at best while significantly reduce the diversity for existing and future modules, but if you hope for 20-30 traits then it's impossible.

In simbro many traits have like 1-2 checks AT ALL, and they still serve their purpose well. In our case I'm going to remove stats from many traits as we'll add more meaningful checks and effects, because for now stats is the only way to show somehow that they are working.
Good examples are loner or always hungry. They might have some tiny effect on stats, but they should be scripted with the help of new systems like girls relationships or autobuying system in the first place.
Meanwhile we already can use them for a couple of checks here and there (I already do), and it won't hurt anything.

I have some ideas for pretty much every trait, I mean both interaction lines and code checks. The problem is, as you can see, a lack of a stable framework. I can't even write those interaction lines because the meeting system is not ready for that  :)
Title: Re: General Discussion
Post by: Xela on July 15, 2014, 06:13:03 AM
Nah, we have 81 traits, less than SimBro btw. There is no way to significantly reduce their number, we could delete maybe 10-15 at best while significantly reduce the diversity for existing and future modules, but if you hope for 20-30 traits then it's impossible.

In simbro many traits have like 1-2 checks AT ALL, and they still serve their purpose well. In our case I'm going to remove stats from many traits as we'll add more meaningful checks and effects, because for now stats is the only way to show somehow that they are working.
Good examples are loner or always hungry. They might have some tiny effect on stats, but they should be scripted with the help of new systems like girls relationships or autobuying system in the first place.
Meanwhile we already can use them for a couple of checks here and there (I already do), and it won't hurt anything.

I didn't mean decreasing amount of traits, system can be simplified in other ways, like taking AA2 approach (character archetypes + traits only where they make perfect sense) and/or simple clear-cut answers instead of multiple choices sentences that we have no. Our system works, it's just difficult to maintain and if we stick with it, we need to update it a little bit.

I have some ideas for pretty much every trait, I mean both interaction lines and code checks. The problem is, as you can see, a lack of a stable framework. I can't even write those interaction lines because the meeting system is not ready for that  :)

? Clarify, we have the most advanced meeting system I've seen so far, what isn't ready?
Title: Re: General Discussion
Post by: DarkTl on July 15, 2014, 06:46:52 AM
Cherry just mentioned that he is going to rework interactions completly, "do the whole thing a bit differently", "cause it's a total mess right now". That's rather major obstacle for adding new lines, if you ask me.

As for multiple checks, I'd say there are cases when they have a lot of sense (artificial body + impersonal = very robotic lines), but of course we shouldn't check every possible combination. Random choice is enough, until we will have a dozen of writers at least  :)

Moreover, we might use a couple of base_race-based, not trait-based lines to diversify things. After you will load my base races json into the game.
Title: Re: General Discussion
Post by: Xela on July 15, 2014, 07:11:25 AM
Cherry just mentioned that he is going to rework interactions completly, "do the whole thing a bit differently", "cause it's a total mess right now". That's rather major obstacle for adding new lines, if you ask me.

As for multiple checks, I'd say there are cases when they have a lot of sense (artificial body + impersonal = very robotic lines), but of course we shouldn't check every possible combination. Random choice is enough, until we will have a dozen of writers at least  :)

Moreover, we might use a couple of base_race-based, not trait-based lines to diversify things. After you will load my base races json into the game.

Right, I see what you meant. Also sometimes occupation gets a primary check, or stats (disposition mostly but also sometimes joy and we should check differences in stats between chr/hero, preferably automatically).
Title: Re: General Discussion
Post by: TitanSon on July 15, 2014, 02:19:50 PM
xela, darkti .... a little suggestion ^^


if you two guys are almost equaly online .... why dont you use skype or something like that to improve your ideas via voip? .... i thought maybe the idea-exchange would work worlds better this way as you both can explain your ideas much better


greetings titan
Title: Re: General Discussion
Post by: laposteb on July 15, 2014, 02:49:48 PM
It takes more time it is true, but at least we see the progress of schmilblick  ;)
Title: Re: General Discussion
Post by: Xela on July 15, 2014, 03:00:20 PM
xela, darkti .... a little suggestion ^^


if you two guys are almost equaly online .... why dont you use skype or something like that to improve your ideas via voip? .... i thought maybe the idea-exchange would work worlds better this way as you both can explain your ideas much better

And in fact we both speak the same native language that isn't English :)

However your suggestion doesn't pass reality check, take Alkion and Mystic Mirrow as examples, both games had been developed thought communications on Skype, sh!tloads of code has been written for both of them, yet development of both has slowed down to a crawl. WM, SM and PyTFall are developed on forums and are doing fine, we (besides the 3 people dev team) have (recently) Klaus who's helping out a lot with events/writing now and over half a dozen people who contributed in the past, sometimes very significantly.

In reality, Skype chatrooms/conferences degrade down to throwing around insane, massive and impossible to implement (with a small team) ideas/concepts that are discussed for hours to no good end result. We still have a MIRC chatroom if anything needs to be discussed in real time but even that isn't used.

If you look at history of indie non-profit games that were discussed on Skype and look through forums of SlaveMaker/WM/PyTFall/CoC/MiM/HHS, you'll find that forums are by far the more effective way of communication.
Title: Re: General Discussion
Post by: TitanSon on July 15, 2014, 03:31:00 PM
ok .... only wanted to be a little dirty helper =P
Title: Re: General Discussion
Post by: RandomAnon on July 15, 2014, 08:28:49 PM
Indeed. IRC+SVN seems to be the best way to work out things from what I've experienced. Or forums could work too, as in this case.

The biggest problem with Skype is that it automatically adds an element of commitment to the conversation. You feel the urge, no need, to talk, and if you don't, the silence becomes eery, especially if one of you can't turn their mics off and you keep hearing all that background noise. Skype is decent for discussions with specific goals- brainstorming, or a variety of preselected topics, etc, but becomes too distracting for anything else.
Title: Re: General Discussion
Post by: DarkTl on July 16, 2014, 08:22:16 AM
And in fact we both speak the same native language that isn't English :) .
Yeah, that's rather unusual situation to say at least  :D

Other means also require online all the time. Even though I have a lot of time to spend on the project, it doesn't mean that I can be online all the time.
Title: Re: General Discussion
Post by: DarkTl on July 17, 2014, 10:10:09 AM
More items jsons plus a lot of balancing. Also worked a bit on another rg pack to take a break from converting.

I've been thinking about crafting system. I can't really follow Alkion progress anymore, so I don't know how it was implemented there. But we definitely don't have enough items to make it useful, at least yet.
Title: Re: General Discussion
Post by: Xipomus on July 19, 2014, 03:44:40 PM
Hey guys,

Apollogies about being not here alot. But to be honest i worked 50-60 hours in the ICT, after the only think i could do behind pcs was watch some movies or something other relexing. Just too beat.

I see you still hard at it. I finally have some time off again.
Are there some issues i can help with?

Rendering atm isn't possible, because a friend is using my pc for renders.
After tuesday his project is done, so I can render some images should you need them.

Let me know.

Let
Title: Re: General Discussion
Post by: CherryWood on July 19, 2014, 06:38:33 PM
I looked at the disposition and this is what I think about it balance-wise:


- Because we are going for a gameplay that should allow a lot of girl working for MC at latter stages of the game, I think that maintaining disposition at neutral values (close to 0) should be almost effortless = remain stable over standard job events unless there are some extraordinary conditions in play (bad or good).
I think that as a dynamic stat that changes a lot in day-to-day business and needs to be look at, "joy" is enough.


- Friendship. I think we could implement a "Friend" status that player or girl can propose by reaching a certain disposition value (or it could just be that value without calling it anything). I propose it to be a one-time investment - MC will need to spend some effort on that particular girl, but after becoming friends, it should remain as that without further management, unless, like with neutral girls, conditions change a lot. That means player could play a good guy and be friend for all his girls, if he really want to. This could work as a check for MC request or events when girls may do something helpful for MC that's not a part of their job.


- Lover- this could start the same, simply proposing a love relationship at certain high disposition value. But, unlike being just friends, this should really require a regular investments of AP or money from MC - it should be a burden to maintain more girls in love with you at the same time and making a true harem could be a challenge that may require some late game stuff to help you.


------------


Girlmeets:


I know it's kind of late, but I feel that GMs that rely on seducing girls to recruit them for job is just a bad idea. It looks fine at start, but just imagining that you may later want to have, let's say, 50 free girls, and need to go through the same for each of them... no, just no.

SO...for recruiting a new girl, I think we should stay mostly within persuasion only (without all these kisses and such) as requirement to hire a girl.


I'm imagining:
- questions to figure out more about her (her traits, possible profession, class and experience - basics are in gms already)
- persuasion (putting MC charisma and other skills to use together with your business fame/infame, buildings owned...etc)
- plain money offer (you just promise her so much so it will be hard to refuse you)
- threatening/drugging/kidnap whatever if we decide to add some evil routes
And disposition only helping a little with this.


So later when your charisma is overwhelming or your business famous (who wouldn't want to work in a palace?) you should have no problem recruiting common girls at all by just making them the offer (if we assume that all girl you meet are potential workers, like they actually are now) except the most skilled ones (after we make them have various starting lvs) While, at the very beginning, you may be hardly able to recruit anyone (who would want to whore in a shack for some unproven boss?) without going through the raising disposition route like it it's now.
Title: Re: General Discussion
Post by: KingofKings on July 20, 2014, 12:55:36 AM
I'm sure the others can see what you are getting at Cherry, but that is a lot of work.

The guys would have to recode the entire girlsmeet process to allow for this, and even though it is Alpha and things like this are usually what happen, that is still tough.

For every girl that goes in, they would need to be made so as to line up with the new system, and that will put more work on the girl creators and modders because not only do they have all the work they have now to make them work, but they will need to be able to come up with (Possibly) unique lines and phrases for each outcome. Add to that with the random levels, while somewhat easy to do, will be harder to work because some girls are always weaker than others in their various cannon, so it will require that to be included aswell.

What you are saying is a very sound Idea, and something I'd like to see to, but there is a lot to go on with the game, and lots of work piling up that it may not be feasible for them to implement this into the game, and with every change comes new bugs and crashes.

I for one would enjoy this kind of thing, and maybe if you could expand that idea a bit, and make it more detailed, then it could be better seen and have a higher chance of getting in, because you would have done a fair bit of the hard work, showed it to be a good idea, and then it will be simpler for them to change the coding around.

I am in no way talking on behalf of the makers, nor do I speak for the public in general, but am rather giving some advice to make not only your idea more sound and reducing the stress on Xela and the others, who are busy working their asses of for us all, and probably have missed a few nights of sleep because of it.

Just something to think on.
Title: Re: General Discussion
Post by: MrKlaus on July 20, 2014, 04:11:42 AM
 
Girlmeets:
 
 I know it's kind of late, but I feel that GMs that rely on seducing girls to recruit them for job is just a bad idea. It looks fine at start, but just imagining that you may later want to have, let's say, 50 free girls, and need to go through the same for each of them... no, just no.
 
 SO...for recruiting a new girl, I think we should stay mostly within persuasion only (without all these kisses and such) as requirement to hire a girl.
 
 
 I'm imagining:
 - questions to figure out more about her (her traits, possible profession, class and experience - basics are in gms already)
 - persuasion (putting MC charisma and other skills to use together with your business fame/infame, buildings owned...etc)
 - plain money offer (you just promise her so much so it will be hard to refuse you)
 - threatening/drugging/kidnap whatever if we decide to add some evil routes
 And disposition only helping a little with this.
 

 To the list of ways of acquiring free girls also could be added:
 - a bad financial situation forcing them into working for the MC (they just randomly come and offering their service for a fee).
 - saving them from some kind of danger, for example monster attack or attempt kidnapping (for a good MC, or staging one for an evil MC).
 - buying out her debt from a lawn shark, so she is forced into working for the MC (here the flaw is that we are force to add another NPC to the game).
 
From my point of view, if the number of free girls will go up in the future, we could create a job center/employment agency for an easier employing. The agency would be something like current slave pens but the MC would be paying fees for signing the girls to the agency. Contracts could be signed, let’s say for 3 months or without  employment term. If MC would kick the girl before the contract ends he would paying some cash to her. Also the job center could have some extra options, making it more complex. For example, MC could commission the agency to find him girls with certain traits for money. Of course charisma and fame would give the MC some discounts.

 
Title: Re: General Discussion
Post by: CherryWood on July 20, 2014, 04:46:34 AM
@KingofKings:

?
Did I make a confusing post again? *sigh* This happen all the time...


Alter working on girlmeets before, and trying to find a base for balancing disposition gain now, this is actually mend to simplify that work a lot. It doesn't really propose to add anything right now.


If I didn't forget something important, then codewise it should just be:
- reducing the disposition gains/loses in jobs (just changing the numbers)
- creating a two flags for friend/love status (that doesn't even need to be there and use just numbers like now)
- making a check for high disposition girls that you need to interact with them one in a week or so or they disposition drop

for GM
- rewriting the Hire label a bit so it's based less on disposition and more on your fame (it actually work like this a bit even now)
- adding girls lvl into consideration (adding experience to girls in city so they are not are at lv 1 is planned already)
- and here I'm thinking about adding a stat to girlmeets only about how persuaded that girl is to work for you, to balance this independently on disposition, as that was a problem in Alpha (I'm currently testing this)

And that's all folks


btw. Option to add Unique lines (beside option to start a whole customized meetscript) for each girl is already there for modders that may be interested in that. It's not forced on anyone, girl without that will just use basic lines.


@MrKlaus:
This ALL has been talked about and agreed on already actually. It was mend to be a part of "Life simulation" where each girl do live and work somewhere (you own girls do they own shopping and such was also a part of this) but that was postponed a lot I believe as it does not add that much gameplay for the required work as other things on the ToDo list.


Agency stuff sounds nice, but it's too code dependable for me to think about it. Also is we introduce some contract and wage negotiations, that would be another thing to balance.
Title: Re: General Discussion
Post by: DarkTl on July 20, 2014, 04:51:31 AM
For every girl that goes in, they would need to be made so as to line up with the new system, and that will put more work on the girl creators and modders because not only do they have all the work they have now to make them work, but they will need to be able to come up with (Possibly) unique lines and phrases for each outcome. Add to that with the random levels, while somewhat easy to do, will be harder to work because some girls are always weaker than others in their various cannon, so it will require that to be included aswell.
Sorry, that might be possible for EA maybe if they would agree to make free open source hentai games instead of Sims, but definitely not for us  :D
All character uniqueness that girls have is provided by traits and base race. There is nothing new for creators and modders.
As for unique lines and phrases for each outcome, I believe we might need different lines for various traits and disposition levels, just like we have them now, but without too deep analysis of combinations, simply because 81 traits mean more than 3000 pairwise combinations and more than 80000 triple combinations, if I remember formulas correctly.
===============================================================================

Ok, let's separate girlsmeets and dating system then. When you just try to hire a girl, there shouldn't be things like kissing.

Instead there should be an option to invite them on a date as a separate event where player could do all these things if he willing to, providing that disposition is high enough.
There are a lot of games, even jrpgs and strategies, where a separate dating system exists with simple choices like where to go, what gift to give, what to talk about, etc.

But let's make girlsmeets first.
I'll probably finish with items in 4-5 days, then I'll help you with lines, if you do not mind. You could outline a new json meanwhile without lines, just with conditions, like we have now "refuse for chat",  "about her", etc. Or I'll do it myself after items.
Title: Re: General Discussion
Post by: CherryWood on July 20, 2014, 05:31:53 AM
Ok, let's separate girlsmeets and dating system then. When you just try to hire a girl, there shouldn't be things like kissing.
I'm still figuring how to do that so it's not totally boring to play. With complete separation we would probably lose to much atm, as there's nothing interesting yet to replace the interaction part...  (something like wage negotiation).


I'm definitely not going to waste any lines we already have If I can avoid it. These options could even stay in girlmeets like they are now I believe, we just need to move the actual texts to a place where they could be easily accessed from any place (i.e. Kiss from gm, kiss from interaction, kiss from date, kiss from random event will all use the same pool of kiss responses) so it's more manageable.


I also have some new lines (from another games mostly), just didn't have time to implement them...


----------
To be honest, I'm still more inclined to just create a new girls as I like doing that the most, but I stopped because of the unresolved tag issues...
This balancing stuff is giving me headaches  :)
Title: Re: General Discussion
Post by: MrKlaus on July 20, 2014, 08:03:01 AM
All character uniqueness that girls have is provided by traits and base race. There is nothing new for creators and modders.
As for unique lines and phrases for each outcome, I believe we might need different lines for various traits and disposition levels.

 I don't have the knowledge to help You guys code this, but I'm here as a supporting writer. If you need dialogs, describes or anything else don't hesitate to PM me with details.
 
Title: Re: General Discussion
Post by: CherryWood on July 20, 2014, 09:57:57 AM
Is the current repo version stable? I can't get pass next day - but I didn't played for a while, so its maybe caused by some old girl files I may have here...
Code: [Select]
While running game code:
  File "game/library/screens/pyt - screens - nextday.rpy", line 125, in script
    with dissolve
  File "game/library/screens/pyt - screens - nextday.rpy", line 352, in <module>
    text ("%d" % len(list(girl for girl in guards if girl.action in ("Rest" "AutoRest")))) style "next_day_summary_text"
  File "game/library/screens/pyt - screens - nextday.rpy", line 352, in <genexpr>
    text ("%d" % len(list(girl for girl in guards if girl.action in ("Rest" "AutoRest")))) style "next_day_summary_text"
TypeError: 'in <string>' requires string as left operand, not NoneType
Title: Re: General Discussion
Post by: Xipomus on July 20, 2014, 10:18:11 AM
Cherry,

When i reload from the repo i can't even start it.
Code: [Select]
I'm sorry, but an uncaught exception occurred.

While loading the script.
AttributeError: 'module' object has no attribute 'Style'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "C:\Games\Downs\renpy-6.15.0-sdk\renpy\bootstrap.py", line 254, in bootstrap
    renpy.main.main()
  File "C:\Games\Downs\renpy-6.15.0-sdk\renpy\main.py", line 203, in main
    renpy.game.script.load_script() # sets renpy.game.script.
  File "C:\Games\Downs\renpy-6.15.0-sdk\renpy\script.py", line 177, in load_script
    self.load_appropriate_file(".rpyc", ".rpy", dir, fn, initcode)
  File "C:\Games\Downs\renpy-6.15.0-sdk\renpy\script.py", line 436, in load_appropriate_file
    if self.load_file(dir, fn + compiled, initcode):
  File "C:\Games\Downs\renpy-6.15.0-sdk\renpy\script.py", line 310, in load_file
    data, stmts = self.load_file_core(dir, fn)
  File "C:\Games\Downs\renpy-6.15.0-sdk\renpy\script.py", line 288, in load_file_core
    data, stmts = loads(f.read().decode('zlib'))
AttributeError: 'module' object has no attribute 'Style'

Windows-Vista-6.0.6002-SP2
Ren'Py 6.15.4.320

So i can't really say for certain. I could be forgotting something simple, but for the life of me i can't recall what.
Title: Re: General Discussion
Post by: DarkTl on July 20, 2014, 12:30:25 PM
I don't have any issues, and my copy is synchronized with repo. If you need new girls files, there are in my dp somewhere, but we didn't change that much, I think.
Title: Re: General Discussion
Post by: Xipomus on July 20, 2014, 12:51:53 PM
I'll try to start anew and test again. Thx for the answer.
Title: Re: General Discussion
Post by: DarkTl on July 20, 2014, 02:55:26 PM
Actually, you could try to update renpy itself for a start.
Title: Re: General Discussion
Post by: Xipomus on July 20, 2014, 02:57:59 PM
Both... :D works now. Thanks for the tip anyways :D
Title: Re: General Discussion
Post by: Xela on July 20, 2014, 05:34:33 PM
Good bit of reading :)

@CW I am not sure that I can make a sense of that error, I'll try to take a look tomorrow.

Otherwise, I like the ideas and we should move that way, yeah. Also it would be nice of we could work in girls that don't start at level 0 in there and it'd be nice if non-player girls had some employment (someone should try and make a simple sheet of "profession": multiplier pairs).
Title: Re: General Discussion
Post by: DarkTl on July 21, 2014, 02:28:43 AM
^I could, if you clarify what do you mean by multiplier here.

Btw, looks like we have a fully translated Artificial Academy 2 available on ponolab and hongfire. There are a lot of interesting ideas, including dialogue topics.
Title: Re: General Discussion
Post by: Xela on July 21, 2014, 10:05:51 AM
^I could, if you clarify what do you mean by multiplier here.

As usual, some base wage * multiplier = wage. Some job should pay more than others and multiplier would be a simpler way of controlling that than just values.

Btw, looks like we have a fully translated Artificial Academy 2 available on ponolab and hongfire. There are a lot of interesting ideas, including dialogue topics.

Yeap, I've noticed.
Title: Re: General Discussion
Post by: Xipomus on July 21, 2014, 11:31:34 AM
If you want a "simple" way to have the free girls or even the slaves not in the market have a free job, you could think about adding a carnival or market to the Park.

That way the service girls can man stands, guards can guard there (or the slavemarket and arena) and even the whores can try to intice the customers there.

with the slaves there off course is a owner you need to buy/steal/kill her from and could end up with fighting for her with the owner and his goons.

That's just an idea though.
Title: Re: General Discussion
Post by: DarkTl on July 21, 2014, 02:13:05 PM
I guess we need several different jobs for different occupations. Though it's kinda hard to come up with something for whores other than actual whoring.

Since we consider whores as a prestigious profession with levels and stuff, perhaps they should be less common than other occupations.
Title: Re: General Discussion
Post by: MrKlaus on July 21, 2014, 03:37:34 PM
I guess we need several different jobs for different occupations. Though it's kinda hard to come up with something for whores other than actual whoring.

 Whores could be used as:


Escorts – the most exclusive, prestigious type of girls. They would go for a day (maybe more) and earn some good money.


Party girls – unable at day time (sleep off time). Being a nice “decoration/addiction” for every party, are rented by bar owners, event organizer etc.. Generally open minded, fun to be around girls. So shy, meek etc would suck at this job.


Sex pets – rental a girl to a noble as a “personal sex toy”. They would be gone, earning the MC a weekly fee. Of course if the lender is a sadist the girl could turn dead after a while or if he is a pervert he could ask for another one not being fully satisfied with ONLY one. Also something like a report/letter from the girl could be added alerting the MC of a potential death threat.


Whores on the streets – more risk, same pay. She can get rapped, attack or kidnapped by competition. But for this option to have any sense, a brothel should have more rooms for living then working rooms.


Whores in brothel – nothing new.


Dominatrix – something for free girls. She would only go for S&M services not participating in normal whoring. Could be coded like a normal whore but with new text describing the job.
Title: Re: General Discussion
Post by: DarkTl on July 22, 2014, 09:36:32 AM
Very good ideas, thanks.
If you have ideas for service girls, strippers and warriors, they are welcomed as well  :)
Title: Re: General Discussion
Post by: MrKlaus on July 22, 2014, 09:57:52 AM
Service girls:

Personal maids – work for some nobles. Providing: serving breakfast, wakening them up with a blowjob, making the bed, cleaning room and other maid stuff. But serving only one person not the entire household.


Gardeners – cut the goddamn grass and water the flowers!


Cleaning crew – clean the shit that customers left behind. Could find some left behind items. Maybe trigger a quest finding a left behind map.


Bar stuff – providing drinks, snacks for customers.


Receptionist – let’s say that every reception would enable this job. Max two girls could be assign. Being bad at this job the girl could send the customer to a room that already have a client inside. Something funny could occur from that (three some = extra money, stat boost for the whoring girl) or he would yell at her demanding some discount for the humiliation.


Strippers:


Strippers – nothing more to say.


Sensual dancers – not losing any clothes but people still want to see it. Something like belly dancers.


Event dancers – hired for shrines, parade, religious events.


Cabaret dancers – something like a can-can show. Could be able after buying the large striper stage in the palace. To start earning money at least four girls should be assigned to the job. More girls = more money.


Warriors:


Personal bodyguard/house guard – an NPC that would be assign to the MC. Following him around like a shadow, everywhere when exploring the city streets, shops, areas and protect/help in a fight, when getting jumped by robbers in the city. But would NOT participate in arena team fights, team exploration outside the city. Also could be an employed by royals, merchants in the city that are afraid of their lives, earning some weekly money.


Mercenaries – Assigning a fighting group. Used to escort merchants, gold carts, members of royal families outside the city walls. Also could get the MC an opportunity to rob a gold cart.


Assassins – get a job from a shady NPC that is willing to pay good money for someone’s head. But if the assassinations fails it will be a hell for the MC, authorities hunting him and the family would try to kill the MC in revenge (personal bodyguard comes in use). Also the girl that assassinate could blackmail the MC in revealing the truth to the authorities or the target family members if he isn’t willing to pay her something extra for silence.


Extortions – harass local shop keepers, people in the slums for money, items in exchange for protection. Could trigger to get in a fight with a CrimeLord that will be running his business in the slums vicinity.


Brothel bouncers – already have them.



 
Title: Re: General Discussion
Post by: Draonir on July 22, 2014, 10:59:31 AM
Hi there i thought about some warrior jobs.

Brothel Guard: I think i don't need to explain this

City Guard: Patrol in the city. This can be expand with promotions to be the Guard Captain (only free girls should be able to get promotions)

Hunter or Treasure Hunter:  The Girl is on the Hunt for getting rare item or more (This can be a group action and you can use strange monsters here)

Gladiator: Because we have an arena already

Thief: Steal money from people that run around

Baywatcher: I don't know why but i like the idea

of course these jobs are for girls that loves fighting

Title: Re: General Discussion
Post by: Xela on July 22, 2014, 01:23:34 PM
City Guard is a must!

There is no need to separate jobs by classes, we can simple add another dictionary for when assigning jobs to girls such as:

Warrior: ["City Guard", "Adventurer", "Thief"] as those can overlap.

For now we just need a basic system to simulate the environment, we cannot make it too complicated but we should have one and it should start somewhere.

Tomorrow I'll try to put in 5 - 6 hours into SE module, been slacking off for far too long :)
Title: Re: General Discussion
Post by: DarkTl on July 23, 2014, 12:18:54 PM
Thief is probably a universal job. You don't need to fight or even be agile if you know how to hide and what and where to steal (like in original Thief series).

Ideally, professions should be not completly random and faceless. For example, Baywatchers should have more charisma (it's a very sustainable cliche), Gladiators more fame, City Guards more constitution, etc. Or maybe a list of good traits would be better, just like for items, though it might be an overkill.
Title: Re: General Discussion
Post by: MrKlaus on July 23, 2014, 01:18:42 PM
 About gladiators.  You guys are thinking something like the Spartacus TV series or something more like a brawl fighting style from Fight Club – people fight but no one’s dies?
Also if a gladiator that the MC own or employ will be in top 10 fighters there should be a possibility that she will say “Got better contract from Mr./Mrs. X. It’s been real…” or something like “I’m tired/Can’t do this anymore” and just drop out on the MC. 
Next about fame from the fights. Would it go on the MC account or the gladiator?
Currently (and I think in the future) the Arena will be used as a tool to get the MC prepared to self-defense situations and incoming fights in the wild lands. If I’m wrong on this please tell.
 
And for the ending, something from me about Warrior class. In my opinion it should be more like a private sector stuff. I’m saying this because I don’t see a reason why should someone employ themselves in the “MC Empire” while he would be assign as a city guard. Why just don’t skip the middle man?  The same goes for Thieves. Why a FREE girl should split the loot with the MC when she haves the skills to pull the job herself? And slave girls as thieves. Hell of a risk for the MC to send out a slave to steal something. If she gets caught it will pinpoint in the direction of the MC, if she decides to talk or the MC will have to say something “I wasn’t aware of her doing. “ leaving her to the authorities. In my opinion let Warriors be a private army, working for cash. Gladiators okay but maybe do it something more underground, more illegal, like a real dog fights in the slums? Two slaves come in, one comes out (or a tiger with full belly)? 
Adventurer maybe something more like an explorer that comes up to the MC to fund an expedition? Long term investment with high risk but also high profits chance. I’m saying this because it’s hard to imagine a situation like this: MC gives a backpack to a slave girls, some pocket money, map and say to her “Go and explore” ; she would surely return…  NOT.
 
Title: Re: General Discussion
Post by: Xela on July 23, 2014, 01:49:49 PM
The jobs are not for the MC girls, they are for free girls that are not in MC's service. Girls will earn money and in the future spend money even when not employed by MC. Their job status will also decide in part if they want to join MC in one of his businesses.

I didn't understand the question about Arena.
Title: Re: General Discussion
Post by: DarkTl on July 23, 2014, 01:59:11 PM
About gladiators.  You guys are thinking something like the Spartacus TV series or something more like a brawl fighting style from Fight Club – people fight but no one’s dies?
We don't want all unique warrior girls to die in first two months before players can even meet them, all those packs will be in waste.
Random unemployed girls can die as much as they want at arena or anywhere else, the game will generate new ones. Though there will be ressurection system as well, so death is probably not too important.

I don’t see a reason why should someone employ themselves in the “MC Empire” while he would be assign as a city guard. Why just don’t skip the middle man?  The same goes for Thieves. Why a FREE girl should split the loot with the MC when she haves the skills to pull the job herself?
Because MC has power, money, allies, real estate, high charisma stat, etc.  :D
Not from the beginning, of course. In the beginning you should be able to hire only warriors that are too weak even for city guards.

Adventurer maybe something more like an explorer that comes up to the MC to fund an expedition? Long term investment with high risk but also high profits chance. I’m saying this because it’s hard to imagine a situation like this: MC gives a backpack to a slave girls, some pocket money, map and say to her “Go and explore” ; she would surely return…  NOT.
Slave girls cannot be warriors.
Basically, you don't need too many guards for brothels. You need them mostly for exploration stuff, and exploration requires  funding. Thus, all those mighty warriors at very least need MC's money to start their expeditions.
Title: Re: General Discussion
Post by: MrKlaus on July 24, 2014, 01:05:28 AM
The jobs are not for the MC girls, they are for free girls that are not in MC's service. Girls will earn money and in the future spend money even when not employed by MC. Their job status will also decide in part if they want to join MC in one of his businesses.

 This explained a lot. I thought that the jobs are only for the girls in the MC's service. Sorry for the commotion.
 
Title: Re: General Discussion
Post by: DarkTl on July 24, 2014, 09:20:55 AM
Items are almost finished. Pushed json with girls jobs. It has both multipliers and main stats for every job. I'm not actually sure what to do with main stat, maybe girls with this job should have a little bonus to it, maybe it should be required for job checks, maybe both.
Title: Re: General Discussion
Post by: Xela on July 24, 2014, 10:02:55 AM
Items are almost finished. Pushed json with girls jobs. It has both multipliers and main stats for every job. I'm not actually sure what to do with main stat, maybe girls with this job should have a little bonus to it, maybe it should be required for job checks, maybe both.

Kewl, I did a bit of coding as well but was otherwise occupied trying to make better Anime characters for the AA2.

What do you think base wage (per day) should be?
Title: Re: General Discussion
Post by: DarkTl on July 24, 2014, 11:17:35 AM
I proposed somewhere cost of living, it's 15 gold per day for the cheapest food (decreasing health if not enough gold) and 25 gold/per day for the cheapest home (increasing fatigue if not enough gold).
Thus, we could say that 40 is cost of living per day for unemployed by MC girls, and 15 if they have a room provided by MC.

Let's set it to 50. All existing jobs will provide enough gold. In the future I'll add less well-paid jobs for low lvl girls, but for now in the absence of proper LS system we can't simulate poverty well enough.
Well, unless you are going to write life simulation system in the near future.
===============================================================================
I have to say, now you actually have to work in AA2 to achieve something, unless you are cheating with traits or use "main hero" card status.
Title: Re: General Discussion
Post by: Draonir on July 24, 2014, 11:43:48 AM
After that, we should think about how the city is organized. Do we have a single person in charge (mayor, king), or a group of person that are in charge (aristocracy).
Title: Re: General Discussion
Post by: Xela on July 24, 2014, 11:54:47 AM
After that, we should think about how the city is organized. Do we have a single person in charge (mayor, king), or a group of person that are in charge (aristocracy).

More NPCs/Writing... I don't really care but we talked about the "Masters" several times so some form of aristocracy I think.
Title: Re: General Discussion
Post by: DarkTl on July 25, 2014, 09:22:29 AM
If someone would like to actually write a good detailed city concept, not just discuss it in general, feel free to do it. Since we don't have it, we could use any.
Title: Re: General Discussion
Post by: MrKlaus on July 25, 2014, 01:42:06 PM
If someone would like to actually write a good detailed city concept, not just discuss it in general, feel free to do it. Since we don't have it, we could use any.

 As the "detailed city concept" you mean something like a whole structure for a city state to actually work? Like economics, population presented in numbers, ethnics, social status, food providing, military system, mayor/minor trading goods, etc?
 
Title: Re: General Discussion
Post by: Xela on July 25, 2014, 01:56:01 PM
As the "detailed city concept" you mean something like a whole structure for a city state to actually work? Like economics, population presented in numbers, ethnics, social status, food providing, military system, mayor/minor trading goods, etc?

I don't think we need that atm. I wrote about "general areas" a couple of times like flea-bottom (ghetto ran by criminals), general area and high-class area (golden hill). We could use backgrounds, NPCs with some minor quests, City Guard (Commander and maybe one or two lieutenants), Bank, maybe more shops. High-class area should be available only when reaching specific amount of rep/doing some quests. I have a whole host of ideas for fleabuttom but it's too long to go into right now. I think it's too early for numbers, I was planning to do the city after the SE module.
Title: Re: General Discussion
Post by: Xela on July 25, 2014, 07:28:31 PM
I've pushed a small bit of code.

- Items will be loaded from JSON now (got rid of old files) *Note Loading from XML is still valid (BC), in case of dual items, JSON will have priority.
- Rescaled some screen code (updated ancient message, confirmation and input screens)
- Some work on SE (Deleted almost 200 lines of code cause it sucked :( )
- Some other code improvements
Title: Re: General Discussion
Post by: DarkTl on July 26, 2014, 07:44:16 AM
I mean we could use descriptions and prehistory for those general areas, just like we have for the whole city. Also, we already need descriptions for elemental alignments, because elements are in the game with a placeholder instead of descriptions. I have Descriptions.txt in my db, but they are just rip-offs from other games, original texts would be better.
Title: Re: General Discussion
Post by: MrKlaus on July 26, 2014, 08:11:10 AM
I mean we could use descriptions and prehistory for those general areas, just like we have for the whole city. Also, we already need descriptions for elemental alignments, because elements are in the game with a placeholder instead of descriptions. I have Descriptions.txt in my db, but they are just rip-offs from other games, original texts would be better.

Will get to writing this right away.
========
Added some NPCs and items in the dropbox.
Title: Re: General Discussion
Post by: Xela on July 26, 2014, 08:21:16 AM
Will get to writing this right away.

You do know how they work? There is an explanation on this forum somewhere...

* And note that descriptions should be short! We will prolly have NPCs or special help screens explaining stuff in great detail at some point, however descriptions themselves should fit in small tooltip areas.

Found the code:

Code: [Select]
            # Magic alignment:
            # Target:
            if ('fire' in attributes):
                if ('water' in target.Attributes):
                    multiplier = choice([0.4, 0.5, 0.6])
                elif "air" in target.Attributes:
                    multiplier = choice([1.5, 1.6, 1.7])
                elif ('fire' in target.Attributes):
                    multiplier = 0
                elif "neutral" in target.Attributes:
                    pass
                else:
                    multiplier = choice([1.2, 1.3, 1.4])
                   
                if "fire" in attacker.Attributes:
                    multiplier += 0.5
                elif "air" in attacker.Attributes:
                    multiplier -= 0.5
            if ('water' in attributes):
                if ('earth' in target.Attributes):
                    multiplier = choice([0.4, 0.5, 0.6])
                elif "fire" in target.Attributes:
                    multiplier = choice([1.5, 1.6, 1.7])
                elif ('water' in target.Attributes):
                    multiplier = 0
                elif "neutral" in target.Attributes:
                    pass
                else:
                    multiplier = choice([1.2, 1.3, 1.4])
                   
                if "water" in attacker.Attributes:
                    multiplier += 0.5
                elif "earth" in attacker.Attributes:
                    multiplier -= 0.5
            if ('earth' in attributes):
                if ('air' in target.Attributes):
                    multiplier = choice([0.4, 0.5, 0.6])
                elif "water" in target.Attributes:
                    multiplier = choice([1.5, 1.6, 1.7])
                elif ('earth' in target.Attributes):
                    multiplier = 0
                elif "neutral" in target.Attributes:
                    pass
                else:
                    multiplier = choice([1.2, 1.3, 1.4])
                   
                if "earth" in attacker.Attributes:
                    multiplier += 0.5
                elif "air" in attacker.Attributes:
                    multiplier -= 0.5
            if ('air' in attributes):
                if ('fire' in target.Attributes):
                    multiplier = choice([0.4, 0.5, 0.6])
                elif "earth" in target.Attributes:
                    multiplier = choice([1.5, 1.6, 1.7])
                elif ('air' in target.Attributes):
                    multiplier = 0
                elif "neutral" in target.Attributes:
                    pass
                else:
                    multiplier = choice([1.2, 1.3, 1.4])
                   
                if "air" in attacker.Attributes:
                    multiplier += 0.5
                elif "fire" in attacker.Attributes:
                    multiplier -= 0.5
                   
                   
            if ('light' in attributes):
                if ('darkness' in target.Attributes):
                    multiplier = choice([1.8, 1.9, 2.0])
                elif ('light' in target.Attributes):
                    multiplier = 0
                elif "neutral" in target.Attributes:
                    multiplier = choice([0.6, 0.7, 0.8])
                else:
                    multiplier = choice([1.2, 1.3, 1.4])
                   
                if "light" in attacker.Attributes:
                    multiplier += 0.5
                elif "darkness" in attacker.Attributes:
                    multiplier -= 0.5
            if ('darkness' in attributes):
                if ('light' in target.Attributes):
                    multiplier = choice([1.8, 1.9, 2.0])
                elif ('darkness' in target.Attributes):
                    multiplier = 0
                elif "neutral" in target.Attributes:
                    multiplier = choice([0.6, 0.7, 0.8])
                else:
                    multiplier = choice([1.2, 1.3, 1.4])

                if "darkness" in attacker.Attributes:
                    multiplier += 0.5
                elif "light" in attacker.Attributes:
                    multiplier -= 0.5
Title: Re: General Discussion
Post by: DarkTl on July 26, 2014, 08:34:01 AM
According to the current concept, alignment has nothing to do with characters personality, it's just the element they are good with according to the source, or random element for rgirls. For those who don't have such an element we have neutral alignment.
In the future there could be more advanced stuff, like levels (fire 1, fire 2) or mixed alignment. But those things will be useful only with advanced BE, so we don't have them now.
Title: Re: General Discussion
Post by: MrKlaus on July 26, 2014, 08:37:07 AM
* And note that descriptions should be short! We will prolly have NPCs or special help screens explaining stuff in great detail at some point, however descriptions themselves should fit in small tooltip areas.
Sir, yes sir!


Thx for the code.

 At first I intended to base on .txt from db in describing them. I thought us much that there are some reliance between them (water beats fire etc.).
 
Title: Re: General Discussion
Post by: DarkTl on July 26, 2014, 08:42:16 AM
There is a reliance. It starts from here (http://www.pinkpetal.org/index.php?topic=2670.msg24511#msg24511).
Title: Re: General Discussion
Post by: Xela on July 26, 2014, 08:42:25 AM
LoL

I've been looking at this code wondering what will happen if a fire based attacker hits opponent with an air spell :D Will it actually heal the enemy?

Proly not the case.

* It's likely possible to wreck havoc with naruto-type spells that use multiple elements as well :)
Title: Re: General Discussion
Post by: DarkTl on July 26, 2014, 08:51:29 AM
Usually, fire based npc/mob should not have air based spells. Even if they do, they should be weak as hell.
The only case when healing happens is when fire 3 (or more, if we'll have more levels) alignment character damaged by any fire spell.

That's the concept, not code  :)
Title: Re: General Discussion
Post by: Xela on July 26, 2014, 11:37:25 AM
Well, I dug around in renpy guts a little bit, it looks like we cannot disable rollback completely without breaking saving system but I found a way to kill auto-saves during menus for a much smoother gameplay (Yey!).

Going to put some time into SE now.
Title: Re: General Discussion
Post by: DarkTl on July 26, 2014, 01:00:33 PM
@Cherry, do you have any progress with girlsmeets?
Title: Re: General Discussion
Post by: CherryWood on July 26, 2014, 01:43:42 PM

I finally get rid of my problems with renpy and I'm able to run the game again. This new stuff in game is nice, great work guys!

@Cherry, do you have any progress with girlsmeets?
No, I have like 100 or more additional text responses, but this is probably not what you are asking for.

Feel free to do anything you want with girlmeets files. I now only plan to add these texts and maybe few small checks but that's all and it can wait.

I know that I said that I want to do some changes, but even if I feel that something about current girlmeets is not quite right, I was not able to transform my random thoughts into something worthwhile.
Title: Re: General Discussion
Post by: Xela on July 26, 2014, 03:34:02 PM
I know that I said that I want to do some changes, but even if I feel that something about current girlmeets is not quite right, I was not able to transform my random thoughts into something worthwhile.

Yeah, I've been thinking the same thing, that's why the idea is to write a fresh concept :)

Otherwise, I spent 4 hours getting rid of some errors from the SE module, going to try and work on it for a few hours more.
Title: Re: General Discussion
Post by: DarkTl on July 26, 2014, 05:05:04 PM
@Klaus
Cool descriptions  :)
I guess you could try to write long ones as well, they will be used not for description field, but as a direct speech of some npc. Even if there will be different npcs describing alignments, we always can edit them a bit.

@Xela
We probably need some kind of small picture to show at least big alignment circle, it will be much more vivid and memorable. Maybe it should be available anytime, even in BE, if it's not too difficult. We should mention all weaknesses in the long descriptions, of course.

I'll try to form my own concept of girlsmeets after finishing items. So far I'm positive that recruiting and dating should be separated, and enemy/friend/lover statuses should be used.
Title: Re: General Discussion
Post by: MrKlaus on July 26, 2014, 05:18:03 PM
@DarkTI

Ok I will do the long ones  8)

About mentioning the weakness. Xela pointed it to me in PM, that short should also have them. In my opinion we could just add a bracket at the end with a description of the weak/strong against types.
Title: Re: General Discussion
Post by: CherryWood on July 26, 2014, 06:13:14 PM
I'll try to form my own concept of girlsmeets after finishing items. So far I'm positive that recruiting and dating should be separated, and enemy/friend/lover statuses should be used.
That would be great - I tried for something like that, but I had problems figuring out especially the recruiting part. For dating it's easier, we have a great base in current girlmeets + there are many ways to expand like going to locations and do stuff there, girls being proactive and suggest things, moods, events, etc.  But how to hire free girls in some convenient way...
So I'm looking forward for your ideas
Title: Re: General Discussion
Post by: Xela on July 26, 2014, 06:16:17 PM
But how to hire free girls in some convenient way...

Should depend on a job he has and we'll have some form of recruitment agency for unemployed girls or girls looking for better jobs in the future.
Title: Re: General Discussion
Post by: Xela on July 26, 2014, 08:17:48 PM
SF Update:

- Some code rescaling
- Loads of new SE code (Not working yet but very close to it's first run)
- Saving before every menu is disabled so there are is no more freezing on menus! (Finally figured out how, had to rewrite one of RenPy functions)

Loads of new GUI functionality but no exploration yet, still managed to write about 100 lines of code even for that :)
Title: Re: General Discussion
Post by: DarkTl on July 27, 2014, 04:07:05 AM
One thing that we missed is that characters with prostitute occupation in theory should be available for hiring anytime. Why else they called prostitutes after all?
Here we could use casanova skills checks to improve disposition a bit (but MC still has to pay for service).
Title: Re: General Discussion
Post by: Xela on July 27, 2014, 06:09:19 AM
hiring

I'd prefer a system where it depends on their current occupation, if they already have a job and you don't want to bother with disposition, they have no motive to join you.
Title: Re: General Discussion
Post by: MrKlaus on July 27, 2014, 06:29:23 AM
 It just hit me. Do we have a destined graphic visualization of the NPC that will talk about the alignments? Depending of it gender and looks I will make the dialog more fitting to the NPC characteristics.
 
Title: Re: General Discussion
Post by: Xela on July 27, 2014, 06:32:08 AM
It just hit me. Do we have a destined graphic visualization of the NPC that will talk about the alignments? Depending of it gender and looks I will make the dialog more fitting to the NPC characteristics.

I always imagined some seasoned old warrior but it's more than open for discussion.
Title: Re: General Discussion
Post by: Xela on July 27, 2014, 06:43:34 AM
Does anyone get crashes every 2 - 3 times game is starting or is it just me? I am also getting some weird crap when using Jedit :(

Going to try one of the previous versions.
Title: Re: General Discussion
Post by: MrKlaus on July 27, 2014, 08:05:23 AM
 I'm thinking about two approaches. One more teasing with the young girl, some kind wonder child at the mage tower, with adds to the dialog like "You don’t know this mister. You must be pretty dumb." The second is a wise man with more a mentor approach but got only one img of him. The rest of the girl images are uploaded on db.
 


(https://dl-web.dropbox.com/get/PyTFall/MrKlaus/NPC/Man/MISC/88157464.gif?_subject_uid=317822518&w=AABiDINMheiiv9dR5KKz8BsI9lO9tO6gemZwSdx3UmOz5Q) or (https://dl-web.dropbox.com/get/PyTFall/MrKlaus/NPC/Woman/Common/04%20-%20blond%20GIRL/43402046.gif?_subject_uid=317822518&w=AACkXdZHlZKzhUny-OGLDhGJPN8gT_cl4EHaRooK4GDScg)
Title: Re: General Discussion
Post by: DarkTl on July 27, 2014, 09:16:17 AM
I'd prefer a system where it depends on their current occupation, if they already have a job and you don't want to bother with disposition, they have no motive to join you.
You misunderstood. If a character is a prostiture class (and all jobs for them are sex-related anyway), then MC can hire her for sexual service as well. Not for brothel, but for himself, for one hour/night/whatever. Pay her good money for it, reduce his libido and possibly increase disposition if he was good enough.

Since they are prostitures, MC can use their services as well, just like other customers. It doen't have anything to do with joining.
Title: Re: General Discussion
Post by: Xela on July 27, 2014, 09:50:40 AM
Since they are prostitures, MC can use their services as well, just like other customers. It doen't have anything to do with joining.

Ah, ok, we can do that. There is something like that in the texts already, girl that is a prostitute will reply by "no freebees" or something like that.
Title: Re: General Discussion
Post by: CherryWood on July 27, 2014, 10:21:18 AM
Ah, ok, we can do that. There is something like that in the texts already, girl that is a prostitute will reply by "no freebees" or something like that.
Yup, that reply is in interaction for a while, but it is based on disposition only (you are only asking her to do it for free). It was called for by people in alpha that prostitutes should not plainly refuse you if they are ok with customers, but I didn't know how much they should ask for, and there is also that training factor in play if MC is skilled enough.

For free girls, there is a question on how do we choose and label which girls are established prostitutes, and which are just those with a potential to become one (like it it's now).

btw, right now, when you do a sexual interaction, girl's and MC's skill increases at a plain percent chance. Maybe we could add a comparison of both actors skills into it? (choosing a partner girl for les action would also gain more meaning in that case)
Title: Re: General Discussion
Post by: Xela on July 27, 2014, 10:29:30 AM
btw, right now, when you do a sexual interaction, girl's and MC's skill increases at a plain percent chance. Maybe we could add a comparison of both actors skills into it? (choosing a partner girl for les action would also gain more meaning in that case)

Yeap, we should write some formulas for that and maybe turn it into a method...
Title: Re: General Discussion
Post by: DarkTl on July 27, 2014, 12:21:49 PM
Maybe we should preserve Virgin trait. Not sure about random characters (not a big deal, I guess), but definitely for unique ones. For example if we have a virgin unique prostitute, only anal and bj will be available until MC has enough disposition. Same goes for imaginary customers that she has on her job until MC hires her, but without disposition thing because they don't have it, obviously.
Title: Re: General Discussion
Post by: Xela on July 27, 2014, 02:29:23 PM
Guys, is anyone else getting this crap every now and again when launching the game???

(http://s12.postimg.org/5rwqbj3m1/7_27_2014_9_17_16_PM.jpg) (http://postimg.org/image/5rwqbj3m1/)
Title: Re: General Discussion
Post by: CherryWood on July 27, 2014, 02:58:43 PM
Guys, is anyone else getting this crap every now and again when launching the game???
Yes, it started happening to me after the previous Renpy update (my update, dunno it that was two version before or more by number). But when I start the game for second time, it usually work, so I didn't really cared.
It's there on both my pc and laptop. But because I was out a lot and updated stuff in a bunch that time, I have no idea what could have caused it.
-------

edit: ok... sorry for not mentioning it. I though it's only on my side, like the error I posted earlier that was the case (old girlfiles and such). And It didn't happen to me lately (it's strangely random) so I forget about it until your post, after I started the game several times to confirm it's still there.




=========
edit2: pushed a fix to the new day screen error, it was just a missing comma
Title: Re: General Discussion
Post by: Xela on July 27, 2014, 03:03:17 PM
Yes, it started happening to me after the previous Renpy update (my update, dunno it that was two version before or more by number). But when I start the game for second time, it usually work, so I didn't really cared.
It's there on both my pc and laptop. But because I was out a lot and updated stuff in a bunch that time, I have no idea what could have caused it.

Thanks, saves me some time trying it on different PC... it's not the version, I've tried older once, same thing. Something is causing this in the code I guess, I just don't know what. Posted this on lemma, maybe someone there can figure it out.
Title: Re: General Discussion
Post by: Xela on July 28, 2014, 12:46:44 AM
SF Updated:

- Huge SE update
- Large amount of code adapted to work with SE module

Note that there are no markers for exploration on the next day summary screen yet BUT reports can be seen under all. Individual girls reports will report that girls are on an exploration run and when team returns (on scheduled or prematurely), there will be a detailed day per day report.

What's working:
- Simulated Combat
- Items hunting (from now chosen from all items below the price for now)
- Risk (determines rewards, chance to find items, team withdrawal, chance to die in combat, experience and etc)
- Access to girls should be blocked everywhere except items transfer screen (didn't get around to doing that yet)
- New areas can be created and unlocking is working
- Most stuff on the SE screen (there are some renpy bugs there as well, click rmb if screen freezes)

prolly more, too tired to remember what :)
Title: Re: General Discussion
Post by: Xela on July 28, 2014, 01:37:44 AM
I though it's only on my side, like the error I posted earlier that was the case (old girlfiles and such). And It didn't happen to me lately (it's strangely random) so I forget about it until your post, after I started the game several times to confirm it's still there.

I traced the error to the MM buttons. Make a quick-save and it's fixed. I'll look into fixing the damn thing at some point...
Title: Re: General Discussion
Post by: DarkTl on July 28, 2014, 09:39:43 AM
Xela, I think you broke something. The game does not have items, at all. I can't even test my jsons.
 
Edit: my bad, we still have gifts  :D
Title: Re: General Discussion
Post by: Xela on July 28, 2014, 10:02:00 AM
Xela, I think you broke something. The game does not have items, at all. I can't even test my jsons.
 
Edit: my bad, we still have gifts  :D

? It seems to be working just fine and all of your jsons are loaded at my end. I didn't write any code since the last update.
Title: Re: General Discussion
Post by: CherryWood on July 28, 2014, 10:03:12 AM
For me, items themselves work just fine if you have them, but they don't appear in shops to buy, except gifs.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2014, 10:08:47 AM
Yup, that's what I mean. Shops are empty, MC's inventory is empty. Bad for testing, really.
Title: Re: General Discussion
Post by: Xela on July 28, 2014, 11:04:06 AM
Yup, that's what I mean. Shops are empty, MC's inventory is empty. Bad for testing, really.

My MC's inventory is full (1000 items randomly awarded). I checked the code, apparently that only happens if you have Hinata in the game (both of their inventories are handled at the same time on a condition that she's present in the game).

No items in shops thing is different, you called the list "location" during conversion, while game expects it to be "locations". I corrected that during the loading process and updated the code.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2014, 11:12:11 AM
Ah, I don't have Hinata currently.

There are some strange issues with right mouse button. Looks like the game tries to close main menu and return to the previous screen at the same time, and sometimes fails in both or either one.
Title: Re: General Discussion
Post by: Xela on July 28, 2014, 11:35:34 AM
There are some strange issues with right mouse button. Looks like the game tries to close main menu and return to the previous screen at the same time, and sometimes fails in both or either one.

I needed that behavior for dev purposes, under normal gameplay, rmb is disabled to call up preferences screen.

Now it's also the only way to fix the freezing bug during drag and drop, I'll add something else for the release if Ren'Py devs don't get that fixed by than.
Title: Re: General Discussion
Post by: Xela on July 28, 2014, 01:45:15 PM
Bad for testing

I updated JSON items files to plurals, there is no point in writing convertion code for everything. Traits/Effects would not have worked for the same reason as locations otherwise.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2014, 03:14:46 PM
^It's not like I didn't publish prototypes for traits and items jsons here before making them. I figured those minor changes in names are not a big deal, since no one said a word  :)

Anyway, some balancing will be needed, and there are possible typos that didn't break json structure, but items jsons are ready and up to date with current concepts.

I recall potions of serenity were too good, so now they are rarer and have cblocks. I'm not sure though how to deal with basis potions, like healing and mana. Should they be cheap or expensive, common or rare?

Because if they mostly will be used during explorations and battles as a last resort, they might as well be expensive and powerful. While in everyday life there are other ways to restore hp/mp, like misc items, food and rest.
On the other hand, in many games basic potions are cheap, common, mostly not too strong and often used during gameplay.
Title: Re: General Discussion
Post by: Xela on July 28, 2014, 05:03:48 PM
I thought it would work too, can't really remember how each system is working.

Either way it would have been easy to straighten out with code/replace editors functions.

There is no advice to be given on power of the items, they were too weak before due to gameplay changes but in order to get a feel, playing would be required.... I am going to be busy for a while meaning less time to work on the game but we should discuss additions to FighterGuild and exploration as you guys can now try out the base.
Title: Re: General Discussion
Post by: DarkTl on July 29, 2014, 02:22:58 AM
I'm not sure though how to deal with basis potions, like healing and mana. Should they be cheap or expensive, common or rare?

Because if they mostly will be used during explorations and battles as a last resort, they might as well be expensive and powerful. While in everyday life there are other ways to restore hp/mp, like misc items, food and rest.
On the other hand, in many games basic potions are cheap, common, mostly not too strong and often used during gameplay.
Cherry, Klaus, anyone else, any thoughts?  :)
Title: Re: General Discussion
Post by: MrKlaus on July 29, 2014, 05:00:15 AM
 Correct me if I’m being wrong. Basically potions in the end will be the life savers in the wild (while exploring) and food will be use inside walls of PyTFall to restore health. Or the potions also could be used in the arena between fights?

The issue is do You guys want to make this game an RPG with elements of owning the brothel (something like the sim brothel revival project is doing with theirs RPG Maker) or a simulator focusing more on owning, running a brothel and acquiring girls with some RPG elements. Basically it all comes to the main source of income for the MC.
When going with the RPG approach for most players it will end in daily grinding the arena, exploring the wild land  to get some serious cash (grind + heal). Go with a lot of moderated price potions that restore 10-25% of the MC HP would balance the potential income.
 
With the simulation approach, when exploring won’t be a daily thing (but used for acquiring new girls, being sent on a quest, looking for new gear or just exploring for fun/lvling up/treasure hunt) and brothel will be the main source of money; I would go with more pricy potions that restore around 25-50% of health but aren’t too common to get. 
 
Another though. For potions abusers, make the potions intoxicate or addict the MC. 
For the intoxication: More he drinks = lesser effect, would were off after 5-6 days without drinking.
For addiction: no potion in the morning (new day) 1-2AP less; cure: with some more expensive potion or a treatment from a healer/druid/shaman/doctor/moms chicken stew. 
 
Btw. I went with the annoying brat for the elements explanation.
 
Title: Re: General Discussion
Post by: Xela on July 29, 2014, 06:57:30 AM
Correct me if I’m being wrong. Basically potions in the end will be the life savers in the wild (while exploring) and food will be use inside walls of PyTFall to restore health. Or the potions also could be used in the arena between fights?

Another though. For potions abusers, make the potions intoxicate or addict the MC. 
For the intoxication: More he drinks = lesser effect, would were off after 5-6 days without drinking.
For addiction: no potion in the morning (new day) 1-2AP less; cure: with some more expensive potion or a treatment from a healer/druid/shaman/doctor/moms chicken stew. 

Yeah, I'll prolly code the crew using potions tonight. No item can be used in between chainfights *but you have full inventory/world access between dogfights. Real matches can only be fought once per day.

As for the potion abuse, I dismiss almost all proposals that just complicate logic to get a slightly different behavior, at least until we have a 1.0 release. Everything that was done in those areas so far didn't prove to be very fruitful. They wanna abuse it, let them :)

The issue is do You guys want to make this game an RPG with elements of owning the brothel (something like the sim brothel revival project is doing with theirs RPG Maker) or a simulator focusing more on owning, running a brothel and acquiring girls with some RPG elements. Basically it all comes to the main source of income for the MC.
When going with the RPG approach for most players it will end in daily grinding the arena, exploring the wild land  to get some serious cash (grind + heal). Go with a lot of moderated price potions that restore 10-25% of the MC HP would balance the potential income.
 
With the simulation approach, when exploring won’t be a daily thing (but used for acquiring new girls, being sent on a quest, looking for new gear or just exploring for fun/lvling up/treasure hunt) and brothel will be the main source of money; I would go with more pricy potions that restore around 25-50% of health but aren’t too common to get. 

Simulator, it's been decided. The only time we may resort to the "RPG Maker" style is during the exploration runs, Ren'Py wasn't build for that.

Btw. I went with the annoying brat for the elements explanation.

Oki :)
============================
But you've kinda missed the question :D

Here is what we have now:

(http://s21.postimg.org/4mb5j38ib/7_29_2014_1_23_56_PM.jpg) (http://postimg.org/image/4mb5j38ib/)

You set up a party, area, risk, duration and behavior and send them on an exploration run.

(http://s21.postimg.org/ly6wqsclv/7_29_2014_1_28_04_PM.jpg) (http://postimg.org/image/ly6wqsclv/)

All party member become blocked (you cannot access their inventories or profiles) until they return.

(http://s21.postimg.org/vlf0e8uz7/7_29_2014_1_29_15_PM.jpg) (http://postimg.org/image/vlf0e8uz7/)

After exploration run is over, you get back a report. (*Note: Defeated in this context doesn't mean destroyed, overwhelming defeat is far more dangerous (but any defeat or even a victory can be potentially lethal depending on risk factor)).

==============================
Working direction:

- Girls using restoring potions.
- Option to try and capture girls.
- Guild Updates (Simple Prison/Dungeon (to hold captured chars), Bar, Training facilities and maybe something healing related).
- More interface (Service Jobs, setting girls to live in the guild, team details and etc.).
- Maybe some events.

If anyone has ideas for more options and/or events, let me know.
Title: Re: General Discussion
Post by: CherryWood on July 29, 2014, 08:29:18 AM

@Xela
I think that the items rewards should be much less common.
But aside from adding more favored texts and events, I don't think it's missing much at this point. I played a few games that have reports like this as a main gameplay and there were ok.

I may be good if its possible to make some map structures, like routes the girls may go at random and some that may need a special skills or items to go there.

Also:
Would it be possible to use this interface and reserving girls for another events too? Like sending girls to a dance competition, escort mission, custom scripted events etc.? That was actually one of the things I was missing a lot when thinking about making a character story - making a girl unavailable for a while or selecting a girls to accompany you somewhere. (but not like I plan to make one now)


@DarkTl
Dunno about potions... but I generally favor items to be rarer, especially if they are all manually created like in our case.

I recall that there was too much micromanagement involved while using consumables like makeups to my liking - they did too little for too short time.  Some misc items, like cat, costs you gold when you keep using them - wouldn't it be better to use the makeups in the same way without the need to reapply them on each girl every few days?


--------
Anyway, I finish gathering girlmeets lines (2-3 days I guess) and then I look what I can do for the exploration. Looks like it could be fun thing to work on. (I guess image tags need to wait a little longer again, couldn't bring myself to solve the problems with them, even if I really wanted too)
Title: Re: General Discussion
Post by: Xela on July 29, 2014, 09:36:48 AM
Also:
Would it be possible to use this interface and reserving girls for another events too? Like sending girls to a dance competition, escort mission, custom scripted events etc.? That was actually one of the things I was missing a lot when thinking about making a character story - making a girl unavailable for a while or selecting a girls to accompany you somewhere. (but not like I plan to make one now)

Tell me when you need this and I'll just right you a function. We may use this interface elsewhere but I am not entirely sure how we're supposed to me using it for events/escort/dance competitions.

PS: I agree that SE is too profitable atm, we'll straiten that out.

Edit: Structures can be created in JSONs, I am not sure about how to make a representation of them yet or if one is even needed. Special skills is an interesting suggestion but a bit too vague...
Title: Re: General Discussion
Post by: DarkTl on July 29, 2014, 10:05:12 AM
Another though. For potions abusers, make the potions intoxicate or addict the MC. 
For the intoxication: More he drinks = lesser effect, would were off after 5-6 days without drinking.
Btw, food already has a similar effect, food poisoning, if you'll try to eat too much.

I recall that there was too much micromanagement involved while using consumables like makeups to my liking - they did too little for too short time.  Some misc items, like cat, costs you gold when you keep using them - wouldn't it be better to use the makeups in the same way without the need to reapply them on each girl every few days?
Such consumables were created with an eye on autobuying system that we don't have yet. You don't have to force girls to buy and use makeup irl, they do it automatically if they have enough money, so in the game they should do it too  :D
Misc items sound interesting, but they are impossible with the current system. Misc items are able to change stats every N turns, they cannot just modify them once. And we already spent a lot of time on items, it's time to work with tags and girlsmeets.

I think that the items rewards should be much less common.
But aside from adding more favored texts and events, I don't think it's missing much at this point. I played a few games that have reports like this as a main gameplay and there were ok.
I agree. Moreover, maybe some nonlinear events, like those simple text quest dungeons in SM3.

Special skills is an interesting suggestion but a bit too vague...
In the absence of skill tree we only have traits and base races. Races and traits checks, I guess?

Also, we might need quest items category for things like keys from dungeons for example.
Title: Re: General Discussion
Post by: MrKlaus on July 29, 2014, 10:15:02 AM
@Xela
I think that the items rewards should be much less common.

@DarkTl
Dunno about potions... but I generally favor items to be rarer.

I agree with Cherry.

@Xela about restoring HP on exploration.
 Maybe lets drop the potions usage for exploration and implement something like a Combat Medic Kit. It would restore a certain amount of HP after every fight. I'm thinking it would be a onetime purchase for every team (u give every team a medic kit). Also could be different sizes. Small could restore around 20-30%, when large around 80-100%.
Title: Re: General Discussion
Post by: Xela on July 29, 2014, 10:29:37 AM
In the absence of skill tree we only have traits and base races. Races and traits checks, I guess?

Also, we might need quest items category for things like keys from dungeons for example.

We have some exploration relate traits like adventurer I believe. Also we could add some areas to be unlocked only with an elf on the team. I'll take a look after base stuff is finished.

Misc items are able to change stats every N turns, they cannot just modify them once. And we already spent a lot of time on items, it's time to work with tags and girlsmeets.

We will also need more explorable areas... Maybe we can add battle backgrounds to them and use them for forest like exploration in the future as well. Would be very simple but resources/development time friendly. Anyway, we'll need 5 - 6 main areas + 3 - 5 subareas each for the release. I am thinking that we should also specialize some items locations to be specific to regions, same with girls.

@Xela about restoring HP on exploration.
 Maybe lets drop the potions usage for exploration and implement something like a Combat Medic Kit. It would restore a certain amount of HP after every fight. I'm thinking it would be a onetime purchase for every team (u give every team a medic kit). Also could be different sizes. Small could restore around 20-30%, when large around 80-100%.

It would be harder to explain (I guess something along the lines of areas being too unstable to use potions safely so medkits are required). I see no reason why amount of medkits should be limited while space to carry other items is not. Medkits thing would be a bit of a stretch but definitely simpler to code, would also be an excuse to add that quest items category Dark mentioned.

I need more opinions on this one... not going to code either approach until we've decided.
Title: Re: General Discussion
Post by: CherryWood on July 29, 2014, 10:32:04 AM

Got this:
Code: [Select]
While running game code:
  File "game/library/screens/pyt - screens - nextday.rpy", line 134, in script
    python:
  File "game/library/screens/pyt - screens - nextday.rpy", line 136, in <module>
    result = ui.interact()
  File "game/library/screens/pyt - screens - nextday.rpy", line 1188, in <module>
    text (u"{size=-5}%s" % event.txt) color black
KeyError: u'red}%s has died during this skirmish'


For exploration screen:
- team leader is not easily changeable like the other members
- would be good to have HP bars there, or something like that
- also maybe some indication that a girl is part of MC party
Edit: Structures can be created in JSONs, I am not sure about how to make a representation of them yet or if one is even needed. Special skills is an interesting suggestion but a bit too vague...
depends on how enemies and rewards are handled now, I didn't looked at that yet :)


It's just that I played a game like that recently, where you send a team to a map, and it goes randomly route A (with goblins) or route B (with orcs), with some twists like they can go A-C-F only if there is a mage in team that will open a portal (or have a treasure map or whatever). With no MC control over it (other then assembling a good team) there would be no need for representation other then some different report texts I think. Like survival jsons, but with branches.




I am thinking that we should also specialize some items locations to be specific to regions, same with girls.
We could also add some cheap gameplay-prolonging tricks like gathering throphies/materials instead of complete items and then exchange them with some npc for real stuff. 
Title: Re: General Discussion
Post by: Xela on July 29, 2014, 10:45:22 AM
Got this:
Code: [Select]
While running game code:
  File "game/library/screens/pyt - screens - nextday.rpy", line 134, in script
    python:
  File "game/library/screens/pyt - screens - nextday.rpy", line 136, in <module>
    result = ui.interact()
  File "game/library/screens/pyt - screens - nextday.rpy", line 1188, in <module>
    text (u"{size=-5}%s" % event.txt) color black
KeyError: u'red}%s has died during this skirmish'

Right, game doesn't like girls dieing I guess :) I'll take a look.

For exploration screen:
- team leader is not easily changeable like the other members
- would be good to have HP bars there, or something like that
- also maybe some indication that a girl is part of MC party

- Leader is teambound, that took effort to code and will be explained in the future (Arena fighting at some point, legal issues (responsible for the team), law, etc.)
- Already planned
- Maybe... doesn't seem like it's a very useful bit of info.
Title: Re: General Discussion
Post by: DarkTl on July 29, 2014, 01:27:39 PM
Maybe there should be some requirements for leadership. Like enough character or absence of traits like shy.
Or, rather, the better the leader (good traits, high character), the better the team.
Title: Re: General Discussion
Post by: Xela on July 29, 2014, 01:36:10 PM
I need more opinions on this one... not going to code either approach until we've decided.

Guys, I really don't want to decide this thing myself, both options (normal potions and medkits) are really good. Just comment your thought on this thing, I wanna code this in tonight.
Title: Re: General Discussion
Post by: DarkTl on July 29, 2014, 02:17:53 PM
Very well. Here are my thoughts.
* Unlike medkits, potions work instantly (irl they would be priceless). However, in camp time is not as limited as in BE, and medkits definitely should be less expensive and rare.
* But you can't patch the same place over and over again, while potions can heal it over and over again. So you cannot use medkits infinitely, eventually you need either return to the city and rest or drink powerful enough potion.
* We always can limit team inventory for explorations. Would be strange to have access to 2000 items in a middle of some deep dungeon. It makes sense in the city, but not everywhere.
* Along with medkits there could be quest items like tents and provisions if we talking about multi-day expedition, to restore mp/fatigue.
Title: Re: General Discussion
Post by: MrKlaus on July 29, 2014, 02:26:47 PM
It would be harder to explain (I guess something along the lines of areas being too unstable to use potions safely so medkits are required). I see no reason why amount of medkits should be limited while space to carry other items is not. Medkits thing would be a bit of a stretch but definitely simpler to code, would also be an excuse to add that quest items category Dark mentioned.

I need more opinions on this one... not going to code either approach until we've decided.

 Explanation: Potions are a liquid stored inside vials, bottles = it's a pain in the ass to transport something like that in the field, not speaking about using something like that in battle or ensuring its safety. There is a possibility that after a battle, a girl would be “last man standing” and heavy bleeding  not able to be saved, because a potion vial broke during a fight.


On the other hand. Combat Med Kits would be a simple bag containing items for mayor healing like bandages, balms, maybe something else and small vials with CONCENTRATED potions for real life threaten situations. But as an inside game item, the player would only see a icon of a med kit. All the shit that is inside would only be mentioned in the description. And for justifying necessity of buying another med kits, the usage could be 3-4 times.   
 
Or a different approach for healing an exploration team. Make the party 4 people. The 3 of them would do what they currently do, stuff like combat, exploring, bringing goods to the camp.
The 4th would be a non combat, support role that maintain the camp, prepare food and drag away heavy wounded team members (making them survive a wipe) and provides healing after a battle.
 
And my stand for potions as an inside game item. Let them be, but for a higher price and little more rarer.  Something like in the lines of “You want to save yourself, pay us for it”.
 
Last question. When team explore and gets in a fight does they heal between the attacks or is it a last man standing brawl and the team heals after the fight?
Title: Re: General Discussion
Post by: DarkTl on July 29, 2014, 02:42:16 PM
Besides,
* Medkits require some skill, while potions don't. We don't have healer occupation/trait/stat/skill right now, so we probably will need it.
* Inventory size could be based on constitution and agility, but it should have a maximum.
* We can't really capture rmgs without any kind of dungeon/training, but I guess they already could be randomly encountered and convinced to join the group with high enough charisma.
* You cannot explore the same place over and over every day. Or, rather, you can, but with no results.
* Since we (finally) have death, we need any kind of resurrection system as well. At least for girls.

Or a different approach for healing an exploration team. Make the party 4 people. The 3 of them would do what they currently do, stuff like combat, exploring, bringing goods to the camp.
The 4th would be a non combat, support role that maintain the camp, prepare food and drag away heavy wounded team members (making them survive a wipe) and provides healing after a battle.
Good idea.
Maybe every member of the team should play a bit different role. Like leader, warrior, supporter, explorer.

Explanation: Potions are a liquid stored inside vials, bottles = it's a pain in the ass to transport something like that in the field, not speaking about using something like that in battle or ensuring its safety. There is a possibility that after a battle, a girl would be “last man standing” and heavy bleeding  not able to be saved, because a potion vial broke during a fight.
Eventually we want an offshoot for ES where MC personally explores some (important enough) dungeons with a small team. With this exploration we will never be able to use potions during explorations, even inside BE.
Title: Re: General Discussion
Post by: Xela on July 29, 2014, 03:24:15 PM
Lets keep shit simple, these are expansion ideas, difficult to code and with little return.

Potions:
- Makes sense
- No need to explain anything

MedKits:
- Need to explain why potions aren't working
- Slightly easier to code

We are not going to add 4th member or limit inventories or anything like that. I do like the tents/provisions idea... we could do that for initial release.

When team explore and gets in a fight does they heal between the attacks or is it a last man standing brawl and the team heals after the fight?

No, they are no attacks either, combat is a very simple calculation comparing relevant stats and luck. They get healed after the fight.

Title: Re: General Discussion
Post by: MrKlaus on July 29, 2014, 05:09:31 PM
 I won’t say that potions aren’t working, but in some situations you have to take a different approach then the normal way of doing things. Can you imagine a dark cave, full of unknown dangers and our happy group exploring it with the sound of potion bottles hitting each other?
 
But why med kits and not potions.
 
MedKit advantages:

Mobility – easier to transport and take with yourself for exploring, only one package of life saving items, then a crate full of potions or a satchel bag. Potions just weight more.

One potion can do only one thing, when MedKit is more handy and can be used to treat multiple injuries like: burns, poisoning, disinfect wounds, some sort of pain killing, HP/MP restoration. So less space taken by the medkit, then a set of different potions.

MedKit is a team item. It can be used several times by every team member before disappearing, when potions will go down in dozens. For example; if a team will be out for four days and every event will end in fight the potion usage will be sky high. Who takes a cart of HP potions with them into the wild? Just grab your handy med kit or two that will help you survive in the wild. 
 
Btw. This post sounds like a sales person, that would be convincing you to buy the Amazing MedKit for the outrageous low price of… and I will stop right here.
 
Title: Re: General Discussion
Post by: Xela on July 29, 2014, 05:16:56 PM
LoL

I don't think those are very good points from games perspective... I'll leave the potions/medkits for tomorrow, today I'll see if I can add the guild to the summary report, that is a good bit of work.
Title: Re: General Discussion
Post by: MrKlaus on July 29, 2014, 05:48:11 PM
 Dark mentioned that the party could have a maximum load.

Then something more simple from the game view.
So let say the teams max inventory will be 100. Let assume that ONE potion will take 1 spot in the inventory. Then sending a team for three days and wanting to be on safe side, preconceiving two fight a day, you would have to give them in total 18 potions. So 18/100 taken. But if the MedKit have an option of being used (heals)3 times, you would only buy 6 for the team.  So less space is taken, more loot can be acquired.
 
Title: Re: General Discussion
Post by: CherryWood on July 29, 2014, 06:42:33 PM
Guys, I really don't want to decide this thing myself, both options (normal potions and medkits) are really good. Just comment your thought on this thing, I wanna code this in tonight.
If you really want everyone option, then I will be bit of a rebel there with mine, cause I would prefer to have no instant healing in the whole game at all  :D
Title: Re: General Discussion
Post by: Xela on July 29, 2014, 07:13:11 PM
If you really want everyone option, then I will be bit of a rebel there with mine, cause I would prefer to have no instant healing in the whole game at all  :D

Ghm.. that would be an interesting concept but a bit unusual...
Title: Re: General Discussion
Post by: CherryWood on July 29, 2014, 07:33:02 PM
Ghm.. that would be an interesting concept but a bit unusual...
For classic RPG, where critically injured character pretty much means that you can't play anymore, yes.
But in managers or tactical games (like UFO) it's not uncommon that injured character is out of action for a while. 



So for exploration, where girls have time in a camp each day of progress, medkits that restores small portion of HP sounds good to me (as replacement of rest action they would otherwise do at home), but they really don't make any sense when potions exists.  :(  Maybe if the usage of potions were hardly limited by frequency, like one in few days or so...




===========edit=
I started adding and adjusting girlmeets lines (with preserving current code)
Title: Re: General Discussion
Post by: MrKlaus on July 30, 2014, 02:41:25 AM
 If you guys aren’t convinced in existents of MedKits, then let’s just drop the idea and stick with potions. Ultimately it was just a proposition of a new item, it doesn’t mean that it have to be implemented.
 
Title: Re: General Discussion
Post by: DarkTl on July 30, 2014, 03:13:13 AM
Dark mentioned that the party could have a maximum load.
Don't worry, I will convince him to limit exploration party inventory eventually when we will expand ES more in the future  :)

BUT if usage of healing potions is limited, like that you can only drink one in a few days, then it would be perfectly fine and reasonable to use both.
Could be easily implemented and would be a good explanation too.

But in this case we won't be able to use potions in BE, including arena. Then again, it's not like we already have an advanced BE heavily based on drinking potions. We always can add healing spells, and explain that you cannot cast them all the time in those abnormal regions.

Let's add medkits, tents and provisions as a new item type. I guess they should have number of uses btw.
I will limit usage of potions then.

I'm also thinking about adding items like gemstones and treasure chests (already have many good icons) that cannot be used and could be only bought and sold. Because it's less strange than finding gold coins all the time in some forest.
Title: Re: General Discussion
Post by: Xela on July 30, 2014, 02:55:57 PM
Well, gold = loot, we don't have to specify. Lets keep sh!t simple.

My head hurts, been messing with geometry and sprite movements in Ren'Py... it's fun but really cutting into dev time...
Title: Re: General Discussion
Post by: DarkTl on July 31, 2014, 01:56:48 AM
But those icons are cool and pretty  :)
Maybe we at least could just use them in exploration gui somewhere.

Well then, let's discuss a new meeting system concept little by little.
1) Since we divide dating and meeting, MC's goal during meetings is to either hire a girl or become her friend and then proceed to hiring or dating.
Initially you could hire only low lvl, poor characters that don't have a job. Maybe you also need at least 50-100 disposition before they agree. In order to hire high lvl ones you need to achieve friend status (let's say, 500 disposition) and then ask them to join you.
So we need levels, and not only random ones for rgirls. We need them in girls data files too.

2) After achieving friend status you should know where a girl lives (I have some backgrounds for girls rooms in my db), so you can find her anytime without having to rely on chance. I guess it should look like a list of girls called notebook or something.
In the future friend status should mean that you have some limited access to girl's inventory as well.

2) Initial impression. Depending on MC's stats, initial disposition could be higher than 0. For example, id= (charisma+refinement)/4 or something like that.

Moreover, various girls traits may lower id. For example, shy/dandere could have lower id not because they dislike MC, but because it's harder to gain their trust in general. I believe it could be easily achieved by adding mod disposition in traits files.

Any thoughts so far?
Title: Re: General Discussion
Post by: MrKlaus on July 31, 2014, 01:25:16 PM
But those icons are cool and pretty  :)
Maybe we at least could just use them in exploration gui somewhere.
Dark, try something like this:
(http://cat-world.blog.onet.pl/wp-content/blogs.dir/960384/files/blog_by_3574336_4286401_tr_2005_07_21_shrek_cat.jpg)

 About other more creative suggestions.
Maybe also add something like a stat window in a classic date-sim game. Where the player could check the affection towards the MC by the girls that the MC already met? Also a “go visit” button could be in there, allowing visiting the girls home.
 
And question:
Are you guys thinking of forcing a free, met girl to do what you want? I’m asking about raping and kidnapping her into slavery (something like: “The punch to the stomach cut her lights out. You dragged her to your place”).
 
Title: Re: General Discussion
Post by: Xela on July 31, 2014, 01:50:49 PM
But those icons are cool and pretty  :)
Maybe we at least could just use them in exploration gui somewhere.

Well then, let's discuss a new meeting system concept little by little.
1) Since we divide dating and meeting, MC's goal during meetings is to either hire a girl or become her friend and then proceed to hiring or dating.
Initially you could hire only low lvl, poor characters that don't have a job. Maybe you also need at least 50-100 disposition before they agree. In order to hire high lvl ones you need to achieve friend status (let's say, 500 disposition) and then ask them to join you.
So we need levels, and not only random ones for rgirls. We need them in girls data files too.

2) After achieving friend status you should know where a girl lives (I have some backgrounds for girls rooms in my db), so you can find her anytime without having to rely on chance. I guess it should look like a list of girls called notebook or something.
In the future friend status should mean that you have some limited access to girl's inventory as well.

2) Initial impression. Depending on MC's stats, initial disposition could be higher than 0. For example, id= (charisma+refinement)/4 or something like that.

Moreover, various girls traits may lower id. For example, shy/dandere could have lower id not because they dislike MC, but because it's harder to gain their trust in general. I believe it could be easily achieved by adding mod disposition in traits files.

Any thoughts so far?

I'll second all of the above, less texts (AA2 style) + more actions/info should be a wise approach. CW is working on something as well, I'd appreciate a concept and resources first, before starting recoding gms.

Dates should really be similar to AA2 as well I think, a nice screen transition (maybe some background) and a result reported in short text. Our dating mech is far more advanced but still feels inferior to that for some reason (at least to me). We can have more structured dates as unique events in the future.

About other more creative suggestions.
Maybe also add something like a stat window in a classic date-sim game. Where the player could check the affection towards the MC by the girls that the MC already met? Also a “go visit” button could be in there, allowing visiting the girls home.
 
And question:
Are you guys thinking of forcing a free, met girl to do what you want? I’m asking about raping and kidnapping her into slavery (something like: “The punch to the stomach cut her lights out. You dragged her to your place”).

Window should be doable without too much fuss, I am just not sure about how much info we should put there.

And question:
Are you guys thinking of forcing a free, met girl to do what you want? I’m asking about raping and kidnapping her into slavery (something like: “The punch to the stomach cut her lights out. You dragged her to your place”).

Maybe, but there should be consequences and those are usually a pain to code in. Basically the answer is prolly yes, but not any time soon.

==============================
I've successfully added the guild to the ND screen , in the future we'll have something like: Warriors, ServiceGirls (any service industry, except sex oriented), Industrial (when we have girls+jobs that create something) and Sex Ind. to replace the classes we have now. Otherwise, the concept proposed by CW for the ND summary screen is (imo) really, really good and will work for as for a long time :)

I have a splitting headache for no good reason, but if that goes away, I'll continue advancing the guilds code.

If someone wants to add some more locations to json, feel free to do so, might be good for testing.
Title: Re: General Discussion
Post by: MrKlaus on July 31, 2014, 02:57:18 PM
Window should be doable without too much fuss, I am just not sure about how much info we should put there.

 I basically though about something like a status bar, just to give track of the to the player. In order: girls avatar, bar showing how much she likes/dislikes the MC, more info button, visit button.
 
The more info button. It could an individual info about girls likes and dislikes. The information could come from giving her various things or for example from a shady information dealer with an attitude “Hey mister. If you ever need something I will get the info for the right price.” Also could contain info about the jobs that the girl would be willing to do. But probably we will drop this, being too much pain in the ass to code.
 
Title: Re: General Discussion
Post by: CherryWood on July 31, 2014, 03:01:04 PM
Heh, I should really try that AA2 if you praise it that much - but I'm worried that it will keep me from doing anything else for a while, like any other game where you can design characters  :D
I was just removing/adding lines to the current girlmeets, without changing the code. But that can wait for any day.


=================


@DarkTl


I'm sorry, that this is too vague concept for me to comment on. Because I believe that the 1) and 3) can be added to current girlmeet by just adding a new formula to hire and introduction labels and 2) sound like dates we planned for interactions anyway.


We all know what the gms look like now. Requirements for Hiring is disposition and that is gained by spending AP, or AP + money (faster) or AP + gifts (fastest in case of good gifts), with MC's charisma providing a bonus. With most of the options being only a different text answers.


So If we really want to split the hiring/seducing part, then I think we need to add some new system for hiring (based on something else, like different stat or so), otherwise it's just removing some of the options from it, and that would be kinda meaningless.

Title: Re: General Discussion
Post by: MrKlaus on July 31, 2014, 03:20:13 PM
So If we really want to split the hiring/seducing part, then I think we need to add some new system for hiring (based on something else, like different stat or so), otherwise it's just removing some of the options from it, and that would be kinda meaningless.

 For the new system. Maybe it could be a three-part system. In general there would be three status bars for the girl. First, the love bar displaying how much she is in love with the MC. Second, disposition, displaying what she thinks about him in general (good impression of him or if he is a total douche bag). The third would be a job bar, displaying how much she is interesting in working for the MC.
 
The trick in this system is, that any “love” interactions that the MC do, would lower the working bar, but boost the love and maybe a small increase to the disposition. On the other hand when the MC would be talking with her about hiring her, the love bar would be going down. Also there should be some point, let’s assume for now, if the girls love bar hits 75% it’s stay that way and doesn’t get lower when he is talking with her about working for him.
 
Title: Re: General Discussion
Post by: CherryWood on July 31, 2014, 03:42:14 PM
For the new system. Maybe it could be a three-part system.
This is actually almost exactly what I meaned by "persuasion" in that concept I posted a few pages ago  :)  So I thought that this could be a good way to do it, but I was not able to come with a set of meaningful stats that could work with it. I suppose things like MC's reputation, wealth, business fame, relationship with organisations/important npc and such would be great for this, but they simply doesn't exist in the game atm (only arena rep for warriors). Same goes for negotiation on work conditions, nothing like that is even planned I believe. And, like I wrote in the post above your, just adding "persuade to work" AP to points button without anything else taken into account feels too bland.


But I would still support this idea. One of the pointed problems in alpha test was that the disposition is too easily gained in girlmeets and then carried over to brothel where it's suddenly very hard to manage, and this separate work and disposition bar would make balancing that much easier.


But I contribute the least amount of work from the dev team, so it's not on me to decide  :)


========
Ok, I started downloading AA2, will take a while. But I looked at the translation files in meantime and they're easy to copypaste like in AA1, so we can shamelessly steal some again if needed  8)   (I taken some lines from Kancolle, Love Live! and IM@S games lately, unless a writer join, copying it's the best I can do, as my own writing is terribad)
Title: Re: General Discussion
Post by: Marquis on July 31, 2014, 05:25:41 PM
I'm not sure I see a difference between a hate/love continuum and the extremes of a disposition continuum. If disposition goes from -100 to +100, then -90 or less could be hate and 90+ could be love.


A couple more factors for the hiring interaction could be how desperate the girl is (maybe based on how much gold she has or if she has another job already) and the salary offered compared to what she thinks she's worth (could be modified by traits like self-confident or meek).


If a simple guard job has a base salary of 100, a higher level warrior might expect 150, and even then only be willing to take it if she's feeling desperate or really likes the MC.


So, there are four parameters for hiring: how much she likes the MC (modified by MC stats like charisma, wealth, rank, etc.); how much is offered compared to what she thinks a job is worth; her desired jobs- you might have to offer many warriors a fortune to be a prostitute or even a service girl; and how desperate she is - if a warrior has no gold or job, maybe they will take a service job for a while, but will quit after earning a bit unless disposition is built up quickly.
Title: Re: General Discussion
Post by: CherryWood on July 31, 2014, 05:39:59 PM
I'm not sure I see a difference between a hate/love continuum and the extremes of a disposition continuum. If disposition goes from -100 to +100, then -90 or less could be hate and 90+ could be love.
If basically just a flag, but it should be more stable then just using disposition stat number. For example if one day girl disposition is 91, the second 89, then 91 again and so on, using just 90+ to determine lover will cause that the girl will not have a relationship with you every other day. We want it to be more stable - "joy" in game already works like that when determining when the free girl will leave your service - not just by being distressed for an instant (joy suddenly dropped) but when she is unhappy for a number of days in a row (so you have a chance for a while to raise her joy to prevent it)


And if I'm correct, wage is calculated every single day from girl stats now, so we can't use absolute numbers there, but maybe the girl may ask for a higher percentage of it? There was a slider for that...


@Xela? May I ask you about it? What our options with wages are, I never worked with that part of code...
Title: Re: General Discussion
Post by: Xela on July 31, 2014, 05:54:04 PM
========
Ok, I started downloading AA2, will take a while. But I looked at the translation files in meantime and they're easy to copypaste like in AA1, so we can shamelessly steal some again if needed  8)   (I taken some lines from Kancolle, Love Live! and IM@S games lately, unless a writer join, copying it's the best I can do, as my own writing is terribad)

- Download the game
- Install the HF DLC collection patch
- Install the HF patch

I threw some chars in the DB folder that are set up to be easily convinced to do lewd stuff. Also there are some girls baring likelihood to chars from Naruto/Bleach/Fairy Tail/OMGs/Avatar/DBZ and etc. You'll need hair expansion pack for some or they'll have different hair styles.

This may save you some time figuring stuff out.
Title: Re: General Discussion
Post by: Xela on July 31, 2014, 05:56:07 PM
And if I'm correct, wage is calculated every single day from girl stats now, so we can't use absolute numbers there, but maybe the girl may ask for a higher percentage of it? There was a slider for that...

@Xela? May I ask you about it? What our options with wages are, I never worked with that part of code...

Asking for a higher wage is prolly doable and shouldn't be too hard but may be an overkill. Wages are stats/class related, yes.

Edit:
SF Updated:

- Fixed Ren'Py crashing every now and again as the game is starting
- Added guild to the Next Day screen (Will only show up after it is bought at the realtor)
- Fixed a couple of minor bugs/typos

+ City map updated as well.
Title: Re: General Discussion
Post by: DarkTl on August 01, 2014, 04:52:46 AM
Are you guys thinking of forcing a free, met girl to do what you want? I’m asking about raping and kidnapping her into slavery (something like: “The punch to the stomach cut her lights out. You dragged her to your place”).
The problem here is what's coming next, after you kidnapped and raped her. You can't just let her go. We need a decent, interesting yet not too complicated dungeon/slavetraining system here. And unfortunately none of us was able to come up even with vague concept. If you can, be my guest.

I guess you could do it with low lvl poor low fame girl and then just release her, and no one will give a sh#t. But we can't really make a whole new system only for low lvl ones, it's a waste of time.

Dates should really be similar to AA2 as well I think, a nice screen transition (maybe some background) and a result reported in short text. Our dating mech is far more advanced but still feels inferior to that for some reason (at least to me). We can have more structured dates as unique events in the future.
Well, in wm dates don't even have a black screen, just some text and very simple scripts.
First person dates, with choices and dialogues, require five times more lines than the whole game already has. They won't be interesting otherwise. So we have to work with scripts again.

I'm thinking about choosing the initial conditions, like when and where to go, what gift to bring, what to talk about in general, how to behave, etc. Also mood of characters, like in AA. Then we have a black screen or something and a report. Maybe h-pictures if it goes smoothly.

I'm sorry, that this is too vague concept for me to comment on.
That's why I said little by little  :)
We should discuss basics before moving forward.

For the new system. Maybe it could be a three-part system. In general there would be three status bars for the girl. First, the love bar displaying how much she is in love with the MC. Second, disposition, displaying what she thinks about him in general (good impression of him or if he is a total douche bag). The third would be a job bar, displaying how much she is interesting in working for the MC.
Sound interesting. We could do it if Xela will agree to add more values, he tends to avoid new stats lately.
Basically, in AA friendship and love are different systems too. Characters could be best friends without romance, and vice versa.
The job bar could be useful for hired girls too, showing how much they want to work for MC regardless love and disposition. For example, when MC forces a best friend nonservicegirl to clean establishment, it mostly should decrease the job bar. And eventually she will quit not because they ceased to be friends.

While disposition goes from -1000 to 1000, where less than -400 probably means enemy and less than -900 something like unforgivable from AA, love and job bars could go from 0 to 1000.

And if I'm correct, wage is calculated every single day from girl stats now, so we can't use absolute numbers there, but maybe the girl may ask for a higher percentage of it? There was a slider for that...
If we'll have the job bar, you could adjust the slider by yourself to make sure girls won't quit. We could throw a warning when the bar becomes too small, for example the girl comes to you and complains about conditions of work, or your assistant tells you that she looks for a new job.
Title: Re: General Discussion
Post by: Xela on August 01, 2014, 07:57:48 AM
Sound interesting. We could do it if Xela will agree to add more values, he tends to avoid new stats lately.

Because we have too many, it is hell to work with them. The job thing can be a derivative that is calculated on the spot though.

Did you see the new mock up of the OldHuntsman game in Ren'Py? I've implemented a similar map system, takes a bit of getting used to but it's better than what we had. That game may turn out really, really well, if they don't go ballistic on gore sh!t again, seems like they have a perfect combination of excellent coders, writers and graphic designers on their team.
Title: Re: General Discussion
Post by: MrKlaus on August 01, 2014, 09:29:34 AM
Did you see the new mock up of the OldHuntsman game in Ren'Py? I've implemented a similar map system, takes a bit of getting used to but it's better than what we had. That game may turn out really, really well, if they don't go ballistic on gore sh!t again, seems like they have a perfect combination of excellent coders, writers and graphic designers on their team.
And you have us  :P

update on the alignments: should be done before sunday.
Title: Re: General Discussion
Post by: DarkTl on August 01, 2014, 10:16:59 AM
The job thing can be a derivative that is calculated on the spot though.
But still we probably should use disposition and love. AG and AA games showed us the efficiency of such a system.
Besides, as Cherry mentioned, the separate job bar would make balancing much easier.

seems like they have a perfect combination of excellent coders, writers and graphic designers on their team.
They had 7 coders that coded it together and then 6 of them dissappered (sounds like a fantasy story  :D ).
Title: Re: General Discussion
Post by: Xela on August 01, 2014, 11:22:09 AM
They had 7 coders that coded it together and then 6 of them dissappered (sounds like a fantasy story  :D ).

Really? I could have coded that in under 4 hours if someone provided graphics/texts and concept + my version would have been easier to expand upon... they also resort to using pure python for no good reason. Oh well, I didn't know people left the project, it looked really promising, guess it will progress slower now. There is no complicated code there and they've messed up in a couple of places (imho) making further advance potentially harder than it had to be, but that may be a misinterpretation because I do not know the full concept or most definitely have a more Ren'Py oriented style.

Going to work on Pytfall for the rest of the day. I got lost in SE without a concept...
Title: Re: General Discussion
Post by: Xela on August 01, 2014, 11:30:46 AM
And you have us  :P

Yeap, and that's 1000x better that 10 coders that disappear after writing 100 code lines per person :D
Title: Re: General Discussion
Post by: MrKlaus on August 01, 2014, 12:21:51 PM
Really? I could have coded that in under 4 hours if someone provided graphics/texts and concept + my version would have been easier to expand
Sounded like a pro.  8)


 Quick question. Is there a possibility to code a snowball hit effect on the screen without any other external graphics, just with the stuff that RenPy provides? I’m asking because I want the MC to be hit with a snowball when he comes to the Alignment temple. If the answer is no or it’s too much work I will change the beginning.
 
Title: Re: General Discussion
Post by: Xela on August 01, 2014, 12:31:59 PM
What is a "snowball hit effect"?
Title: Re: General Discussion
Post by: Xela on August 01, 2014, 01:05:49 PM
@Dark:

How are items auto-buy/auto-equipment system supposed to work? (I am asking you as items designer).

I am having a bit of a trouble following the design, for example items like health potions seem to have 50 equipment chance and badness of 70 - 90 while they have absolutely no sideeffects?

For now, I'll give up on med-kits idea and just code use of basic potions during exploration so we don't overcomplicate things.
Title: Re: General Discussion
Post by: MrKlaus on August 01, 2014, 01:07:25 PM
What is a "snowball hit effect"?

Long story short. MC enter the are and gets hit with a snowball in the face.  I want that to be visualized by a splash/hit effect on the screen. Something like a snowball hitting a window or a camera. 
 
Title: Re: General Discussion
Post by: Xela on August 01, 2014, 01:20:46 PM
Long story short. MC enter the are and gets hit with a snowball in the face.  I want that to be visualized by a splash/hit effect on the screen. Something like a snowball hitting a window or a camera.

It might be possible to shake the screen and go to some form of a white-out transition with supporting texts like:

"Before you knew what happened" --> shake --> effect --> "Snowball hits ya in the mug".

If you want an actual snowball to hit, graphic would be required, but those shouldn't be hard to find.
Title: Re: General Discussion
Post by: DarkTl on August 01, 2014, 02:44:30 PM
I am having a bit of a trouble following the design, for example items like health potions seem to have 50 equipment chance and badness of 70 - 90 while they have absolutely no sideeffects?
Under normal circumstances badness 90 shows that they could buy it just in case. Because under normal circumstances you don't really need to buy or use healing potions. Moreover, you cannot express the need for them via badness and eqchance only.

These numbers also show relative chance and badness. Small potion has 90/50 while medium has 85/45. Thus, they would prefer to buy stronger one and to use weaker one first when they are wounded.

Items also have type. All mana and health potions are restore type. Thus, when a girl lacks hp or mp, she begins to search for restore items regardless of their absolute badness value.
Types could be improved to help AI if you don't want to analyze items properties in the code, like health_restore, mp_restore, etc.

The same logic applies to any other item. First, the girl decides what she wants in general (potion, makeup, weapon, dress) depending on occupation, current stats, traits, gold, mood, rng, inventory (if she has an item or not). Then she begins to inspect shops.

She still could buy any random item if she has enough gold. Like a small potion with 10% chance, even if she is not wounded. But if she is wonded, it will be 100% if there is no other healing items.

At least this is the concept I used so far.
Title: Re: General Discussion
Post by: Xela on August 01, 2014, 02:52:33 PM
We need to straiten this out, maybe simplify the process/concept. I got distracted on geometry code again, need to kick myself and start working on the immediate stuff.

I am having trouble with items that can increase one stat but mess up a whole bunch of others... it would be prolly best to exclude items like that from the auto-buy/auto-equip all together.
Title: Re: General Discussion
Post by: DarkTl on August 01, 2014, 03:03:32 PM
As I said, you cannot express the need for every item via badness and eqchance. If we'll set badness and eqchance for healing potions to 0/100 and everyone will begin to buy and drink them like there's no tomorrow, it won't helps us at all.

Also, items with permanent type should not be used by girls without the participation of the player.
Title: Re: General Discussion
Post by: Xela on August 01, 2014, 05:19:19 PM
I fecking hate writing code like this, we will NEVER complicate any system without a GREAT deal of added benefit again.

First:
Get the proper items based on the stats/slot required.

Second:
Exclude all items that diminish stats relevant to whatever the statbase in use.

Third:
Check the badtraits.

Fourth:
Check "permenate" type.

Fifth:
Check side-effects (like Poison).

Six:
Check goodtraits and eqchance.

Seventh:
Check if using the item is sensible (wasteful) and find some way to determine what the f*ck sensible is when auto-equipping items.

Eight:
Make sure the extensive sorting/calculation required don't slow down the game on the next day significantly.

I have no idea how to put this in the right order, how to sort the items and how/when to pick the correct one. There is also a question on what to do with items that offer significant benefits to for example attack but lower magic, both are battle stats and under the checks above, this will malfunction very often.

We either need a simplified system guided by JSON or a decent approach I haven't thought of yet. This is eating up too much time.
==================================================
Edit:
Got really pissed and ended up deleting most of the code that I wrote. Tomorrow morning I'll try and implement auto-buy/auto-equipment system with controlled inventories as we discussed about an year ago. Not going to do anything else for the game tonight.
Title: Re: General Discussion
Post by: DarkTl on August 02, 2014, 06:32:40 AM
First, let's divide autobuy and autoequipment sustems. If you bought some item irl, it doesn't mean that you desperately need it right now, and it doesn't even mean that you will use it at all.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1) Items with permanent type are ignored completely by both systems. And only when MC tells the girl (with high disposition/love) to use it, it will be used.
2) Restore items. When something is wrong (low health, bad status), they have the highest priority. AE system uses them on spot, AB system looks for them and buys if has enough gold.
3) Food, basically weak and cheap restore items when health/mp/whatever is not too low and/or potions are not available. Girls should avoid to use too many food because of food poisoning.
4) Upgrade items are not necessary. They might have an advanced algorithm for AB/AE systems, but they also might as well be almost random, because there will be dozens of new upgrade items in the future when I'll expand items system, so it probably not worth it. I could add something like goodoccupation/badoccupation to them if you want. It probably will simplify the situation.
----------------------------------------------------------------------------------------------------------------------------------------------
Misc items can be restore, upgrade and permanent types as well. Nothing new here for AB, as for AE, it probably should change the equipped item depending on circumstances. Again, I could add  goodoccupation/badoccupation here.
----------------------------------------------------------------------------------------------------------------------------------------------
Weapons can be small and normal. Like in wm, whores, servicegirls, strippers cannot use normal ones without penalties to performance. They also have types (like rod, bow or scythe) that mostly should be used for BE. But we also can add something like favorite weapon type to girls data files, it will make sense in many cases.
----------------------------------------------------------------------------------------------------------------------------------------------
Rings and amulets do not have types. All other items have 3 types: armor, dress and other. Obviously, armor is useful if a girl wants protection (warriors, also normal girls if security is vey low for a long time), dress is for nonwarrior occupations, other is something that player should buy and equip manually.
----------------------------------------------------------------------------------------------------------------------------------------------

Now, how I see AB system. Let's not make it too smart first of all, because irl people are not that smart either.
Except for restore items, it should be heavily based on rng. First, a girl randomly chooses a slot. Then depending on rng, available gold, badness and good/bad traits, she randomly buys an item. That being said, if she already has some item in her inventory, then the chance to buy it again is four times less, but it still exists.

Girls also should not buy items too often. Maybe once per week or once per 500 gold income.

----------------------------------------------------------------------------------------------------------------------------------------------
How I see AE system.
1) Warriors prefer armor, others prefer dress, even if they bought something else. Unless MC tells them to wear something else.
2) Restore and permanent items I already mentioned. Upgrades should be mostly random as well, because there are too many various cases.
3) Eqchance is the priority here. Better items have both higher price and higher eqchance.
----------------------------------------------------------------------------------------------------------------------------------------------
That's it. I can't really code this instead of you, so choose what you like. In my opinion, this is the best compromise between 100% random like in wm and advanced AI algorithms.
Title: Re: General Discussion
Post by: Xela on August 02, 2014, 06:49:34 AM
That's it. I can't really code this instead of you, so choose what you like. In my opinion, this is the best compromise between 100% random like in wm and advanced AI[/color] algorithms.

Yeah,  I understand that, the trouble is that there are too many variations and too many things to watch out as I've wrote in previous post. What you propose are generalizations, I still don't know how the item picking process should go...

Anyway, I've recoded Inventory class completely, also did some work on slightly improving outdated equipment screens. I'll try my second attempt at ab/ae soon.
Title: Re: General Discussion
Post by: DarkTl on August 02, 2014, 07:06:29 AM
For non restore ones
1) choose random slot
2) check for gold, exclude too expensive items
3) goodtrait = 100% chance, badtrait = 0%, otherwise buychance=100-badness. if item already exists in the inventory then buychance = buychance/4. Maybe good occupation +50%, badoccupation -50%.
4) prepare list of items like dress1:chance1, dress2:chance2, for rng.
5) rng. maybe there could be 40% chance to buy 2 different items.
6) AE system decides what to do next
Title: Re: General Discussion
Post by: Xela on August 02, 2014, 07:45:24 AM
SF Updated:
- Fixes slaves being paid not reporting to next day
- Completely rewrote Inventory class, should be up to 3 times faster, code is also shorter and better readable
- Fixed NextDay SE report crashing on a bad bracket
- Improved some items/shops related screens
- Rewrote auto-animations function (faster + better code)
- Fixed girls profile screen crashing after returning from the next day
- Added one more text style

For non restore ones
1) choose random slot
2) check for gold, exclude too expensive items
3) goodtrait = 100% chance, badtrait = 0%, otherwise buychance=100-badness. if item already exists in the inventory then buychance = buychance/4. Maybe good occupation +50%, badoccupation -50%.
4) prepare list of items like dress1:chance1, dress2:chance2, for rng.
5) rng. maybe there could be 40% chance to buy 2 different items.
6) AE system decides what to do next

All this time I was taking about AE :)

Anyway, I'm going to try my old approach again (stats-based). If that turns into gibberish again, I'll try to find a way to simplify.
Title: Re: General Discussion
Post by: DarkTl on August 02, 2014, 08:57:33 AM
Ok, how would I code AE if I was a pyhton coder  :D
1) Restore items and food used on spot whan needed to restore something. There could be a very small chance of using too many food -> food poisoning. Items with higher eqchance are used in the first place.
2) Warriors use big and small weapons, others only snall ones. I also kinda like the idea of adding favorite weapon type to girls data files, many characters have it. Wihout advanced BE other things don't matter right now, except badness. The less the badness, the more the priority of the weapon. Good/bad traits reduce/increase it, let's say, by 20.
3) Armor/dress/other. Armor for warriors, dress for others. Also, maybe low security leads to armor on non warrior characters, but that probably will only make things too complicated. Other type items could be bought randomly, but only MC can force them to equip it. Again, items with higher eqchance have higher priority.
4) Rings/amulets. Probably good place for goodoccupation/badoccupation, if you want to use it. Other than that, pure random.
5) Upgrade concumables. As far as I understand, you want something advanced here. I'd say we could use goodoccupation plus pure random based on eqchance when occupation is not good.
Title: Re: General Discussion
Post by: Xela on August 02, 2014, 09:07:57 AM
...

Lets call it an simplified version :)

There are too many variables where this would lead to bs... I am working off a different angle.
Title: Re: General Discussion
Post by: DarkTl on August 02, 2014, 09:27:12 AM
Besides errors I posted in the errors thread, there are unnecessary menus when you press on cursed forest or forest entrance panels.
Title: Re: General Discussion
Post by: Xela on August 02, 2014, 09:55:54 AM
Besides errors I posted in the errors thread, there are unnecessary menus when you press on cursed forest or forest entrance panels.

We'll leave it like that, there is little point in removing defaults.
Title: Re: General Discussion
Post by: DarkTl on August 02, 2014, 10:48:20 AM
If someone wants to add some more locations to json, feel free to do so, might be good for testing.
I wonder how. It seems that EE isdivided into several files. I found Forest Entrance and Cursed Forest in the classes-locations, but since there is no link to the forest picture, I guess it should be somewhere else.
Also, explain the difference between focus_area and focus_gen_area.
Title: Re: General Discussion
Post by: Xela on August 02, 2014, 12:04:57 PM
I wonder how. It seems that EE isdivided into several files. I found Forest Entrance and Cursed Forest in the classes-locations, but since there is no link to the forest picture, I guess it should be somewhere else.
Also, explain the difference between focus_area and focus_gen_area.

There is only one relevant json atm but you can add more files as long as they're named correctly.

gen = general, it's something that will bind a number of areas together.

I am not sure about the files... Some backgrounds may be reusable and we may use them for expansion later as well.
Title: Re: General Discussion
Post by: livingforever on August 02, 2014, 01:20:18 PM
Hey everyone!
So... this project has been around for a while and since I had a lot of free time in the past month I guess it's time to give some feedback. I'll put it in one post although I am aware that some of the topics have own threads. If you don't like that, feel free to tell me.

Disclaimer
Many people don't like criticism (especially programmers) - therefore I'd like to mention that everything written here is meant in a productive, non offensive way and is just my personal opinion.



Concepts

Traits

Problem
Currently, most traits are just attribute modifications that don't have a meaning at all, especially since there are three other ways of gaining attribute points (experience, training and equipment).

Solution
The easiest solution would be to remove the whole system. I don't think it's a good solution though. Instead, the stat modifications should be replaced by a unique mechanic for each trait - the "Virgin" trait is a good example for that. Other ideas could be "Nymphomaniac" letting the character gain joy when working as a prostitute but lose joy otherwise or "Broken Will" allowing the character to be treated like a slave without losing anything. These are just samples, I'm sure you and the community can come up with a lot of creative stuff. All other traits - especially the very generic ones (like "Great Figure", who would create a pack for an ugly character anyway?) - should be removed.


Slaves

Problem
Slaves have very few things that distinguish them from normal employees. APs are replaced by money to hire them, wages are replaced by the slave tax to pay them - in both cases it is essentially the same outcome for the player.

Solution
The current system could be replaced with an interesting risk vs reward mechanic like slave riots or government raids (which is implying that slave trade is illegal, but that bit of lore should be easy to change), causing the player to lose all slaves working in a particular brothel that aren't loyal or happy enough. To make this more interesting, slaves should start with very low happiness when bought (would you be happy to be sold?).


Tagging

Problem
Redundancy, duplication and the same thing multiple times. Seriously, I don't mean to be offensive, but the current tagging system is horrible. You essentially store the exact same data three times - in the name (currently not used as information source for whatever reason), the XMP metadata (a really bad way to obfuscate information) and the json files (that aren't even sorted for fast access).

Solution
Completely remove the tags.json and the metadata - use the file names instead. The only reason to not use the name for such simple information encoding would be because the names are user defined and therefore immutable, but as the user never sees the image names (except when he wants to change the tags) that is not the case. Chose single numbers and characters that encode each tag (or two if there are more than 36 tags). That way a user can change the tags of an image within a second without the need for an additional tool.
Optionally, keep the json files but reorganize them. Storing the tags for each image doesn't make much sense (for efficiency), store a list of images for a given tag instead so you can access them faster.

Problem
Bloooooooooating. Yes, I mean the amount of tags. I (kind of) followed the discussion on the tagging concept thread and I disagree with the common opinion that more tags are better than less tags, at least with the current system. You talked about introducing categories which is a good step, but it's not far enough.

Solution
Why don't you use a hierarchical system for tags with fallbacks to the parent tag instead of a category or a profile picture. This would be the first step to make many tags a viable option. But even then you should consider which tags you actually need and which just increase the amount of time and pictures that a pack needs to be complete (where complete means that every tag is present at least once).
Result (note that this is just a concept)
> Profile
  -> Freetime
    --> Beach
    --> Rest
      ---> Masturbate
  -> Job
    --> Waitress
      ---> Bartending
      ---> Cleaning
    --> Stripper
    --> Arena
> Prostitute
  -> Sex
    --> Vaginal
    --> Anal
  -> MakeOut
    --> Blowjob
    --> Handjob
      ---> Footjob
    --> Titjob

And there you go. All tags I've seen while playing the game in a hierarchical order. Of course more can be added, but always keep in mind where the focus of the image is - there is no need to describe what color the tree in the background has. And if it actually isn't detailed enough then try generalizing the description texts.



Balance

Save Scumming

Definition
For those who don't know, save scumming means to create a save point before every important event (e.g. a fight in the arena or a new day) and reload if something bad happens.

Problem
Not only does the game allow it, I'd say it encourages it, especially in the arena. There are so many random things (rewards, enemy selection, critical hits) that it can get incredibly frustrating.

Solution
There are two things that need to be solved here: The ability to save scum in general and the frustrating RNG on a per-case basis.

First, the saves: There is a simple solution that many game developers use: Select one save slot at the start of the game and autosave to that slot after certain events. Do not allow the user to save the game to any other slot. This method doesn't make save scumming impossible, it just increases the effort so much that it's no longer worth it.

Second, the random elements - let's start with the arena.

Arena

Problem
I know this is kind of a work in progress, but currently it bugs me very much that fighting in the arena is so much more efficient than anything else in the game. I consider it a good thing to make the game more than just a brothel sim, but in the end all activities should be equally rewarding.

Solution
First of all, balance the randomness and prevent save scumming, see the points above. The most important next step would then be to limit the boss reward (maybe to once a week). After that you can start adjusting raw values and maybe even introduce things like a difficulty setting or level scaling.



Documentation

Attributes

Problem
I've checked out the thread where somebody is asking for advice on what each attribute does and someone answered that the stats should be self explanatory. Well, they're not, at least not all of them. This might be a problem of missing implementations (work in progress stuff), but what are "character" and "libido" supposed to do? Isn't "character" just inverted obedience? If so, why is there one black sheep among the flock (one negative among positive attributes)? I have a stripper in one of my savegames that has 0 character and 100 libido and still refuses to work as a prostitute (which is kind of ridiculous).

Solution
I know the game is an alpha version, but some basic documentation wouldn't hurt. This includes things that are supposed to work and things that will be added in the future.


Conversion vs compatibility

Compatibility with old WM packs is nice, but a tool for converting them would be better. It bugs me that the missing elements are random generated for every new game.


Savegames

Modifications to characters that aren't in the saved game yet (yes, I did check the whole city) do not apply for some reason. The same goes for database changes (e.g. adding a new item). Is that a bug or do you actually save the whole database in a save game?


Error handling

The note that some file wasn't found is really not helpful. What would be helpful is a tool to verify characters or an error message that actually tells me what file the game was looking for. Also, crashing the whole game because a single image couldn't be loaded seems unnecessary.



Interface

Resolution

The maximum internal resolution is 1280x800 - 720p isn't too bad, but on a 1080p screen it still looks... questionable. Is there a way to increase the render resolution?


New day

Problem
The new day screen doesn't have the focus that I'd like it to have. To put it in simple terms: What I want to see in the first place is the image. Afterwards, a short text and a summary of stat changes would be nice. So that's the priority. Why does the image only get 1/3 of 3/4 of the screen? Why do the few numbers that show attribute changes get just as much? Why does the tooltip box (in which I've never seen more than one line) get five? Why does every building have a (relatively) huge thumbnail instead of a simple "Next -"/"Previous brothel" button?

Solution
A new layout (https://cdn.mediacru.sh/PfOhTvntU2Jk.jpg)! Did this within 3 minutes, it's enough to show the general idea. It should be better for both large screens (lots of space for the image) and small screens (because it uses a vertical layout instead of a grid). Note that "section" skips to the next/previous building, then the character overviews, then the personal overview.
In case you actually like it, consider using a different (similar to the old) layout for the overviews (doesn't make much sense to have a huge profile picture there).


Attribute overview

Problem
Currently, all attributes are expressed with two numbers - current and maximum. While that is technically acceptable, managing equipment for characters would be a lot easier if it would be visible how many points are the character's base and what comes from equipment (and, currently, traits).

Solution
There are two solid approaches - which one is better depends on how much space is available.

The first is a progress bar with multiple values.
<-------|----|---|--> (base, current, max, bar length = absolute max)
"Base" is the amount of points that the character has, "current" is the amount of points that is used for calculations, "max" is the current maximum and "absolute max" is the maximum possible at the current character level. The numeric values could simply be shown on the bar.

The other possibility would be color coding - less space requirement, but also less intuitive to read.
XX/YY
"XX" shows "current", the color (or background color) depends on the "base" to "current" ratio (light green to orange), "YY" shows "max" and is colored depending on the "max" to "absolute max" ratio (again, light green to orange is preferable).



Other problems

Whenever a stripper auto-rests, the stripping performance of the current day counts as minimum, causing all other characters in the brothel to earn much less money. I assume that's not intentional.

I checked the last few pages of this thread and noticed the discussion about different jobs for every profession. While I generally don't mind the idea, please try to consider if a certain job makes sense for the player before adding it. I'll try to give you a few (negative) examples (my apologies to MrKlaus, his post is the most productive in this matter, so I also took the examples from it):
Jobs that only add a different image type (e.g. dominatrix for the "bdsm" tag or receptionist for the "group" tag) - why not just make customers request that kind of stuff?
The same job in different locations (e.g. strippers, event dancers & cabaret dancers) - if there's no possibility for different outcomes for the player, it should stay generalized.
Overly complex or punishing mechanics (e.g. assassins and bodyguards) - while I think that it sounds very interesting, I also think that it's a little too complex (especially because killing the player in a game like this sounds like a really bad idea).
My point: As long as a job doesn't have an interesting mechanic (that doesn't punish the player too much) or adds the possibility for an extreme fetish image tag (side note: define "extreme"), it's propably unnecessary.

Finally, on the point of adding more attributes for dating and other stuff: Keep it reasonable and try not to overload the interface (character overview already is cramped).



It's unfortunate (for me) that you chose RenPy as your preferred framework. I have experience with C, C++, Java, Lua, PHP, HTML and CSS, but none with Python (and no interest in learning it at this time) so I can't really help you with code.

That's it for now, everything is up for discussion so feel free to bash me (but please stay reasonable).
Have fun!
Title: Re: General Discussion
Post by: Xela on August 02, 2014, 03:37:15 PM
Hey everyone!
So... this project has been around for a while and since I had a lot of free time in the past month I guess it's time to give some feedback. I'll put it in one post although I am aware that some of the topics have own threads. If you don't like that, feel free to tell me.

Disclaimer
Many people don't like criticism (especially programmers) - therefore I'd like to mention that everything written here is meant in a productive, non offensive way and is just my personal opinion.

Ok... now that one hell of a post :) And there are no actual programmers on the team, I am doing most of the coding and I am self-tough so constructive criticism is more than welcome.


Traits

Problem
Currently, most traits are just attribute modifications that don't have a meaning at all, especially since there are three other ways of gaining attribute points (experience, training and equipment).

That's not true, there are literally thousands lines of code, behavior, events and texts governed by traits. It is just not being relayed player in text form but attempts to create an appropriate environment and behavior of the characters. Also traits now have different mechanics as well and those "unique" properties you've suggested has been added as Effects (I do not remember if that is the case in an Alpha).

Most of the solutions proposed are already a part of the game (even the alpha release I believe).
==============================

Problem
Slaves have very few things that distinguish them from normal employees. APs are replaced by money to hire them, wages are replaced by the slave tax to pay them - in both cases it is essentially the same outcome for the player.

This has been mitigated to a good degree already, with fighters guild in the game, slaves cannot be ranked past 3 and a number of other adjustments to balance, situation did improve.

I was thinking about an anti-slavery religious movement and elven embassy that would work along the lines you proposed. It's something worth pursuing but when/how is another question.
==============================

Problem
Redundancy, duplication and the same thing multiple times. Seriously, I don't mean to be offensive, but the current tagging system is horrible. You essentially store the exact same data three times - in the name (currently not used as information source for whatever reason), the XMP metadata (a really bad way to obfuscate information) and the json files (that aren't even sorted for fast access).

Redundancy == duplication == the same thing multiple times.

XMP works awesomely in AA2 :) Also obfuscation of data is not the point here and there is a new tagger written in C# that works without it.

I have no idea what "sorting json file for fast access" means.

INFO     PyTFall 0.47 Alpha Loading: Tag Database
INFO     PyTFall 0.47 Alpha.tags loaded 24352 images from tags.json files
INFO     PyTFall 0.47 Alpha It took 2.41000008583 secs to execute!

Solutions:

We've tried storing complex data in filenames, looks ridiculous and bit of a pain for work with (tagger would also be required I think). I'd love to see a user changing a file name called jfmsiofh09whfw0efbn04w8hr0wrhbw0gfbw08trhj03hbrfw0irfjwe0-rehj0kfn0rde9hbn9wefubfsb.png without any additional tool  :D It's an option, just don't know if it's faster/more reasonable than json.

tag: set(images)

is how it's is stored in the game, json is required to be sorted in a different manner for reasons I don't want to go in right now. It can be circumvented, but I doubt it will significantly improve performance and all tagging software would have to be adjusted.

On the "bloating" front, CW and Dark and in charge of improving tagging logic.

Falling back (hierarchical order) can be handled with code, if it can be done with tagging concept, fine but it is not going to be easy.

The lesbian thing was inherited from WM, we've taken a bunch of concepts we prolly shouldn't have. But the current system is working, there is no denying that.

Generic locations are mostly used in inside/outside atm but also beach, forest, park. I don't believe it should be left out. Costumes are not used, yes, mood could be more general as well I suppose but believe it or not: We've actually removed a whole bunch of tags from the original concept!!!:D
===============================

Problem
Not only does the game allow it, I'd say it encourages it, especially in the arena. There are so many random things (rewards, enemy selection, critical hits) that it can get incredibly frustrating.

This was reported several times, I still don't understand why. If people want to do it, why not let them?
===============================

Arena

Problem
I know this is kind of a work in progress, but currently it bugs me very much that fighting in the arena is so much more efficient than anything else in the game. I consider it a good thing to make the game more than just a brothel sim, but in the end all activities should be equally rewarding.

Possibility, I am thinking about adding minigames and most importantly: integrating Arena events (ladder position, recent victories) with the rest of the game. But that kind of content creation is in the future (we need more NPCs, Locations, concept for girlsmeets and etc.) As for internal mechanics, we need to improve battle engine and interface (add relative strength to teams and etc.).

Preventing grinding or making it less profitable... I am not sure I like that. Also brothels are a lot more profitable now and the damn fighters guild is like an alchemy set where they turn trash into gold (but it's still in a very early stages).
===============================

Problem
I've checked out the thread where somebody is asking for advice on what each attribute does and someone answered that the stats should be self explanatory. Well, they're not, at least not all of them. This might be a problem of missing implementations (work in progress stuff), but what are "character" and "libido" supposed to do? Isn't "character" just inverted obedience? If so, why is there one black sheep among the flock (one negative among positive attributes)? I have a stripper in one of my savegames that has 0 character and 100 libido and still refuses to work as a prostitute (which is kind of ridiculous).

Solution
I know the game is an alpha version, but some basic documentation wouldn't hurt. This includes things that are supposed to work and things that will be added in the future.

It might hurt me :D

We've made mechanics too complex for a 2 + 2 = 4 explanations and they may change in the future, we may cook something up for the next release.
==============================

Conversion vs compatibility

Compatibility with old WM packs is nice, but a tool for converting them would be better. It bugs me that the missing elements are random generated for every new game.


Savegames

Modifications to characters that aren't in the saved game yet (yes, I did check the whole city) do not apply for some reason. The same goes for database changes (e.g. adding a new item). Is that a bug or do you actually save the whole database in a save game?


Error handling

The note that some file wasn't found is really not helpful. What would be helpful is a tool to verify characters or an error message that actually tells me what file the game was looking for. Also, crashing the whole game because a single image couldn't be loaded seems unnecessary.

The randomly generated elements are better now but you can just edit the files + throw in battle, beach and portrait pictures and you'll have a half-baked "native" character.

Whole database is saved, yes.

We may have gotten rid of the crash thing already.
==============================

Interface

Resolution

The maximum internal resolution is 1280x800 - 720p isn't too bad, but on a 1080p screen it still looks... questionable. Is there a way to increase the render resolution?


New day

Problem
The new day screen doesn't have the focus that I'd like it to have. To put it in simple terms: What I want to see in the first place is the image. Afterwards, a short text and a summary of stat changes would be nice. So that's the priority. Why does the image only get 1/3 of 3/4 of the screen? Why do the few numbers that show attribute changes get just as much? Why does the tooltip box (in which I've never seen more than one line) get five? Why does every building have a (relatively) huge thumbnail instead of a simple "Next -"/"Previous brothel" button?

There is very little to be done about the resolution without an obscene amount of effort, but it might get better after we redesign the screens.

We went with a summary screen approach, these are from a more recent version (actual game, not mock-ups):

(http://s4.postimg.org/g936jkxy1/7_29_2014_1_23_56_PM.jpg) (http://postimg.org/image/g936jkxy1/) (http://s4.postimg.org/u41h21sd5/7_29_2014_1_28_04_PM.jpg) (http://postimg.org/image/u41h21sd5/) (http://s4.postimg.org/cj854fbh5/7_29_2014_1_29_15_PM.jpg) (http://postimg.org/image/cj854fbh5/)

(http://s4.postimg.org/mdzaanffd/8_2_2014_9_03_06_PM.jpg) (http://postimg.org/image/mdzaanffd/) (http://s4.postimg.org/vtaka482h/8_2_2014_10_22_52_PM.jpg) (http://postimg.org/image/vtaka482h/) (http://s4.postimg.org/qbmk0228p/8_2_2014_10_23_49_PM.jpg) (http://postimg.org/image/qbmk0228p/)
=======================================

Problem
Currently, all attributes are expressed with two numbers - current and maximum. While that is technically acceptable, managing equipment for characters would be a lot easier if it would be visible how many points are the character's base and what comes from equipment (and, currently, traits).

And people on the other side of this argument are asking to obfuscate stats all together. It can be done without too much fuss I think but is bound to piss some people off.
=======================================


Other problems

Auto-rest thing is fixed.

I don't see how jobs bit is under "problems". I do agree with the narrative, however I don't believe that we're is in the majority here. I am convinced that most people for whatever reason, like having dozens of jobs working off the almost exactly the same mech/interface just with different texts/background.

As for PyTFall, next jobs will be fighting guild related and that's a completely new design.

I do not favor (this is very mildly put) adding more attributes to the game :)
=======================================

Title: Re: General Discussion
Post by: livingforever on August 02, 2014, 06:02:35 PM
Hey there!
That's not true, there are literally thousands lines of code, behavior, events and texts governed by traits. It is just not being relayed player in text form but attempts to create an appropriate environment and behavior of the characters. Also traits now have different mechanics as well and those "unique" properties you've suggested has been added as Effects (I do not remember if that is the case in an Alpha).

Most of the solutions proposed are already a part of the game (even the alpha release I believe).
Alright. Well, I haven't noticed any trait based mechanic other than for the "Virgin" trait in the alpha release. Maybe I just haven't been paying enough attention to it...

We've tried storing complex data in filenames, looks ridiculous and bit of a pain for work with (tagger would also be required I think). I'd love to see a user changing a file name called jfmsiofh09whfw0efbn04w8hr0wrhbw0gfbw08trhj03hbrfw0irfjwe0-rehj0kfn0rde9hbn9wefubfsb.png without any additional tool  :D It's an option, just don't know if it's faster/more reasonable than json.

tag: set(images)

is how it's is stored in the game, json is required to be sorted in a different manner for reasons I don't want to go in right now. It can be circumvented, but I doubt it will significantly improve performance and all tagging software would have to be adjusted.
Aha. So they are ordered by tag internally but json doesn't allow it. Interesting, didn't know that. Generally, I think adjusting the tagging software at this stage of development shouldn't be a reason not to make changes. I'm not sure how fast the conversion is (from the json format to the internal format), I guess it's not a big deal, but speeding things up wouldn't be bad either.

I agree that storing data in filenames looks somewhat ridiculous, but I definitely think that it is both faster and more reasonable.

Falling back (hierarchical order) can be handled with code, if it can be done with tagging concept, fine but it is not going to be easy.
Actually, a combination of both would be the easiest approach.
Tagging:
Parsing:Not so complex, is it? Sure, you could also use a code-only solution with double-linking (parent -> children and child -> parent):Personally, I think the first solution is more elegant because it doesn't require RNG to avoid using the same child tag and (propably more important) because it's more flexible (it allows the user to explicitly exclude a parent tag if it doesn't apply for some reason or if the image shouldn't be used as an alternative for anything).

The lesbian thing was inherited from WM, we've taken a bunch of concepts we prolly shouldn't have. But the current system is working, there is no denying that.
Yes, it's definitely working - but that's not a good reason to make the same mistakes again. The more you are afraid of making far reaching changes now (which I can totally understand by the way), the more you will get into trouble later on.

This was reported several times, I still don't understand why. If people want to do it, why not let them?
As I mentioned in my previous post, there is too much frustrating RNG at the moment. Most users reporting it are people that don't like save scumming but still do it sometimes because of that (side note: I'm claiming that not because I am one of them but because I have some experience in game design).

It might hurt me :D

We've made mechanics too complex for a 2 + 2 = 4 explanations and they may change in the future, we may cook something up for the next release.
Thanks for keeping it in mind  ;) .

The randomly generated elements are better now but you can just edit the files + throw in battle, beach and portrait pictures and you'll have a half-baked "native" character.
Nope. That is exactely the problem: Simply editing the .girlsx files is not an option because they are missing information like occupation and location (among others). That's why a tool for converting them into your xml format would be nice.
I wrote such a tool for .rgirlsx files by the way (it reads the files from the current folder and converts them to the json format, missing information is prompted via GUI), but I was incredibly lazy (really damn lazy) so the output files are written line by line instead of by a json writer. I'd better not show the code to anyone  :-X .
Seriously though, I could write a similar tool for girlsx to xml conversion (hey, maybe I'll even use a real XML parser) and upload them.

Actually, screw it, it's not like I have anything to do in the next month. Let's see if I get bored enough to write a character creation tool that can export chars and rchars, import girlsx and rgirlsx and modify tags (in the way that I suggested so you can't use the "missing editor" excuse)!

Whole database is saved, yes.
But... whyyyyyyy? I mean... I guess you have your reasons, but is that really necessary?

There is very little to be done about the resolution without an obscene amount of effort, but it might get better after we redesign the screens.
Oh. Well, can't do much about it if the framework doesn't allow it. And changing the framework at this point of development isn't a viable option I guess.

We went with a summary screen approach, these are from a more recent version (actual game, not mock-ups):
It's an improvement. Still not ideal in my opinion, but definitely better.
The problem still is the grid layout: You're using a lot of space for the text box even though there might not be a lot of text to show. But further reducing the width of the box would cause lots of linebreaks that you really don't want to have.

And people on the other side of this argument are asking to obfuscate stats all together. It can be done without too much fuss I think but is bound to piss some people off.
Ok, I give you that one. I guess it's just personal preference how much information you want to see.

And a final note about the new jobs: I'm not trying to stop you from adding new ones as long as they have a good purpose.
Have fun!
Title: Re: General Discussion
Post by: Xela on August 02, 2014, 07:30:17 PM
Hi :)

Hey there!Alright. Well, I haven't noticed any trait based mechanic other than for the "Virgin" trait in the alpha release. Maybe I just haven't been paying enough attention to it...

Job Events/Interactions/Girlsmeets are all very heavily based on traits.
=====================================

Aha. So they are ordered by tag internally but json doesn't allow it. Interesting, didn't know that. Generally, I think adjusting the tagging software at this stage of development shouldn't be a reason not to make changes. I'm not sure how fast the conversion is (from the json format to the internal format), I guess it's not a big deal, but speeding things up wouldn't be bad either.

It allows that, but it creates issues when binding the tags to actual character. Also, there is another issue, we do not have source code for python/qt based tagger and I am not versed enough in C# to make any significant changes to the new tagger in any short amount of time. Simply put, if we ever require a new tagger, I'll prolly have to code one from scratch.
=====================================

I agree that storing data in filenames looks somewhat ridiculous, but I definitely think that it is both faster and more reasonable.

   
  • Second, it would avoid storage redundancy. The name of a file is always read by the OS, so it doesn't matter if there is information in it or not - it will always be accessed for every file.

It may be faster, hard to tell without timing. You'd have to analyze every single file name sting, from jsons, you just open/read the file and load data.
=====================================

Tagging:
  • User adds tag
  • Add all parent tags (recursive)
Parsing:
  • Check for an image with the tag
  • If none exists, check for next parent tag (recursive)
Not so complex, is it? Sure, you could also use a code-only solution with double-linking (parent -> children and child -> parent):
  • Check for an image with the tag
  • Find all other child tags of current parent (recursive to include their children as well) *
  • Check for all found tags in random order (*recursive)

This process is a lot more complicated that it seems. You often require a combinations of many tags, at times some are more important than others, sometimes they all have the same weight and so on. Tagging system is far more complex and better tuned that one can imagine just by looking at tags and there are still improvements to be made. We don't utilize it enough yet either. It's a work in progress, but the way you look at it is oversimplification.
=======================================

As I mentioned in my previous post, there is too much frustrating RNG at the moment. Most users reporting it are people that don't like save scumming but still do it sometimes because of that (side note: I'm claiming that not because I am one of them but because I have some experience in game design).

The reason I do not worry about it too much atm is that we can add an option to lock random seed as an option in the future or enable saving only once every 10 days for example. Personally, I do not see a problem here and simple ways to improve the situation for the more coherent release.
=======================================

Nope. That is exactely the problem: Simply editing the .girlsx files is not an option because they are missing information like occupation and location (among others).

? What exactly is stopping you from adding that information? Those files are open text (they are actually renamed xml format allowing all xml syntax), game will pick up any fields it recognizes as native to itself so adding location, missing stats and occupation is valid. As I've said, adding battle_sprite and portrait images will make the WM girls (more or less) native to PyTFall.
=======================================

I wrote such a tool for .rgirlsx files by the way (it reads the files from the current folder and converts them to the json format, missing information is prompted via GUI), but I was incredibly lazy (really damn lazy) so the output files are written line by line instead of by a json writer. I'd better not show the code to anyone  :-X .
Seriously though, I could write a similar tool for girlsx to xml conversion (hey, maybe I'll even use a real XML parser) and upload them.

Both of them are .xml. Conversion is not complicated but if you wanna make one, go ahead. Random girls from WM are not fun in PyTFall without converting (properly) image packs as well, and anyone who is willing to do that will write their own json files. (takes 5 mins, converting packs takes hour(s))
======================================

Actually, screw it, it's not like I have anything to do in the next month. Let's see if I get bored enough to write a character creation tool that can export chars and rchars, import girlsx and rgirlsx and modify tags (in the way that I suggested so you can't use the "missing editor" excuse)!

If you actually get around to writing one, see if you can add renaming images to tags in filename structure as well. I'd need a JSON with a simple dict of:

{"bj": [index, "blowjob"]} to convert the info in the game, we can see what's actually faster more convenient then.
======================================

But... whyyyyyyy? I mean... I guess you have your reasons, but is that really necessary?

Not necessary but:

--- launch game ---
INFO     PyTFall 0.47 Alpha game directory: D:\Coding\Dropbox\Dev\RenPy\pytfall\game
INFO     PyTFall 0.47 Alpha Loading: Crazy Tags
INFO     PyTFall 0.47 Alpha It took 0.733999967575 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Random Name files
INFO     PyTFall 0.47 Alpha It took 0.00500011444092 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Traits
INFO     PyTFall 0.47 Alpha It took 0.00399994850159 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Items
INFO     PyTFall 0.47 Alpha It took 0.730000019073 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Brothels
INFO     PyTFall 0.47 Alpha It took 0.00100016593933 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Tag Database
INFO     PyTFall 0.47 Alpha.tags loaded 24352 images from tags.json files
INFO     PyTFall 0.47 Alpha It took 2.09999990463 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Characters
INFO     PyTFall 0.47 Alpha It took 0.354000091553 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: PyTFallWorld
INFO     PyTFall 0.47 Alpha Loading Random Characters:
INFO     PyTFall 0.47 Alpha It took 0.0179998874664 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Mobs
INFO     PyTFall 0.47 Alpha It took 0.0130000114441 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Exploration
INFO     PyTFall 0.47 Alpha It took 0.0720000267029 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Generating Random girls
INFO     PyTFall 0.47 Alpha It took 0.27999997139 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: testing mode
INFO     PyTFall 0.47 Alpha It took 0.0199999809265 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: GirlsMeets
INFO     PyTFall 0.47 Alpha It took 0.0 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Populating SlaveMarket
INFO     PyTFall 0.47 Alpha It took 0.00100016593933 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Arena!
INFO     PyTFall 0.47 Alpha It took 0.158999919891 secs to execute!

Because building databases takes time, loading them from a saved file (Python's binary serialization structure, written almost entirely in C, yes: C, not C# or C++ or Python!) is lighting fast and saves are loaded almost instantaneously. Writing code to add an option to reload databases when loading savefiles is easy and I've already done it, but because we change stuff so often, it proved to be annoying so we decided to leave it until there is a coherent game version.

PS: Items are loaded a lot faster actually, this is code I wrote yesterday, trying to use Ren'Py libs instead of Python once, proved to be a lot slower.
==================================

Oh. Well, can't do much about it if the framework doesn't allow it. And changing the framework at this point of development isn't a viable option I guess.

Framework doesn't give a sh!t, you can set up any reasonable resolution. It also does excellent job "stretching" the screen but in order to actually support different resolution, I'd have to calculate size of every graphic element based of screen width + height setting. It's a bit too much, especially since the game window can adjust really well. Also, using better/more coherent graphical resources may improve the matter.

Honestly, even native 1280x800 is pretty high for an indie sim game, most devs don't even bother with that.[/list]
Title: Re: General Discussion
Post by: DarkTl on August 03, 2014, 08:02:09 AM
Wow, so much text  :D

Problem
Currently, most traits are just attribute modifications that don't have a meaning at all, especially since there are three other ways of gaining attribute points (experience, training and equipment).
Aside from attribute modifications, every trait has (and will have) checks in the code where it makes sense. Moreover, for many traits attribute modification is the only way to show somehow that they are working, because some systems are not ready, so it's like a placeholder.

For those who don't know, save scumming means to create a save point before every important event (e.g. a fight in the arena or a new day) and reload if something bad happens.
I believe scumming protection should be an optional part. Maybe even a part of higher difficulties only.

The maximum internal resolution is 1280x800 - 720p isn't too bad, but on a 1080p screen it still looks... questionable. Is there a way to increase the render resolution?
Keep in mind that the most important our resource - girls pictures - cannot be redrawn to higher resolutions anyway.

Overly complex or punishing mechanics (e.g. assassins and bodyguards) - while I think that it sounds very interesting, I also think that it's a little too complex (especially because killing the player in a game like this sounds like a really bad idea).
Um, these jobs are decoration for non employed by player girls  ::)
There is a difference between them (main stat, payment), and they won't actually kill anyone or something.

  • An own tag for lesbian activities? That's a sexual orientation, not a sex type. Licking a woman as a woman can be considered a blowjob, fingering equals handjob and so on.
Correct from the viewpoint of logic, but counterintuitive. No one says "lesbian hot blowjob", they say "lesbian hot licking"  :D
Well, unless we talking about sucking a strapon or something. Thus, even more counterintuitive.

Great Figure
Another legacy trait btw. I'll think about it.

Today I'm testing our food poisoning effect irl, so I can't think straight enough to discuss other matters  :D
Title: Re: General Discussion
Post by: CherryWood on August 03, 2014, 09:16:15 AM
Another legacy trait btw. I'll think about it.
I know it doesn't really show in drawing styles of manga or anime, but some characters are stated to be more beautiful then others in the series.
It could be probably simulated just by starting stats in json, but these have very little impact on the gameplay now.
Title: Re: General Discussion
Post by: livingforever on August 03, 2014, 09:59:02 AM
Hey again!
It may be faster, hard to tell without timing. You'd have to analyze every single file name sting, from jsons, you just open/read the file and load data.
I disagree. Sure, the json approach requires less code because all the logic is hidden behind an API, but think about it:
OS file listing lists all filenames within a folder - the JSON file is a list of files with name and path.
Yes, you'd have to call String.contains to check for tags - but with JSON you also need to compare the tags (which is most likely a full string comparison). Additionally, you need to open and parse the file first.

Just because the library takes care of it doesn't mean it's gone performance wise.

This process is a lot more complicated that it seems. You often require a combinations of many tags, at times some are more important than others, sometimes they all have the same weight and so on. Tagging system is far more complex and better tuned that one can imagine just by looking at tags and there are still improvements to be made. We don't utilize it enough yet either. It's a work in progress, but the way you look at it is oversimplification.
I don't see why multiple tags and weights should be difficult to implement:
I should propably mention that I don't like the idea of looking for multiple tags or weighting them in general. The simple reason (based on my opinion): If you are looking for multiple tags then the image doesn't have a clear focus or there are too many unnecessary tags. If the image doesn't have a clear focus then it shouldn't be in the pack. If there are too many tags... read my first post.
I'm pretty sure that there are exceptions, but you get the general idea.



The reason I do not worry about it too much atm is that we can add an option to lock random seed as an option in the future or enable saving only once every 10 days for example. Personally, I do not see a problem here and simple ways to improve the situation for the more coherent release.

I believe scumming protection should be an optional part. Maybe even a part of higher difficulties only.
Let me try to clarify this: I don't expect you to completely prevent save scumming with the slot solution if you don't want to. But I still want to see the proposed changes to random elements implemented to reduce RNG frustration.

? What exactly is stopping you from adding that information?
Yeah... I never even tried that. Silly me.

Random girls from WM are not fun in PyTFall without converting (properly) image packs as well, and anyone who is willing to do that will write their own json files. (takes 5 mins, converting packs takes hour(s))
Indeed. Funny thing is that I stumpled upon the issue that there are way too many tags while doing that. Writing a tool for converting the data files still saved some time though.

If you actually get around to writing one, see if you can add renaming images to tags in filename structure as well. I'd need a JSON with a simple dict of:

{"bj": [index, "blowjob"]} to convert the info in the game, we can see what's actually faster more convenient then.
Uhm... the dictionary should only take me a minute to create, but what is the index for?
And by "filename structure" I assume you mean the tags.json files?

Sorry for the (potentially) stupid questions, my brain isn't working very fast today.

Writing code to add an option to reload databases when loading savefiles is easy and I've already done it, but because we change stuff so often, it proved to be annoying so we decided to leave it until there is a coherent game version.
Makes sense.

Framework doesn't give a sh!t, you can set up any reasonable resolution. It also does excellent job "stretching" the screen but in order to actually support different resolution, I'd have to calculate size of every graphic element based of screen width + height setting. It's a bit too much, especially since the game window can adjust really well. Also, using better/more coherent graphical resources may improve the matter.
That confuses me. Aren't you using a layout manager to scale the interface based on weights and alignments?

Keep in mind that the most important our resource - girls pictures - cannot be redrawn to higher resolutions anyway.
Confusing as well. There are very good scaling algorithms and libraries (that produce good results even when upscaling by factor two).

You could argue that the graphics card is upscaling (from the internal render to the screen resolution) much faster than you can do it with code - but at the cost of precision and customization. And since the internal resolution shouldn't change that often I think it would be worth it to make adjustments on your end.

Correct from the viewpoint of logic, but counterintuitive. No one says "lesbian hot blowjob", they say "lesbian hot licking"  :D
Well, unless we talking about sucking a strapon or something. Thus, even more counterintuitive.
I see your point. However, I think that less tagging effort is worth a lot more than slightly more intuitive tags.

Have fun!
Title: Re: General Discussion
Post by: Xela on August 03, 2014, 12:53:58 PM
I disagree. Sure, the json approach requires less code because all the logic is hidden behind an API, but think about it:
OS file listing lists all filenames within a folder - the JSON file is a list of files with name and path.
Yes, you'd have to call String.contains to check for tags - but with JSON you also need to compare the tags (which is most likely a full string comparison). Additionally, you need to open and parse the file first.

Just because the library takes care of it doesn't mean it's gone performance wise.

Well, if you code a tool that can write data to filenames and json, we'll know. Otherwise I am not guessing what's faster.

I don't see why multiple tags and weights should be difficult to implement:
  • Check for an image with a list of weighted tags *
  • Mark all found tags from the list
  • If none exists, replace all tags that aren't marked with their parent tags
  • Shift the weight of the replaced tags to their parent tags (*recursive)
I should propably mention that I don't like the idea of looking for multiple tags or weighting them in general. The simple reason (based on my opinion): If you are looking for multiple tags then the image doesn't have a clear focus or there are too many unnecessary tags. If the image doesn't have a clear focus then it shouldn't be in the pack. If there are too many tags... read my first post.
I'm pretty sure that there are exceptions, but you get the general idea.

It might work, depends on the fallback tree. Like I've said, Dark/CW are in charge of tagging concept, if you want to write one/participate, you're more than welcome (clearcut concepts is what the dev is missing the most atm). maybe we can even find some simple way to differentiate between old/new and keep the game working until all packs are converted.

Let me try to clarify this: I don't expect you to completely prevent save scumming with the slot solution if you don't want to. But I still want to see the proposed changes to random elements implemented to reduce RNG frustration.

Quote from: livingforever
Second, the random elements - let's start with the arena.
  • The rewards should be further split up into tiers based on the item value (e.g. stimulant in tier 0, big mana potion in tier 1 and ultimate health potion in tier 2). The rewards could then be readjusted to reward one random item from each tier.
  • Something similar should be done for the enemies. I don't want to get into details here because the chainfights don't seem to be very polished so I assume it's still a work in progress.
  • Critical hits are a problem because most games that use critical hits have a high amount of hits per fight, reducing the randomness by applying the law of big numbers. In PyTFall, some fights are over after a single hit - that's not a good environment for random critical hits. If you want to keep the mechanic you should introduce items that balance it, e.g. a full body suit that prevents critical hits on the player.
  • The training also is quite random. The amount of stat points that a character gets should be more consistent.
  • Events like the prostitute violence or the above proposed slave raid are somewhat difficult to adjust. I think a pseudo random system would be the best approach here - which basically means that the chance for an event to happen increases until it happens and then gets reset.
  • Finally, the shops could get a button that refreshes the inventory for a small fee.

- Rewards work fine, I will not complicate working systems until a final release.
- Same as above.
- At higher levels fights can take a really long while, one - two hits fights are less common I believe. Also there is no point of doing this before we rework battle engine.
- And I like randomness during training.
- Job attack Events depend on clients that get "Aggressive" trait randomly assigned, they are farther mitigated by security rating. I see no reason to change that.
- I actually hate stuff like this in games, it kinda ruins the mood and disrupts continuity. I expect mods will take care of request like this in the future.

In any case, most of this is fine-tuning, we'll take care of stuff like this when there is a game with more or less solid concepts in place + locking random seed solves most of these issues, if stuff isn't randomized after loading game anymore, save-scumming becomes a lot less attractive.


Uhm... the dictionary should only take me a minute to create, but what is the index for?
And by "filename structure" I assume you mean the tags.json files?

I mean if you're planning to code a new tagger, see if you can have it not only write to json but also to rename the files accordingly.

Forget about the "index", I though for a moment about how I'd go around doing it and though including indexed positioning in fn strings was a good idea, after a bit of rest: it is prolly an idiotic one.

That confuses me. Aren't you using a layout manager to scale the interface based on weights and alignments?

*Not exactly...

Quote from: livingforever
"The maximum internal resolution is 1280x800 - 720p isn't too bad, but on a 1080p screen it still looks... questionable. Is there a way to increase the render resolution?"

In order to render at higher resolutions, I wouldn't be able to use:

Code: [Select]
        frame:
            background Frame("content/gfx/frame/desk_1.png", 15, 15)
            xysize (600, 710)
            pos(20, 60)

code. I'd have to scale everything like:

It's possible but a pain and since window/fullscreen can be stretched to any resolution, I see no point in doing that.
Title: Re: General Discussion
Post by: Xela on August 03, 2014, 04:15:20 PM
Sorry but I don't understand what's wrong with tags at all. I mean, what you are talking about. Was this supposed to be about tagger, tags or tags calling in code? Something not working? (I'm using Rudi's tagger and I didn't have a problem yet) And WTF is "parent" tag? (tag is either there or not, what else?)

I personally would want to maybe change actual tags a bit (but only change to blowjob is truly required atm) and always welcome improvements to tags call methods, but I don't see any problem with the tagger. (but I didn't try the second one)

LoL That's the point I am trying to make. It is working and working really well.

livingforever believes that the system is too large, unintuitive and slow (loading process at the beginning of the game takes little over 3 seconds for 25 000 images), he thinks that we can do better by encoding tags in file names and improve the system by having less tags/hierarchy.
Title: Re: General Discussion
Post by: Xela on August 03, 2014, 04:42:23 PM
Isn't "character" just inverted obedience? If so, why is there one black sheep among the flock (one negative among positive attributes)? I have a stripper in one of my savegames that has 0 character and 100 libido and still refuses to work as a prostitute (which is kind of ridiculous).

This is not exactly true for character... the real black sheep is fatigue. I am going to go through all items, traits and code files tonight and change it to "energy" or something like that (adjusting values) tomorrow cause I am sick of inverting it all over the code.
Title: Re: General Discussion
Post by: CherryWood on August 03, 2014, 04:45:11 PM
Heh. thanks for explation of what's going on  :)

Ok, so my option is:
- I think that current tagger-json system is working fine for our purposes. Its likely not perfect but that could be said about just anything in game - and I just don't feel that the improvements there would be wort the time that could be spent elsewhere.
But maybe I just didn't understand the suggestion well enough.

- there is an overwhelming number of tags, but majority of them are secondary tags which are just optional to use - pack creators can just tag everything with only major tags like "profile" or "sex" and girls will work with generic texts with almost no effort (like girls imported from wm). That's why we didn't hold back there, it's just for the perfectionist freaks who care about it  :) But some tag revision is planned.


But to be honest, placing tags calls in code like job reports is kinda unfriendly... So if this suggested new system can improve that, then I'm sure willing to listen more.
Title: Re: General Discussion
Post by: Xela on August 03, 2014, 04:54:15 PM
Heh. thanks for explation of what's going on  :)

Ok, so my option is:
- I think that current tagger-json system is working fine for our purposes. Its likely not perfect but that could be said about just anything in game - and I just don't feel that the improvements there would be wort the time that could be spent elsewhere.
But maybe I just didn't understand the suggestion well enough.

- there is an overwhelming number of tags, but majority of them are secondary tags which are just optional to use - pack creators can just tag everything with only major tags like "profile" or "sex" and girls will work with generic texts with almost no effort (like girls imported from wm). That's why we didn't hold back there, it's just for the perfectionist freaks who care about it  :) But some tag revision is planned.

Yeah, I agree, there is nothing forcing modder to tag every little thing.
===================================

BTW: Is there any feedback on new city map button system? Is it acceptable/better/worse than the old one (switching back is literally just clicking one button in version control software to go back to precious map.xml).
Title: Re: General Discussion
Post by: Xela on August 03, 2014, 08:25:30 PM
F#CK YEAH!!!!

  :D :D :D :D :D :D :D :D :D I've got auto-equipment method to work for consumable items :D :D :D :D :D :D :D :D :D


Code: [Select]
        def auto_equip(self, target_stats, exclude_on_stats=None, slot="consumable", source=None):
            """
            targetstats: expects a list of stats to pick the item
            exclude_on_stats: items will not be used if stats in this list are being deminished by use of the item
            *default: All Stats - targetstats
            slot: slot
            source: list of inventories to draw from
            """
            if not source:
                source = [self.inventory]
            if not exclude_on_stats:
                exclude_on_stats = list()
            items = store.items
            returns = list() # We return this list with all items used during the method.
            if slot == "consumable":
                # The idea is to increase any particular stat to it's maximum
                # Maximum raising should be coded in at some point as well
                # Here we need the best item to increase the stat:
                # ------------->
                # Get all items availible for the task:
                for inv in source:
                    d = dict()
                    content = inv.content
                    # Try to get a dict of all useful items:
                    for item in content:
                       
                        item = items[item]
                       
                        if item.slot != slot:
                            continue
                           
                        if set(self.traits) & set(item.badtraits):
                            continue
                       
                        if any([item.ceffect, item.type == "permanent",  item.sex not in (self.chr_sex, "unisex"),
                                  item.id in self.consblock, item.id in self.constemp,
                                  item.type == "food" and self.effects['Food Poisoning']['activation_count'] >= 9]):
                            continue
                           
                        # We finally check if there is at least one matching stat and if so, add the item at 0 priority   
                        for stat in item.mod:
                            if stat in target_stats and item.mod[stat] > 0:
                                d[item.id] = 0
                                break
                               
                        # Wasteful items, we reduce the desirability by 100:
                        bonus = 0 # Actual bonus
                        possible_bonus = 0 # Total possible bonus
                        penalty = 0 # Total penalty
                        # Normal stats:
                        for stat in item.mod:
                            if stat in self.stats: # Not usefull?
                                if item.mod[stat] > 0:
                                    possible_bonus += item.mod[stat]
                                    if stat in target_stats:
                                        # This is not perfect, but it shouldn't matter (max at the game start issue)
                                        if self.stats[stat] + item.mod[stat] > self.get_max(stat) + 5:
                                            bonus += max(0, self.get_max(stat) - self.stats[stat])
                                        else:
                                            bonus += max(0, item.mod[stat])
                                            # Since (almost)) nothing is wasted, we'll just multiply bonus by 100!
                                            bonus = bonus + item.mod[stat] * 100
                                else:
                                    if stat in exclude_on_stats:
                                        penalty += item.mod[stat]
                        # We do the same thing for max stats:
                        for stat in item.max:
                            if stat in self.stats: # Not usefull?
                                if item.max[stat] > 0:
                                    possible_bonus += item.max[stat]
                                    if stat in target_stats:
                                        # This is not perfect, but it shouldn't matter (max at the game start issue)
                                        if self.stats.max[stat] + item.max[stat] < self.stats.lvl_max[stat]:
                                            bonus += max(0, item.max[stat])
                                        else:
                                            bonus += max(0, self.stats.max[stat] - self.stats.lvl_max[stat])
                                else:                               
                                    if stat in exclude_on_stats:
                                        penalty += item.max[stat]
                                       
                        # Last, we multiply bonus by two if item in in good traits:
                        if set(self.traits) & set(item.goodtraits):
                            bonus = bonus * 2
                                       
                        # Normalize the three:
                        # bonus = 0 # No need for normalization
                        possible_bonus = min(100, possible_bonus)
                        penalty = min(150, penalty*-1)
                       
                        # and finally set the priority getting this right is possibly the most important thing in this method:
                        d[item.id] = bonus * 2 + item.eqchance * 2 + possible_bonus - penalty
                       
                    # If there are no items, we go on with the next inventory:
                    if not d:
                        continue
                    # Now that we have a dict of item ids vs priorities:
                    # Sort by highest priority:
                    l = sorted(d, key=d.get, reverse=True)
                   
                    l = list(items[i] for i in l) # Get a list of item instances.
                    first_loop = True
                    for stat in target_stats:
                        for item in l:
                            while self.get_max(stat) - self.stats[stat] > 0:
                                # apply the actual item effects, do checks and repeat until stat is maxed out.
                               
                                # Break out immidiatly if item is not capable of increasing this stat:
                                if stat not in item.mod or item.mod[stat] < 0:
                                    break
                               
                                if not first_loop:
                                    # If we used this item once already, it is sensible to check if it's wasteful to use it again:
                                    # This will handle all other items as well, if expensive item is wasted (by more than 30%), we will not use it.
                                    # This will not run if any stat is below 40 (In such case we most likely want item to be auto-used anyway)
                                    if self.stats[stat] > 50 and self.stats[stat] + item.mod[stat]*0.7 > self.get_max(stat):
                                        if item.price > 100:
                                            break
                               
                                first_loop = False
                               
                                inv.remove(item)
                                self.apply_item_effects(item)
                                returns.append(item.id)
                               
                                # Check is there any new conditions preventing repeating the process:
                                if any([item.id not in inv.content, item.id in self.consblock, item.id in self.constemp,
                                           item.type == "food" and self.effects['Food Poisoning']['activation_count'] >= 9]):
                                    break
                                   
            return returns
Title: Re: General Discussion
Post by: Xela on August 03, 2014, 10:54:37 PM
Ok.. 3rd post in a row but the amount of sh!t I got done more than justifies it!

Results:

(http://s18.postimg.org/7j85lcehx/8_4_2014_3_19_16_AM.jpg) (http://postimg.org/image/7j85lcehx/)

Auto-equip method is over 300 lines of code but at least it's smart enough to handle different stats under different conditions. The above pic give some idea of what it's capable of at it attempts to pick the best items for the job that do not have disadvantages and do not waste themselves (Game will not try to consume Ultimate Healing Potion to recover 30 health for example). How it's done will take too long to explain and it will likely be improved even further in the future. I tried to make it faster using as many build in Python functionality that is written in C as possible.

(http://s18.postimg.org/exxhdq0dh/8_4_2014_5_43_33_AM.jpg) (http://postimg.org/image/exxhdq0dh/) (http://s11.postimg.org/entgj0ovz/8_4_2014_5_57_17_AM.jpg) (http://postimg.org/image/entgj0ovz/)

This is a different method using auto-equip (all slots) to prepare Hinata for Combat.

Phew... this wasn't easy :D

SF Updated:
- Fixed couple of typos in items.jsons
- Added Auto-Equip and Equip_for methods prototypes
- Further improved Inventory class
- Added timer to crazy tags loading routine
- Added proper exit button to custom-screens and we're now using it everywhere (I think)
- Killed Ren'Py own loading test routine during items loading (3 times slower since doesn't justify it's power (loading items from any folder))
- Fixed member from other teams being possible to set in leadership position on new teams but (Reported by Dark)
- Some code refactoring
Title: Re: General Discussion
Post by: Xela on August 04, 2014, 07:51:35 AM
=====================================
I need confirmation, we NEED to invert the fatigue stat! I want to rename it to energy but I recall that someone had problems with that name! Please comment on this...
Title: Re: General Discussion
Post by: Pinkutako on August 04, 2014, 08:47:58 AM
I'll give you an End User opinion. 8)   


Fatigue is currently building to 300/300 correct?  Energy would start at 300 and reduce to 300 when tired?


Either method is easy enough to understand and doesn't make a difference to me.  I'd say go with what is easier to code.
Title: Re: General Discussion
Post by: Xela on August 04, 2014, 08:52:14 AM
I'll give you an End User opinion. 8)   


Fatigue is currently building to 300/300 correct?  Energy would start at 300 and reduce to 300 when tired?


Either method is easy enough to understand and doesn't make a difference to me.  I'd say go with what is easier to code.

Thanks :) But I've already decided to do that, we had a discussion some time ago and someone really hated "Energy" as a name for a stat (Unless I am mistaken). I am asking about the name, process itself is very much required at this point... there is too much garbage in the code when inverting or creating special conditions for fatigue.

If someone can think of a better option, batch converting will convert every "energy" mentioned in texts as well as in code so it will lead to issues if I don't get this right from the first try.

====================================
I am almost done with specialized auto-equipment method. Next is auto-buy. As Dark suggested, I am going to make that one "stupid" instead of smart (to simulate rl, girls rarely buy what they need :D). Then: Code refactoring: get rid of fatigue and kill a couple of ancient classes + adapting equipment routines to new methods.
Title: Re: General Discussion
Post by: livingforever on August 04, 2014, 09:02:15 AM
Hey there!

First things first: Let's stop the tagging discussion here. I got your points, I'll see if I can come up with something that satisfies all of them (including my own) and post it in the "Image tagging concept" thread.

Well, if you code a tool that can write data to filenames and json, we'll know. Otherwise I am not guessing what's faster.
I'll do some tests.

- Rewards work fine, I will not complicate working systems until a final release.
- Same as above.
- At higher levels fights can take a really long while, one - two hits fights are less common I believe. Also there is no point of doing this before we rework battle engine.
- And I like randomness during training.
- Job attack Events depend on clients that get "Aggressive" trait randomly assigned, they are farther mitigated by security rating. I see no reason to change that.
- I actually hate stuff like this in games, it kinda ruins the mood and disrupts continuity. I expect mods will take care of request like this in the future.

In any case, most of this is fine-tuning, we'll take care of stuff like this when there is a game with more or less solid concepts in place + locking random seed solves most of these issues, if stuff isn't randomized after loading game anymore, save-scumming becomes a lot less attractive.
Ok. First, I believe you're making a big mistake by moving everything that doesn't seem important to you to a release version. I don't want to sound like my profs (sorry if I do), but planning things through (including details, the only thing that can wait is the balance of numeric values) is very important, it's the first important step for every project. I don't expect you to say/write "Of course, I'll implement it right now!", but something along the lines of "Thanks, I made a note so I won't forget about it later!" would be great.

Now, let's check my points again:
And about locking the random seed: It's funny that you told me that you don't see a reason to prevent save scumming and now you're telling me that you're planning exactely that. Anyway, it's important to mention that it won't solve these issues, it will just prevent the player from doing something against them.


=====================================
I need confirmation, we NEED to invert the fatigue stat! I want to rename it to energy but I recall that someone had problems with that name! Please comment on this...
How about vigor?

Have fun!
Title: Re: General Discussion
Post by: Xela on August 04, 2014, 09:22:07 AM
Ok. First, I believe you're making a big mistake by moving everything that doesn't seem important to you to a release version. I don't want to sound like my profs (sorry if I do), but planning things through (including details, the only thing that can wait is the balance of numeric values) is very important, it's the first important step for every project. I don't expect you to say/write "Of course, I'll implement it right now!", but something along the lines of "Thanks, I made a note so I won't forget about it later!" would be great.

I'll look into it on the next Arena refactoring/review :)

How about vigor?

That's a good option, yet many of non English speakers may not know what it means...

I think viable options are:

Vigor
Energy
Vitality <-- (I kinda like this one, but it kinda presents same issue as Vigor :()
Determination
Ability
Liveliness
Title: Re: General Discussion
Post by: CherryWood on August 04, 2014, 09:27:23 AM
I need confirmation, we NEED to invert the fatigue stat! I want to rename it to energy but I recall that someone had problems with that name! Please comment on this...
Not me! I'm innocent! I suspect the other guy!  :o :) 
("Energy" sounds ok to me now, so If it was me who had the complains, then I totally forget what that was about)


Hey there!

First things first: Let's stop the tagging discussion here. I got your points, I'll see if I can come up with something that satisfies all of them (including my own) and post it in the "Image tagging concept" thread.
Hi! You're sure welcomed with that. It may be a little hard to convince some of us who already put 100+ hours into tagging images and related stuff about it, but if you really think that something could be done in a better way, it's always worth to try. We want the game to be modder friendly for sure, so more ideas about achieving that, the better.
Title: Re: General Discussion
Post by: Pinkutako on August 04, 2014, 10:10:23 AM
Energy is fine.  English is my native language; so all the the choices seem reasonable.  Energy is probably the most universal, because it is a scientific concept.


So....Go go Energy!    :D
Title: Re: General Discussion
Post by: sohz on August 04, 2014, 12:59:53 PM
yeah but you dont have here universal players ^^ i bet all of us are players and refer energy to an alternative for "mana".
I think vitality or vigor are the best choices (sorry my english was so terrible :( )
Title: Re: General Discussion
Post by: MrKlaus on August 04, 2014, 01:06:41 PM
I think viable options are:

Vigor
Energy
Vitality <-- (I kinda like this one, but it kinda presents same issue as Vigor :( )
Determination
Ability
Liveliness

 Maybe add to the list: tiredness or exhaustion (both plain and simple in my opinion).
 
 Update on elements alignment: I have the concept of the basic dialog tree with the menus done. Totally stuck with the expanded descriptions.  :(
 
 
Title: Re: General Discussion
Post by: DarkTl on August 04, 2014, 01:11:55 PM
There are very good scaling algorithms and libraries (that produce good results even when upscaling by factor two).
Even though we already resized girls pictures a lot to reduce packs size, there are still people complaining about it. Basically, it seems that people would prefer low packs size over high quality and resolution pics. And you cannot scale small, low-q pics with good results.

However, I think that less tagging effort is worth a lot more than slightly more intuitive tags.
You should try to tag at least one 1500+ pics pack before saying so  ;)
At the end of the day you don't have enough strength to deal with unobvious tags. That being said, of course less tagging effort is important too, but not at the cost of intuitiveness.

BTW: Is there any feedback on new city map button system? Is it acceptable/better/worse than the old one (switching back is literally just clicking one button in version control software to go back to precious map.xml).
It looks very cool and it defenitely better than the old one. The only problem is that locations are invisible until you select them. Thus, you have to remember where to click, and what exists in the game at all.
Maybe it should look like in starcraft2 campaign, if you ever played it. Interactive elements there have very thin frame around them all the time.

I've got auto-equipment method to work for consumable items
Awesome  :)
I'll take a look at it and edit items properties a bit if necessary.

But I've already decided to do that, we had a discussion some time ago and someone really hated "Energy" as a name for a stat (Unless I am mistaken).
You see, this forum equipped with powerful search function  :D
Maybe it was somewhere else, but definitely not here. I don't care about it, personally.
Title: Re: General Discussion
Post by: Xela on August 04, 2014, 01:24:20 PM
Maybe add to the list: tiredness or exhaustion (both plain and simple in my opinion).

Yeah.. but neither inverts the fatigue  :D

Maybe it was somewhere else, but definitely not here. I don't care about it, personally.

Great, I'll go with Vitality than. It's easy to change to Vigor or Energy if it looks weird.

It looks very cool and it defenitely better than the old one. The only problem is that locations are invisible until you select them. Thus, you have to remember where to click, and what exists in the game at all.
Maybe it should look like in starcraft2 campaign, if you ever played it. Interactive elements there have very thin frame around them all the time.

Oki, we can try that or some form of animation later.

I got distracted so I still have the auto-buy method to finish. Refactoring will come after that.
Title: Re: General Discussion
Post by: Xela on August 04, 2014, 04:56:49 PM
Code: [Select]
INFO     PyTFall 0.47 Alpha Auto-Shopping + Auto-Equipping for Combat of all chars!
INFO     PyTFall 0.47 Alpha It took 2.01399993896 secs to execute!

INFO     PyTFall 0.47 Alpha Attempt to auto-buy 100 items for all girls!
INFO     PyTFall 0.47 Alpha It took 1.20599985123 secs to execute!

INFO     PyTFall 0.47 Alpha Attempt to auto-buy 3 items for all girls!
INFO     PyTFall 0.47 Alpha It took 0.159999847412 secs to execute!

Not too shabby... Refactoring will improve this but I am going to do the fatigue flip now (bored with working on auto sorting functions). (For all girls means for each girls (there are about 140 260 (Just checked) I think)).

@Dark
Do we still have Sexy Air trait, some items try to apply it?

=========================
Done with fatigue, next is actually adding auto-eq methods to the game... going to be a pain getting it right I expect...
Title: Re: General Discussion
Post by: Xela on August 04, 2014, 11:12:25 PM
SF Updated:

- Fliped "fatigue" stat into vitality
- Rescaled some code
- Added Auto-Buy Method
- Improved equip_for method and added a function with the same name (takes jobs as argument)
- Fixed gold/exp not being applied for the items (don't remember if that was blocked intentionaly or not)
- Added auto-buy routine to the next day (rest related)
- Added auto-equip routine to the next day (rest related)
- Improved Inventory method (Yes, again :D)
- Added Auto-Buy/Auto-Choice controls to girls control screen (Depends on dispositon and status)
- Added Auto-Equip when setting a girl to a task

Picz:

(http://s8.postimg.org/cnpnlf381/8_5_2014_5_49_24_AM.jpg) (http://postimg.org/image/cnpnlf381/) (http://s8.postimg.org/jpnl7m6tt/8_5_2014_5_53_35_AM.jpg) (http://postimg.org/image/jpnl7m6tt/) (http://s8.postimg.org/3q4xo2as1/8_5_2014_5_54_26_AM.jpg) (http://postimg.org/image/3q4xo2as1/)

- Highlighted idle Arena as possible city map buttons concept, right now idle buttons are simply invisible...
(Not sure if I prefer it that way, any opinions???)

(http://s30.postimg.org/9ytab1999/8_5_2014_6_41_44_AM.jpg) (http://postimg.org/image/9ytab1999/)

Last Update:
- On advice of PyTom, I've removed all .gif files from the game/animations
- Maybe it's my imagination, but performance seem to have improved even in screens that never used those animations.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2014, 04:35:33 AM
Do we still have Sexy Air trait, some items try to apply it?
Damn, forgot to add it during the review. Will do it tonight.

About AB/AE systems, don't forget that we have Always Hungry trait and food type items, if you know what I mean. Either you'll hardcode it, or I'll add it everywhere as a good trait.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2014, 06:33:38 AM
So, continuing our discussion about girlsmeets.
1) Job. Either job bar will be a new variable, or it will be calculated on spot doesn't matter much from the viewpoint of gui. IIt should depend on girl's current job, MC's fame and reputation, her own fame and reputation, friend/lover status.
Before making a proposition, also at least 50 disposition should be achived. Then depending on job bar value there will be a chance to hire a girl (like 500 job = 50%). Multiple propositions in case of failure will greatly reduce disposition and thus job bar itself.
Hired girls have job bar too, as I mentioned. When it becomes 0, they will quit on spot. You still can try to hire them again later, after it restores.

2) Friendship status. You gain it at 600 disposition, and it will be there until disposition drops below -100. It gives more freedom with girl's inventory, unlocking direct equipment instead of autoequpping only, also more dialogue options and more things in the future. There could be other statuses in the future, like best friends at 900 with more options.

3) Lover status. That might be a tricky one, because in AG/AA games you don't need high friendship to have high love. If we take AA2 system as a base:
- The moment when love points begin to increase depends on girl's traits and occupation. Strict morals dandere warrior needs very high disposition for a start, while pervert nymphomaniac prostitute don't care about it at all.
- Love and disposition are poorly connected. Love unlocks its own options, friendship unlocks its own. They can spend nights together, but lover with 0 disposition will not go with MC into some dangerous dungeon. Max love + max disposition is better than any other combination.
- You gain lover status after either MC or a girl propose to go out, and the other side will agree. The more love value, the better chances here. We could use others statuses, like sex friend from AA, if you feel like coding it.
- Lover status unlocks various intimate options with 100% of success. But as soon as love drops below some value (not sure about numbers here), you loose that status, as Cherry suggested.
- To rise love bar, you need to give good presents (not money!), spend time together (explorations), live in one house (I mean MC house with rooms for girls), try intimate options (with less than 100% chance). I'm sure we'll come up with more here.
- You cannot have every girl as a lover. In fact, unless we introduce misc items that rise love daily, it would be impossible.

Any thoughts so far?
Title: Re: General Discussion
Post by: CherryWood on August 05, 2014, 07:38:53 AM

Any thoughts so far?
Whoa, now it went from too simple to complicated in my option  :)   Ok, my 2c

1) I agree with using this "job bar" stat. But I'm personally imagining it as a simple one "persuade to work" button in girlmeets for a start, where most of this calculation you mentioned will take place to decide how much this stat will increase. Then we could do easy balancing like for example 10 job talks = common girl hired, unrelated to disposition much.
- because this variant is probably the only one that I'm able to work on myself, as it would be simply a label + text answers + modifiers to stats like current girlmeets.

Keeping this stat for hired girls sounds ok, it could be where current untraceable effect like unhappiness take place, reducing job bar instead of counting days behind the screens like now.


2)I can't comment the numbers as I didn't yet looked at the balancing (waiting until 1. is solved as it depends on it a lot) and I don't know how many interactions that represents.

3)Dunno. To be honest, I don't really think that the game at this point even need a complex lover status, as there is simply no content for that now or even concepts for future (same for friendship). All you mentioned sounds nice, but I would personally go with just high disposition proposal because of that...
So if you want to work on it, then it's up to you, I just know that I will not do more than adding some more girlmeets (or job offering if we agree on that) texts in current fashion, a bit balancing for that and maybe some simple dates in the near future. What to do with friends or lovers afterwards they become one is bit out of a scope of my current girlmeets thinking.

So my option in a short is adding a job bar, job talk, a friend and lover flags that won't really do anything now, revisit lines and balance numbers and call it a day.
Let's hear the other guys options now ;)
Title: Re: General Discussion
Post by: DarkTl on August 05, 2014, 09:54:47 AM
1) Persuade to work button is everything we add here. The difference is, you cannot spam it for 10 turns and expect good results. You should rise disposition, improve your establishment, increase MC fame meanwhile. And it probably will be even faster than 10 job talks for common, unemployed girls, because 50 disposition is all you need. Maybe less for beggars with 0 stats  :)
The bar just shows you how close are you to your goal. We discussed before that famous, strong characters should not be available in the very beginning. All that will be a part of job bar calculations, it's not too hard.

2) No strict numbers yet, just the idea. I figured we will advance faster discussing the concept step by step.
Considering that max disposition is 1000, 500-600 seems good for friendship.

3) I don't like the idea of bounding love to disposition if it means that high disposition will inevitably lead to lover status, while this is not true irl. I guess we don't need a new stat to prevent it though, but it's the simplest way.

Since we agreed to separate meeting and dating, we just separate our lines. It doesn't mean that we'll need a lot of new content. It just means no more sexual harassments for random girls on streets that never seen you before  :D All those "kiss N" options go there.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2014, 10:15:53 AM
- Highlighted idle Arena as possible city map buttons concept, right now idle buttons are simply invisible...
(Not sure if I prefer it that way, any opinions ??? )

(http://s30.postimg.org/9ytab1999/8_5_2014_6_41_44_AM.jpg) (http://postimg.org/image/9ytab1999/)
I like it. Not sure what else could be done. You mentioned animation, but I wonder how are you going to animate something here.

- Maybe it's my imagination, but performance seem to have improved even in screens that never used those animations.
But definitely better on screens that had those animations.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2014, 10:19:18 AM
I know it doesn't really show in drawing styles of manga or anime, but some characters are stated to be more beautiful then others in the series.
It could be probably simulated just by starting stats in json, but these have very little impact on the gameplay now.
Yeap. It's still very subjective trait, but not nearly as subjective as was Cute. And unlike stats, it cannot disappear at all, just like girls pictures cannot be changed at all.
Title: Re: General Discussion
Post by: CherryWood on August 05, 2014, 10:32:42 AM
@DarkTl
Ok,I understand. I don't really mind anything of this - even current girlmeets work somehow, so what can go wrong?  :)


You right with the spamming... that's the part I'm most worried about. If we move the intimacy options out of meeting, will there be enough things to do? Until now, on disposition based recruiting it was pretty much spamming options too, but it at least didn't look that obvious with so many options, even if most of them were much alike.
Only thing I feel is in somewhat ok shape for that is that asking about her traits...


If I let my imagination go wild, then I could see stuff like playing the underground boss there and getting the poor girl kick from her job, or threatening her friends, or otherwise show her that this is not an offer she could refuse... but I seriously doubt I can write something like that that wouldn't feel totally stupid...



but on the other hand, If you can just go and buy a new slave in two clicks, then recruiting a free girl after a few talks may not be something to be that worried about...
Title: Re: General Discussion
Post by: Xela on August 05, 2014, 11:43:56 AM
Girlsmeets:
1)
- I dislike the idea of any bars or variables being visible during girlsmeets, disposition should be obfuscated in the profile screen as well. We need to quantify relationships to have a working game, that doesn't mean that we got to shove those numbers into players throats.
- "Job" variable, I would like to propose a slightly different concept for that:

*True Disposition (tr) or TD derivative:
** Disposition in itself IS and SHOULD REMAIN as it is now: A combination of how well girls are treated in your service (partly, joy does almost the same thing, only short term) and how much time MC spends interacting with the girl.
- Will be a (potentially) very complicated function taking into account the actual disposition, classes, traits, stats (including reputation/fame), amount of days in service of the player (if any) and whatever else we can come up with.
- Disposition should decrease daily by 1 - 5 points by default (towards 0, not -1000 obviously) depending on how long girl had been in your service and friendship/lover status (those should increase it daily).
- We should only use disposition during Next Day calculation and tr/disposition during the day.
- Hired girls will already leave based on joy and normal disposition.

2) Friendship status:
- I am not sure about giving inventory access just because of friendship...
- Becoming "Friends" should come with some baggage, for example, unless girl is off on an exploration tour, disposition will diminish unless you've at least visited her interactions screen (I'd prefer interacting, but I am not sure how to automatically handle that atm) once every 5 days or so.
- Advantages: She's happier, easier to keep her disposition high, other stuff as we think of it.

3) Lover status: ** I kinda agree with CW, it may be too early to implement this atm.
- This one should be td related. Really awesome MC should be able to sweep some poor girls off her feet without too much fuss.
- Should be heavily reliant on traits, having more than one lover and traits that would not support that position should be very dangerous (breaking relationship, girls leaving, disposition thrown into below - 500 areas).
- I think lover status should enable only if girl/mc ask to be lovers, friends/colleagues can go out as well.
================================================================================================

General thoughts:
- Girlsmeets work like:
1) Asking for interaction.
2) Disposition based choice if Positive, Negative and neutral responses.
3) Those responses should be VERY general, traits based and simple so they can be used in as many labels as possible (AA2 approach).
3) Spamming... with the stuff I ccan do with Python/Ren'Py nowadays... I could prolly come up with a way to automatically flag amount of interaction on per-girl/per-label basis with clean and simple code, basically every time any single interaction is used, corresponding counter (defaulting to 1) would get -0.2. All disposition gains from that label would be calculated with disposition change * counter, providing diminishing results... Every one - three days, counter will count backwards until it reaches 1 again.
* Note, while it can be done with disposition, it would be smarter to create a new attribute so there is one less check during the NextDay disposition increases. We can name the stats something like intd (interactions disposition) and batch rename in girlsmeets/interactions files.
4) Interactions and dispositions should work off the same label, with some choices blocked where applicable.
5) I'll rework the system using better/more powerful/faster code when I get my hands on it. There will be no changes to labels themselves (Other than maybe names)
6) Dates/Sexual interaction should work like this:
- Screen fading to back
- Nice transition sound
- New background fading in
- Corresponding pictures/short texts.
================================================================================================

I am going to look into blocking inventory control for free girls tonight, maybe more (FG improvements) if that proves to be easy (I am not sure yet).
Title: Re: General Discussion
Post by: MrKlaus on August 05, 2014, 12:56:33 PM
Girlsmeets:
1)
- I dislike the idea of any bars or variables being visible during girlsmeets,

Throw in a psychic or a fortune teller NPC to the mix. For a small amount of money (100-200$) it would let the MC check his footing with the girls. Something like the Jinzo in AA. The difference would be, that on display would be only the avatars of girls that he already met (not all possible free girls in town) and he could check only ONE girl for that mentioned small sum. In the future, the clairvoyance could be expanded to show the relationships with the city guard(s), high status people and Crime Lords running the ghetto. Also could be a start of a quest something like: “I see a great danger approaching you”. Or just a place to meet a girl that is into things like fortune telling and occult.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2014, 01:59:48 PM
- Will be a (potentially) very complicated function taking into account the actual disposition, classes, traits, stats (including reputation/fame), amount of days in service of the player (if any) and whatever else we can come up with.
MC's stats are not the only thing that should be considered here. The bar represents the difference between MC's and girl's social status. When status is too different in a bad way, you have to work hard to hire a girl, and vice versa.

- I am not sure about giving inventory access just because of friendship...
What else could possibly enable it? Lovers only? Best friends (disposition 900+)? Or you would prefer to not unlock it at all, except slaves?

2) Disposition based choice if Positive, Negative and neutral responses.
Well, in AA2 they use a combination of rng, disposition, girl's mood and dialogue history (the game tracks results of ALL your dialogues with every single character).
Maybe we should try to use percent based system too, when there's a chance of successful interaction depending on several variables (of course we shouldn't show it). During spamming the chance drops greatly.
Title: Re: General Discussion
Post by: Xela on August 05, 2014, 02:28:09 PM
What else could possibly enable it? Lovers only? Best friends (disposition 900+)? Or you would prefer to not unlock it at all, except slaves?

Full access = Lovers only, yes.
The way I will be trying to code it tonight is:
- Full, unrestricted access == Slaves (Lovers in the future).
- You can always give items to a girl.
- You can take away only items you've given to her and NEVER consumables or misc that self-destruct (so only equipables + normal misc).
- You can have any girl use consumables unless eqchance is below 20 (really bad items, she'll tell you to go to hell then).
- After disposition reaches 950 (I think, number is not yet decided), you can disable free girls auto-equipment system and equip her yourself unless disposition falls down again. But you will still not be able to "steal" items that she bought on her own.
- Auto-buy can be disabled at higher disposition as well, but that's stupid.

Interactions (girlsmeets or not) will take care of forcing free girls to give up their money/items with often severe consequences. After we have enough of this kind of interactions and events, we can implement alignment mechanics (would be useless atm).

Well, in AA2 they use a combination of rng, disposition, girl's mood and dialogue history (the game tracks results of ALL your dialogues with every single character).
Maybe we should try to use percent based system too, when there's a chance of successful interaction depending on several variables (of course we shouldn't show it). During spamming the chance drops greatly.

That's over-complicating again. I don't know, it's hard to say if a system like that is affordable in an indie game (development time wise). We can implement my system now and build up on it towards percentage (complex calculations) in the future. I'd love all systems to work at base level and offer some decent game play, we can build upon them later.

* Note that we can save every interaction if that makes sense as well, that's a lot easier than you may think :)
Title: Re: General Discussion
Post by: CherryWood on August 05, 2014, 03:56:11 PM
@Xela
So we have totally different options it seems... that's a pity. I can just wish you luck then... I have no other ideas so would be only repeating myself otherwise.

==================edit=

You changed the girlmeets files I was working on... It seems that you just renamed "random.choice" to "choice" and "random.randint" to "randint", so I did the same in my file... but I'm sorry in advance if that was not all and I messed something.  :( 


With this I pushed about 100 added girlmeets lines. But I also removed the egocentric, unsociable and mature personalities, as the corresponding traits doesn't exist anymore and I need to figure out a new combination of traits they would fit on... (kinda clueless now). So the number of texts maybe actually decreased  :D
Anyway, I'm stopping adding new texts for a while, so the files are free for changes.


I think I look at the exploration now if there is something fun to do with it...
Title: Re: General Discussion
Post by: Xela on August 05, 2014, 04:49:36 PM
@Xela
So we have totally different options it seems... that's a pity. I can just wish you luck then... I have no other ideas so would be only repeating myself otherwise.

How do you figure that? If anyone wants to write 10000 lines for girlsmeets/interaction, it's perfect. But we need to come up with some base responses, I don't suggest throwing away everything that was done already.

*Also note that I do not force these things, especially in places where someone else done most of the job (tagging, girlsmeets, items, traits). I think that the counter approach is a very good option to mitigate spamming and interface should be redesigned. Otherwise, you'll have to clarify whats "totally" different is there :)

You changed the girlmeets files I was working on... It seems that you just renamed "random.choice" to "choice" and "random.randint" to "randint", so I did the same in my file... but I'm sorry in advance if that was not all and I messed something.  :( 

Yeap, I did that with all the files in the game for consistency.

With this I pushed about 100 added girlmeets lines. But I also removed the egocentric, unsociable and mature personalities, as the corresponding traits doesn't exist anymore and I need to figure out a new combination of traits they would fit on... (kinda clueless now). So the number of texts maybe actually decreased  :D
Anyway, I'm stopping adding new texts for a while, so the files are free for changes.

I''ll take a look. All files are free for changes, that's the whole point of version control :)
Title: Re: General Discussion
Post by: Xela on August 05, 2014, 10:22:16 PM
Some info:

After receiving PM from livingforever who tested loading from json vs reading info off filesnames performance, I've decided to try that in PyTFall:

I wrote a script into Ren'Py that used internal database to remap all tags into pairs of two characters and then renamed all images accordingly.
Then instead of loading from json, game analyzed the filename string and mapped that back into tags.

JSON:
Code: [Select]
INFO     PyTFall 0.47 Alpha Loading: JSON Tag Database
INFO     PyTFall 0.47 Alpha.tags loaded 24352 images from tags.json files
INFO     PyTFall 0.47 Alpha It took 2.25699987411 secs to execute!
INFO     PyTFall 0.47 Alpha Loading: Characters
INFO     PyTFall 0.47 Alpha It took 0.337000131607 secs to execute!



Filenames:
Code: [Select]
INFO     PyTFall 0.47 Alpha Loading: Characters + IMAGENAME Tags Database!
INFO     PyTFall 0.47 Alpha.tags loaded 24335 images from filenames
INFO     PyTFall 0.47 Alpha It took 1.56299996376 secs to execute!

Overall there is a 1.1 second improvement, which is significant. I guess this would be very harddrive dependent as well (JSON depends more on CPU). There is sufficient reason to use filenames instead of json files I guess but that would require yet a new tagger...

**It should be noted that JSON loading is not optimized. I've hardly revisited that code since Rudi wrote it and we seem to have a lot of tags that are not related the the game at all (some of which are removed through iteration over the whole database further slowing down the process). Basically, loading from filenames time is as good as it gets and JSON can by improved somewhat...

Any thoughts?

(This is what it looks like)
(http://s29.postimg.org/f4gvd418j/8_6_2014_5_11_43_AM.jpg) (http://postimg.org/image/f4gvd418j/)

Update:
Binary (cPickle (No optimization)):

Code: [Select]
INFO     PyTFall 0.47 Alpha Loading: Binary Tag Database
INFO     PyTFall 0.47 Alpha.tags loaded 24327 images from binary files
INFO     PyTFall 0.47 Alpha It took 0.880000114441 secs to execute!

This is another option...
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 03:02:35 AM
- Auto-buy can be disabled at higher disposition as well, but that's stupid.
Please no, that's completely illogical. You might freely enable or disable AE and AB systems for slaves (maybe even allow or disallow to have money at all, like in SM3), but forbid free girls to spend honestly earned money is stupid indeed.

I don't know, it's hard to say if a system like that is affordable in an indie game (development time wise). We can implement my system now and build up on it towards percentage (complex calculations) in the future.
Nah, this doesn't require any additional content. We add percents to existing system.
It might be too complicated to use many variables though. I think we could use joy and/or mood.

- Joy and mood are randomly set for every girl during meeting.
- We could add an option to look at girl to define it, with simple short texts like "she seems upset", "she seems happy", etc.
- Joy is that joy stat that we have already. We could add a couple of simple options to increase it (and get disposition points).
- Mood is a stat (maybe one-dimensional array) that describes what a girl currently wants. Every dialogue option has its own mood value. The more the value, the better the chance.
- We don't have to use both variables, I guess. Though we could try.

Note that we can save every interaction if that makes sense as well, that's a lot easier than you may think
AA2 uses it to determine the level of relationships in the long term. You cannot become friends after several very successful dialogues there if you had a lot of bad experience before. Good experience should be > than bad experience for a start.
If you can and want to code it, be my guest  :)

There is sufficient reason to use filenames instead of json files I guess but that would require yet a new tagger...
We have to deal with this problem sooner or later, there is no way to avoid it. Without our own tagger with purely json or xml based tags list we are screwed up. You might as well code it after AB/AE systems, because we will improve tags in the near future anyway.

I suppose binary is the best here in terms of loading time. It's almost impossible to modify tags without special software anyway (unlike items for example), so we might as well use it if you can code it.

You could try to optimize Rudi's code, but without source code it's a dead end in the long run. You could try to figure out mcmanus's source code (it already is xml based, has more useful functions and seems faster in general). I probably can do it too, but that no doubt will take more time, it's been awhile since I did something useful with coding at my previous job, like 6 years ago or so.
 
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 03:44:31 AM
Please no, that's completely illogical. You might freely enable or disable AE and AB systems for slaves (maybe even allow or disallow to have money at all, like in SM3), but forbid free girls to spend honestly earned money is stupid indeed.
Nah, this doesn't require any additional content. We add percents to existing system.
It might be too complicated to use many variables though. I think we could use joy and/or mood.

- Joy and mood are randomly set for every girl during meeting.
- We could add an option to look at girl to define it, with simple short texts like "she seems upset", "she seems happy", etc.
- Joy is that joy stat that we have already. We could add a couple of simple options to increase it (and get disposition points).
- Mood is a stat (maybe one-dimensional array) that describes what a girl currently wants. Every dialogue option has its own mood value. The more the value, the better the chance.
- We don't have to use both variables, I guess. Though we could try.
AA2 uses it to determine the level of relationships in the long term. You cannot become friends after several very successful dialogues there if you had a lot of bad experience before. Good experience should be > than bad experience for a start.
If you can and want to code it, be my guest  :)

Slaves will not auto-buy stuff, I wrote some functions with that in mind. If that doesn't workout, I'll change it back.

Girlsmeets are a difficult topic, I need to see the code, texts and think about what's reasonable there. Also CW didn't respond to my previous message yet.

We have to deal with this problem sooner or later, there is no way to avoid it. Without our own tagger with purely json or xml based tags list we are screwed up. You might as well code it after AB/AE systems, because we will improve tags in the near future anyway.

I suppose binary is the best here in terms of loading time. It's almost impossible to modify tags without special software anyway (unlike items for example), so we might as well use it if you can code it.

You could try to optimize Rudi's code, but without source code it's a dead end in the long run. You could try to figure out mcmanus's source code (it already is xml based, has more useful functions and seems faster in general). I probably can do it too, but that no doubt will take more time, it's been awhile since I did something useful with coding at my previous job, like 6 years ago or so.

If livingforever is willing to code a tagging software or you wanna mess with C#, there is no point for me to do it.

- I cannot optimize Rudi's tagger for the reason you've mentioned.
- It is very likely that it will take me longer to figure out C# code than to write a tagger in Ren'Py.
- If living decides not to write the software, I'll code one inside of PyTFall itself after I am done with AB/AE.
Title: Re: General Discussion
Post by: CherryWood on August 06, 2014, 03:59:55 AM
You talked about it few times before and now again, but I still don't understand it much. Why do we need a new tagger?
I mean, it's easy to remove/add tags to the both ones we have and how could clicking on boxes with tag names gets any better?
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 04:09:40 AM
If living decides not to write the software, I'll code one inside of PyTFall itself after I am done with AB/AE.
Maybe as a separate project, not inside the game? It should be as light as possible.

You talked about it few times before and now again, but I still don't understand it much. Why do we need a new tagger?
I mean, it's easy to remove/add tags to the ones we have and how could clicking on boxes with tag names gets any better?
Because now we also going to use either names or binaries instead of json/metadata, it's way faster. And there are issues with source code of both taggers.
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 04:49:42 AM
You talked about it few times before and now again, but I still don't understand it much. Why do we need a new tagger?

No idea... Rudi's original tagger is very moddable and does the job really well. The main disadvantage is loading speed of Pythons build in JSON library...

It's SLOW. I mean like sluggish... In order to load all the tags, player would have to wait at the start of the game for 2.5 seconds (Assuming ALL native packs are loaded, made my Dark or you).

It's difficult to say if it's a big deal or not. Please have reported playing the game for 30+ hours... Who'd give a shit about extra 1.5 seconds at the start, I have no idea... (Saves do not extend to that, PyTom (Ren'Py developer who's a much better coder than me, for some reason able to save ALL of our tags + all girls + all traits + all items + arena + fighters guild in 1.1 MB binary file while when I use the EXACTLY the same library (written in C), when saving JUST the image mapping, get a 2 MB file out of it)).

PS: It's more than possible that the 2MB  file actually loads faster then the 1MB savefile, I don't really understand where the difference in size comes from atm.

Basically, if we use filenames or binary, we'll have the damned game starting a lot faster than it does now! I've already put in request to include any C library for loading JSON into a default Ren'Py build. C, however,  means that sh!t needs to be complied, meaning a storm of cross platform issues + complicated bullsh!t that noone can really anticipate...

Using a C boosted lib for loading JSON is very likely to beat filenames (should still fall behind binary files a bit).

But essentially you are right, we don't require a new tagger... It's more of a luxury than a necessity AND we have two really good once already.

Maybe as a separate project, not inside the game? It should be as light as possible.

I think throwing it in the game would be smart only in case that I write it. It would be light (Completely separate loading labels from the main game). There would be no need to copy-paste/isolate hundreds lines of code. Everything would be in one place and we could read the ingame folder structure and files expecting certain things.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 05:03:26 AM
I'm sure we'll be able to use mcmanus tagger for everything we could ever want if we'll have a decent, permanent C+ coder. Too bad we don't.
Rudi's tagger is considerably less convenient because he disappeared before he implemented our last requests. Almost all those requests were implemented by mcmanus though.

It's SLOW. I mean like sluggish... In order to load all the tags, player would have to wait at the start of the game for 2.5 seconds (Assuming ALL native packs are loaded, made my Dark or you).
I hope you don't think that I'm done with packs. There will be more when I won't be needed in other systems. So waiting time will increase as well. I think I'll stop when the game will be unable to load all our packs without crashing  :)
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 05:14:44 AM
I hope you don't think that I'm done with packs. There will be more when I won't be needed in other systems. So waiting time will increase as well. I think I'll stop when the game will be unable to load all our packs without crashing  :)

LoL

There is a very good chance that if we use optimized cPickle, C boosted JSON or files-names we'll be able to load every existing Hentai character at reasonable speeds :) I don't believe even the slow pure python json module will crash btw, it will simply take a while to load :)

Just for the record: When I wrote that script renaming all files based on tags database, the whole renaming routine took more than 10 minutes, yet it never threw as much as warning, not mentioning any sort of errors... So if coded properly, this sh!t is beyond stable and you should watch what you say  8) 8) 8)
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 05:27:44 AM
Well, I recall you did some tests in the begining, and at some point the engine just crashed on spot when you emulated too many girls.

I guess we discussed the meeting system enough to have a concept when you'll start to remake it.
Now I'll think about actual options in dialogues that won't require more lines than we already have.
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 05:58:24 AM
Well, I recall you did some tests in the begining, and at some point the engine just crashed on spot when you emulated too many girls.

I guess we discussed the meeting system enough to have a concept when you'll start to remake it.
Now I'll think about actual options in dialogues that won't require more lines than we already have.


Quote
Ok, so what else is new...

1) I managed to solve a problem that came with backbone code from Alkion that bugged the hell out of me. Images kept locking in, meaning that only a single image (of each type) could be used for all interactions, profile pictures and so on. That issue is now fixed and it's a new random image from a respective category each time it is called Smile

2) After a bit of testing I figured this:

For 2 000 000 interactions (around 400 000 girls in game), game crashes on next day.

For 200 000 interactions (around 40 000 girls in game), next day calculations take around 7 - 9 seconds. Saving takes 20 - 25 seconds.

For 20 000 interactions (around 4 000 girls in game), next day calculations take around 1 - 2 seconds. Saving takes 1 - 2 seconds as well.

For 2 000 interactions (a more realistic scenario of 400 girls in game), next day calculations and saving are instantaneous.

So in short, even assuming that next day code will get exponentially more complicated from here on out, neither the programming language nor the framework are likely to crap out on us.

== I am pretty happy right now cause that was my main concern!

cheers sunny cheers

Yeap, that was pure crash, but if you can come up with 400 000 packs, I'll shut the fuck up :D

Eliont (Alkion developer (I knew next to nothing about Python/Programming in general back then)) "expressed concerns" about Ren'Py being able to handle more than 30 - 40 girls, limiting Alions concept to about that amount. I did those test to prove what I read about Python at that time and that his concerns could not possibly be  true.

While we're adding some ridiculously complicated concepts and sorting to the game (bypassing anything that Alkion has by a considerable margin) that would be almost impossible to code in language like C, C++, C# or even Java at any reasonable amount of time, I believe that we're still well inside of a "green area" and I am figuring out how to move more and more code to Python modules that are executed in pure C with ever day. One of the most important concepts in Python coding is: Refactor relentlessly (try to improve code all the time) and I am trying my best to keep in sync with that narrative.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 06:45:06 AM
Xela, did you replaced fatigue everywhere? I don't have to do it in items and traits?
Title: Re: General Discussion
Post by: CherryWood on August 06, 2014, 06:48:05 AM

On my poor laptop, the game takes over 50 seconds to start and show the main menu.
It takes 8 second for my desktop to do the same.
 :)
=================


I looked at what I can do for the exploration but... it's no fun man, no fun at all!
I mean, to create content for it, it's too random and there are too few options to set now...


My wish list:
- places within explored area. Now you party just randomly gets some mobs to fight and loot or didn't find anything - It's easy but bit boring in my option, I would like to be able to create a settable special places that the team can find. With conditions on how to get there (like % chance, only on 3rd day, only after winning a fight in previous place, flags (for NPC quests and one time only encounters), risk value, etc.), it's own list of mobs and rewards and most importantly a text that will appear on that day report like "party found a forest ruins","was surprised by bandit attack","still climbing towards the top of the mountain"....
- settable items and cash reward lists, like for survival, not just money sum
- customizable mobs! We don't using pictures there, so I don't see a point in using arena monsters for automated exploration. That's unnecessary limitation, it should be allowed to create monsters with any names there. ("Cherryzard", "Woodanator"...)
- time to get there. It's strange to start bashing mobs just outside the city gates on day one - it's ok for forest, but if we added more remote places, it should takes a few days to go there and back. (maintaining advanced outposts or opening magic portals may be an options for the future)
- maybe stat changes? some places may be harden on fatigue to travel through
- collectible item type that you can't use and only sell or bring to NPCs for a quest? (EDIT: I just read your post about crafting - I thing these and materials may not really be "items" codewise and they should appear on some separate lists to not mess the inventory screens if they cannot be directly used anyway)
...




btw. I managed to get my girls killed in almost every run into the current cursed forest. There is no warning that your team is too weak for this exploration, and then, after 3 days, they're just came back dead. Maybe some common sense for the girls and refusal to fight if odds are this bad like arena girls do would be nice there?  It's hard to tell what the "risk" value means from first glance.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 08:06:57 AM
- customizable mobs! We don't using pictures there, so I don't see a point in using arena monsters for automated exploration. That's unnecessary limitation, it should be allowed to create monsters with any names there. ("Cherryzard", "Woodanator"...)
Good one  :D
We don't have to use arena jsons indeed, including monsters strength values, since we have difficulty slider there. I wonder if it possible to find a huge list of monsters names somewhere, like we did for teams names...

collectible item type that you can't use and only sell or bring to NPCs for a quest?
Yup, I proposed it too, but Xela didn't want to complicate things.
now there are two of us 8)
Title: Re: General Discussion
Post by: CherryWood on August 06, 2014, 08:52:29 AM
We don't have to use arena jsons indeed, including monsters strength values, since we have difficulty slider there. I wonder if it possible to find a huge list of monsters names somewhere, like we did for teams names...
Hey, that's right. Because the player sees only a monster name anyway, maybe it could be totally dumbified to just name + individual modifier, and all mobs can be just some base class stat*difficulty modifier*individual modifier. What eyes do not see...
 
About the names list - I prefer less randomization there, so it makes at least some sense to run into that monster at each location...




====
Aaa crap! PV for kancolle anime is out and I need to rework the Shoukaku attack animation to show arrows changing into planes... drawing graphics and mixing sounds is fine, but I sure hate all this confusing anchor geometry positioning stuff  :(
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 10:18:53 AM
Xela, did you replaced fatigue everywhere? I don't have to do it in items and traits?

Yeap, I've pushed that already. When you'll be checking the items next time, take a look at it because I've flipped it in couple of items because it was weird (Some items that were described to make you stronger, increased out original fatigue while raising other stats correctly). There is a always a chance that I got something wrong.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 11:31:01 AM
^Pushed QF. Those capes are supposed to be heavy and relatively cheap.
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 12:13:17 PM
I missed all new posts on this page... ok so:

On my poor laptop, the game takes over 50 seconds to start and show the main menu.
It takes 8 second for my desktop to do the same.
 :)
=================

Ghm... that seems too long, guessing these are harddrive issues more than CPU. I've removed the old code variation for crazy packs in init, those were slowing sh!t down. They will not waste any resources anymore!

it's no fun man, no fun at all!

Thanks... that only took me about 10 days to make ;)


My wish list:
- places within explored area. Now you party just randomly gets some mobs to fight and loot or didn't find anything - It's easy but bit boring in my option, I would like to be able to create a settable special places that the team can find. With conditions on how to get there (like % chance, only on 3rd day, only after winning a fight in previous place, flags (for NPC quests and one time only encounters), risk value, etc.), it's own list of mobs and rewards and most importantly a text that will appear on that day report like "party found a forest ruins","was surprised by bandit attack","still climbing towards the top of the mountain"....
- settable items and cash reward lists, like for survival, not just money sum
- customizable mobs! We don't using pictures there, so I don't see a point in using arena monsters for automated exploration. That's unnecessary limitation, it should be allowed to create monsters with any names there. ("Cherryzard", "Woodanator"...)
- time to get there. It's strange to start bashing mobs just outside the city gates on day one - it's ok for forest, but if we added more remote places, it should takes a few days to go there and back. (maintaining advanced outposts or opening magic portals may be an options for the future)
- maybe stat changes? some places may be harden on fatigue to travel through
- collectible item type that you can't use and only sell or bring to NPCs for a quest? (EDIT: I just read your post about crafting - I thing these and materials may not really be "items" codewise and they should appear on some separate lists to not mess the inventory screens if they cannot be directly used anyway)

- places within explored area.
That's aready in there mate... take a better look at JSON. There is a GENERAL area, within that GENERAL area you can create and unlock any amount of local areas. What's more you can also unlock areas in different general areas so for example from forest lvl 8 you could unlock some new general area called batcaves with 5 levels of it's own BUT only from forest level 8 to make it more fun. This stuff can be expanded... we should add evaluation conditions!, yeah definitely... I'll add that when I get a chance.

- settable items and cash reward lists, like for survival, not just money sum
Ok, I'll add that as well, although it may be a good concept to be able to add "Local location name" to items locations list as well.
Cash will remain as it is and be governed by complex logic.

- customizable mobs! We don't using pictures there, so I don't see a point in using arena monsters for automated exploration. That's unnecessary limitation, it should be allowed to create monsters with any names there. ("Cherryzard", "Woodanator"...)
Those are not "arena monsters", those are our pytfall mobs and we're going to use them (feel free to add more monsters there!). I want to use the same Areas/Logic (with some expansion obviously) for actual exploration lead by MC if we ever get so far so I need those monsters to have sprites and be loadable into BE. So no, you're not getting this one ;)

- time to get there. It's strange to start bashing mobs just outside the city gates on day one - it's ok for forest, but if we added more remote places, it should takes a few days to go there and back. (maintaining advanced outposts or opening magic portals may be an options for the future)
You've missed the concept discussion, those are unstable magical areas where sh!t just keeps pouring in from different dimensions. Those areas change within themselves a bit but there are all near the city. In fact, I am meaning to add mechanics to obscure exploration progress as time passes by (loosing access to location you haven't visited in a while) and maybe twisting rewards (no ideas on how to do the latter yet).
But feel free to add a new attribute like "travel_time" = 10, I'll make it work.

- maybe stat changes? some places may be harden on fatigue to travel through
We do no longer have that stat. But this is a good idea, add a "hazard": [["health", 10], ["mp", 10], ["vitality": 50]].

- collectible item type that you can't use and only sell or bring to NPCs for a quest? (EDIT: I just read your post about crafting - I thing these and materials may not really be "items" codewise and they should appear on some separate lists to not mess the inventory screens if they cannot be directly used anyway)
Blah! That's called loot, I don't like this complication! I'll make sure that future quest items, gifts and ingredients are filtered out from "all" in the inventory.


btw. I managed to get my girls killed in almost every run into the current cursed forest. There is no warning that your team is too weak for this exploration, and then, after 3 days, they're just came back dead. Maybe some common sense for the girls and refusal to fight if odds are this bad like arena girls do would be nice there?  It's hard to tell what the "risk" value means from first glance.

Arena is a controlled environment, when exploring unstable magical areas, you shouldn't expect to know what to expect, that's what makes the game FUN. SO NO, NO WAY IN HELL ARE WE ADDING ANYTHING LIKE THAT :) If you don't have the stomach for it, go manage brothels/fight in Arena!

Risk will be explained... it's basically how much risk should the girls take when exploring. Almost everything depends on that.

now there are two of us 8)

That simply tells me that we need more reasonable people on the dev team  ::) No textbased monsters please! And loot... if you guys really want that sh!t, I'll make it work but you make the useless loot items.

Hey, that's right. Because the player sees only a monster name anyway, maybe it could be totally dumbified to just name + individual modifier, and all mobs can be just some base class stat*difficulty modifier*individual modifier. What eyes do not see...

We have enough mobs in the game to make it work without adding text based crap. Please cut this idea from the concept... I want bestiaries as well, preferably with descriptions at some point.

About the names list - I prefer less randomization there, so it makes at least some sense to run into that monster at each location...

I didn't understand that.

====
Aaa crap! PV for kancolle anime is out and I need to rework the Shoukaku attack animation to show arrows changing into planes... drawing graphics and mixing sounds is fine, but I sure hate all this confusing anchor geometry positioning stuff  :(

LoL

That's not geometry, check out the code I wrote when figuring out some issues:

Code: [Select]
init python:
    config.screen_width=1280
    config.screen_height=800
    import math
    import pygame
    MOUSEBUTTONDOWN=pygame.MOUSEBUTTONDOWN
   
    class Ship(object):
        def __init__(self, name, sprite, speed, head, size=(100, 49), start_pos=(640, 400)):
            """
            name: Name of the ship.
            sprite: RenPy Displayble
            speed: Speed
            head: Heading (in degrees)
            size: Size of the displayalbe
            start_pos: Starting Position
            """
            self.sprite = sprite
            self.offset = math.hypot(size[0], size[1])/2
            self.name = name
            self.speed = speed
            self.sprite = sprite
            self.head = head
            self.show = manager.create(At(sprite, rotate_by(self.head)))
            self.show.x = start_pos[0] - self.offset
            self.show.y = start_pos[1] - self.offset
            self.target_coords = self.show.x, self.show.y
            self.moving = 0
           
        @property
        def x(self):
            return self.show.x
        @x.setter
        def x(self, value):
            self.show.x = value
           
        @property
        def y(self):
            return self.show.y
        @y.setter
        def y(self, value):
            self.show.y = value
           
    def ships_update(st):
        """
        Updates ships data (just coords for now) on the screen.
        """
        for ship in ships:
            store.ship = ship
           
            # I don't know the pro trick to get this done :(
            # Shitty codebit follows (but it works):
            x = round(ship.x)
            y = round(ship.y)
            x = list(x+i for i in xrange(-7, 8))
            y = list(y+i for i in xrange(-7, 8))
            if ship.moving or (not (round(ship.target_coords[0]) in x and round(ship.target_coords[1]) in y)):
                if ship.moving:
                    ship.moving += 1
                    if ship.moving == 3:
                        ship.moving = 0
                       
                sprite = ship.sprite
                x = ship.x
                y = ship.y
               
                deltax = ship.speed*math.sin(math.radians(ship.head))
                deltay = ship.speed*math.cos(math.radians(ship.head))
   
                ship.show.destroy()
                ship.show = manager.create(At(sprite, rotate_by(ship.head)))
                ship.x = x + deltax
                ship.y = y - deltay
                renpy.restart_interaction()
               
            if ship.x < -ship.offset:
                ship.x = config.screen_width - ship.offset
            if ship.y < -ship.offset:
                ship.y = config.screen_height - ship.offset
            if ship.x > config.screen_width - ship.offset:
                ship.x = -ship.offset
            if ship.y > config.screen_height - ship.offset:
                ship.y = -ship.offset

        return 0.05
       
    def ships_event(ev, x, y, st):
        if ev.type == MOUSEBUTTONDOWN:
            if ev.button == 1:
                if hasattr(store, "ship") and store.ship is not None:
                    ship = store.ship
                   
                    renpy.music.play("picar.wav", channel="sound")
                   
                    angle = math.atan2((y-ship.offset) - ship.show.y, (x-ship.offset) - ship.show.x)
                    angle = angle * (180/math.pi)
                    ship.head = angle + 90
                   
                    ship.target_coords = (x-ship.offset, y-ship.offset)
                    ship.moving = 1
                    renpy.restart_interaction()
                   

define e = Character('Eileen', color="#c8ffc8")

init -10:
    transform rotate_by(degrees):
        rotate degrees
        rotate_pad True
        subpixel True
       
    transform centered_rotate(degrees, x, y):
        # Only works in show and screen language!
        rotate degrees
        xcenter x
        ycenter y
        rotate_pad True
        transform_anchor True
        subpixel True
       
screen ships:
    $ x, y = renpy.get_mouse_pos()
    text ("Angle: %d, x: %d/%d, y: %d/%d" % (ship.head-90, ship.x + ship.offset, x,  ship.y + ship.offset, y)) align (0.5, 0.05)
    text ("(100, 100)") pos(100, 100) anchor(0.5, 0.5)
    text ("(1000, 500)") pos(1000, 500) anchor(0.5, 0.5)
    text ("(Center)") pos(640, 400) anchor(0.5, 0.5)
    text ("(700, 200)") pos(700, 200) anchor(0.5, 0.5)
    text ("(100, 700)") pos(100, 700) anchor(0.5, 0.5)
   
label start:
    python:
        manager = SpriteManager(update=ships_update, event=ships_event)
        ships = []
        ships.append(Ship("Enterprice", "ship.png", 10, 45))
        ship = ships[0]
        renpy.show("_", what=manager, zorder=1)
        renpy.show_screen("ships")
       
    while True:
        $ result = ui.interact()
       
    e "Anchor and positioning resets on center."

I don't claim to understand the actual math and most of those formulas I found on the net (except for the simple offset hypotenuse, that one is mine) but this has a right to be called confusing  ::)
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 12:39:34 PM
That simply tells me that we need more reasonable people on the dev team  (http://www.pinkpetal.org/Smileys/DarkB/rolleyes.gif)  No textbased monsters please! And loot... if you guys really want that sh!t, I'll make it work but you make the useless loot items.
That's right, your dev team sux! oh wait  :D

If you really want crafting, you need loot from mobs anyway. You can't make items from gold coins. Unless by making you mean buying.

Btw, when a girl buys an item, does that item actually disappear from the shop, and girls gold is transferred to the shop?
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 01:08:00 PM
Btw, when a girl buys an item, does that item actually disappear from the shop, and girls gold is transferred to the shop?

Nope, but she cannot buy an item that never appears in shops. Getting girls to shop from shops inventories is very easy (not more than 3 - 4 lines of code) but I have 260 girls at the moment... they'll clean our shops out during midgame and I saw little reason to burden the next day with extra calculations for little benefit.
Title: Re: General Discussion
Post by: CherryWood on August 06, 2014, 01:52:33 PM
- places within explored area.
That's aready in there mate... take a better look at JSON. There is a GENERAL area, within that GENERAL area you can create and unlock any amount of local areas. What's more you can also unlock areas in different general areas so for example from forest lvl 8 you could unlock some new general area called batcaves with 5 levels of it's own BUT only from forest level 8 to make it more fun. This stuff can be expanded... we should add evaluation conditions!, yeah definitely... I'll add that when I get a chance.
I understand this, general and sub-areas are fine. What I was proposing is a level below, maybe better explained as "special encounters"? Something that happen to the exploration party, but it's not unlocked and you can not return to it at will. But I didn't really mean something special to find at all times, I was imagining it more like commenting the route the party is taking.
Is that really no good? I thought it would be awesome thing to do... I can try to figure out the code myself to not bother you, but only if you will not totally deny the idea.
An if.. how do you wanted to add events then? You mentioned them before...


Quote
[size=0px]Those are not "arena monsters", those are our pytfall mobs and we're going to use them (feel free to add more monsters there!). I want to use the same Areas/Logic (with some expansion obviously) for actual exploration lead by MC if we ever get so far so I need those monsters to have sprites and be loadable into BE. [/size][size=0px]So no, you're not getting this one[/size]
So we will have to look for sprites and figuring stats and everything just for the future possibility that MC will be allowed to go there? ...OK I can understand this, but I can't say that I'm pleased to hear that.
There was little point in adding more mobs for arena, as without combat skills they would be all alike for gameplay. But for exploration, I though it could be nice to have more just for the atmosphere of each location, even if its just names.
Quote
[size=0px]SO NO, NO WAY IN HELL ARE WE ADDING ANYTHING LIKE THAT[/size][size=0px] If you don't have the stomach for it, go manage brothels/fight in Arena![/size]
Hey, you are making me want to not working on anything exploration related with that... I'm not a someone who will allow a girls to die. But I was only worried about having to load back 15 days or so, that would be unbearable, but now I see that the exploration always ends when a girl die, so its only 1 day to load back and that ok... (unless there will be some unavoidable fights, that would be bad then)
Quote
[size=0px]Thanks... that only took me about 10 days to make [/size]
[size=0px]
I like it so far... that why I care  ;) [/size]
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 02:43:52 PM
I understand this, general and sub-areas are fine. What I was proposing is a level below, maybe better explained as "special encounters"? Something that happen to the exploration party, but it's not unlocked and you can not return to it at will. But I didn't really mean something special to find at all times, I was imagining it more like commenting the route the party is taking.
Is that really no good? I thought it would be awesome thing to do... I can try to figure out the code myself to not bother you, but only if you will not totally deny the idea.
An if.. how do you wanted to add events then? You mentioned them before...

I am fine with it, I just cannot envision the concept. Events I meant to work as they do during the jobs but we can work out a better system.

Hey, you are making me want to not working on anything exploration related with that... I'm not a someone who will allow a girls to die.

Risk < 20 - 25% and short term raids will prevent girls from dieing but exploration will go a hell load slower and with lesser rewards, it's the best I can do here without breaking the concept (it should be already programmed that way).

I like it so far... that why I care  ;)

Lets make it better then :)

I am still working on auto-equipping, trying to anticipate as many issues with it as possible.

========================
Damn, after I got rid of .gif files, screens are closing to fast for the hs function to react... I'll have to rescale code again.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 03:05:59 PM
I'm not a someone who will allow a girls to die.
Cough, resurrection, cough...
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 03:13:01 PM
Cough, resurrection, cough...

Cough, )...texts, religion, concepts, NPCs...(, cough...

Seriously... resurrecting a girls is just three lines of code, it's not programming issue like complex sorting, trying to push calculations to python modules written in C or intimately knowing the code.

Finding a pic, writing base concept for resurrection (religious I believe is that we agreed on) and figuring out the price is all it takes. I/CW can cook up a new location in 10 - 20 mins.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2014, 03:39:25 PM
I wonder about that. Maybe more scientific approach as a first step to clonning system...
Like you pay to clone a spare body bound to girl's soul, so if she dies, he awakes in that new body. Losing inventory and all levels and stats changes that occurred after creating that body, except disposition and fame maybe.
Title: Re: General Discussion
Post by: Xipomus on August 06, 2014, 03:42:13 PM
You probably need a mad scientist NPC there to give a chose.
Also you could offer an option to update the clones to current level for a price.

The question is more how much do you want to ask for the soul clone (empty clone linked to the soul) and the updating set
Title: Re: General Discussion
Post by: CherryWood on August 06, 2014, 04:00:59 PM
Cough, resurrection, cough...
Thanks, I totally forget about it.


Soul bond clones? Something like EVE online? That immortality concept there was just great, but not sure if that's a good option for us... and I can't say that I'm a fan of the clones.




I'm fine even with simple "magic" resurrection, but it should be expensive i think. A lot. (needing rare ingredients?)
And probably lower stats a little, or give some bad effect or traits for a while.
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 04:09:42 PM
I wonder about that. Maybe more scientific approach as a first step to clonning system...
Like you pay to clone a spare body bound to girl's soul, so if she dies, he awakes in that new body. Losing inventory and all levels and stats changes that occurred after creating that body, except disposition and fame maybe.

*That will create a lot of new data so no... Girls should be revived either exactly as they are or with some penalties based of the stats at time of death.

You probably need a mad scientist NPC there to give a chose.
Also you could offer an option to update the clones to current level for a price.

The question is more how much do you want to ask for the soul clone (empty clone linked to the soul) and the updating set

I'd prefer religious/magical approach... I don't like the "cloning" feel when talking resurrection, it adds sort of "unclean" attribute to it.

I'm fine even with simple "magic" resurrection, but it should be expensive i think. A lot. (needing rare ingredients?)
And probably lower stats a little, or give some bad effect or traits for a while.

now there are two of us 8)
:D ::) ::) ::) :D
Title: Re: General Discussion
Post by: Xipomus on August 06, 2014, 04:29:12 PM
I'd prefer religious/magical approach... I don't like the "cloning" feel when talking resurrection, it adds sort of "unclean" attribute to it.

So needed is a NPC priest/priestes at the temple with the options.
Maybe an unlock for the resurrection option from a certain level?
Title: Re: General Discussion
Post by: CherryWood on August 06, 2014, 04:32:37 PM
[size=78%]I am fine with it, I just cannot envision the concept. Events I meant to work as they do during the jobs but we can work out a better system.
[/size]
[size=78%]
I'll look at the code in more detail then. I try to came up with a more concrete one then.


Do you still want more locations in current fashion? Without those events it's just one picture and mobs, so I can probably make as many as you want (if you don't have a specific requests for them, that's it).
But I think I kinda missed that talk about dimensional rifts and the cursed forest in general. I was thinking more about a normal location, like Northern Forest->Highlands->Mountain Pass->Mountain Top->Hidden Plateau route, but I can try for some messed up places beyond portals or something if that a better fit.[/size]
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 04:45:38 PM
I'll look at the code in more detail then. I try to came up with a more concrete one then.

Note that I might work on that code as well... We need to figure out how to branch with hg or something if you have trouble diffing the code.
Title: Re: General Discussion
Post by: CherryWood on August 06, 2014, 04:57:41 PM
Note that I might work on that code as well... We need to figure out how to branch with hg or something if you have trouble diffing the code.
no no, I will not write anything to that code, at least not for a while until I understand it better. If I ever do  :D


I was just asking if you want more jsons, as you asked about something like that before. But it doesn't look like it's needed now I suppose, so I can find something else to do.


================
btw. If we decide to go with church for resurrection or for anything else, I'm totally reserving a place for Zange (http://37.media.tumblr.com/tumblr_lptv8wLdQH1qk4iauo1_500.jpg) there as a self-proclaimed church assistant to make a fun of a MC if he goes there  :P
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 05:10:55 PM
no no, I will not write anything to that code, at least not for a while until I understand it better. If I ever do  :D


I was just asking if you want more jsons, as you asked about something like that before. But it doesn't look like it's needed now I suppose, so I can find something else to do.


================
btw. If we decide to go with church for resurrection or for anything else, I'm totally reserving a church assistant place for Zange (http://37.media.tumblr.com/tumblr_lptv8wLdQH1qk4iauo1_500.jpg) to make a fun of a MC if he goes there  :P

Sure, we could use more areas for testing, also just add the stuff you talked about (I proposed some syntax but you can come up with your own). I'll add functionality later.
Title: Re: General Discussion
Post by: MrKlaus on August 06, 2014, 05:19:01 PM
Cough, )...texts, religion, concepts, NPCs...(, cough...

 Text: Use you slave driver skills and get me to finally finish the elements and appoint to this.


Religion: Xelasism (why the hell not), and it apostle/prophet will be called Dark Cherry (why the hell not part 2)


NPCs (and other shit): in DB in my folder is another one called Alignment Temple, there is the temple BG and that brat img for the dialog about elements and alignments. Temple info, short version: previous Demon Lord worshiping shrine, currently a scholar place full of scrolls where you can get some info (maybe something more) or we can make it a temple complex – for different gods or alignments. Also form the dialog will occur that the scholars are on a pilgrimage for next 3 months, Ali is here alone and that she have a sister (house call, gone for couple of days or something). 


Concepts:
Resurrection will be part of the light alignment (resurrection in a good way) and the dark (some necro shit or just skip the dark resurrections).
Temple location: above the arena in the snowy foothills.
Different gods/alignments/elements: get a menu at the front door what u want to visit.
Use some Darks indoor backgrounds as the rooms to talk with the NPC about resurrections ETC.
Resurrection can be done in the Light Alignment Room/Temple/Shrine by Alis sister (I would propose some sexy chick that the MC could fuck in some way) or someone else (old monk, a devil, Jesus Christ from South Park).
 
Link to the temple BG from the web (there are more resolutions options there to download):
Temple (http://www.artwallpaperhi.com/Architecture/temple/snow_fantasy_art_artwork_temple_chenbo_1400x875_wallpaper_21566)
 
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 05:45:13 PM
...

After I am done with items, I'll put the intro/alignment and maybe box events into the game. Will be a welcome break from all this insane sorting and conditioning.

@Dark (If they ever translate dis sh!t):

Code: [Select]
                        source.say(choice(["Like hell am I giving away!", "Go get your own!", "Go find your own %s!" % item.id, "Would you like fries with that?",
                                                       "Perhaps you would like me to give you the key to my flat where I keep my money as well?"]))

Others prolly won't get the last line  :D
Title: Re: General Discussion
Post by: Xela on August 06, 2014, 10:37:53 PM
Massive SF Update:

- Some minor refactoring
- Added txt attribute to girls class so info could be logged during the day
- Added restore method to the same class, will try to use items in order to restore:
* Health
* Joy
* Vilality
* MP
- Girls will now try restore their stats before/after next day calculations
- Free girls classes will now attempt to track items given to them so they could be transfered back to the player
- Added autobuy/equip control resets for girls to Next Day
- Added checks to inventory tansfer
- Original random characters instances will be in rchar container of store from now on
- Completely changed the crazy tags loading routine, tags will be read directly from filenames now and no resources will be wasted
- Added fade in effect to shops (testing)
- Added transfer items function with checks + logic
- Added decent code to load items from filenames (commented out atm)
- Added string import
- Added logging game's init timing
- Added new logic to girls equipment screen (conditions, blocks, auto-equipping and etc.)
- Increased auto-equip blocks + inverntory access of free girls to disposition 850
- Next day calculations will now be timed
- Commented out code to mass rename all images mapping tags to names is now there (commented out)
- Added tags_dict mapping dictionary
- Fixed some errors.
- Updated map

This took a lot out of me...

Edit: *Something is randomply crashing the engine during next day, I'll figure out what tomorrow.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2014, 04:33:50 AM
Perhaps you would like me to give you the key to my flat where I keep my money as well?
Lol  :D

Resurrection will be part of the light alignment (resurrection in a good way) and the dark (some necro shit or just skip the dark resurrections).
Rising zombie girls, huh? Never thought about it before :)
Two types of resurrection... Maybe light could actually resurrect, and darkness could make magic clones for our clonning system, since you guys hate science.

I don't want resurrection to be too simple, in both mechanics and explanation. It should not be a random church background with mute priest npc and two buttons "Resurrect" and "Resurrect All" for 100 gold/level. It kills all seriousness of the situation.
Like, feel free to die as long as you have money, nothing major will be lost.
Btw, since you can resurrect androids and even undead, we might as well explain it as a time magic, or as a god of time religion, rather than generic resurrection out of nowhere.
Title: Re: General Discussion
Post by: Naurlas on August 07, 2014, 08:51:45 AM
I am lurking here since some time.
Keep up good job.


About ressurrection


Make it Cash + Lootable Item ( from exploration only)
This way you will have people doing exploration to get ress item. Since girls will die doing job.... ppl will need more.
Also it won't be trivial in late game where money is hardly problem.
Title: Re: General Discussion
Post by: Xela on August 07, 2014, 09:07:26 AM
Make it Cash + Lootable Item ( from exploration only)
This way you will have people doing exploration to get ress item. Since girls will die doing job.... ppl will need more.
Also it won't be trivial in late game where money is hardly problem.

That would "force" people to bother with exploration module even if they don't want to...
===========================================================================

I am going to add timers to the next day on per job/event basis to figure out where the crash occurs, that will require rewriting the timing class.
Title: Re: General Discussion
Post by: Naurlas on August 07, 2014, 09:15:15 AM
If their girls are dying it means they are doing exploration anyway ?:D
Becouse u kind must want to have your girl to die, since there is no other way to reliably "kill" your girl ?
Title: Re: General Discussion
Post by: Xela on August 07, 2014, 09:19:45 AM
Becouse u kind must want to have your girl to die, since there is no other way to reliably "kill" your girl ?

There are some ways, it's just not very simple + there is likely to be more in the future.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2014, 10:45:36 AM
Alright, so god of time Xelasism and its apostle Dark Cherry.  ::)  At least you can explain everything with the help of time manipulations.

I have no idea how to pay for that. Money sound too trivial. Usually they pay with human sacrifices (Valet Pletey...) or, since it's a god of time, pay with time. Somehow.
----------------------------------------------------------------------------------------------------------------------------------------

Btw, we could also change names for clones if you dislike it.
Summoning twins from other worlds, like in otherworld. Or reflections; we "reflect" a girl with the help of, well, quantum mirror or something, and due to imperfect process reflection she not the same as the original.
Title: Re: General Discussion
Post by: Xela on August 07, 2014, 11:40:33 AM
Tracked down the Next Day thing, it's been there forever but conditions were too unlikely for it to run.

Stripjob is a major bottleneck for some reason... but all jobs could use some improvements.

Code: [Select]
--- launch game ---
INFO     PyTFall 0.47 Alpha game directory: D:\Coding\Dropbox\Dev\RenPy\pytfall\game
INFO     PyTFall 0.47 Alpha Starting timer: Ren'Py User Init!
INFO     PyTFall 0.47 Alpha Ren'Py User Init! took 0.111999988556 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Random Name Files
INFO     PyTFall 0.47 Alpha Loading: Random Name Files took 0.00500011444092 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Traits
INFO     PyTFall 0.47 Alpha Loading: Traits took 0.00300002098083 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Items
INFO     PyTFall 0.47 Alpha Loading: Items took 0.0220000743866 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Brothels
INFO     PyTFall 0.47 Alpha Loading: Brothels took 0.0019998550415 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Tag Database (PyTFall Native Only)
INFO     PyTFall 0.47 Alpha.tags loaded 18918 images from tags.json files
INFO     PyTFall 0.47 Alpha Loading: Tag Database (PyTFall Native Only) took 1.70499992371 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Characters + Building Crazy Tags Database From Filenames!
INFO     PyTFall 0.47 Alpha Loading Random Characters:
INFO     PyTFall 0.47 Alpha Loading: Characters + Building Crazy Tags Database From Filenames! took 0.420000076294 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: PyTFallWorld
INFO     PyTFall 0.47 Alpha Loading: PyTFallWorld took 0.00500011444092 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Mobs
INFO     PyTFall 0.47 Alpha Loading: Mobs took 0.0139999389648 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Exploration
INFO     PyTFall 0.47 Alpha Loading: Exploration took 0.0700001716614 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Generating Random girls
INFO     PyTFall 0.47 Alpha Loading: Generating Random girls took 0.270999908447 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: testing mode
INFO     PyTFall 0.47 Alpha Loading: testing mode took 2.65899991989 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: GirlsMeets
INFO     PyTFall 0.47 Alpha Loading: GirlsMeets took 0.0 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Populating SlaveMarket
INFO     PyTFall 0.47 Alpha Loading: Populating SlaveMarket took 0.0309998989105 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Loading: Arena!
INFO     PyTFall 0.47 Alpha Loading: Arena! took 0.196000099182 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Next Day
INFO     PyTFall 0.47 Alpha Day: 1, Girls (Player): 1019, Girls (Game): 1260
INFO     PyTFall 0.47 Alpha Starting timer: Girl.restore for all MC girls
INFO     PyTFall 0.47 Alpha Girl.restore for all MC girls took 0.0169999599457 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Brothels
INFO     PyTFall 0.47 Alpha Starting timer: Generating clients
INFO     PyTFall 0.47 Alpha Generating clients took 0.150000095367 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Rest (1)
INFO     PyTFall 0.47 Alpha Rest (1) took 0.0190000534058 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Adding info to B report
INFO     PyTFall 0.47 Alpha Adding info to B report took 0.00300002098083 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: StripJob
INFO     PyTFall 0.47 Alpha StripJob took 15.2939999104 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: ServiceJob(1)
INFO     PyTFall 0.47 Alpha ServiceJob(1) took 2.19499993324 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: WhoreJob
INFO     PyTFall 0.47 Alpha WhoreJob took 2.10100007057 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: ServiceJob(2)
INFO     PyTFall 0.47 Alpha ServiceJob(2) took 0.00399994850159 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: GuardJob
INFO     PyTFall 0.47 Alpha GuardJob took 0.00200009346008 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: RestJob
INFO     PyTFall 0.47 Alpha RestJob took 0.00300002098083 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Brothel.next_day
INFO     PyTFall 0.47 Alpha Brothel.next_day took 0.000999927520752 secs to run!
INFO     PyTFall 0.47 Alpha Brothels took 19.7730000019 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: School
INFO     PyTFall 0.47 Alpha School took 0.00299978256226 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: Fighers Guild
INFO     PyTFall 0.47 Alpha Fighers Guild took 0.0 secs to run!
INFO     PyTFall 0.47 Alpha Starting timer: pytfall + calender.next_day
INFO     PyTFall 0.47 Alpha pytfall + calender.next_day took 0.993000030518 secs to run!
INFO     PyTFall 0.47 Alpha Next Day took 20.7869999409 secs to run!
Title: Re: General Discussion
Post by: MrKlaus on August 07, 2014, 11:52:40 AM
Lol  :D
Rising zombie girls, huh? Never thought about it before :)
Two types of resurrection... Maybe light could actually resurrect, and darkness could make magic clones for our clonning system, since you guys hate science.

I don't want resurrection to be too simple, in both mechanics and explanation. It should not be a random church background with mute priest npc and two buttons "Resurrect" and "Resurrect All" for 100 gold/level. It kills all seriousness of the situation.
Like, feel free to die as long as you have money, nothing major will be lost.
Btw, since you can resurrect androids and even undead, we might as well explain it as a time magic, or as a god of time religion, rather than generic resurrection out of nowhere.


 I have an idea how it could look. It’s just a proposal of a humorous approach to the topic.
Light resurrection: Go to the temple, a pissed Angel appears, dragging the soul of a killed girl, slams it to her dead body, then turns around towards MC and says: "Lets sum this up. Delivery service… The Interdimensional tax… My tip… It will be X gold, or I'm going home with two souls".
Dark resurrection; some voodoo enthusiasm or a shady shaman, "Hey there man. You want her to walk again? It can be done. I will need 2 small hp potions, 2 mana potions, 5 cats, bottle of milk and an apple pie. Be sure to bring the apple-pie."
 
Title: Re: General Discussion
Post by: DarkTl on August 07, 2014, 01:16:44 PM
Those options sound fun, but there should be a catch in the dark side, there always is.
Especially since all those items are quite cheap, while an angel most likely will demand a huge sum.
Title: Re: General Discussion
Post by: Xela on August 07, 2014, 01:27:45 PM
It's too early for light/dark sides.

We should prolly keep sh!t simple as well, anyway:

INFO     PyTFall 0.47 Alpha Starting timer: StripJob
INFO     PyTFall 0.47 Alpha StripJob took 14.6959998608 secs to run!

after refactoring:

INFO     PyTFall 0.47 Alpha Starting timer: StripJob
INFO     PyTFall 0.47 Alpha StripJob took 2.95300006866 secs to run!
====================
I am going to see if I can add some of the Krauses content to the game.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2014, 01:54:28 PM
It's too early for light/dark sides.

We should prolly keep sh!t simple
Right, a button "resurrect all for free" in MC profile  ::)

Didn't have internet at work almost all day, so I killed time by creating loot items, including alchemy reagents.
Title: Re: General Discussion
Post by: MrKlaus on August 07, 2014, 02:04:08 PM
Those options sound fun, but there should be a catch in the dark side, there always is.
Especially since all those items are quite cheap, while an angel most likely will demand a huge sum.

 Dark side; the warning on the label that is always written in small print: “Side effect from our service: feeling hunger for flesh (zombified), getting your body possessed by demons, lost of memories (some stat/exp drop), increased lust, random changes in personality (trait change).
Light: yeah it should be expensive. Maybe percentage of a two weeks income for the MC, or some multiplayer based on the girls lvl/stats.
 

It's too early for light/dark sides.

 We are just discussing potential revival options.
 
Title: Re: General Discussion
Post by: Xela on August 07, 2014, 02:08:36 PM
Right, a button "resurrect all for free" in MC profile  ::)

Joking aside, a sum of money depending on characters stats may be all that we need.

Didn't have internet at work almost all day, so I killed time by creating loot items, including alchemy reagents.

Ok, test the inventory/items/equipment system when you get the chance, we don't have any beta-testers anymore and changes to code are massive, there should be errors/mistakes.

*Raincheck on dev tonight, I am too tired :(
Title: Re: General Discussion
Post by: lamoli on August 07, 2014, 06:43:03 PM
Hmm.. might only be me or intended but the code to display the buy button in tailor shop got removed.. and the new code for brothel upgrades does not work.. i mean when i click yes or no, no upgrades are added.
Title: Re: General Discussion
Post by: CherryWood on August 07, 2014, 07:40:52 PM
Hmm.. might only be me or intended but the code to display the buy button in tailor shop got removed.. and the new code for brothel upgrades does not work.. i mean when i click yes or no, no upgrades are added.
Added that button back... seems that it was missing for few days, thanks for noticing.


Dunno about the brothel upgrades, I failed to find anything suspicious in changes to that screen with my limited knowledge, so I suggest to wait for Xela there.
Title: Re: General Discussion
Post by: Xela on August 07, 2014, 10:55:59 PM
Hmm.. might only be me or intended but the code to display the buy button in tailor shop got removed.. and the new code for brothel upgrades does not work.. i mean when i click yes or no, no upgrades are added.

Thanks for the reports, obviously both are bugs.

Dunno about the brothel upgrades, I failed to find anything suspicious in changes to that screen with my limited knowledge, so I suggest to wait for Xela there.

Took me some time to figure it out, yes/no screen was called with renpy.call_screen not renpy.show_screen so it returns not to ui.interact but to reserved _return variable.

Basically a much better code could be written for that screen (it's ancient) but since it is working and "finished"...

Both of you missed a missing button in the cafe btw  ::)
============================
SF Updated:
- Code refactoring (massive for StripJob, it computes 5 times faster now with no functionality removed at all, other places as well)
- Fixed an error in beggar event
- Updated Timer class
- Added profiling to Next Day
- Fixed buying updates bug in brothels
- Updated Event Manager classes to better/faster code
- Updated buy/sell buttons in shops
Title: Re: General Discussion
Post by: Xela on August 08, 2014, 01:22:31 AM
Possible candidate for a citymap proposed by CW some time ago:

(http://s7.postimg.org/41njj5u5z/8_8_2014_8_20_50_AM.jpg) (http://postimg.org/image/41njj5u5z/)

Any thoughts?
Title: Re: General Discussion
Post by: DarkTl on August 08, 2014, 02:12:11 AM
Joking aside, a sum of money depending on characters stats may be all that we need.
Reminds me of that movie where money in the future were replaced by time of life, so rich people could live forever while poor ones could barely live at all  ::)

Possible candidate for a citymap proposed by CW some time ago:
Seems more cartoonish than our current map. And too light and peaceful as well. While our city is not nearly as dark as in Valet, it still has slaves and slaves riots, dying clones, arena, anomalous zones around it.
Title: Re: General Discussion
Post by: lamoli on August 08, 2014, 04:47:14 AM
If not too hard to code.. that other city screen could be a choice for ppl who got bored with the dark theme but i argee... might be too bright.. or you could make city background change with MC choice doing evil things will bring dark theme or good things light theme.. but would need neutral theme then.
Title: Re: General Discussion
Post by: CherryWood on August 08, 2014, 05:51:42 AM
If you guys are missing something important on the city screen (don't care on which one) I can try to draw that in. I can't create a whole new districts for sure, but changing colors or squeezing one or two more building in may be possible.


For example, in that bright city from Bravely Default, I think arena could fit into that southwest corner instead of that strange rock.
Or in our first darker city, the whole mountain background can be just cut out and replaced with something more warm, so the beach will not look so out of place anymore.
Title: Re: General Discussion
Post by: lamoli on August 08, 2014, 06:02:41 AM
hmm.. on MC screen after clicking equipment.. the item.. where s the button to equip it ? :p
Title: Re: General Discussion
Post by: Xela on August 08, 2014, 10:10:02 AM
hmm.. on MC screen after clicking equipment.. the item.. where s the button to equip it ? :p

Button's been disappearing all over the place... did someone curse the game?

If you have a mouse with a wheel, you can click on that until we restore it. There is a lot of these helpers with interface these days like mousewheel will work at a lot of places for paging (inventories, girllist, next day), in girlslist location/job have been turned into smart buttons so you never have to visit the job-assign screen ever again and so on. We also have some keybinds but that's stated somewhere in the old release thread I think.

Edit: Both were broken, just released a quick-fix.


If you guys are missing something important on the city screen (don't care on which one) I can try to draw that in. I can't create a whole new districts for sure, but changing colors or squeezing one or two more building in may be possible.

Not yet but we may in the future. Noone is working at adding locations atm.

For example, in that bright city from Bravely Default, I think arena could fit into that southwest corner instead of that strange rock.
Or in our first darker city, the whole mountain background can be just cut out and replaced with something more warm, so the beach will not look so out of place anymore.

It's pretty hard to imagine what that would look like. Those mountains are pretty too.

It wouldn't be too hard to allow users picking the map but we need some consistency in the game as well. Maybe we can do a poll or something or someone can come up with yet another option. I am going to keep the files for both for now, lets go with the bright one for a week and if that bugs us too much, revert back to the old map (I kinda prefer the old one as well, it just bugs me that it's a bit too dark).
Title: Re: General Discussion
Post by: MrKlaus on August 08, 2014, 12:23:28 PM
It's pretty hard to imagine what that would look like. Those mountains are pretty too.

It wouldn't be too hard to allow users picking the map but we need some consistency in the game as well. Maybe we can do a poll or something or someone can come up with yet another option. I am going to keep the files for both for now, lets go with the bright one for a week and if that bugs us too much, revert back to the old map (I kinda prefer the old one as well, it just bugs me that it's a bit too dark).

 Another stupid/bright idea by yours truly…
Make them both PyTFall but split in time. The bright could be the beginning stage, let’s say year 10-20 after establishing the city, and the current dark city would be year 100-120 after PyTFall grew bigger. The transition period could be a prolog (or a tutorial stage) about the MC Father/Grandpa and a chain quest that would lead to some disaster that changes the surrounding (spell went wrong, bloody rebellion suppressed with magic, demon attack or some other shit hit the fan).
 
Title: Re: General Discussion
Post by: CherryWood on August 08, 2014, 06:25:35 PM
May I ask what each of those numbers in fg json mean?

"mobs": {"Orc": [10, [2, 0.5, 6]], "Earth Elemental": [8, [1.5, 0.5, 6]], "Goblin Archer": [60, [3, 0.5, 10]]},
"unlocks": {"Cursed Forest lvl-1": 30},

Also, there doesn't seem to be a maximum/minimum number of mobs in group, may I ask for it? I would like for some monsters to always appear solo...


And:
Code: [Select]
While running game code:
  File "game/library/screens/pyt - screens - nextday.rpy", line 12, in script
    python:
  File "game/library/screens/pyt - screens - nextday.rpy", line 122, in <module>
    i.next_day()
  File "game/library/classes - locations.rpy", line 317, in next_day
    self.finish_exploring()
  File "game/library/classes - locations.rpy", line 341, in finish_exploring
    for key in area.unlocks.keys():
AttributeError: 'list' object has no attribute 'keys'
This happen when I go exploring to any second location (like forest 1-1)
Title: Re: General Discussion
Post by: Xela on August 08, 2014, 06:53:46 PM
May I ask what each of those numbers in fg json mean?

"mobs": {"Orc": [10, [2, 0.5, 6]], "Earth Elemental": [8, [1.5, 0.5, 6]], "Goblin Archer": [60, [3, 0.5, 10]]},
"unlocks": {"Cursed Forest lvl-1": 30},

Also, there doesn't seem to be a maximum/minimum number of mobs in group, may I ask for it? I would like for some monsters to always appear solo...

Good questions!

"Name Of the MOB": ["Chance to encounter": ["Initial Multiplier", "Per extra day multiplier", "Maximum multiplier"]]
"Name Of the Area": "Initial chance to unlock"

About the maximum number, it would be a bit tricky to recode but possible, yes. Simply add one more condition:

"Name Of the MOB": ["Chance to encounter": ["Initial Multiplier", "Per extra day multiplier", "Maximum multiplier"], "Maximum size of a team if one of this mobs is present"]

So:
"Orc": [10, [2, 0.5, 6], 1]

it would look like this. Also note that all areas should have the same structure so if you add it to one, add it to all others (3 is the default). We can expand this system for quite a while I expect :)


Code: [Select]
While running game code:
  File "game/library/screens/pyt - screens - nextday.rpy", line 12, in script
    python:
  File "game/library/screens/pyt - screens - nextday.rpy", line 122, in <module>
    i.next_day()
  File "game/library/classes - locations.rpy", line 317, in next_day
    self.finish_exploring()
  File "game/library/classes - locations.rpy", line 341, in finish_exploring
    for key in area.unlocks.keys():
AttributeError: 'list' object has no attribute 'keys'
This happen when I go exploring to any second location (like forest 1-1)

I'll take a look this weekend, my mistake probably because unlocks is clearly a dict by default.
Title: Re: General Discussion
Post by: hulkster27 on August 09, 2014, 03:08:17 AM
Hi,


When are we getting the next update?  :(
Title: Re: General Discussion
Post by: DarkTl on August 09, 2014, 03:10:10 AM
I have another good question! Why are you so insist on adding that Rukia mast animation? How and where are you going to use it?  :D

City map looks pretty good btw. But I like the old one too. Maybe we should use both, one map won't be enough for all locations anyway.

I tested new systems a bit. Badness 100 does not prevent purchase for some reason, they buy Slave Shackles like there is no tomorrow  ::)

Also, there is a huge gasp between owned and equipped items. It's not unusual to see girls with 30+ owned and 0 equipped. I'm not sure I like it. Maybe it's because they have 10000 gold from the start and cannot spend it on something else though. We need more interesting ways to spend gold, I guess.
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 04:05:54 AM
Hi,


When are we getting the next update?  :(

Hi :)

No idea, we don't really have any particular goals set for "what" a next update should be. I think we should finish some base form the guild, enable/expand taxes and then we can release again? Depends on what the rest of the crew feel like, it's not like there are any definite plans.

I have another good question! Why are you so insist on adding that Rukia mast animation? How and where are you going to use it?  :D

City map looks pretty good btw. But I like the old one too. Maybe we should use both, one map won't be enough for all locations anyway.

I tested new systems a bit. Badness 100 does not prevent purchase for some reason, they buy Slave Shackles like there is no tomorrow  ::)

Also, there is a huge gasp between owned and equipped items. It's not unusual to see girls with 30+ owned and 0 equipped. I'm not sure I like it. Maybe it's because they have 10000 gold from the start and cannot spend it on something else though. We need more interesting ways to spend gold, I guess.

I have another good question! Why are you so insist on adding that Rukia mast animation? How and where are you going to use it?  :D

No idea, main screen maybe? :D

City map looks pretty good btw. But I like the old one too. Maybe we should use both, one map won't be enough for all locations anyway.

Yeah we'll see, put it to the vote maybe...

I tested new systems a bit. Badness 100 does not prevent purchase for some reason, they buy Slave Shackles like there is no tomorrow  ::)

Also, there is a huge gasp between owned and equipped items. It's not unusual to see girls with 30+ owned and 0 equipped. I'm not sure I like it. Maybe it's because they have 10000 gold from the start and cannot spend it on something else though. We need more interesting ways to spend gold, I guess.

My screwup, I asked you about the badness after coding it as in WM and forgot to change it. Right now game checks dice(badness) to buy instead of dice(100 - badness) so girls are buying items that are the worst for them. I don't know of that's the reason for the equipment thing, they should try to reequip themselves for the job they're doing one every 3 days or so, may there is a mistake in the code somewhere.

The way auto-buy should work:
- First: dice80 to have the girl try to buy items she'd love because of her traits.
- Second: dice30 for her to try and stock up on some decent consumables.
- Third: She will go through all possible items - badtrait/goodtrait items (badtrait are filtered out at the very start, goodtrait we prolly done already due to the high dice or will do at high probability next time). Here she'll try to but any item, never more than 5 of each, depending on badness of the item (item at badness 0 she'll buy 5 of, badness 80, just one at best).
- That's it, since the function is repetitive, I've decided not to do loop it until she buys as many items as possible, instead she will either buy the required amount supplied to the function or less and try again in a few days.
===========================
I'll be on tonight and should have the whole evening to code. I'll look into the auto-equipment thing and the bug CW found then.

@Klaus:
The long story is too long which wouldn't really be an issue unless it felt like it had too much story in it irrelevant to the game, it's something we should have some ancient NPC dude tell to the players who love lore/history in games. Short story is too short :)

So tonight I'll set up a label which will load the intro to the game and add a button to run that label from the mainscreen. I'll put the long version with slightly improved grammar (done by me so only slightly improved :) ) of the long text and we'll all contribute by cutting/adding/animating and etc. (if you don't mind).
Title: Re: General Discussion
Post by: MrKlaus on August 09, 2014, 04:52:33 AM
@Klaus:
The long story is too long which wouldn't really be an issue unless it felt like it had too much story in it irrelevant to the game, it's something we should have some ancient NPC dude tell to the players who love lore/history in games. Short story is too short :)

So tonight I'll set up a label which will load the intro to the game and add a button to run that label from the mainscreen. I'll put the long version with slightly improved grammar (done by me so only slightly improved :) ) of the long text and we'll all contribute by cutting/adding/animating and etc. (if you don't mind).

 Long too long and short too short... Will aim for a mid length after everyone’s tells their opinions (and after finishing those goddamn alignments).  :P
 And I don't mind so chill, don't worry and modify my txt any way you guys want. If you will only use ONE line from a hundred that I send it's cool with me.
 
Btw. Sorry for the delays, it was a busy week for me.
Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 05:48:00 AM
Hey, anything decided on slave training module yet ?
Title: Re: General Discussion
Post by: DarkTl on August 09, 2014, 05:52:14 AM
Hey, anything decided on slave training module yet ?
Lack of clear and decent concept prevents it. Feel free to share ideas.

Make them both PyTFall but split in time. The bright could be the beginning stage, let’s say year 10-20 after establishing the city, and the current dark city would be year 100-120 after PyTFall grew bigger. The transition period could be a prolog (or a tutorial stage) about the MC Father/Grandpa and a chain quest that would lead to some disaster that changes the surrounding (spell went wrong, bloody rebellion suppressed with magic, demon attack or some other shit hit the fan).
But then we'll never be able to use the bright version again. Would be a waste, I like both.
I think about either two parts of the city, light and dark ones, separated by a river or something, or some another city nearby. Not elven one, we already have another cool map for it.

Ideally we could use a decent forest map for EE. Maybe even in the guild you should choose area not from the list, but on the map. It's difficult to find though, perhaps we could render an original one in the future when we'll have another artist willing to help.
========================================================================
I think we left some garbage in gfx folder. Those mobs and old hero profile in sprites folder, frame folder (do you still use those old frames?), masks folder (I think we don't use them at all).
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 07:24:23 AM
I think we left some garbage in gfx folder. Those mobs and old hero profile in sprites folder, frame folder (do you still use those old frames?), masks folder (I think we don't use them at all).

I generally don't worry about that... Who know what we might need and when.

I found a way to solve the drag/drop screen freezing.
Title: Re: General Discussion
Post by: livingforever on August 09, 2014, 12:41:31 PM
Hey everyone!
Oh my... seems like I've missed a lot just because I was gone for a few days. I skimmed the last few pages and there are a few things on my mind:

First, the discussion about exploration times.
Actually, this has been on my mind ever since I played the first BrothelSim (the original) - why does nobody consider using a time based system instead of action points? Yes, it would require slightly more code, but I think it is more intuitive and a lot more flexible. Every character (including the player) can have work times (e.g. 8 am to 4 pm for the player, 4 pm to midnight for prostitutes - depending on constitution, etc.) and every action (talking to a girl, having sex, whoring, etc.) takes time to finish.
What do you think about such an approach (general opinions wanted, details can be worked out later)?


Second, about this little note:
- Added decent code to load items from filenames (commented out atm)
Careful with that. The reason why it's reasonable to load tags from filenames is because image tags are unordered sets of the same unnamed data type - so a complex data structure would be wasted on it.
Items however consist of several different, named elements with different data types, so using a more complex data structure (JSON is well suited) is most likely the better choice here.

And yes, binary is faster (it always is if you can come up with a clever format), for both tags and items. However, the primary goal was to reduce storage redundancy, not to make the data unreadable for humans.


Third, the optimization of reading tags from filenames.
I just want to mention that the screenshot looks absolutely awesome to me. So much data at a single glance!
Just from looking at it I assume you have two static identifiers and 260 (26 chars * 10 digits) possible tag combinations that are not ordered alphabetically. How many of these are used right now? And, more importantly, do you have a hashing system in place (that calculates an array index that stores the actual tag from the tuple)? If yes, great! If no, that could speed things up.


Finally, the tagger.
Let me ask this first: Who is mcmanus and where can I find his code? C++ is no big deal and I at least want to give it a look (maybe I can steal his ideas  :-\ ).
And to give you a (relatively) clear statement: I can and will code a tagger (and possibly a complete character editor) if you are fine with an external solution that has nothing to do with Python. No deadlines and promises (freelancing ftw).

Have fun!
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 02:05:03 PM
Hey everyone!
Oh my... seems like I've missed a lot just because I was gone for a few days. I skimmed the last few pages and there are a few things on my mind:

First, the discussion about exploration times.
Actually, this has been on my mind ever since I played the first BrothelSim (the original) - why does nobody consider using a time based system instead of action points? Yes, it would require slightly more code, but I think it is more intuitive and a lot more flexible. Every character (including the player) can have work times (e.g. 8 am to 4 pm for the player, 4 pm to midnight for prostitutes - depending on constitution, etc.) and every action (talking to a girl, having sex, whoring, etc.) takes time to finish.
What do you think about such an approach (general opinions wanted, details can be worked out later)?

RPGMaker variant of the game does just that, can't say that I like the idea for PyTFall. The concept itself is fun but we don't have the resources to make maps/locations adapt to the time of day, not mentioning the amount of code that would have to be rewritten (Although it's doable, just will take a good while).

Second, about this little note:Careful with that. The reason why it's reasonable to load tags from filenames is because image tags are unordered sets of the same unnamed data type - so a complex data structure would be wasted on it.
Items however consist of several different, named elements with different data types, so using a more complex data structure (JSON is well suited) is most likely the better choice here.

That was a typo, I never did that for items, meant to say pics.

And yes, binary is faster (it always is if you can come up with a clever format), for both tags and items. However, the primary goal was to reduce storage redundancy, not to make the data unreadable for humans.

And speed things up, but filenames are fine + we can always go binary later.

Third, the optimization of reading tags from filenames.
I just want to mention that the screenshot looks absolutely awesome to me. So much data at a single glance!
Just from looking at it I assume you have two static identifiers and 260 (26 chars * 10 digits) possible tag combinations that are not ordered alphabetically. How many of these are used right now? And, more importantly, do you have a hashing system in place (that calculates an array index that stores the actual tag from the tuple)? If yes, great! If no, that could speed things up.

There are no static identifiers, first four characters are random to prevent name collisions, rest are pairs picked from a combination from lowercase latin letters and 0 - 9 numerals.

>>> from itertools import combinations_with_replacement
>>> import string
>>> pool = list("".join([string.ascii_lowercase, "".join(list(str(i) for i in range(10)))]))
>>> len(list(combinations_with_replacement(pool, 2)))
666 (We're totally evil   8))

165 are in use at the moment so we can still add 501 tags  ::) Yet, there are plenty more characters that are allowed in filesnames on all systems so we can always add even more :D

I am not sure how you want to speed this up with hashing failing to come up with a way myself.

Finally, the tagger.
Let me ask this first: Who is mcmanus and where can I find his code? C++ is no big deal and I at least want to give it a look (maybe I can steal his ideas  :-\ ).
And to give you a (relatively) clear statement: I can and will code a tagger (and possibly a complete character editor) if you are fine with an external solution that has nothing to do with Python. No deadlines and promises (freelancing ftw).

Oki, I'll focus on SE + fixing errors.

Edit: New tagger in C# (http://www.pinkpetal.org/index.php?topic=3405.0)
Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 02:05:51 PM
OK here it goes.. doesnt have to be on 3D engine if pytfall can use image layers its all good too...
(http://www.partage-facile.com/4Q12NKHWFL/nextprevcell.jpg.html)
http://www.partage-facile.com/4Q12NKHWFL/nextprevcell.jpg.html (http://www.partage-facile.com/4Q12NKHWFL/nextprevcell.jpg.html)

here are some idea on how to dislplay every cell of slaves with basic informations

(http://www.partage-facile.com/243AE52QBF/roomsetup.jpg.html)
http://www.partage-facile.com/243AE52QBF/roomsetup.jpg.html (http://www.partage-facile.com/243AE52QBF/roomsetup.jpg.html)

Here the screen where you could add items/upgrades to the room if used in layers you could click items to activate that item and do the action like training/using
start with basic cell with mat and drape on the floor ( could be upgraded to bed to gain better vitality recovery and morale ) bucket.. ( to do private stuff ) plate ( to place food on could be upgraded to table ) and what ever tools/items you may want in there i just need the idea to model it and make the usable image with screen related to action/training..

(http://www.partage-facile.com/NV9H18J7MW/training.jpg.html)
http://www.partage-facile.com/NV9H18J7MW/training.jpg.html (http://www.partage-facile.com/NV9H18J7MW/training.jpg.html)

Here the training using item on the wall....
to start every item will train specific skills.. i displayed all i was thinking of at that moment but only skill related to the item will show ( cant expect a doggy on a girl stuck to wall lol )
Basic idea would be to find a way to break the slave will ( every girl may have strength and weakness traits ) like tough/strong girls can endure more training than others while iron will/stubborn girl would be harder to break.. using the correct action for the girl ( character type could improve how fast you break her will ) will doesnt have to reach 0.. just enough to unlock some action and train the girl.. of course some training action would require more will reduced or other skills trained first..

For those who played Jack o nine tails.. well thats about that kind of training ( gona need a psychology system ) need to train the girl but need to have a limit.. if your too hard on her she could break permanently or be out of commission for days

First need to know if its possible to use in game even on later stages then i will expand it...

Other that the girl i didnt use texture of course just wanted basic graphics to explain the idea :p
(http://www.partage-facile.com/LL3NE3I2W6/nextprevcell.psd.html)
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 02:20:14 PM
(http://www.partage-facile.com/LL3NE3I2W6/nextprevcell.psd.html)

 ???
Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 02:48:53 PM
???

sorry tryed to put images in here but failed then used hyperlinks
Title: Re: General Discussion
Post by: DarkTl on August 09, 2014, 03:19:46 PM
I love how that partage-facile thing demands to disable both noscript and adblock before showing the picture  ::)

Generally, there is nothing impossible here. However, Jack-o-nine tails uses multiple variables to emulate psychology, and no one but Old Huntsman knows how exactly all this works (if he hasn't already forgot everything (http://www.youtube.com/watch?v=AOYuRKW17kM)).

Aside from that, you propose upgrades for cells and general gui. That's hardly a concept, sorry. It does not describe the training process mathematically or logically.
Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 03:31:48 PM
I love how that partage-facile thing demands to disable both noscript and adblock before showing the picture  ::)

Generally, there is nothing impossible here. However, Jack-o-nine tails uses multiple variables to emulate psychology, and no one but Old Huntsman knows how exactly all this works (if he hasn't already forgot everything (http://www.youtube.com/watch?v=AOYuRKW17kM)).

Aside from that, you propose upgrades for cells and general gui. That's hardly a concept, sorry. It does not describe the training process mathematically or logically.

i translated the Old Huntsman code so got all his scripts/class readable but working on it is a pain as that engine is unforgiving save wise..
as for the training concept we could start with his if needed then work it our way.. but maybe thats old news to you..

well i understand QSP its realy easy but to translate that into python thats another story.. might need to learn it more than im able atm
Title: Re: General Discussion
Post by: DarkTl on August 09, 2014, 03:38:40 PM
Python? You just need to describe the logic behind all those Huntsman's training scripts, there is no need to code it for us.
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 03:45:19 PM
ST system:

**It should be stats based.
**It should be traits based.
**It should scale well to other elements of PyTFall

*It can be partially flags based (the psychology thing).

Otherwise anything that flash based player can do, Ren'Py will do better. Those pics are just images being displayed one over another, Ren'Py has full OpenGL support (2D libs) and might have 3D in the future.

Otherwise, as Dark said, that isn't really a concept, it's a GUI option. We should prolly also have simpler training that Jack because that game is dedicated to it, we a lot of other elements but I cannot see why that concept cannot be adapted at least partially. I've never seen their code btw.
=====================================================================================

I am still trying to get to the bottom of wtf is happening with girls not auto-equipping themselves. I tracked the issue down to some insanity with Auto-Rest code but still haven't pinpointed the problem. I'll try to get this and CWs but fixed tonight.
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 03:50:31 PM
well i understand QSP its realy easy but to translate that into python thats another story.. might need to learn it more than im able atm

??? Python has a much better syntax than AS (I assume that's what QSP is scripted in) but you just need to isolate the relevant parts of code. Even if you can rewrite that thing in Python, I assume that you don't know code-structure in PyTFall and unless you want to code the ST yourself, I just need a concept and maybe some art.
Title: Re: General Discussion
Post by: DarkTl on August 09, 2014, 04:08:12 PM
To clarify: they do equip items. However, it's usually 2-3 equipped and 20-30 not  :)
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 04:24:49 PM
To clarify: they do equip items. However, it's usually 2-3 equipped and 20-30 not  :)

Well, they'd generally try to equip items that are best for the job. They don't seem to equip anything at the moment, maybe I didn't test it enough. But there seems to be an issue with the Rest class, going to take a look at it now.
Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 06:11:48 PM
Ok code goes as follow ill start with 1 example first.

on teach_screen when you chose ( oral / kiss ) it sends trigger to interaction 1321:

----------------------------------------------------------------------------------INTERACTION----------------------------------------------------------------------------
ALL BASE VARS =0

IF interaction = 1321:
 $interaction_type = 'self_sex_lesson'                                                    TYPE OF LESSON
 $subskill = 'slave["sub_kiss"]'                                                                SKILL CHOSEN
 $subskill_xp = 'slave["sub_kiss_xp"]'                                                    THIS ACTION IF NOT REFUSED WILL ADD XP TO slave["sub_kiss"]
 repulse = 2                                                                                            BASE CHANCE TO REFUSE ACTION
 rise_difficulty = 3 + slave["sub_kiss"]                                                   BASE SKILL XP GAINED + slave["sub_kiss"] CURRENT LVL TO INCREASE TO NEXT RANK
 $text[1] = '<<$kiss_lesson_description[slave["sub_kiss"]]>>'            TEXT DESCRIBING THE ACTION + TEXT VARIATION DEPENDING ON WITCH LVL slave["sub_kiss"] IS AT
 $play_sound[2] = '<<$kiss_sound[slave["age"]]>>'                           PLAYING KISS SOUND
 $special_bg = $kiss[slave_type]                                                         DISPLAY THE SLAVE TYPE KISS IMG
 couch_skill = master_oral                                                                    DEFINES WITCH SKILL MC WILL GAIN XP ON
 add_master_hygiene = 1                                                                    MAKES MC DIRTY BY +1
 add_slave_hygiene = 1                                                                      MAKES SLAVE DIRTY BY +1
add_house_mess = 1                                                                         MAKES HOUSE DIRTY BY +1
 ejaculation_intensity = 0                                                                    WELL MAYBE YOU DO CUM BY KISSING.. HUNTSMAN DOSENT..
 if slave["sub_kiss"] => 5: $interaction_type = 'completed'                MAKES SURE KISS SKILL DONT GOES BEYOND LVL5
 $special_part = {   
 master_oral_rate += 1                                                                       ADD ORAL SKILL TO MASTER BY+1 XP TO MAKE ORAL RELATED TRAINING EASYER IN THE FUTURE X/5 MAX
 }
 $place = 'bedroom'                                                                            DISPLAYS THE BEDROOM BG+REALTED RIGHT WINDOW TEXTS
END
-----------------------------------------------------------------------------------------------------------------------------------------
IF $interaction_type = 'self_sex_lesson':                                           USED FOR CODE ABOVE
 diligence = complex_diligence                                                           WILL DISPLAY CODE BELOW
IF diligence < 0:                                                                                 
  $interaction_type = 'talk'                                                                 WILL DISPLAY CODE BELOW
  killvar 'play_sound' 
  txt_count = 2
  $text[2] = '<<$slave_name>> refuses to carry out your instructions! With this attitude, conducting a lesson is useless.'
  dynamic $sin_potential                                                                     FORMULA TO ADD SIN NOT USED THIS TIME ( AS THERES NO SIN POTENTIAL FOR THIS ACTION )                
  dynamic $sin_gained_now                                                               FORMULA TO MAKE SURE IT ADDS THE RIGHT SIN AMOUNT AND ALSO LIMIT IT TO 1 TIME PER DAY
  else
  if erotic_stimulation > 0: dynamic $erotic_stimulation
  txt_count = 3
  $text[2] = '<<$sex_lesson_diligence[diligence]>>'
  rise_difficulty += rise_modifer
  succes = couch_skill + diligence + (master_mood + slave["mood"])/2 - rise_difficulty + learn_bonus["sex"]     
  dynamic 'succes += <<$subskill_xp>>' 
  IF diligence <= 0:
   succes = 0
   sin_gained = 1
   if slave["sin"] < 1: slave["sin"] = 1
   else
   dynamic $virtue_gained_eroles
  END
  IF succes > 0:
   dynamic '<<$subskill>> += 1'
   dynamic '<<$subskill_xp>> = 0'
   $text[3] = 'By the end of class you managed to make significant progress. Now you can move on to more sophisticated techniques.'
   else
   $text[3] = 'Slave failed to fully learn what you were trying to teach her. It will be necessary to repeat this lesson again, but you still progressed a bit and the next time should be easier.'   
   dynamic '<<$subskill_xp>> += 1'
  END
  master_hygiene_rate += add_master_hygiene
  slave_rate["hygiene"] += add_slave_hygiene
  house_mess_rate += add_house_mess
  dynamic $slave_energy_drop
  dynamic $master_energy_drop
  if ejaculation_intensity > 0: dynamic $master_ejaculate 
  IF orgastic > 0:
   IF final_stimulation > 0:
    dynamic $slave_orgasm
    txt_count = 4
    $text[4] = '<<$orgasm_description[orgasm_description]>>'
   END
  END
  dynamic $special_part 
 END
END
-----------------------------------------------------------------------------------------#DYNAMIC ( COMPLEX DILIGENCE SECTION )----------------------------
$complex_diligence = {
complex_diligence = 0
if complex_repulse > slave["obedience"]: complex_diligence = -1
if repulse > slave["obedience"]: complex_diligence = -1
if rebell[$slave_psy_status] > 0: complex_diligence -= 1
if slave['fear'] > complex_repulse: complex_diligence += 1
if slave['mood'] > complex_repulse: complex_diligence += 1
if slave['moral'] > complex_repulse: complex_diligence += 1
if slave['custom'] > complex_repulse: complex_diligence += 1
if slave['rational'] > complex_repulse: complex_diligence += 1
if slave['instinct'] > complex_repulse: complex_diligence += 1
a = slave['spoil'] + complex_repulse
if  a > 5: complex_diligence -= 1
a = slave['pride'] + complex_repulse
if a > 5: complex_diligence -= 1

phobia = 0
IF stimulating > 0:
 phobia += slave["nymphomania"]
END
IF shameful > 0: phobia += slave["exhibitionism"] - shameful
IF painful > 0: phobia += slave["masohism"] - painful
IF abuse > 0: phobia += slave["abuse_attitude"] - abuse
IF disgusting > 0: phobia += slave["preversion"] - disgusting
IF darkness > 0: phobia += slave["darkness_attitude"] - darkness
IF bloody > 0: phobia += slave["blood_attitude"] - bloody
IF fire_based > 0: phobia += slave["fire_attitude"] - fire_based
IF water_based > 0: phobia += slave["water_attitude"] - water_based
IF vermin_based > 0: phobia += slave["vermin_attitude"] - vermin_based
IF deprivation > 0: phobia += slave["deprivation_attitude"] - deprivation
complex_diligence += phobia & $dil_message += 'phobia <<phonia>><br>'

if slave['energy'] < 0: complex_diligence += slave['energy']
a = slave['angst'] + complex_repulse
if complex_diligence > 0 and a > 5: complex_diligence -= 1
if slave['moral'] > complex_diligence and slave['moral'] > 0: complex_diligence = slave['moral']
if $slave_psy_status = 'broken': complex_diligence = 0
if complex_diligence > 5: complex_diligence = 5
if slave['domini_dictum'] = 1 and complex_diligence < 0: complex_diligence = 0
}
--------------------------------------------------------------------------------------#DYNAMIC ( EROTIC STIMULATION SECTION )---------------------------------
$erotic_stimulation = {                                                                                 TRIGGERED BY INTERACTION RESULT
if sex_acceptance > 0: erotic_stimulation += sex_acceptance
IF slave["arousal"] = 0:
 final_stimulation = 1
 else
 final_stimulation = erotic_stimulation * slave["arousal"]
END
if sex_acceptance < 0: final_stimulation = 0
if orgastic = 0: slave_rate["arousal"] += final_stimulation                          USE ORGASTIC PARAMETTER IN INTERACTION TRIGGER
}
-----------------------------------------------------------------------------------------#DYNAMIC ( REPULSE CHECK SECTION )------------------------------------------
$repulse_check = {                                                                                                                TRIGGERED BY INTERACTION RESULT
res = slave["obedience"] - repulse + sex_acceptance                                                           DEFINES RES
if $interaction_type = 'talk': res = slave["obedience"] - repulse                                            DEFINES RES FOR THAT ACTION
IF $interaction_type = 'master_teaches_slave': res = slave["obedience"] - repulse             DEFINES RES FOR THAT ACTION
IF sex_acceptance < 0:                                                                                                          SEX ACCEPTANCE VALE CHECK SEE CODE BELOW
 slave_rate["mood"] -= repulse - sex_acceptance                                                                  else
 if erotic_stimulation > 0: res -= slave["arousal"]                                                                   
END
if slave['domini_dictum'] = 1 and res < 0: res = 0                                                                  CHECK IF MAGIC WAS CASTED ON SLAVE TO MAKE HER MORE DOCILE
}
---------------------------------------------------------------------------------------#DYNAMIC ( SEX ACCEPTANCE SECTION )------------------------
$sex_acceptance = {
IF shameful > 0:                                                                                                            UNLESS INTERACTION ADDS SHAME, SHAME = 0 LIKE ALL DEFAULTS VARS
 sex_acceptance += slave["exhibitionism"] - shameful                                                 ADDS slave["exhibitionism"] SKILL RANK TO SEX ACCEPTANCE - SHAME
 if slave["exhibitionism"] < 1 and slave['neg_shame'] < 1: slave['neg_shame'] = 1     CHECKS IF SLAVE GOT EXHIBITIONIST TRAIT AND IF CHECK FAIL MAKES SLAVE SHAMEFULL
 slave["exhibitionism_xp"] += 1                                                                                    IF SLAVE SHAMELESS ADDS slave["exhibitionism_xp"] +1    
END
IF painful > 0:
 sex_acceptance += slave["masohism"] - painful
 if slave["masohism"] < 1 and slave['neg_pain'] < 1: slave['neg_pain'] = 1
 slave["masohism_xp"] += 1 
END
IF disgusting > 0:
 sex_acceptance += slave["preversion"] - disgusting
 if slave["preversion"] < 1 and slave['neg_disgust'] < 1: slave['neg_disgust'] = 1 
 slave["preversion_xp"] += 1
END
IF lesbian > 0:
 sex_acceptance += slave["homosexualism"] - lesbian
 slave["lesbian_xp"] += 1
 else
 if slave["homosexualism"] = 2: sex_acceptance -= 1
END
IF $interaction_type = 'rape':
 sex_acceptance += slave["arousal"] + slave["sub_vaginal"] + slave["obedience"] - repulse
 if sex_acceptance > 1: sex_acceptance = 1
END
}
------------------------------------------------------------------------------------------INTERACTION RESULT ( TALK SECTION )---------------------------------------------
IF $interaction_type = 'talk':
 IF res < 0:
  txt_count = 1
  $text[1] = '<<$refuse_talk[$slave_psy_status]>>'
  if already_done_today[interaction] = 0 and slave["sin"] < 1: slave["sin"] = 1
  else
  dynamic $special_part   
 END
END
Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 06:19:37 PM
Hmm hard to pull out the right sections and explain it..
but hopefully he condensed most of in in 1 file.. maybe best if i post it or share txt link

his training code use 4 files

1st teach_screen that triggers interaction by clicking the name of the skill ( not useful )
2nd interaction ( list of all interactions with defined parameters for that action )
3rd interaction result ( generic result based on interaction types with call to dynamic functions )
4th #dynamic  ( file containing the code for the interactions )

ill add link if your ok with txt files

moodlets are 6 separated small files >.<
max energy is based in Athletic skill + special food ( if slave ) max 5 energy
energy regen is calculated by the next day file ( master can gain 1 energy if slaves makes a good massage use 1 slave energy) same goes for slave if master skilled enough use 1 master energy ( works 1 time for eatch per day )

mood is gained every day.. certain interactions makes it go up or down for either slave or master.. also consumable can affect it
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 06:59:34 PM
Ok, this is an interesting approach, definitely not what I've expected. I thought the whole thing was flagged, basically these are variables/functions.

There is no need to copy/paste the whole thing, this needs to be converted/adapted to PyTFall's concept. We don't have stars, we have APs and there could be more than 5. We also have vitality stat. We do not have obedience and we have character (resistance to training I guess). Also while we do have mood, we're not using it and are using joy instead (two is an overkill). We should prolly include obedience in the game to make training simpler. We do have dirt, we do not have a process where people are becoming dirty and need bath. We do not feed slaves, it is assumed to be a part of upkeep but we should prolly introduce that for training (simple at first).

This look like procedural, not object oriented (will not work in PyTFall) but the code can be very similar.

We'll have to add Broken Mind/Retarded checks to all jobs significantly penalizing player for having those girls working in order to make breaking girl during the training relevant.

I am not entirely sure we should borrow these calculation, stats/concept is very different, instead we need to take best concepts and fill in the gaps with PyTFall possibilities (training multiple girls, having trainers working for you and etc.)
Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 07:27:24 PM
http://www.partage-facile.com/NEGELPGPYN/teach_screen.txt.html (http://www.partage-facile.com/NEGELPGPYN/teach_screen.txt.html)

trigger interactions.. only usefull if you dont know witch interaction is what...

http://www.partage-facile.com/BDGDL4YRW2/interaction.txt.html (http://www.partage-facile.com/BDGDL4YRW2/interaction.txt.html)

list the different interactions.. some arent training related but you will see some use more parameters than the kiss interaction

http://www.partage-facile.com/6TOIG49R1H/interaction_result.txt.html (http://www.partage-facile.com/6TOIG49R1H/interaction_result.txt.html)

list the result of different interaction types ( i used the self teaching the 1 with less parameters )

http://www.partage-facile.com/KVSOK6GDDX/_dynamic.txt.html (http://www.partage-facile.com/KVSOK6GDDX/_dynamic.txt.html)

functions called from this file

some code isnt translated as its battle code or alchemy i didnt finish those and need to be fully translated to work else crash so didnt do that atm..

if i forgot to add some function used in outside files other than ( energy/mood/.. ) you wont use let me know

Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 07:48:39 PM
Also the way MC gains skill teaching girls a certain category ( petting/oral/sex/fetish ) or job related ( teaching ( general skill gained for non sexual training ) or ( maid/cook/nurse/dance/secretary/music/vocal/secretary/acting/...)
some gear boost base MC teaching skills.. butler/doctor/...  ( your limited by your own skill for teaching a girl a certain profession ) but your skill xp teaching that profession increase each time you teach a girl
so in the end after a few slave your maxed to train that profession.. or if you want your girl with skills above yours right away.. trainers have more skill than you but you need to pay them or send the girl to school to learn skill trainers dont have ( you need to go with her or send assistant with her )
Title: Re: General Discussion
Post by: lamoli on August 09, 2014, 08:08:23 PM
Ever played SIBR1X.. that game had a useful girl planing system.. you could manage the time of everyone efficiently atm on pytfall its hard to predict who goes on rest and who starts working so you end up with too many ppl working on the same thing making you lose money ( too many dirt generated ) :p or not enough ppl for that job..
it also had skills point gained each lvl to spend on skills or special skills to do a kind of job/action much better

had also funny texts like ( customer came but missed target and it ended up in the girls eye!! - 10 hygiene ) or something close to that
yeah used hygiene system but easy to manage with upgrades..

" your girl was so dumb she didnt think of using lube before anal sex - 10 hp " or something

girl xxxx brown hair causal dress log
cutomer wanted a blonde nurse for some....
girl xxxx int check
gril xxxx cos play skill check
grill xxxx used blonde wig with nurse outfit.. ( matched traits ) :p actually need to buy the wigs and cos play outfits from shop

also there was a market to sell girls for large amount of $$ within time limit ... a brown / big boobs  / service lvl 5 / cos play lvl 3 / advertising lvl 2 / ...
Title: Re: General Discussion
Post by: Xela on August 09, 2014, 11:14:58 PM
http://www.partage-facile.com/NEGELPGPYN/teach_screen.txt.html (http://www.partage-facile.com/NEGELPGPYN/teach_screen.txt.html)

trigger interactions.. only usefull if you dont know witch interaction is what...

http://www.partage-facile.com/BDGDL4YRW2/interaction.txt.html (http://www.partage-facile.com/BDGDL4YRW2/interaction.txt.html)

list the different interactions.. some arent training related but you will see some use more parameters than the kiss interaction

http://www.partage-facile.com/6TOIG49R1H/interaction_result.txt.html (http://www.partage-facile.com/6TOIG49R1H/interaction_result.txt.html)

list the result of different interaction types ( i used the self teaching the 1 with less parameters )

http://www.partage-facile.com/KVSOK6GDDX/_dynamic.txt.html (http://www.partage-facile.com/KVSOK6GDDX/_dynamic.txt.html)

functions called from this file

some code isnt translated as its battle code or alchemy i didnt finish those and need to be fully translated to work else crash so didnt do that atm..

if i forgot to add some function used in outside files other than ( energy/mood/.. ) you wont use let me know

Well, as I've said, there wasn't a need to copy everything into the files but I've glanced over them. Coding is crap, but there are some useful concepts over there I suppose. It will be up to you to isolate them and come up with a coherent system that is reasonable for PyTFall.

Also the way MC gains skill teaching girls a certain category ( petting/oral/sex/fetish ) or job related ( teaching ( general skill gained for non sexual training ) or ( maid/cook/nurse/dance/secretary/music/vocal/secretary/acting/...)

We could add teaching skill but I'd prefer a derivative of intelligence + corresponding skill. Also I am not sure what we should do about those "professions", we currently don't have anything like that in PyTFall. I would focus on solely on training (getting the girl to get in terms with her function in the society and be willing to perform required tasks without objections). For other stuff we have school and jobs.

some gear boost base MC teaching skills.. butler/doctor/...  ( your limited by your own skill for teaching a girl a certain profession ) but your skill xp teaching that profession increase each time you teach a girl
so in the end after a few slave your maxed to train that profession.. or if you want your girl with skills above yours right away.. trainers have more skill than you but you need to pay them or send the girl to school to learn skill trainers dont have ( you need to go with her or send assistant with her )

I am against this concept, besides being stupid (slaves being though every job), it's not reasonable to never expect a student to surpass a teacher, especially in such a broad field of study and once again I think that our training should be focused on obedience, not training in specific jobs.

Ever played SIBR1X.. that game had a useful girl planing system.. you could manage the time of everyone efficiently atm on pytfall its hard to predict who goes on rest and who starts working so you end up with too many ppl working on the same thing making you lose money ( too many dirt generated ) :p or not enough ppl for that job..
it also had skills point gained each lvl to spend on skills or special skills to do a kind of job/action much better

had also funny texts like ( customer came but missed target and it ended up in the girls eye!! - 10 hygiene ) or something close to that
yeah used hygiene system but easy to manage with upgrades..

" your girl was so dumb she didnt think of using lube before anal sex - 10 hp " or something

girl xxxx brown hair causal dress log
cutomer wanted a blonde nurse for some....
girl xxxx int check
gril xxxx cos play skill check
grill xxxx used blonde wig with nurse outfit.. ( matched traits ) :p actually need to buy the wigs and cos play outfits from shop

also there was a market to sell girls for large amount of $$ within time limit ... a brown / big boobs  / service lvl 5 / cos play lvl 3 / advertising lvl 2 / ...

Our girlsmeets concept is borrowed from there, some others as well. We don't need that planning system, there are faaar cooler things we could do like adding a really smart matron to the brothels + you have a very high degree of control, it's just often too much of a bother to try and plan out the whole thing and manage the business when it's so much easier just to click on the next day. It's not "hard" to predict anything btw. Low vilatily or low health means that the girl will go to autorest (unless) it's turned off. You can also auto-hire cleaners to mitigate the cleaning problem.

**I should note here that PyTFall has a shitload of possibilities that are not implemented. We have traits, girlsmeets, interactions, events, jobevents, all sorts unique girls customizations, possibility to add quest system, possibility to add all kinds of crafting, farming, gathering, exploration and so on. Ideas are plentiful, time to implement them is limited, we need clearcut concepts of interesting systems that can be added to PyTFall with as little messing with game's stats, traits and other concepts as possible. We've been discussing and digging through general ideas for a lot longer than this game been developed, what is in trully short supply today are written concepts on expanding the game because they are hard (MUCH harder than programming them, of that I am now certain). If you're up to the task, write one for slavetraining.
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 02:15:49 AM

Our girlsmeets concept is borrowed from there, some others as well. We don't need that planning system, there are faaar cooler things we could do like adding a really smart matron to the brothels + you have a very high degree of control, it's just often too much of a bother to try and plan out the whole thing and manage the business when it's so much easier just to click on the next day. It's not "hard" to predict anything btw. Low vilatily or low health means that the girl will go to autorest (unless) it's turned off. You can also auto-hire cleaners to mitigate the cleaning problem.


Cool i missed the Matron job.. but how do you check on girls vitality.. is there a warning on the end day summary or you mean check every girl hp every turn going to the girl stats screen ( that would be a pain )well for whore job going on auto rest.. thats fine but guards.. thats a big problem if all or more than half does it at same time or does MC still defend the girl if he has ap left ?, service/strip jobs auto rest isnt good either.. and i dont want 3 striper doing the job of 1 to make sure 1 is always up.. same for the bar.. cleaning well auto cleaning is fine.. unless code was reworked ( have to test playing more ) in the old version it would be impossible to survive 30 days.. without good $$ management making every job work using the min ppl

edit: also did tax go ? or was it reduced.. i dont see it in reports.. the few turns iv made made it way more easyer than before ( i guess i miss the 5k+ taxing ) lol

maybe add a warning when a girl is taking a rest in the summary ( dont need to be in the big red ! ) but woulnd mind if it goes there for now.
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 03:00:50 AM

**I should note here that PyTFall has a shitload of possibilities that are not implemented. We have traits, girlsmeets, interactions, events, jobevents, all sorts unique girls customizations, possibility to add quest system, possibility to add all kinds of crafting, farming, gathering, exploration and so on. Ideas are plentiful, time to implement them is limited, we need clearcut concepts of interesting systems that can be added to PyTFall with as little messing with game's stats, traits and other concepts as possible. We've been discussing and digging through general ideas for a lot longer than this game been developed, what is in trully short supply today are written concepts on expanding the game because they are hard (MUCH harder than programming them, of that I am now certain). If you're up to the task, write one for slavetraining.


From memory.. the best breaking a slave into submission i remember comes from CRF ( custom reido fantasy ) the interrogation part:
you capture a girl.. from there you have a x number of days to break her/and make her reveal rare items locations ( maybe doesnt need a time limit or reward from it or pytfall )
first you need to break her resistance ( will ) then when broken ( will regain some will every day unless you start make her submit to you daily )
then you break her pride doing shamefull things to her or reason doing things like abusive candle torture :p ( i didnt like the huntsman gore part and never translated it )
there was 3 or 4 steps but dont recall em right but it was a good addition to their genaraly good slave training ( too bad you coulnd train the interogated slave after that )
was limited by her max physical/moral hp (regained every day unless you overworked her then had a penalty on her max hp regen ) every breaking action would either drains phys or moral or a bit of both

if you never played that game i recommend it for more concepts:
MC is a vampire girl( ermm boy ? ) that woul feed on trained slave if they did bad deeds like havin 100-200-300 sex skills in many catrgory ( gives a stats like debauchery MC could feed on ) to gain mana point ( those where used to upgrade MC training stats or spend to explore location ammount was higher if distant location ) also used to capture a girl i think
best to feed when that stat like debauchery was at max as it reduced physical/moral strength by 50 of the girl
you could make 2 owned slave breed together ( strange ) but would result in a slave with stronger physical/moral strength
( could use a breeding system in pytfall .. train a girl make her gain traits and good basic stats then get her pregnant .. result could mix girl stat with MC stats or make a screen to pick what you want or dont ( only if you got skill at that ex: MC trait Master breeder ) :p

rest was common stuff..

ill try to get all the good concepts and condense them.. but i would need to know what skills/traits/stats your willing to use for those and might add something like obedience or maybe something realy needed for concept to work ( as you dont want to change too mutch the code ) or maybe ( on slave training module use more stats/skills to gain traits that could be used in main part of the game where those extra skill/stats woulnd be needed as the trait is already gained )

also could lose the trait with some red events event in game .. then girl would require retraining that/those traits( for slave i guess ) free girl would use teachers or something else or some date/interaction to gain it back.. unless you plan of enslaving them if they bad grils :p
Title: Re: General Discussion
Post by: DarkTl on August 10, 2014, 05:51:46 AM
Well, they'd generally try to equip items that are best for the job. They don't seem to equip anything at the moment, maybe I didn't test it enough. But there seems to be an issue with the Rest class, going to take a look at it now.
Did you test it after fixing badness? Maybe it's because they buy useless things, either because of reversed badness or too much rng.
I've seen warriors equipping weapons occasionally  ::)
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 06:09:55 AM
Cool i missed the Matron job.. but how do you check on girls vitality.. is there a warning on the end day summary or you mean check every girl hp every turn going to the girl stats screen ( that would be a pain )well for whore job going on auto rest.. thats fine but guards.. thats a big problem if all or more than half does it at same time or does MC still defend the girl if he has ap left ?, service/strip jobs auto rest isnt good either.. and i dont want 3 striper doing the job of 1 to make sure 1 is always up.. same for the bar.. cleaning well auto cleaning is fine.. unless code was reworked ( have to test playing more ) in the old version it would be impossible to survive 30 days.. without good $$ management making every job work using the min ppl

edit: also did tax go ? or was it reduced.. i dont see it in reports.. the few turns iv made made it way more easyer than before ( i guess i miss the 5k+ taxing ) lol

maybe add a warning when a girl is taking a rest in the summary ( dont need to be in the big red ! ) but woulnd mind if it goes there for now.

We've disabled the taxes for now. Guards thing I need to fix, they always respond with the whole group for every event, that shouldn't be the case.


From memory.. the best breaking a slave into submission i remember comes from CRF ( custom reido fantasy ) the interrogation part:
you capture a girl.. from there you have a x number of days to break her/and make her reveal rare items locations ( maybe doesnt need a time limit or reward from it or pytfall )
first you need to break her resistance ( will ) then when broken ( will regain some will every day unless you start make her submit to you daily )
then you break her pride doing shamefull things to her or reason doing things like abusive candle torture :p ( i didnt like the huntsman gore part and never translated it )
there was 3 or 4 steps but dont recall em right but it was a good addition to their genaraly good slave training ( too bad you coulnd train the interogated slave after that )
was limited by her max physical/moral hp (regained every day unless you overworked her then had a penalty on her max hp regen ) every breaking action would either drains phys or moral or a bit of both

Doesn't sound too bad.

if you never played that game i recommend it for more concepts:
MC is a vampire girl( ermm boy ? ) that woul feed on trained slave if they did bad deeds like havin 100-200-300 sex skills in many catrgory ( gives a stats like debauchery MC could feed on ) to gain mana point ( those where used to upgrade MC training stats or spend to explore location ammount was higher if distant location ) also used to capture a girl i think
best to feed when that stat like debauchery was at max as it reduced physical/moral strength by 50 of the girl
you could make 2 owned slave breed together ( strange ) but would result in a slave with stronger physical/moral strength
( could use a breeding system in pytfall .. train a girl make her gain traits and good basic stats then get her pregnant .. result could mix girl stat with MC stats or make a screen to pick what you want or dont ( only if you got skill at that ex: MC trait Master breeder ) :p

Lets deal with the st first, breeding we can add later.

rest was common stuff..

ill try to get all the good concepts and condense them.. but i would need to know what skills/traits/stats your willing to use for those and might add something like obedience or maybe something realy needed for concept to work ( as you dont want to change too mutch the code ) or maybe ( on slave training module use more stats/skills to gain traits that could be used in main part of the game where those extra skill/stats woulnd be needed as the trait is already gained )

also could lose the trait with some red events event in game .. then girl would require retraining that/those traits( for slave i guess ) free girl would use teachers or something else or some date/interaction to gain it back.. unless you plan of enslaving them if they bad grils :p

"Willing to use" stat is not an issue here. We'll use whatever is reasonable, I just don't think we need to add 10 new stats to the game. Also stuff like flags/internal stats could be isolated to slave-training in itself. I think the training should be about setting flags for the slavegirl, like "Sex" (willing to do sex), "Service" (willing to do service tasks) and etc. We'll check for those during the jobs. I don't like the concept where a girl one day might be willing to serve as a slave in the brothel, next day refuse, then agree again.

It shouldn't be too demanding I guess, also should scale with a possibility to have trainers working for you. Training for traits... might work, I am not sure, depends on how that's setup.

Did you test it after fixing badness? Maybe it's because they buy useless things, either because of reversed badness or too much rng.
I've seen warriors equipping weapons occasionally  ::)

I've managed to fix it yesterday, there was nothing wrong with the auto-equip method or auto-rest. Going to expand the fg tonight.

**But the problem remains, many items are not equipped because they're not being used for a job. I think we should add once per 10 days or so auto-equip aimed at improving all stats. Or we could not consider this an issue...
Title: Re: General Discussion
Post by: DarkTl on August 10, 2014, 06:32:12 AM
I'd say if an item is not used for a job, it doesn't mean that it cannot be equipped. It just means that it has lower priority than items that used for a job. But empty slots should have the lowest priority ever. Better to equip something (if eqchance is not 0 and it doesn't decrease used for a job stats) than nothing at all.
They just should check from time to time if they have better suited for a job items.

While it's not really an issue, it will inevitably rise questions why girls sit on full inventories with empty slots.

Btw, another question. How often do they try to buy items, and how many items they can buy at once?
Title: Re: General Discussion
Post by: DarkTl on August 10, 2014, 08:58:05 AM
you capture a girl.. from there you have a x number of days to break her/and make her reveal rare items locations ( maybe doesnt need a time limit or reward from it or pytfall )
first you need to break her resistance ( will ) then when broken ( will regain some will every day unless you start make her submit to you daily )
then you break her pride doing shamefull things to her or reason doing things like abusive candle torture :p ( i didnt like the huntsman gore part and never translated it )
Ok, let's theorize a bit. We already have character (strength of personality more or less), and we'll add obedience as another stat most likely.
Let's say that the higher character, the more difficult (though never impossible) to rise obedience. On the country, the more obedience, the more difficult (though never impossible) to rise character.
Thus, you can break them quickly by removing character stat out of the way, but they will be spineless then.

Now, pride is somewhat difficult to implement as a separate stat if we already have obedience and character. It's not hard to add training options that will reduce it (all those superhumiliating things from Jack-o-nine tails), but other than that I'm not sure how to use it in the game. Character is pride more or less, I guess.

But we probably could use morality as another stat. So you need to corrupt them too, that's not too hard to implement in many parts of the game and it's pretty fun too.

MC is a vampire girl( ermm boy ? ) that woul feed on trained slave if they did bad deeds like havin 100-200-300 sex skills in many catrgory ( gives a stats like debauchery MC could feed on ) to gain mana point ( those where used to upgrade MC training stats or spend to explore location ammount was higher if distant location ) also used to capture a girl i think
Might be useful as a trait for MC, when he'll have them in the future.

( could use a breeding system in pytfall .. train a girl make her gain traits and good basic stats then get her pregnant .. result could mix girl stat with MC stats or make a screen to pick what you want or dont ( only if you got skill at that ex: MC trait Master breeder )
Yup. If you have any fun ideas how to explain acceleration of pregnancy in order to not wait 9 months + 14-16-18 years (depending on your local laws), feel free to share.
Actually, some kind of concept is needed here too. Just set pregnancy time to 30 turns and breed them like there is no tomorrow sound pretty lame.
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 09:19:30 AM
Yup. If you have any fun ideas how to explain acceleration of pregnancy in order to not wait 9 months + 14-16-18 years (depending on your local laws), feel free to share.
Actually, some kind of concept is needed here too. Just set pregnancy time to 30 turns and breed them like there is no tomorrow sound pretty lame.

Well Jack-o-nine-tails had statis tube/chamber.. why not add incubation chamber ( would remove the working girl pregnant penalty if any ) and would accelerate the baby growth ( depending of current upgrade of tank it would go faster.. thats if you want to craft it from items or even make research to build it )

with explore module you could find lost tech design or blueprints find/loot materials and so on.. there is a possibility to make it work if ok with the idea..

well without that item it could takes a lot of turns lol
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 09:25:02 AM
If that tank got used you could even add genetic modification to the baby ( aka traits/base stats boosts ) well would depend on how far you want to develop the idea

another idea would be to feed the girl with special baby growing protein to make it develop faster then when born feed him with fast growing hormones.. ( but like the item to build better )
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 09:34:06 AM
But we probably could use morality as another stat. So you need to corrupt them too, that's not too hard to implement in many parts of the game and it's pretty fun too.

Corruption is a great idea and now i remember thats the stat CRF MC would feed on.. now we need to think how to use it..
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 09:49:48 AM
Hmm that no ST but Slave capture acquisition.. you could ask ( if dispostion with girl you talked to for nasty rumors/pictures on girls she might know so you could use those as blackmail or just bribe it out of the girl ) or from information provider then it would need a way to contact her like with phone or internet to decide on a meeting place ( event location ) then you could have another interaction topic with the girl where you could use those information to corrupt her ( that would be like another bar in the screen ) girl would do things you ask by either using disposition bar or corruption bar..

not sure it could be implemented but could be fun to have 2 way or acquiring the girl.. and corrupted girls could maybe do other kind of jobs like killing/bribing/or run shady organizations that would make profit from dirty money.. or could have a even less disobey rate since you got he on a leach for life..
and of course you could train her as slave for those job

or maybe let her free but would need to think on a way to train her for that kind of jobs... evil/shady trainers ( might get those if your evil enough or unlocked doing some quests )

well i guess she could try to recover that blackmail stuff from you.. need to think on how..
Title: Re: General Discussion
Post by: DarkTl on August 10, 2014, 11:01:38 AM
If that tank got used you could even add genetic modification to the baby ( aka traits/base stats boosts ) well would depend on how far you want to develop the idea
We thought about clonning system actually, when you use genetic info from some girl and try to build a clone within required parameters, with clones having limited limited lifetime that could be increased for a huge enough sum (thus, clones should be useful to be profitable).

Pregnancy should be a little more different, I believe. With little to no control over outcome and more time required, but with more stable results.
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 12:15:36 PM
I'd say if an item is not used for a job, it doesn't mean that it cannot be equipped. It just means that it has lower priority than items that used for a job.

Atm it does. But it would not be unequipped either. This will be further complicating this shit m8, like checking if an item is not counter productive to the job and do that for potentially huge lists of items if they cannot be filtered by the job. That code is already decent... I'll look into it, maybe something can be done without too much fuss.

Better to equip something (if eqchance is not 0 and it doesn't decrease used for a job stats) than nothing at all.
They just should check from time to time if they have better suited for a job items.

eqchance doesn't prevent an item from being equipped, only permanent and badtraits types do that. It will lower the chance to equip. Also that's not true, there are as I've said items that have a decent equip chance but lower battle stats, equipping that on a warrior instead of nothing is not very productive. Also there should be something for a player to do, I am beginning to think that all of this automation isn't doing justice to the game that is about managing stuff. If player cares about the girl, let him buy an item that she's missing and give it to her. She'll equip it then.

While it's not really an issue, it will inevitably rise questions why girls sit on full inventories with empty slots.

Btw, another question. How often do they try to buy items, and how many items they can buy at once?

And we'll give a simple answer, those items are not useful for whatever task they're performing, buy them a proper additions.

They'll buy only if they are resting or doing nothing at all. Every 3 days in those cases (I think).

Hmm that no ST but Slave capture acquisition.. you could ask ( if dispostion with girl you talked to for nasty rumors/pictures on girls she might know so you could use those as blackmail or just bribe it out of the girl ) or from information provider then it would need a way to contact her like with phone or internet to decide on a meeting place ( event location ) then you could have another interaction topic with the girl where you could use those information to corrupt her ( that would be like another bar in the screen ) girl would do things you ask by either using disposition bar or corruption bar..

not sure it could be implemented but could be fun to have 2 way or acquiring the girl.. and corrupted girls could maybe do other kind of jobs like killing/bribing/or run shady organizations that would make profit from dirty money.. or could have a even less disobey rate since you got he on a leach for life..
and of course you could train her as slave for those job

or maybe let her free but would need to think on a way to train her for that kind of jobs... evil/shady trainers ( might get those if your evil enough or unlocked doing some quests )

well i guess she could try to recover that blackmail stuff from you.. need to think on how..

Untrained slaves will either be captured or bought at the market from Stan. Focus on st please, it's base, there is no need for brainstorming to go ballistic every time concept is being discussed. Try to come up with a reasonable form of base training that could be expanded as required.

Ok, let's theorize a bit. We already have character (strength of personality more or less), and we'll add obedience as another stat most likely.
Let's say that the higher character, the more difficult (though never impossible) to rise obedience. On the country, the more obedience, the more difficult (though never impossible) to rise character.
Thus, you can break them quickly by removing character stat out of the way, but they will be spineless then.

Now, pride is somewhat difficult to implement as a separate stat if we already have obedience and character. It's not hard to add training options that will reduce it (all those superhumiliating things from Jack-o-nine tails), but other than that I'm not sure how to use it in the game. Character is pride more or less, I guess.

But we probably could use morality as another stat. So you need to corrupt them too, that's not too hard to implement in many parts of the game and it's pretty fun too.
Might be useful as a trait for MC, when he'll have them in the future.
Yup. If you have any fun ideas how to explain acceleration of pregnancy in order to not wait 9 months + 14-16-18 years (depending on your local laws), feel free to share.
Actually, some kind of concept is needed here too. Just set pregnancy time to 30 turns and breed them like there is no tomorrow sound pretty lame.

Once again, focus on st or fg, we can talk pregnancies later. We have character so pride isn't really required. We also have traits that can be used during the training as flags (a lot). Lowering character will only be an issue if we include character bonuses to the jobs.

We thought about clonning system actually, when you use genetic info from some girl and try to build a clone within required parameters, with clones having limited limited lifetime that could be increased for a huge enough sum (thus, clones should be useful to be profitable).

Pregnancy should be a little more different, I believe. With little to no control over outcome and more time required, but with more stable results.


LoL Not even a mention of slave-training anymore :D

I haven't actually seen a written concept once, they either turn out too complicated and sh!t ends like like it did in MM (more code written than for the entire PyTFall and there is no game because concept is too complex to make one with a small team) or like in Alkion where we spent days coming up with batshit crazy ideas and worlds of useless brainstorming and never got sh!t done because chatting about it was so fun :)

Cloning is gamebreaking if you could clone any character. It should be beyond expensive, in area of the millions only for the most privileged in PyTFall. Accelerated pregnancy is stupid and confusing as well. It would also require checks during the jobs.

I am going to see if I can cook something to eat and expand fg a bit tonight before I get caught up in this conversation :D
Title: Re: General Discussion
Post by: DarkTl on August 10, 2014, 12:37:34 PM
I ask again, how many items they can buy at once?  ::)

Lowering character will only be an issue if we include character bonuses to the jobs.
We will if we must in order to make it more useful.

Cloning is gamebreaking if you could clone any character. Cloning is gamebreaking if you could clone any character. It should be beyond expensive, in area of the millions only for the most privileged in PyTFall.
Oh god, where this nonsense came from?  ???

You clone their picture set (the main reason to do it, it's almost fanservice, I'd say) and some traits, nothing more, no level, stats, items, etc. Because they got those levels, stats, items, etc. not from genetics.

Not to mention the need of genetic material (=very high disposition or slave you already own) and big monthly fee. It's more like an alternative for brothels and arena, making and selling clones, and it should be just as profitable.

Wasting millions on relatively useless clones and calling that endgame that's what gamebreaking, pardon my English.
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 12:56:43 PM
I ask again, how many items they can buy at once?  ::)

Oh god, where this nonsense came from?  ???

3 items per shopping tour at the moment.

Common sense, if cloning is cheap and you could clone highleveled characters, there would be nothing but wars. It's not reasonable and not very productive. I am not saying we shouldn't have it at some point, just that it should be damned expensive.

You clone their picture set (the main reason to do it, it's almost fanservice, I'd say) and some traits, nothing more, no level, stats, items, etc. Because they got those levels, stats, items, etc. not from genetics.

Not to mention the need of genetic material (=very high disposition or slave you already own) and big monthly fee. It's more like an alternative for brothels and arena, making and selling clones, and it should be just as profitable.

Wasting millions on relatively useless clones and calling that endgame that's what gamebreaking, pardon my English.

Without stats it might work. Still would be a task to code distinctions onto interactions... we can't even finish the basics :) The problem with these addons is that in order to integrate them into game properly a good deal of work is required because game assumes a certain level of interaction.

Lets deal with the fighting guild first. I'd also prefer to have slave training or crafting over cloning/pregnancy first. We also need to come up with modding guides to get more people involved and hopefully they will once they realize how easy it is.
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 12:57:24 PM
are slave only trained to work for you or will we be able to sell em for profit ?
but would require specific training meeting demands of ppl looking certain skills..
when ever you capture a girl or buy it from market.. chances are she could be really resistant( or not )
would require both types ( some free girl might have had RL submission experience while some slave basic obedience training )
rest would have a range from x to x base character from file or dice or defined range
i would like to have the slave in training with full slave gear then remove parts as she gets more obedient
( main problem is current items remove 110 character in stat and 65 in MAX ) what would be the starting character ???
well mabe you can get/buy slave grils with different starting lvls their max starting character shoulnd be above 110 tho
as for the low lvl ones maybe equip just enough items to reduce it to 0 then do the training and removing those items
( or could jut got with -110 on everyone so they would require same training and that way they would require the same items to be removed
with character reduced to 0 as it wont go below 0 training would require the real value of character without items like ... Character xx/xx (xx)
(xx) would be the number to break to break her resistance..
while (xx) get reduced enough to remove an item you will be able to do so.. and use another item in its place to help the training of a certain course
every action to reduce (xx) sould give some obedience but as long as theres (xx) there is a chance for the slave to resist training..
then she should be punished with some actions.. that will drain her vitality.. failing to do so will increase (xx) while if you punish her you get more obedience points
some training actions should require the slave to have a certain number of obedience points
also wil jobs going to have sub class or upgrades like whore has ?? need to know that to orient training for slaves..

POSSIBLE SLAVE TRAITS

dedicated ( after days of training her refinement got broken and her obedience maxed ... this slave woulnd not refuse any of your order ) could use different lvl of the trait you should
                          train the slave with...
Starving Mastered ( after day without or minimum food this slave uppkeep is reduced to a minimum food wise ) could also use ranks using different names
SDF            ( after living in a cell for days she got used to live with no comfort at all tis will reduce her uppkeep on loging ) could also use ranks using different names
Alluring Mastery ( spending all this time trying to improve her looks she get more client potential than others" could work for many jobs" ) could also use ranks using different names
fake orgasm expert ( you fake it if skill rank high enough client will not notice.. while saving an AP for a next job if successful ) could also use ranks using different names
Story teller ( your nevern ending story talks make your customer stay at the bar and drink.. beware fight may trart if they got too drunk ) could also use ranks using different names
VIP Godess ( your stripping skills where trained so well ppl want you to make personal private show in VIP room paying even more )  could also use ranks using different names
TIP bucket ( whatever you do you get tips for every job you do ) could also use ranks using different names

well need realistily doable traits thats just some basic idea

xxxxxxxxxxxxxxxx specific job related.. need to know what  your planning first

VITALITY                                                                                                                                      REFINEMENT

eatch 5 or 10 point of con should gives a resist to vitality drop x%                            eatch eatch 5 or 10 point of (xx) should gives a resist to (xx) drop x%
trait to add resist vitality drop                                                                                                  trait to add resist (xx) drop

Athletic               x%                                                                                                                       Iron will                                      x%
Tough                x%                                                                                                                       stubborn                                      x%
Artificial body  x%                                                                                                                        noble or similar                      x%
                                                                                                                                                           idol or popular ppl                x%

traits to reduce resist on vitality drop                                                                                     traits to reduce resist on (xx) drop

Weak                  x%                                                                                                                         broken will                              x%
addict                 x%                                                                                                                         dependent                             x%
 ???                                                                                                                                                     ???

well dont know all the ingame traits but you do and might complete it
-------------------------------------------------------------existing items----------------------------------------------------------------------

Slave handcuffs reduce character -15 STAT -15 MAX   hands
Slave shackles  reduce character -20 STAT -20 MAX   feet
Slave rags           reduce character -50 STAT -20 MAX   body
Leach                    reduce character -25 STAT -10 MAX   amulet

Pacifist armlet ( turn girl into a passive sex slave )             hands could be useful to replace handcuffs at some training point to train her as whore

gona need other items for other jobs training...
Title: Re: General Discussion
Post by: DarkTl on August 10, 2014, 01:06:59 PM
About character, this is well explained by Old Huntsman somewhere. You can break them completely, but no one wants a completely broken slave, people prefer obedient but temperamental ones.

3 items per shopping tour at the moment.
Probably too many. They fill their inventory too quickly. It still could be 3, but how about 60% chance for a second one and 30% for a third one?

Common sense, if cloning is cheap and you could clone highleveled characters, there would be nothing but wars.
Yup, that's why I never even considered the option of 100% clonning. I'm surprised that you did  :)
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 01:11:24 PM
About character, this is well explained by Old Huntsman somewhere. You can break them completely, but no one wants a completely broken slave, people prefer obedient but temperamental ones.

yeah only pride should be totaly broken rest need t be maxed if possible.. but not usefull here as those stats dont exist ill just go with obedience/character
i would say refinement too but used in whore job upgrade too so wont use it
unless you make a different class of whore job.. common whore can be slaves and dont need refinement to upgrade while free whore can become lux whore and thus need refinement upgrades
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 02:06:54 PM
About character, this is well explained by Old Huntsman somewhere. You can break them completely, but no one wants a completely broken slave, people prefer obedient but temperamental ones.
Probably too many. They fill their inventory too quickly. It still could be 3, but how about 60% chance for a second one and 30% for a third one?
Yup, that's why I never even considered the option of 100% clonning. I'm surprised that you did  :)

We discussed cloning before and the premise was full cloning with magic completely blocked off unless I misunderstood the discussion.

It's not too many, disable the 10 000 gold bonus during the game start and it gets a LOT better. I'd make it more really, not less + we can do other stuff with items later like having girl saving some money before going shopping so she can buy better items, right now the amount when she goes shopping is set at 1000.

**@lamoli:

It should be noted that mine are also opinions, the only time when I'd force something into the game or reject an idea completely is if it's too difficult to code with very little added benefit, completely out of sync with PyTFall or I am creating the whole thing myself. So basically feel absolutely free to contradict/offer other options (god knows others do plenty of that :D)

are slave only trained to work for you or will we be able to sell em for profit ?
but would require specific training meeting demands of ppl looking certain skills..
when ever you capture a girl or buy it from market.. chances are she could be really resistant( or not )
would require both types ( some free girl might have had RL submission experience while some slave basic obedience training )

- Definitely also selling for profit.
- Sure, we already have traits, stats, levels, experience and I've also suggested flags that will provide info about what job/task a girl would be willing to do without objections.
- Yeap, there is always a chance she's a very resistant level 300 buffed up character with maxed out battle stats that got captures just to have some fun and will beat you/security to escape. Girls can already be quite different from one another... we can also obfuscate stats/traits for captured girls until you/trainers spent some time training them, figuring them out. That wouldn't be very difficult.
- Sure, all slaves sold at the market should have full obedience training. Untrained slaves can be bought asking Stan to sell some to you.


rest would have a range from x to x base character from file or dice or defined range
i would like to have the slave in training with full slave gear then remove parts as she gets more obedient
( main problem is current items remove 110 character in stat and 65 in MAX ) what would be the starting character ???
well mabe you can get/buy slave grils with different starting lvls their max starting character shoulnd be above 110 tho
as for the low lvl ones maybe equip just enough items to reduce it to 0 then do the training and removing those items
( or could jut got with -110 on everyone so they would require same training and that way they would require the same items to be removed
with character reduced to 0 as it wont go below 0 training would require the real value of character without items like ... Character xx/xx (xx)
(xx) would be the number to break to break her resistance..

I am not quite sure that I follow. I think that all items/traits that reduce the maximums should be removed from the game or redesigned just like all items/traits that push minimum out of range were redesigned. Right now there is a good amount of items that when used, reduce the maximum below 0 completely f#cking up some part of the game. Code that would be required to mitigate that is very complicated and would be hard to work with just as it would have been for minimums. I've noticed that after the recent items review.

We could also use real stats instead of stats that have items applied to them for parts of the training (like really important parts, setting final flags and such).

while (xx) get reduced enough to remove an item you will be able to do so.. and use another item in its place to help the training of a certain course
every action to reduce (xx) sould give some obedience but as long as theres (xx) there is a chance for the slave to resist training..
then she should be punished with some actions.. that will drain her vitality.. failing to do so will increase (xx) while if you punish her you get more obedience points
some training actions should require the slave to have a certain number of obedience points
also wil jobs going to have sub class or upgrades like whore has ?? need to know that to orient training for slaves..

We can use flags and real stats instead of items once for when it really matters. Items could make training itself easier, getting a girl to get to submit could simply require a number of flags (based on traits) and checks vs her true stats instead of item once, once again mitigated by traits/flags. (by flags I mean counter of how many times she undergone specific training sessions successfully). I think that would be a decent approach.


About character, this is well explained by Old Huntsman somewhere. You can break them completely, but no one wants a completely broken slave, people prefer obedient but temperamental ones.
Probably too many. They fill their inventory too quickly. It still could be 3, but how about 60% chance for a second one and 30% for a third one?
Yup, that's why I never even considered the option of 100% clonning. I'm surprised that you did  :)

We discussed cloning before and the premise was full cloning with magic completely blocked off unless I misunderstood the discussion.

It's not too many, disable the 10 000 gold bonus during the game start and it gets a LOT better. I'd make it more really, not less + we can do other stuff with items later like having girl saving some money before going shopping so she can buy better items, right now the amount when she goes shopping is set at 1000.

POSSIBLE SLAVE TRAITS

dedicated ( after days of training her refinement got broken and her obedience maxed ... this slave woulnd not refuse any of your order ) could use different lvl of the trait you should
                          train the slave with...
Starving Mastered ( after day without or minimum food this slave uppkeep is reduced to a minimum food wise ) could also use ranks using different names
SDF            ( after living in a cell for days she got used to live with no comfort at all tis will reduce her uppkeep on loging ) could also use ranks using different names
Alluring Mastery ( spending all this time trying to improve her looks she get more client potential than others" could work for many jobs" ) could also use ranks using different names
fake orgasm expert ( you fake it if skill rank high enough client will not notice.. while saving an AP for a next job if successful ) could also use ranks using different names
Story teller ( your nevern ending story talks make your customer stay at the bar and drink.. beware fight may trart if they got too drunk ) could also use ranks using different names
VIP Godess ( your stripping skills where trained so well ppl want you to make personal private show in VIP room paying even more )  could also use ranks using different names
TIP bucket ( whatever you do you get tips for every job you do ) could also use ranks using different names

well need realistily doable traits thats just some basic idea

xxxxxxxxxxxxxxxx specific job related.. need to know what  your planning first

We could add more traits I guess, not sure if that's really required (my hidden flags idea would work better I think).

*Traits/Items are Dark's domain.
Title: Re: General Discussion
Post by: DarkTl on August 10, 2014, 02:58:31 PM
We discussed cloning before and the premise was full cloning with magic completely blocked off unless I misunderstood the discussion.
We never actually discussed stats themselves, I think. I always presumed that we should reset them, simply because otherwise it will be waaaay too profitable instead of just fun and unusual. We still can add 100% cloning too for insane amount of money, if you want it, but I dislike its overpowerness. Maybe if it also will require some rare drop-only item...

I believe strippers and whores could benefit from character btw. I'll add it to formulas tomorrow.

We could add more traits I guess, not sure if that's really required (my hidden flags idea would work better I think).
Well, they sound like a part of hypothetical skill tree rather than traits.
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 03:16:55 PM
Well, they sound like a part of hypothetical skill tree rather than traits.

Nothing so fancy. Counting flags for the training and boolean flags for particular job types.
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 03:27:54 PM
- Definitely also selling for profit.
- Sure, we already have traits, stats, levels, experience and I've also suggested flags that will provide info about what job/task a girl would be willing to do without objections.
- Yeap, there is always a chance she's a very resistant level 300 buffed up character with maxed out battle stats that got captures just to have some fun and will beat you/security to escape. Girls can already be quite different from one another... we can also obfuscate stats/traits for captured girls until you/trainers spent some time training them, figuring them out. That wouldn't be very difficult.
- Sure, all slaves sold at the market should have full obedience training. Untrained slaves can be bought asking Stan to sell some to you.

Ok will you make a system of slave buyers that randomly or user defined ask a girl type with certain traits acquired using training could be more than 1 offer ( also offer validity could have a time limit ) this could improve gameplay trying to find that type of girl then acquiring her by capture/buy from marked/sold by stan then train her as offer requires then sell her for profit..

For resistance maybe you could make basic items sold at shops while if you need stronger items you could craft em from exploration loot, you could use different lvl range of items that restrains her the stronger the restrain the rarer the crafting components would be to find ( or would require you to somehow beat a monster/npc of really high lvl )
also items that would impair her battle skill to some extend could be useful ( again could use basic version from shop to start with then would need crafting )
might also think about security upgrades.. like special holding cell that can be upgraded with basic upgrades then with crafting and specialized guard jobs to watch out the captive

hidden trait would be awesome.. this is a great option for MC to train a skill to identify the type of girl and he would learn it as he trains those slaves but even without that skill MC could learn that girl stat/trait training her.. might use some verbal sentence to find out about it but would also contribute on breaking her
then the more physical approach like slapping/torture ( doenst have to be harcore .. could use a feather until she reveals some of her hidden stuff and get obedience trained at same time.
also slaves sold by stan could have hidden stats like captured girls unlike slave market full trained slaves and traits skill revealed

this would add the fun of finding out what you inherited lol and train her in a way she could make some profit for you or if her stats match your needs train her to make her work for you

I
am not quite sure that I follow. I think that all items/traits that reduce the maximums should be removed from the game or redesigned just like all items/traits that push minimum out of range were redesigned. Right now there is a good amount of items that when used, reduce the maximum below 0 completely f#cking up some part of the game. Code that would be required to mitigate that is very complicated and would be hard to work with just as it would have been for minimums. I've noticed that after the recent items review.
We could also use real stats instead of stats that have items applied to them for parts of the training (like really important parts, setting final flags and such).

Ok lets forget about - character items on either STATS or MAX real stats are fine

We can use flags and real stats instead of items once for when it really matters. Items could make training itself easier, getting a girl to get to submit could simply require a number of flags (based on traits) and checks vs her true stats instead of item once, once again mitigated by traits/flags. (by flags I mean counter of how many times she undergone specific training sessions successfully). I think that would be a decent approach.

Well would definitely need items to start training the lvl 300 boosted battle girl like proposed on first quote
as for submit lvl .. using obedience lvl could be a first check since every slave should be trained with it then job specific traits the reduce refusal chance even further
ex: slave whore maxed obedience ( first check ) may refuse job because joy too low.. vitality too low or customer class too low or she just doesn't like him..
then goes thr prof trait check like whoremaster ( j/k ) need to think of trait for each jobs those could have ranks to make em even more potent.. this trait lessen even further the chance for her to refuse that kind of job while a free girl not slave trained would refuse right away
mentioned ranks for prof specific traits would increase with successful training sessions

We could add more traits I guess, not sure if that's really required (my hidden flags idea would work better I think).

*Traits/Items are Dark's domain.

then will wait Dark comment..
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 04:00:18 PM
Ok will you make a system of slave buyers that randomly or user defined ask a girl type with certain traits acquired using training could be more than 1 offer ( also offer validity could have a time limit ) this could improve gameplay trying to find that type of girl then acquiring her by capture/buy from marked/sold by stan then train her as offer requires then sell her for profit..

We should find some sprites for NPCs. System shouldn't be an issue, either random or user defined. I also wanted to start using dark.light alignment with slave training. But we should prolly create the training itself first. We could also have recurring event where NPCs come to the training guild, either asking to train a slave for them or buy some of the already trained once.

For resistance maybe you could make basic items sold at shops while if you need stronger items you could craft em from exploration loot, you could use different lvl range of items that restrains her the stronger the restrain the rarer the crafting components would be to find ( or would require you to somehow beat a monster/npc of really high lvl )
also items that would impair her battle skill to some extend could be useful ( again could use basic version from shop to start with then would need crafting )
might also think about security upgrades.. like special holding cell that can be upgraded with basic upgrades then with crafting and specialized guard jobs to watch out the captive

Irrelevant, we need ST system first, then we can start combining the systems and more importantly, integrate them with the gameflow. Right now even Arena that has been around forever isn't integrated into the gameplay properly and is an isolated system instead.

I like the ideas of helper items, like really large boosts to chances of success in sex training if aphrodisiac is used especially paired with nymphomaniac trait.

hidden trait would be awesome.. this is a great option for MC to train a skill to identify the type of girl and he would learn it as he trains those slaves but even without that skill MC could learn that girl stat/trait training her.. might use some verbal sentence to find out about it but would also contribute on breaking her
then the more physical approach like slapping/torture ( doenst have to be harcore .. could use a feather until she reveals some of her hidden stuff and get obedience trained at same time.
also slaves sold by stan could have hidden stats like captured girls unlike slave market full trained slaves and traits skill revealed

Yeap. A concept for obscuring stats is needed, how and when there revealed and such. But it'll get easier once we have training flags (full access to info for trained slaves and limited access for untrained slaves depending on the amount of flags that they have).

this would add the fun of finding out what you inherited lol and train her in a way she could make some profit for you or if her stats match your needs train her to make her work for you

Yeap. With slavetraining, casanova class should also be more advantageous. Atm it's just a bit of a bonus during interactions + higher charisma/sex stat.

Well would definitely need items to start training the lvl 300 boosted battle girl like proposed on first quote
as for submit lvl .. using obedience lvl could be a first check since every slave should be trained with it then job specific traits the reduce refusal chance even further
ex: slave whore maxed obedience ( first check ) may refuse job because joy too low.. vitality too low or customer class too low or she just doesn't like him..
then goes thr prof trait check like whoremaster ( j/k ) need to think of trait for each jobs those could have ranks to make em even more potent.. this trait lessen even further the chance for her to refuse that kind of job while a free girl not slave trained would refuse right away
mentioned ranks for prof specific traits would increase with successful training sessions

That was an extreme example, I don't think we'll even have girls like that unless under unique events.

Slave stats should be checked vs trainers, like battleskills, charisma, character, intelligence to influence the training.

I'd prefer slaves to agree to do the job under the same premise as a free girl would as long as they have the corresponding flag (willing to do the task). I don't like checking half a dozen stats and traits to figure out if girl wants to do something or not.

No need to overcomplicate things with ranks + traits. Frags as counters will be more than sufficient to track training process and we don't have the resources (time/manpower) to code the jobs checking all of that cr@p. It is not very likely to make training more interesting/iterative either.

Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 04:12:27 PM
No need to overcomplicate things with ranks + traits. Frags as counters will be more than sufficient to track training process and we don't have the resources (time/manpower) to code the jobs checking all of that cr@p. It is not very likely to make training more interesting/iterative either.

hmm other than breaking her character and training obedience thats all ST will be about then ??

well that and stats boosting by training .. no already in game trait gain doing some training ?
i mean we would need a way to gain traits that are in game to meet demand of potential npc buyers for the slave
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 04:25:14 PM
hmm other than breaking her character and training obedience thats all ST will be about then ??

Character doesn't need to be broken.

What else do you suggest? A bunch of semi-useless numeric stats that are same/similar for every girls? Progressive traits (basically the same thing). It's been done before and it's always turned into a semi-useless, repetitive systems.

Training should be about figuring girls traits, knowing what item to use and when, knowing when to apply pressure and when to let her rest for a while with the final result as a flag/bunch of flags set to determine if girl refuses/agreed to do specific tasks, either for you or for someone else.

Also, just like with girlsmeets, there should be a way to completely/partially customize the training. I'll take care of that myself, from concept I need general rules for all girls, traits/stats based. Some traits should make training super simple, others very difficult, time consuming. Untrained slaves should be in a limited supply with even a less frequent rotation than the trained once.

System becomes interesting with content, events, interfering elven embassy, some religious crap and etc. There is already a very good game called Otherworld that focuses on numeric progression for 1001 different stats/skills, there is no need for another.
Title: Re: General Discussion
Post by: DarkTl on August 10, 2014, 04:28:13 PM
Flags... If those flags will be invisible, how can player track any progress here? If he can't, do they matter much? I don't think so. The game is about visible progress (and h-pics  ::) ).

Besides, most of the things lamoli mentioned are not exclusive to slaves. Free girl can become a fake orgasm expert as well, there is no reason why she cannot after a certain experience obtained.
But I cannot call them traits at the same time. Trait is something major and permanent that has multiple checks all over the code.

I recall we discussed possible small skill tree for girls at some point. New suggestions just mean that some of skills at that tree will be available only for slaves.

Right now there is a good amount of items that when used, reduce the maximum below 0 completely f#cking up some part of the game. Code that would be required to mitigate that is very complicated and would be hard to work with just as it would have been for minimums.
Ah jeez, not again. You can't even make decent items without breaking something these days  :(
Traits can do it too btw. If I'll remove all these cases, it will damage the concept, badly.
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 04:29:15 PM
well that and stats boosting by training .. no already in game trait gain doing some training ?
i mean we would need a way to gain traits that are in game to meet demand of potential npc buyers for the slave

**Stats, yes.

Traits no, it would mean that any girl could be trained to the satisfaction of any costumer. That's one of the crappiest, most useless (imo) concepts with games that focus on slavetraining... Girls are unique, customers are unique... at least that's my opinion.

*Some traits, yes. Especially since it's already doable with items.
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 04:48:49 PM
**Stats, yes.

Traits no, it would mean that any girl could be trained to the satisfaction of any costumer. That's one of the crappiest, most useless (imo) concepts with games that focus on slavetraining... Girls are unique, customers are unique... at least that's my opinion.

ok ic .. would make even more challenging if not impossible to find the girl who has both the the type and trait needed for slave order.. stats dont matter as you can train em
could result in a money sink rather than gain training those slaves for cash,, and with the hidden stats/traits you woulnd event know if you spend zillion of cash or hours training girl for something.. or not

about traits let us train some of em since lots are already locked by existing traits that counters them.. just make sure they unremovable and add a really low chance to gain trait after a training session

i guess you should lock traits from slave bought at market those with non hidden stats/traits.. but stan/captured girls ( if not unique ) should use a system that adds random traits and base stats then if you want to train a trait that isnt blocked by randomly generated trait why not.. you will be randomly limited on what you add but would be able to do some little customization
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 05:12:22 PM
hmm could be limited to able to do job better traits..

service...

barmaid ..  skilled to serving drinks
maid...       able to clean efficiently
waitress..  able to serve dinks without spilling it on ppl

unless you already have something that makes em do their job better other that basic service skill stat
Title: Re: General Discussion
Post by: lamoli on August 10, 2014, 05:17:20 PM
or last resort unique/generated character will have a random hidden trait/flag making em able to do 1 job better than others but with non too severe conflicting traits that would impair the job
Title: Re: General Discussion
Post by: CherryWood on August 10, 2014, 05:17:42 PM
pushed some pics and mobs that I want to use for fg testing.


now only thing stopping me is that unlock error for new locations


---------
Also:
Quote
"Name Of the MOB": ["Chance to encounter": ["Initial Multiplier", "Per extra day multiplier", "Maximum multiplier"], "Maximum size of a team if one of this mobs is present"]


¨multiplier of what? increasing that chance to encounter?


and also for the mobs stats - what is charisma used for? I have no idea what monster types should have some charisma stat and who don't (what for human? animal? golem?...)




EDIT:----------------------------------------

btw. if you want customer sprites, just tell me, shouldn't be hard for me to create some. (sounds like a fun thing to do)
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 05:24:13 PM
Flags... If those flags will be invisible, how can player track any progress here? If he can't, do they matter much? I don't think so. The game is about visible progress (and h-pics  ::) ).

Some flags could be revealed during conversation/just setting a girl to work, hence making it a "visible" progress.

Besides, most of the things lamoli mentioned are not exclusive to slaves. Free girl can become a fake orgasm expert as well, there is no reason why she cannot after a certain experience obtained.
But I cannot call them traits at the same time. Trait is something major and permanent that has multiple checks all over the code.

Some traits should be possible to gain during jobs/training. We need to add that btw.

I recall we discussed possible small skill tree for girls at some point. New suggestions just mean that some of skills at that tree will be available only for slaves.

We decided to drop that in favor of traits.

Ah jeez, not again. You can't even make decent items without breaking something these days  :(
Traits can do it too btw. If I'll remove all these cases, it will damage the concept, badly.

Than we need to expand the concept...

Items have gotten too complicated, they can:

Add a trait permanently
Add a trait temporarily
Track if a trait that was added temporarily doesn't remove a trait that was there permanently when reversed
Add a permanent trait when their is a temporary trait in place
Remove a permanent trait when there is a temporary trait in place
Add stats after being work for x number of turns
Mod stat temporarily
Mod stat permanently
Mod max stat temporarily
Mod max stat permanently
Make sure items do not take stats with them when they are removed if those stats were maxed out already
Make sure that items do not prevent the ability to gain stats while those items are worn

I prolly forgot a bunch of stuff + I doubt all of this is actually used or been properly tested. Traits themselves complicate it all even further...

Basically, the main problem right now are items like Ultimate potions that just send max to a complete sh!thole. Maybe with that removed, nothing else needs to be done... extensive testing required :) (as in a release, even Jaeke wouldn't be able to test every combination).

If tweaking the ultimate potions isn't enough, we could add level requirement to use an item, making sure higher levels with much higher max will prevent it going below 0. Otherwise I'll have to revisit the the system again, I was a lot less versed in python when it was written than now so there may be something that can be done without too much fuss. But in that case, we should expand the system while I'm at it, I recall you had some ideas for an expansion as well.
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 05:44:01 PM
ok ic .. would make even more challenging if not impossible to find the girl who has both the the type and trait needed for slave order.. stats dont matter as you can train em
could result in a money sink rather than gain training those slaves for cash,, and with the hidden stats/traits you woulnd event know if you spend zillion of cash or hours training girl for something.. or not

about traits let us train some of em since lots are already locked by existing traits that counters them.. just make sure they unremovable and add a really low chance to gain trait after a training session

i guess you should lock traits from slave bought at market those with non hidden stats/traits.. but stan/captured girls ( if not unique ) should use a system that adds random traits and base stats then if you want to train a trait that isnt blocked by randomly generated trait why not.. you will be randomly limited on what you add but would be able to do some little customization

Why do you assume very limited or fixed demand? We could have a general request agency that is tracking hundreds of clients requests for all types of girls... access to their list = small subscription fee or % of the sale.

We can make a json file with demands for stats, items, traits and traits versus a multiplier for the girls generic market price. Each would have a short description and never be exactly the same as the last one (randomly chosen from a range as I've said). We could also have unique clients and events or even run a shop in the guild offering trained girls at specific prices (generic price + x%) and advertising for a better chance of finding a client. That's interesting and requires very little coding + A LOT OF WORK can be done in just preparing data like we do for items/traits/area/exploration and etc and can be done by someone who can give it enough thought and knows the concept.

Another thing, slaves should also be race related, I'd love it if elven slaves were rare and very hard to come buy due to elven embassy that makes lives of slave trainers/owners of elves really difficult somehow. Somehow is the problem, most ideas I have on that front require a lot of writing/conditioning :(

Anyway, we can always add something like that later.

Title: Re: General Discussion
Post by: Xela on August 10, 2014, 05:54:35 PM
hmm could be limited to able to do job better traits..

service...

barmaid ..  skilled to serving drinks
maid...       able to clean efficiently
waitress..  able to serve dinks without spilling it on ppl

unless you already have something that makes em do their job better other that basic service skill stat

or last resort unique/generated character will have a random hidden trait/flag making em able to do 1 job better than others but with non too severe conflicting traits that would impair the job

We already have occupation attribute... barmaid, maid, waitress are all ServiceGirls. We could have different training that just add to service stat I guess. Creating separate stats may be an overkill. Maybe your suggestion with having that as traits would make sense. We had a maid trait once, I am not sure if it's still there.

The second post is very important, I wanted to propose this for a while now, but keep forgetting it. When level is gained, girls advance in their max stats, I think it would make a lot of sense to have the stats relevant to their occupation at time of a level-up advance quicker than the rest. It would make girls more unique!

pushed some pics and mobs that I want to use for fg testing.


now only thing stopping me is that unlock error for new locations


---------
Also:

¨multiplier of what? increasing that chance to encounter?


and also for the mobs stats - what is charisma used for? I have no idea what monster types should have some charisma stat and who don't (what for human? animal? golem?...)




EDIT:----------------------------------------

btw. if you want customer sprites, just tell me, shouldn't be hard for me to create some. (sounds like a fun thing to do)

Kewl, I'll take a look, been typing responses all night instead of writing code :D

I'll take out the error very soon and push right afterward.

Mobs get more dangerous each day girls spend in exploration. That's what the multipliers are for. Charisma is used for Charm in the battle engine, I've tested the skill some time ago but never added it to the game.

If you have time, sure, some generic NPC sprites would be welcome. Maybe we can start using them even before slave training (selling captured girls).
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 06:39:05 PM
LoL

"unlocks": {},

This should be an empty container is area doesn't unlock anything :D

I tried to find something in my code that would override dict to list but couldn't find a thing, problem was with JSON file itself.

I am going to get your changes and push a bit of my own.
Title: Re: General Discussion
Post by: CherryWood on August 10, 2014, 06:44:54 PM
If you have time, sure, some generic NPC sprites would be welcome. Maybe we can start using them even before slave training (selling captured girls).
lol "generic NPC sprites"
please don't use such vague descriptions. Are we still talking about sm customers right? I'm imagining primary some businessmen and those ugly fatty traders and alike...  or not that?


But the most important questions is about the size - how much of the body needs to be visible. Because the less, the more easier it is to get some (portraits = super easy, full body= almost impossible to find)


------------
for fg
Thanks for figuring it out


I try to make my location work and send the json in few days.
Title: Re: General Discussion
Post by: Xela on August 10, 2014, 06:48:14 PM
lol "generic NPC sprites"
please don't use such vague descriptions. Are we still talking about sm customers right? I'm imagining primary some businessmen and those ugly fatty traders and alike...  or not that?


But the most important questions is about the size - how much of the body needs to be visible. Because the less, the more easier it is to get some (portraits = super easy, full body= almost impossible to find)


------------
for fg
Thanks for figuring it out


I try to make my location work and send the json in few days.

I think portraits will do but if you find some full size sprites, throw them in db, we'll use those for unique requests events! I want there to be some for items and girls found during exploration.

Downloading your update now, I'll push mine as soon as I got it:

- Container in exploration json fixed
- Fixed all bugs relevant to Drag&Drop
**Note, I've edited my own Ren'Py and it's all working but it will be fixed for the rest of the dev team only with next major Ren'Py release (6.18)
- Fixed a major game crashing bug with service job when mc doesn't have enough cash to pay the cleaners
- Flipped badness when equipping items
- Isolated auto-rest method
- Added rest to self.txt on next day (sh!t took me hours to track down)
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 01:54:19 AM
lol "generic NPC sprites"
please don't use such vague descriptions. Are we still talking about sm customers right? I'm imagining primary some businessmen and those ugly fatty traders and alike...  or not that?


But the most important questions is about the size - how much of the body needs to be visible. Because the less, the more easier it is to get some (portraits = super easy, full body= almost impossible to find)


like you said.. need to at least see their belly to know they are fat traders.. also arms/hands positioning could be important and of course what type of upper cloth theyr wearing ( to guess if they got the coin to back their claim or not )

if you got average skills with photoshop you chould be able to resize and stick any head / arm positioning on a body type.. just need to find the parts or add some variations if you dont have enough of em

just a suggestion..
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 02:13:19 AM
Why do you assume very limited or fixed demand? We could have a general request agency that is tracking hundreds of clients requests for all types of girls... access to their list = small subscription fee or % of the sale.

We can make a json file with demands for stats, items, traits and traits versus a multiplier for the girls generic market price. Each would have a short description and never be exactly the same as the last one (randomly chosen from a range as I've said). We could also have unique clients and events or even run a shop in the guild offering trained girls at specific prices (generic price + x%) and advertising for a better chance of finding a client. That's interesting and requires very little coding + A LOT OF WORK can be done in just preparing data like we do for items/traits/area/exploration and etc and can be done by someone who can give it enough thought and knows the concept.

Another thing, slaves should also be race related, I'd love it if elven slaves were rare and very hard to come buy due to elven embassy that makes lives of slave trainers/owners of elves really difficult somehow. Somehow is the problem, most ideas I have on that front require a lot of writing/conditioning :(

Anyway, we can always add something like that later.

ok wasnt thinking deep enough on that system.. your idea seem realy good

i was saying arch type or girls like ( tsundere , yandere , .. ) but why not also add race.. like Elves: mountain ( the usual ) high ( with glodenish skin ) drow ( aka darkelves )
could use a npc related quest to unlock race related embassy .. once unlocked would take some turn to be build in embassy quarter and once build.. that slave trading for that embassy race could be openend provided you bribed/blackmail/threaten with assassination ( would need to redo that kind of action periodically ) some influent embassy ppl with gold/slaves/rare exploration items.. well up to you be idea sound great
Title: Re: General Discussion
Post by: DarkTl on August 11, 2014, 02:16:08 AM
Some flags could be revealed during conversation/just setting a girl to work, hence making it a "visible" progress.

We decided to drop that in favor of traits.
Yet now it seems that we going to use it. The difference between skill tree tab and tab with flags is name. I never proposed that skills should be under full player control too.
But it's probably too early for such things anyway.

Than we need to expand the concept...

Items have gotten too complicated, they can:

Add a trait permanently
Add a trait temporarily
Track if a trait that was added temporarily doesn't remove a trait that was there permanently when reversed
Add a permanent trait when their is a temporary trait in place
Remove a permanent trait when there is a temporary trait in place
Add stats after being work for x number of turns
Mod stat temporarily
Mod stat permanently
Mod max stat temporarily
Mod max stat permanently
Make sure items do not take stats with them when they are removed if those stats were maxed out already
Make sure that items do not prevent the ability to gain stats while those items are worn

I prolly forgot a bunch of stuff + I doubt all of this is actually used or been properly tested. Traits themselves complicate it all even further...
Sounds very complicated  :D
Items system will be too insipid if we simplify things by removing mod max everywhere. I'll test ultimate potions and stuff, but any lvl1 girl with Retarded trait (max int -50 iirc) might be a problem then.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2014, 02:21:18 AM
i was saying arch type or girls like ( tsundere , yandere , .. ) but why not also add race.. like Elves: mountain ( the usual ) high ( with glodenish skin ) drow ( aka darkelves )
Because there are hundreds of races. Also, I'd like to see how are you going to make a decent pack with glodenish skin elves.
You could do some search at forum if you want, we discussed races already and decided to use base race concept as a separate field.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2014, 03:54:39 AM
lol "generic NPC sprites"
please don't use such vague descriptions. Are we still talking about sm customers right? I'm imagining primary some businessmen and those ugly fatty traders and alike...  or not that?
Why males only? In SM3 there are female customers as well.
Title: Re: General Discussion
Post by: CherryWood on August 11, 2014, 05:02:28 AM
Why males only? In SM3 there are female customers as well.
SM3 have generic customers? It wasn't the case when I last played it, all of those people in that game were full fledget NPCs.
I thought that talk was about some screen with generated offers that will also have some pics so its not only plain text.
I'm not going to look for pics of unique people who can you talk to, if someone have time for writing texts and such, he have time to look for a NPC picture too.

But nothing agains females
Title: Re: General Discussion
Post by: DarkTl on August 11, 2014, 05:18:48 AM
Nope, there are random people coming to you and proposing to buy your slave from time to time. They are not npcs at all.
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 06:36:50 AM
Because there are hundreds of races. Also, I'd like to see how are you going to make a decent pack with glodenish skin elves.
You could do some search at forum if you want, we discussed races already and decided to use base race concept as a separate filed.

yeah i know so far iv spend months trying to make blender renders a correct anime girl.. modeling/rigging takes time but once done we could make a girl do any pose we want or wear anything we want ( pack maker wet dream lol ) gona need more time to make it work for my main job im using UE4 engine but only need image renders not 3D engine to do those packs..

i got angry at some ugly pics in girl packs or non existing pics of girls i liked that i decided to do this..

will mainly used for body angle proportions on spcecific pose.. since heads never gets right.. could use photoshop to correct that or use morphing tool in blender
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 07:16:41 AM
ST Concept

------------------------------------------Girl----------------------------------------------------------------------------

Didnt ask but let assume identified marked girls ( current slave market ) can also be trained.. ( those girls will have stats/traits revealed )
Other than that type of slave captured/stan slaves should use randomly generated stats/traits witch are hidden from start
random stats/trait would imply character with different range and traits that reduce/increase either vit resist or character resist ( see resist section )
she should regenerate char by x% every day and vit ( depending if you let her sleep or not and where you make her sleep numbers should change )
the number of regenerating x% char every day should drop as her char drops ex: if half her starting char is left her max char regen should be cut in half ( or whatever you want to define )
drugs could be used to slower the x% char regen ( can break slave if abused )
while char is reduced to a certain amount.. her obedience can be trained.. and when her obedience reach a certain nbr she could unlock jobs training
if she refuse a obedience training because her obedience isnt high enough or tait goes against it or her arch type goes against it she should be punished else her char could increase by x.. punishing her could increase her obed by x
if she refuse a stat/job related training because her obedience isnt high enough or trait goes against it or her arch type goes against it and isnt punished her obedience could drop by x .. punishing her could increase her obed by x
using proper items/consumable/training action can boost breaking/obed training/stat training
using too mutch force during breaking/obed training/punishments could physically damage her lowering her vit resist ( temporary trait to add while in ST )
of course the damage done ( bruises/scars could heal over time ) might need a MC healing trait to make it go faster or medic/healer/matron girl job or even make a special girl to assist you on that oe even use item
Assistant could be a good idea.. need to define if she comes from a slave you personally trained to do that or a free girl who had that training..
traits revealing should be unlocked using relevant training like ( ex sex training would unlock nympho ) or using relevant talk related options ( like asking girl if she likes her condition ) randomly unhinding a trait with relevant text reply from her ( could use what she likes/hate too ) need to expand talk options
stats revealing hmmm.. after training that stat a x number of times ? or using relevant talk related options ( like asking girl if she likes her condition ) randomly unhinding a stat with relevant text reply from her ( could use what she likes/hate too ) need to expand talk options
MC action will be limited to his AP.. at start it could use 2 ap until slave vit is down to minimum ( going under will add a penalty to her max daily vit regen ) but as you train her.. her con stat will increase making you able to use more ap before reaching her minimum vit
MC should have a cap he need to train/grow that prevents him to do some training
ex: MC cha could increase obedience training rate or increase char breaking rate ( could aslo reduce slave char regen ) also could give you better price while buying selling slaves
       ...... need to think of other stats maybe MC libido to lock max sexual training actions or MC con to limit physical interactions ( like punishments )
       MC trait that would increase over time using breaking slave training action ( making him more efficient to brake future slaves ) need to find a trait name
       MC trait that would increase over time using obedience slave training action ( making him more efficient to make slave obey for future slaves ) need to find a trait name
       MC trait that would increase over time using teaching stat to a  slave training action ( making him more efficient to make slave learn stats for future slaves ) need to find a trait name
       MC trait that would increase over time using buying/identify a  slave ( making him more efficient to buy cheaper and chance to identify some hidden girl stats/traits on future slaves ) need to find a trait name
       MC trait that would increase over time using selling a slave ( making him more efficient to sell future slaves for profit ) need to find a trait name
       MC trait that would reduce damaging the slave your training ( making him having the best result doing ninimum damage ) need to find a name for that like able torturer

MC breaking/obed training could be merged as 1 trait like ( slave trainer ) could also reduce dmg done on slave if you abuse her too mutch ( or make a separate trait for that )
MC buying/identify/selling slaves ( slave merchant ) damaged slave would sell for less of course..
MC stat/job related training.. maybe need unique trait ( like ponygirls trainers in some other games ) up to you to decide

Race might give bonus or penalty to training but we will see that when in place
Id like to add her a mood factor but could be done later ( she would accept training more easely and with better result if in good mood but would have to be char broken first )
opposite could be true if angry at you

-------------------------------------------Training--------------------------------------------------------------------

Breaking:
     - chaining her to a wall in a cell will reduce her char over time ( will it beats the char regen.. thats to be defined.. without any +/- trait it should by a small amount )
        then comes mods.. if she has resist char traits it might go up or char weakening train it will go down faster.. also arch type need to be counted + possible MC charisma
        if not fed she will lose vit daily but daily char borken will increase
     
       - talk options
                        tell her nobody will save her... ( if mood active abusing that could depress her a lot )
                        asking her who her dady is... ( with punishment if wrong answer ) lol
                        threatening her with torture... ( could reveal fear of torture trait to exploit and make her submit faster ) or ( could reveal SM trait making her enjoy torture then exploit that to increse her breaking training while reducing her vit drop and could increase morale too )
                        could use more positive talks to improve mood if its used or making her reveal her like/dislike/hidden traits
                        .....
     
       - item use ( need to buy em in shops or make em with crafting or even FE loot )
                       feathers.. will gently break her will ( avoiding her to get bruises and using the minimum vit drain ) slowest item to break her
                       candle wax.. will break her will ( might also reveal if she has a SM trait ) average item to break her
                       vibe/rotor... ( aka pleasure torture ) could be used using ap and drain a certain amount of char each time or used on chaining her to a wall making her lose more daily char over time ( could reveal nympho trait )
                       items that reduce x% char or increase x% vit
                      .....
        - force/punishments ( all those actions can be used to avoid fail to be punished penalty )
                       slap her... will reduce her char by a small amount ( could result in bruises if MC trait to avoid damaging her isnt high enough )
                       whip her... will reduce her char by a moderate amount ( could result in scars if MC trait to avoid damaging her isnt high enough )
                       punch her.. will reduce her char by a great amount ( could result in severe injury if MC trait to avoid damaging her isnt high enough )
                       .....

Obedience:
       - hmmm..  asking her to do this or that.. wear this or that..
         ex: if she has noble trait.. make her do/wear dirty/shameful things,, if she agrees.. obed goes up.. if not you can punish her to gain obed or if you dont punish her obed drops
         forbid to cum (if she has a vibe/rotor in all day long or from some pleasure actions )
         forbid her too.... ( poop/... ) lol gona need to define more of that

        -talk options
                        call me master.. if agreed obed up if not agree the you can punish her gaining obed or if you dont punish obed goes down
                        tell me what dirty things you like.... if agreed obed up if not agree the you can punish her gaining obed or if you dont punish obed goes down ( could reveals traits that can be exploited to train her faster )
                        ....  need to think of more talk options..

        -item use
                       pet collar... make her mimic animals... if agreed obed up if not agree the you can punish her gaining obed or if you dont punish obed goes down
                       dog bowl.. make her eat in that.. if agreed obed up if not agree the you can punish her gaining obed or if you dont punish obed goes down
                       items that increase x% obed or increase x% vit
                       .... need more thinking on item concept

        - force/punishments ( all those actions can be used to avoid fail to be punished penalty )
                       slap her... will reduce her char by a small amount ( could result in bruises if MC trait to avoid damaging her isnt high enough )
                       whip her... will reduce her char by a moderate amount ( could result in scars if MC trait to avoid damaging her isnt high enough )
                       punch her.. will reduce her char by a great amount ( could result in severe injury if MC trait to avoid damaging her isnt high enough )
                       .....

Training:
         - training course ( of course it can be refused if girl obed isnt high enough or traits goes against it or arch type against it then girl would need to be punished to gain obed or if not punished lose obed )
                       will focus on targeted job and will increase those stats or add only job related traits if any exist for that job ( ex; service could add  barmaid.. maid.. waitress.. )
                       could add a x% resist on learning that stat for every 100 stat reached ( or decide other number )
                       ex : service training..  will increase service/con ( maybe should only use sub or do that training to get service/con without sub job bonus success )
                               sub service : maid will increase service/con/agy and will give a chance to give trait maid with a smal x% ( that x% increase with how many time you took that training course )
                               sub service : barmaid will increase service/con/int/cha/agy and will give a chance to give trait barmaid with a smal x% ( that x% increase with how many time you took that training course )
                               sub service : waitress will increase service/cha/int/agy and will give a chance to give trait waitress with a smal x% ( that x% increase with how many time you took that training course )
                     
                      for whore it would train her cha/con/ref/sex skill witch could reveal hidden traits like nympho ( i dont like a slave whore using refinement but atm no slave whore job sub class agreed or discussed on to change that )
                     stripper.. no subs to expand on so will increase the stats cha/con/strip/agy
 
         - talk options
                       encourage.. could boost temporarily the stat you gain for any job you want to train (could boost morale)
                       talks making her reveal traits,,,
                       ....
         - item use
                       item to increase the relevant job you want to train by x% stat gain
                       items that increase x% obed or increase x% vit


        - force/punishments ( all those actions can be used to avoid fail to be punished penalty )
                       slap her... will reduce her char by a Small amount ( could result in bruises if MC trait to avoid damaging her isnt high enough )
                       whip her... will reduce her char by a moderate amount ( could result in scars if MC trait to avoid damaging her isnt high enough )
                       punch her.. will reduce her char by a great amount ( could result in severe injury if MC trait to avoid damaging her isnt high enough )
                       .....

of course some girls could resist some punishment forms like physical ones while receptive to verbal ones
or would need to find her hidden trait blocking punishment then use the right action to make punishment work
maybe use a training for eatch stat so it woulnd only be 1 training to chose from .. could also have different name if used for specific job
------------------------------------------Resist----------------------------------------------------------------------

Well since i hate boring stuff i want eatch girl to be different ( in the breaking/training process )
thats where comes resists... from start she could be hard or easy to break depending on her lvl/max charisma ( but lvl/max con will make her tougher to damage while training )
as her character drops she will get easyer to break further while at the same time her con can increase due to training making her able to do more training sessions
random factor will be the traits that will either lower or increase resist to either vit or char

Eatch *5 point of con gives x% resist to vit drain
Eatch *5 point of char gives x% resist to char drain

Traits to add resist vitality drop  ( Athletic  x% / Tough  x% / Artificial body  x% / ... )
Traits to reduce resist vitality drop ( Nimble x% / Nerd x% / ... )

Traits to add resist cha drop  ( strong willed  x% / idol  x% / famous ppl traits in general  x% / ... )
Traits to reduce resist cha drop ( dependent x% / broken will x% / ... )

Traits to add resist obedience training  ( rebell  x% / strong willed  x% / ... )
Traits to reduce resist obedience training ( dependant x% / broken will x% / ... )

Traits to add resist to whore training  ( noble  x% / pridefull  x% / ... )
Traits to reduce resist whore training ( nymphomaniac x% / broken will x% / ... )

Same goes for every jobs...

also Dark should define arch type resist to vit/char/job related

* 5 has to be tested along x% to see what will work but would need to make ST module to test it out
------------------------------------------Items----------------------------------------------------------------------

Rather than using items to reduce character STAT / MAX i propose items that makes breaking/training easyer:

consumable to heal bruises/scars
consumable drugs to help training process ( would help x% on breaking slave, slowing her char x% regen,  teaching slave a stat or skill set of stats by x%, could totaly break the slave if abused )
strengthening vitality resistance to training drain
weakening character resistance to training drain
ability to train more efficiently a cetrain skill set of stats ( whore: sex, ana, bj, les,.. / service*: maid, waitress, bartending / stripper: crowd entertainer(basic strip job), private rooms show  / guard: brothel guard, ST guard,...)

would need items that reduce character resist by x%

Slave handcuffs  reduce character resist by x%       hands  ( eatch of those could add other stats like +con or other +/- stats)
Slave shackles   reduce character resist by x%       feet
Slave rags            reduce character resist by x%       body
Leach                     reduce character resist by x%       amulet
....

would need items that  increase vtality resist by x%

Book SM mastery   increase vtality resist by x%       misc
Relic of the penitant  increase vtality resist by x%    amulet
.......

would need items that increase obed by x%
......

Would need items that increase job starts related items by x%
......

* im aware subset doesnt exist but could be good to define the girl more ( could be trait related ass adding stats could be a real pain ); good at cleaning doesnt mean your good a serving drink ( different trait/skill set should be used )
unless your saying you need to have charisma/agility/intellect to be able to clean floor.. while you need it to charm clients/do not spill drinks/take orders..
well bartender should be able to do both..


If you see something i should add or i missed let me know
Title: Re: General Discussion
Post by: CherryWood on August 11, 2014, 07:23:27 AM
Nope, there are random people coming to you and proposing to buy your slave from time to time. They are not npcs at all.
OK, my mistake... I probably only played that part with limited time.

BTW. I wanted to ask you, what do you think about limiting the number of profile pics for random girls? One of the wm versions locked a randomly chosen profile image for each rgirl at their creations, while still using a full range of h-pics for each of them. It helped a bit to create the feeling that they are not the same girl...

(If that could be turned on/off in config that would be best)
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 07:40:45 AM
BTW. I wanted to ask you, what do you think about limiting the number of profile pics for random girls? One of the wm versions locked a randomly chosen profile image for each rgirl at their creations, while still using a full range of h-pics for each of them. It helped a bit to create the feeling that they are not the same girl...

Indeed thats what i mostly hate with random girls.. they could use pics you know from other random ones or worse know chars ( iv seen that with elves a lot ) thats and totaly unrelated pics compared to that random girl set

best would be to use img sets from popular h game makers or unpopular and make random sets with those
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 08:20:34 AM
I think you are making the slaves too one dimensional. Other st games are also like that... slaves there just refuse everything and after "breaking" they accept everything. Only thing they do there is to run away to be found a few days later again.
I believe they should show at least some intelligence from time to time. Like playing the obedient one and then stabbing you in the back.

Im for that idea aswell but had to think of basics first then expand possibilities ex: running on a bad even during training event if shes obedient could make her run to try to assault you.. thats why you should equip her with impairing battle stats gear too.. some action if failed could add char or reduce disobey too

also my system will mare her gain daily char and this will cause her to disobey even with max obedience if you dont pay attention to that.. im only reducing char gain as base char is drained so even while on obedience or stat training she could stop obey you if you dont do it right..

as for outside ST module it not for me to decide if she will disobey for a reason or another
Title: Re: General Discussion
Post by: CherryWood on August 11, 2014, 08:27:03 AM
Im for that idea aswell but had to think of basics first then expand possibilities ex: running on a bad even during training event if shes obedient could make her run to try to assault you.. thats why you should equip her with impairing battle stats gear too..
OK sorry... Dunno why I posted that when I actually decided to not comment on st module earlier... Silly me, like if I haven't something else to do  ::)
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 08:31:17 AM
OK sorry... I actually decided to not comment on st module earlier... Silly me, like if I haven't something else to do  ::)

no no if you have the time id like to hear your comment on it.. it was a relevant 1 and was thinking the same but coulnd add that option right at start im still holding many idea but need for ST module to start and check if proposed system could work or need to be adjusted then when refined enough we could add more stuff making ST more alive
Title: Re: General Discussion
Post by: Xela on August 11, 2014, 09:23:20 AM
I'll read into ST later :)

Been testing Ren'Py 6.18 prerelease. Still buggy as hell but there are some excellent improvement to screen language (in fact they are calling it Screen Language 2) that should speed things up significantly (not that it was slow in the first place).

There is also a lot of other cool stuff like auto-voicing of the entire game! It's funny as hell when a girls voice say: Poke the frog with a stick during the frog event :D Pronunciation/exclamation are very good as well, not like those ancient robotic voices...

Once they kill the massive amount of bugs, it should be excellent!
Title: Re: General Discussion
Post by: DarkTl on August 11, 2014, 09:31:09 AM
they could use pics you know from other random ones or worse know chars ( iv seen that with elves a lot )
Just so you know, all those known characters have so few pics that it's impossible to make a separate pack for them, yet it would be a waste to not use them at all. I don't care about it much, I have powerful enough imagination  :)

I wanted to ask you, what do you think about limiting the number of profile pics for random girls? One of the wm versions locked a randomly chosen profile image for each rgirl at their creations, while still using a full range of h-pics for each of them. It helped a bit to create the feeling that they are not the same girl...
The main problem here is the difference between random packs origin. While elven packs based on random elven pics I found everywhere, others (like winXP androids) based on actually existing characters that don't have a personality. Would be strange to limit them, don't you think?

Either way, like I said, I have powerful enough imagination to ignore it, so I don't care about it as long as it could be turned on/off in config, so that I could turn it off  :D
Title: Re: General Discussion
Post by: Xela on August 11, 2014, 09:38:07 AM
LoL

"Fuck this, I am going home!"

during the frog event is voiced as well :D:D:D
Title: Re: General Discussion
Post by: Waldus on August 11, 2014, 11:34:10 AM
Is there a still a torrent for this?
Title: Re: General Discussion
Post by: MrKlaus on August 11, 2014, 12:52:58 PM
LoL

"Fuck this, I am going home!"

during the frog event is voiced as well :D :D:D

Looks like you are having fun  :P

 I’m (finally) finishing the alignments, just doing some corrections.
 quick questions:
 qq1: throw in the resurrections into the light and dark info or skip them for now?
 qq2: does the WIND alignment/element also contains lighting base spells?
 qq3: add descriptions of peoples characters to the descriptions, (hothead for FIRE, silent and strong type for EARTH), or skip this?
 
Title: Re: General Discussion
Post by: DarkTl on August 11, 2014, 01:29:25 PM
qq1: throw in the resurrections into the light and dark info or skip them for now?
 qq2: does the WIND alignment/element also contains lighting base spells?
 qq3: add descriptions of peoples characters to the descriptions, (hothead for FIRE, silent and strong type for EARTH), or skip this?
Nope, yeap, nope  :)

- Nothing is ready for resurrection. And I am still inclined to god of time or something like that. Because that's probably the only intelligible way to resurrect any possible character.
- Yup. They are the same element in Golden Sun for example, I always liked that concept. And we don't really want too many elements.
- Nope. They are random for random girls, thus descriptions will not match reality. Also, in case of Naruto for example elements don't have such a thing.
Title: Re: General Discussion
Post by: Xela on August 11, 2014, 03:27:52 PM
Is there a still a torrent for this?

There is a link in the Alpha release thread, I am not sure if it is still working...
Title: Re: General Discussion
Post by: Xela on August 11, 2014, 05:26:11 PM
@Slavetraining:

I don't think character should increase on daily basis. Maybe on refusals./events.

Otherwise, it could work.

- You don't want to use flags in this?
- We could use some general formula determining the total resistance and check against that.
- There should be some combination of stats/traits that will prevent girls from accepting slavery all together (unless items + magic?)
- Process should scale to automation, maybe in simplified form.
- Assistant we should simply call trainers. Should always be a free girl I think.
- Some relevant updates to the training guild?
*There should be escape/suicide mechanic as well.
=========================================

@Ren'Py 6.18:
Looks very promising, it will prolly take a while to kill all bugs but this will an epic release. I don't recall this many changes in any of the versions since I've started working with it. Some screens are MUCH more fluent with it. Next day screen transition is almost unrecognizable...

Anyway, I didn't get much done except testing the hell out of .18 and I am falling asleep. Going to take a look at proposed tagging concept and call it a day.
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 06:14:46 PM
I don't think character should increase on daily basis. Maybe on refusals./events.

Sure i just wanted wanted something to spice to dificulty if you didnt take care of the girl daily ( but if girls has some traits ex: strong will maybe for that type of girl we could ad the daily char regen ) would make that type more unique to break but it up to dev team to decide

- You don't want to use flags in this?
- We could use some general formula determining the total resistance and check against that.
- Process should scale to automation, maybe in simplified form.
- Assistant we should simply call trainers. Should always be a free girl I think.
- Some relevant updates to the training guild?

Im up for all the modifications you think that would work best after all its a base of ST Concept that need lots of refining but has to start at some point

*There should be escape/suicide mechanic as well.

yes i think so too i was planning to base that on her mood factor but decided to not suggest mood right away so i forgot about escape/suicide in that concept

- There should be some combination of stats/traits that will prevent girls from accepting slavery all together (unless items + magic?)
if she refuse a obedience training because her obedience isnt high enough or tait goes against it or her arch type goes against it she should be punished else her char could increase by x.. punishing her could increase her obed by x

well that was the idea.. combining her actual obedience witch could be 0 or X then refusal trait check then archetype trait check ( need dark to explain them in detail .. maybe tsundere would go against training.. i really dunno lol )

as for items i proposed some with char resist reduction in % that would help break the char/trait/type of girl for breaking training and obedience increase in % to make obedience training go faster and specific stat/job % gain for last training part.. didnt type the name of some of those items but did explain what they should generaly do
also drugs you could give her to either reduce her char resist in % or increase obed but could break her if abused or she could become addicted then gain temporary trait addiction that would give a big penalty to her vit resist ( with would mean her vit while training will drop mutch faster )

wasnt thinking about magic but sure we already have that trainer option in game right ?
Title: Re: General Discussion
Post by: Xela on August 11, 2014, 06:59:51 PM
wasnt thinking about magic but sure we already have that trainer option in game right ?

Yeap. Suicides/runaways should be flag based I think.

The concept is going well so far :)

Feel free to start a new thread btw, reserving a few front posts for writing all the concrete stuff out.
Title: Re: General Discussion
Post by: lamoli on August 11, 2014, 11:48:10 PM
Omg.. just checked forum on a upper lvl and found out there was a Pytfall: game design -> Slave training (ST) concept thread lol

well its the first ever forum where i posted and wanst even thinking of checking for updates on other topics/threads

i didnt even read any of the stuff there to base my concept on.. and there are many useful idea there i should iv added in my concept.. maybe too many to get clear picture on where to start..

after a few post here you comments oriented me to a concept using the minimum actual game change adding only 1 stat ( obedience ) and possible ( job traits for service ) then make the rest that was in game usefull..

where should i post in the future ?
Title: Re: General Discussion
Post by: Xela on August 11, 2014, 11:57:43 PM
where should i post in the future ?

Start a new thread, I'll archive that one. I believe it all ended with CW saying that he doesn't like salves in the game and we just refocused on other stuff.
Title: Re: General Discussion
Post by: lamoli on August 12, 2014, 01:41:16 AM
Compiling a ST concept covering more detailed information atm.. unlike the less than 30min brainstorm previous 1

i have a question related to refinement.. is it the opposite of corruption stat or could refinement if on the -xxx stat flips to +xxx corruption stat ? ( just renaming skill ) like a dark version to the stat or dont use minus just positive values like under 0 refinement it becomes positives corruption

It could be usefull for ST since slaves in general compared to free girls shoulnd use refinement so mutch if any.. and the slave training should remove any trace of it or even go into minus refinement or positive corruption ( this would separate slaves from free girls for the whore job(s) in current system but might not be a bad idea )

also about joy.. woulnd slaves use opposite like fear/terror or turn it into obedience.. i mean their slaves the do what you ask of em and comply depending of their training.. should joy remain as stat ?

well now comes the rationality issue.. what would make slave run or suicide.. i would say mood factor.. well after reviewing old huntsman code.. it could be adapted to pytfall but would take time so better use joy as mood parameter even for slaves
Title: Re: General Discussion
Post by: lamoli on August 12, 2014, 02:21:56 AM
------------------------------------------Stats related-------------------------------------------------------------

Health: ( defines how much physical punishment the slave could take )

     - will lose temporarily resist if : over use of drugs ( addiction temp trait ) underfed ( starving temp trait ) physical dmg ( abused/with scar/bruised temp traits )
     - may lose permanently portions of it if: enduring long periods of temp addiction/starving/abused/with scar/bruised
     - may be gained with: MC personal training, trainers, well fed or using special foods, good sleeping conditions, free time/self training

       having traits/arch types could either increase/decrease her hp resistance gain to either training or job
       should regen daily for a certain amount ( bad traits like addiction/underfed/abuse/with scar/bruised could reduce that daily amount ) maybe penalty there is over kill need to test it
       consumable items or gear could help increase the vit resistance factor by x
       i dont know if this stat use con to grow up but it should if its not
       for ST part it should use x% of con stat so slave could take more punishment as her con goes up ( since con is the slave physical resist )
       could use bad sleeping conditions ( temp/perm trait ) but maybe overkill too add to much at start

Vitality: ( defines training energy of the slave )

     - will lose temporarily resist if : over use of drugs ( addiction temp trait ) over trained using AP to train while not enough vit left ( exhausted temp trait )
                                                       physical dmg ( abused/with scar/bruised temp traits )
     - may lose permanently portions of it if: enduring long periods of temp addiction/exhausted/abused/with scar/bruised
     - may be gained with: MC personal training, trainers, well fed or using special foods, good sleeping conditions, free time/self training

       having traits/arch types could either increase/decrease her vit resistance gain to either training or job
       should regen daily for a certain amount ( bad traits like addiction/underfed/abuse/with scar/bruised could reduce that daily amount ) maybe penalty there is over kill need to test it
       consumable items or gear could help increase the vit resistance factor by x
       x% of con stat adds vitality resistance so slave could take more training sessions as her con goes up ( since con is the slave physical resist )
       could use bad sleeping conditions ( temp/perm trait ) but maybe overkill too add to much at start

Charisma: ( defines slave beauty and some of her market value )

     - may lose temporarily if : bruised or whipped from training/punishment ( would heal by itself over time bu it could go faster if MC/trainer use *healing item or has healing type trait
                                              ( needs to define self healing time period ) also need temporary traits to reduce cha like abused/bruised/with scars.. and ranks to indicate severity
     - may lose permanently portions of it if: over abused physically/bruised/punished within self healing period or on the highest temp related trait
                                                                    ( add permanent trait like overly abused to reduce cha .. could use different ranks with cha penalty )
     - may be gained with: MC personal training, trainers, slave in training jobs ( need to be accompanied else could run... well obedience should lower the run factor but it should
                                         always exist.. also could use specially trained staff for it ), free time/self training(speech gesture practice in front of a mirror)
 
     *healing item should have a max number of uses / day.. or cause poisoning effect or woulnd heal more than a number of times if over used
       having traits/arch types could either increase/decrease her charisma gain to either training or job
      non fully bruised/scared healed girls would lose some market values

Refinement: ( not sure slaves should use that ) sounds like morale or pride and if so could be broken to get another training result or turn in into corruption and gain stats in that

Character: ( defines how much mental resistance the slave has )

     - may lose if: following rules, success in training event, punished while having sined, bad sleeping conditions ( for her current obedience )
     - may gain if: breaking rules, failed training event on either(break/obed/job/stat) punish her without reason, failed to punish her, too good sleeping conditions ( for her current obedience ), free time

       having traits/arch types could either increase/decrease her char resistance gain to either training or job
       on breaking/obed training her sleeping condition should be reversed to teach her her place then on stat/trait she should use good sleeping condition for mood ( joy )
       may need the sin/virtue system to know if you can punish for good or bad effect
       consumable items or gear could help reduce the char resistance factor by x
       maybe mood ( or joy ) could affect that resistance aswell
       x% of char stat adds character resistance so slave would take less time to train as her char goes down ( since char is the slave mental resist )
       could use good sleeping conditions ( temp/perm trait ) but maybe overkill too add to much at start

Reputation: ( used to unlock certain slave city jobs/activity )

     - may lose if: failed to meet minimum req of that kind of  job, ran in bad event, her luck didnt save the day, bad mood ( or joy stat )
     - may gain if: did meet min req of that kind of job, had a good event outcome, her luck did save the day, in good mood ( or joy stat )

      having traits/arch types could either increase/decrease her reputation gain to either training or job
     ( need to be accompanied else could run... well obedience should lower the run factor but it should always exist.. also could use specially trained staff for it )
     could get bonus to success if dispo with MC is high enough and hes personally supervising her or penalty to success if her dispo is too low.. supervising guard types could have that effect aswell but will depend on their training

course ( job trait they earned from it )
     event success ( dice based or other factor used? )
     maybe luck could be a factor here to increase/decrease success rate ( to test if not too over kill )
     stats relevant for that kind of job could contribute to success/fail of that job
     mood could work as factor on success rate ( checking if she had impairing temp/perm impairing mood traits ) well or use joy system not sure yet

Constitution: ( defines how much physical resistance the slave has )

     - may lose temporarily if : over use of drugs ( addiction temp trait ) over trained using AP to train while not enough vit left ( exhausted temp trait )
                                              physical dmg ( abused/with scar/bruised temp traits )
     - may lose permanently portions of it if: enduring long periods of temp addiction/exhausted/abused/with scar/bruised
     - may be gained with: MC personal training, trainers, well fed or using special foods, good sleeping conditions, free time/self training

      having traits/arch types could either increase/decrease her con resistance gain to either training or job
      each x points in con will add resistance to the slave vitality/hp drop making her able to endure more punishment and more training
      could use bad sleeping conditions ( temp/perm trait ) but maybe overkill too add to much at start

Joy: ( defines how much mental punishment the slave could take )

     - may lose if: rules forbiding her to do.. x, harsh training or training going against her traits/arch type/current obediece lvl ( too low ), bad sleeping conditions
     - may gain if: climaxed in training or job, virtue rewarding ( good deeds, job/training results ), free time

     having traits/arch types could either increase/decrease her joy gain to either training or job
     main problem is its stuck at 100 while hp could go up so need to scale down the effect on mental punishment compared to physical punishment
     if ill follow the con=>vit/hp system i used char could have a impact on joy stat drop resist.. but being low as it is at start im not gona use that unless revised.. possble reason why use moods as temp traits

Intelligence: ( defines how much experience the slave would gain training a skill )

     - will lose xp modifier if: having a temp/perm trait like ( addiction/abuse/exhaustion )
     - may gain if: MC personal training, trainers, free time/self study

       having traits/arch types could either increase/decrease her xp gain to either training or job
     mental abuse trait could be from harsh punishment giving the girl a concussion or passing out on over trained

Disposition: ( defines how much she like/hate the MC )

      hmm possible gain if your reward her virtue ( aka performed well ) or talk options,free time,taking a walk with her ( chained or unchained depending or her obedience )
      no need to explain how to lose it...

      having traits/arch types could either increase/decrease her love for MC
      i would say chained all the time as she could run at any time :p

---------------------------------------------------------------------------------
free time/self study should apply on the stat/job training part
not sure yet if hp/vit will use x% or x points of con same goes for char/char
the may lose permanently portions of it if: ... could total break the slave training process but i think its good to have that.. you want to over train your slave..fine but there is a penalty then..
looking at all that made me think about mood.. it could be based on temp/perm traits like ex: exhausted+other bad traits that would make her depressed then either run or suicide..


expanding each category right now but need to know if basic definition of skill is right for a slave then moving to next section
Title: Re: General Discussion
Post by: CherryWood on August 12, 2014, 06:09:06 AM
Start a new thread, I'll archive that one. I believe it all ended with CW saying that he doesn't like salves in the game and we just refocused on other stuff.
lol, now I'm the bad one there  :D  But it is true I suppose... But I changed my mind a bit, I tried some less buggy version of Otherworld and I must say that I like that game (much more than SM3 as general concept goes).
I still not that fond of breaking slaves and explicit stuff, so don't expect much help from me there, but I at least like the part of training maids.  And governing the girls lives in general, as I'm a fan of princess maker and raising project games.




=================
a note for BE: I think we need some modifier value to the sprite size of mobs in the mobs.json. Some monsters are supposed to be bigger then others, so it would look better if their sprite is enlarged.
Title: Re: General Discussion
Post by: Xela on August 12, 2014, 06:24:45 AM
lol, now I'm the bad one there  :D  But it is true I suppose...

We got a lot of other stuff done!

...

- I do not like the bit where stats can be permanently and especially temporarily lost/gained (keeping track of new dicts). Seems like that's going to be a bit messy to work with.
- Some traits you mentioned should be counting flags (but that's details to be worked out in the future)
- Refinement should be a prerequisite for some clients (noblemen and etc.)
- Items should work just like they do in the rest of the game and shouldn't add new restrictions unless absolutely necessary.

*You've mentioned fear stat. I believe we should start using alignment stat for the MC at some point and use dark alignments as fear inducing factor. No need for that extra stat.
*You've mentioned mood stat. I've commented on that before, we have joy, mood might be an overkill.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2014, 06:40:32 AM
Quickly returning to girlsmeets:
- shopping topic is not used currently, and I kinda dislike the idea of girls describing AE system to MC. What could we write here, something like "I like weapons and armor" for warriors for example? It seems way too straightforward.
I propose either remove it or add an option to invite her to go shopping, where you for example select a shop, and then she selects an item that she wants depending on our already existing AB and/or AE system, and MC could either pay for it, try to convince her to choose another item or refuse, with obvious consequences.
- another thing that is not used right now is romance topic. It should not be here anyway. I believe it should be only available for girls with friend status. Note that I don't propose to remove sex or kissing options, because, using AA terminology, lovers and sex friends are not the same thing.
- gifts should be a part of dating system, not meeting. Especially if we'll add shopping.
Title: Re: General Discussion
Post by: lamoli on August 12, 2014, 06:43:46 AM
- I do not like the bit where stats can be permanently and especially temporarily lost/gained (keeping track of new dicts). Seems like that's going to be a bit messy to work with.

ok but how will you affect the vit/hp/char resist ( making it weaker because you over trained/drugged slave if not using temp traits )
as for perm ones you can just discard the idea if it its not gonna work ( could be useful on hard/extreme game mode but not gona be used now if ever i guess )

- Refinement should be a prerequisite for some clients (noblemen and etc.)

ok gona need to think on how to gain that lol unless you expect the slave not loosing refinement enduring all those dirty training sessions ( thats why i thought free girls could be more inclined to do the refinement part for nobleman's )

- Items should work just like they do in the rest of the game and shouldn't add new restrictions unless absolutely necessary.

did not add new items just referred to use the ones from main ST concept i previously posted changing -char STAT/MAX ( you said was buggy anyway ) into vit/hp resist increase and char resist decrease

*You've mentioned fear stat. I believe we should start using alignment stat for the MC at some point and use dark alignments as fear inducing factor. No need for that extra stat.

kk it was related to.. why use joy and not fear instead but i dont mind if its not used..

*You've mentioned mood stat. I've commented on that before, we have joy, mood might be an overkill.

yes i explained why in my last stat edit:

     main problem is its stuck at 100 while hp could go up so need to scale down the effect on mental punishment compared to physical punishment
     if ill follow the con=>vit/hp system i used.. char could have a impact on joy stat drop resist.. but being low as it is at start im not gona use that unless revised.. possble reason why use moods as temp traits

edit: maybe use hidden flag instead of traits but it would remove the information to the player.. and might be bad in some cases
Title: Re: General Discussion
Post by: lamoli on August 12, 2014, 07:02:54 AM
ok i c your point.. wasnt clear on what would be temp lost.. i meant the resist so it would be easyer to reduce wasnt thinking removing stats points
but for charisma rep joy dispo its a stat removal the temp are for resists

did add con too but no point in reducing resist there con part was a mistake

well int woulnd reduce resist but xp gain
Title: Re: General Discussion
Post by: Xela on August 12, 2014, 07:13:52 AM
Quickly returning to girlsmeets:
- shopping topic is not used currently, and I kinda dislike the idea of girls describing AE system to MC. What could we write here, something like "I like weapons and armor" for warriors for example? It seems way too straightforward.
I propose either remove it or add an option to invite her to go shopping, where you for example select a shop, and then she selects an item that she wants depending on our already existing AB and/or AE system, and MC could either pay for it, try to convince her to choose another item or refuse, with with obvious consequences.
- another thing that is not used right now is romance topic. It should not be here anyway. I believe it should be only available for girls with friend status. Note that I don't propose to remove sex or kissing options, because, using AA terminology, lovers and sex friends are not the same thing.
- gifts should be a part of dating system, not meeting. Especially if we'll add shopping.

So:
- *Remove/Expand shopping (system is currently designed with a premise that a girl buys the items herself, there is no option just choosing an item she likes) So my vote is for a removal until better times :).
- *Remove Romance (Can't we do something like "talk about love" from AA2 with generic replies?)
- *Gifts... Screw the dating system for now, it's too complex as you've said yourself to get it done properly and we don't need the items if we go with AA2 variant. I'd prefer gifts to stay as they are.

ok but how will you affect the vit/hp/char resist ( making it weaker because you over trained/drugged slave if not using temp traits )
as for perm ones you can just discard the idea if it its not gonna work ( could be useful on hard/extreme game mode but not gona be used now if ever i guess )

ok gona need to think on how to gain that lol unless you expect the slave not loosing refinement enduring all those dirty training sessions ( thats why i thought free girls could be more inclined to do the refinement part for nobleman's )

did not add new items just referred to use the ones from main ST concept i previously posted changing -char STAT/MAX ( you said was buggy anyway ) into vit/hp resist increase and char resist decrease

kk it was related to.. why use joy and not fear instead but i dont mind if its not used..

yes i explained why in my last stat edit:

     main problem is its stuck at 100 while hp could go up so need to scale down the effect on mental punishment compared to physical punishment
     if ill follow the con=>vit/hp system i used.. char could have a impact on joy stat drop resist.. but being low as it is at start im not gona use that unless revised.. possble reason why use moods as temp traits

edit: maybe use hidden flag instead of traits but it would remove the information to the player.. and might be bad in some cases

I meant new logic for the ST, we can use already existing ones like items/traits obviously. Also... we don't really have addiction atm but it can be added as a trait with a new effect.

Rest is up too you.

If it came down to the usual general discussion of the main direction and coding/initial logic design by me, most of the ST would be flags based with a one or maybe two functions to calc the general agreement with trainings. Rest would be labels and grossly oversimplified functions for auto-training during the ND that isn't done by MC that mimics the duration/process of the actual training +/- 30% of duration to get the same thing done. The function would have been used for the effectiveness.

I'd obviously outsources as much logic to jsons/script as possible :)

PS: To make matters worse... ST responses need to scale to the interaction responses, it would be weird if a girl wouldn't want to feck your brains out in the guild but taken to a brothel, would not mind doing so under the normal interaction process. Maybe it would be worth looking into to create some form of generic response labels to be used for untrained slaves everywhere. These shitty concepts are hard, triple difficulty effect applies for a broad concept game such as PyTFall, this is one of the reasons I am constantly trying to dumb down your proposals... the harder you make them, the more difficult it will be to scale them with the rest of the game.
Possible option might be simply forbidding untrained slaves to interact with the gameworld until they're trained and get some form of registration from the authorities... would be a bit of a stretch, but this may help isolating system a bit and narrowing down interactions prerequisites.
Title: Re: General Discussion
Post by: lamoli on August 12, 2014, 07:31:55 AM
Ok reedited post on page 216

as for resists drains.. those might not be needed for current ST development so wont push em into you but they could be helpfull on breaking a girl with 0 obedience/blocking traits/blocking arch type combined

thats where items/consumables that drops that character resist comes in

as for hp/vit resists increase.. its to make the training more real and use more ap over time while losing less and less hp/vit when con stat increase.. but if you have another working system in mind
ill be fine with it

and stats hp/vit resist drains is to give player penalty on training because he went too farr with the girl in some way ( over drugged ( could be game exploit that kills the ST system cuz too easy ) over punished ( also breaking exploit ) and so on ) i didnt say drop the con resist bonus on vit/hp to 0 ( that would insta kill the girl or make her tired after using 1 training session but maybe by 1/3 rd
Title: Re: General Discussion
Post by: CherryWood on August 12, 2014, 07:37:14 AM
aaa to much happening at once, girlmeets, fighter guild, tag concept, slave concept, my head hurts  :D  but it's a really nice change from the lazy months before


And as it's not enough, I now remembered that I wanted to fix/rewrite some job reports and I didn't do that for unknown reason...


So I started with a blowjob fix pushed at least for now, will do the rest after some fg stuff. How is it possible that noone except me ever complained about blowjob pictures not being used by the game in whore job?


(I don't care if I had to do it again after tag revision - it actually gives me a good idea how the improvements to tags should look like)
Title: Re: General Discussion
Post by: lamoli on August 12, 2014, 07:42:07 AM
opps forgot to explain why i did use charisma temp drop with wounding traits..
its to limit abuse and to sell slave at market with different prices if not fully healed
choosed temp trait cuz it would vanish over time like self healing unless MC or trained use healing potion for bruises or scaring limited use also

but if you have a better easyer to code option its fine.. i just wanted the idea implemented
Title: Re: General Discussion
Post by: Xela on August 12, 2014, 07:42:28 AM
So I started with a blowjob fix pushed at least for now, will do the rest after some fg stuff. How is it possible that noone except me ever complained about blowjob pictures not being used by the game in whore job?

I was aware of the problem and was certain I've fixed it after noticing it when testing crazy packs... There is a boogy man in the code deleting buttons and my fixes :D
Title: Re: General Discussion
Post by: DarkTl on August 12, 2014, 07:45:52 AM
- *Remove/Expand shopping (system is currently designed with a premise that a girl buys the items herself, there is no option just choosing an item she likes) So my vote is for a removal until better times :) .
- *Remove Romance (Can't we do something like "talk about love" from AA2 with generic replies?)
- *Gifts... Screw the dating system for now, it's too complex as you've said yourself to get it done properly and we don't need the items if we go with AA2 variant. I'd prefer gifts to stay as they are.
- Hm, ok. How about this then: AB system buys an item, bill presented to MC, he can either agree or disagree to pay. If he didn't, either girl pays for it or we destroy that item, pretending that nothing happens.
- What's the point without love stat, lover status, dating system, etc? I can even copy lines from AA directly, but again, meeting system is not about romance, it's about hiring a girl in one way or another, and friend status is enough for that. I'd say after we deal with ST, tags and meeting system, the next step might as well be dating.
- AA variant is too simple even for us. I mentioned that we at least could choose some initial conditions before the black screen, like place and gift.
----------------------------------------
Actually, that's a great idea. I'm gonna rip lines from AA2 for a start, then from AA if it won't be enough. For romance too, yeah. But I still don't think that all possible options should be available during meetings, and romance is one of them. It's like, I don't know, having all existing skills available from the beginning in some jrpg.
Title: Re: General Discussion
Post by: lamoli on August 12, 2014, 07:58:30 AM
PS: To make matters worse... ST responses need to scale to the interaction responses, it would be weird if a girl wouldn't want to feck your brains out in the guild but taken to a brothel, would not mind doing so under the normal interaction process. Maybe it would be worth looking into to create some form of generic response labels to be used for untrained slaves everywhere. These shitty concepts are hard, triple difficulty effect applies for a broad concept game such as PyTFall, this is one of the reasons I am constantly trying to dumb down your proposals... the harder you make them, the more difficult it will be to scale them with the rest of the game.
Possible option might be simply forbidding untrained slaves to interact with the gameworld until they're trained and get some form of registration from the authorities... would be a bit of a stretch, but this may help isolating system a bit and narrowing down interactions prerequisites.

MC could use dark route at some point.. why not add evil interaction with npc.. i suggested blackmailing option and corrupt her morals if you had that you coud make and girl follow you to some shady places and force her into ST or convince her using your imposing dark aura :p

i could elaborate the idea if you think it could help solving the scaling with rest of game problem
Title: Re: General Discussion
Post by: lamoli on August 12, 2014, 08:15:34 AM
Start a new thread, I'll archive that one. I believe it all ended with CW saying that he doesn't like salves in the game and we just refocused on other stuff.

Ok i think its best if you start a new ST thread with what your willing to use as concept that way ill have a clearer vision of what you want to do and how.. and if you fall short on ideas on how to improve it ill add up more refined concepts and you will be free to thumb them down..

i started that ST concept because was wondering if ST or FE would ever seen birth.. :p
Title: Re: General Discussion
Post by: Xela on August 12, 2014, 09:15:45 AM
- Hm, ok. How about this then: AB system buys an item, bill presented to MC, he can either agree or disagree to pay. If he didn't, either girl pays for it or we destroy that item, pretending that nothing happens.
- What's the point without love stat, lover status, dating system, etc? I can even copy lines from AA directly, but again, meeting system is not about romance, it's about hiring a girl in one way or another, and friend status is enough for that. I'd say after we deal with ST, tags and meeting system, the next step might as well be dating.
- AA variant is too simple even for us. I mentioned that we at least could choose some initial conditions before the black screen, like place and gift.
----------------------------------------
Actually, that's a great idea. I'm gonna rip lines from AA2 for a start, then from AA if it won't be enough. For romance too, yeah. But I still don't think that all possible options should be available during meetings, and romance is one of them. It's like, I don't know, having all existing skills available from the beginning in some jrpg.

- Nah, I'll have to isolate lookup code if take this direction. No items will be returned by the current method if girl cannot pay for them while it is executed.

- It's not only about hiring a girl, we'll have a jobagency for that at some point. It's about interacting with in game characters.

- Scale it to the system that is already at place**
Title: Re: General Discussion
Post by: DarkTl on August 12, 2014, 09:41:33 AM
One thing that should have great influence on girlsmeets is morality. Aka virtue in AA, where either they loose virginity in the first period with random person or you actually have to work hard to get a hug.
What do you think about (hidden or half-hidden) moral stat? We discussed it already in context of slavetraining, where you need to corrupt them as well. So now it could be usefull in 2 systems already.
Depending on it the character either would agree for sex during your second meeting, or you have to be lovers to do almost anything.
Title: Re: General Discussion
Post by: Xela on August 12, 2014, 09:46:47 AM
Well.. I hate any new stat :)

I wonder if we could use alignment and derive morality and other stuff from there... Do we have any morality related traits btw?

I am going to put some time into coding the game, been slacking off with testing the 6.18 and chatting up late...
Title: Re: General Discussion
Post by: DarkTl on August 12, 2014, 10:01:05 AM
Yup, we have 2, strict morals and pervert. But the more I think about them, the more I want a stat instead, because they show two opposites and nothing more.

I was thinking about semihidden stat with hardcoded min and max, from 0 to 100. Whores can never have more than 30 for example, strippers more than 50, others can have even 100.
Next, every action (kiss, sex, multi-day orgy with cosplay and oil) have a difficulty level. A kiss has 75, sex has 30, orgy has 0. If current virtue is more than the level, the girl will refuse unless you are lovers (-100 to virtue in the formula) or friends (-30 to virtue in the formula).
Multiple sex actions and some items descrease it, some items increase it.

As you can see, this is a closed system, you don't have to code something new or use it everywhere in the game, I'll do everything if you'll show me the basics  :D
Title: Re: General Discussion
Post by: DarkTl on August 12, 2014, 03:00:17 PM
I still not that fond of breaking slaves and explicit stuff, so don't expect much help from me there, but I at least like the part of training maids.  And governing the girls lives in general, as I'm a fan of princess maker and raising project games.
Well, both SM and Otherworld imply soft ways to train slaves too. Something like gradual change of personality, so they get used to do what is expected from them without breaking or any punishing involved. Of course it takes more time.
Title: Re: General Discussion
Post by: Xela on August 12, 2014, 11:34:33 PM
SF Updated! **Note, with this JSON files will no longer be useful for gameplay (They will still load to a separate database for conversion purposes)
Tags loaded from JSONs will no longer be used in the game!
To convert:
*Backup imagepacks
*Open tagger
*Click JSON --> Filenames button
*Follow instructions

**Note that the JSON files will be deleted after the process is finished.

- Removed pixilate transition from mainscreen
- Coded Tagger version 0.01
==============================================================
Quote
INFO     PyTFall 0.47 Alpha Loading: Characters + Building Crazy Tags Database From Filenames! took 1.12599992752 secs to run!
INFO     PyTFall 0.47 Alpha Loaded 24329 images from filenames!

This is everything, data files and images.
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 02:53:11 AM
Well, both SM and Otherworld imply soft ways to train slaves too. Something like gradual change of personality, so they get used to do what is expected from them without breaking or any punishing involved. Of course it takes more time.

Could be a personal choice in ST training when ever you wish to use soft action ( gradual change of personality ) or more direct ST ( OldHuntsman ) doesnt involve complex coding to add both its just adding different types of training options..

That Way ppl who like ( SM and Otherworld ) can do it their way too
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 02:54:39 AM
SF Updated! **Note, with this JSON files will no longer be useful for gameplay (They will still load to a separate database for conversion purposes)
Tags loaded from JSONs will no longer be used in the game!
To convert:
*Backup imagepacks
*Open tagger
*Click JSON --> Filenames button
*Follow instructions

**Note that the JSON files will be deleted after the process is finished.

- Removed pixilate transition from mainscreen
- Coded Tagger version 0.01
==============================================================
This is everything, data files and images.

Ok.. nothing works for me after sync/update.. where is the tagger ?
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 03:00:23 AM
What is the syntax for checking several traits at the same time in girlsmeets?
For example, if a girl has either Tomboy or Energetic (or both)?

Quote
elif ct("Tomboy") or ct("Energetic"):
Is it correct?
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 06:06:08 AM
What is the syntax for checking several traits at the same time in girlsmeets?
For example, if a girl has either Tomboy or Energetic (or both)?
Is it correct?

if that fails try || thats used in some code language as OR
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 06:09:33 AM
nm lol it use plain or

if girlfolder.endswith(".json") or girlfolder.endswith(".xml") or girlfolder.startswith("data"):

Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 06:14:13 AM
here actual girlsmeet code you can follow..

    if "Mind Fucked" in chr.traits: 
        $g(choice(["...","<Is she drooling?...>","<The dead look in her eyes isn't reassuring...>"]))   
    elif ct("Dandere"):
        $rc("...no...", "...later...maybe...")
    elif ct("Optimist") and ct("Lolita"):
        $rc("Uhuhu♪ I won't tell you~ ♪ ","I'm not going to tell you~ ","It's a secret! ")

What is the syntax for checking several traits at the same time in girlsmeets?
For example, if a girl has either Tomboy or Energetic (or both)?
Is it correct?

    if "Tomboy" in chr.traits: 
        $g(choice(["...","<Is she drooling?...>","<The dead look in her eyes isn't reassuring...>"]))   
    elif ct("Energetic"):
        $rc("...no...", "...later...maybe...")
    elif ct("Tomboy") or ct("Energetic"):                                        not needed as the 2 line above are doing the same unless you want combined response unlike the coder chosed to in this case
        $rc("Uhuhu♪ I won't tell you~ ♪ ","I'm not going to tell you~ ","It's a secret! ")
    elif ct("Tomboy") and ct("Energetic"):                                                                         AND example to check need for both
        $rc("Uhuhu♪ I won't tell you~ ♪ ","I'm not going to tell you~ ","It's a secret! ")

thats applied example dont look at $g / $rc :p

beware of AND OR result.. might mistake 1 for the other on the conditioning
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 06:41:32 AM
could use sub conditioning too.. ex:

    if ct("Tomboy") and ct("Energetic"):
        if ct("stubborn") or ct("iron will"):
           $rc("Uhuhu♪ I won't tell you~ ♪ ","I'm not going to tell you~ ","It's a secret! ")
        else:
           ....
    ....( may need closing option here as sub sets use em most of the time.. and im not familiar enough with python to tell its name.. might be END/endif/}/.. might be none aswell lol )
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 07:44:47 AM
Looks like there are too many if and elif operators.
For example, if we have shy energetic girl, and shy is always goes first in the girlsmeets rpy, doesn't it mean that we'll never see energetic lines?
Same goes for many other cases. Shouldn't lines be a bit more random? Like, sometimes shy, sometimes energetic?
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 08:21:12 AM
Looks like there are too many if and elif operators.
For example, if we have shy energetic girl, and shy is always goes first in the girlsmeets rpy, doesn't it mean that we'll never see energetic lines?
Same goes for many other cases. Shouldn't lines be a bit more random? Like, sometimes shy, sometimes energetic?

elseif or elif after if have same checking value as if so if you start with if.. shy then elif.. energetic placement order wont matter since their both on top of the line

only if you do this.. ex:

if .... shy
    if ... energetic
    .....
    else
    .....
....( dont know closing parameter )
elif ... tough
    .....
elif ... broken will
    ......
else
   ......

in that example energetic will never check ok if shy isnt found first but tough or broken will .. will always be checked aswell

about numbers of if/elif.. you need as many of em as trait of girls you need to check for that interaction option

but if text you reply could be the same you can condense code using or... ex:

if ... shy or cute or nerd or xx..
     ... text will appear if 1 of those returns positive ( but you will not get individual texts for any of em )

that way you saved 3 or more elif but with a down side.. only 1 result
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 08:43:18 AM
hmm about randomness.. thats from the part on girl generation using x% factor chance on a trait or other isnt it of m i confused with another game random girl generation system ?

if you mean the trait that interaction will check on.. it could be either shy or energetic.. if girl has both but does it has randomness picking.. from what i see it does.. use dice so if coded right yes it could pick 50/50 energetic or shy
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 08:57:21 AM
could use that to either pick shy or energetic .. with 50/50  chance.. ex:

    if ct("shy") or ct("energetic"):
        if dice(50):
           $rc("DISPLAY SHY TEXT")
        else:
           $rc("DISPLAY ENERGETIC TEXT")
   ... ( just fount out you need nothing to close.. python is great lol ) so leave that empty and continue with elif else or nothing if your done

Text order dont matter unless you add more conditions with dice so in this case energetic text could replace shy text if you wanted
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 09:05:50 AM
Omg forgot code syntax lol .. corrected now dont forget the : at the end on: if elif else
if you tryed to code something already
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 09:19:25 AM
Yeah, I ripped lines all the day and added them to girlsmeets, I didn't touch its structure yet.

I mean something like
Quote
        ...
        if ct("Shy"):
            $rc("Th-thanks...", "You think so? <blush>", "<She quickly looks away, her face red>", "You're ... nice...")
        elif ct("Kuudere"):
           $rc("Heh, good one.", "Of course.")
        elif ct("Well-mannered"):
            $rc("Well, that was certainly witty.")
        elif ct("Energetic"):
            $rc("Ehehe...you praised me♪", "Hm? Oh, thanks.")
        ...
   If I understand correctly, with this code we'll never see kuudere, well-mannered or energetic lines if a girl has shy trait. We'll never see well-mannered and energetic lines if she doesn't have shy but have kuudere. And so on.

Surely there is a simpler way to randomise lines a bit without using dice (n) for every single trait check. I hope  ::)
Title: Re: General Discussion
Post by: CherryWood on August 13, 2014, 09:24:28 AM
I mean something like   If I understand correctly, with this code we'll never see kuudere, well-mannered or energetic lines if a girl has shy trait. We'll never see well-mannered and energetic lines if she doesn't have shy but have kuudere. And so on.
I've written it to work exactly like that on purpose.


If you really really hate it, you can copy the code from "about her" that chooses reposes randomly from every trait (or any other condition, it doesn't have to be trait).


I'm sure I've said this exact thing few times already  :)
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 09:32:32 AM
Nah, I understand why you did it. Some traits are stronger than others.
However, there are some lines that I'd like to use randomly. I wonder if there is a less cumbersome syntax than dice after every trait (we have about 80 btw, should I use dice (1.25) or something?  :) ).
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 09:33:26 AM
Surely there is a simpler way to randomise lines a bit without using dice (n) for every single trait check. I hope  ::)

with more advanced coding you could first isolate if girls has the traits you need then if she has it x times use a random picking with equal chances to pick 1 of the x and display the text attached to it

but you will need to convince Xela or other coders to do it :p

would just need text for each traits used then 1 line of code to randomly pick 1 of those
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 09:43:00 AM
ill add this tho.. even if more compact and with a good randomness option.. you will lose the ability to ad more arguments on related traits or if its even well coded to do so
it would be more complicated for moders to use it..
Title: Re: General Discussion
Post by: CherryWood on August 13, 2014, 09:56:05 AM
Nah, I undersstand why you did it. Some traits are stronger than others.
However, there are some lines that I'd like to use randomly. I wonder if there is a less cumbersome syntax than dice after every trait (we have about 80 btw, should I use dice (1.25) or something?  :) ).
Dunno, the best I was able to come up with (with a help from Xela) is that "about her" option that works by adding all possible responses to a list (after choosing a one text randomly first), and then randomly select one from that list. (some actually have a dice too)


I didn't cared about it much since, I was just adding texts from time to time.


---------------------


There is something what I would like to ask about.
I have 2 personalities temporally removed because the traits I build them upon first changed, and I'm not sure on what condition I should display them (combination of traits most likely).


former egocentric
Code: [Select]
$rc("Hmph! Who would tell you! ","Listening to you is a waste of my time. ♪ ","I don't have time for pointless chatting.")


$rc("You're a perverted little bitch…  But I don't hate that… ","You want to bury your cock in here? ","I appreciate that you noticed. ","Fufu♪ Did you get horny watching? ")


$rc("God, how pathetic... ","Who cares what you think.","You realize you aren't suitable, right? ","I don't give a shit what you think of me.")


$rc("Well, of course. What else could you have said? ","As I thought. Man, I look good in anything. ","Huhuh, look all you like, Now you know what it feels like to be drowning in lust… ","Of course I am! So look carefully, you won't see a beauty like this every day!","You don't need to state the obvious.","You didn't need to tell me, I already knew.")


$rc("Hmph... Do I hear an underdog barking here? ","How pitiable.","How boring.","Fu~ I was so... pathetic...","I've never met someone who knew so little about how pathetic they are. ","Are you finished? <gives you a dismissive glance>","Oh? Is your mouth all you know how to use? ","Hmph, how boring. ","Hmph, pathetic. ","Don't fool yourself into thinking that you can impress me with silly lines like that.","Is this blabbering all you can do?")


$rc("You want a hug? You're such a child... Come to me.")


$rc("...if you want someone to be nice to you, find someone else. ")


$rc("Hold me properly! ","Why not. ")


$rc("Don't act so familiar with me!","That's silly. ")


$rc("Hmm, don't tell me... you're horny? ","Hn… How is it? Have I got a tasty ass? ","Ahn... It looks like I've found someone with perverted hands. ")


$rc("Touching is forbidden~ That hand, don't blame me if it falls off.","You have some nerve putting your hands on me! ","Could you refrain from touching me with your dirty hands? ","It looks like you are in dire need of punishment... ")


$rc("Uwah, that is a really perverted face, you know? Ahaha, that's so cute~♪ ","Hnnn, I know, aauh, that my breasts are incredible, but... haaa… ","Huhu, I like that perverted side of you ♪ ","Kya~... I - am - being - molested -… Oh come on, at least play along a little bit… ","My tits feel great, don't they? ","Ah... Right there, keep your hands there... ")


$rc("What an idiot. What do you mean by \"Oops\"? ","How dare you?! Know your place your filthy piece of trash!","Piss off you fucktard!","<jumps away> Ha! Like I'll ever let a loser like you touch me.","Huhuhuh… I wonder how warm it would be to bathe in your blood...? ")


$rc("This is how you wanted to seduce me, isn't it? ","Oh...You surprised me a bit with that...")


$rc("*kiss*… I'll leave you with that much. ","Hn, *smoooch*…  ...Uhuh♪ Now you've got a hickey ","*kiss kiss*, Huhuh, it's fine, because you belong to me... ♪ ","*Kiss*… Haha, why's your face getting so red. ♪ ","I, too, can be sweet sometimes… *kiss*, ahm... *smooch*… ","*kiss*, Hmmm, *lick*… Hmpf. No~ I won't let you go that easily. ♪ ")


$g(random.choice(["*giggle* I'll give you a feeling you'll never get from anyone else… ","Oh? You seem quite confident. I'm looking forward to this. ♪ ","You're raring to go, aren't you? Very well, let's see what you've got. ","Now then, show me sex appropriate to someone qualified to be my lover... ","Hhmn... My, my... you love my body so much? Of course you do, it can't be helped. ","Oh, you seem to understand what I want from you,.. Good doggy, good doggy ♪ ","Be sure to make me feel good, got it? ","Then you're bored, too. ","Feel grateful for even having the opportunity to touch my body. ","You won't be able to think about anybody else besides me after I'm done with you. ","Huhuhu, having sex with me… pretty cheeky for a pet dog~ ♪ ","Just shut up and surrender yourself to me. Good boy. ","All right, time for a fuck. Whip out your cock already. ","Hmph, Entertain me the best you can… ","Hmph, I'll prove that I'm the greatest you'll ever have... ","...For now, I'm open to the idea. ","Huhuh, I'll be using you until I'm satisfied... ","Huhu, you can't cum until I give you permission, okay? So, get ready to endure it~ ♪ ","Hmph. You took your sweet time. "]))
       
$g(random.choice(["What? Dying wish? You want to die? ","The meaning of 'not knowing your place' must be referring to this, eh...? ","I don't know how anyone so despicable as you could exist outside of hell. "]))
       




$g(random.choice(["Could you try to not talk to me, please?  Also, could you not breathe when near me? You're wasting good oxygen. ","Ahaha ♪ You look entirely unsightly! It fits you well ","That pathetic face of yours isn't fit to show to other people. ","Kukuku… It's unusual running into simpletons like you. ","Hmph! What an ugly sight. ","Hmph, a vulgar person like you doesn't deserve to talk to me! ","Hi monkey! Did someone leave your cage open?"]))
           
$g(random.choice(["You think it's about time I turned you into my playtoy~? ","Huhu, You seem like you'd be good for some entertainment. ♪ ","Huu…  You certainly like to be with me, don't you… ","Hu Hu~ ♪ Do you want to chat with me that badly? ","Being around me won't do you any good, you know? ","You've missed me, right? I know you did. Good boy ♪","You came to visit me again? I know you couldn't help it, I'm just irresistible  ♪ ","You came just to see me? That's a point for you, but you have to try a lot harder to impress me, fufu ♪","Ok. I have chosen to give you some of my valuable time today. Don't make me regret that. ","Good timing. Come on, entertain me."]))
           
$g(random.choice(["Yes? If you have no business here, then do please vacate from my sight. ","If you've got something to say, look me in the eyes and say it.","...I don't recall asking to talk to you, so what is it? ","You're in my way. Get lost. ","I don't have any business with you. ","...Spit it out already. "]))
           


I never get tired of watching you.


I hope you know... the consequences of touching me.


Th-That's right... That's right. So you do understand! With my figure and good looks, there's no outfit out there that doesn't fit me!


What's wrong? Did you fall for me?


"[hero.name], I’ll show you how a ‘perfect job’ is done."
And "unsociable"
Code: [Select]
$rc("Conversation... What a pain... ","<She is not listening>","Shut up...","You talk too much.")


$rc("Hmmm…. Interested?","You like my body? ...good.")


$rc("...Pervert. ","Weirdo... ","...annoying.","...Shut up. ","Not for you.")


$rc("I'm not used to compliments… ","Is that so...? ","…ok. " ,"<smiles dreamilly> Mhm...","...I'm happy. ","<gives you a faint smile> Nn...")


$rc("Bigmouth. ","...What'd you want? ","…? ","What a bother... ","...You talk too much. ","Pathetic... ","<She completely ignores you>","...and?" )


$rc("Nn…  hold me… ","Ah… Hold me tighter… ","…come to me…","Hmhmm…  I expected perverted things... Pity… ")


$rc("Hn... Let me go... ","Don't want to. ","I refuse. ","…stay…away. " )


$rc("...Okay. ","<slowly puts her hand into yours>  Nn...")


$rc("No... ","...Stay away. ")


$rc("Ha... That touching... so lewd... ","How lewd... ","Blossoming youth? ","Such a perverted hand...")


$rc("Why are you touching me? So annoying.","No... don't touch my butt... ","Hate it... ","...I'll hit you. ","...Pervert. ")


$rc("Hnn, is my chest... soft...? ","M...more... my body... feels so hot... ","This is good... ","Becoming... more perverted... by the minute... ","Hn… You shouldn't grope people. ","Ah. Feels much better than rubbing myself... ","My nipples are tingling... Feels... Weird... ","Can't control yourself?")


$rc("How filthy. ","How... dare you... ","No, don't touch...","You can't... yet.","...not good.","...not allowed.")


$rc("Hn… A kiss on the cheek...? ","Hn... Cheek... good. ")


$rc("No...Stop it.","Keep your distance.","No good...")


$rc("Hmmm.  ...M-my lips… ","*smooch*…  Done… ","*kiss* ...More... ","*kiss*…  Your lips are dry… ","*kiss*... *smooch*… *huff*... your breath... so hot… ","Do you desire my lips? *kiss*","...My spell…  *kiss*… ","*kiss*...  Hn... you like kissing...? ")


$rc("No.","...don't want to.","...Naive.")


$g(random.choice(["...If you do it, be gentle. ","I will handle... all of your urges... ","Then…  I will do it with you… ","Do... me, I want it... ","...Do it... I want it…  I want to receive your love… ","I'll do a lot…  For you… ","...Fuck me. ","...If you want, do it now. ","...Sex-addicted? ","Hnn, I want it here…  Hurry... hurry. ","...I want to do it, too. ","...How do you want it?  ...Okay, I can do it… ","If I do it well, praise me... ","Now is your chance... ","Hn, come to me…  I want it bad, can't wait… ","This cock now belongs to me. ","My body…  I wish for you... to soil it… ","I'll tell you about something that feels good... ","Understood. I will... service you… "]))
       
$g(random.choice(["No. ","You... have a shadow of death hanging over you... ","...pathetic.","...you're no good."]))
       


       
$g(random.choice(["Ugh, stay away~ ","...I resent you. ","...Why... aren't you dead? ","...! "]))
             
$g(random.choice(["...Talk, I'll listen. ","Ah, it's you... ","Being with you... calms me... ","...I will escort you. ","...[hero.name]? …good.","…"]))
                           
$g(random.choice(["...? ","...Want something? ","...Suspicious person. ","Hmm? ","…","...What is it? "]))


Please... stop...
Any ideas?
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 10:04:03 AM
Btw, Cherry, in many cases "ct("Optimist") and ct("Lolita")" check is tucked away by # letter aka comments. I wonder why, lines look pretty good to me  :)

Quote
        # elif ct("Optimist") and ct("Lolita"):
            # $rc("Huhu ♪ Lookie, these are my awesome boobs ~ ♪ ")
=====================================================================
Thanks to AA2 lines we'll have romance talk, reaction to insults, propositions to be friends or lovers and many cool lines for AA2-type dating system.
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 10:09:08 AM
We have Loner (again), so unsociable goes there. Some of those lines could be used for Dandere too.
As for egocentric, it's either Ill-mannered (more offensive ones) or Tsundere (less offensive ones).
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 10:12:09 AM
Ok.. nothing works for me after sync/update.. where is the tagger ?

It's where we test all the unfinished stuff. You should be able to get as far as the mainscreen, it will be there next to the guild and forest walkabout.
==============================================================

What is the syntax for checking several traits at the same time in girlsmeets?
For example, if a girl has either Tomboy or Energetic (or both)?
Is it correct?

That's correct, bits written be my (unless someone deleted them) use:

Code: [Select]
elif ct("Tomboy", "Energetic"):
But it's the same thing.
==============================================================

nm lol it use plain or

if girlfolder.endswith(".json") or girlfolder.endswith(".xml") or girlfolder.startswith("data"):

This one should be:

Code: [Select]
if girlfolder.endswith((".json", ".xml")) or girlfolder.startswith("data"):
but I am not sure what you're checking here. If you want to know if it's a folder or a file, use: if os.path.isdir(girlfolder):l if you want to get the data files, use and instead of or.
==============================================================

    if "Tomboy" in chr.traits: 
        $g(choice(["...","<Is she drooling?...>","<The dead look in her eyes isn't reassuring...>"]))   
    elif ct("Energetic"):
        $rc("...no...", "...later...maybe...")
    elif ct("Tomboy") or ct("Energetic"):                                        not needed as the 2 line above are doing the same unless you want combined response unlike the coder chosed to in this case
        $rc("Uhuhu♪ I won't tell you~ ♪ ","I'm not going to tell you~ ","It's a secret! ")
    elif ct("Tomboy") and ct("Energetic"):                                                                         AND example to check need for both

This one depends on the text. This order obviously doesn't make any sense as the latter two will never be run.

Code: [Select]
if ct("Tomboy") and ct("Energetic"):
elif ct("Tomboy"):
elif ct("Energetic")

if ct("Tomboy", "Energetic") is meaningless in this context since there are checks for both individually.
==============================================================

Looks like there are too many if and elif operators.
For example, if we have shy energetic girl, and shy is always goes first in the girlsmeets rpy, doesn't it mean that we'll never see energetic lines?
Same goes for many other cases. Shouldn't lines be a bit more random? Like, sometimes shy, sometimes energetic?

I proposed writing some generic responses for traits and pick randomly without if/elif operations (like getting an intersection of texts for available and girls traits and pick one at random) but it didn't take. But they'll still see it with different girl that has just on of those traits... For now we should add texts, it's never too late to add advanced conditioning of any sorts.

But even as it is now, it's pretty good. Better might be the enemy of good, advanced conditioning requires advanced code that will not be decipherable to a lot of people. Event if we strip it down to a dict of "traits": "texts" and write any sorts of conditioning, it will no longer be an example of how girlsmeets can be coded for unique girls by modders.

Basically, if after a release when we add a modding guide to the game, there'd be noone who wants to take a stab at it, we can say "fuck it" and do whatever we like with that code. At the moment it may not be perfect but it's very humanly readable and understandable.

I've written it to work exactly like that on purpose.

Yeap, the more you randomize the responses and still willing to do this on purpose, the more complicated the code will get.

Nah, I undersstand why you did it. Some traits are stronger than others.
However, there are some lines that I'd like to use randomly. I wonder if there is a less cumbersome syntax than dice after every trait (we have about 80 btw, should I use dice (1.25) or something?  :) ).

Well... the easiest way would be something like this:

Code: [Select]
options = {
"ct('Shy')" = ["Text 1", "Text 2", "Text 3"],
"(ct('Kuudere') and chr.occupation == 'Warrior') or (chr.status != 'slave' and chr.charisma > 1000000000)" = ["Text 1", "Text 2"]
}

replies = list()
for i in options:
    if bool(eval(i)):
        replies.extend(options[i])

if replies:
    $ rc(*replies)
else:
    $ rc("Generic reply if all else fails 1", "Generic reply if all else fails 2", "etc...")

This isn't tested but I seen no reason for it not to work.

*You can put any conditions into the evaluation key.
**You do not have to rename options/replies for every label, this process will be too swift to ruin user experience so keep to the same definitions.
***You can do all sorts of if/elif forks before you run the replies/options code. It can also be placed inside of any if/elif if you so please to be run separately for warriors, separately for strippers and etc. Basically, it's the creators whit more than anything else, any kind of code can be written and simplified towards a great deal of convenience in use.
=================================================================

Dunno, the best I was able to come up with (with a help from Xela) is that "about her" option that works by adding all possible responses to a list (after choosing a one text randomly first), and then randomly select one from that list. (some actually have a dice too)


I didn't cared about it much since, I was just adding texts from time to time.

Yeah, without resorting to insanity and over-complicate things, that is prolly the best way. The code above does the same with with potentially more favorable syntax.

There is something what I would like to ask about.
I have 2 personalities temporally removed because the traits I build them upon first changed, and I'm not sure on what condition I should display them (combination of traits most likely).

Any ideas?

Dark's good with traits :)

And so are you by the way! Instead of keeping so many texts out of the damned game, bring the traits back :)

Also, we also have iteractions, look into of they could, at least partly be combined with the girlsmeets? I mean there are bound to be some labels that would be valid even after a girl started working for you...

**Another option is to allow free girls that are working for you to wonder off in the city and block interactions with them. Same for the slaves, use whatever can be used in future st to interact with them. I feel like there should be a better way to handle this than we do atm, but haven't looked at girlsmeets/interactions for too long to know what that might be.
Title: Re: General Discussion
Post by: CherryWood on August 13, 2014, 10:18:18 AM
Btw, Cherry, in many cases "ct("Optimist") and ct("Lolita")" check is tucked away by # letter aka comments. I wonder why, lines look pretty good to me  :)
=====================================================================
Thanks to AA2 lines we'll have romance talk, reaction to insults, propositions to be friends or lovers and many cool lines for AA2-type dating system.
I commented out all options that have less than 3 variations, because they would be too repetitive. I left them there to be updated latter. Or simply forget about them  :)




About the romance talk - I need to look what you added there, because those options were added by Xela and I never looked for lines like that. That also mean there could be some in AA1 because even when I added a lot of lines from that game, I think I skipped all of those. Same for other sources, but there wasn't that many suitable texts anyway.
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 10:29:53 AM
Nothing too fancy. Talk about love lines from AA2 (iirc AA has them too).

Quote
        if ct("Energetic"):
          $rc("I'm gonna be the bestest wife!", "Is this that fate thing they're talking about?")
        elif ct("Dawdler"):
          $rc("There's gotta be someone willing to support me out there somewhere...")
        elif ct("Protective"):
          $rc("You're deciding who will be your partner for life. It would be strange not to be worried about it.")
        elif ct("Dependant"):
          $rc("E-even I want to be a good bride someday, you know...?")
        elif ct ("Shy"):
          $rc("Lovers... Th-they're supposed to...hold hands, after all... Right?", "Wh-what comes after a k-kiss is... It's... Awawa...")
        elif ct("Collected"):
          $rc("Chance encounters only happen with both time and luck...Well, I suppose you could call it fate.")
        elif ct("Pervert"):
          $rc("People are no more than animals, so it's only natural to copulate... right?")
        elif ct("Dandere"):
          $rc("If you like them you like them. If you hate them you hate them. That's all there is to it. Right?")
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 10:46:33 AM
Xela.. i need your thumb to squash my irrelevant/non realistic idea in the new ST topic
Title: Re: General Discussion
Post by: CherryWood on August 13, 2014, 11:23:46 AM
We have Loner (again), so unsociable goes there. Some of those lines could be used for Dandere too.
As for egocentric, it's either Ill-mannered (more offensive ones) or Tsundere (less offensive ones).
I just don't know. I was imagining "egocetric" to be more like a proud aristocratic-like girl making fun of you, that doesn't really use vulgar language like I would expect from the name of ill-mannered trait.
Loner may be good, but it's kinda unintuitive trait name for a personality.


*sigh* I suppose there is no other way then to divide those into other traits and use the whole only for some unique character or something.


There is also "disciplinary committee" personality using "strict morals" trait to speak now. Not sure about it too. I kidna forced it into the game because it's my total favorite one :) 




========================
I pushed a fg area json. it doesn't seems to cause bugs but it's not really playable (no balance whatsoever)


so far for fg:


- descriptions to locations are not anywhere (but I think I've seen them before, did they dissapear?)
- sort order of new unlocked locations in the menu is really strange
- cash limit doesn't work, or it's totally overwritten by some risk reward calculation


- I added those Hazard, Travel time and max monster per group fields.
No idea about he numbers for hazard. Are those additional looses for each day of exploring? Does girls stats regenerate each day?


I would really like to create a custom item rewards list. Arena_rewards.json looks nice when it comes to actual groups of items, so I think it can be the same for fg, but I think there should be also a chance to find something from each used lists (basic percent chance?), because some locations could be filled with stuff while others almost empty with finding some to be almost a miracle.
It would also make sense to tie some rewards to the mobs you encounter, but that may be too much...


======================


Xela: there is a lot of has_image checks in jobs, shouldn't those be somewhere when the database is created and only use flags then? Because those checks always give the same result, didn't they?
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 12:14:00 PM
========================
I pushed a fg area json. it doesn't seems to cause bugs but it's not really playable (no balance whatsoever)


so far for fg:


- descriptions to locations are not anywhere (but I think I've seen them before, did they dissapear?)
- sort order of new unlocked locations in the menu is really strange
- cash limit doesn't work, or it's totally overwritten by some risk reward calculation


- I added those Hazard, Travel time and max monster per group fields.
No idea about he numbers for hazard. Are those additional looses for each day of exploring? Does girls stats regenerate each day?


I would really like to create a custom item rewards list. Arena_rewards.json looks nice when it comes to actual groups of items, so I think it can be the same for fg, but I think there should be also a chance to find something from each used lists (basic percent chance?), because some locations could be filled with stuff while others almost empty with finding some to be almost a miracle.
It would also make sense to tie some rewards to the mobs you encounter, but that may be too much...

- No descriptions displaying yet.
- Right, I'll need to fix this, it's an due to orderless container I think.
- Cash limit = max cash per day limit, not the entire exploration run (obviously). What's wrong with it?

- Ok, I'll code that in as time permits.
- Stats should regenerate a bit, yes but they will also use potions soon (unless they already are).
- Too much for now.

Xela: there is a lot of has_image checks in jobs, shouldn't those be somewhere when the database is created and only use flags then? Because those checks always give the same result, didn't they?

I've started with that many month ago but dropped it since there was plenty of other stuff to worry about and jobs seemed to be working just fine.
Code: [Select]
        def get_availible_pics(self):
            """
            Determines (per category) what pictures are availible for the fixed events (like during the jobs).
            This is ran once during the game startup, should also run in the after_load label...
            Meant to decrease the amount of checks during the Next Day jobs. Should be activated in post Alpha code review.
            PS: It's better to simply add tags to a set instead of booleans as dict values.
            """
            # Lets start with the normal sex category:
            if self.has_image("sex"):
                self.picture_base["sex"] = dict(sex=True)
            else: self.picture_base["sex"] = dict(sex=False) # This is not really required as this should be  taken care of by the show method, maybe for the fututre.
           
            # Lets check for the more specific tags:
            if self.build_image_base["sex"]["sex"]:
                if self.has_image("sex", "doggy"):
                    self.picture_base["sex"]["doggy"] = True
                else:
                    self.picture_base["sex"]["doggy"] = False
                if self.has_image("sex", "missionary"):
                    self.pictute_base["sex"]["missionary"] = True
                else:
                    self.pictute_base["sex"]["missionary"] = False

But this was a long time ago and this approach is prolly crap...

Maybe something simpler like:

Code: [Select]
                pics = set()
                if self.has_image("sex", "doggy"):
                    set.add("doggy_sex")
                ...

Better readable... and we can simply create per job/event sets and intersect them which is lighting fast. Then sample one from the pool and pick the event (texts/rewards).
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 12:17:09 PM
Why would we need insults during girlsmeets or interactions? Like at all?
I understand AA, it's a social simulation where all the characters are equal, so you at least can manipulate AI this way. But in our case why would you want to lower disposition?

I guess the only possible way to use it profitably is during ST to lower character and rise obedience a bit without physical means. But not during girlsmeets.
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 12:19:10 PM
Why would we need insults during girlsmeets or interactions? Like at all?
I understand AA, it's a social simulation where all the characters are equal, so you at least can manipulate AI this way. But in our case why would you want to lower disposition?

I guess the only possible way to use it profitably is during ST to lower character and rise obedience a bit without physical means. But not during girlsmeets.

Quest? Event? Some girls may enjoy it. ATM it's prolly not very useful...
=====================================================

Did everyone manage to convert their packs alright btw? And did the loading speed noticeably improve?
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 12:32:01 PM
Xela, where exactly your tagger is right now? I kinda don't see it anywhere  ::)
I pulled your recent changes, of course.
 
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 12:38:06 PM
It's where we test all the unfinished stuff. You should be able to get as far as the mainscreen, it will be there next to the guild and forest walkabout.
==============================================================

*It's too the right of the FightersGuild and Forest tests.
**There could be 1001 things that could go wrong with new code, that it worked for me isn't much of a test :(
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 12:51:59 PM
Works for me, who would have thought  :D
I thought I'm a goner after it crashed when I tried to view girls right after converting, but no, works after restarting.
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 12:58:31 PM
My girlsmeets don't have the insult option, maybe I need to pull or something. And gifts are broken because I rewrote the inventory class. I'll fix it after you guys are finished with girlsmeets, it's just one or two lines of code.
Options (multiple!) to insult exist in girlsmeets file. I guess you disabled them because they didn't have lines, but they will now with the help of AA.
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 01:04:25 PM
Works for me, who would have thought  :D
I thought I'm a goner after it crashed when I tried to view girls right after converting, but no, works after restarting.

We need to talk tagger interface... I don't know what to do with it.

Otherwise I'll add ability to update database right after modder is done with a pack so game does not have to be restarted right after I add the much required option to tag any image, not just those that are already in the game cause of JSON conversion or Crazy Packs :D
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 02:17:45 PM
I like how buttons have noticable red color when tag is enabled. Less strain on the eyes, I think.
But of course there should be sorting options for tags. Tabs probably.
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 02:28:54 PM
*It's too the right of the FightersGuild and Forest tests.
**There could be 1001 things that could go wrong with new code, that it worked for me isn't much of a test :(

starting to get errors when i press start button and would loop lock after mc choice
Title: Re: General Discussion
Post by: DarkTl on August 13, 2014, 02:43:05 PM
If you have errors, you should post tracebacks, preferably in errors thread.
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 03:02:03 PM
Omg not even working with fresh repo clone >.<
Title: Re: General Discussion
Post by: CherryWood on August 13, 2014, 03:41:30 PM
Did everyone manage to convert their packs alright btw? And did the loading speed noticeably improve?
Conversion is working fine. SOMETIMES when I start the game - everything works. Other times, I get this girllist screen.
Code: [Select]
While running game code:
  File "game/library/screens/pyt - screens - girlslist.rpy", line 5, in script
    with dissolve
  File "game/library/initialization.rpy", line 134, in load
    child = im.cache.get(self.image)
  File "game/library/initialization.rpy", line 134, in load
    child = im.cache.get(self.image)
IOError: Couldn't find file ''.


Improvement... maybe, I can't really tell, on my suckish hardware the start is too slow to notice if it's faster by few seconds.

===========
XMP (or how that's called) created by rudis tagger allowed to sort images by tags and that's was super useful for updating.
(you just browsed through images tagged "sex" and updated those).
I suppose we now can do the same by searching the images by filenames in browser, but if would be really nice to have it implemented in the tagger.
Filter exactly like that is working great in the gallery so far.
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 04:35:45 PM
starting to get errors when i press start button and would loop lock after mc choice

After MC choice? That's actually really odd, nothing bad tagrelated should happen after MC choice.

You don't mix crazy and pytfall packs in the same folders by any chance?

Conversion is working fine. SOMETIMES when I start the game - everything works. Other times, I get this girllist screen.
Code: [Select]
While running game code:
  File "game/library/screens/pyt - screens - girlslist.rpy", line 5, in script
    with dissolve
  File "game/library/initialization.rpy", line 134, in load
    child = im.cache.get(self.image)
  File "game/library/initialization.rpy", line 134, in load
    child = im.cache.get(self.image)
IOError: Couldn't find file ''.


Improvement... maybe, I can't really tell, on my suckish hardware the start is too slow to notice if it's faster by few seconds.

===========
XMP (or how that's called) created by rudis tagger allowed to sort images by tags and that's was super useful for updating.
(you just browsed through images tagged "sex" and updated those).
I suppose we now can do the same by searching the images by filenames in browser, but if would be really nice to have it implemented in the tagger.
Filter exactly like that is working great in the gallery so far.

Please check your devlog, there should be a girl id there, maybe you can figure out what caused it.

Also if you can, drop a copy of that log in mine DB folder, I'd like to know what times need to be improved the most on older hardware.

PS: How the hell can you run Illusion games on PC that had issues with PyTFall?
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 04:37:55 PM
Omg not even working with fresh repo clone >.<

Same thing, if it doesn't crash with a report, devlog would still be able to tell what was loading last before the crash.
========================================

I am going to improve Rudi's logic a little bit when handling errors in Girls.show method.
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 05:00:53 PM
Code: [Select]
While running game code:
  File "game/library/screens/pyt - screens - girlslist.rpy", line 5, in script
    with dissolve
  File "game/library/initialization.rpy", line 134, in load
    child = im.cache.get(self.image)
  File "game/library/initialization.rpy", line 134, in load
    child = im.cache.get(self.image)
IOError: Couldn't find file ''.

SF updated with a really small bit of code and a No Image Found image. Instead of crashing, game will simply show a default image just like it does in WM.
Title: Re: General Discussion
Post by: lamoli on August 13, 2014, 06:20:58 PM
fixed my problem.. it was related to pics name.. somehow the check between start game and MC select checks your pack and if it finds names too long or non consistent between file name and name used in json.. it make an error you could ignore to get to MC select screen but if you press start game in that screen you could get cascading errors

so dont ignore pic error, fix it and you wont have errors after MC select=> start game

( didnt make errors or crash in previous versions.. looks like tagging update make it more sensitive :p )
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 07:20:10 PM
fixed my problem.. it was related to pics name.. somehow the check between start game and MC select checks your pack and if it finds names too long or non consistent between file name and name used in json.. it make an error you could ignore to get to MC select screen but if you press start game in that screen you could get cascading errors

so dont ignore pic error, fix it and you wont have errors after MC select=> start game

( didnt make errors or crash in previous versions.. looks like tagging update make it more sensitive :p )

Well, that is to be expected, filesnames string structure is not analyzed to match pytfall's atm. I'll see if I can improve that at some point as well. Otherwise. I think that your error came from registering side pics when characters are created.

Every characters gets a say object of his/her own so it can use Ren'Pys say system without redefining it. This is especially useful when coding in python.
Title: Re: General Discussion
Post by: CherryWood on August 13, 2014, 07:20:43 PM
Please check your devlog, there should be a girl id there, maybe you can figure out what caused it.

Also if you can, drop a copy of that log in mine DB folder, I'd like to know what times need to be improved the most on older hardware.

PS: How the hell can you run Illusion games on PC that had issues with PyTFall?
ok I found it. every error is in my NGE pack - there is a lot of errors and all look like this:
Code: [Select]
WARNING  PyTFall 0.47 Alpha Total failure while looking for image with ['ibuki_maya', 'portrait'] tags!!!Dunno why, all files are converted, for example Maya's portrait is a po-mqxl.png. But I can't even load them in your tagger now, it's just show empty field where filenames normally are. The game just can't find them for some reason...


I deleted that pack and devlog is clean of error now.


Only thing that's long in loading is this:
Code: [Select]
INFO     PyTFall 0.47 Alpha Starting timer: Loading: JSON Tags (OldStyle)
INFO     PyTFall 0.47 Alpha.tags loaded 0 images from tags.json files
INFO     PyTFall 0.47 Alpha Loading: JSON Tags (OldStyle) took 24.3299999237 secs to run!
placed it in your DB to bugs, 1 run with that pack, 2 without

There's no need to run illusion games to rip lines out of them  :)
Title: Re: General Discussion
Post by: Xela on August 13, 2014, 08:00:45 PM
ok I found it. every error is in my NGE pack - there is a lot of errors and all look like this:
Code: [Select]
WARNING  PyTFall 0.47 Alpha Total failure while looking for image with ['ibuki_maya', 'portrait'] tags!!!Dunno why, all files are converted, for example Maya's portrait is a po-mqxl.png. But I can't even load them in your tagger now, it's just show empty field where filenames normally are. The game just can't find them for some reason...

I'd like to get to the bottom of this... She's working perfectly fine for me. That pack has a script folder in it... maybe that's messing things up somehow. See if it works with it removed or replaced and try again.

Only thing that's long in loading is this:
Code: [Select]
INFO     PyTFall 0.47 Alpha Starting timer: Loading: JSON Tags (OldStyle)
INFO     PyTFall 0.47 Alpha.tags loaded 0 images from tags.json files
INFO     PyTFall 0.47 Alpha Loading: JSON Tags (OldStyle) took 24.3299999237 secs to run!
placed it in your DB to bugs, 1 run with that pack, 2 without

There's no need to run illusion games to rip lines out of them  :)

Holy crap... just how many files do you have :D

You know.. you don't have to attempt to load them at all. Just comment out:

Code: [Select]
    call load_json_tags
line in script.rpy file and restore it every time you need to convert packs from JSON to filenames. Will cut 24 secs of your loading time and change nothing at all otherwise.

Edit: Still no devlog file*
Title: Re: General Discussion
Post by: CherryWood on August 14, 2014, 09:10:47 AM
Edit: Still no devlog file*
i reuploaded it again, but it should have been in Pytfall/Xela it's not there?


And I figured out the bug - it was totally unrelated to the tagger or images, it was a DarkTl data file that I grabbed a few days ago without checking and it's not compatible with that girlpack (bad ID's). It's strange that I didn't get that error much sooner, probably I was just unlucky with the random girl assigned at new game and didn't get any of NGE girls in dev mode before.


Sorry!  :-[
Title: Re: General Discussion
Post by: lamoli on August 14, 2014, 09:36:38 AM
i reuploaded it again, but it should have been in Pytfall/Xela it's not there?


And I figured out the bug - it was totally unrelated to the tagger or images, it was a DarkTl data file that I grabbed a few days ago without checking and it's not compatible with that girlpack (bad ID's). It's strange that I didn't get that error much sooner, probably I was just unlucky with the random girl assigned at new game and didn't get any of NGE girls in dev mode before.


Sorry!  :-[

NGE pack.. i dont have that.. is it compatible with current Pytfall version ??
Title: Re: General Discussion
Post by: DarkTl on August 14, 2014, 10:01:07 AM
Ah, I see. After the last (and the deepest) traits review I really quickly wrote fixed data files for Cherry's packs as well, so that we could continue to use his packs.
=========================================================
Btw, if we'll add moral stat after all (because it would be very fun to corrupt characters during ST), it doesn't mean that we have to remove moral traits. They just will limit moral stat in one way or another.
Title: Re: General Discussion
Post by: lamoli on August 14, 2014, 10:41:42 AM
Btw, if we'll add moral stat after all (because it would be very fun to corrupt characters during ST), it doesn't mean that we have to remove moral traits. They just will limit moral stat in one way or another.

i could use that as factor to be inclined to do whore/strip training.. lacked that refusal modifier or ( base ST acceptance )
unless that training should be as easy as training her on service >.<
Title: Re: General Discussion
Post by: DarkTl on August 14, 2014, 10:45:46 AM
Actually, they could be flags for extremely low/high moral. I mean pervert and strict morals traits.
Title: Re: General Discussion
Post by: Xela on August 14, 2014, 07:05:34 PM
*I don't seem to be getting the log file for whatever reason, does anyone else see it in my folder? If yes, I should reinstall DB or something.

**Glad you've solved the NGE issue.

***I don't like christian typed morality in PyTFall where sex is immoral... We can go with that if that cannot be helped but still... I'd hate it :(
Title: Re: General Discussion
Post by: DarkTl on August 15, 2014, 07:31:50 AM
Yeah, I know what do you mean. Yet without any moral at all what's the difference between whore and warrior, or lover and non lover? Should't they have major difference in terms of sex acceptableness?
Title: Re: General Discussion
Post by: Xela on August 15, 2014, 08:32:30 AM
Yeah, I know what do you mean. Yet without any moral at all what's the difference between whore and warrior, or lover and non lover? Shouldn't they have major difference in terms of sex acceptableness?

We already have: charisma, disposition, traits, fame, reputation. Based on what's sensible for a girl and what is not. + A part of the difference can/should/is a class itself* + If we ever add multiple faiths, that can be a factor as well.

In the future, personal relationships and/or preferences can be added to that.
Title: Re: General Discussion
Post by: DarkTl on August 15, 2014, 11:34:07 AM
@MrKlaus, any news about descriptions? I'm not rushing you or something, just wanna to see what do have there.
Title: Re: General Discussion
Post by: DarkTl on August 15, 2014, 01:43:59 PM
Pushed some lines, checks are not in the correct order yet and new types of lines are quite messy, it's like an alpha stage.
New things that I'm going to use for sure:
- Reply to insult, one label for all of them;
- Date good and bad endings and refusing;
- Many lines for friend and lover propositions.
There are some other new labels, but looks like there won't be enough lines.

Btw, do you think it's ok to break the fourth wall by using that letter about Air Force Major Abacha Tunde and $ 3,000,000 American Dollars? Shouldn't it be a bit more authentic, like gold instead of $ and so on?
Title: Re: General Discussion
Post by: CherryWood on August 15, 2014, 02:08:23 PM
Pushed some lines, checks are not in the correct order yet and new types of lines are quite messy, it's like an alpha stage.
New things that I'm going to use for sure:
- Reply to insult, one label for all of them;
- Date good and bad endings and refusing;
- Many lines for friend and lover propositions.
There are some other new labels, but looks like there won't be enough lines.

Btw, do you think it's ok to break the fourth wall by using that letter about Air Force Major Abacha Tunde and $ 3,000,000 American Dollars? Shouldn't it be a bit more authentic, like gold instead of $ and so on?
Ok, I have some lines stored that I wasn't sure about before, but some of them could fit into those new field + those personalities I removed for a while. So I add them someday.


I think that some lines from "normal" should be copypasted into traits. I don't think there a need to have unique lines for every options, only to avoid those that would look out of place for them (=almost every girl could say simple "thanks" sometimes and other vague answers)


That letter is just a really old example on how to make a trait condition and nvl text from Xela. I think we decided to not break the fourth wall so obviously with any generic replies and in-game texts, but be ok with it on unique girls or npcs if someone want to do that.
Title: Re: General Discussion
Post by: Xela on August 15, 2014, 02:42:00 PM
Btw, do you think it's ok to break the fourth wall by using that letter about Air Force Major Abacha Tunde and $ 3,000,000 American Dollars? Shouldn't it be a bit more authentic, like gold instead of $ and so on?

It should be deleted completely (or edited) and someone should create default labels for Retarded/MindBroken traits. It was never meant to be part of the game, just an example of NVL mode and a placeholder.
Title: Re: General Discussion
Post by: DarkTl on August 15, 2014, 02:53:46 PM
I think that some lines from "normal" should be copypasted into traits. I don't think there a need to have unique lines for every options, only to avoid those that would look out of place for them (=almost every girl could say simple "thanks" sometimes and other vague answers)
Yup, that's the plan.

It should be deleted completely (or edited) and someone should create default labels for Retarded/MindBroken traits.
Ok, will do.
Title: Re: General Discussion
Post by: Xela on August 15, 2014, 04:30:57 PM
**I'll see if I can code something for the SE tonight. CW created a new file and there are new options :D

PS: I've prepeared PyTFall for Ren'Py 6.18 btw. SF version will not compile for SL2 and improved parser, but that created some minors bugs for 6.17 so that's why I haven't pushed yet. We cannot yet switch to a preprerelease 6.18 either atm because Drag&Drop is even more messed up there. This is the last bug relevan tot PyTFall, they fix it and we switch development to their prerelease channel :)

Dev also promised a way to improve screen performance beyond of what 6.18 already does with additional coding, so we'll see if it's sensible to improve the code in the future as well.
Title: Re: General Discussion
Post by: MrKlaus on August 15, 2014, 05:48:15 PM
@MrKlaus, any news about descriptions? I'm not rushing you or something, just wanna to see what do have there.

 PM the whole thing to you guys. I'm not happy with the final result, feels to lack something for me. If you have any pointers, suggestions please don’t hold back. 
 
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 02:10:14 AM
Instead of working on the project yesterday evening, I got sucked into checking out new games made in pure Python (can be achieved in Ren'Py with a lot of work in most cases). Until recently, there seemed to be non that were any good, just silly, unfinished test projects and concepts... noways there is a whole bunch of games (even commercial) and some of them are pretty good.

If time permits, I'll put time into SE module tonight.
Title: Re: General Discussion
Post by: MrKlaus on August 16, 2014, 07:56:10 AM
Btw. The game have something like a puzzle maker from girls pics. Can that puzzle maker could be used inside a quest or an event; or would be to much pain in the ass to code? I'm thinking something like: "here is a broken stone key to the temple, after getting the puzzle right it would open a new area for exploration" or something like "Your cat destroyed my art! - Fix the painting event".
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 08:05:23 AM
Btw. The game have something like a puzzle maker from girls pics. Can that puzzle maker could be used inside a quest or an event; or would be to much pain in the ass to code? I'm thinking something like: "here is a broken stone key to the temple, after getting the puzzle right it would open a new area for exploration" or something like "Your cat destroyed my art! - Fix the painting event".

With ease. Don't worry about using it in event.

Edit: Ali events needs to be rewitten with less lines from the MC and to happen near the mages tower. I can prolly do that myself. Note that you wanted to also expand box event unless I misunderstood something.

I'll brb in 3 - 4 hours and hopefully get working on SE.
Title: Re: General Discussion
Post by: MrKlaus on August 16, 2014, 09:02:39 AM
With ease. Don't worry about using it in event.

Edit: Ali events needs to be rewitten with less lines from the MC and to happen near the mages tower. I can prolly do that myself. Note that you wanted to also expand box event unless I misunderstood something.

I'll brb in 3 - 4 hours and hopefully get working on SE.


Ali short (remake from the long):
 
Ali: Hello mister. Have you come to play with me?
MC: Nope. Maybe sometime in the future (about 10 years from now).
Ali: So Mister, what brings you here?
MC: I wanted to know more about the alignments.
MC: But it’s awfully quiet. Where are the temple scholars?
Ali: On an every year, three month pilgrimage. You didn’t know that? You must be pretty dumb Mister.
Ali: But have no fear, Ali is here.
Ali: I will teach you mister. So give me something nice in exchange.
MC: I can give you…
 #and the menu1 comes into play


Ali short version2:
 If going for that background from my folder, it could be something like this: “On your way to the Mage tower you discovered that the route branches away (maybe give here a menu: go to tower/follow the discovered road.) or get lost in a thick fog and come to the Alignment temple.
 
Talking with Ali:
Ali: Hello mister. Have you come to play with me?
MC: Nope. Maybe sometime in the future (about 10 years from now). What is this place?
Ali: The Temple of Alignments. You didn’t know that? You must be pretty dumb Mister.
Ali:  The scholars could tell you all about the alignments but they are on an every year, three month pilgrimage.
Ali: But have no fear, Ali is here.
Ali: I will teach you mister. So give me something nice in exchange.
MC: I can give you…
#menu1 from the event.
 




 
And if you can write the missing lines about happening near the mage tower it would be great. (currently doing some renovations at home and don’t have that much time to sit in front of my laptop. Just taking quick looks on the forum when on a break). But if you want I can come with something tommorow morning or later todays evening (6-7 hours)




 About the box event. The expansion was the potential bombing the MC place but it should be tied to some Crime Lord (that you mentioned will be running the Slums) or someone of high status that the MC screw over (or his wife). Also there should be the city guard to disable the bomb. But we don’t have anything from this right now.
 
The second expansion would be finding a kitty (some other animal) in the box. It could grow to a really big size and help in fights. Or event when it would morph into a catgirl (other animal girl), or just trigger a event when the MC would give the cat as a present to some girl or (another one xD) place the cat into the MC screen some place near his legs (not as an item but just some extra stuff), it could give some boost to charisma (all girls love cute cats).
 

 
Title: Re: General Discussion
Post by: DarkTl on August 16, 2014, 01:17:37 PM
Well, if there will be a polymorph cat, it would be a great opportunity to add random catgirl pack, since she can change her appearance freely.

I guess we could add something like that as a part of the main story, it will enliven and embellish the game, like those unique assistants in Otherworld. Maybe either in childhood or just before arrival to the city MC found a small box, and so on. It will always be with MC at his profile screen, it can help in fight if needed, you can talk to her, she helps you to recruit girls in cat form, etc. Even though I'm not really into furry stuff, I like the idea a lot.
Title: Re: General Discussion
Post by: CherryWood on August 16, 2014, 01:43:34 PM
I suppose we will need some guard characters in any case, any tips for who that could be?
I think we need at least 3 people in the same uniform (would be good to have both genders within), and at least 2 of them need a VN and battle sprite. I'll look for the pics and do the background removing if needed, but I don't really have anyone in particular to propose...


btw. what is SE?
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 02:14:17 PM
btw. what is SE?

Simulated Exploration module, out exploration guild, I refer to it this way :)
Title: Re: General Discussion
Post by: DarkTl on August 16, 2014, 02:16:22 PM
I guess any generic guards, somehow I always imagine them with helms covering faces.
Not necessary fully medieval, there are a lot of tips about more advanced technologies in art that we use, but without blasters either.

I think we should combine reactions to clever, strong and cute compliments in girlsmeets. Breasts compliment is another matter, it has a bit different lines.
Title: Re: General Discussion
Post by: MrKlaus on August 16, 2014, 02:22:35 PM
Well, if there will be a polymorph cat, it would be a great opportunity to add random catgirl pack, since she can change her appearance freely.

I guess we could add something like that as a part of the main story, it will enliven and embellish the game, like those unique assistants in Otherworld. Maybe either in childhood or just before arrival to the city MC found a small box, and so on. It will always be with MC at his profile screen, it can help in fight if needed, you can talk to her, she helps you to recruit girls in cat form, etc. Even though I'm not really into furry stuff, I like the idea a lot.

 It doesn't have to be a total furry, from my point of view a girl with cat ears would be fine. Also he could find some holly/curse item and we have a gate way for acquiring angels and demons. Or some item that would start a chain quest.

 About the box event itself. I proposed the idea to Xela some time ago, around when he was working on the realtor (don’t remember if I send him all the lines for the menu and potential outcomes). The general idea was that the MC would find a box on his door step (let’s say once every 30 days). The player would get the option to: open/leave it/make a girl open it/call the bomb squad. After opening MC would find nothing of use general in game use (like a sweater send to him from granny) or a promo from the local shops, a four pack of potions, maybe a cake or some gloves from the tailor; of course items of low value.  The cat (pet) thing should be more exclusive and harder to get.
Leaving the box along would be the end of the event.
If a girl would open the box it usually be some embarrassing to the MC, one of the original text from the event: “You appointed [SlaveName] to open the box for you. Inside it were pills for your manhood problems that you ordered in secret. Unfortunately [SlaveName] likes to gossip.” Or the box would explode and the girl would get killed.
The bomb squad was an option  that should be in use when Crime Lords and generally NPC that would want to kill the MC could send a bomb to his place. The outcome would be disarming the bomb or paying a fine from the false alarm.
 
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 02:25:03 PM
Hey, could you guys write me a dict on how you'd logically group tags in the tagger.

Like:

taggroups = {
"Group 1" = ["tag 1", "tag 2"],
"Group 2" = ["tag 1", "tag 2"]
}

and so on.

Maybe a exclusions as well:

excludetags = {
"If this tag is present": ["exclude tag 1", "exclude tag 2"]
}

and so on. I don't know if latter is required but shouldn't be too hard to get it done.
Title: Re: General Discussion
Post by: DarkTl on August 16, 2014, 02:59:08 PM
Isn't it a bit too early? Final tags list is not approved yet.
I could do it, but not before Monday, unless Cherry is willing to do it. I'm busy with girlsmeets lines, it's much easier to do at home than at work for some reason.

@Klaus
We could use that event if you write all lines. Without a shapeshifter cat though, I think it should be obtained in a different way. Just either minor item, event or some debuff (without bombs for now, we don't have Crime Lords yet).
Another option is to write events and lines for the cat assistant. I can do it too, but you have more writing talent.
Angel/Demon is not an option, I think. They ill-suited to the role of shapeshifter, and we have angel random pack with more or less similar pics.
Title: Re: General Discussion
Post by: CherryWood on August 16, 2014, 03:09:34 PM
I guess any generic guards, somehow I always imagine them with helms covering faces.
Not necessary fully medieval, there are a lot of tips about more advanced technologies in art that we use, but without blasters either.

I think we should combine reactions to clever, strong and cute compliments in girlsmeets. Breasts compliment is another matter, it has a bit different lines.
there are no texts for strong/clever created by me anyway, so I'm not against that  :)  but because intelligence and strong stats and traits exists, I think there should be some checks for that. Like, calling a weak girl strong should fail, because she will think you are just making fun of her.


Helmets covering faces? I like that...


------------------------
I'm not really fit to do the tags now either. I didn't added any girl images for months now so I almost forget what it's there  :) 


I'm creating some items for SE now and thinking about some quests for them (or that crafting you mentioned). But it's not going very well, as only thing I'm ok with are pictures, writing texts and balancing stuff is hell as always...
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 03:32:23 PM
Ok, we'll handle that later then :)
Title: Re: General Discussion
Post by: DarkTl on August 16, 2014, 03:45:58 PM
I'm not sure how to handle crafting at all. Should there be strict recipes or a lot of values with rng?
Title: Re: General Discussion
Post by: MrKlaus on August 16, 2014, 03:55:31 PM
@Dark

 
 The lines are pretty much done, just need to be coded (I don't have any coding skills) and Xela was mentioning some pages ago that he will get to code this, so talk it out who will do this. Found the PM that I send to Xela with the lines. The mayor problem was the background. We needed (and probably still need) a doorstep for the MCs place and a box.
 
 

The box event:

Code: [Select]
label start_box1_event:

    "When you got home, a mysterious package was lying on your doorstep."
   
    menu:   #the 4 and 5 option could be optional for now.
        "Kick it away.":
            jump box1_event_kick
       
        "Open it and look inside.":
            jump box1_event_look
       
        "Walk past it.":
            jump box1_event_pass
       
        "Have one of your slaves open it.":
            jump box1_event_slave
       
        "Call the bomb squad!" :
            jump box1_event_squad
 
# from here i'm lost. I want for this option to be random at every pick by the Player. For example "kick" have 4 random ways and after displaying the result, they should end the event.             
           
label box1_event_kick:
    "It was a bad idea. Inside was a portable anvil. You broke your foot." #maybe add a temporary lose to agility or a permanent one
    "It flew far away when you were pump fisting in celebration of setting your new personal best in box kicking."
    "It flew high in the air and had hit a city guard on its way down. You quickly went inside your house."
    "Unfortunately the box broke and you were standing, in ankle high pile of shit."
       
label box1_event_look:
    "After carefully opening the boxes lid, you had found SHIT! Literally."
    "After carefully opening the box lid, you had found a six-pack of small hp potions" # also could give other random items of low value, something like a promotion box from the shop filled with samples
    "After carefully opening the boxes lid, you had found a cat" # this is a idea that could grew. Player could be given the option to keep the cat. The cat itself could be showed at the MC feet on the status screen. After lets say 100 days could be bigger and be used as a battle pet in fights.
    "After carefully opening the box lid, you had found trash inside."
    "After carefully opening the box lid, you had found nothing."
   
label box1_event_pass:
    "You went inside ignoring the box"
   
#don't know if this is possible right now, but after taking this option from the menu it should warp to all girls screen, letting the player to pick a girl to open the package.   
label box1_event_slave:
    "You appointed [slavename] to open the box for you. Inside it were pills for your manhood problems that you ordered in secret. Unfortunately [SlaveName] likes to gossip."#maybe lose some reputation or seflestime (-charisma event)
    "You appointed [slavename] to open the box for you. Inside it were thee jars filled with jam, that granny sent you."
    "You appointed [slavename] to open the box for you. The box was empty."
    "You appointed [slavename] to open the box for you. When she picked it up, it exploded!" #the assigned girl got killed
#in future could be used as an attemp of a Crime Lord to killed the MC if they are on bad terms.
label box1_event_squad:
    "You carefully stepped back. Being  in distance of ten steps from the box you ran to the nearest guard post. After twenty minutes the vicinity of you house was evacuated and the area was closed for civilians in five block range. A specialist appeared on the scene and began to examine the box. Briefly after five minutes he came to you and showed the containment of the box. Inside it was a bomb! This time you got lucky!"
    "You carefully stepped back. Being  in distance of ten steps from the box you ran to the nearest guard post. After twenty minutes the vicinity of you house was evacuated and the area was closed for civilians in five block range. A specialist appeared on the scene and began to examine the box. Briefly after five minutes he came to you and showed the containment of the box. Inside it were panties that you order for the girls. You were charged with cost of the operation having to pay 1000 gold"
    "You carefully stepped back. Being  in distance of ten steps from the box you ran to the nearest guard post. After twenty minutes the vicinity of you house was evacuated and the area was closed for civilians in five block range. A specialist appeared on the scene and began to examine the box. Briefly after five minutes he came to you and showed the containment of the box. Inside it were boxer short with teddy bear pattern, being sent to you from granny. Oh the humiliation! You were charged with cost of the operation having to pay 1000 gold"
 


 If you need more outcomes I will write some. And if you need some text for anything just tell me the idea and maybe a skeletal structure how it should done (dark, comedy), what to be in it and a general story line (for example: a princess gets kidnapped by pirates, but somehow the ships sinks. she becomes a castaway on a island full of dragons and starts to tame them. After 10 years she conquer her old kingdom- Klaus make it real) and I will think of something.
 
Title: Re: General Discussion
Post by: CherryWood on August 16, 2014, 03:58:07 PM
I'm not sure how to handle crafting at all. Should there be strict recipes or a lot of values with rng?
I just have no idea...
Now I'm working on some SE locations (made on a whim pretty much) and I can easily imagine a lot of "ingredients" being there, from monster trophies like bear fur, werewolf fangs, shard from a crystal golem... to  items like mushrooms from druids cove or a flower from a top of a mountain.
But I wonder what to do with them, as player probably don't need to make items that much, so it maybe better approach to just create "bring me this item" quests from npc, with those items appearing only when that quest is active, to not pollute the game with junk.

At least as permanent items goes. But some alchemy drug and potions mixing with random and fun results, may be different story.
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 04:32:45 PM
I'm not sure how to handle crafting at all. Should there be strict recipes or a lot of values with rng?

I thought along the lines of fixed...

But if you really want values, it's doable, will just create more work for us. (Elder Scrolls way).
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 05:28:58 PM
Depends on a quest purpose and an author I guess.

If you're not going to it, why does it matter? :D
Title: Re: General Discussion
Post by: CherryWood on August 16, 2014, 05:37:24 PM
Forget it then.


I'm still missing something about this game, but can't figure out what to do with it, so I'm getting strange ideas sometimes.
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 05:46:21 PM
I'm still missing something about this game, but can't figure out what to do with it, so I'm getting strange ideas sometimes.

To me it's the story lines that uncover the city life, in depth instead of superficial events, decent backgrounds for girls creating a unique feel about them that is missing. I suppose different things would be missing for different people. Per original concept, we were first supposed to finish exploration and st and than focus on developing endings, goals, stories and events.
Title: Re: General Discussion
Post by: CherryWood on August 16, 2014, 07:06:02 PM

For me that would be probably "theming" your business. But it's hard to explain. Something like setting a "house rules" for both girls and customers and promoting that. So there could be a one building where all girls all proper and elegant, and any ungentlemanly behavior there is not tolerated, while on the other street you could run a dirty whorehouse where anyone can be rough to the poor girls as they please. And if what type of girls are together could matter somehow.

And choices, man I like choices that do matter. Over boring numbers anyday.
But that's so insanely hard to make... because for every choice I would had to create all other options. And it's also no fun at all to create outcomes I don't like, just because they are supposed to be there...

To me it's the story lines that uncover the city life, in depth instead of superficial events, decent backgrounds for girls creating a unique feel about them that is missing. I suppose different things would be missing for different people. Per original concept, we were first supposed to finish exploration and st and than focus on developing endings, goals, stories and events.

Not sure if I understand this well. So instead of focusing on your girls and interactions with them, with NPCs playing mostly the support role (shops and questgivers), you would rather have a in-depth NPCs that have their own goals and cause wholegame events in the city, where MC can participate? Like a actual storyline with preset endings? Or maybe sandbox-like when one organisation takes over the city, replace the NPCs with their own, but nothing drastically change?
Title: Re: General Discussion
Post by: Xela on August 16, 2014, 07:22:38 PM
For me that would be probably "theming" your business. But it's hard to explain. Something like setting a "house rules" for both girls and customers and promoting that. So there could be a one building where all girls all proper and elegant, and any ungentlemanly behavior there is not tolerated, while on the other street you could run a dirty whorehouse where anyone can be rough to the poor girls as they please. And if what type of girls are together could matter somehow.

It's not all that difficult to code. I never really thought about this, we can definitely implement something along these lines in the future.

And choices, man I like choices that do matter. Over boring numbers anyday.
But that's so insanely hard to make... because for every choice I would had to create all other options. And it's also no fun at all to create outcomes I don't like, just because they are supposed to be there...

Not sure if I understand this well. So instead of focusing on your girls and interactions with them, with NPCs playing mostly the support role (shops and questgivers), you would rather have a in-depth NPCs that have their own goals and cause wholegame events in the city, where MC can participate? Like a actual storyline with preset endings? Or maybe sandbox-like when one organisation takes over the city, replace the NPCs with their own, but nothing drastically change?


Well, yeah. That's exactly what I meant by integrated events and integrating modules with the world. Expanding the world itself as well.

We're rowing in the same direction but we need those boring numbers there first, to have some ground to build upon.

I am not sure I understand it either, there are many directions we can take, many stories, many ending, many ways to pick an ending (did the MC do a in Arena, Brothels, FE, ST and so on), did he complete some interesting chain of quest with any of the girls. What choices did he make and so on. It'll become more apparent when we start writing actual material, right now I am as lost in that concept as you are :)
========================================
Edit:
I'll add that the thing bothering me the most is that there is almost 0 immersion for players into the game world. Once we get some time to work on world+content, that's the first thing we should take care of.
Title: Re: General Discussion
Post by: Xela on August 17, 2014, 01:41:02 AM
(http://s14.postimg.org/y851rccql/8_17_2014_8_28_50_AM.jpg) (http://postimg.org/image/y851rccql/)

Been working on improving FG interface... We now have improved buttons, way to delete a team, way to select a team, way to check vitals of members, way to id a warrior girl (marked by W on unhovered portrait.) + We now have description of an area. Oh, areas are now sorted and when choosing a general area, local area will be updated automatically.

All and all, this sh!t seems simple but it requires a damn good deal of code to make it work...

Also, I've standardize dropdown screen, we can now change it's graphics all over the game from the same location.

I'll try to add logic to the job itself...
Title: Re: General Discussion
Post by: DarkTl on August 17, 2014, 03:13:53 AM
What I don't like about FG interface right now is those sliders for days and risk. Not only it's hard to read vertical text, it also provide too fine tuning for risk. I'd say there should be fixed values, maybe buttons like "very easy", "hard", "deadly", etc.
Title: Re: General Discussion
Post by: DarkTl on August 17, 2014, 03:53:36 AM
Hm, I found some interesting lines in pyt - labels - girlinteractions - date. What is it for?
Title: Re: General Discussion
Post by: CherryWood on August 17, 2014, 04:05:39 AM
Hm, I found some interesting lines in pyt - labels - girlinteractions - date. What is it for?
That's our old date and how to start a fight example. I don't think it work anymore and because of that a button to start it was removed from interactions.
There exist even a more expanded version made by me using all beach locations with more choices what to do, like sunbathing, restaurant, swimming... but I never pushed that because of lack of some texts and some other issues (like that gifts didn't exist yet at that time). It's still in my plan to finish it someday...

I mean, this is what I think dates was supposed to look like, before Xela decided that there's no value in doing it now, and postponed that idea until much much further in development (after beta == probably never).
Title: Re: General Discussion
Post by: DarkTl on August 17, 2014, 05:49:33 AM
Xela can't resist ready content. The problem here is to finish it, not just propose. If you willing to finish it, do so and we'll add it.
I'll handle girlsmeets and interactions meanwhile.
Title: Re: General Discussion
Post by: Xela on August 17, 2014, 10:22:36 AM
I mean, this is what I think dates was supposed to look like, before Xela decided that there's no value in doing it now, and postponed that idea until much much further in development (after beta == probably never).

Err? When did that asshole Xela decide that? We otta find him and kick his ass :D
Title: Re: General Discussion
Post by: MrKlaus on August 17, 2014, 10:58:41 AM
For me that would be probably "theming" your business. But it's hard to explain. Something like setting a "house rules" for both girls and customers and promoting that. So there could be a one building where all girls all proper and elegant, and any ungentlemanly behavior there is not tolerated, while on the other street you could run a dirty whorehouse where anyone can be rough to the poor girls as they please. And if what type of girls are together could matter somehow.

 Few days ago when discussing the new theme for PyTFall (the bright map), Dark mentioned that you guys plan to add new cities, territories etc. Maybe make the cities and their areas (high society houses, slums, markets and all other) be describe with stats. When the area would be highlighted, there would be a small window in the corner of the screen with visualization of how this area is manage. The stats could be:
lawfulness (is the are safe or is crime on every corner), 
wealth (how much you can earn in here),
military (does the city guard patrol the area and take action in here or not),
society level (low – the lowest standards, medium – the girls and the MC should generally know how to behave; high – girls and MC HAVE to know how to act and behave when blending with the high society people),
depravation (how much will the girls have to do – from holding hands to getting fucked by a hoarse and being watched by dozens pervs).


The general idea is that this fixed (or not) statistic would be displaying what kind of business should be run in the place and what kind of girls would earn the most money. If the society would be high, a lvl 1 girl wouldn’t fit in there and customers never want to see her in their surroundings; on the other hand high lvl girls and with certain traits would blend perfectly. This division would justify why free girls would want to work for MC (he can get them to the high paying customers so they can make more money than working on their own).
 
Title: Re: General Discussion
Post by: DarkTl on August 17, 2014, 01:15:49 PM
Err? When did that asshole Xela decide that? We otta find him and kick his ass :D
You the moderator here. Just ban him already!

Few days ago when discussing the new theme for PyTFall (the bright map), Dark mentioned that you guys plan to add new cities, territories etc.
I hope you understand that we are far from that. We need to finish one city for a start  :)
Title: Re: General Discussion
Post by: Xela on August 17, 2014, 01:37:44 PM
You the moderator here. Just ban him already!

I've let him off with a harsh warning, can't get past some weird sense of familiarity with the poor sod :)

Eliont added intro to Alkion with the last release btw. Not too shabby: interface improved (a bit), lots of bugs fixed, new way of loading packs (folder = category instead of a filename). BE polished a bit but still threw me an error after a bit of play.
Title: Re: General Discussion
Post by: MrKlaus on August 17, 2014, 02:57:15 PM
@Dark

Yeah I know. Just throwing an idea into the wild world of PyTFall.
Title: Re: General Discussion
Post by: MrKlaus on August 18, 2014, 07:34:00 PM
 Question: Will there be alternative ways to earn(spend) money by buying shares in businesses, supporting merchant trades, patronizing artist(this could be a beginning for meeting a certain girl)?
 
Title: Re: General Discussion
Post by: Xela on August 18, 2014, 07:39:11 PM
Question: Will there be alternative ways to earn(spend) money by buying shares in businesses, supporting merchant trades, patronizing artist(this could be a beginning for meeting a certain girl)?

Not even planned yet. It should be easy to code, but so is a lot of other stuff.
Title: Re: General Discussion
Post by: MrKlaus on August 18, 2014, 08:40:24 PM
Another (stupid) question: Is there somewhere a list of things that will be inside the game (except the topic called -TODO: list)? Number of cities/town/ villages, shop types, locations, NPC types, event types?

I’m asking, because I was thinking about making a quest chain given by one of the girls or something like a short story for obtaining a girl.
 
Title: Re: General Discussion
Post by: Xela on August 18, 2014, 08:51:02 PM
Another (stupid) question: Is there somewhere a list of things that will be inside the game (except the topic called -TODO: list)? Number of cities/town/ villages, shop types, locations, NPC types, event types?

I’m asking, because I was thinking about making a quest chain given by one of the girls or something like a short story for obtaining a girl.

Not really, nothing beyond what we've discussed. CW already has a couple of stories like that btw. He even made a couple of cool unique attacks to go with those.
Title: Re: General Discussion
Post by: CherryWood on August 19, 2014, 05:12:54 AM
I’m asking, because I was thinking about making a quest chain given by one of the girls or something like a short story for obtaining a girl.
Just make note that if you are making quest for unique girl (=downloadable girls) all files for that should be located inside the girlpack and not the game itself.


If I remember, right now we have this:

"start id label" - that runs at the start of a new game, it's useful for registering custom items, skills and a general checking what girls are really there (as a player can use only parts of the packs).
"event manager" - this thing check for events at most locations/screens. It has a simple conditioning build-in, like percent chance, run-at-entry or run after "look around" button, repeat at X days... etc. There's some support for adding any conditions in.
"girlmeet quest/meetscript" - you can also run your label from a girl's picture at girlmeets, instead of default menu appearing.
"replaceable lines" - game checks for unique label before every answer to girlmeets/interaction so you can replace some or all of the default answers with your texts/events


But you can surely request more, like I did  8) :) [size=78%]. [/size]But I think it's working nicely now, it's sufficient for most event's I was thinking about doing.
Title: Re: General Discussion
Post by: MrKlaus on August 19, 2014, 05:23:37 AM
Just make note that if you are making quest for unique girl (=downloadable girls) all files for that should be located inside the girlpack and not the game itself.

Note taken (it is the same way custom meet sriprt was added in WM).


If I remember, right now we have this:

"start id label" - that runs at the start of a new game, it's useful for registering custom items, skills and a general checking what girls are really there (as a player can use only parts of the packs).
"event manager" - this thing check for events at most locations/screens. It has a simple conditioning build-in, like percent chance, run-at-entry or run after "look around" button, repeat at X days... etc. There's some support for adding any conditions in.
"girlmeet quest/meetscript" - you can also run your label from a girl's picture at girlmeets, instead of default menu appearing.
"replaceable lines" - game checks for unique label before every answer to girlmeets/interaction so you can replace some or all of the default answers with your texts/events


But you can surely request more, like I did  8) :) [size=78%]. [/size]But I think it's working nicely now, it's sufficient for most event's I was thinking about doing.

 Probably at some point will try to make the file myself(for a short side quest). But for now, I was thinking more like writing the "quest line tree" with all the branching, potential outcomes and handing it over to Xela to do the heavy lifting  :P
 
Title: Re: General Discussion
Post by: CherryWood on August 19, 2014, 05:38:36 AM
Probably at some point will try to make the file myself(for a short side quest). But for now, I was thinking more like writing the "quest line tree" with all the branching, potential outcomes and handing it over to Xela to do the heavy lifting  :P
You sure can do that, it's very welcomed too. (I hope  :D )


But not only Xela should be able to do that, unless you need some totally crazy conditioning there  :) . Our goal is to make inserting events easy as possible, and the rest is usually just a pure renpy with some stat changes. (at least after we write a guide)


---------------------

For generic events we are still missing some stuff, like callable menu to select a girl filtered by conditions specified, that could be very useful thing I guess. But this is stuff only Xela can do, and there is no ready content requesting that so...
Title: Re: General Discussion
Post by: DarkTl on August 19, 2014, 06:26:05 AM
Another (stupid) question: Is there somewhere a list of things that will be inside the game (except the topic called -TODO: list)?
We discussed an elven city nearby, probably beyond the forest, just because we have a lot of elven packs already. I even have very cool map for it somewhere in my db. And elves are supposed to be ardent opponents of slavery, so elven slaves will be rare and expensive.
Any content for the city, like locations, npcs, quests, etc. is welcomed, of course.
Title: Re: General Discussion
Post by: MrKlaus on August 19, 2014, 07:00:46 AM
You sure can do that, it's very welcomed too. (I hope  :D )


But not only Xela should be able to do that, unless you need some totally crazy conditioning there  :) . Our goal is to make inserting events easy as possible, and the rest is usually just a pure renpy with some stat changes. (at least after we write a guide)


---------------------

For generic events we are still missing some stuff, like callable menu to select a girl filtered by conditions specified, that could be very useful thing I guess. But this is stuff only Xela can do, and there is no ready content requesting that so...

...so we have to come up with some and make someone’s coding life a hell.
 
 
 But talking seriously. I'm now waiting for the next stabile alpha2 version of PyTFall with all features.
With the upcoming changes and implementing the city guards, it just screams that there should be some events like:
Bribing the neighborhood officer, so he would overlook MC brothel.
Getting harassed and shaken down for money by guards on patrol.
Being extorted by corrupted high rank officer, threatening that he will lock up the MC if doesn’t get his cut
A team get lost when exploring, and there is a short time window to send the rescue party to bring them back alive.
 
Also with current locations the possible quests/story lines options are pretty limited. But when the “PyTFall Universe” will be expanded by new NPCs, cities, neighborhoods and areas then we will be able to show off and get some more complicated plots up and running.


We discussed an elven city nearby, probably beyond the forest, just because we have a lot of elven packs already. I even have very cool map for it somewhere in my db. And elves are supposed to be ardent opponents of slavery, so elven slaves will be rare and expensive.
Any content for the city, like locations, npcs, quests, etc. is welcomed, of course.

 Content, you mean done graphics and ready to use NPC sprites or generally ideas for the NPCs and locations?
 
Title: Re: General Discussion
Post by: CherryWood on August 19, 2014, 07:09:36 AM
Also with current locations the possible quests/story lines options are pretty limited. But when the “PyTFall Universe” will be expanded by new NPCs, cities, neighborhoods and areas then we will be able to show off and get some more complicated plots up and running.


 Content, you mean done graphics and ready to use NPC sprites or generally ideas for the NPCs and locations?
Yes, Like Xela said, we will focus on story and events after the current work on new modules is done. Game without a story is just not worth attention in my option  :) .


And we need actual text the most I believe. There are plenty of images and ideas...
Title: Re: General Discussion
Post by: DarkTl on August 19, 2014, 07:11:43 AM
When I said any, I meant any  :)
I can find pictures by myself though, but when you create a location or an npc, you probably have an idea how exactly are they supposed to look, unlike me. Then again, you might as well describe them or just rely on our sense of taste  ::)
Title: Re: General Discussion
Post by: CherryWood on August 19, 2014, 07:23:15 AM
@DarkTl:
You said sometime before that you were looking through the "original" pics to look for possibilities for new RGirls. I'd like to make some original character for the story, so before I look myself, was there any really good ones that caught your attention you can point me to, but didn't quite make it for a pack?
Title: Re: General Discussion
Post by: MrKlaus on August 19, 2014, 07:23:58 AM
Yes, Like Xela said, we will focus on story and events after the current work on new modules is done. Game without a story is just not worth attention in my option  :) .


And we need actual text the most I believe. There are plenty of images and ideas...

 Like I said before. Gimme the idea and I will try to write the text for it and if even only one of hundred lines make it to the game, it’s ok with me.
 
@Dark

Got the elven city map from db. Will think about potential locations (the arena is obvious).
Title: Re: General Discussion
Post by: DarkTl on August 19, 2014, 07:38:36 AM
@Cherry
Packs with elves, windows girls, dragon quest girls and angel girls are based on original wm ideas, mine have higher quality of course. Others have too much variety, I'm afraid, especially monster girls packs like demons.
Title: Re: General Discussion
Post by: DarkTl on August 19, 2014, 07:44:20 AM
Oh, I also have pics for several human packs based on hair color, they will wait until we finish with tags.
And I used some special characters that don't have a personality at all as random ones. And there is slime pack, since they are able to change shape and color, thus variety doesn't matter. I don't have any more ideas, really.

For example, I tried to make fairy pack twice, for both wm and Pytfall, but it's not easy due to differences in wings appearance and characters size.
Title: Re: General Discussion
Post by: CherryWood on August 19, 2014, 07:48:54 AM
Oh, I also have pics for several human packs based on hair color, they will wait until we finish with tags.
And I used some special characters that don't have a personality at all as random ones. And there is slime pack, since they are able to change shape and color, thus variety doesn't matter. I don't have any more ideas, really.
Ok, NP. I'll go with recoloring a less known girl then.  I need to practice photoshop skill anyway  :)




AAA Why most of my favourite characters hardly have enough pictures even for a simple NPC... Do I really have that strange taste?  ???
Title: Re: General Discussion
Post by: DarkTl on August 19, 2014, 07:55:28 AM
There still may be characters without a personality with many pictures (usually from games), but I checked everything I know. And I asked here multiple times, no one knows as well. So sad  :'(
Title: Re: General Discussion
Post by: MrKlaus on August 19, 2014, 09:58:10 AM
Quick look at the elven map potential locations:

(https://dl-web.dropbox.com/get/PyTFall/MrKlaus/Elven_City%202.jpg?_subject_uid=317822518&w=AAB_izxgmQ6bgKhOsMR4C-7-ulm2-2r4SSa53YkGWgIXtw)

Also there is a lot of bridges on this map that could be of some use.
Title: Re: General Discussion
Post by: CherryWood on August 19, 2014, 10:18:37 AM
While looking for some items for exploration, I just found another great game for item icons, Dragon Warrior VII. It has some nice feminine dresses and such, without any editing required, so I add all those pics to my_DB folder (https://www.dropbox.com/sh/3zre6520tw4ofvi/AADZE9efMXJIbks9PbITqUPka?dl=0).

I'll sure use some, but it's hard to came up with texts up to the high description standard we have now...
Title: Re: General Discussion
Post by: DarkTl on August 19, 2014, 10:43:16 AM
Holy sh#t, I tried one crazy idea and it actually worked. I can't believe it. (http://gelbooru.com/index.php?page=post&s=list&tags=little_red_riding_hood_%28grimm%29)
A random girl based on Grimms tales, and a hot one. It's still possible to squeeze some decent random packs after all with a bit of imagination  :D

@Klaus
I don't know about you, but I cannot see your picture.
Title: Re: General Discussion
Post by: MrKlaus on August 19, 2014, 11:19:28 AM
Hmm... the image is in my folder on db but will attach it to this post.
Title: Re: General Discussion
Post by: DarkTl on August 19, 2014, 12:44:59 PM
I believe you cannot use dropbox links together with [img] tag, even if they are pictures.

What is the high branch club btw?
Title: Re: General Discussion
Post by: Xela on August 19, 2014, 01:33:45 PM
Pfff... what happened to Fighting Guild... I thought that was what we were working on.

I've added the path to/from (takes x amount of days at the start, coding the same on return is too annoying for the first version).
Added girls taking potions when they're hurt.
Added the hazard thing.
Added recovery in frontier encampments if girls are low of stats/AP when first starting the expedition.
Added rep penalty to MC for girls dieing/extra penalty if the whole team been wiped out. Disabled items/cash being brought hope if the entire team is wiped out and etc.

I'll look into monsters numbers setup tonight, if requires too much change to the new code, we'll do it for the next version. After that I'll start with adding girl capture, adding items: {"Frozen Sword": 1} to enable specific items being added to the guild. Add some upgrades, rooms and enable normal sorting + operations for girls (now it's all jumbled up for testing).

After the guild is ready, I figure we should add a small intro, some quick guides and release second alpha?
Title: Re: General Discussion
Post by: MrKlaus on August 19, 2014, 01:48:59 PM
After the guild is ready, I figure we should add a small intro, some quick guides and release second alpha?

qq: You will be using parts of the intro that I send some time ago or should I create a new short version?
I realized you were talking about the guild intro.

 
What is the high branch club btw?

I was thinking about a club for the night life in the city or in general place where elves go to party (meet elven girls more willing and interested in fucking different species). High Branch whas intended name of the club.
Title: Re: General Discussion
Post by: CherryWood on August 19, 2014, 01:54:03 PM
Pfff... what happened to Fighting Guild... I thought that was what we were working on.
I'm still creating items for it and figuring item lists... (I do want to create unique item list for every my area, without using item price at all, hope that's ok)


Shouldn't we add an actual location for it on map? I was imagining similar setup like Slave market - one room being the FG office and the second one to be an oldschool tavern (I kinda miss a one in the city).
Or just the tavern, cause I have no idea what should be in the guild if everything is operated from the main menu
And cause the tavern in meaningless without quest atm, then I suppose we don't need anything  :) 


========edit
LOL, I just created some head items and only after then I noticed that there's no headsloth in the game  :-\   I think I need to actually try to play the game sometimes  :D
Title: Re: General Discussion
Post by: Xela on August 19, 2014, 05:27:04 PM
========edit
LOL, I just created some head items and only after then I noticed that there's no headsloth in the game  :-\   I think I need to actually try to play the game sometimes  :D

I play a game once every month or two. It takes a lot of time to have a  decent gameplay.

We were talking about reinstating the head slot not so long ago btw...
Title: Re: General Discussion
Post by: DarkTl on August 20, 2014, 12:13:47 AM
After the guild is ready, I figure we should add a small intro, some quick guides and release second alpha?
Girlsmeets will take some time (after AA2 lines I'm going to add some AA ones that Cherry didn't use), so yeah, go ahead.

We were talking about reinstating the head slot not so long ago btw...
Yup, it's not hard at all to add a slot. The problem here is to create good items for it. If you can create at least 10 for a start, we can add it right now.
Title: Re: General Discussion
Post by: CherryWood on August 20, 2014, 05:21:23 AM
Yup, it's not hard at all to add a slot. The problem here is to create good items for it. If you can create at least 10 for a start, we can add it right now.
No thanks, it's too hard and time consuming to came up with any sensible descriptions. I'm overburden with the few items I wanted to add already...
Title: Re: General Discussion
Post by: Xela on August 20, 2014, 05:40:09 AM
No thanks, it's too hard and time consuming to came up with any sensible descriptions. I'm overburden with the few items I wanted to add already...

You wanted to add Tavern, didn't you? See if you can code one in, might be a decent idea to set up something like tavern/fg combo as you proposed.
Title: Re: General Discussion
Post by: CherryWood on August 20, 2014, 06:15:35 AM
You wanted to add Tavern, didn't you? See if you can code one in, might be a decent idea to set up something like tavern/fg combo as you proposed.
Ok. I'll look into that - I'll take a peak at the resources I have and write soon about how I imagine it could look like.

============edit
It's not going well, I'm not really able to find good images for NPC pair I imagined to use there, and I'm still missing a good FG office picture.
Title: Re: General Discussion
Post by: Xela on August 20, 2014, 05:25:10 PM
Ok. I'll look into that - I'll take a peak at the resources I have and write soon about how I imagine it could look like.

============edit
It's not going well, I'm not really able to find good images for NPC pair I imagined to use there, and I'm still missing a good FG office picture.

We can do without... focus on tavern instead?
Title: Re: General Discussion
Post by: CherryWood on August 20, 2014, 06:15:04 PM
We can do without... focus on tavern instead?
And what you want to have in tavern? I imagined it only as another "look around" location for future exploration quests.
Simply a tavern BG (http://img24.eu/images/27011928632350826467_thumb.jpg) (http://img24.eu/viewer.php?file=27011928632350826467.jpg)
but because empty tavern would be weird, with some random images over it on each visit, like:
(http://img24.eu/images/91913934023948757917_thumb.jpg) (http://img24.eu/viewer.php?file=91913934023948757917.jpg)(http://img24.eu/images/86013028025783346378_thumb.jpg) (http://img24.eu/viewer.php?file=86013028025783346378.jpg)(http://img24.eu/images/03733988157251285529_thumb.jpg) (http://img24.eu/viewer.php?file=03733988157251285529.jpg)(http://img24.eu/images/27927275941154580793_thumb.jpg) (http://img24.eu/viewer.php?file=27927275941154580793.png)(http://img24.eu/images/46384927003139038668_thumb.jpg) (http://img24.eu/viewer.php?file=46384927003139038668.jpg)
some nice music and that's was all  :)


For FG I was imagining only some small office with a friendly retired warrior (http://img24.eu/images/33614020172480056882_thumb.jpg) (http://img24.eu/viewer.php?file=33614020172480056882.png) who will talk about the old times all the time and his small daughter there, just across the street from tavern: (http://img24.eu/images/18593807555942881319_thumb.jpg) (http://img24.eu/viewer.php?file=18593807555942881319.jpg)
(The reasoning was supposed to be, that the warriors doesn't need a big separate place to gather and equip because they are doing this all in arena training grounds where is everything, and that office would be just for registering and map drawing. And if those adventurers want to meet somewhere, they just choose tavern instead.)

But I was not able to find any good interior BG for that. Nothing was even close  :( 


So I suppose another option is to go with a bigger guild headquarters, there is a good BG for that:(http://img24.eu/images/36093702273349727200_thumb.jpg) (http://img24.eu/viewer.php?file=36093702273349727200.jpg) - it even have a bulletin board! But it looks too "knighty" not like bunch of dirty adventurers and freelancers I would expect explorers to be... and I don't have any NPCs in mind for that options yet, so I can't do much there.

Or you guys have somethig different in mind?
Title: Re: General Discussion
Post by: Xela on August 20, 2014, 06:23:44 PM
Could work... I thought more of a hang-around update in the guild for potential clients, guildmembers and other folk. Maybe it wasn't a very good idea.

I am still working on FG, it's fairly difficult to make it work "on the fly", without any predefined concept. Too many "little things" to keep in mind...
Title: Re: General Discussion
Post by: CherryWood on August 20, 2014, 06:49:54 PM
Could work... I thought more of a hang-around update in the guild for potential clients, guildmembers and other folk. Maybe it wasn't a very good idea.
Hmm... ok, my mistake, it's probably true that traditional RPG look wouldn't do any good in H-game.
So... it should be tied much more to the slave market then? Can't really imagine any other type of stable clients as it's too simple to just keep the money and items found for team members themselves.
Title: Re: General Discussion
Post by: Xela on August 20, 2014, 06:59:33 PM
Hmm... ok, my mistake, it's probably true that traditional RPG look wouldn't do any good in H-game.
So... it should be tied much more to the slave market then? Can't really imagine any other type of stable clients as it's too simple to just keep the money and items found for team members themselves. Then the base could be just a prison for convenience (http://img24.eu/images/60981070798141959139_thumb.jpg) (http://img24.eu/viewer.php?file=60981070798141959139.jpg)

Just buyers of unique items/slaves and some folk who want to be around pretty warrior girls is what I had in mind. Also a place for your girls to relax between exploration runs. Maybe it's too early for this, I can't really tell atm. Still haven't added girl capture and I am about to start working on guild control screen (building itself, not exploration bit).
Title: Re: General Discussion
Post by: CherryWood on August 20, 2014, 07:16:24 PM
Just buyers of unique items/slaves and some folk who want to be around pretty warrior girls is what I had in mind. Also a place for your girls to relax between exploration runs. Maybe it's too early for this, I can't really tell atm. Still haven't added girl capture and I am about to start working on guild control screen (building itself, not exploration bit).
I'm still confused with the basic concept of the purpose of FG then. It is a base? So the girls go FG->Exploration->sell stuff->FG? What is MC doing then, just some sponsoring? Or is MC trying to lure girls out from FG to his buildings to start a exlorations from there?
If it's not a base, then the FG is just a place to talk and exchange informations and meet clients then? Sounds just like a some sort of resort then. (and like something that could be shared with arena)


I'm kinda in favor of keeping just the main screen button right now  :D
Title: Re: General Discussion
Post by: Xela on August 20, 2014, 07:37:21 PM
I'm kinda in favor of keeping just the main screen button right now  :D

What do you mean?

- Storyline should include something about a powerful, banned magical weapon being (Lets call it Etherra) used to bombard slave encampments around the city and in local mountains/caves during the last uprising. That created tears to other dimensions and unstable areas that were being constantly replenished with loot, people and items... and monsters. Driven by lust for fame and fortune, not mentioning the interest of exploring unknown, best warriors from PyTFall decided to try out their luck (still well armed and sure of themselves so soon after the conflict has ended). The effect however, was devastating and over 90% of explorers have perished or went MIA so the Masters ordered City Patrols to turn around anyone heading towards those lands. Soon, not willing to leave such a resource unexploited, Masters teamed up with Mages from the tower to utilize the same dampening system that was used to block fatal blows to valuable monsters and fighter in the arena to explorers. Evacuation through teleportation was also concepted. Soon a system of Fighting Guilds was created and sold into private hands in order to utilize those systems. Outside of controlled Arena environment, they were only about 20% effective, especially on large parties so a law was made to limit the units size to 3 (maximum allowed in the Arena). That, together with discipline, order and structure that Guilds provided the effect was astounding and death rate was lowered significantly. Teleportation over such great distances would be used only as a last resort in a case of lifes of entire team being in danger due to insanely high cost.
================================================

This is more or less what my idea was for the FG. The permit is what's important, the building itself is just a building. I wanted to create a small event where MC is given a chance to run a guild due to his father being a very capable manager (generally) by a former friend of his who's working for the authorities.

So it's a hangout place, a trade and a sanctioned exploration agency all in one.
Title: Re: General Discussion
Post by: CherryWood on August 20, 2014, 07:59:10 PM
This is more or less what my idea was for the FG. The permit is what's important, the building itself is just a building. I wanted to create a small event where MC is given a chance to run a guild due to his father being a very capable manager (generally) by a former friend of his who's working for the authorities.

So it's a hangout place, a trade and a sanctioned exploration agency all in one.
From this it sounds to me like some magic place with a portal for this evacuation teleportation (it makes sense to have only one travel time with this instant return) with everything else being just bureaucracy. It could even be this mage tower we already have then  :)
Ok, I must have missed this, so almost everything I thought about in last week don't fit at all...
Title: Re: General Discussion
Post by: Xela on August 20, 2014, 08:00:54 PM
From this it sounds to me like some magic place with a portal for this evacuation teleportation (it makes sense to have only one travel time with this instant return) with everything else being just bureaucracy. It could even be this mage tower we already have then  :)
Ok, I must have missed this, so almost everything I did in last days don't fit at all...

What could be a mages tower? And how does this change things/what have you been doing for past few days that doesn't fit?
Title: Re: General Discussion
Post by: DarkTl on August 21, 2014, 02:19:23 AM
How are we going to use evacuation portal with automatic exploration? Girls are supposed to do it on low health or something?
Title: Re: General Discussion
Post by: Xela on August 21, 2014, 02:25:01 AM
How are we going to use evacuation portal with automatic exploration? Girls are supposed to do it on low health or something?

I am not sure yet, a small chance when a girl is about to die maybe. It's not failsafe system. Maybe a special upgrade to increase the chances significantly at a high cost.

Speak up if you have any ideas :)
Title: Re: General Discussion
Post by: MrKlaus on August 21, 2014, 03:28:07 AM
I am not sure yet, a small chance when a girl is about to die maybe. It's not failsafe system. Maybe a special upgrade to increase the chances significantly at a high cost.

Speak up if you have any ideas :)

 If the equipment for explores is still alive, I would propose to  throw that instant escape thing into some sort of item and one somehow expensive so it would be a really last resort use only. Maybe in form of a capsule, smoke bomb, small device or a glass pebble when broken it will teleport the user to place where the pebble was created (mage tower).
 
Title: Re: General Discussion
Post by: CherryWood on August 21, 2014, 06:34:17 AM
About that dimensional rifts concept. Does it mean that the exploration party doesn't have to fight just what appear in the cursed forest, but also go through those rifts to different words?
What I want to ask is, does it mean we can create a totally unrelated locations to fight in? Let's say, portal to lava lake with fire monsters, or candy land full of evil lolis and stuffed bears...
(just asking, as it seems I missed this part before)
Title: Re: General Discussion
Post by: DarkTl on August 21, 2014, 08:48:08 AM
I am not sure yet, a small chance when a girl is about to die maybe. It's not failsafe system. Maybe a special upgrade to increase the chances significantly at a high cost.

Speak up if you have any ideas :)
Well, it probably should depend on team's leader, she should make the decision to teleport out. Meaning more chance with traits like edgy and less with traits like fearless.
Also when there are casualties already, the remaining team should have high chances to use it.

Finally, since it's supposed to be expensive, I guess you could allow or disallow to use teleportation, either for every single team or for all.
Title: Re: General Discussion
Post by: Xela on August 21, 2014, 10:02:14 AM
About that dimensional rifts concept. Does it mean that the exploration party doesn't have to fight just what appear in the cursed forest, but also go through those rifts to different words?
What I want to ask is, does it mean we can create a totally unrelated locations to fight in? Let's say, portal to lava lake with fire monsters, or candy land full of evil lolis and stuffed bears...
(just asking, as it seems I missed this part before)

Nah, create a you did before, no need to overcomplicate things.
Title: Re: General Discussion
Post by: DarkTl on August 21, 2014, 11:14:45 AM
About that dimensional rifts concept. Does it mean that the exploration party doesn't have to fight just what appear in the cursed forest, but also go through those rifts to different words?
In terms of plot, even if there are two-sided rifts that lead to other worlds, it's still too dangerous to go through, especially if we talking about candy land full of evil lolis. Because they can close themselves at any time (I wonder if anyone here watched Sliders tv show...)
But if those lolis come to "our" side looking for troubles, why not?
Title: Re: General Discussion
Post by: CherryWood on August 21, 2014, 12:16:36 PM
ok...
You've missed the concept discussion, those are unstable magical areas where sh!t just keeps pouring in from different dimensions. Those areas change within themselves a bit but there are all near the city. In fact, I am meaning to add mechanics to obscure exploration progress as time passes by (loosing access to location you haven't visited in a while) and maybe twisting rewards (no ideas on how to do the latter yet).

So the loosing access part doesn't mean you cannot go somewhere (to candy world) because you always couldn't, but it means that something can't go to Pytfall anymore (no candy appearing in the cursed forest anymore).
I suppose I get it now... it's a bit less appealing but easier for the plot for sure.
But it would be hard to get so many different forest pics if everything ends there  :)
Title: Re: General Discussion
Post by: DarkTl on August 21, 2014, 12:42:50 PM
Finding many decent forest pics is much easier than any other type of terrain. Maybe except beach.
That's why we have a forest as the first territory for explorations, not some dungeon or cave.
Title: Re: General Discussion
Post by: CherryWood on August 21, 2014, 01:21:46 PM
Something unrelated: What about changing the general store BG to something less modern? I found these:
(http://img24.eu/images/00538118105865281389_thumb.jpg) (http://img24.eu/viewer.php?file=00538118105865281389.jpg)(http://img24.eu/images/55738270227911463385_thumb.jpg) (http://img24.eu/viewer.php?file=55738270227911463385.jpg)(http://img24.eu/images/93217147826185719594_thumb.jpg) (http://img24.eu/viewer.php?file=93217147826185719594.jpg)
And also the waitress in cafe have some image quality issues, would you mind if I change her for someone else? (or I can repair her if she's someone you like)
Title: Re: General Discussion
Post by: DarkTl on August 21, 2014, 01:29:36 PM
I dislike the third picture, first two are fine.
As for the waitress, I recall Xela wanted to use random girls as waitresses and clerks, so she is like a placeholder. Maybe he changed his mind though.
Title: Re: General Discussion
Post by: Xela on August 21, 2014, 05:09:04 PM
Something unrelated: What about changing the general store BG to something less modern? I found these:
(http://img24.eu/images/00538118105865281389_thumb.jpg) (http://img24.eu/viewer.php?file=00538118105865281389.jpg)(http://img24.eu/images/55738270227911463385_thumb.jpg) (http://img24.eu/viewer.php?file=55738270227911463385.jpg)(http://img24.eu/images/93217147826185719594_thumb.jpg) (http://img24.eu/viewer.php?file=93217147826185719594.jpg)
And also the waitress in cafe have some image quality issues, would you mind if I change her for someone else? (or I can repair her if she's someone you like)

You can change/add locations/pictures/sprites/texts without asking, we can always fall back later.

I really like the one in the middle btw.
Title: Re: General Discussion
Post by: DarkTl on August 22, 2014, 10:17:02 AM
- We are assuming that MC's father lived in the city for some time.
- We can't use pregnancy system effectively to cover incest fetish because our turns are days, not weeks (and I don't want to change it).
- Xela dislikes the idea of pregnancy acceleration.
- We will have clones for breeding instead of MC's children anyway.
- AG has tons of lines for MC's sisters.
Just saying.
Title: Re: General Discussion
Post by: Xela on August 22, 2014, 11:19:49 AM
LoL Just randomly typing thoughts or was this prompted by something?

There were some decent ideas for acceleration... we have other potentially far more engaging stuff to develop atm.
Title: Re: General Discussion
Post by: DarkTl on August 22, 2014, 11:59:54 AM
I don't know. Do we need half-sister trait for random girls, and even unique ones too if a pack maker/player wants it?
Because in terms of dialogues it will be super easy.

I don't understand the difference between $rc and $g in girlsmeets. Looks like they are interchangeable, is that so?
Title: Re: General Discussion
Post by: Xela on August 22, 2014, 12:13:42 PM
I don't know. Do we need half-sister trait for random girls, and even unique ones too if a pack maker/player wants it?
Because in terms of dialogues it will be super easy.

I expected unique cases like that to be handled through unique labels. But if you feel traits are doable, it could work.

I don't understand the difference between $rc and $g in girlsmeets. Looks like they are interchangeable, is that so?

$ rc("line 1", "line 2", "line 3") # It stands for random choice.
$ g("line 1") # Just one line.

The main difference is that g is also bound to renpy script so you can write:

g "line 1" # without the dollar sign. That is not possible with rc which is a python function.

Without rc you'd have to do this all over the place:

$ g(choice(["line 1", "line 2", "line 3"])) # so rc does nothing but wrapping the choice function/list creation for convenience of the content creator.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2014, 10:18:35 AM
labels-girlsmeets.rpy, label gm_interact_interest, after that goes
Quote
    python:
        """
        Traits first here I guess...
        """
What is that?

Also, does ct("trait1", "trait2") mean "trait1 or trait2"?
Title: Re: General Discussion
Post by: Naurlas on August 23, 2014, 01:41:59 PM


Hello, posting idea I am yet to see in Slave Training game.. And since your game does it already to extent, mb I have small chance here ;P
I am talking about dividing girls by type ( the game does it already to extent Free / Slave Girls)


What I lack is this :
Free Girls
Slave Girls
     - High Class  ( Noblesse mainly, mb clergy / wizards / knights type of elite)
     - Middle Class ( Merchants mainly, mb some kind of squires / maids of noblesse etc)
     - Low Class ( Prostitutes , slaves and other scum in game terms.)
     - Foreigners ( Cat girls, monster girls, elf's, whatever is not citizens of you city)




Why do I propose this concept ?
Simply because it makes game more interesting :
1) Gives player more goals (yey my first middle class girl !)
2) More brothel customization ( High class brothel -  this one !)

Allows for many interesting concepts
1) For example High Class should be only obtainable by some special circumstances ( Noble being bankrupt,  Kidnapping )
2) Same for middle class to lower extent.
3) And low class > pretty much what u have in game, always available in slave market.
4) Missions ( get Brothel with 4 Middle class girls in 3 days because noble wants them, father wants to buyback girl, noble sends hired assassin to take girl home etc)


Of course you have to get something to actually make the girls different and that could be :
1 ) Higher class could be pre-equipped with items unuqie to them.
2)  Traits to be different ! Every girl can have big boobs but Elegant... Slave girl ? Really ?
3) Can work with different clients / can have different positions available. (for example High Class girl will not clean , while Low Class can't dance properly  until taught)
4) Since exploration is on it's way, then for example how this slaves at market learn magic ? while free / high class could have acces to it.

Title: Re: General Discussion
Post by: Xela on August 23, 2014, 06:45:34 PM
labels-girlsmeets.rpy, label gm_interact_interest, after that goesWhat is that?

I think that it's an example of how to leave a multi-line comment in PyTFall.

Also, does ct("trait1", "trait2") mean "trait1 or trait2"?

Yeap.


Hello, posting idea I am yet to see in Slave Training game.. And since your game does it already to extent, mb I have small chance here ;P
I am talking about dividing girls by type ( the game does it already to extent Free / Slave Girls)


What I lack is this :
Free Girls
Slave Girls
     - High Class  ( Noblesse mainly, mb clergy / wizards / knights type of elite)
     - Middle Class ( Merchants mainly, mb some kind of squires / maids of noblesse etc)
     - Low Class ( Prostitutes , slaves and other scum in game terms.)
     - Foreigners ( Cat girls, monster girls, elf's, whatever is not citizens of you city)

I doubt that there will be "classes", we already have stats/traits/experience/income that does a very similar thing, we could add a social standing for every girl but it seems like a lot of work for little reward.

Why do I propose this concept ?
Simply because it makes game more interesting :
1) Gives player more goals (yey me first middle class girl !)
2) More brothel customization ( High class brothel -  this one !)

We'll prolly do something about brothel customization at some point, CW was talking about similar thing just a while ago.

Allows for many interesting concepts
1) For example High Class should be only obtainable by some special circumstances ( Noble being bankrupt,  Kidnapping )
2) Same for middle class to lower extent of course.
3) And low class > pretty much what u have in game, always available in slave market.
4) Missions ( get Brother with 4 Middle class girls in 3 days because noble wants them, father wants to buyback girl, noble sends hired assassin to take girl home etc)

1, 2 and 3 are already possible, there are not enough people of the team to write the concept/code/create content for it.

4: Also already possible, but missions would require a whole new module introduced so same thing as above applies.

*There are so many excellent add-ons to the game that I can think of atm, but it all comes down to a size of the dev team in the end. We could use writers, extra coder or two, more content creators, concept designers and etc...

Of course you have to get something to actually make the girls different and that could be :
1 ) Higher class could be pre-equipped.
2)  Traits to be different ! Every girl can have big boobs but Elegant... Slave girl ? Really ?
3) Can work with different clients / can have different positions available. (for example High Class girl will not clean , while Low Class can't dance properly  until taught)

1) Any class can be pre-equipped.
2) I have no problem with an elegant slavegirl.
3) These are just stat ranges. Will prolly over-complicate things, but I'll think about it.
Title: Re: General Discussion
Post by: Naurlas on August 24, 2014, 03:35:54 AM

Aye, I know development team is small , and it's your game not mine , so I will be happy with even 1 of idea makes it.


Still I can't really agree with you on this 2 points :


Quote
we already have stats/traits/experience/income that does a very similar thing


It doesn't even come close. Stats / experience / income right now depend poorly on how long girl works and nothing more. Worst slave scum can top any free girl - no problem.
My point being : Every girl feels the same, writing extensive story for each of them is no-go, that's why I propose social standings.


Besides points I mentioned before it can also be used for other things :
- Different class girls could have penalties / don't want to work at all with other class.
- Different courses available ( ya stats ranges... And it makes girls different)
- Higher class dost mean exactly better - for example Noble girls hardly good at fighting,  but maybe some exceptional magician among them with all that connections and money ?


Which goes to second point... Traits do help yeah but that :


Quote
2) I have no problem with an elegant slavegirl.
Well then you mean all the girls have same options in traits ? Then where do they catch them ? "No-Name-Girls-Woods" ? In the city you emphasis has HIGH difference between nobles living in luxury and slave scum, there is no difference between girls ? I mean where do that low-class slaves learn to dance/use magic/being good at fighting ? If they did they wouldn't be some kind of slaves. Also those nobles would deemed different kinds of girls, not just "standard" one. One would want a slave, second a free girl, third foreigner or exotic girl other one would enjoy his competitor daughter and so on....


Tl;tr : It's totally unrealistic to have all the girls posses same starting options, yes even scum girl can be taught to be Elegant and to Wield Magic  > but certainly not start as equal in capabilities with more wealthy citizens.
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 04:31:38 AM
Aye, I know development team is small , and it's your game not mine , so I will be happy with even 1 of idea makes it.


Still I can't really agree with you on this 2 points :



It doesn't even come close. Stats / experience / income right now depend poorly on how long girl works and nothing more. Worst slave scum can top any free girl - no problem.
My point being : Every girl feels the same, writing extensive story for each of them is no-go, that's why I propose social standings.


Besides points I mentioned before it can also be used for other things :
- Different class girls could have penalties / don't want to work at all with other class.
- Different courses available ( ya stats ranges... And it makes girls different)
- Higher class dost mean exactly better - for example Noble girls hardly good at fighting,  but maybe some exceptional magician among them with all that connections and money ?

That is no longer the case. Since last release a number of features were introduced that further advance differences between characters. Slave girls that work in sex industry can no longer be advances past rank 3. Free girls will not allow MC free access to their inventory while slave girls will. There are more stats checks.

- "Not want to work" didn't work out even at the base level.
- Different courses are already there.
- Yes... but the trouble is that Noble girl can be lethal in fighting, ecstatic at sex or not good at anything at all. Noble is a trait, it's not a class that can determine anything to any reasonable degree. Same goes for practically any class that you've suggested.

*We will have different starting levels soon enough. Per occupation stat maxes progression is planned as well as well. You want all girls to feel unique but it just cannot be done in a game with 100 - 1000 potential characters... Some girls can be made unique with extra content without a doubt and game already anticipates that but atm we simply don't have the time to work on that.


Which goes to second point... Traits do help yeah but that :

Well then you mean all the girls have same options in traits ? Then where do they catch them ? "No-Name-Girls-Woods" ? In the city you emphasis has HIGH difference between nobles living in luxury and slave scum, there is no difference between girls ? I mean where do that low-class slaves learn to dance/use magic/being good at fighting ? If they did they wouldn't be some kind of slaves. Also those nobles would deemed different kinds of girls, not just "standard" one. One would want a slave, second a free girl, third foreigner or exotic girl other one would enjoy his competitor daughter and so on....


Tl;tr : It's totally unrealistic to have all the girls posses same starting options, yes even scum girl can be taught to be Elegant and to Wield Magic  > but certainly not start as equal in capabilities with more wealthy citizens.

The starting issue will be solved soon, girls will simply start off at different levels and stats.

Not all girls have the same traits options! There are blocked traits, traits that are blocked absolutely (girl cannot gain a trait even by using 100 000 Gold priced Item), most traits have unique responses during girlsmeets, some jobs, events and etc.

Where, praise you in PyTFall, did you find a slave that was good at fighting? Slaves are forbidden from doing/learning combat by games design, all fighters at Arena ladders including the |King| are free. You cannot send a girl to learn combat at school, neither can you set one up as a guard. Remaining options are limited and any free girl will eclipse a slave at combat abilities at much lower price/time investment.

We've created plenty of differences between slave and free girls. Same goes for a lot of different characters thought traits and even some unique content written by CW. The only way we'll ever be able to create fundamental differences between characters is by dropping current concept and focusing on 10 - 20 girls. The traits system is responsible for dozens - hundreds of  unique lines during jobs and events and hundreds - soon thousands of lines during girls-meets and you are still having trouble catching the difference between characters. You classes proposal does even come close to traits concept... the differences you propose will not be noticeable without a LOT of extra content that, if introduced solely on basis of stats and traits will serve exactly the same purpose.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2014, 06:50:43 AM
Classes system will add more depth to the game without a doubt. Just like any other system that we don't have right now.

Basically, we could add something like this eventually, but not before many other systems that are already planned. Unless you willing to create content for classes system, in which case we'll add it for sure as soon as there will be content.
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 07:41:18 AM
Classes system will add more depth to the game without a doubt.

Am I really that big of a skeptic?

It was definitely true an 12 - 18 month ago, I am less confident of that now. At some point choice needs to be made between stats like fame/reputation/refinement and classes, simply because trying to have all of those in the game will harm the development more than it will help the concept.

We're falling behind in content more and more. At this point, if we focused on one module, like battle engine, we could have easily have a game like:
http://unityofcommand.net/ (50k lines of Python code vs 55k we have in PyTFall)

There is very little preventing us from getting close to that level, Ren'Py will not hold us back, I know how to code every part of that concept and combat is definitely something you're interested in. The thing is that with every module, more and more things need to be taken care of, more and more things kept in mind. 40% of time I spent on SE module was simply to prevent it from interfering with the rest of the modules like GM, Arena, Auto-equip and Brothels.

We'll have to drop some thing if we're ever to have modules like ST/Alchemy/Crafting/MC guided exploration. And definitely have to drop some stuff if we want to have coherent content, quests and events...
Title: Re: General Discussion
Post by: Naurlas on August 24, 2014, 08:17:24 AM
@DarkTI


That was why I was relucant to post here, since I can't help creating content - I am doing translation job for eroge scene ( Someone here mentioned playing AA2 right ? Then be happy u can do so in English - unless you speak and read Japanease )
I have huge images repository. So if ya want some kind of pics I can try to provide them. Other then that I wont be able to help.


@Xela
Seems we don't speak on same wavelenght, your game - do whatever you want with it.
Some things you talk about like different starting level and so on - these are nice steps.


But we don't agree on basic level here :
Quote
Not all girls have the same traits options!you are still having trouble catching the difference between characters
I sure am having trouble with this - becouse all these things u are talking about in that part are DEVELOPER SIDE ONLY. Player dosn't see that some Traits combinations dosnt happen and why should he care ? It's just limitation from above he do nothing about. And some lines durning dialog ? Please this is not even part of Brothel Menagment , untill it's in developer version, acutal text lines only metter in Rercuritment.(and barly if we are at that)

I have trouble why don't you see that player can Control and Interact with girls being from different categories / groups / classes . He can choose what he lacks and what kind of girls he would like to have / are needed for mission. ( I don't have girls with <Insert Trait Name Here> ... ok then I need some middle-class girls becouse they do learn it / start with it / have it easier.) instead of (ok Slave Market...)

That being said, of course amount of team members limits a lot of things and it's up to you which idea goes to trashbin.
 Take care.
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 09:16:23 AM
@Xela
Seems we don't speak on same wavelenght, your game - do whatever you want with it.
Some things you talk about like different starting level and so on - these are nice steps.

Yeah, but it's not "my game". If it was, we've have 1/10 of content that we have today and a sort of a SimBro clone with WM pic categories. Not mentioning that we've absorbed dozens of ideas provided by the players from 4 - 5 forums.

But we don't agree on basic level here :I sure am having trouble with this - becouse all these things u are talking about in that part are DEVELOPER SIDE ONLY. Player dosn't see that some Traits combinations dosnt happen and why should he care ? It's just limitation from above he do nothing about. And some lines durning dialog ? Please this is not even part of Brothel Menagment , untill it's in developer version, acutal text lines only metter in Rercuritment.(and barly if we are at that)

I have trouble why don't you see that player can Control and Interact with girls being from different categories / groups / classes . He can choose what he lacks and what kind of girls he would like to have / are needed for mission. ( I don't have girls with <Insert Trait Name Here> ... ok then I need some middle-class girls becouse they do learn it / start with it / have it easier.) instead of (ok Slave Market...)

That being said, of course amount of team members limits a lot of things and it's up to you which idea goes to trashbin.
 Take care.

Traits do matter during jobs to various degrees as well. We'll have mechanics preventing player from getting high leveled girls before player/his business are at the level soon enough. About |not seeing| combinations, we can't really help that :) It's up to the player to explore the world and the game and everything that has to offer.

I completely agree that there are no missions to speak of, but atm we don't have that mechanic at all so there is little point in trying to emulate one until we introduce that module into the game. If we do, it'll just create more work in the future, that's what I've been trying to relay all this time.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2014, 09:29:17 AM
Am I really that big of a skeptic?
You missed my point. Planned systems:
- slave training
- MC house
- dating
- advanced BE
- advanced EE
- a bit more advanced items system (because the current one has some known problems with min/max values)
- clones
- crafting
- head slot (yeah  ::) )
- relationships between girls
- simple quests
- maybe more, I could forget something
Now after we will have them all, we might as well add classes too, because why not?  :D

I have huge images repository. So if ya want some kind of pics I can try to provide them. Other then that I wont be able to help.
Yeap, that would be a great help too.
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 09:48:45 AM
Now after we will have them all, we might as well add classes too, because why not?  :D

I think you've missed my point :)

It will be too late by then because with each system we advance and normalize a lot of game's concepts. That late into the development, introducing something like classes to substitute stats (unless we're taking about something as simple as stats obfuscation), will not be sound from the development perspective as all modules would need adjustment like falling down dominoes chain.

These decisions we need to make today, actually, we should have made them yesterday and I think that we have... I'll push some work I've done on the SE module soon, I still need to add handing dirt, cleaning, upgrades and training in the guild... I'll try to finish all of that this week so we have a more or less complete module.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2014, 10:00:52 AM
Nah, this is unavoidable. By then any new system will require more and more adjustment.

We don't need to always take the difficult road though. Let's take that idea about selecting MC's gender. That will require insane amount of work already. Or we could introduce an item or a spell that change gender, so that palyers who want it could have female avatar, wear female items, participate in lesbian actions, but nothing more, like dialogues or stats.
Title: Re: General Discussion
Post by: CherryWood on August 24, 2014, 10:26:35 AM
I agree more with Xela here. I believe that expanding trait related events in a way to go for making girls more unique. And that was always in the todo list, more or less.


-----------------
I was out for few days, so there was a significant delay, but I think I finish shop pics and some head slot items soon (dunno about the description texts, maybe some will have to be without them for a while, it's hard to make them).
With tavern, some items I wanted to add for some explorable locations and simple SE quest, I'm waiting for SE update, as I can't continue on that yet without some support/more info. (how FG will look like, how to write item drops in json, what options for quests are in that module).
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 11:26:55 AM
I'm waiting for SE update, as I can't continue on that yet without some support/more info. (how FG will look like, how to write item drops in json, what options for quests are in that module).

I think unique/special item drops you can handle with something like:

items: {"item_id1": chancetofind, "item_id2": chancetofind} and so on.

Quests are not module related, you just go searching items and can complete a quest if you find one.

BTW, feel free to create areas that can be unclocked only when a quest is given by NPC, it's just one line of code :)

I'll improve SE further next week (and finish it as an alpha concept hopefully).

Anyway, for now SF Updated:

- Cleaned up Swords/Shield picture
- Some code improvements
- Fixed Arena Bonus roll music not stopping when quitting chainfights
- Added proper flags to Building classes
- Added Hazard to SE
- Added Green Flags to SE
- Added girls using restore items to SE
- Added travel-time (forward+back at start for now)
- Added Resting to recever is anyone is injured or fatigued
- Added mobs numbers to SE
- FG will now be added to Heroes buildings instead of having a test button
- Area will now default to CWs json. My test json file is deleted
- Improved sorting logic for SE areas
- General Area button will now change the area as well
- Warriors are marked in FG
- Loads of interface improvements to FG
- Normalized and styled all drop-down menus

* Note that tagger is screwed until Ren'Py 6.18 comes out, some parts of Fighters Guild as well. It shouldn't be long now.
Title: Re: General Discussion
Post by: Naurlas on August 24, 2014, 12:56:26 PM
@


Then please tell me what kind of resolution you are looking for.
And of course what kind of things you are looking for.
Title: Re: General Discussion
Post by: Marquis on August 24, 2014, 01:02:34 PM

Some ideas on the type of things I'd like to do in the game. Other folks might not be interested in these at all. Most of the capabilities are there already, the capabilities I'm not sure are currently available are in [brackets]


Through Girlsmeet hire a free girl to do service jobs (Girl A). Ease of hiring and base salary depend on MC reputation/stats and her stats/traits. [should be relatively easy to do in the first few turns]
Open a bar in a small building- Girl A as bartender. [allow bartender job early in many building types]
MC saves an AP to Guard the shack.
Interact with Girl A to see if she'd quit if MC opens a brothel in the back. [new dialog in interaction] Assuming it's okay...
Buy a slave to work as a whore in the back. Maybe pay a little to the slave (maybe just let her keep tips) to improve MC reputation and disposition with Girl A. [assumes MC actions with one girl could affect rep or disposition with other girls]
Keep interacting with Girl A until she's willing to wear a sexier outfit (purchased by MC) for more pay since presumably more customers would come by. [increase disposition to allow this, increase her pay and bar income if she's wearing a sexy outfit- maybe just increasing her stats from wearing the item will accomplish this]
Girlsmeet to eventually hire a Warrior as a Guard. (Again, MC reputation/stats and girl stats/traits affect this) [again, should be relatively easy to do]
MC can stop saving an AP to guard the shack. MC spends AP's on interactions, fighting in the arena if a warrior and girlsmeets.
Eventually expand the building and buy second whore slave or girlsmeet a girl willing to be a prostitute.
Keep interacting with Girl A until she's willing to wear lingerie, then work topless, and perhaps work nude. This may take a long time and many interactions. [again, her stats change depending upon outfit as does her pay and bar income]
 Perhaps there are traits that can be removed/added such as 'prude' or 'exhibitionist' as she gets more comfortable with nudity at work.
At this point her disposition is such that she's probably willing to work as a stripper.
Maybe Girl A gets propositioned by some customers as she wears less and she can choose to accept or not for extra pay. If she does, she's on a path to becoming a whore eventually. [add new customer interaction based on her clothing/charisma, add logic to have her decide to accept or not with refusal maybe prompting customer problems/violence]


Expand the building further or buy a slightly larger/nicer place. [the small shack number of rooms is too few - this limit is the first thing I edit on my own installation]
Put Girl A as stripper (if willing), two slave/free whores, warrior guard and new hire free Girl B as bartender.


MC continues to interact with Girls A/B to increase disposition so they're willing to do more jobs.
MC may go to the arena/exploration if a warrior, or hire warrior girls to do so if a casanova and instead concentrate on interactions/girlsmeets. [casanova should be appreciably better than warriors at girlsmeets except maybe hiring warriors]


This might be the status quo for a while to build up gold, reputation and stats (both MC and girls). Probably very little sending girls to training unless as a reward. [girls should consider job appropriate training as positive, XXX is not a 'reward' except for whores; my preference is that training be expensive, but have significant skill improvement]


As MC reputation goes up, it becomes possible to hire better free girls. [adjust who's available for girlsmeets] Slaves would be bought infrequently to fill specific needs. Train Girls to increase earning potential via improved stats/skills.


Start spending more time personally exploring or sending warrior girls to get more unique items and Monster Girls (either for Slave Training or sale to the Slave Market/Arena) [MC exploration and an ST module would come into play here]
Continue to improve MC stats/reputation for Girlmeets if a Casanova - maybe this also allows buying better buildings and have better customers. [MC stats/rep affects this]
If a Warrior MC, get access to more lucrative Arena fights as reputation/skill improves.


Eventually have enough reputation/gold/girls to open a nice, full service establishment. Bar/restaurant, strip club, whores, gambling, etc. [more types of jobs]
Perhaps train a high rank Courtesan (maybe Girl A :))to start interacting with local nobility. [new job type or maybe just rank X; nobility NPCs]


---
Title: Re: General Discussion
Post by: DarkTl on August 24, 2014, 01:55:22 PM
And of course what kind of things you are looking for.
Backgrounds for various locations, maps, animations for spells, npcs and items sprites, elements of interface.
For backgrounds resolution is no less than 1024x768 (more is better), for others it doesn't matter much.
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 02:20:29 PM
Backgrounds for various locations, maps, animations for spells, npcs and items sprites, elements of interface.
For backgrounds resolution is no less than 1024x768 (more is better), for others it doesn't matter much.

Native resolution is 1280x800. We could use some decent backgrounds to improve on the city. I want it split into a ghetto, main city and hills where the rich/powerful live. All buildings should be placed in those locations so we need a couple of backgrounds for each like we have for the beach.

...

Nice setup! It's partly what I mean by content and perfectly doable given the time. The only way it gets done any time soon is if we get more people on the dev team or decide to work on content instead of new modules with current one.
Title: Re: General Discussion
Post by: Naurlas on August 24, 2014, 02:32:10 PM
Last quick question... I don't think it realy metters... but u are fine with copyrighted stuff right ?
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 03:04:59 PM
Last quick question... I don't think it realy metters... but u are fine with copyrighted stuff right ?

Yeap.
Title: Re: General Discussion
Post by: Naurlas on August 24, 2014, 06:10:52 PM

Quick look on my normal images repository gave me this :
https://mega.co.nz/#!95REySoS!CANd5i9ssxC9CY6Dr4jjZkdktJyuJwfUpdsPQpllrCA
Also if ya want more, please be more specific :
Inn / Elven City etc... I don't know what you lack.


Tomorrow will search Cg/Anime images repository.
Pretty hard to search those dark-themed things.
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 07:31:07 PM
Quick look on my normal images repository gave me this :
https://mega.co.nz/#!95REySoS!CANd5i9ssxC9CY6Dr4jjZkdktJyuJwfUpdsPQpllrCA
Also if ya want more, please be more specific :
Inn / Elven City etc... I don't know what you lack.


Tomorrow will search Cg/Anime images repository.
Pretty hard to search those dark-themed things.

Doesn't have to be dark-themed. More specific: Human City, Views with medieval buildings (similar to the Main Street with shops): Ghetto, Normal, Rich.

Title: Re: General Discussion
Post by: CherryWood on August 24, 2014, 09:30:23 PM
nothing in our BG folders is any good?  :(  Together we have almost 1500 BG pics and I though that some of these streets pics we collected are really nice.
Title: Re: General Discussion
Post by: Xela on August 24, 2014, 11:55:14 PM
nothing in our BG folders is any good?  :(  Together we have almost 1500 BG pics and I though that some of these streets pics we collected are really nice.

Yeah, there are definitely a couple of options... I just didn't manage to find anything that would be a perfect fit. If you isolate some options, throw them in my DB folder.
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 04:47:56 AM
https://mega.co.nz/#!Uxg1FSKZ!JRBwomtllkkEb8LhZQL2NrkBoNnja7F0mMJtXHGPv88
Catch.


Dunno if the arts I provide are any good. Will try to drop something from time to  time.
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 05:41:03 AM
I like LocationStreet and Street2 images for the ghetto. Thanks! We have some decent pics for the docks, main city and etc. There are some options for high class quarters but if you see something in your collection, let us know.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 06:26:00 AM
Native resolution is 1280x800.
Yet we have many bg pics with 1024x768. But more is better, as I said.

Together we have almost 1500 BG pics and I though that some of these streets pics we collected are really nice.
I want background for a temple of time for ressurection system. There probably should be massive watches or something, and it should look like a temple more or less. I don't think we have something like that. You have this one in your db, but resolution is very low
(http://s001.youpic.su/pictures/1408910400/thumb_ee4f7865468e7df0495c6f0208bb88cf.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1408910400/ee4f7865468e7df0495c6f0208bb88cf.jpg)
Another option is this one, but it doesn't have any watches or something, too bad
(http://s001.youpic.su/pictures/1408910400/thumb_d8a5273188dae9e40630d2488648efd3.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1408910400/d8a5273188dae9e40630d2488648efd3.jpg)
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 07:12:42 AM
Noble request :
https://mega.co.nz/#!ohY0ib6a!-PmhzBlYn3nzQ8ugtAr7Ns38OwW7jN_noRCYuY6OsMA (https://mega.co.nz/#!ohY0ib6a!-PmhzBlYn3nzQ8ugtAr7Ns38OwW7jN_noRCYuY6OsMA)

Temple :
https://mega.co.nz/#!x0QnAAJK!KlBmcL7C6wMU8wJ9Umi0IbJAIus6ReYDjLXqdSsEYM4 (https://mega.co.nz/#!FoplGJjL!GCPoS9fgK8cagR7QzkCYV3SSoQVd8CUKcGJVxQWJQyw)
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 07:51:59 AM
Nice selection :)
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 08:56:19 AM
...

Awesome BG/Sprites update, well done!
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 10:59:06 AM
It's partly what I mean by content and perfectly doable given the time. The only way it gets done any time soon is if we get more people on the dev team or decide to work on content instead of new modules with current one.
As much as I'd like to see more content, it requires actual modules to be implemented properly.
I propose to finish tagger, BE (because arena), SE, ST, clones (because it's mostly about balancing and content rather than coding) and MC house (because you need to live somewhere if you don't have a brothel and focusing on arena or SE, as well as girls that help you), and then work on content until we'll be satisfied enough to continue adding modules.
Title: Re: General Discussion
Post by: CherryWood on August 25, 2014, 11:04:03 AM
Is there a way to make misc slot item that works like normal items? just giving bonus when equipped?
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 11:05:16 AM
Nope. But we always can ask Xela to do something about it  :)
Title: Re: General Discussion
Post by: CherryWood on August 25, 2014, 11:08:21 AM
ok, thanks. (no need for change, it wasn't anything worth it)
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 11:12:32 AM
Also about pregnacy thing :

I kinda dont understand why should it be hastned ?

Pregnacy = 9 months = 270 day in game.
You can make it that 4 months girl dosnt know she is pregnant(hello medival times) and chance for discovering is : 25% * Number of Full months passed.
After 4 month (dosnt metter when its discovered) girl can't work with sex related things
After 6 month she cannot work at all.
That leaves 3 months = 90 days of not being usefull.

I had multiple (well... 3) games that lasted over 900 days....


+ 1 small idea.
Now real problem is what happens after baby is born. You could make that Slave Guild takes it + Add possibility of buying almost adult (lets say 15+ ) children from guild :
Depending on your tastes :

- Can work in all business other then sex related until she is mature ( 360  720 or 1080 days depending on what age was she bought)
- Can work in all buisness (loli action)

Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 11:28:58 AM
Yeah, the real problem here are children. You need to wait about 6000 turns to have a 16 years old character (thus don't have problems with law in most countries irl). This is insane.
And if you simply dispose of all children, like sell them to slave guild or something, then what's the point at all? Is it worth it to add a new system for something like that? I don't think so. It won't make the game any more interesting.
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 11:41:23 AM
As much as I'd like to see more content, it requires actual modules to be implemented properly.
I propose to finish BE (because arena), SE, ST, clones (because it's mostly about balancing and content rather than coding) and MC house (because you need to live somewhere if you don't have a brothel and focusing on arena or SE, as well as girls that help you), and then work on content until we'll be satisfied enough to continue adding modules.

Well, you can buy an apartment for MC already can't you? +1AP per day if MC lives there and not in one of the Brothels.

I've asked Thewlis to take a look at PyTFall since MM isn't really going anywhere at the moment. If he'll be ok working with PyTFalls code, he can take care of modules while I put in some time into content.

Going to try and add proper items sorting, girls capture and fix a bunch of small errors with SE module tonight and maybe add a couple of upgrades (med, training hall, bar for warriors to hang out/rest + auto-cleaning/service girls cleaning options) to it tomorrow as well as options for girls to train in combat/rest if they aren't on exploration runs.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 11:50:31 AM
Yup. I thought about things like upgrades, rooms for girls, mini-jobs for them (personal guard, maid, bed warmer, etc.), but I guess you could call it content as well.
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 12:00:43 PM
Yup. I thought about things like upgrades, rooms for girls, mini-jobs for them (personal guard, maid, bed warmer, etc.), but I guess you could call it content as well.

Yeah, that would have no gameplay value without advanced content.
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 12:28:08 PM
Child system :


Can make it like this :
1) If it's slave child guild takes it.
2) If it's free girl child you have choice to give to guild or take of it's education alone.


Now major thing to decide : What happens with males ? They can either be bodyguards / do nothing pretty much now.
For girls > they work as any other girl and have same social status as mother.


Now what does happen with those children :


They are taught by external teachers ( guild provides worse teachers and small variety of options for small fee, u can try private education for huge fee and lots of options(training mages/warriors))


How could system look :
Simple change must be done 1 year = 30 days in game for this system purpose.(magic~~~)
It means child grows up in 480 game days. It's pretty long for player to get a feeling.


This would require child menagment screen or prompt every 30 days.
Player then could decide what does child learn(stats + traits) + get random set of traits(big boobs).
At the end of 16 cycles , up to player what to do with such character.


Of course it's very basic explanation, but possiblites are quite big.
Title: Re: General Discussion
Post by: MrKlaus on August 25, 2014, 12:31:07 PM
Also about pregnacy thing :

I kinda dont understand why should it be hastned ?

Pregnacy = 9 months = 270 day in game.
You can make it that 4 months girl dosnt know she is pregnant(hello medival times) and chance for discovering is : 25% * Number of Full months passed.
After 4 month (dosnt metter when its discovered) girl can't work with sex related things
After 6 month she cannot work at all.
That leaves 3 months = 90 days of not being usefull.

I had multiple (well... 3) games that lasted over 900 days....


+ 1 small idea.
Now real problem is what happens after baby is born. You could make that Slave Guild takes it + Add possibility of buying almost adult (lets say 15+ ) children from guild :
Depending on your tastes :

- Can work in all business other then sex related until she is mature ( 360  720 or 1080 days depending on what age was she bought)
- Can work in all buisness (loli action)

 About the time of pregnancy I agree.
 
 But what happen next? MC is a brothel owner between fucking everything that moves or gutting enemies in the arena. Why he should give a fuck about some kid? Sell it, kill it, send it to orphanage (quest opportunity: the kid could come back at some point plotting against the MC;  assassination, want some money from "Daddy", or kill MC to inherit it all) or let us play house (could hire a Nanny - new job). But after the kid grows of age it will be a problem what to do with it. Make the kid a "money leach", trouble maker – city guards more interested in you, or someday "Fuck you dad I'm going adventuring!" and the problem is gone. And this is just about the MC child. What about random children from whoring? Drown them in the river, sacrifice at the temple to resurrect a killed girl, sell to  the gourmet of a nearby cannibal tribe?
 
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 12:52:19 PM
sacrifice at the temple to resurrect a killed girl
Hm...
I still think that paying gold for ressurection is too simple and straightforward. Just saying.  ::)

Of course it's very basic explanation, but possiblites are quite big.
The main difference between cloning system that we want and pregnancy system that you propose is one trait, it's either "Your daughter" or "Clone". However, with clones you don't need to wait even 500 turns, you can have clones of unique characters (while daughters can be only random girls), you won't have unneeded boys. I guess it only could be important for those players that like incest, but we'll have half-sisters anyway.
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 01:03:29 PM
*I f#cking hate any idea of accelerated pregnancy/growth.

**Girls will take care of their kids at cost of AP. MC obviously has no control of free children.

Otherwise, it's not the best concept atm because we'll be forced into doing some crap at the very least with regard to male offspring. We have plenty of other good concepts to work with and pregnancy is something that can be explored as a quest/event(s).
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 02:04:16 PM
I can agree that other systems are more important.

Still... these guys are so advanced they can clone and no pregnacy ?:D
Cloning is certainly more comfortable and easier to implement...
but well it sucks :D
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 02:19:40 PM
Clones require money all the time to keep living, so they cannot replace pregnacy in terms of world story. Let's call them reflections instead of clones, if you think that clone sounds too advanced.
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 02:24:13 PM
I can agree that other systems are more important.

Still... these guys are so advanced they can clone and no pregnacy ?:D
Cloning is certainly more comfortable and easier to implement...
but well it sucks :D

There is no bathing, no proper meals, no gambling, no murder, no investigations, no fishing, no hunting, no .................

Just because there is no sex in (for example) unmodded Skyrim, doesn't mean that world assumes that it does exists. There is no rule saying that we must deal with pregnancy on module level. A well written, thought through chain of events dealing with pregnancy will be more engaging, interesting and fun than some shitty half-baked system where we take short-cuts or make silly excuses due to female character or time per turn limitations of the game.

Don't be so narrow in your vision, we aren't proctologists after all :)

At some point, we just might introduce male characters to the game and with a more advanced world, it'll make sense. For now, I can't see it...
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 02:36:16 PM
Maybe I didnt make myself clear ;/

What purpose serves Cloning then ? It's inferior in all aspects to pregnacy other then being easier to implement.
Mabye if I knew what do you try to achive with Clonning I get  enlighment of sorts.
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 02:45:08 PM
Maybe I didnt make myself clear ;/

What purpose serves Cloning then ? It's inferior in all aspects to pregnacy other then being easier to implement.
Mabye if I knew what do you try to achive with Clonning I get  enlighment of sorts.

I am not sure about that myself. Darks likes the idea and it's not too difficult to implement. Doesn't do any harm to the concept and requires no short-cuts/silly explanations of anything. Just magic/science/combination of both.
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 02:54:55 PM
uh... oh... usless feature ?:D
Making "Dig Holes" Button should also be easy ?


So you will be able to clone girl for money + she will require money to function( If I can > please at least make cost increase from day to day > so mainting clones all the time is imposible.)


To be honest it adds... nothing to game ?
But definitly can break few things :
-Clonning best warrior for one day x 5 to beat hard exploring / arena battles.
-Clonning best prost. to earn more then she costs.


Watch out please when impementing o.0

Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 03:15:37 PM
- It's simple to implement.
- It's not too hard to balance.
- It will be fun enough. The idea about affecting children traits has much more sense here.
- We don't need any new extra resources. Just some new lines, but not much.
- It could be another way to make money, ie another job for MC.
- It has considerable potential in terms of fanservice if a player likes certain characters a lot.

To be honest it adds... nothing to game ?
More than feauters of  pregnacy that you proposed. Selling a child once per X turns or get an average random girl once per Y turns. That's exactly how it works in wm, and it's pretty boring.

But definitly can break few things :
That's why you can clone only appearance and some traits  ::)
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 03:37:21 PM

Quote
More than features of  pregnancy that you proposed. Selling a child once per X turns or get an average random girl once per Y turns. That's exactly how it works in wm, and it's pretty boring.




... Come again please ?




Children
- Can have quest related to their family
- Are normal people who are already implemented in the game
- They can learn / get educated / go to courses at simplest.
- You can make your clan
- Get incest
- Sell them as slaves
- Send them on missions / add them to your team
- Pretty much whatever u want




Of course it requires MUCH more "content" then cloning.




And now cloning ?
How it be fun ? They add nothing new to game and now u mentioned they are SOOO limited(only appearance and traits ?) I assume clones can't learn anything new / can't really be used effectively for long time due to money required < or I am wrong about this one ?
I don't think it's bad system if you want it, go ahead. But superior to pregnacy ? Not even funny.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 03:48:36 PM
Nah, that doesn't matter as long as we don't have someone in dev team interested in creating so much content solely for children. Because without all that hypothetical, currently nonexistent content clones add more with much less work.

Pretty much any system, even clonning, will be better with more content, children are not unique in this regard.
Title: Re: General Discussion
Post by: Naurlas on August 25, 2014, 03:59:49 PM
I feel like hitting peas against wall.


The fact system is easy to implement and dosn't requires lot of content dosn't make it good in any way. It has to be fun to use and have a meaning in the game.
Cloning fails both checks + doing a lot of such small usless stuff slows down the progress of other more important parts of the game that are actualy fun.


But since I am not contributing to the project, I hope you guys have fun with it and good luck.


**Removed Picture.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 04:10:10 PM
Let's clarify something, btw.

- Are normal people who are already implemented in the game
I don't understand this one. Do you have something against artificial life forms or something? Clones are just characters that are already in the game too.


- They can learn / get educated / go to courses at simplest.
And clones or even ordinary girls can't do it because?..

- You can make your clan
Sounds cool. But what do you mean by that? I mean the game logic. What it should add to the game? It's not an MMO or something...

- Sell them as slaves
Nope, it's against our current concept. You cannot simply enslave free characters.

- Send them on missions / add them to your team
And why can't you do the same thing with any loyal girl? Actually, you already can in the dev version.
=================================
Edit: Oh my, ragequited already? That was quick.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 04:24:01 PM
I'm not sure yet. I have more urgent things lately, like girlsmeets, so I didn't thought about it deep enough. We'll figure it out, just like we already did more or less with ST thanks to lamoli.*

Another push, I'm expecting to finish with AA2 lines tomorrow and begin to work with AG3.
------------------------
* there once was a Cherry's post above mine  :)
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 04:49:49 PM
Small SF Update:

- Only items at location: Exploration will can be found in SE now
- Added base logic for girl capture (not useful yet)
- Lowered chance of finding an item (was way too high)
- Fixed abnormal cash rewards!
- Added unique/specific items field to SE JSONS (items = {item_id: dicechance, ...}) (separate calculations from normal items)
- Added girls field to SE JSONS (girls = {girl_id: dicechance, ...}) (will work for both, unique and random)
- Changed Guards to Warriors in ND reports
Title: Re: General Discussion
Post by: DarkTl on August 25, 2014, 05:03:17 PM
I believe in every location there should be level interval for capturing girls, not just id. Also, I propose to capture not more than 1 girl per exploration no matter what, because teams are small enough to have troubles otherwise.

Also, iirc in wm traits play a huge role. Merciless girls have much less chance to capture someone, and so on. I could make a json with bonuses and penalties for traits if you want.
Title: Re: General Discussion
Post by: CherryWood on August 25, 2014, 07:10:23 PM
Another push, I'm expecting to finish with AA2 lines tomorrow and begin to work with AG3.
AG3 again? Did I really missed that much?  :)

_------------
I test the items in a day or two ...
Title: Re: General Discussion
Post by: MrKlaus on August 25, 2014, 07:30:22 PM
 I know you are occupied with other things right now, but some ideas hit me, how the cloning could be showed and explained in the game.
 
Cloning concepts:
 
Mirror Hall – a hall with a mirror or multiple mirrors. If someone touches their crystal surface, their reflection comes to life and enters the PyTFall world. The clone would be just a look-a-like, with 1/3 traits reversed (big boobs = small boos, brave = coward and so on) or just 1/3 of the traits from the original. The Mirror Hall would be able only if discovered by exploration.
 
Crazy Scientist Lab – a crazy, lab-coat man wanting to combine science and magic to gain immortality. Constantly looking for new test subjects (give him a girl to clone, 1st time 10% of success, 2nd 10-20%, 3rd 10-30%, 4 the scientist tried to clone himself and succeed name would change to <Scientist name MK I>, cloning of a girl is now 25-50%, every next visit some increase in the % if cloning fails girls die).  Also he could have a strange hobby of collecting other people hair (material to clone) so you had to pay with girls hair for the service. And if we would have different sprites the MK after the name also could change with the graphic design as another clone would be created and upgraded.
 
Temple/Altar of a God – I would propose a god of chaos or some kind trickery. He would make people doubles for fun or just to create mayhem. It would be a copy of the girl but with some evil traits. If the god would be a trickster it could be kid-like, MC could offer candy to the god as payment. Chaos would ask for a “little favor”, later on would send MC on some quest to do some evil things in the city if not the god would end MCs life.
 
Underground Doctor – somewhere in the slums, in deep underground, hidden from commoners lives Dr X (not Dr X from Action Men, just placeholder name) that experiments with human body. Trying to create perfection or resurrect his beloved, long dead wife/daughter/hamster.  The background could be a doctor office or infirmary from some other game. Payment: gold.
 
 
Darks obsession with cloning, theories:
Fan of Star Wars.
Fan of Jurassic Park.
Wants to recreate one of the last scenes “My stepmother is an alien”, when hot alien chicks, come to take away one dude.
Wants to mess around with Xela.
 
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 10:33:44 PM
I believe in every location there should be level interval for capturing girls, not just id. Also, I propose to capture not more than 1 girl per exploration no matter what, because teams are small enough to have troubles otherwise.

Also, iirc in wm traits play a huge role. Merciless girls have much less chance to capture someone, and so on. I could make a json with bonuses and penalties for traits if you want.

Oki, I'll look into adding leveling for the girls and adding it too the SE.

It's already programmed that way (1 girl per run).

Do the traits thing if you want, I was thinking more along the lines of agility checks and maybe some helper item. You can't really kill girls off during capture in SE, especially unique once, it feels like an overkill.
Title: Re: General Discussion
Post by: Xela on August 25, 2014, 10:36:48 PM
Wants to mess around with Xela.

LoL :D

We can't reverse a lot of traits btw, small boobs trait will look ridiculous on Tsunade for example. Otherwise, we'll think cloning content when we introduce cloning.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 02:23:46 AM
AG3 again? Did I really missed that much?  :)
Sisters lines. We didn't even planned to use them back then because there wasn't a concept according to which MC's father lived in the city for some time, thus could have more than one child there. And we don't really need much for that besides AG3 lines, so I wanna add it.

Darks obsession with cloning, theories:
Fan of Star Wars.
Fan of Jurassic Park.
Wants to recreate one of the last scenes “My stepmother is an alien”, when hot alien chicks, come to take away one dude.
Too bad, I dislike both SW and JP, and I'm not even familiar with the last one  :D
Clones are actually Xela's idea, blame him for proposing it. I'm just an innocent victim here.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 03:20:39 AM
Pushed traits_chance.json. I used
Quote
{
    "Hint": [
    "trait name -> multiplier for chance of teleporting during exploration -> multiplier for chance to capture", "multiplier 1 means no change"
    ]
    },
structure as a commentary since json doesn't support them, I hope it's not a problem.
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 04:00:28 AM
What do you mean by teleporting multiplier chance? I am having a bit of trouble following the contept, those traits mods apply to capturing girls or to captured girl? Also if it's the former, team of three characters may have a whole bunch of these traits, with cumulative effect... It'll be a bit much even if I add checks for every girl. Or should we make it count only for the team leader? I need some clarifications :D

*Cloning was proposed as a possible addon to the game by me, that's true but you've been the main proponent of that for a long time :) I proposed dozens of concepts that will prolly never get created. At some point I've even figured out how to load rpg-maker auto tiles into tiled software and than into pytfall and have spaceship follow mouse clicks with turning to the right direction (a lot of geometry funcs) but it doesn't mean that we will add it to the game.

Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 05:14:35 AM
Teleporting during exploration when the team is in trouble. I believe it should be up to the leader to decide when to quit based on health, area difficulty, maybe even number of potions remained, so only her traits mean something. In case if the leader is dead the team probably should return instantly.

I don't know how are you going to handle capturing though. If you going to use the most agile girl in the team, only her traits mean as well.

*Cloning was proposed as a possible addon to the game by me, that's true but you've been the main proponent of that for a long time :)
It's still your fault though that I know about this concept in the first place  :)

have spaceship follow mouse clicks with turning to the right direction (a lot of geometry funcs) but it doesn't mean that we will add it to the game.
You never know. Not spaceship, but maybe ship in the ocean or something related to minigames.
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 05:35:22 AM
Teleporting during exploration when the team is in trouble. I believe it should be up to the leader to decide when to quit based on health, area difficulty, maybe even number of potions remained, so only her traits mean something. In case if the leader is dead the team probably should return instantly.

I don't know how are you going to handle capturing though. If you going to use the most agile girl in the team, only her traits mean as well.

*Well, sh1t... I need to document stuff :)

Ok, so atm:
- Team teleportation is assumed, not really reported as such.
- Team will return on any of the girls dieing, not just the leader.
- There isn't any solid representation of area difficulty.
- Decision to withdraw is based on risk and health factors.

*I don't think traits can be coded for withdrawal as you suggest, code doesn't anticipate it. Traits can matter a lot if we want them to but not generalized through JSON, instead in a similar way to what we do with jobs (specific trait = unique decision making effect).

**I made some plans in precious posts (yesterday for tonight). I also want to try and make a composite image for SE, without editing Next Day code. Going to be a bit tricky I expect, but I see no reason for it not to work.

***Anyway, adding chance to capture shouldn't be hard at the very least, I want to take leaders traits, not the highest agility girl.
Title: Re: General Discussion
Post by: MrKlaus on August 26, 2014, 05:36:56 AM
@Dark
We all knew that Xela is the root of all evil, nothing new here.  But you are like a devils accomplice, working side by side with him. :P
I would propose to throw cloning concept on the shelf for some time and you guys finish the guild and exploration. 
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 06:07:36 AM
I would propose to throw cloning concept on the shelf for some time and you guys finish the guild and exploration.
That's the plan, yeah. And ST too btw.
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 06:37:16 AM
(http://s16.postimg.org/4qygqcc4h/8_26_2014_1_33_52_PM.jpg) (http://postimg.org/image/4qygqcc4h/)

Adding girls to the picture without editing any code proven to be a lot easier than expected...
Title: Re: General Discussion
Post by: CherryWood on August 26, 2014, 06:59:00 AM
Sorry guys, but I'm simply not able to came up with all those descriptions required for the head items.
So I can:
1 - create them without the texts, just with stats and pics
2 - just forget them and more to other work (toying with SE and tavern is next in my plan)


Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 07:00:34 AM
Battle sprites look pretty good there.

So those wolves were ninja, huh?  :)
(http://s001.youpic.su/pictures/1408996800/thumb_26eedd8c06b613058f881eee5bfa6eb8.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1408996800/26eedd8c06b613058f881eee5bfa6eb8.jpg)

I'd say if they drop wolf skins (after we'll add crafting items), it make sense. But if the team found usual items like weapons, we probably should write something about finding a chest/cache/stash/crypt/etc.

Sorry guys, but I'm simply not able to came up with all those descriptions required for the head items.
Just create them. We always can add descriptions later.
Btw, congratulations with your 500th post!  :)
Title: Re: General Discussion
Post by: CherryWood on August 26, 2014, 07:16:34 AM
I'd say if they drop wolf skins (after we'll add crafting items), it make sense. But if the team found usual items like weapons, we probably should write something about finding a chest/cache/stash/crypt/etc.
Strange, I'm sure I wrote
Code: [Select]
"items_limit": 0for the whole place so there should't be any item drops. (for now, still working on the list)


But the exploration takes a whole day, not just this fight, so I don't think it's strange to find items during it, even if you don't fight anyone at all.
And I was imagining selling game and wolfs hides as a part of the money lot you receive (in addition to those other treasures team may find).


And seriously, you should put Cursed Forest back as a primary location, this cold area was never supposed to be the main one (and it will take me some time to make it into something playable)


============
I was thinking about crafting (I even have many those pics like wolf hides...) when creating those wolves and such, but I'm not convinced it will add something worthwhile to the game. I believe alchemy can, but not creating permanent items like weapons/armor/clothes.
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 07:21:10 AM
Battle sprites look pretty good there.

So those wolves were ninja, huh?  :)
(http://s001.youpic.su/pictures/1408996800/thumb_26eedd8c06b613058f881eee5bfa6eb8.jpg) (http://youpic.su/view.php?id=s001.youpic.su/pictures/1408996800/26eedd8c06b613058f881eee5bfa6eb8.jpg)

LoL

In the future, we can add engaged enemies there as well! Team name on top in a good font would look nice. Prolly possible to animate some stuff as well. It's not smart to do this for Brothel jobs as there are so many of them (next day will become very slow), but decent multilayer pics should work well for SE.

I'd say if they drop wolf skins (after we'll add crafting items), it make sense. But if the team found usual items like weapons, we probably should write something about finding a chest/cache/stash/crypt/etc.

Bit much? Different texts for different items is doable, I'll think about it. You can write a few if you like.

**Btw, you broke loading of the game naming your new json traits_xxxxxx.json. Such naming is reserved for the traits files. I've renamed it so it'll get fixed with the next push. Just pointing this out if someone cannot run dev version after pulling from repo.

Sorry guys, but I'm simply not able to came up with all those descriptions required for the head items.
So I can:
1 - create them without the texts, just with stats and pics
2 - just forget them and more to other work (toying with SE and tavern is next in my plan)

Just add something basic or nothing at all like Dark suggests.

Strange, I'm sure I wrote
Code: [Select]
"items_limit": 0for the whole place so there should't be any item drops. (for now, still working on the list)


But the exploration takes a whole day, not just this fight, so I don't think it's strange to find items during it, even if you don't fight anyone at all.
And I was imagining selling game and wolfs hides as a part of the money lot you receive (in addition to those other treasures team may find).


And seriously, you should put Cursed Forest back as a primary location, this cold area was never supposed to be the main one (and it will take me some time to make it into something playable)

I changed it for testing purposes. I meant to delete Cursed Forest (wrote that I did it in one of the updates actually but I either forgot or it was restored when someone else was pushing), it's too old for proper testing of latest addons. After more areas are created, we can default to something else if you don't like it to be that json but for now it will remain like that.

You can work on the area as you please, just leave me the very first entry for testing.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 07:25:46 AM
Yeah. But we probably should explain this. Like
the first day: the team didn't found any enemies. The team found a stash with 20 gold.
the second day: the team was attacked by 3 wolfs and got loot worth 17 gold from them. The team found Kunai in a hollow tree.
I could write lines for that if no one wants to.
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 07:34:18 AM
Yeah. But we probably should explain this. Like
the first day: the team didn't found any enemies. The team found a stash with 20 gold.
the second day: the team was attacked by 3 wolfs and got loot worth 17 gold from them. The team found Kunai in a hollow tree.
I could write lines for that if no one wants to.

- Writing lines "per item" sounds insane, maybe we can specify something to items unique to the area in JSON. Normal items seems to be a bit much of a bother. Multiple items can also be found by the way... complicates it even further.
- Now damned wolves carry money  ??? Ghm... but it's manageable I think (structuring texts that way).
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 07:42:36 AM
Yeah, they are called wealthy wolfes. They are very common in rpgs, I'm surprised you never met them.

Of course I mean those lines as random ones, like "The team found <item_id> in a hollow tree".
Title: Re: General Discussion
Post by: CherryWood on August 26, 2014, 08:17:18 AM
- Now damned wolves carry money  ??? Ghm... but it's manageable I think (structuring texts that way).
Lol, separating lot from enemies was the very first thing I asked for (=writing encounters itself bellow the area, even with those texts you talk about), You decided that you don't want that, and now you complain?  :D


You can work on the area as you please, just leave me the very first entry for testing.
I wanted to add the item lists soon and it also miss any kind of balance whatsoever.
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 08:20:15 AM
Lol, separating lot from enemies was the very first thing I asked for (=writing encounters itself bellow the area, even with those texts you talk about), You decided that you don't want that, and now you complain?  :D

I don't understand? Are you in favor of mobs dropping Gold or not?
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 08:31:47 AM
There were some decent ideas for acceleration...
*I f#cking hate any idea of accelerated pregnancy/growth.
Yeah, that's our Xela, get used to it  ::)

We can just write that gold was found in a chest or something.
After we'll add crafting, mobs will have hardcoded drops like skins or something. But for now I'd prefer them to not have any drops at all, except humanoids like bandits or something. They already give exp after all.
Title: Re: General Discussion
Post by: CherryWood on August 26, 2014, 08:39:50 AM
I don't understand? Are you in favor of mobs dropping Gold or not?
I don't really care myself. Unreasonable drops are just that common in rpgs, that it's not really something to be worried about much I believe.
I'm just surprised you guys brought this up, after not so long ago when it was decided to drop most of similar ideas for the sake of simplicity (nothing against that decision)
Title: Re: General Discussion
Post by: MrKlaus on August 26, 2014, 09:00:09 AM
Sorry guys, but I'm simply not able to came up with all those descriptions required for the head items.
So I can:
1 - create them without the texts, just with stats and pics
2 - just forget them and more to other work (toying with SE and tavern is next in my plan)

3 - throw the link to Klaus that joined the bandwagon screaming "I'm a writer!" 


Just tell me where are the items that need descriptions and where is the list of stats for them. Will think of something. And if you have some descriptions done that could be an example for me, it should be easy from there.
 
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 09:04:50 AM
Yeah, that's our Xela, get used to it  ::)

Murderous! :D

We discussed some stuff that wasn't complete crap in the past. I could at least in theory see it work out without too much damage to the game, but you were right in your post, I do dislike it as concept. If truth be told, I don't even remember what it was, just that it seemed acceptable.

I don't really care myself. Unreasonable drops are just that common in rpgs, that it's not really something to be worried about much I believe.
I'm just surprised you guys brought this up, after not so long ago when it was decided to drop most of similar ideas for the sake of simplicity (nothing against that decision)

Yeah, but Dark keeps asking for mooore :D

===========================================================
Let me try to write out a base concept for FG jobs/upgrades other than exploration:

*We cannot use Brothels Jobs without very significant modifications as they were never meant to be used for anything else when they were written (we only planned Brothel sim as concept at that time).

I really don't want to write advanced jobs for FG as they're not really required.

Instead:

- Non Slave Girls will normally just train or rest (Low health/fatigue).
- There is one slot for Service Girl (0 dirt growth guaranteed, with small daily decreases. )
- There is one slot for manager (can be taken by MC/Free girl), will have positive effects on rewards (better management) and lower "True Risk". Bonuses only apply if character isn't on the exploration run (always apply for MC). Also, bonuses depend on amount of time a character actually spent leading the Guild (so no/very limited effects if you just throw some char there when the team returns to try and whore a bonus)

Upgrades (currently planned):
Hall/Bar:
- Adds +1 Service Girl Slot.
- Disposition bonuses.
- Rest bonuses.
- Joy bonuses.
Training Area:
- Adds to training potential.
- Better bonuses if guild is properly managed.
Healing Onsen:
- Powerful healing/restoration abilities.
==============================================================
Total rooms in the guild:
1 for Service Girl + 1 if Hall/Bar
1 for Manager
+ 3 for every team
With 5 - 6 teams max, we can will have just below total of 20 rooms.
During the Next Day:
*We display area pic + small girls portraits that participate with corresponding texts
or
*Per character reports
Need some opinions for the above...

Let me know what you think? I will attempt to code this tonight.
Title: Re: General Discussion
Post by: MrKlaus on August 26, 2014, 09:17:29 AM
==============================================================
Total rooms in the guild:
1 for Service Girl + 1 if Hall/Bar
1 for Manager
+ 3 for every team
With 5 - 6 teams max, we can will have just below total of 20 rooms.
During the Next Day:
*We display area pic + small girls portraits that participate with corresponding texts
or
*Per character reports
Need some opinions for the above...

Let me know what you think? I will attempt to code this tonight.

I vote for the first option of display:

Team1 - got lost 15 meters from their home base.
Team2 - spend the day sunbathing.
Team3 - found the legendary treasure of DarkTI and escaped with it in an unknown direction
Team4 - did their job!
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 09:21:48 AM
I vote for the first option of display:

Team1 - got lost 15 meters from their home base.
Team2 - spend the day sunbathing.
Team3 - found the legendary treasure of DarkTI and escaped with it in an unknown direction
Team4 - did their job!

LoL

They are not in teams. Teams are actually purely logical units, a girl can be a part of the team but work as whore in a completely different building. Took a lot of work to code but it was necessary for some parts of the concept.

Basically, I want girls that are just sitting in the guild, without doing any exploration to "have a life/tasks". That's what is suggested in the concept.
Title: Re: General Discussion
Post by: MrKlaus on August 26, 2014, 09:37:03 AM
LoL

They are not in teams. Teams are actually purely logical units, a girl can be a part of the team but work as whore in a completely different building. Took a lot of work to code but it was necessary for some parts of the concept.

Basically, I want girls that are just sitting in the guild, without doing any exploration to "have a life/tasks". That's what is suggested in the concept.

Then I would go with the second option, displaying what everyone of them did on her free day. For example:

Girl1 - spend the day shopping.
Girl2 - went to the arena to watch the fights.
Girl3 - spend the day with her boyfriend
Girl4 - slept all day!
Title: Re: General Discussion
Post by: CherryWood on August 26, 2014, 09:39:28 AM
Let me try to write out a base concept for FG jobs/upgrades other than exploration:
Do you know I never ever thought about that FG could be player owned building, and that there could exist something like a job for that?  :D  That's why there was so much misunderstanding between us before, sorry for that.

----------------------
Will in the future those teams be able to participate in arena too?
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 09:49:08 AM
Do you know I never ever thought about that FG could be player owned building, and that there could exist something like a job for that?  :D  That's why there was so much misunderstanding between us before, sorry for that.


----------------------
Will in the future those teams be able to participate in arena too?

You could buy it from realtor (introduced month back) :)

It's not too late to turn it into a state owned building (less work but also a bit less fun I think), I thought we arrived at the conclusion that it should be player owned some time ago.

We'll make arena fighting also possible for FG teams in the future. It would require some inter-module communications so lets leave it for later.

So you're ok with that concept? Nothing to add/take away at the moment?

Then I would go with the second option, displaying what everyone of them did on her free day. For example:

Girl1 - spend the day shopping.
Girl2 - went to the arena to watch the fights.
Girl3 - spend the day with her boyfriend
Girl4 - slept all day!

"Went to Arena to watch the fights"... I should have thought of that as a mini event. Dark missed it as well when writing traits-based stuff during the brothel Rest routines.

Anyway, you're off again, those are girls specific events during next day if they're resting/not doing anything. I am talking about Fighting Guild jobs/events.
Title: Re: General Discussion
Post by: CherryWood on August 26, 2014, 09:59:18 AM
So you're ok with that concept? Nothing to add/take away at the moment?
I can't really imagine much besides resting/healing and training for them to do... So I would expect more like a healers or trainers there to help with that but that could be that service girl helping them with rest and they could train each other like the guards do. So not really.
Quote
"Went to Arena to watch the fights"... I should have thought of that as a mini event. Dark missed it as well when writing traits-based stuff during the brothel Rest routines.
We didn't add it because it doesn't have any corresponding girlpack pictures... There a lot to improve there in rest action but I postponed that until tag review.
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 10:02:56 AM
We didn't add it because it doesn't have any corresponding girlpack pictures... There a lot to improve there in rest action but I postponed that until tag review.

Rest actions are limited in their numbers so we might use the same technique for them as I have with the SE picture (Arena + Filtered Profile pic).
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 10:09:17 AM
Yeah, but Dark keeps asking for mooore :D
Technically speaking, the chance to find gold coins in abnormal areas is close to 0. Even if gold coins are used in some another world as money, the chance that they have the very same coinage is very low, because we talking about very different worlds. I already took some steps in this direction, I created multiple icons for objects like gems, artifacts, chests with coins of strange coinage. And when I'll deal with girlsmeets, you better prepare yourself for a new item type, "loot", which main (but not the only one) purpose is to be dropped during explorations and sold.

Let me know what you think? I will attempt to code this tonight.
Sound good, but we need more options for slaves, I guess. They could help free girls to heal wounds for example, not just cleaning.
Also, maybe 1-2 guards to secure the building? There supposed to be rmgirls and loot, so...

Also, I wonder what to do with captured girls even after we'll add ST and dungeons. Not to mention that we don't have a dungeon yet. Maybe there should be a separate room for them right in the guild, so MC could take a look at them, release, sell, befriend and convince to join via interactions system, etc.
Title: Re: General Discussion
Post by: CherryWood on August 26, 2014, 10:12:24 AM
Rest actions are limited in their numbers so we might use the same technique for them as I have with the SE picture (Arena + Filtered Profile pic).
Yup, that could work. I like those visual stuff (but I would still prefer to focus on the girpacks pics first).
Hope that someone will actually read those reports from time to time  :D
Title: Re: General Discussion
Post by: MrKlaus on August 26, 2014, 10:19:06 AM
 
"Went to Arena to watch the fights"... I should have thought of that as a mini event. Dark missed it as well when writing traits-based stuff during the brothel Rest routines.

 Also it could start a quest chain (side story), when a certain free girl is a fan(or a psycho fan) of the MC arena performance and will approach him on her own.
 
 
Anyway, you're off again, those are girls specific events during next day if they're resting/not doing anything. I am talking about Fighting Guild jobs/events.
 
I’m getting lost in here…  You are talking about reporting the girls daily growth and what they did working (same as it is displayed in brothel summary)?
 
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 10:24:01 AM
Sound good, but we need more options for slaves, I guess. They could help free girls to heal wounds for example, not just cleaning.
Also, maybe 1-2 guards to secure the building? There supposed to be rmgirls and loot, so...

Also, I wonder what to do with captured girls even after we'll add ST and dungeons. Not to mention that we don't have a dungeon yet. Maybe there should be a separate room for them right in the guild, so MC could take a look at them, release, sell, befriend and convince to join via interactions system, etc.

Unless a Service Girl, sending slaves to live in the Guild should simply not be reasonable. We don't need to add any jobs for them.

**On the captured girls front (forgot to add my thoughts on that to the post):

I want the guild give off kind of a fighting family spirit vibe (in texts/explanations). So it would be great if we could outsource the dungeon to some form of City Jail/City Pens until ST where we'll introduce a proper dungeon. MC is to pay upkeep for putting girls there. For now, captured girls could either be set free, sent to train with Blue for x days until they become trained slaves or be sold to SlaveMarket.

==
Otherwise, I am coding the upgrades as proposed since noone is against it. Should be ready tonight/tomorrow.

 
 Also it could start a quest chain (side story), when a certain free girl is a fan(or a psycho fan) of the MC arena performance and will approach him on her own.
 

*Content :)

 
 I’m getting lost in here…  You are talking about reporting the girls daily growth and what they did working (same as it is displayed in brothel summary)?
 

Yeah, exactly. Simple side jobs if crew isn't off on an exploration run.

But you suggest wrong stuff like shopping (is handled during girls personal reports), Spent day sleeping/with boyfriend, sleeping is part of resting I guess but girls don't have advanced relationships atm.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 10:34:03 AM
Unless a Service Girl, sending slaves to live in the Guild should simply not be reasonable. We don't need to add any jobs for them.
So far they are useful only for brothels. They are useless at arena, MC house doesn't have girls at all, guild could use 1 slave at all (2 with upgrade).

They are slaves, not sex androids or something. They can do any work.
Title: Re: General Discussion
Post by: MrKlaus on August 26, 2014, 10:34:13 AM
Yeah, exactly. Simple side jobs if crew isn't off on an exploration run.

 So harassing people for money, working as a bodyguard for a jewel merchant, drinking in the bar while waiting for next assignment, looking for a missing kitty, providing security in some event in the city. Correct this time?
 
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 10:44:14 AM
So far they are useful only for brothels. They are useless at arena, MC house doesn't have girls at all, guild could use 1 slave at all (2 with upgrade).

They are slaves, not sex androids or something. They can do any work.

Still, in spirit of the game slaves stay away from combat. We'll have more modules where it'll make sense. We'll add more options to MC housing at some point as well. Slaves will be more useful in the future, just not at a guild.

I am not saying that they can't, most limitations are world based + They can do a lot more than whore in the Brothels. We can add more jobs to brothels in the future as well.

So harassing people for money, working as a bodyguard for a jewel merchant, drinking in the bar while waiting for next assignment, looking for a missing kitty, providing security in some event in the city. Correct this time?
 

Hmm... not exactly what I meant but this is a very good idea! As your guild reputation is growing, people would bring you quests to complete. This should definitely be added to the guild in the future. For now, I'll just code stuff from my post.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 12:00:04 PM
Xela, don't forget about descriptions for elements. Add at least short ones if you don't want to add npc for long ones yet.
Title: Re: General Discussion
Post by: Gismo on August 26, 2014, 12:11:35 PM

Hi there!
I made a small selection of images for the game, maybe something will fit.

https://mega.co.nz/#!X1hSnSwT!K_eylbEREwAm2siY9vOfSqD-_K65kieu8hLv_0qjskU
Title: Re: General Discussion
Post by: DarkTl on August 26, 2014, 12:22:48 PM
Excellent selection, thanks a lot!
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 12:27:07 PM
??? I keep getting file no longer exists?
Title: Re: General Discussion
Post by: Gismo on August 26, 2014, 01:05:21 PM

Strange, seems to work.Here is mirror - http://www.fileswap.com/dl/r534b6ynTc/Images.rar.html
Title: Re: General Discussion
Post by: Xela on August 26, 2014, 04:51:41 PM
Strange, seems to work.Here is mirror - http://www.fileswap.com/dl/r534b6ynTc/Images.rar.html

Damn, there are great pics for the city expansion in these backgrounds. Great finds!
Title: Re: General Discussion
Post by: Xela on August 27, 2014, 07:09:00 AM
Should we kill the girl assignment screen now that we have dropdown menus? Seems utterly redundant...
Title: Re: General Discussion
Post by: DarkTl on August 27, 2014, 08:10:23 AM
Quote
options = {
"ct('Shy')" = ["Text 1", "Text 2", "Text 3"],
"(ct('Kuudere') and chr.occupation == 'Warrior') or (chr.status != 'slave' and chr.charisma > 1000000000)" = ["Text 1", "Text 2"]
}

replies = list()
for i in options:
    if bool(eval(i)):
        replies.extend(options)

if replies:
    $ rc(*replies)
else:
    $ rc("Generic reply if all else fails 1", "Generic reply if all else fails 2", "etc...")
Couldn't you create it as another custom function?
Something like $tr("trait1" :( "line1", "line2"), "trait2" :( "line1"), ("line2")..."traitN" :( "line1"),("line2")).
The more lines I'm adding, the less part of them players will actually see in most cases if we'll use elif everywhere. Good example here is interest topic where you used elif and dice. The chance to see the lowest line after all dices is about 0,04%, this is insane.

Elif structures do make my work easier because we don't need lines for every trait thanks to them. But they cannot be used everywhere.
Title: Re: General Discussion
Post by: CherryWood on August 27, 2014, 09:08:30 AM
Ok, I tested the SE items field - those items drop, but the chances are totally off somehow. Items drop like mad no matter what chance I set there.
Like:
"items": {"Mallet": 0.00002}
and it still dropped in 4 days out of 10  :D 




Also, saying "no" to "Are you sure to sent the team XY exploring" still send the team out there.
Title: Re: General Discussion
Post by: Xela on August 27, 2014, 09:18:46 AM
Couldn't you create it as another custom function?
Something like $tr("trait1" :( "line1", "line2"), "trait2" :( "line1"), ("line2")..."traitN" :( "line1"),("line2")).
The more lines I'm adding, the less part of them players will actually see in most cases if we'll use elif everywhere. Good example here is interest topic where you used elif and dice. The chance to see the lowest line after all dices is about 0,04%, this is insane.

Elif structures do make my work easier because we don't need lines for every trait thanks to them. But they cannot be used everywhere.

I'll take a look. It should be possible, but I can't think about it atm. I only started with the jobs for the FG and they're already kicking my ass. Seems so simple from the user perspective, but getting it all to work in code is hell. I'll see what I can do about "tr" later.

Ok, I tested the SE items field - those items drop, but the chances are totally off somehow. Items drop like mad no matter what chance I set there.
Like:
"items": {"Mallet": 0.00002}
and it still dropped in 4 days out of 10  :D 

Also, saying "no" to "Are you sure to sent the team XY exploring" still send the team out there.

I'll take a look at the items drops, chance increases with every day, I prolly made it too aggressive.

"No" thing is fixed in my version since yesterday, I just didn't get a chance to push it yet as some other stuff may break from incomplete FG update.

**I am killing off the girls assign screen since noone said anything against it.
Title: Re: General Discussion
Post by: CherryWood on August 27, 2014, 10:33:44 AM
I'll take a look at the items drops, chance increases with every day, I prolly made it too aggressive.
Ok, I see it now.
Then I suggest something like this:
Code: [Select]
if dice((self.area.items[i]*(0.2 + (self.area.risk*0.008))*(1 + self.day*(0.025*(1+self.area.risk/100)))))
Code: [Select]
day 1 risk 1 = i*0.213
day 15 risk 1 = i*0.287
day 1 risk 50 = i*0.623
day 15 risk 50= i*0.938
day 1 risk 100= i*1.05
day 15 risk 100=i*1.75
Title: Re: General Discussion
Post by: DarkTl on August 27, 2014, 10:34:16 AM
I don't understand how works part gm_interact_abouther in labels-gilrsmeets. No elifs here, does it already use "tr" structure?
Title: Re: General Discussion
Post by: Xela on August 27, 2014, 11:00:53 AM
Ok, I see it now.
Then I suggest something like this:
Code: [Select]
if dice((self.area.items[i]*(0.2 + (self.area.risk*0.008))*(1 + self.day*(0.025*(1+self.area.risk/100)))))
Code: [Select]
day 1 risk 1 = i*0.213
day 15 risk 1 = i*0.287
day 1 risk 50 = i*0.623
day 15 risk 50= i*0.938
day 1 risk 100= i*1.05
day 15 risk 100=i*1.75

LoL

Just do it and push, you obviously put more thought in it that I did :)

I don't understand how works part gm_interact_abouther in labels-gilrsmeets. No elifs here, does it already use "tr" structure?

CW coded that, not me. It looks like it should do just that, yes.
Title: Re: General Discussion
Post by: CherryWood on August 27, 2014, 11:10:57 AM
I don't understand how works part gm_interact_abouther in labels-gilrsmeets. No elifs here, does it already use "tr" structure?
I wrote that long ago so there is simpler python without any shortcuts functions, but if I understand it correctly, that requested "tr" thing would be doing almost the same thing like this label do.

There are 2 leves of randomizations to ensure that an option with a lot of replies will have the same chance to appear as option with a few, and also "normal" lines are added to the list if there are only 2 or less other options (that is what that += 1 is for), to prevent a girl talking just about her only trait over and over. All else is just a list.


I didn't know what to put under interest,romance and hangouts so I created this label with all kinds of stuff in it. But maybe they could be merged somehow...
Title: Re: General Discussion
Post by: DarkTl on August 27, 2014, 12:23:52 PM
Ah, I see what does it do. Not exactly what I need, but useful too.
Too bad it crashes in the end all the time :)
Will be fixed in the next push.
 
Title: Re: General Discussion
Post by: DarkTl on August 27, 2014, 01:51:25 PM
About insults and compliments, we probably should check how high is the corresponding stat towards others (ugly/cute=charisma, smart/dumb=intelligence, etc). Girls with higher charisma should believe more in cute compliment and be more vulnerable for ugly insult.
Title: Re: General Discussion
Post by: Xela on August 27, 2014, 02:47:50 PM
No update from me again tonight but I solved all the issues I think (found better approach instead of insanity I tried first to keep track of the new jobs).
Title: Re: General Discussion
Post by: DarkTl on August 28, 2014, 08:53:10 AM
Or maybe girls with higher charisma are already got used to cute compliment, so they would prefer other ones. And they know that they are pretty, so ugly insult cannot hurt them much because it's not exactly true. Damn, I can't decide  :D
Title: Re: General Discussion
Post by: CherryWood on August 28, 2014, 09:29:45 AM
Xela: Can you help me with SE again? Now I'm trying to figure out how often fights happen, but I'm lost.
I only found this:
Code: [Select]
if not attacked and dice(self.area.risk/2 + self.day): # Needs to be improved
                        attacked = True

but that can't be it, because the party in higher risk runs is attacked every single day.

////////////////
EDIT:
Code: [Select]
for i in xrange(ap):lol, I totally missed this. That means that the whole code is checked for every girls AP, right?
So the girls are looking for treasures in a cycle, until something attacks them on that exploration day.
That explains a lot. All the percentage chances I wrote just need to be lowered accordingly.
////////////////

Also, the mobs are chosen rather strangely. If I understand it, the game dice check every mob entry for a chance one after another, but if noone is chosen, then it's doing some code I don't understand to find one. And the overall results and numbers are not as I would expect.
Is there a serious reason why the logic is in the order it is? First if there is an attack and then choosing enemy?
It would have been much more understandable to me if the game checked the list of mobs for chances first, and if it din't dice a one = no attack. (that would also create the option to have a more desolate locations when fight don't happen every day)

And one more thing - I don't like the randomization on the number of enemies. Current "max" value should be simply a number of mobs in that group. If someone want more variety, he can write more entries into mobs field (=2 Orcs + 3 Orcs, with separate chances as a bonus).
Title: Re: General Discussion
Post by: Xela on August 28, 2014, 11:31:48 AM
You can rewrite it if you like as in "needs to be improved".

I usually write that code without too much thought, just making sure that it's working and manageable.
Title: Re: General Discussion
Post by: CherryWood on August 28, 2014, 11:51:30 AM
You can rewrite it if you like as in "needs to be improved".

I usually write that code without too much thought, just making sure that it's working and manageable.
Ok  :)


btw, did we just gained a quest tracking? whoa, nice


///I was looking for statue pieces and found that our poor beggar girl event is broken somehow  :(  We need to take a better care of her, she's still a big portion of the whole game content  :)
Title: Re: General Discussion
Post by: Xela on August 28, 2014, 12:22:56 PM
btw, did we just gained a quest tracking? whoa, nice

Looks like it  :)

I'll take a look at the beggar events when I get a chance.
Title: Re: General Discussion
Post by: Thewlis on August 28, 2014, 12:44:18 PM
btw, did we just gained a quest tracking? whoa, nice

Yeah quest tracking is in and, assuming no one finds a bug, complete. You can look in "library/events/quest - strange_idol.rpy" and "library/events/classes - quests.rpy" for details on how it works. Only thing I didn't really check were quests that auto-start when you start a new game.

On another note, I chose quests as it was fairly simple and got me into the code. Still don't really know what I should prioritise so if any of you wanna just throw something at me, go ahead.
Title: Re: General Discussion
Post by: Xela on August 28, 2014, 01:28:14 PM
Thanks for the Quests module :)

On another note, I chose quests as it was fairly simple and got me into the code. Still don't really know what I should prioritise so if any of you wanna just throw something at me, go ahead.

Is there anything you'd be interested in working on?
Title: Re: General Discussion
Post by: CherryWood on August 28, 2014, 01:30:27 PM
@Xela: How is FG building named for placing girls in it?
I would like to have some girls there from a start for easier testing, so I tried send some to: girl.location = "Fighters Guild"  but that is not working.
Title: Re: General Discussion
Post by: Xela on August 28, 2014, 01:37:25 PM
@Xela: How is FG building named for placing girls in it?
I would like to have some girls there from a start for easier testing, so I tried send some to: girl.location = "Fighters Guild"  but that is not working.

girl.location = fg

should work. Be sure that you set this after the guild is loaded into the game.
Title: Re: General Discussion
Post by: DarkTl on August 29, 2014, 07:55:40 AM
Still don't really know what I should prioritise so if any of you wanna just throw something at me, go ahead.
If you don't know what to do and don't have any preferences yet, you can start with either resolving known issues with items/traits systems and min/max levels of stats or creating a slave training system (we even have a concept for it). However, any help is welcomed.
Title: Re: General Discussion
Post by: Thewlis on August 29, 2014, 01:26:19 PM
Yeah, I can look at the stats / slave training. Lets see how badly I can change everything.
Title: Re: General Discussion
Post by: Xela on August 29, 2014, 01:33:13 PM
Yeah, I can look at the stats / slave training. Lets see how badly I can change everything.

:)

BE is a decent bet as well, it's isolated and could use improvement (Dark wants rows). I don't know if it's better to try and improve the Jakes BE or code a new one.

Crafting might be an interesting module to work with as well.

Since the game is "multidimensional" you can pick whatever seems to be the most appealing to you :)
Title: Re: General Discussion
Post by: CherryWood on August 30, 2014, 08:54:30 AM
I run into something I don't understand how to do:
Code: [Select]
                        for key in self.mobs:
                            if dice(self.mobs[key][0]):
                                enemies = (self.mobs[key][2])
when I put 2 entries of the same mob in json:
Code: [Select]
"mobs": {"Wolf": [30, [1, 0.1, 2], 3],"Wolf": [10, [1, 0.1, 2], 2]}the game only uses values from the last one.
Is there a way to made it check for each one? (if it would be too complicated then np, I try to figure some workaround)
Title: Re: General Discussion
Post by: Xela on August 30, 2014, 09:32:54 AM
I run into something I don't understand how to do:
Code: [Select]
                        for key in self.mobs:
                            if dice(self.mobs[key][0]):
                                enemies = (self.mobs[key][2])
when I put 2 entries of the same mob in json:
Code: [Select]
"mobs": {"Wolf": [30, [1, 0.1, 2], 3],"Wolf": [10, [1, 0.1, 2], 2]}the game only uses values from the last one.
Is there a way to made it check for each one? (if it would be too complicated then np, I try to figure some workaround)

You can't have two keys in a dict that are the same...

You can restructure the dict itself and use something else for the keys.
Title: Re: General Discussion
Post by: CherryWood on August 30, 2014, 09:52:31 AM
You can't have two keys in a dict that are the same...

You can restructure the dict itself and use something else for the keys.
ok, ty.
Title: Re: General Discussion
Post by: DarkTl on August 30, 2014, 12:09:33 PM
We have brand new items for head slot thanks to Klaus. As soon as the slot will be added to the game, I'll push icons and json.
Title: Re: General Discussion
Post by: Thewlis on August 30, 2014, 12:48:33 PM
I've gone through your concept for the ST and done a bit of theory-crafting. Before I go any futher could you tell exactly (or at least a general idea) what you use each stat (health, int, etc) for currently / what you plan to do with them? Also could you clarify "resolving known issues with items/traits systems and min/max levels of stats"?

Lot of what your talking about requires some prerequisite knowledge of your past development and only so much can be gleamed from the code.
Title: Re: General Discussion
Post by: Xela on August 30, 2014, 01:30:44 PM
I've gone through your concept for the ST and done a bit of theory-crafting. Before I go any futher could you tell exactly (or at least a general idea) what you use each stat (health, int, etc) for currently / what you plan to do with them? Also could you clarify "resolving known issues with items/traits systems and min/max levels of stats"?

Lot of what your talking about requires some prerequisite knowledge of your past development and only so much can be gleamed from the code.

Items/traits proposal was prolly the worst entry point into development as it deals with a lot of in depth logic. That's why I suggested Battle Engine and reaffirmed slave training as those are separate modules that don't assume you know the game right off the bat.

There is nothing wrong with items/traits. Dark wants a very complex system with loads of options and having game anticipating every single scenario. I am not confident that it's a reasonable approach. In any case, creating extra layers of stats and delimiters would make it possible but right now the only issue are two or three items and slight modifications to them will make the game run perfectly.

*Stats:
You can play the game a bit to figure it out but in general:

Health: Damage to the character. 0 - (No fixed max) Used everywhere, also a battle-stat.
Vitality: Ability to preform any tasks (inverted Fatigue), defines how tired a character is. (0 - 300). Used everywhere.
Charisma: Beauty and Persuasion ranged 0 - (No fixed max), use mostly during girlsmeets, strip job, interactions, sex jobs.
Refinement: Sort of noblemen behavior, more or less the dictionary definition of a word. (0 - no fixed max). Use for some jobs.
Libido: Extra modifier during the sex jobs. Presently not used. (0 - 100)
Constitution: Kind of strength of body. One of the most important stats in the game as Action Points depend on it. (0 - No fixed max)
Joy: Happiness of the character. Used in a lot of places (0 - 100)
Character: Will-fullness, inverted obedience, persistence of personal believes. Used in a lot of places. (0 - no fixed max)
Reputation: Not widely used. Reputation in a city, high means positive, low negative. There is no content to specify what exactly negative and positive mean in specific terms. (0 - 100)
Fame: Same as above but determines how well known character is.
Mood: Not used.
Disposition: Attitude towards main character ranged (-1000 to 1000), used in a lot of places in the game.
Intelligence: (0 - no fixed max). Means exactly what you expect.
Luck: (-50 to 50). Used in a lot of places, to improve random chances, increase rewards, increase chance of critical hits in BE and etc.
Attack/Magic/Defence/Agility/MP are all battle stats. Usually mean what you'd expect and don't have fixed max with 0 being the minimum.
Service: General stat for all service related tasks like bar-tending, waiting (being a waitress), cleaning and so on. 0 - no fixed max.
Anal/NormalSex/BlowJob/Lesbian - sex stats (0 - no fixed max)
Strip: Striptease stat, same range as the above.

Stats have two maximums called max and lvl_max, for fixed stats they are the same while for normal stats, they increase on per level basis. max is generally higher but increases slower (3 points) while level max is lower at a start but increases faster (5 points per level). Items and traits can raise normal maximum, nothing except leveling up can raise level maximum. Obviously expensive, powerful items that can raise normal maximum will be much more effective at higher level.

I hope this clears some things up a bit :)

PS: MC (always male at this development stage) has one sex stat to replace all sex stats. Range depends on a class chosen at game start.
Title: Re: General Discussion
Post by: Xela on August 30, 2014, 01:46:08 PM
I should add to the above:

*Leveling system is taken from D&D but made more or less linear (look at exp_adjust function) as we didn't have enough time/coding experience to make it work properly (resolve depending on levels of involved characters).

*Slaves are not allowed to fight as per games concept.

===================================
Otherwise, I did a bit of work on FG again and spent almost 4 hours yesterday isolating Drag&Drop code to send it to Ren'Py developer so he can fix the bugs. I'll try to put in some good time into the game tomorrow morning, maybe wrap some loose ends around the guild and add descriptions to elements + other stuff Dark mentioned recently.

Edit: I was cleaning up some old files and found a link to the old torrent file. To my great surprise it was still alive with 20 seeders somehow (links to it were broken for weeks). I've updated the release posts accordingly.
Title: Re: General Discussion
Post by: CherryWood on August 30, 2014, 07:42:10 PM
I pushed updated json of my SE location with item drop lists, and I also made some changes on the drop and encounter chances. And some items for it, but those are not finished as lot of them have missing descriptions.

I finish it sometime later, I probably look at the tavern now for a change...
Title: Re: General Discussion
Post by: DarkTl on August 31, 2014, 01:41:13 AM
Also could you clarify "resolving known issues with items/traits systems and min/max levels of stats"?
I'll quote Xela here:
 
Quote
I think that all items/traits that reduce the maximums should be removed from the game or redesigned just like all items/traits that push minimum out of range were redesigned. Right now there is a good amount of items that when used, reduce the maximum below 0 completely f#cking up some part of the game. Code that would be required to mitigate that is very complicated and would be hard to work with just as it would have been for minimums. I've noticed that after the recent items review.
Quote
we need to expand the concept...

Items have gotten too complicated, they can:

Add a trait permanently
Add a trait temporarily
Track if a trait that was added temporarily doesn't remove a trait that was there permanently when reversed
Add a permanent trait when their is a temporary trait in place
Remove a permanent trait when there is a temporary trait in place
Add stats after being work for x number of turns
Mod stat temporarily
Mod stat permanently
Mod max stat temporarily
Mod max stat permanently
Make sure items do not take stats with them when they are removed if those stats were maxed out already
Make sure that items do not prevent the ability to gain stats while those items are worn

I prolly forgot a bunch of stuff + I doubt all of this is actually used or been properly tested. Traits themselves complicate it all even further...

Basically, the main problem right now are items like Ultimate potions that just send max to a complete sh!thole. Maybe with that removed, nothing else needs to be done... extensive testing required (http://www.pinkpetal.org/Smileys/DarkB/smiley.gif) (as in a release, even Jaeke wouldn't be able to test every combination).

If tweaking the ultimate potions isn't enough, we could add level requirement to use an item, making sure higher levels with much higher max will prevent it going below 0. Otherwise I'll have to revisit the the system again, I was a lot less versed in python when it was written than now so there may be something that can be done without too much fuss. But in that case, we should expand the system while I'm at it, I recall you had some ideas for an expansion as well.

The way how the game tracks bonuses and penalties to stats is not perfect, especially when we talking about min and max values. Because of it we cannot use many ideas for items, and some existing items don't work as intended. Traits have the same problem, because they operate with min/max values as well.
Title: Re: General Discussion
Post by: pelusa1ca on August 31, 2014, 01:59:07 AM
Based on what is being discussed and described the next release sounds simple awesome.

Cheers,

P
Title: Re: General Discussion
Post by: MrKlaus on August 31, 2014, 07:26:13 AM
Charisma and character - in girl stats are responsible for......?


edit

Another (stupid) idea about a mini event. When entering the main street, there would be 3% chance of poping up an NPC (shady merchant) that would have some exclusive items for big $$$. What do you think?
Title: Re: General Discussion
Post by: Xela on August 31, 2014, 07:48:59 AM
Charisma and character - in girl stats are responsible for......?

Character is checked at times during girlsmeets/interactions to see if a girl can be persuaded by the MC to do something.

Charisma is basically beauty, places where it's used are to numerous to name and I am sure I wont be able to name them all. It's usually used as you'd expect beauty/appeal/looks to be used.
Title: Re: General Discussion
Post by: MrKlaus on August 31, 2014, 08:01:02 AM
Character is checked at times during girlsmeets/interactions to see if a girl can be persuaded by the MC to do something.

So, lower character the girl is more willing?
Title: Re: General Discussion
Post by: Xela on August 31, 2014, 08:18:13 AM
So, lower character the girl is more willing?

More suggestible/obedient, yes. Willingness can depend on traits and other stats or maybe even equipped items. Stats/Traits will always have slightly different meaning to every dev team member/modder. Don't read to much into it, while we're all more or less on the same page, it's ok.
Title: Re: General Discussion
Post by: CherryWood on August 31, 2014, 08:18:54 AM
Another (stupid) idea about a mini event. When entering the main street, there would be 3% chance of poping up an NPC (shady merchant) that would have some exclusive items for big $$$. What do you think?
I would prefer for such merchant to appear at some more predictable rate, like every first day in a month or so, if it's the case of a traveling merchant. Or, in case of shady character, at least be able to bribe someone who you can find (or spread the word in a tavern) to increase that chance for him to appear (so he will find you).
It's just that a 3% chance seems to be too plain and random for event with a real gameplay value.
Title: Re: General Discussion
Post by: MrKlaus on August 31, 2014, 08:42:25 AM
More suggestible/obedient, yes. Willingness can depend on traits and other stats or maybe even equipped items. Stats/Traits will always have slightly different meaning to every dev team member/modder. Don't read to much into it, while we're all more or less on the same page, it's ok.

Dark asked me to make items and if I want the item to make the girl meek/shy it also should hit her general stats, thats why I wanted to know what those two do. Thanks for the quick reply.

I would prefer for such merchant to appear at some more predictable rate, like every first day in a month or so, if it's the case of a traveling merchant. Or, in case of shady character, at least be able to bribe someone who you can find (or spread the word in a tavern) to increase that chance for him to appear (so he will find you).
It's just that a 3% chance seems to be too plain and random for event with a real gameplay value.

I was thinking something more in lines of a street monger. "Hey mister you need a watch. Check this" and he reveals insides of his long coat, there are hanged tens of watches there. Of course some items would be good, but lets say 60-70% would be trap, money wasters.
Title: Re: General Discussion
Post by: CherryWood on August 31, 2014, 09:05:37 AM
I was thinking something more in lines of a street monger. "Hey mister you need a watch. Check this" and he reveals insides of his long coat, there are hanged tens of watches there. Of course some items would be good, but lets say 60-70% would be trap, money wasters.
Ok, this sound like more fun  :)  You can make any kind and number of items I guess, even totally crap stuff, item is just a small pic and text for the game, nothing to be nitpicky about.

I'm planning to add some really simple events like watching the arena fighters training for a while out of boredom with a very rare chance to learn something out of it. So a street monger would be totally advanced thing in comparison  :)
Title: Re: General Discussion
Post by: Xela on August 31, 2014, 09:28:49 AM
I was thinking something more in lines of a street monger. "Hey mister you need a watch. Check this" and he reveals insides of his long coat, there are hanged tens of watches there. Of course some items would be good, but lets say 60-70% would be trap, money wasters.

I'd appreciate you adding the events to the game and testing their progression yourself without advanced conditioning. It's not difficult and there are plenty of examples, some with comments.
=============================

I really want to add some quests to the game but I'd be pretty busy in the upcoming weeks :( Did some work on the simple jobs for the guild this morning. Also a bot of FG code rearranging. Going to take care add upgrades to the interface as well as some other stuff, test it a bit and push tonight. FG should be more or less ready with that and waiting for more areas/content.
Title: Re: General Discussion
Post by: Thewlis on August 31, 2014, 11:46:11 AM
In any case, creating extra layers of stats and delimiters would make it possible but right now the only issue are two or three items and slight modifications to them will make the game run perfectly.

I'm gonna defer to you on this point, as I'm not familiar enough with it to know what should be changed and how.

I'm only going to focus on training whats currently available an only with the sex/service/strip girls with the master for now until thats working properly then build it up.

Getting in 'mistresses' and the MC home/slave living conditions can wait until thats all working.
Title: Re: General Discussion
Post by: Xela on August 31, 2014, 12:14:23 PM
I'm gonna defer to you on this point, as I'm not familiar enough with it to know what should be changed and how.

I'm only going to focus on training whats currently available an only with the sex/service/strip girls with the master for now until thats working properly then build it up.

Getting in 'mistresses' and the MC home/slave living conditions can wait until thats all working.

Sounds like a plan! Keep in mind that we wish to allow personal training and training by trainers. Otherwise, there are no plans beyond what was discussed in the ST thread.
Title: Re: General Discussion
Post by: DarkTl on August 31, 2014, 12:42:41 PM
...I need to know where is frog sprite (the big one, with crown), I cannot find it. I'm going to find a less cartoonish version, like I did for leprechaun.
Title: Re: General Discussion
Post by: Xela on August 31, 2014, 01:03:50 PM
...I need to know where is frog sprite (the big one, with crown), I cannot find it. I'm going to find a less cartoonish version, like I did for leprechaun.

events/frog_event folder.
Title: Re: General Discussion
Post by: Xela on August 31, 2014, 03:16:28 PM
SF Updated:

- Added "Jail"
- Moved FG Jobs to Jobs file
- Finished first versions of FG Jobs
- Moved FG classes to Exploration/Arena file
- Fixed some stuff in NextDay (there may be sude-effects)
- Changed MC Setup pics to some random art
- Changed insane increases of experience during training jobs (Guards)
- Added some basic jobs for the Fighter Guild

Basically added upgrades + simple jobs to FG.
Title: Re: General Discussion
Post by: Algernon on August 31, 2014, 11:14:59 PM
Thought I'd toss some ideas out, that I've been thinking about for a while.  These are mainly meant to be money sinks, but some of them would have a benefit for the player. 

I'm trying to approach the problem by looking at money as a means to an end, rather than just something you use to make more money.  Basically, the money you earn is used to fund another other aspects of the game.

First off, I was thinking that a merchant with some sort of random item selection.  What I mean by that is basically like the whole item "gambling" system that was used in Diablo and other games.  The player could choose to buy an expensive sword, but the player won't know what the sword actually is until after it is purchased.  It could be something awesome, or it could be a regular Long Sword.  Of course, this would be applied to other items (a random potion, a random misc item, etc.).

Second, adding a cost per person for exploration.  Now, I've only been playing the alpha, so I don't know how things are setup in the current build.  However, I believe that Xela was working on an exploration system (I could be wrong though).  Anyway, the cost to explore an area would scale, based on the difficulty of the area.  The reasoning behind this is that the characters must have the necessary supplies to make the trip and back.  These supplies wouldn't show up in anyone's inventory, so there wouldn't be any need to create new items.  An idea for the description would be something like "Tents, bedrolls, food, first aid kits (to save a character who is reduced to 0 HP), and other necessities for travel."  Not a word for word description, but you get the general idea.

Third, incorporating item durability into most of the items.  Sure, item durability is kind of a cheap way to force a money sink onto the player, but it does make sense.  That 3000 gold dress might not last too long in the lines of work that are available for your girls.  Thus, it will eventually become damaged and will need to be replaced.  However, to help with micromanaging issues, the player would need an "auto-buy" function or a way to repair items in bulk.

Well, that's about it for now.  I'll keep trying to come up with more ideas for the game.
Title: Re: General Discussion
Post by: Xela on September 01, 2014, 06:24:54 AM
First two are possible without much of a fuss. I am not going to introduce either one into the game without support from rest of the dev team. Both are doable without changing the current items system.

Third propositions will plainly mean that we'll have to track every item separately... which comes with a bunch of advantages (more options/power) and disadvantages (more work/computing resources required).

Sadly all of the approaches will require bit of a hassle, I haven't heard am overwhelmingly simple and great idea since it was suggested that slaves cannot advance past whore rank three :) Simple and powerful at the same time :)
===================================

On a separate topic: I found the Frenchy RPG Maker project (with insane graphics (considering that it's rpg maker)) I was talking about in dullmans thread: https://www.youtube.com/watch?v=KOlKh4PjLbg

Should be doable in Ren'Py as well if we put 5 - 6 years of work into it :D :D :D
Title: Re: General Discussion
Post by: DarkTl on September 01, 2014, 06:52:46 AM
On a separate topic: I found the Frenchy RPG Maker project (with insane graphics (considering that it's rpg maker))
I bet they have several artists. It's not free after all, so it's possible to hire people.
Title: Re: General Discussion
Post by: Xela on September 01, 2014, 07:02:06 AM
I bet they have several artists. It's not free after all, so it's possible to hire people.

From what I've read, they've been at it for 6 or 7 years in their free time without hiring a soul. First versions were pokemon based. Most of the stuff is not drawn, it's 3D rendered.

I am not suggesting we go down this road, in fact it's not wise to use RPG Maker for this at all... I just spent some time looking for a link to point out that a very well informed indie team are upgrading frameworks instead of using ancient XP version...
===================================

(back on earth) I found some bugs in the FG Jobs and we prolly should utilize some stuff like rep/fame as well. I'll take a look at that tonight.
Title: Re: General Discussion
Post by: DarkTl on September 01, 2014, 07:53:38 AM
Most of the stuff is not drawn, it's 3D rendered.
Can you do it? I cannot. We already have great rendered bg for arena though, but I think the user who made it had long disappeared (too bad, we could use his skills for temple of time).

Klaus asked me how difficult it would be to add sets into the game. Meaning elven boots + elven gloves + elven armor = additional bonus.
I have items for several sets already, but I'm not sure that we should do it if it will be too much trouble.

SF Updated:
No head slot? Isn't is the simplest thing ever to add one at this point?  :)
Also, I think we should reduce the number of ring slots to 1. It's not diablo or something, we don't have infinite amount of different rings, even with the help of Klaus.

I'd prefer to have some another slot in the future instead, like underwear or something. Would make perfect sense for girls, unlike wm, where underwear=body slot, so many non-warriors there are always half-naked, while warriors have nothing under that cold iron armor, which is far from common sense.
Title: Re: General Discussion
Post by: Xela on September 01, 2014, 08:11:22 AM
Klaus asked me how difficult it would be to add sets into the game. Meaning elven boots + elven gloves + elven armor = additional bonus.
I have items for several sets already, but I'm not sure if we should do it if it will be too much trouble.

It's doable as long as you guys don't want to attach insane amount of conditioning to it (Full Set Equipped = Max+ Stats+ (Or even True MAX+ which is impossible with current items)). That shouldn't cause any issues, at least I don't foresee any issues with it.

No head slot? Isn't is the simplest thing ever to add one at this point?  :)
Also, I think we should reduce the number of ring slots to 1. It's not diablo or something, we don't have infinite amount of different rings, even with the help of Klaus.

I'd prefer to have some another slot in the future instead, like underwear or something. Would make perfect sense for girls, unlike wm, where underwear=body slot, so many non-warriors there are always half-naked, while warriors have nothing under that cold iron armor, which is far from common sense.

I am not sure, logically, it's easy but I think equipment screens need to be adjusted. I'll take a look at it and push.
Title: Re: General Discussion
Post by: MrKlaus on September 01, 2014, 09:23:56 AM
First two are possible without much of a fuss. I am not going to introduce either one into the game without support from rest of the dev team. Both are doable without changing the current items system.

Third propositions will plainly mean that we'll have to track every item separately... which comes with a bunch of advantages (more options/power) and disadvantages (more work/computing resources required).

Sadly all of the approaches will require bit of a hassle, I haven't heard am overwhelmingly simple and great idea since it was suggested that slaves cannot advance past whore rank three :) Simple and powerful at the same time :)

 Not on the dev team but will share my opinion with you (tell me to shut up and I will stop posting)  :P
 
 1st @merchant. Was throwing general ideas with Cherry few post above. But for the final version I would wait untill the guild is up and running without problem, he could be a merchant inside the guild selling rare items found by other teams not owned by the player, or a merchant in the slums - street monger.

 2nd @pay2explore. There was the idea of team gear, was that scratched? (don’t know, can't get the dev version too run -_-) Also there could be prohibited areas to enter and the team would have to BRIBE the guard.

 3rd @itemdecay. I'm against! Rings and necklaces that I gave Dark have high price and in my opinion players gold should be controlled with the tax system and item prices. Want something good = SHOW ME THE MONEY!
 
 
4th @Darkcuttingofffingers. Hell no bro! Three slots for 10 finger (could be 20 if there would be a toe ring item class or an ankle bracelet for girls) are enough don’t remove it. If someone wants to have them all used then let them. Spend that hard pimped cash on that gold!
 
Title: Re: General Discussion
Post by: DarkTl on September 01, 2014, 09:33:41 AM
First off, I was thinking that a merchant with some sort of random item selection.  What I mean by that is basically like the whole item "gambling" system that was used in Diablo and other games.  The player could choose to buy an expensive sword, but the player won't know what the sword actually is until after it is purchased.  It could be something awesome, or it could be a regular Long Sword.  Of course, this would be applied to other items (a random potion, a random misc item, etc.).
Yeah, I've seen these things in many games. It's even more advanced in swtor, where you could get several items from completely different categories at once, with different layers of randomness.
However, most of these games have rng based equipment, thus items are always possibly better than yours. Even without rng they have like thousands of items, thus it's not easy to obtain them all even for 24/7 players. In our case, where only a few people created items so far, it won't be nearly as exciting and useful.

Second, adding a cost per person for exploration.  Now, I've only been playing the alpha, so I don't know how things are setup in the current build.  However, I believe that Xela was working on an exploration system (I could be wrong though).  Anyway, the cost to explore an area would scale, based on the difficulty of the area.  The reasoning behind this is that the characters must have the necessary supplies to make the trip and back.  These supplies wouldn't show up in anyone's inventory, so there wouldn't be any need to create new items.  An idea for the description would be something like "Tents, bedrolls, food, first aid kits (to save a character who is reduced to 0 HP), and other necessities for travel."  Not a word for word description, but you get the general idea.
It's possible, but I'd like to see completed SE for a start. Like in those videos that Xela keeps posting here, maybe without fancy graphics, but with complex and interesting mechanics.

Third, incorporating item durability into most of the items.  Sure, item durability is kind of a cheap way to force a money sink onto the player, but it does make sense.  That 3000 gold dress might not last too long in the lines of work that are available for your girls.  Thus, it will eventually become damaged and will need to be replaced.  However, to help with micromanaging issues, the player would need an "auto-buy" function or a way to repair items in bulk.
I don't even know. I wonder what other players would think about it. I mean, they probably would hate the idea.

4th @Darkcuttingofffingers. Hell no bro! Three slots for 10 finger (could be 20 if there would be a toe ring item class or an ankle bracelet for girls) are enough don’t remove it. If someone wants to have them all used then let them. Spend that hard pimped cash on that gold!
 
Ok, why 3, not 2, like in most games? (believe me, you don't want to know how Xela explained it back then  ::) )
Title: Re: General Discussion
Post by: MrKlaus on September 01, 2014, 09:40:02 AM
Ok, why 3, not 2, like in most games? (believe me, you don't want to know how Xela explained it back then  ::) )

 I was against going to only 1 ring. But 2 could be a reasonable compromise. But if in the future there will be a disarray between the social standing (like Xela planned), a wealthy person should be able to show off.
 
Title: Re: General Discussion
Post by: Xela on September 01, 2014, 09:57:09 AM
It's possible, but I'd like to see completed SE for a start. Like in those videos that Xela keeps posting here, maybe without fancy graphics, but with complex and interesting mechanics.

SE = Simulated Exploration. Player driven exploration will take a lot more time than that and we still haven't agreed on a format. + ATM we have a lot of other stuff to take care of.

Ok, why 3, not 2, like in most games? (believe me, you don't want to know how Xela explained it back then  ::) )

I don't even know how I explained it back then... Players are used to three by now, why change it...

@Klaus:

What goes wrong when you try to run the dev version?
Title: Re: General Discussion
Post by: Xela on September 01, 2014, 10:16:09 AM
No head slot? Isn't is the simplest thing ever to add one at this point?  :)

- Added Head Slot
- Filtered out Male items and Gifts during girl equipment
Title: Re: General Discussion
Post by: DarkTl on September 01, 2014, 10:16:57 AM
SE = Simulated Exploration.
My bad, I mean EE.
SE could use moar levels of complexity too though. I imagine a global map with regions highlighted in the same manner as locations in the city. Sometimes I wonder if hiring an inexpensive artist at devianart is the only way to get decent maps and bgs for rare locations...

Players are used to three by now, why change it...
I'm afraid we don't have enough rings to provide enough variety for whole three slots. It's not a problem in other cases, other slots are unique. And it's kinda illogical to create much more rings than other items only because we have three times more slots when can have 2 or 1. Though it's a matter of taste, I guess. If you think it's not a problem, keep them.
Title: Re: General Discussion
Post by: MrKlaus on September 01, 2014, 10:24:14 AM
 @Xela
 
 The shit that pops up:
 
 
Code: [Select]
I'm sorry, but an uncaught exception occurred.
 
 While running game code:
   File "game/script.rpy", line 142, in script
     python:
   File "game/script.rpy", line 148, in <module>
     char = load_characters()
   File "game/library/functions.rpy", line 28, in load_characters
     dir = content_path('chars')
   File "game/library/functions.rpy", line 6, in content_path
     return renpy.loader.transfn('content/' + path)
 Exception: Couldn't find file 'content/chars'.
 
 -- Full Traceback ------------------------------------------------------------
 
 Full traceback:
   File "game/script.rpy", line 142, in script
     python:
   File "E:\renpy-6.17.6-sdk\renpy\ast.py", line 756, in execute
     renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
   File "E:\renpy-6.17.6-sdk\renpy\python.py", line 1382, in py_exec_bytecode
     exec bytecode in globals, locals
   File "game/script.rpy", line 148, in <module>
     char = load_characters()
   File "game/library/functions.rpy", line 28, in load_characters
     dir = content_path('chars')
   File "game/library/functions.rpy", line 6, in content_path
     return renpy.loader.transfn('content/' + path)
   File "E:\renpy-6.17.6-sdk\renpy\loader.py", line 497, in transfn
     raise Exception("Couldn't find file '%s'." % name)
 Exception: Couldn't find file 'content/chars'.
 
 Windows-Vista-6.0.6002-SP2
 Ren'Py 6.17.7.521
 PyTFall 0.47 Alpha
 
 I'm sorry, but an uncaught exception occurred.
 
 While running game code:
   File "game/script.rpy", line 335, in script
     python:
   File "game/script.rpy", line 337, in <module>
     pytfall.arena = Arena()
 NameError: name 'pytfall' is not defined
 
 -- Full Traceback ------------------------------------------------------------
 
 Full traceback:
   File "game/script.rpy", line 335, in script
     python:
   File "E:\renpy-6.17.6-sdk\renpy\ast.py", line 756, in execute
     renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
   File "E:\renpy-6.17.6-sdk\renpy\python.py", line 1382, in py_exec_bytecode
     exec bytecode in globals, locals
   File "game/script.rpy", line 337, in <module>
     pytfall.arena = Arena()
 NameError: name 'pytfall' is not defined
 
 Windows-Vista-6.0.6002-SP2
 Ren'Py 6.17.7.521
 PyTFall 0.47 Alpha
 
 I'm sorry, but an uncaught exception occurred.
 
 While running game code:
   File "game/script.rpy", line 365, in script
     $ all_chars = char.values()
   File "game/script.rpy", line 365, in <module>
     $ all_chars = char.values()
 NameError: name 'char' is not defined
 
 -- Full Traceback ------------------------------------------------------------
 
 Full traceback:
   File "game/script.rpy", line 365, in script
     $ all_chars = char.values()
   File "E:\renpy-6.17.6-sdk\renpy\ast.py", line 756, in execute
     renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
   File "E:\renpy-6.17.6-sdk\renpy\python.py", line 1382, in py_exec_bytecode
     exec bytecode in globals, locals
   File "game/script.rpy", line 365, in <module>
     $ all_chars = char.values()
 NameError: name 'char' is not defined
 
 Windows-Vista-6.0.6002-SP2
 Ren'Py 6.17.7.521
 PyTFall 0.47 Alpha
 
 
 I'm sorry, but an uncaught exception occurred.
 
 While running game code:
   File "game/script.rpy", line 366, in script
     while all_chars:
   File "game/script.rpy", line 366, in <module>
     while all_chars:
 NameError: name 'all_chars' is not defined
 
 -- Full Traceback ------------------------------------------------------------
 
 Full traceback:
   File "game/script.rpy", line 366, in script
     while all_chars:
   File "E:\renpy-6.17.6-sdk\renpy\ast.py", line 1495, in execute
     if renpy.python.py_eval(self.condition):
   File "E:\renpy-6.17.6-sdk\renpy\python.py", line 1416, in py_eval
     return eval(py_compile(source, 'eval'), globals, locals)
   File "game/script.rpy", line 366, in <module>
     while all_chars:
 NameError: name 'all_chars' is not defined
 
 Windows-Vista-6.0.6002-SP2
 Ren'Py 6.17.7.521
 PyTFall 0.47 Alpha
 
 
 I'm sorry, but an uncaught exception occurred.
 
 While running game code:
   File "game/script.rpy", line 371, in script
     $ del all_chars
   File "game/script.rpy", line 371, in <module>
     $ del all_chars
 NameError: name 'all_chars' is not defined
 
 -- Full Traceback ------------------------------------------------------------
 
 Full traceback:
   File "game/script.rpy", line 371, in script
     $ del all_chars
   File "E:\renpy-6.17.6-sdk\renpy\ast.py", line 756, in execute
     renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
   File "E:\renpy-6.17.6-sdk\renpy\python.py", line 1382, in py_exec_bytecode
     exec bytecode in globals, locals
   File "game/script.rpy", line 371, in <module>
     $ del all_chars
 NameError: name 'all_chars' is not defined
 
 Windows-Vista-6.0.6002-SP2
 Ren'Py 6.17.7.521
 PyTFall 0.47 Alpha
 
 I'm sorry, but an uncaught exception occurred.
 
 While running game code:
   File "game/script.rpy", line 372, in script
     if girl_unique_label in globals():
   File "game/script.rpy", line 372, in <module>
     if girl_unique_label in globals():
 NameError: name 'girl_unique_label' is not defined
 
 -- Full Traceback ------------------------------------------------------------
 
 Full traceback:
   File "game/script.rpy", line 372, in script
     if girl_unique_label in globals():
   File "E:\renpy-6.17.6-sdk\renpy\ast.py", line 1545, in execute
     if renpy.python.py_eval(condition):
   File "E:\renpy-6.17.6-sdk\renpy\python.py", line 1416, in py_eval
     return eval(py_compile(source, 'eval'), globals, locals)
   File "game/script.rpy", line 372, in <module>
     if girl_unique_label in globals():
 NameError: name 'girl_unique_label' is not defined
 
 Windows-Vista-6.0.6002-SP2
 Ren'Py 6.17.7.521
 PyTFall 0.47 Alpha
 
 I'm sorry, but an uncaught exception occurred.
 
 While running game code:
   File "game/script.rpy", line 386, in script
     python:
   File "game/script.rpy", line 387, in <module>
     for i in char.values():
 NameError: name 'char' is not defined
 
 -- Full Traceback ------------------------------------------------------------
 
 Full traceback:
   File "game/script.rpy", line 386, in script
     python:
   File "E:\renpy-6.17.6-sdk\renpy\ast.py", line 756, in execute
     renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
   File "E:\renpy-6.17.6-sdk\renpy\python.py", line 1382, in py_exec_bytecode
     exec bytecode in globals, locals
   File "game/script.rpy", line 387, in <module>
     for i in char.values():
 NameError: name 'char' is not defined
 
 Windows-Vista-6.0.6002-SP2
 Ren'Py 6.17.7.521
 PyTFall 0.47 Alpha
 
 

Title: Re: General Discussion
Post by: Xela on September 01, 2014, 10:29:22 AM
My bad, I mean EE.
SE could use moar levels of complexity too though. I imagine a global map with regions highlighted in the same manner as locations in the city. Sometimes I wonder if hiring an inexpensive artist at devianart is the only way to get decent maps and bgs for rare locations...

But cheap maps would still be worse than Cartographer/Heroes of Might And Magic Editor. Or Civ Editor for that matter. We should also not loose sight of a fact that we're not making an exploration game and have multiple modules (thus not expected to go that far). I mean, we're not building up brothels like a sim city either...

If we really dig into what's available on the net, we can come up with a kickass system and pretty graphics but games like that take years to create... We'll never get anything else done.

**Next Nightly release of Ren'Py should fix all of the Drag&Drop bugs I spent hours reporting two days back. 6.17 can be used until official 6.18 release I think.
***It's been released couple of minutes ago.
Title: Re: General Discussion
Post by: Thewlis on September 01, 2014, 11:12:15 AM
@Xela
 
 The shit that pops up:

You don't have any girls installed in the folder it expects them to be in.

I don't even know how I explained it back then... Players are used to three by now, why change it...

2 hands and an orifice?

Klaus asked me how difficult it would be to add sets into the game. Meaning elven boots + elven gloves + elven armor = additional bonus.
I have items for several sets already, but I'm not sure that we should do it if it will be too much trouble.

Just have a function that runs whenever an item is equipped that checks if the new item belongs to a set, and if the character is wearing it. Have another function check if the item being removed also belongs to a set that was complete. Then just have them apply/remove the traits / effects / whatever.

Also currently I'm setting up ST to allow for the changing of current/min/max stats and adding/removing traits. Is there anything else we want them to possibly do?
Title: Re: General Discussion
Post by: Xela on September 01, 2014, 11:39:08 AM
2 hands and an orifice?

Nose-ring?

Just have a function that runs whenever an item is equipped that checks if the new item belongs to a set, and if the character is wearing it. Have another function check if the item being removed also belongs to a set that was complete. Then just have them apply/remove the traits / effects / whatever.

Yeap, if we do this, this should be added to the apply_stats methods.

Also currently I'm setting up ST to allow for the changing of current/min/max stats and adding/removing traits. Is there anything else we want them to possibly do?

Stats/Traits is all we have at the moment that defines a character... There should be an occupation setting as well, especially if you're going with my "flags/counters" based approach.
Title: Re: General Discussion
Post by: DarkTl on September 01, 2014, 11:49:22 PM
Stats/Traits is all we have at the moment that defines a character...
Base races too, theoretically. Json is already there, but not implemented yet.
Title: Re: General Discussion
Post by: Xela on September 02, 2014, 08:58:23 AM
Base races too, theoretically. Json is already there, but not implemented yet.

ST change a race?

=======================
I am going to see if I can put in some time into generalizing some graphics tonight, take a break from a FG a bit.

*Also I can confirm that every single Drag&Drop issue will be solved in 6.18! Also a bunch of screens work a lot better/faster :) I am still in process of getting rid of a bunch of my bad coding that breaks in 6.18 but that's almost done.
Title: Re: General Discussion
Post by: DarkTl on September 02, 2014, 09:20:26 AM
Shouldn't it be more difficult to train unusual races?
Title: Re: General Discussion
Post by: Xela on September 02, 2014, 09:25:47 AM
Shouldn't it be more difficult to train unusual races?

I don't think that's what Thewlis asked about, it's not what we change, it's what we check.
Title: Re: General Discussion
Post by: Gismo on September 02, 2014, 11:22:31 AM
I'm working on interface and ready to show my progress. This is not a finished work.
http://www.fileswap.com/dl/b6L0smwQKO/Elements.rar.html


Title: Re: General Discussion
Post by: Thewlis on September 02, 2014, 11:53:17 AM
Ended up deciding to place the actual training content in json files. Worked up an example for obedience training. All numbers were just made up, but the content is generally self-explanitary.

See the json's here. (http://pastebin.com/928eyLyi)

The only things that aren't obvious are that "reqs" are requirements that the girl must meet to take the training, if any. "hero" is the same but for the person training them.

Down at the bottom "rewards", "punishments" and the stats in "effects" can be set to "positive" or "negative" (or just ignored). This sets up diminishing/increasing effects to those stats based on how along the training the girl is.

For instance the obedience example is set up so at lower obedience the girl responds better to rewards at the start, but better to punishments at the end, with joy and disposition also being affected until they gain the "Broken" trait.
Title: Re: General Discussion
Post by: Xela on September 02, 2014, 12:31:15 PM
I'm working on interface and ready to show my progress. This is not a finished work.
http://www.fileswap.com/dl/b6L0smwQKO/Elements.rar.html

Looks great :)

...

JSON wouldn't be my first choice for this but it will work :)

You prolly want max: - 50 for the trait*
Title: Re: General Discussion
Post by: Thewlis on September 02, 2014, 12:52:48 PM
Well my main reason for putting it in json with parsers was that as traits and girls could be very easilly added, it would be best to allow for training to be easily added/changed as well in case anyone wanted to update them. Easier to change json then python at least.

Also had the benefit of me creating classes whose sole job is to parse then implement stat/trait/effect changes and requirements. I know that the stat changes in Traits currently just use loops in the apply / remove functions in the characters, but using the abstracted classes might be cleaner. I'll have to look later.
Title: Re: General Discussion
Post by: Xela on September 02, 2014, 04:21:15 PM
SF Updated:

- Fixed some old code that conflicted with 6.18
- Styled Wooden buttons
- Removed most Alkion "screen" buttons (now we use proper styles)
- Some code refactoring
- Some bugs fixed
- Killed PyTFall's confirm screen (in favor of Ren'Pys original)
Title: Re: General Discussion
Post by: DarkTl on September 03, 2014, 06:43:46 AM
Aaand out of nowhere I got rubella. Well done, immune system  ::)
That means less regular updates from me in the near future, can't be helped. Don't think that I'm dead unless I'll disappear for months.
Title: Re: General Discussion
Post by: Xela on September 03, 2014, 12:43:23 PM
Aaand out of nowhere I got rubella. Well done, immune system  ::)
That means less regular updates from me in the near future, can't be helped. Don't think that I'm dead unless I'll disappear for months.

Get better soon!

Wtf is with "month", it shouldn't be that serious...?
Title: Re: General Discussion
Post by: MrKlaus on September 03, 2014, 01:26:53 PM
Aaand out of nowhere I got rubella. Well done, immune system  ::)
That means less regular updates from me in the near future, can't be helped. Don't think that I'm dead unless I'll disappear for months.

 Get healthy soon!
 
 
 Btw. someone mentioned that there was a need for a background to diversified the exploring. The img comes from a browser game (game link: http://s1.mmrgame.com) that is dead for some time (developers don't do anything with it).
 
 
 explore map for the browser game:
(http://s1.mmrgame.com/img/adventure/main.jpg)

In game, the selected area highligts as is picked for the adventure.
Title: Re: General Discussion
Post by: CherryWood on September 03, 2014, 02:19:25 PM
In game, the selected area highligts as is picked for the adventure.
I like this. It has almost every possible terran in it, it could use the same selecting like the city and it looks like that guy is easilly erazable if needed. You have my vote  :)
Title: Re: General Discussion
Post by: sohz on September 03, 2014, 02:39:29 PM
http://img4.wikia.nocookie.net/__cb20140623010309/simcountry/images/3/38/Tridius_Wolfkehr_entering_Heipzig.jpg
http://hqwide.com/wallpapers/l/1920x1080/45/houses_fantasy_art_digital_artwork_medieval_portuguese_1920x1080_44575.jpg
http://www.iwallhd.com/stock/fantasy-land-city-building-top-background-high-definition-wallpapers.jpg
http://i479.photobucket.com/albums/rr152/0ohopeo0/wallpaper-Fantasy-Land-revoy.jpg
http://img-cache.cdn.gaiaonline.com/494b9dd6926e2611752c12bf0830f3be/http://i483.photobucket.com/albums/rr196/skyangel08/Fantasy/Fairylands20by20Jesper20Lund.jpg
http://imagizer.imageshack.us/a/img856/4906/rsfc.jpg
http://imagizer.imageshack.us/a/img837/1710/7c7x.jpg
http://imagizer.imageshack.us/a/img507/4063/lcbb.jpg
http://imagizer.imageshack.us/a/img69/447/qtch.jpg




they have good backgrounds pictures here:
https://warosu.org/tg/thread/26168900


here:
http://imgarcade.com/1/medieval-fantasy-city-art/


here:
https://www.iwakuroleplay.com/threads/essential-beings-ooc-closed-signups.45498/


dunno if that can help...
Title: Re: General Discussion
Post by: MrKlaus on September 03, 2014, 04:05:14 PM
I like this. It has almost every possible terran in it, it could use the same selecting like the city and it looks like that guy is easilly erazable if needed. You have my vote  :)

 We send fighters to the wild not trappers, so... maybe make him a guide? He's face isn't showed, so he could be anybody . Of course, the guide would be paid so here comes some exploration about exploration cost. He could be a member of some barbarian tribe, a scout in the guild service, some kind of information handler or a washed up adventurer that will point interesting spots for some gold he can spend at the bar.
 
Title: Re: General Discussion
Post by: pelusa1ca on September 03, 2014, 11:13:18 PM
Just a suggestion on the cost of exploration. Does not the player already pay wages and an upkeep cost? Seems simple to keep the costs as is than try to code more complicated mechanics...just a thought.

Respectfully submitted,

P
Title: Re: General Discussion
Post by: Xela on September 04, 2014, 05:10:27 AM
If you really want it, I'll code it in but you'd have to do the graphical work + I feel like we're overcomplicating it again. There is little in a sense of added gameplay value in adding that background to the game. Also if we add EE support later, we might want to have surrounding areas to the city and all that work might become obsolete.

*Odd, pictures for about half the girls are not loading on my ancient laptop... going to look into that tonight, may be some Windows Vista thing.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2014, 01:01:31 PM
I'm working on interface and ready to show my progress. This is not a finished work.
http://www.fileswap.com/dl/b6L0smwQKO/Elements.rar.html (http://www.fileswap.com/dl/b6L0smwQKO/Elements.rar.html)
This is awesome  :)

Wtf is with "month", it shouldn't be that serious...?
This is one of those diseases that are quite safe for children and terrible for adults. I was barely able to move for the last week. Current medicine cannot do much against viruses, so my body has to synthesize a cure by itself.

Ended up deciding to place the actual training content in json files. Worked up an example for obedience training. All numbers were just made up, but the content is generally self-explanitary.

The only things that aren't obvious are that "reqs" are requirements that the girl must meet to take the training, if any. "hero" is the same but for the person training them.
Let's see, girls can't really refuse to participate in some types of training (talking, forced actions, passive punishments), while others require cooperation.
Thus, talking should have very small effect on strong individuals, forced actions could hit joy, disposition, health, MC's morality when he'll have it, also they could require enough dungeon guards. As for others, I guess girl should have at least some obedience/not too high character already to follow at least some commands? Disposition could help here too if needed.

There is little in a sense of added gameplay value in adding that background to the game. Also if we add EE support later, we might want to have surrounding areas to the city and all that work might become obsolete.
Not gameplay, gui. Also, I imagine we can display various information about locations on the map.

But low resolution (800x500, c'mon guys) and general fading prevent me from voting for this specific one.
Title: Re: General Discussion
Post by: Xela on September 06, 2014, 02:05:40 PM
Small SF Update:

- Removed insane max mods from ultimate potions
- Fixed FG Training Job report (girl pics going out of bounds)
- Added Gismo's frame
- Moved top stripe to end of screens
- Minor code refactoring

*I'll be having a LOT less dev time in the following 3 month (RL stuff). Gismo can work on the interface, Thewlis on ST. FG needs content, ST will need content/balancing so there will be plenty to do anyways :)
Title: Re: General Discussion
Post by: Marquis on September 07, 2014, 10:07:42 AM
Do you think releasing another alpha soon would help? The last alpha (March IIRC) is much different than today's code so you're not leveraging anyone other than the few people on your team.
Title: Re: General Discussion
Post by: Xela on September 07, 2014, 10:41:41 AM
Help with what?

The trouble with releasing a new version is that I'd prefer to finalize tagging concept before that... but not even the concept has been finalized yet. Basically when you release an Alpha, people might expect to be forced into downloading all pics for the next version. When you release the game for the second time, it's a reasonable expectation from the users that they's only have to download code/core pics from that point on.

*Noticed a weird offset in girlequipment screen, might be 6.18 related again. Going to try to find out what goes wrong...
Title: Re: General Discussion
Post by: Xela on September 07, 2014, 04:10:40 PM
Small SF update:

*Added new buttons/styles (Gismos work again)
*Sorted buying spells by their price
*Fixed girls out of bounds frames
*Some minor fixes

(http://s30.postimg.org/o5s5bgh7x/screenshot0001.png) (http://postimg.org/image/o5s5bgh7x/) (http://s30.postimg.org/emighztpp/screenshot0002.png) (http://postimg.org/image/emighztpp/)
Title: Re: General Discussion
Post by: Xela on September 08, 2014, 03:45:47 PM
Another small update:

- Main city theme can now be changed from the main menu screen (small button in the left, bottom corner) *Game will remember the choice even after you close it/open again/reboot (writes to persistent).
- Loaded a lot of Gismos new graphics
- JSON files will now be loaded on entry to tagger software (no point in loading them on games start any longer)

(http://s22.postimg.org/bexrxyabx/screenshot0003.png) (http://postimg.org/image/bexrxyabx/) (http://s22.postimg.org/regfhi6dp/screenshot0004.png) (http://postimg.org/image/regfhi6dp/)

**I'd like to add that it's very beautiful and looks awesome in the game... Cheers to Gismo for the work done :)
Title: Re: General Discussion
Post by: Xela on September 10, 2014, 06:07:12 PM
- Fixed a bug where gift filter was availible during the items transfer.
- Some new interactions code layout code
- Fixed gifts during girlsmeets

(http://s30.postimg.org/fhfnsqezx/screenshot0004.jpg) (http://postimg.org/image/fhfnsqezx/)
Title: Re: General Discussion
Post by: DarkTl on September 11, 2014, 07:46:29 AM
I wonder where should I put AG3 lines about MC's and girl's common past, like "You used to tag along with me wherever I went when we were little.". For now I stack them into high disposition greeting lines, but maybe it would be better to create a new topic "about past" available only for girls with half-sister trait? Or to make it a part of "about her" topic?
What do you think?
Title: Re: General Discussion
Post by: Xela on September 11, 2014, 02:39:00 PM
I wonder where should I put AG3 lines about MC's and girl's common past, like "You used to tag along with me wherever I went when we were little.". For now I stack them into high disposition greeting lines, but maybe it would be better to create a new topic "about past" available only for girls with half-sister trait? Or to make it a part of "about her" topic?
What do you think?

About her sounds like a good bet! This also sounds like unique stuff... not generic.

Update (done by Gismo, he's still figuring out Mercurial)
- Fixed broken pref theme
- Added Gismos new work
- New chat button
- New font

(http://s24.postimg.org/5pwnh9ng1/9_11_2014_9_35_16_PM.jpg) (http://postimg.org/image/5pwnh9ng1/)
Title: Re: General Discussion
Post by: laposteb on September 11, 2014, 04:29:14 PM
Realy nice  ;)
Title: Re: General Discussion
Post by: cursed on September 12, 2014, 06:06:01 AM
hi , i don't really know if this is where i can ask a question like this , but i read that you keep making new updates , where can i download them ?
Title: Re: General Discussion
Post by: DarkTl on September 12, 2014, 06:54:44 AM
About her sounds like a good bet!
Ok. I'm waiting for randomising function, without it girlsmeets cannot be completed properly.

To clarify again, I'm talking about function that gives random reply like $rc, but uses several lists depending on existing traits.
Something like tr(trait1:(reply1, reply2), trait2:(reply1, reply2), ... , traitN(reply1, reply2)). So it randomly selects a trait for a start (if a girl has it), and then selects a reply. I'm not sure what to do if non of the traits exist though. Then again, I can use ct every time to make sure that at least one trait exists.
Title: Re: General Discussion
Post by: CherryWood on September 12, 2014, 10:17:14 AM

It seems that this "about her" label got broken by some automatic "rc" replacement or something. I'll push a fix.
Title: Re: General Discussion
Post by: DarkTl on September 12, 2014, 11:35:33 AM
Don't worry, I'll test everything before the final push. You could say that currently girlsmeets are under maintenance.
Title: Re: General Discussion
Post by: pelusa1ca on September 12, 2014, 12:48:51 PM
About her sounds like a good bet! This also sounds like unique stuff... not generic.

Update (done by Gismo, he's still figuring out Mercurial)
- Fixed broken pref theme
- Added Gismos new work
- New chat button
- New font

(http://s24.postimg.org/5pwnh9ng1/9_11_2014_9_35_16_PM.jpg) (http://postimg.org/image/5pwnh9ng1/)

Looks just great.

P
Title: Re: General Discussion
Post by: Xela on September 12, 2014, 02:52:14 PM
Ok. I'm waiting for randomising function, without it girlsmeets cannot be completed properly.

To clarify again, I'm talking about function that gives random reply like $rc, but uses several lists depending on existing traits.
Something like tr(trait1:(reply1, reply2), trait2:(reply1, reply2), ... , traitN(reply1, reply2)). So it randomly selects a trait for a start (if a girl has it), and then selects a reply. I'm not sure what to do if non of the traits exist though. Then again, I can use ct every time to make sure that at least one trait exists.

Bit awkward but this should work, you can use almost any conditioning (function will detect traits, if not a trait, expression will be evaluated).

Example:

Code: [Select]
    if not ec({"Aggressive": ("Aggressive Girl!", "Girl that is Aggressive!"),
             "'Aggressive' in chr.traits and chr.disposition > -500": ["Aggressive Girl that doesn't think that you're a complete shit!"]}):
        g "Some default reply..."

hi , i don't really know if this is where i can ask a question like this , but i read that you keep making new updates , where can i download them ?

Development updates...

There is no way in hell I have time to release a new version in the next few month :( Unless Thewlis/Dark/CW want to take care of that, you'll have to wait until better times.

======================================
I'll be very busy (even more than now) starting Monday so if there are any code related questions, you'll be better of asking Thewlis when he checks in. Game is in a very good shape atm so you can add content and maybe work on tags a bit when living finishes the new tagger.
Title: Re: General Discussion
Post by: cursed on September 12, 2014, 02:55:24 PM
okey thanks for the reply , and good luck with the busy stuff :)
Title: Re: General Discussion
Post by: Thewlis on September 12, 2014, 03:37:38 PM
Would this (http://pastebin.com/rHt6tbu7) work?
Title: Re: General Discussion
Post by: Xela on September 12, 2014, 04:33:30 PM
Would this (http://pastebin.com/rHt6tbu7) work?

Puuuurfect! (I just changed len(l) == 0 to not l).

Example:

Code: [Select]
    $ line = rts(chr, {"Smart": ["Smart Girl!", "Girl that is Smart !"],
                              "'Smart' in chr.traits and chr.disposition > -500": ["Smart Girl that doesn't think that you're a complete shit!"],
                              "default": ["Meow"]})
    g "[line]"
   
If no default is specified and all traits/conditions fail, you can check and use other lines/labels/functions.

Code: [Select]
    if not line:
        "Do something else"

Pushed to SF as well.
Title: Re: General Discussion
Post by: Xela on September 13, 2014, 06:38:47 AM
**Ren'Py version 6.18 has been officially released and I've been updating PyTFall's code for the past month so there are no errors in it. There are a bunch of improvements in it such as self-voicing, screen language update, force-recompile button (create new .rpyc files) and so on.

One of the most notable changes at the moment is the dissolve transition when clicking next day from the next day summary screen and no delays when clicking through the gallery picture really fast.
Title: Re: General Discussion
Post by: DarkTl on September 14, 2014, 10:51:42 AM
Ok, to clarify, interact_interest label without dozens of dices could look like
Quote
    $ line = rts(chr, {ct("Dandere"): ["I sleep on my days off. ...Is that bad?"],
                              ct("Dawdler"): ["I spend my days just lying around. Isn't there anything to do around here?", "I like beach sports, y'know? Just watching, though."],
                               co("Prostitute"): ["Finding the best ways to please men.", "Trying to find someone who'd try interesting positions, if you know what I mean."],
                              "default": ["Nothing special, really."]})
    g "[line]"
Am I right?
Title: Re: General Discussion
Post by: Xela on September 14, 2014, 11:37:53 AM
Am I right?

Loose the ct everywhere... Either JUST the trait name OR "ct('Dandere')" for the evaluation but the latter is useless.

My function will result in a line of one is available, Thewlis's rts will require g "[line]" to show the text. I think we should use rts here (far better Python and is reusable elsewhere) and kill my function.

Edit:
*I missed use of co()

Either:

"co('Prostitute')": [*lines] or "chr.occupation == 'Prostitute'": [*lines]
Title: Re: General Discussion
Post by: livingforever on September 14, 2014, 12:46:08 PM
Hey everyone!
A few comments on a few things.

The tagger is progressing, I will not give an ETA yet though. But you guys are allowed to discuss the tags here (http://www.pinkpetal.org/index.php?topic=1895.0). Especially the slave training tags and maybe (I'd say eventually) tags for other character genders need to be taken care of.

I also want to leave my opinion on the new interface components. I do like Gismo's design, it's consistent yet the elements are diverse enough to be interesting. There are two problems (from a web designers point of view): The backgrounds and the fonts.
Note: I'm referring to this (http://postimg.org/image/emighztpp/), this (http://postimg.org/image/bexrxyabx/) and this (http://postimg.org/image/5pwnh9ng1/) picture posted earlier.

The background art is drawing way too much attention (on both the talk panel and the buttons). To fix this, contrast and saturation for the flower patterns need to be turned down significantly.
The fonts are styled more than desirable and there are too many different fonts. The second problem is simple: Settle with a maximum of three fonts: Navigation elements, text and titles. Note that titles don't necessarily need an own font.
Navigation elements (e.g. the buttons on the talk panel) should have a simple, sans serif font without effects that is very easy to read. The spacing may be a bit wider than usual.
Titles (e.g. the buttons on the main page) should also be sans serif, but it may be ornamental. The spacing should be wider than usual, depending on the font. Lining numbers are desirable, effects are optional. Optionally, the navigation element font can be used if you do not want an ornamental font.
The font for text can be sans serif, but most prefer serif fonts for continuous texts. It should be proportional, the numbers may be non-lining and it musn't be ornamental. Normal spacing is preferable, no effects should be used.
Have fun!
Title: Re: General Discussion
Post by: Xela on September 14, 2014, 01:55:09 PM
Hey everyone!
A few comments on a few things.

The tagger is progressing, I will not give an ETA yet though. But you guys are allowed to discuss the tags here (http://www.pinkpetal.org/index.php?topic=1895.0). Especially the slave training tags and maybe (I'd say eventually) tags for other character genders need to be taken care of.

I also want to leave my opinion on the new interface components. I do like Gismo's design, it's consistent yet the elements are diverse enough to be interesting. There are two problems (from a web designers point of view): The backgrounds and the fonts.
Note: I'm referring to this (http://postimg.org/image/emighztpp/), this (http://postimg.org/image/bexrxyabx/) and this (http://postimg.org/image/5pwnh9ng1/) picture posted earlier.

The background art is drawing way too much attention (on both the talk panel and the buttons). To fix this, contrast and saturation for the flower patterns need to be turned down significantly.
The fonts are styled more than desirable and there are too many different fonts. The second problem is simple: Settle with a maximum of three fonts: Navigation elements, text and titles. Note that titles don't necessarily need an own font.
Navigation elements (e.g. the buttons on the talk panel) should have a simple, sans serif font without effects that is very easy to read. The spacing may be a bit wider than usual.
Titles (e.g. the buttons on the main page) should also be sans serif, but it may be ornamental. The spacing should be wider than usual, depending on the font. Lining numbers are desirable, effects are optional. Optionally, the navigation element font can be used if you do not want an ornamental font.
The font for text can be sans serif, but most prefer serif fonts for continuous texts. It should be proportional, the numbers may be non-lining and it musn't be ornamental. Normal spacing is preferable, no effects should be used.
Have fun!

I agree with everything save the backgrounds saturation (kinda like them standing-out). We need to reduce amount of fonts to 2 - 3 (maybe go crazy with 4) without any doubt.

We didn't expect graphics to come in so soon... original plan was to finish all major modules, finalize some content and try to design interface afterwards. There was no consistency before Gismo because we just threw together any resources we could find to have examples and options when we reach a more or less finalized version.

I too really like Gismo's work with consistency and diversity in one basket :) He's working on new calendar/main buttons frame right now that look pretty damn awesome.
Title: Re: General Discussion
Post by: Thewlis on September 14, 2014, 03:52:13 PM
Somethings either wrong with the styles, or in my copy as the girl assign screen no longer works at all.

Code: [Select]
I'm sorry, but an uncaught exception occurred.

While processing the xysize property of anonymous style:
  File "game/library/screens/pyt - screens - girlassign.rpy", line 8, in script
    with dissolve
TypeError: 'int' object has no attribute '__getitem__'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/library/screens/pyt - screens - girlassign.rpy", line 8, in script
    with dissolve
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\ast.py", line 1222, in execute
    renpy.exports.with_statement(trans, paired)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\exports.py", line 1222, in with_statement
    return renpy.game.interface.do_with(trans, paired, clear=clear)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 1806, in do_with
    clear=clear)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 2145, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 2393, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\screen.py", line 386, in visit_all
    self.child.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 332, in visit_all
    for d in self.visit():
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\layout.py", line 909, in visit
    return [ self.style.background ] + self.children
  File "styleproperties.pxi", line 3663, in renpy.styleclass.Style.background.__get__ (gen\renpy.styleclass.c:158664)
  File "style.pyx", line 456, in renpy.style.StyleCore._get (gen\renpy.style.c:6189)
  File "style.pyx", line 652, in renpy.style.build_style (gen\renpy.style.c:8651)
  File "style.pyx", line 649, in renpy.style.build_style (gen\renpy.style.c:8572)
  File "stylepropertyfunctions.pxi", line 8306, in renpy.styleclass.xysize_property (gen\renpy.styleclass.c:65528)
  File "styleclass.pyx", line 77, in renpy.styleclass.index_0 (gen\renpy.styleclass.c:8542)
TypeError: 'int' object has no attribute '__getitem__'

Windows-7-6.1.7601-SP1
Ren'Py 6.18.0.635
PyTFall 0.47 Alpha
Title: Re: General Discussion
Post by: livingforever on September 14, 2014, 04:13:13 PM
I agree with everything save the backgrounds saturation (kinda like them standing-out).
That's an antithesis. The background musn't stand out, that's in its name (for a reason). While it might look fancy, it will get more annoying the longer you have to look at it.

We didn't expect graphics to come in so soon... original plan was to finish all major modules, finalize some content and try to design interface afterwards. There was no consistency before Gismo because we just threw together any resources we could find to have examples and options when we reach a more or less finalized version.
Yeah, I figured that, that's why I didn't complain earlier  :D .
Have fun!
Title: Re: General Discussion
Post by: Xela on September 14, 2014, 04:27:53 PM
Somethings either wrong with the styles, or in my copy as the girl assign screen no longer works at all.

Code: [Select]
I'm sorry, but an uncaught exception occurred.

While processing the xysize property of anonymous style:
  File "game/library/screens/pyt - screens - girlassign.rpy", line 8, in script
    with dissolve
TypeError: 'int' object has no attribute '__getitem__'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/library/screens/pyt - screens - girlassign.rpy", line 8, in script
    with dissolve
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\ast.py", line 1222, in execute
    renpy.exports.with_statement(trans, paired)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\exports.py", line 1222, in with_statement
    return renpy.game.interface.do_with(trans, paired, clear=clear)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 1806, in do_with
    clear=clear)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 2145, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 2393, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\screen.py", line 386, in visit_all
    self.child.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 335, in visit_all
    d.visit_all(callback)
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\core.py", line 332, in visit_all
    for d in self.visit():
  File "C:\Program Files (x86)\Renpy\renpy-6.15.7-sdk\renpy\display\layout.py", line 909, in visit
    return [ self.style.background ] + self.children
  File "styleproperties.pxi", line 3663, in renpy.styleclass.Style.background.__get__ (gen\renpy.styleclass.c:158664)
  File "style.pyx", line 456, in renpy.style.StyleCore._get (gen\renpy.style.c:6189)
  File "style.pyx", line 652, in renpy.style.build_style (gen\renpy.style.c:8651)
  File "style.pyx", line 649, in renpy.style.build_style (gen\renpy.style.c:8572)
  File "stylepropertyfunctions.pxi", line 8306, in renpy.styleclass.xysize_property (gen\renpy.styleclass.c:65528)
  File "styleclass.pyx", line 77, in renpy.styleclass.index_0 (gen\renpy.styleclass.c:8542)
TypeError: 'int' object has no attribute '__getitem__'

Windows-7-6.1.7601-SP1
Ren'Py 6.18.0.635
PyTFall 0.47 Alpha

You can assign from girlslist screen. I will take a look at it tomorrow if time allows.

===================================
This is is now fixed, there seems to be a weird "error" in the reporting with 6.18, instead of pointing out the line, it just states xysize error "somewhere" in the code.

(xysize 1280 instead of xysize (1280, 122))

**We might get rid of that screen, with dropdown windows, it seems really redundant...
Title: Re: General Discussion
Post by: DarkTl on September 15, 2014, 11:33:47 AM
Pushed moar lines, AG3 is finished, now I'm working with remaining AA lines, the end is near. Also added half-sister trait.
Once again, girlsmeets are under maintenance, I only make sure that the game doesn't crash before pushing, so testing is mostly pointless at this point.

It seems that this "about her" label got broken by some automatic "rc" replacement or something. I'll push a fix.
I don't have any problems with rc instead of choice. Could you be more specific? The game doesn't crash or something, and rc returns a random reply too.
Title: Re: General Discussion
Post by: Xela on September 15, 2014, 02:14:18 PM
moar lines

moar is gut!

I've officially killed girlsassign screen in dev mode and it''s buried for good if noone complains about it.

Now girl can be assigned to a building/task through the buttons in her info (with green markers to indicate buttons) (or girlslists just like before). The main girl image can now be clicked to interact. Everything is tooltiped.

(http://s17.postimg.org/e4ks9k7sb/2014_09_15_20_59_57.jpg) (http://postimg.org/image/e4ks9k7sb/)
Title: Re: General Discussion
Post by: CherryWood on September 15, 2014, 04:13:03 PM
I don't have any problems with rc instead of choice. Could you be more specific? The game doesn't crash or something, and rc returns a random reply too.
If you use the "rc" code and just ask any girl for "about her" option, she give you one response on every trait she have instead of just one random answer.

I actually find it really strange that the game doesn't crash with rc in about her label  :) 
It's supposed to create a list with randomly selected strings.
Code: [Select]
$gm_abouther_bisexual = (choice(["In love, gender makes no difference..."]))and then use "g" to convert it into renpy.say once at the end
Code: [Select]
$g(choice(gm_abouther_list))

But with using "rc" the way it was
Code: [Select]
$gm_abouther_bisexual = rc("In love, gender makes no difference...")instead on adding just a one string you are calling the whole renpy.say funtion in every "if" check which totally kills the point of building a list (the label was even missing the part where you use that list)


why to change things that are were working fine anyway?
Title: Re: General Discussion
Post by: Gismo on September 15, 2014, 05:48:40 PM
Well, here is interface update:


- New patterns for main menu and main screen buttons
- New Font
- Remake bright town map
- New calendar and main buttons frame
- Some interaction chat frame fixes

(http://s30.postimg.org/xghmowmnh/2014_09_16_00_12_15.png) (http://postimg.org/image/xghmowmnh/)


(http://s30.postimg.org/7m7tz4mnh/2014_09_16_00_13_41.png) (http://postimg.org/image/7m7tz4mnh/)


(http://s30.postimg.org/3r4fwk3hp/2014_09_16_00_13_58.png) (http://postimg.org/image/3r4fwk3hp/)


(http://s30.postimg.org/q4c6jd4fh/2014_09_16_00_15_42.png) (http://postimg.org/image/q4c6jd4fh/)
Title: Re: General Discussion
Post by: Xela on September 16, 2014, 12:47:26 AM
Well, here is interface update:


- New patterns for main menu and main screen buttons
- New Font
- Remake bright town map
- New calendar and main buttons frame
- Some interaction chat frame fixes

(http://s30.postimg.org/xghmowmnh/2014_09_16_00_12_15.png) (http://postimg.org/image/xghmowmnh/)


(http://s30.postimg.org/7m7tz4mnh/2014_09_16_00_13_41.png) (http://postimg.org/image/7m7tz4mnh/)


(http://s30.postimg.org/3r4fwk3hp/2014_09_16_00_13_58.png) (http://postimg.org/image/3r4fwk3hp/)


(http://s30.postimg.org/q4c6jd4fh/2014_09_16_00_15_42.png) (http://postimg.org/image/q4c6jd4fh/)

Looks awesome :)
Title: Re: General Discussion
Post by: DarkTl on September 16, 2014, 06:29:35 AM
why to change things that are were working fine anyway?
Because I did it via autoreplacement in order to make the file more clear for players, ie have one function instead of two. Ok, I'll change it back for this label.
Title: Re: General Discussion
Post by: Xela on September 17, 2014, 02:07:48 AM
Because I did it via autoreplacement in order to make the file more clear for players, ie have one function instead of two. Ok, I'll change it back for this label.

I need to take a look at what you're doing with girlsmeets :) I've been only checking on Gismo's graphics lately...
Title: Re: General Discussion
Post by: Gismo on September 17, 2014, 08:48:51 AM
Done with mainscreen interface elements:


- 2 new mainscreen frames
- New size for buttons 200x60
- Add Journal icon


(http://s16.postimg.org/5i5xxv001/2014_09_17_08_14_47.jpg) (http://postimg.org/image/5i5xxv001/)
Title: Re: General Discussion
Post by: DarkTl on September 17, 2014, 01:24:23 PM
I need to take a look at what you're doing with girlsmeets
I'm gathering lines. I'll let you know when I'll actually change its structure (I will very soon).

Done with mainscreen interface elements:
Cool icons btw. Finally we got rid of those confusing text buttons.
Title: Re: General Discussion
Post by: Xela on September 17, 2014, 02:00:33 PM
I'm gathering lines. I'll let you know when I'll actually change its structure (I will very soon).

Structure as in buttons/grouping? We'll prolly recode the system at some point but content labels will stay the same. Also we should look into merging some content with interactions so there is no need to repeat stuff twice.

(calling some content labels)

In Ren'Py it's possible to call a label and return to where you came from using call command so same lines can be triggered from different ends.

Cool icons btw. Finally we got rid of those confusing text buttons.

Goes without saying, new graphics are great (and they're actually graphics for a change :D )
Title: Re: General Discussion
Post by: Thewlis on September 17, 2014, 05:12:32 PM
I'm having some difficulty adapting part of the current job code for ST.

Basically each current job class has a line something like this:
Code: [Select]
self.img = self.girl.show("tag1", "tagN")
What I've got is this:
Code: [Select]
self.img = self.course.get_image(self.girl)
# --------
def get_image(self, girl, **kwargs):
    kwargs[self.imageMode] = True # normal, any, etc
    if self.noImageTags: kwargs["exclude"] = self.noImageTags
   
    if self.imageTags:
        if girl.has_image(*self.imageTags, **kwargs): return girl.show(*self.imageTags, **kwargs)
   
    # Fallback
    return girl.show("profile", "happy", **kwargs)

The function is just abstraction to allow for only 1 img assignment while having each course have different image tags.
The problem is that the job reports will sometimes have images from different girls, which makes no sense as I've copied the actual get image call from the other jobs and they aren't doing anything of the sort.
Title: Re: General Discussion
Post by: DarkTl on September 18, 2014, 06:19:44 AM
I have some ideas for girlsmeets, but they depend on how many lines I'll find/come up with. As for interactions, we could use some labels from girlsmeets there as well, but for many options that don't have a label we could use AA2 approach, ie description of the conversation rather than girl's direct quote.
Title: Re: General Discussion
Post by: Xela on September 18, 2014, 06:50:32 AM
Code: [Select]
    kwargs[self.imageMode] = True # normal, any, etc

I am not sure what this does without looking at code but show method is not very likely to mess tags up. Is it possible that not the right girl is being parsed to the method itself (girl)?

You can write new job classes for the ST, just like I did for the Simulated Exploration if you like.

*Edit: Check the devlog, maybe something useful is reported there.
Title: Re: General Discussion
Post by: Thewlis on September 18, 2014, 12:27:20 PM
I am not sure what this does without looking at code but show method is not very likely to mess tags up. Is it possible that not the right girl is being parsed to the method itself (girl)?
Yeah, that was wrong, I fixed it but the problem persists, it should be:
Code: [Select]
kwargs["type"] = self.imageModeIt was just a way of setting type="any", or type="first_default" or what have you.

You can write new job classes for the ST, just like I did for the Simulated Exploration if you like.

*Edit: Check the devlog, maybe something useful is reported there.
It is in a custom job. I made 3 TrainingJob (for the actual girl, replaces SchoolJob compeltely), TrainerJob (for the character training) and SchoolGuardJob (for the guards).

Only TrainingJob has the problem, and as far as I can tell thats because the other 2 don't set img, it leaves it blank and allows the Event instance to pull up the fallback profile image.


EDIT:
Yeah I'm dumb. The call to get_image passed "girl" instead of "self.girl" so it used the last character to be set to the global girl variable instead of the girl assigned to itself. As girl existed it didn't throw any errors through the process as the images were always available. Now that this is fixed I should have the alpha ST pushed today.
Title: Re: General Discussion
Post by: Xela on September 18, 2014, 01:02:46 PM
Now that this is fixed I should have the alpha ST pushed today.

Awesome! I wont get the chance to check it out tonight... also wondering where lamoli gone to, he was very exited about adding ST :)

It is in a custom job. I made 3 TrainingJob (for the actual girl, replaces SchoolJob compeltely)

Did you modernize school? Code was superold (one of the first things that I've ever coded...).
Title: Re: General Discussion
Post by: Thewlis on September 18, 2014, 02:58:19 PM
Yeah I looked at how SchoolJob and School worked, then used that as the basis for the whole training system. Training and Schooling now use the same systems and got a bit of an update.

Also Brothels got an update in the process as well. I created a new class between Building and Brothel called UpgradableBuilding then had the TrainingDungeon extend off of that as well. Simplifies the upgrading of buildings a bit as they now work through extension. Might have made the brothels list in the Player class defunct as the upgrade screen now pulls off of "[b for b in hero.buildings if isinstance(b, UpgradableBuilding)]" instead of "hero.brothels".
Title: Re: General Discussion
Post by: Xela on September 18, 2014, 03:19:12 PM
Sounds great! I'll take a look at it when I have some free time. 
Title: Re: General Discussion
Post by: Thewlis on September 18, 2014, 04:01:28 PM
Right, I'm pushing it now. I'm gonna post in the Game Design section about what's actually in and how it all works.
Title: Re: General Discussion
Post by: CherryWood on September 19, 2014, 04:26:35 AM
Are you sure of getting rid of this awesome background (http://img24.cz/images/39363948643377021247_thumb.jpg) (http://img24.cz/viewer.php?file=39363948643377021247.jpg) in favor of that space whatever-thing?  :(
Title: Re: General Discussion
Post by: Gismo on September 19, 2014, 06:00:28 AM
It's my fault, forgot to change back when push first update )
Title: Re: General Discussion
Post by: Xela on September 19, 2014, 07:10:07 AM
Right, I'm pushing it now. I'm gonna post in the Game Design section about what's actually in and how it all works.

Some items transfer code seem to have vanished (at least partly *prolly just rushed merging with new code and picked "auto-fix errors with mercurial"). I'll take a look at the whole thing as time permits, new school logic looks great.

I tried training (for like 5 mins) but got some minor errors.

Are you sure of getting rid of this awesome background (http://img24.cz/images/39363948643377021247_thumb.jpg) (http://img24.cz/viewer.php?file=39363948643377021247.jpg) in favor of that space whatever-thing?  :(

You know me nad space stuff  ::) so I didn't complain. But that was a nice background that is worth keeping for some screens.
Title: Re: General Discussion
Post by: Thewlis on September 19, 2014, 09:31:49 AM
Some items transfer code seem to have vanished (at least partly *prolly just rushed merging with new code and picked "auto-fix errors with mercurial"). I'll take a look at the whole thing as time permits, new school logic looks great.
Damn, I tried so hard to avoid that. I'm sure I used the kdiff3 thing for every conflict  :(

I tried training (for like 5 mins) but got some minor errors.
Ha, I'm always bad at testing things. Send me the error logs or tell me what happened and I'll take a look at it. I held no belief that it was all going to work ok anyway.
Title: Re: General Discussion
Post by: Xela on September 19, 2014, 11:51:23 AM
Damn, I tried so hard to avoid that. I'm sure I used the kdiff3 thing for every conflict  :(

(auto-merge used by me)

I'll try to revert back and see what's what.

Ha, I'm always bad at testing things. Send me the error logs or tell me what happened and I'll take a look at it. I held no belief that it was all going to work ok anyway.

Just added a slave girl to the dungeons and clicked next day. None doesn't have endswith method was the error (action set to None and code tried to get actions ending with Course).
Title: Re: General Discussion
Post by: Thewlis on September 19, 2014, 11:59:20 AM
Ah, I fiddled with the get_girls function in buildings. It can accept an argument now, so instead of:
Code: [Select]
[g for g in building.get_girls() if g.action == "Guard"]
we can simply call:
Code: [Select]
get_girls("Guard")
Was designed to be backwards compatible so passing no argument returns the entire list.

If you pass "Course" to the function it looks for every girl taking a training course, as their action would be "XXX Course" for example. I simply forgot it was possible to assign a girl to a building without an action. I'll push a fix in the next hour or so.
Title: Re: General Discussion
Post by: Xela on September 19, 2014, 03:58:23 PM
Damn, I tried so hard to avoid that. I'm sure I used the kdiff3 thing for every conflict  :(

Nothing got broken and best I can tell you didn't change any of the items code. I think you changing some girls to slaves simply revealed previosuly uncaught error.

Title: Re: General Discussion
Post by: Thewlis on September 19, 2014, 05:45:02 PM
Ah, fair enough. Needed to check that it was restricting course types.
Title: Re: General Discussion
Post by: CherryWood on September 20, 2014, 07:14:13 AM
Can some of you please explain the custom event conditioning to me?


I want to create event with a trigger other then "look around" or "auto", for example a location with "Stay" button with it's own "Stay" events. How to do that? I don't understand it from the comments in event class.
Title: Re: General Discussion
Post by: Xela on September 20, 2014, 08:05:58 AM
Can some of you please explain the custom event conditioning to me?


I want to create event with a trigger other then "look around" or "auto", for example a location with "Stay" button with it's own "Stay" events. How to do that? I don't understand it from the comments in event class.

Creating new event triggers might be a bit tricky (required adding code to event classes).

I think there is a bunch of ways to do what you want with auto trigger:

In the menu with buttons (look around/meet girls etc.) add:

if hasattr(store, "show_my_event_button"):

or

if global_flags.flag("my_event_flag"):
    textbutton "Stay":
        #.......

Then create an event that just sets the flag or variable. Button will be displayed until clicked (you can do what you want with the flag/variable in label where the button leads).

Or you can simply condition the button itself as you see fit, not using the event system at all or create a quest using code by Thewlis. If you do it with event, you can create a label event to remove the button next day/next time the screen is visited, the are examples of that in the frog event.
Title: Re: General Discussion
Post by: CherryWood on September 20, 2014, 08:45:34 AM
I was thinking that event system may be good for most stable options like, for example "go swimming" on the beach or "stay" in the tavern, that will always display some regular result (created as event with dice 100 and priority=1) but will be easily expandable with more events (with priority >1) by anyone on top of that, using just one system (event class)
Title: Re: General Discussion
Post by: Xela on September 20, 2014, 10:04:43 AM
I was thinking that event system may be good for most stable options like, for example "go swimming" on the beach or "stay" in the tavern, that will always display some regular result (created as event with dice 100 and priority=1) but will be easily expandable with more events (with priority >1) by anyone on top of that, using just one system (event class)

Lets call those "Actions" and they are really missing from the game... like going to the beach with a girls on your team or going to cafe. Events system is not exactly built to cover that + actions are prolly all diffrent from one another so we might manage without a python class/complex trigger logic.

(event being something that happens to player while action is driven by player)

How about a drop-down (or up) screen with choices of different actions, very similary to how jobs are made? Can be easiely customized for every screen and stuff...?

Edit: By "jobs" I meant work in Arena/SM. Work could be one of the actions.
Title: Re: General Discussion
Post by: Thewlis on September 20, 2014, 12:48:16 PM
TBH it wouldn't be too hard to set up a dynamic action list for locations. Just a simple store of location->(button_text, action_name, default_label) that populates on each screen based on a sub-screen. Adapting the events to trigger on the different actions wouldn't be too hard then... I'll see if I can easily come up with a way to do so that wouldn't change too much / be hard to use.
Title: Re: General Discussion
Post by: Thewlis on September 20, 2014, 02:01:42 PM
I've got a working mock up for custom location actions if we want them.

Currently in the label for the locations, before we show the location-specific screen we put:
Code: [Select]
# If we have no actions
    python:
        if pytfall.world_actions.location("city_beach"):
            pytfall.world_actions.meet_girls()
            pytfall.world_actions.look_around()
            pytfall.world_actions.add("Sunbathe", "sunbathe")
            pytfall.world_actions.finish()

Which creates the actions for the location. The location() function either returns False if the location is already set up, or True and creates a set list of actions for it.

These functions create controls there were considered general enough to have a ease-of-use function:
meet_girls() creates the normal Meet Girls button.
look_around() creates the normal Look Around button.
slave_market() creates the Go Shopping slave market button.
work(flag=None) creates the Work button.

add() adds a new action button, with the arguments:

In the actual screen we put:
Code: [Select]
use location_actions(pytfall.world_actions("location name")
Which simply adds a vbox that loops through the available actions and adds a textbutton for them. Actions are only added if they have a default label or at least 1 action in the WorldEventsManager.label_cache that uses its action as a trigger if they are an event trigger, else checks its flag.

The WorldEventsManager.run_events() function has been modified to accept "default=None" and "cost=0" arguments as well, so the run_events("auto") calls don't need to be updated.
Title: Re: General Discussion
Post by: DarkTl on September 20, 2014, 02:18:58 PM
Done with AA, another push. I used our new rts function for interest label, works flawlessly. I will add more lines later where they are needed.

Now, what can I say about girlsmeets:
- All girlsmeets options should be available from interactions menu, at least temporarily and/or in dev mode. Because it's kinda hard to test some options when you have to look for specific girl at first.
- Compliments and insults should be processed differently, but have same replies. Ie dumb/boring/ugly success should depend on girl's stats, for example int/character/charisma, but return the same type of replies. I guess I should use jump option for replies, but I need opinions about stats.
For example, let's take stupid insult. Should it be more effective on a smart girl (because she is proud of her intelligence) or on a silly girl (because she knows that it's actually true)?
- Don't mind date labels. It's just some lines that could be useful in the future.
- We already could use friend and lover statuses, even if they won't do anything for now. I added lines for both propositions and greetings for lover status.
Title: Re: General Discussion
Post by: CherryWood on September 20, 2014, 03:25:49 PM
Added tavern location. But it's empty and meaningless now, because I don't have any quest ready yet and I couldn't figure anything useful for MC to do there that's not just a total waste of time and money with nothing gained  :)   


/I'll try to work on my missing item descriptions now.
Title: Re: General Discussion
Post by: Xela on September 20, 2014, 04:16:33 PM
Done with AA, another push. I used our new rts function for interest label, works flawlessly. I will add more lines later where they are needed.

Now, what can I say about girlsmeets:
- All girlsmeets options should be available from interactions menu, at least temporarily and/or in dev mode. Because it's kinda hard to test some options when you have to look for specific girl at first.
- Compliments and insults should be processed differently, but have same replies. Ie dumb/boring/ugly success should depend on girl's stats, for example int/character/charisma, but return the same type of replies. I guess I should use jump option for replies, but I need opinions about stats.
For example, let's take stupid insult. Should it be more effective on a smart girl (because she is proud of her intelligence) or on a silly girl (because she knows that it's actually true)?
- Don't mind date labels. It's just some lines that could be useful in the future.
- We already could use friend and lover statuses, even if they won't do anything for now. I added lines for both propositions and greetings for lover status.

How should "All options availible" look like? You can add them as menu choices just by looking at code yourself, it's basically just jumps to girlsmeets labels. We could create "body" labels with texts and call them from iteractions labels and girlsmeets labels as required, maybe even with different intos. If you can describe how you want to do it, Thewlis or I can fix something up (that code should be very easy to understand).

I don't know if we should add complex behaviour/responses like different behavior on isults for later (after next release)?

As for friend/lover status, you need graphical representation in the profile? If not, you can just set flags and check agaist them:

$ chr.set_flag("lover")

if chr.flag("lover"):
    # responce
============================

Added tavern location. But it's empty and meaningless now, because I don't have any quest ready yet and I couldn't figure anything useful for MC to do there that's not just a total waste of time and money with nothing gained  :)   

I am trying to pull that right now :) Some events and maybe even a purpose and tavern will be lovely!
Title: Re: General Discussion
Post by: DarkTl on September 20, 2014, 04:26:43 PM
I don't know if we should add complex behaviour/responses like different behavior on isults for later (after next release)?
It's not really complex. I'll just check the stat and throw disposition penalty/bonus in case of masochist depending on that using a simple formula. However, I can't decide how should it work, dammit  :D

How should "All options availible" look like?
I thought about a "meet" button that calls usual girlsmeets menu on spot even for hired girls.

$ chr.set_flag("lover")

if chr.flag("lover"):
    # responce
Ok, that settles it.
Title: Re: General Discussion
Post by: Xela on September 20, 2014, 04:32:48 PM
I thought about a "meet" button that calls usual girlsmeets menu on spot even for hired girls.

Ok, I am too tired to look into that atm. It should be possible without too much fuss (I hope).
Title: Re: General Discussion
Post by: Xela on September 20, 2014, 04:52:31 PM
I've got a working mock up for custom location actions if we want them.

Currently in the label for the locations, before we show the location-specific screen we put:
Code: [Select]
# If we have no actions
    python:
        if pytfall.world_actions.location("city_beach"):
            pytfall.world_actions.meet_girls()
            pytfall.world_actions.look_around()
            pytfall.world_actions.add("Sunbathe", "sunbathe")
            pytfall.world_actions.finish()

Which creates the actions for the location. The location() function either returns False if the location is already set up, or True and creates a set list of actions for it.

These functions create controls there were considered general enough to have a ease-of-use function:
meet_girls() creates the normal Meet Girls button.
look_around() creates the normal Look Around button.
slave_market() creates the Go Shopping slave market button.
work(flag=None) creates the Work button.

add() adds a new action button, with the arguments:
  • button = The name of the button.
  • action = The string to use as an event trigger, or a screen action.
  • label = The label to go to if no event can be run ("_events_not_found" for Look Around for instance).
  • cost = The cost of triggering the event. 1 by default.
  • flag = The global flag to check for screen actions.
  • null_button = The label to use if the button should be null ("No Slaves Available" for instance).
  • null_condition = The condition to check to see if the button should be null (can be a string, a function or a variable).

In the actual screen we put:
Code: [Select]
use location_actions(pytfall.world_actions("location name")
Which simply adds a vbox that loops through the available actions and adds a textbutton for them. Actions are only added if they have a default label or at least 1 action in the WorldEventsManager.label_cache that uses its action as a trigger if they are an event trigger, else checks its flag.

The WorldEventsManager.run_events() function has been modified to accept "default=None" and "cost=0" arguments as well, so the run_events("auto") calls don't need to be updated.

This isn't pushed?

I am not 100% sure this approach beats buttons/screens but this seems exactly what CW asked for and this should serve all our needs.
Title: Re: General Discussion
Post by: Thewlis on September 20, 2014, 05:13:42 PM
Yeah, I can push it now.

Currently the code for the action classes are in library/events/classes - events.rpy. The new action code is only set up for the main beach (the one accessable from the main map), the slave market and the outside arena. They test all the different actions/properties the button are built with.

See if you like it and if its worth following I can update all the other locations.
Title: Re: General Discussion
Post by: Gismo on September 21, 2014, 01:19:20 AM
Push small update:

- New mainscreen tooltip frame
- A new framework for dialogue
- New button for choise menu
- Returned back old gallary screen  :)

(http://s7.postimg.org/4u2pch7iv/image.png) (http://postimg.org/image/4u2pch7iv/) (http://s7.postimg.org/4il8zpr2v/image.png) (http://postimg.org/image/4il8zpr2v/)

(http://s7.postimg.org/yd271qhjr/image.png) (http://postimg.org/image/yd271qhjr/) (http://s7.postimg.org/r8kdspaaf/image.png) (http://postimg.org/image/r8kdspaaf/)


Need to do one more click after preview to see screenshot at full quality.
Title: Re: General Discussion
Post by: Xela on September 21, 2014, 02:01:11 AM
Great job!

Some tinkering will be required like:

- making sure choice button size doesn't change when hovered over.
- making sure text starts closer to the left window frame when there is no portrait.
Title: Re: General Discussion
Post by: Xela on September 21, 2014, 02:04:39 AM
Yeah, I can push it now.

Currently the code for the action classes are in library/events/classes - events.rpy. The new action code is only set up for the main beach (the one accessable from the main map), the slave market and the outside arena. They test all the different actions/properties the button are built with.

See if you like it and if its worth following I can update all the other locations.

I can take a look but it sounded like a much better system then we have now. I see no reason not to keep it.
Title: Re: General Discussion
Post by: Xela on September 21, 2014, 01:01:38 PM
Minor SF Update:
- Wrote "new style" styles to fit Gismos say window code
*Only in dev mode:
- Added girlsmeets activation from interactions as Dark requested. (minor glitches after leaving girlsmeets present, just reenter interaction to fix)

I can take a look but it sounded like a much better system then we have now. I see no reason not to keep it.

That was a "Definite Yes!" btw :)

Edit (Thewlis from the future):

(http://imagizer.imageshack.us/v2/280x200q90/912/5AS0XL.png) (http://imageshack.com/f/pc5AS0XLp)

LoL?
Title: Re: General Discussion
Post by: Thewlis on September 21, 2014, 02:05:16 PM
All the locations now use the new actions system.

Some slight changes:
Code: [Select]
pytfall.world_actions.location("city_beach")
pytfall.world_actions.add(0, "Stay", Jump("pyt_wip_screen"), flag=("tavern_entry_brawl", "!=", day+hero.AP))
pytfall.world_actions.meet_girls()
pytfall.world_actions.look_around()
pytfall.world_actions.finish()

Title: Re: General Discussion
Post by: Xela on September 21, 2014, 02:12:07 PM
All the locations now use the new actions system.

Some slight changes:
Code: [Select]
pytfall.world_actions.location("city_beach")
pytfall.world_actions.add(0, "Stay", Jump("pyt_wip_screen"), flag=("tavern_entry_brawl", "!=", day+hero.AP))
pytfall.world_actions.meet_girls()
pytfall.world_actions.look_around()
pytfall.world_actions.finish()

  • location() no longer returns a bool. It just accesses/creates the actions list for the location.
  • add() requires you to pass a key as the first argument. The keys are used for ordering the actions and for replacing/removing the current actions.
    work() uses key -2.
    slave_market() uses key -1.
    meet_girls() uses key 100.
    look_around() uses key 101.
  • The parameters "flag" and "null_condition" can now accept a 3 length tuple that contains a condition formatted as: ("flag", "condition", value).
    "condition" can be all the standard python binary operations.

Awesome! Your new setup seems to be woking flawlessly. I just pushed a small fix for the annoying fading out of main screen background as well.
Title: Re: General Discussion
Post by: DarkTl on September 22, 2014, 04:40:56 AM
Edit (Thewlis from the future):
He knows first-hand how awesome the game will be in the future, that's why he joined us via temporal proxy.

I noticed some problems with buttons. That's probably has nothing to do with new buttons icons, but I still decided to test them, and in some cases they don't work as expected. Usually when one screen is opened, and you try to open another one.
Title: Re: General Discussion
Post by: Xela on September 22, 2014, 08:53:46 AM
I noticed some problems with buttons. That's probably has nothing to do with new buttons icons, but I still decided to test them, and in some cases they don't work as expected. Usually when one screen is opened, and you try to open another one.

Prolly a bug in Ren'Py. Where did you encounter this error?
Title: Re: General Discussion
Post by: theremaker on September 22, 2014, 10:10:10 AM
I know it is a minor thing, but could someone add replace the line 5 in the tagger.rpy with

Code: [Select]
alltags = list(sorted(tags_dict.values()))

makes the tagger a lot easier to get a navigate :)
current line 5:

Code: [Select]
alltags = list(tags_dict.values())
Title: Re: General Discussion
Post by: DarkTl on September 22, 2014, 10:44:06 AM
I know it is a minor thing, but could someone add replace the line 5 in the tagger.rpy
Done.

Prolly a bug in Ren'Py. Where did you encounter this error?
I can't reproduce it yet, but I found another one. Click on journal icon, then instead of clicking on main screen icon close it via cross. Leads to empty screen.

Looks like I missed something, who and why added items_fg_ng_test.json? It has some cool items, but I wonder why they need a separate json.
=============================================================================
Pushed head items made by Klaus. Today is a great day, finally we have helmets  :D
Title: Re: General Discussion
Post by: livingforever on September 22, 2014, 11:39:16 AM
Hey there!

makes the tagger a lot easier to get a navigate :)

I think I should mention that tagging images at this point in time propably isn't a very good idea - a new tagger will be available soontm and the tags will change (or at least new ones will be added) in the near future.
Have fun!
Title: Re: General Discussion
Post by: Xela on September 22, 2014, 12:06:00 PM
Hey there!

I think I should mention that tagging images at this point in time propably isn't a very good idea - a new tagger will be available soontm and the tags will change (or at least new ones will be added) in the near future.
Have fun!

QFT

That tagger is conceptual to see if RenPy can handle it at all (it barely can...). Living is working on a proper design written in Java.

Done.
I can't reproduce it yet, but I found another one. Click on journal icon, then instead of clicking on main screen icon close it via cross. Leads to empty screen.

Looks like I missed something, who and why added items_fg_ng_test.json? It has some cool items, but I wonder why they need a separate json.
=============================================================================
Pushed head items made by Klaus. Today is a great day, finally we have helmets  :D

I've closed it via cross dozens of times, but I'll give it another try.

No idea on json file, check it's history in hg.

We had two helmets (seen them in the game) but moare is gut :)
Title: Re: General Discussion
Post by: theremaker on September 22, 2014, 12:21:30 PM
Hey there!

I think I should mention that tagging images at this point in time propably isn't a very good idea - a new tagger will be available soontm and the tags will change (or at least new ones will be added) in the near future.
Have fun!


ohh I am well aware, just found it slightly annoying that the tags was all over the place. :)
Title: Re: General Discussion
Post by: Xela on September 22, 2014, 02:16:13 PM
Click on journal icon, then instead of clicking on main screen icon close it via cross. Leads to empty screen.

I see, that screen is without a label and is shown using showmenu so placing main screen button there is not a good idea. I'll remove it from quest screen tonight.
Title: Re: General Discussion
Post by: DarkTl on September 22, 2014, 03:35:06 PM
We had two helmets (seen them in the game)
Yup, they are from that mysterious items_fg_ng_test.json. But the history is huge and search is useless.
Title: Re: General Discussion
Post by: Xela on September 22, 2014, 04:16:12 PM
SF Update:

- Restored items (GM) (Again??? Someone killed my update last time)
- Changed GM layout (WIP, should work but is a mess (Gismo is cooking new interface))
- Removed MS button from quests.
Title: Re: General Discussion
Post by: Xela on September 23, 2014, 04:26:20 AM
Does girlsmeets menu feel a bit chaotic? I mean, should we generalize it a bit like: "Chat", "Ask", "Action", "Touch" etc.?
Title: Re: General Discussion
Post by: CherryWood on September 23, 2014, 04:27:11 AM
Yup, they are from that mysterious items_fg_ng_test.json. But the history is huge and search is useless.
You can just right click on that file directly and show it's own history  :)

- these are my SE drop test items for that northern route json
I wanted some more items for that location, but because I rarely created items before, I placed them in separate file so it's easier to look for mistakes.
They can be merged for sure if you think they're ok, but before doing that, I need to add some missing descriptions and bad/good traits to them.

-------------------------------
I decided that I'll pass on any events/actions/npcs untill story concept (really looking foward to that).   
Title: Re: General Discussion
Post by: Xela on September 23, 2014, 08:36:34 AM
-------------------------------
I decided that I'll pass on any events/actions/npcs untill story concept (really looking foward to that).

We discussed that in some decent details, Klaus wrote some stuff for that as well. What exactly do you need to know about the story to create events?

**I think we should all put some thoughts out there about how we see PyTFall, surroundings and nearby cities/empire(s) and so on. Same goes for MC and his family, I've been writing my own view in small bits from the beginning but it gets lost fairly quickly.

Then we might be able to come to some kind of a denominator and get some basics together.
Title: Re: General Discussion
Post by: MrKlaus on September 23, 2014, 11:15:24 AM
Currently I’m sitting on the side lines of PyTFall, doing some one-liners for jobs and events (text and descriptions)for crazy’s mod. I’m basically waiting for you guys to clarify some stuff in here: like traits, girls meets and locations. I have a general idea for a short story for meeting  TenTen (if you want I will try to make a story graph and post it here, gimme 24h) but without the mechanics mentioned above my moves are limited. I also remember that couple months ago, while talking with Xela, he  was thinking about Nami and Hinata to be the main heroines. So I don’t know if other girls should have short, independent story lines or should they branch from the main girls lines. If you want some wild pitches of potential stories for some girls just let me know.
Title: Re: General Discussion
Post by: CherryWood on September 23, 2014, 12:45:54 PM
We discussed that in some decent details, Klaus wrote some stuff for that as well. What exactly do you need to know about the story to create events?
Really? I know like nothing, I'm not even sure if you decided to have a main story or not  :) Where I can find that?


I mean the stuff for MC and related NPCs, general storyline and atmosphere. Nothing much related to recruitable girls.
I thought that discussion about things like that and content in general were planned sometime after current work on things like ST is done?
Title: Re: General Discussion
Post by: DarkTl on September 23, 2014, 02:03:48 PM
Main heroines, huh?

I guess we could use them as examples of how to make a custom meetings and personal quests, but if we talking about true main heroines, ie the key characters of the main plot throughout its duration on a par with MC, I'd rather have them freely customizable. Meaning that players decide who are main heroines in their games, and maybe even how many main heroines they have.
Though I have nothing against these two characters, and any events for them are welcomed, shouldn't we avoid to make specific characters too unique in a game with many hundreds characters?
Title: Re: General Discussion
Post by: MrKlaus on September 23, 2014, 02:24:37 PM
 To clear one thing. The main heroin thing was just talk about future possibilities between me and Xela around three months ago, when I was writing the opening story for the game. He was considering to have a bigger/longer/more unique story line for selected girls, that could be a basic back-story for the game, leading towards end game with possible multiple endings. The two names that I posted earlier was the examples for two potential girls that he suggested at that time. So don’t read into it too much.  And like Cherry said, focus on finishing the task at hand, to have a stabile project that will be expanded with story lines and quests in the future. 
 
Title: Re: General Discussion
Post by: Xela on September 23, 2014, 02:36:00 PM
Currently I’m sitting on the side lines of PyTFall, doing some one-liners for jobs and events (text and descriptions)for crazy’s mod. I’m basically waiting for you guys to clarify some stuff in here: like traits, girls meets and locations. I have a general idea for a short story for meeting  TenTen (if you want I will try to make a story graph and post it here, gimme 24h) but without the mechanics mentioned above my moves are limited. I also remember that couple months ago, while talking with Xela, he  was thinking about Nami and Hinata to be the main heroines. So I don’t know if other girls should have short, independent story lines or should they branch from the main girls lines. If you want some wild pitches of potential stories for some girls just let me know.

? Define "clarify" please. Those things are pretty straight forward.

I am not sure what you mean by "main heroines". I don't remember what I've said and when but it was prolly along the lines of: "If I was to make proper character storylines, those would be for Nami and Hinata".

Really? I know like nothing, I'm not even sure if you decided to have a main story or not  :) Where I can find that?


I mean the stuff for MC and related NPCs, general storyline and atmosphere. Nothing much related to recruitable girls.
I thought that discussion about things like that and content in general were planned sometime after current work on things like ST is done?

"Main story" has a very broad meaning. We could have several stories with multiple endings at some point... Any story line for any of the girls can be "main story" if it's long, interesting and engaging enough.

There is no rule that said that we got to finish any module to introduce a story line.

Some stuff that we've discussed:

*Slaves can't be warriors/participate in combat to numerous slave uprisings that took many lives.
*MC's father was one of those guys who made a killing at some point in his life and spent the rest of it enjoying himself and trying to run poorly managed enterprises. He disappears one day, MC finds out that most of the money is gone and he gotta get of his butt and do a bit or work/business. Here we can have multiple choices for starting building/stats/cash.
*PyTFall is (presently) a city-state with it's own defense force, nearby empire. It's a trade hub/it's rich/there are three major living quarters (Fleebottom (ghetto, ran by criminals, taxes are often not paid and tribute is paid instead, city collects taxes off crime bosses/boss), Main City and GoldenHill (privileged)).
*During the last slave uprising, empire (back then in control of the city) used powerful magical weapons to bombard slave/barbarian encampments laying siege to the city (FG areas were created by loot/monsters/people being pulled from other dimensions as a result). I think I've posted FG explanation several times.
*Girls personalities are loosely based on the shows/games they are from, any NPCs that come with them = same. We do not specify exactly how that works (as it is not required).
*City citizens/anyone protected by embassies present in the cities or simply reputation/position cannot be enslaved. Slaves can be granted freedom. In order to enslave, you need a permit for every slave.
*More prolly, we discussed quite a bit over the last (almost) two years in PMs and in the open.

We will adapt, change stuff, advance these concepts and so on. Everyone bound to have some ideas...

Klaus wrote some stuff but nothing is set in stone (*Part of this stuff carries too much unneeded info, not sure that this is a good approach):

I’m sending you the first part what I wrote today. If you like what you see I will go for the second part. In general I see it like this: after creating  MC you pick your background story. The text would varied a little for professions. Here’s the skeletal build of the background:
 
-- Lost Fortune (from rich to poor)–
1. Father – assassin for one of the families
2. Father – a legend of the arena
3. Father – trader. Made a lot from trading breath mints (who would guess!).
4. Father – slacker like you. You where parasitizing on your granddads fortune.
 
--From Zero (poor from start)--
5. Father – a poor shop owner.
6. Father – strict soldier. Went missing after the war/escorting a caravan.
7. Father – none. You are an orphan, spend most of your life working random physical jobs at your uncles place.
8. Father – servant. “Never to bow again”, hate the idea of slavery. 
9. Father – beggar. Ghetto.
 
INTRO FOR ALL:
 
PytFall the city where royalty, nobility, connections and power meets common people, poverty, slavery and  desperation. They rub of each other inside the city walls, in one opinion creating an interesting cultural mix, as other may say an explosive mixture.  The thing that really tells who you are and where do you belong is MONEY. With it you are the beloved by everyone, surrounded by friends and people that will do as you wish. Without it you are just another commoner, treated like air or a servant by the high society. The person that decides of fate of every citizen is the tax collector, that visits everybody once a week. He can delay your payment by a week or two but beware of falling in debt, he will be merciless if you will try to screw him. 
As for me… (back-story pick)
My name is [PLAYER].
 
-- Lost Fortune –
1. Father – assassin for one of the families

For all what I know or should I say my father told me I should knew. He got the money that he liked to call it “his retirement found” for he’s loyal services provided to “The Family” in the city of PytSummer. Without asking any questions we settled in PytFall. We bought a mansion and couple of servants. The days past by, having a leisure live. But father got bored with the high society life style pretty quick. At some parties he starter fights with others nobilities, he often went to the arena to place bets and sometimes vanishes for days in brothels. But that didn’t bother me. I was having the best time in my life. [WARRIOR/CASANOVA]. After returning home early on the Monday morning, after night of partying I went straight to bed in my clothes. In the afternoon I was waked up by our house maid that the tax collector was here. It surprised me because father always took care of paying the taxes himself. I asked the maid where is my father but she responded that he didn’t came home yet. I got up, greeted the collector and lead him to my father’s study. I opened the safe in the study’s wall, just to find out that it’s empty. As for the tax collector he took the mansion, servants and all belongings as payment leaving me on the street in my yesterday clothes. 
 
WAR: Spending most of the day hanging out with other high society kids focused on swinging their swords. Going to the arena to watch fights and bet who will win the next fight. Visiting the black smith and looking for exotic weapons and armors. Going to the beach to get our endurance up by swimming in the ocean or just to show off and chill in the beach bar.
CAS: Spending most of the day with my pack, flirting with daughters of other high society families or roaming the streets looking for some fun. In the evening it’s clubs for people of my status, on weekends I usually was at a party thrown by a nobility.
 
2. Father – a legend of the arena

Son of The Champion. To be clear, not some second rated fighter that call himself a champ but son of the most noticeable man in the land. I [PLAYER] am the son of the undefeated, legend, the god walking among men, The Arena Champion Tito. My father in his premium fighter years earned a small fortune. Having money and fame he settled in PytFall. Bought a mansion that we lived a peaceful live. After his retirement from sands of the arena he opened a fighting school. As for me [WARRIOR/CASANOVA]. We lived this way for years when our financial problems started to show. Fathers school was taking more money than the fighters could earn in fights. So he announced his big comeback. He invested our last money in the upcoming event, also took some loans. On the day of the event the most unpredicted thing happened. My father went missing. The fight was called off and I was left with my father’s  bills and debts. The next day the tax collector came to claim the debts. I didn’t have enough money to pay it all off so he confiscated the mansion and kicked me out on the street.
 
 WAR: from earliest years I tried to fallow in my father’s footstep. As a baby I tried to pick my father’s shield that was to heavy for me back thane and imitate his movement while he was training. I had natural talent for fighting as the champions son and started to swing a sword early in life. In my late teenage years I started to train seriously for my Arena debut fight that would occur after I turn adult. Father approved of it and was proud of the way I choose in life.   
 
CAS: from earliest years I wasn’t interested in fighting. When I was a kid and father was taking me to the arena to watch his fights my attention was distracted by bouncing breasts of screaming girls cheering for him. As a teenager and almost adult I used my strongly build body and my father fame to win over girls, that was the thing that my father was useful for me that time.
 
3. Father – trader. Made a lot from trading breath mints (who would guess!).

I have a really easy and enjoyable life as a merchants son. My father is one of the richest and influent people in the city of PytFall. He got to this status by trading breath mints. Who would knew there was so much gold in breath mints, right? As for me I was never interested in father businesses and trading. From our barely conversations that usually focus on his work, I only remember that he sometimes mentions his business partner name - Stan and that the business now is good. As for my daily routine. [WARRIOR/CASANOVA]. It all stopped when my father gone missing. Couple months ago, he took his caravan and went to make this big trade. At first it didn’t bother me a bit, it was just so typical for him to be gone for such long time. Months passed by when I was busy with my things till that feral Monday. As it occurred he took the breath mints for his last business trade on credit. Now the tax collector came to collect the debt with interests. I have lost everything. My home, servants and life style all gone! Who would thought that breath mint trade can be so expensive…   
 
WAR: I get up early, before sunrise and go to the park to run. After that I usually eat breakfast with father if he is at home. In the afternoon I have my practice fights in the arena training grounds, where I usually eat lunch and stay to dawn watching fights. After coming home is going straight to bed for me.
 
CAS: I get up around lunch time. The house is empty like always. I eat, bath and prepare for the next wild night in my life. As for the wild night thing. I have some friends that we hang out with partying, drinking and looking for some fucking. My day ends in what the commoners calls “morning” when I’m coming back home. At that time I usually bump with my father that is heading out to town or an another business trip. We argue and both go our way.
 
 
4. Father – slacker like you. You where parasitizing on your granddads fortune.

I’m part of a rich family in PytFall. Born in this privilege state I never had to do anything myself. In our enormous mansion, always being surrounded by servants that did everything for us. It applies likewise for day and night services. We spend our days in city doing the things that we fell like. Be it visiting arena, taking a stroll in the park or selecting our new toys in the market. I mostly spend my time [WARRIOR/CASANOVA]. It all was really good for me till the judgment day. Waking up on a Monday afternoon to my favorite slave girl blowjob, I barely remembered the things that happened last night at the party. After satisfying me with her tongue skills I felt like having lunch in the garden. I put on my robe and walk down stairs, where in the great main hall the tax collector was waiting for me. He politely bowed and remind me that my father was behind with payments for last month and today was the deadline. I yawn lazily and led him towards the treasure room. It was empty! Not a single coin left! My father also was missing. Not being able to pay the debt the mansion and all belongings was confiscated.     
 
WAR: with my private fencing instructor. She is really good not only with the sword if you get my flow. After the hard practice it is bathing time and heading out to town with my friends. We mainly cause trouble in clubs and pick up girls.
 
CAS: accompanied by ladies. If not I’m probably with my buddy in a club watching some strippers and selecting my companion for tonight. I like them young and never go for the same slut twice. I’m not bragging. I fucked so many that I lost count a long time ago. But I’m pretty sure that there were more lips on my dick then on my lips if you know what I mean.
Title: Re: General Discussion
Post by: Xela on September 23, 2014, 02:36:10 PM

Enriched history of PytFall. I tried to implement all the things you wanted. Hope You like it. (btw. i'm not a native english language user so there might be some grammar errors).

 
 
    The day that the empire acknowledge PytFall as part of it had been knew as year 0 in the city history. For next couple of years the town of PytFall served the empire as front-end trading hub with surrounding barbarian encampments and smaller settlements but also as a minor source of exotic slaves. In year 22 the emperors 3rd army came and raised they main camp in the city vicinity. They use this camp as a foothold to raid, pillage and annex the so called barbaric lands to the empire. At that time city of PytFall grew with inflow of people from heart of the empire. Starting from the soldiers families, adventures, treasure hunters, slave traders but also merchants wanting to ensured citizens needs would be taken care of by selling them goods they were used to have in previous homes.

     The campaign ended 12 years later, in spring of year 34 after the last mayor barbaric settlement had fallen. Army retreated 4 months later leaving a small garrison in PytFall. Also some soldiers have left they service and settled in the city with their families. The city was growing steadily, with numbers of citizens. The majoring good that had been exported was slaves and exotics on the other hand the sudden growth forced to constant import of food.

   In the early spring of year 35, a slave rebellion have occurred. Vast in numbers, knowing that the imperial army was far away the slaves took they chance against their suppressors. Outnumbered, the military focused mainly on providing security to the citizens. Over  80% of the rebelled slaves had escaped into the wild land. The rest got caught or pacified as they tried to resist. In result of this event reign over the city fell in the military hands. Garrison had been doubled before autumn, food and water had been rationed to the citizens. Besides that, there were strict controls upon entering and leaving the city.

    Two years later, at the end of summer there was another uprising. This time the citizens and slaves stud up against the military regime. Fighting took only two weeks and ended with assassination of the militia leader, rest of the soldiers were scattered. PytFall announced it independence as a city-state and left the empire.

    However the Emperor had his plans for PytFall,. Early in the summer of year 41 the city was under siege by the 3rd and 4th imperial army leaded by the emperors 2nd son. Given the ultimatum “surrender or die”, the city gates opened the next day. Current leaders were executed and the citizens were putted under martial law. Strict rules such as forbidding gatherings of more than six people and police hour after the sunset. PytFall was once again part of the empire.

    Under the new, strong rule, daily live in PytFall started to stabilized. Trade routes were established once again, but only for the chosen few merchant approved by the empire. The mayor change around the city was growing numbers of farms and fields providing food to the city. Being self-sufficient, import of food was no longer needed. Unfortunately the lack of slaves that could work on the fields and no barbarian settlements in near vicinity, forced to import slaves from other territories.

   The next noticeable date in the city history is year 48 when the martial law had ended and the 4th army had withdraw. The city was divided in zones and build of the Grate Palace had started, in so called Golden Zone, reserved for nobility and people of influence. With this project, it was clear for all of the empire that PytFall will be one of the mayor cities in the future. Craftsmen and architects started to flow in to the city. New buildings in different styles, started to pop up all over the city. With growing numbers of people, the ruler implemented a new law. Volunteers and slaves where to be trained by the military into a town militia. The pay wasn’t very good so most of the force were selected slaves, but the officer post was filled only with free people. As to approve loyalty of the slaves, there were promised to be set free after ten years of service. Also this year the Imperial Tax Collector Office had been opened for business. This was the golden time for the city and its people. As for everybody had something to eat, a work place, a roof over their heads and a bed to sleep in at night.
 
    But the golden age didn’t last long. In year 54, the emperors 2nd son had been assassinated is his manor in PytFall. Reign over the city was given to the emperors youngest son. Young, inexperienced, spoiled, lustful and quick-tempered character. His lifestyle and behavior was in total opposition to the previous ruler. Being used to live only in the Capitals Palace, surrounded by luxury and meek slaves, he impersonate himself as a walking god that every desire should be fulfilled immediately and without questioning. He was weak and indecisive ruler, announcing a law just to revoke it a month later or signing build permits for the same lot too two or three people. This state of affair gave a steady foothold in PytFall to organized groups, leaded by man that like to call themselves Crime Lords. At that time they mainly were a mercenary force that helped for a fee, but also did kidnapping, treated people, host illegal fights and brothels. His poorly maintaining also affected the town militia. At first he cut the militia founds and extended the ten years of servitude for freedom to twenty. This was the first step to his downfall. The second, was his attitude towards slaves and generally citizens. Several times he beat his slaves to death for minor mistakes. For example he ordered to execute a slave girl for not changing flowers in his room in the evening for fresh, or torturing some poor souls to death for making direct eye contact. Next one, that made the city into a powder keg, was his action when taking a stroll thru the city streets. In the bowing crowd he noticed a girl of his liking. She politely tried to rejected his offer of sucking him off even when he generously offered her a gold coin. Losing temper , he ordered his bodyguards to held her down and raped the poor girl in some dark alley. She happened to be the daughter of the richest merchant not only in PytFall, but in the empire. The last drop was totally removing point in the law, granting freedom for slaves serving in the militia, he argued his decision with this words: ”Slaves should be slaves, they don’t have the privilege of being free”.

    In winter of year 63 the most bloodiest revolt engulfed the city. Well trained and equipped slaves raised their blades against the governor. For years they have been training in secret by the fellow slave brothers serving in the militia for this day. Also being financed by one rich figure outside the city walls and assisted by the Crime Lords helped a lot with bribing guards, city officials and smuggling weapons into the city. But this time not all the slaves rebelled. Those who was working in manors of wealthy merchants and nobles, helping in stores and workshops stood to protect the current state. Skirmishes torn the city apart for next two years. In the end the rebels won. Symbol of their triumph was the head of the emperors youngest son impaled on side of main road leading towards the empire capital. Afterwards the internal struggle for power between the Crime Lords weakened the rebels.

    At beginning of year 69 the Emperor himself leaded his army on PytFall. City was the first stop of the emperors military campaign of acquiring new territories. The assault lasting three days ended in success. Not showing mercy all the rebels where cut down. People that was proofed guilty of helping in the uprising also was sentenced to death. But the Emperor also showed his good side. He granted freedom to slaves that stood against the rebels and those who helped the nobles in escaping the city. New rules where established. The most important was that slaves couldn’t never wield weapons and that the town militia, from now on would only be formed by free people. Week after conquering, the army marched on deeper into the wild lands.

   Another calm era started for PytFall. City wasn’t rebuild to its previous state. Imperial architects put some changes in the previous projected. They added a large park and a fighting arena in the commoners district. The new project divided the city in three areas. The central one was the largest. It was the place around the old Grand Palace, where they planned to raise mansions and manors for the nobles and wealthy people. Also the Grand Palace was going to be renovated and expanded. The second largest area was the “commoner ring”. Where they plan to settle common people, shop owners, craftsmen and freed slaves. As well it would have the most stores and workshops in the city. The third and last was the slums. Place for beggars and homeless people. A true necessity in a large imperial town if you want to control the number of this people and prevent plagues.
 
   The last dates worth mentioning in the city history is the death of the Emperor in winter of year 87, and finishing the expansion of the palace in year 96 that was rename into Central Palace.

    Currently PytFall is the mayor trading city in the empire. Being something like a floodgate, all trading caravans coming from towns that where conquered by the previous Emperor  have to go thru here when heading towards the heart of the empire. The city itself is full of life. Royalty, nobility, connections and power meets common people, poverty, slavery and  desperation. They rub of each other inside the city walls, in one opinion creating an interesting cultural mix, as other may say an explosive mixture. It is the place to be!

I came with another opening for the game. It’s not  a story, just a short prolog into to the city of PyTFall.
 
Code: [Select]
Welcome to PyTFall!
Being a city on the outskirts of the empire, where most of the mayor trade routes go thru, made the city into a lively trading hub.
But for a lost soul this place is equally dangerous and deadly, without big difference on which side of the city walls it will be.
From the outside, surrounded by untamed wild lands full of beasts, bandits and undiscovered treasures, just waiting to be explored and seized.
However, the city itself from first sight appears to be prospering well, being full of richest and exotics.
Housing various races and people of different status, creating a cultural melting pot.
Tempting travelers with it carnal pleasures, easy coin for mercenaries and magic wielders.
But after a closer look, beyond palaces, mansions, merchant stalls, shops, bars and other entertainments you will notice that this picture is just a facade for only a few to enjoy.
The real city life goes in the shadows. Exploiting people of the slums, likewise slavery, trickeries, betrayals and bribes are the bloodstream of the city, being its foundation.


So how will your story end in the city of endless opportunities?
Will you end rich or with a blade in your back?

Once again; welcome in PyTFall!
 

Main heroines, huh?

To clear one thing.

Yeap, those would be my own choices for to script proper storylines. I never suggested them to be central to the gameplay.
Title: Re: General Discussion
Post by: Xela on September 23, 2014, 02:39:20 PM
**I've had to split the topic in two due to a 20000 characters max error.

We'll get there in time, just don't stall any content you want to put into the game "because there is no main story". There may not be one for a while as we slowly build on content/quests/events/modules and codebase. Just write the events/quests you that you want.
Title: Re: General Discussion
Post by: MrKlaus on September 23, 2014, 03:49:06 PM
? Define "clarify" please. Those things are pretty straight forward.

 The girls meet was being remake – adding and deleting stuff from there will affect the possible actions. There was talk about bringing in dating system – another modification for potential quest lines(girl could make the MC to invite her for a date or the MC have to invite her to progress the story). The Exploration Guild – another piece to the puzzle. Having locations to raid, a Girl could ask to bring her, let’s say 50 purple berries from the woods = MC sends team to the forest, they bring the stuff. Or a fighting type girl would ask the MC for support in exploring some cave that she found (bonus new exploration terrain for the future added). Talk about adding ghetto and city guards. Another variation that could spice up the quest lines. There was also talk about new towns = hello escort missions and high jacking! Someone was making the slave training system for the game, another viable that could be used in a quest line. From the realtor, MC personal home = catching a thief girl – with potential options of talking with her, handling her over to the guard, send her to the dungeon for torturing or if the MC is slow and clumsy she would get away with the loot.
 
 
And for the text that I referred earlier was the long history of PyTFall but I’m glad that you posted the potential background stories for the MC (if them would be implemented, them also should somehow affect the stories).
 
Title: Re: General Discussion
Post by: Xela on September 23, 2014, 04:12:58 PM
The girls meet was being remake – adding and deleting stuff from there will affect the possible actions. There was talk about bringing in dating system – another modification for potential quest lines(girl could make the MC to invite her for a date or the MC have to invite her to progress the story). The Exploration Guild – another piece to the puzzle. Having locations to raid, a Girl could ask to bring her, let’s say 50 purple berries from the woods = MC sends team to the forest, they bring the stuff. Or a fighting type girl would ask the MC for support in exploring some cave that she found (bonus new exploration terrain for the future added). Talk about adding ghetto and city guards. Another variation that could spice up the quest lines. There was also talk about new towns = hello escort missions and high jacking! Someone was making the slave training system for the game, another viable that could be used in a quest line. From the realtor, MC personal home = catching a thief girl – with potential options of talking with her, handling her over to the guard, send her to the dungeon for torturing or if the MC is slow and clumsy she would get away with the loot.
 
 
And for the text that I referred earlier was the long history of PyTFall but I’m glad that you posted the potential background stories for the MC (if them would be implemented, them also should somehow affect the stories).

I don't understand why you require knowing all of these things to do create new content. Noone really knows how all of that turns out in the end, we don't event know what brothels will look/function like in an year or two. It's the same issue as CW had. If you guys can't get passed that, we'll never have any new content from either of you :(

Creating events/quests has been made as easy as it can possible be, there isn't much else left we can do as programmers at this point, now you guys need to learn a bit of Ren'Py and create some kickass content :) Me and Thewlis can answer any questions + there is always lemmasoft (Ren'Py) forums + documentation.

Edit:
*I am working on adding some new graphics by gismo to the game atm, girlsmeets are looking good :)
Title: Re: General Discussion
Post by: Xela on September 23, 2014, 05:18:31 PM
Falling asleep here...

GM Graphics updated (not properly tested yet).

(http://s30.postimg.org/v65ritfgt/2014_09_24_0_07_16.png) (http://postimg.org/image/v65ritfgt/) (http://s30.postimg.org/efudthh1p/2014_09_24_0_18_51.png) (http://postimg.org/image/efudthh1p/)
Title: Re: General Discussion
Post by: CherryWood on September 23, 2014, 05:44:42 PM
I don't understand why you require knowing all of these things to do create new content. Noone really knows how all of that turns out in the end, we don't event know what brothels will look/function like in an year or two. It's the same issue as CW had. If you guys can't get passed that, we'll never have any new content from either of you :(
I can't so that why I said that I wait (and participate in discussions about it) until it gets more clear (systemwise for quests or storywise for dialogues) at the beginning of this talk.


---------------------
bout' that history... Isn't it lacking the Ethera bombardment, rifts, monsters, all the good stuff?  :)
also... selecting a father's history means that "who the heck was really my father" kind of story is out of the question?
Title: Re: General Discussion
Post by: Xela on September 24, 2014, 12:07:16 AM
bout' that history... Isn't it lacking the Ethera bombardment, rifts, monsters, all the good stuff?  :)
also... selecting a father's history means that "who the heck was really my father" kind of story is out of the question?

It does... it also sounds like a history lesson more than an introduction into the game. We should have find out what happend to the father quest (s).  We might need to adjust the intro accordingly.
Title: Re: General Discussion
Post by: DarkTl on September 24, 2014, 03:08:41 AM
From the realtor, MC personal home = catching a thief girl – with potential options of talking with her, handling her over to the guard, send her to the dungeon for torturing or if the MC is slow and clumsy she would get away with the loot.
Cool idea btw.

However, it's possible to create content even with existing systems. It won't be as good and complex as it could be with all those systems, but it doesn't make it useless.

I can't so that why I said that I wait (and participate in discussions about it) until it gets more clear (systemwise for quests or storywise for dialogues) at the beginning of this talk.
I agree that we don't have enough ideas to make city concept 100% clear (though it doesn't prevent us from making content like girls, items, mobs, explorations, etc).

Personally I'd say we lack ambience. The city is neither dark and gothic nor light and cheerful, it just is.

Creating events/quests has been made as easy as it can possible be, there isn't much else left we can do as programmers at this point
You can make as complex as possible at this point events, unique girlsmeets and quests with detailed comments.

*Girls personalities are loosely based on the shows/games they are from, any NPCs that come with them = same. We do not specify exactly how that works (as it is not required).
We shouldn't enforce common origin here, it depends on what pack makers will write in girls descriptions. Even in wm there were both twins and characters that came from other worlds. Though a quick reference about guests from other worlds won't hurt.
Title: Re: General Discussion
Post by: DarkTl on September 24, 2014, 11:20:07 AM
I have a general idea for a short story for meeting  TenTen (if you want I will try to make a story graph and post it here, gimme 24h) but without the mechanics mentioned above my moves are limited
Btw, as a writer, you could provide us stories for meetings and maybe small, simple personal quests for all existing unique characters. That's something I'm bad at.
Title: Re: General Discussion
Post by: livingforever on September 24, 2014, 11:26:29 AM
Hey everyone!
Just my usual two cents here...

GM Graphics updated (not properly tested yet).
I don't like the font. A serif print letter typeface isn't suitable for navigation and doesn't really fit into the game either.

It does... it also sounds like a history lesson more than an introduction into the game. We should have find out what happend to the father quest (s).  We might need to adjust the intro accordingly.
Agreed. I'm all for a story and stuff, but - as a game designer - I can safely say that especially the intro shouldn't be loaded with historical things. Throw the player right into the action and make history lessons optional (for example by having a library in the city or something similar). In other words: Let the player decide how much he/she wants to know.

I can't so that why I said that I wait (and participate in discussions about it) until it gets more clear (systemwise for quests or storywise for dialogues) at the beginning of this talk.
I think there is a conflict here (I'm glad Xela can't see my I-told-you-so-smirk right now  ;D ).
CherryWood, you want to know how the system is supposed to work in the final version so you know how to design the content in order to avoid as many technical adjustments as possible.
Xela, you don't want to finalize the concepts until you know how the content (that the concept is being made for) looks.

Both are valid opinions, but it's a stalemate.
My suggestion: Approach the problem in small steps.
At that point, CW can freely create content and Xela can implement the (now more or less complete) concept without needing to worry about future changes.
Planning ahead is an important part of collaborative development.
Have fun!
Title: Re: General Discussion
Post by: MrKlaus on September 24, 2014, 01:24:23 PM
Btw, as a writer, you could provide us stories for meetings and maybe small, simple personal quests for all existing unique characters. That's something I'm bad at.

 So one meet from the top of my head for Ino. In naruto series her family runs a flower shop and she helps them when not doing ninja stuff. Also she easily gets angry but also could be really sweet.


So general idea of meeting her would be bumping into her on the main street. She fells down, the fancy, expensive bouquet that she was carrying and was blocking her view got ruined and here comes the choice menu for the player: [Apologize and offer to pay / Yell at her / Try avoiding trouble by running away].

The first two choices would lead into response from Ino. The first would be calmer, in the second would be more fierce, she would bring the MC back to earth (being a hothead). The third option would pop up in after some time (after 3 days the event would have a chance to happen) when going to the main street she would catch the MC demanding paying for her loses. And from here, all 3 routes would come into one: inviting her for a date as repaying your wrong doing. There also should be a check in MC stats if she would agree, because Ino only liked good-looking man.


fail: standard girl meet approach, when the MC would come to her asking her out as a token of his apology, till she accept.


Pass: go on first date, that would finish with her letting the MC know, that she wouldn't mind if he invite her sometime later on.
After two more dates she would reveal that she is interested in the outside world and her current life is lacking excitement.

MC: You know what girl? It’s your lucky day! I run a small exploration business and could use some talented fighters.
Ino joins.   
 
And now please point me the hard places to code and bitch about to much conditioning.
 
Other girls meet that could be use as starting points for unique ones:
- while walking on the beach, finding an unconscious  girl cast on the shore, a shipwreck girl.
- In town: runaway from the guards (help her or give her away); runaway from home.
- In slums: totally broken girl; MILF in need of quick money for medicine for her sick kid. Getting jumped by a group of robbers, after defeating the bunch, MC spots a cute girl among them (hire her, train into a slave). Girl run into you. After her some dudes. After brief talk, MC gets to know that she have a big debt to pay to the local Crime Lord/Loan Shark.
- In arena:  fan girl (she will approach saying that she loves you - generally a groupie or cheerleader), fighter girl approaching the MC after certain lvl of fame.
- In bar (there is one on the beach): drinking competition, 
- MC apartment: catching thief girl, neighbor (lend me some sugar honey),
- from the Guild: team finds a small tribe full of women – kidnap expedition opportunity.




 @ALL
About the long introduction. I got a list from Xela what he wants to be in the story of PyTFall and I tried to squish all that I could into a logical chain of events. It was June/July when that text got created and at that time, there wasn’t a single mentioning about exploration guild and sending team to the wild. The only thing that was on the list that I didn’t include in detail was “the ever changing landscape around PytFall”, because I didn’t have to much to go about why it would change and how it would change.


About the MC origin/father, it was something that I, PM him with. In response was, that we wait  and see, if it will be of any use in the future. So don’t get hook on any of this, because this stuff is out dated and needs rewriting.
 
 
Title: Re: General Discussion
Post by: Xela on September 24, 2014, 02:44:03 PM
You can make as complex as possible at this point events, unique girlsmeets and quests with detailed comments.

Sadly, it will take a while till I have time to do that. The whole point of using Ren'Py/Making events/quests/girlsmeets easy to mod was that I don't have to do that. There are plenty of examples in the game and in Ren'Py documentation/demo.

...

I see the other side of the argument here but don't believe there is a real validity to it for reasons I mentioned before.

...

Cool stuff.

You can just create events/custom girlsmeets in the game doing everything that you can. It's not like you can ruin anything by creating new independant labels. More complex stuff you can leave to me/Thewlis but try to get done as much as you can and feel free to ask questions :)
Title: Re: General Discussion
Post by: Xela on September 24, 2014, 03:46:39 PM
*Just added the new style we use with girlsmeets dropdown to action buttons tonight as a test. Good night :)

(http://s30.postimg.org/mlqcvj0nh/2014_09_24_22_43_26.jpg) (http://postimg.org/image/mlqcvj0nh/)
Title: Re: General Discussion
Post by: CherryWood on September 24, 2014, 04:15:58 PM
@ALL
About the long introduction. I got a list from Xela what he wants to be in the story of PyTFall and I tried to squish all that I could into a logical chain of events. It was June/July when that text got created and at that time, there wasn’t a single mentioning about exploration guild and sending team to the wild. The only thing that was on the list that I didn’t include in detail was “the ever changing landscape around PytFall”, because I didn’t have to much to go about why it would change and how it would change.
The story is about that is older, but I suppose it got buried in the forum somewhere, even I can't find it now.

I think it was something about that when the slaves were almost winning in their revolt, the slavers side got their hand on powerful artifact called Ethera, and use it to call forth a strong magical bombardment that completely wiped out all rebel encampments on the surface. That was the end of the revolt, but usage of such strong magic on large scale caused some shift (damage) in the magic field around the city and rifts (portals) from the other dimensions began to appear, throwing out strange creatures and items into nearby lands. (and forced changes to the society to face them like fighters guild followed)

I liked it because it has a nice bit of tragic in it (cruel destruction of the rebels and suffering of the unprepared townsfolk from the hand of appearing creatures afterwards), and there was the story potential in that the artifact could be still there somewhere, waiting to be used/mistused again and also that the rebels seeking freedom to the slaves could still be present, but now working in hiding waiting for their chance. (we actually talked about it once that the secretly training slaves in combat could be one of the posibillities)
Title: Re: General Discussion
Post by: MrKlaus on September 24, 2014, 05:10:38 PM
I think it was something about that when the slaves were almost winning in their revolt, the slavers side got their hand on powerful artifact called Ethera, and use it to call forth a strong magical bombardment that completely wiped out all rebel encampments on the surface. That was the end of the revolt, but usage of such strong magic on large scale caused some shift (damage) in the magic field around the city and rifts (portals) from the other dimensions began to appear, throwing out strange creatures and items into nearby lands. (and forced changes to the society to face them like fighters guild followed)

 ??? why I didn't get that info then! This explanation brings a lot.
Thank You, Cherry for jogging your memory and sharing.
Title: Re: General Discussion
Post by: Xela on September 25, 2014, 12:18:57 AM
??? why I didn't get that info then! This explanation brings a lot.
Thank You, Cherry for jogging your memory and sharing.

You did get the info with lesser detail:

OK, so if not random, they should be chosen after the MC buildup.

Quoting other NPCs (Stan) is a nice touch as well. Maybe it can be expanded to some relevant event/quest later on.

The robbing thing is prolly too much for now, unless it doesn't carry any consequences.
===========================

1: She sells the Brothel buildings, soon she will also sell/rent apartments (maybe renting other buildings will be possible as well, that hasn't been decided). In a week or so I expect that I'd have time to code in a Fighter Guild (Exploration/Arena) and Master's Guild (some basic slave training), maybe more but I want to get those two straight first.

2: Usually a mature, pretty woman with large breasts. If you have other ideas, be my guest.
============================

Other plans:

1) I am thinking dividing the city in 3 parts (Ghetto, Main part and Elite). Some NPCs/Buildings/Events for each.
In fact I wanted the Ghetto to be governed by crimelords and instead of paying taxes, you'd pay them for protection. Maybe even something like virtual territory control like in WM. In Other two, you'd pay taxes for government protection and City Watch will keep an eye on things. I wanted there to be one really powerful family those "governs" the ghetto and smaller gangs that micromanage and fights for the right to gather "local tax". But it's too early for this...

2) Improve the BE a bit.

3) Maybe add a job to the brothels.

4) Add a decent, multiple ending story like to one of the unique girls, maybe with several characters involved.

==============>>>

Another thing, could you add some more info to the PyTFall's background. I wanted something to have something like:

1) City has suffered numerous slave revolts, after a particularly bloody one 20 - 30 years ago in which even some of the great masters have perished, slaves (who dominated Arena/Many guard duties with an exception of City Watch were forbidden from being tough combat, carry arms or participate in any kind of fights). Before entire battalions of slaves were trained here to be sold into other lands. Many of the captains of those battalions (once who sided with the masters) were freed and continue to serve them as free guards upkeeping the peace (mostly in City Watch (most of whom died in the rebellion) and private guard forces). There hasn't been an uprising ever since. (I'd like there to be an explanation for slaves not being able to fight anywhere. It took some effort to make it so.).

2) PyTFall is a major trading hub, making it a cultural melting pot (but you had something like that already).

3) Maybe also a bit about sex industry and that slaves cannot ascend past rank 3 (Zashiki-Mochi) meaning that they can never become Tsuke-Mawashi, (Courtesan) (Although it maybe better off being a part of some explanation of brothels similar to what we have for the Arena)... You decide.

4) Maybe a hint on the exploration of rich, ever changing landscapes surrounding the city (I don't know how to spin that one yet, maybe landscaped don't change but new stuff is constantly being pulled from somewhere). I wanted to spin this as some huge magic incident during the uprising initially...

5) Enslaving local people has been made very difficult by the government and most slaves are being people either caught in the expanse or imported from else where.

6) ---- Actually scratch 6, it's too early for Faith/Delegations stuff.
Title: Re: General Discussion
Post by: DarkTl on September 25, 2014, 08:16:22 AM
There are plenty of examples in the game
I hope you don't consider that old quest with Tifa as a good example. We have some quests, but they are not marked in the journal, so they are outdated. I don't think we have custom girlsmeets yet. Finally, you could code as example some perodic random event, like that one with box made by Klaus.
Title: Re: General Discussion
Post by: Xela on September 25, 2014, 09:17:41 AM
I hope you don't consider that old quest with Tifa as a good example. We have some quests, but they are not marked in the journal, so they are outdated. I don't think we have custom girlsmeets yet. Finally, you could code as example some perodic random event, like that one with box made by Klaus.

I am not going to try and code every possible scenario. Events and Quests systems have examples and are simple enough to understand by trail and error or maybe even without "error".

There is no time for the events atm and there will not be in the foreseeable future. I'd rather answer specific questions if someone tried making an event but got stuck with something.

Girlsmeets (custom) are even simpler, you just create a label called the same as any of the GM labels we use and add:

name_of_the_gm_label_Girl_ID

(name_of_the_gm_label_Hinata) for example. There body should look exactly the same as the normal girlsmeets but prolly without traits checks (you know the girls personality).

There is a subsystem in place I wrote at CWs request that can completely overwrite all normal girlsmeets, I think he has examples of using that in his packs.
Title: Re: General Discussion
Post by: CherryWood on September 25, 2014, 09:37:19 AM
Yup, custom girlmeets are working fine, nothing changed in that in recent updates.  (not sure if we have customizable interaction though)


If you want to skip the gm menu altogether, set girl to location="girlsmeets_quest" and then the game jump to "_Girl_ID" label. (label Hinata:)
You need to take care of hiding the screen and setting the character in that case.


I only have that Ayanami Rei meetscript, I didn't finish more of them yet.
(I placed that file in my DB folder, but I don't have the girlpack itself updated to filename tags yet)
Title: Re: General Discussion
Post by: DarkTl on September 25, 2014, 09:53:35 AM
^Thanks, examples is what I need.

I also thought about simple events like in SM3 where some npcs randomly appear at MC's house and propose something in exchange for your time (in our case AP, if you don't refuse). I guess dice for them should be a part of next day, but I don't know what to do next because we don't have anything like that  :D
Title: Re: General Discussion
Post by: Xela on September 25, 2014, 10:07:09 AM
^Thanks, examples is what I need.

I also thought about simple events like in SM3 where some npcs randomly appear at MC's house and propose something in exchange for your time (in our case AP, if you don't refuse). I guess dice for them should be a part of next day, but I don't know what to do next because we don't have anything like that  :D

You need to create an event and condition it with dice and maybe tpd (times per days). Then it's just normal label. I am not 100 percent positive that we can trigger autoevents from  next day label and don't have access to code atm to check.
Title: Re: General Discussion
Post by: DarkTl on September 25, 2014, 11:44:40 AM
Next, I have about 200 cool sprites in db that I found during my adventures at g.e-hentai. I believe that for the purpose of diversity in many events we should select a random sprite. How this can be achieved?
Title: Re: General Discussion
Post by: Xela on September 25, 2014, 11:52:00 AM
Next, I have about 200 cool sprites in db that I found during my adventures at g.e-hentai. I believe that for the purpose of diversity in many events we should select a random sprite. How this can be achieved?

I don't remember if we have a function that does that automatically, but I'll take a look. I made some events that pic random picture I think for the beach.

There is no auto-events in the Next Day. I need to think if we can add those without breaking stuff (we should be able to, before the next day executes. After night be a bit tricky but should work as well, I can't tell right off the bat).

Edit: What kind of sprites? How do we sort them logically in folders?
Title: Re: General Discussion
Post by: DarkTl on September 25, 2014, 12:04:21 PM
My db\Images\Npcs, if you have access to it. At very least there are males and females. We could use more sorting, like fighter/non fighter for random arena fights or something.
I see only two sorting options: by name and by folder. We even could use simple tags, though it might be an overkill.
Title: Re: General Discussion
Post by: CherryWood on September 25, 2014, 12:10:50 PM
I used that code from beach event for tavern  :)  It's working fine.


btw. I have a lot of sprites from VN rips, do you guys prefer to look for your own NPCs or it may be worth to upload them somewhere? I was thinking about shamelessly using resources from other games for some NPCs, at these characters have a lot of expressions so they're easy to work with (some girls even have close to 100 sprites).

I also found some nice bg (upload them soon to usual place) but I had no luck with faceless town guard sprites yet  :( 
Title: Re: General Discussion
Post by: Thewlis on September 25, 2014, 12:34:12 PM
There is no auto-events in the Next Day. I need to think if we can add those without breaking stuff (we should be able to, before the next day executes. After night be a bit tricky but should work as well, I can't tell right off the bat).

I ended up using:
Code: [Select]
register_event_in_label("strange_idol3", quest=event.quest, locations=["mainscreen"], trigger_type="auto", dice=100, max_runs=1, start_day=day+1)
to make an event trigger the next time the user goes to the main screen after that day ends. It would trigger normally after the player closes the next day screen.

Also a bit off topic, but I needed to flesh out the jail for ST for escaping slaves. Would just be a custom action to check if any escaped slaves are there, but I needed to add the jail to the map and build its label and screen as well.
Title: Re: General Discussion
Post by: Xela on September 25, 2014, 02:49:18 PM
I ended up using:
Code: [Select]
register_event_in_label("strange_idol3", quest=event.quest, locations=["mainscreen"], trigger_type="auto", dice=100, max_runs=1, start_day=day+1)
to make an event trigger the next time the user goes to the main screen after that day ends. It would trigger normally after the player closes the next day screen.

Also a bit off topic, but I needed to flesh out the jail for ST for escaping slaves. Would just be a custom action to check if any escaped slaves are there, but I needed to add the jail to the map and build its label and screen as well.

Thanks for the tip. I got about half an hour tonight and plan to spend it updating Gismos new bars.

Create the jail, just add the button somewhere so there is no need to cut into maps (we will have places for Jail/Tavern and etc.) when someone adds "quarters".

If you get a chance, take a look at ST, I reported an error in the bugs section and we still need "on spot training".
Title: Re: General Discussion
Post by: MrKlaus on September 25, 2014, 03:18:10 PM
 Downloaded the  new Ren'Py and the latest dev code, added the char and sub char folders but I'm getting this error:
Code: [Select]
While running game code:
  File "game/script.rpy", line 86, in script
    python:
  File "game/script.rpy", line 96, in <module>
    rchar = load_random_characters()
  File "game/library/functions.rpy", line 198, in load_random_characters
    tagdb.tagmap[tags_dict[tag]].add(rp_path)
KeyError: u'sample'
Title: Re: General Discussion
Post by: Xela on September 25, 2014, 03:26:40 PM
Downloaded the  new Ren'Py and the latest dev code, added the char and sub char folders but I'm getting this error:
Code: [Select]
While running game code:
  File "game/script.rpy", line 86, in script
    python:
  File "game/script.rpy", line 96, in <module>
    rchar = load_random_characters()
  File "game/library/functions.rpy", line 198, in load_random_characters
    tagdb.tagmap[tags_dict[tag]].add(rp_path)
KeyError: u'sample'

Errr... it's a bit complicated:

Search char/rchar directory for a file containing "sample", you'll find it in one of Dark's packs. Delete the file.

Start the game, none of the girls except Crazy WM packs will (should) have any pictures.

Click on "tagger" button in the main screen, in tagger screen click button "JSON --> FN" (or something like that). Follow the instructions given by the game. After a restart (don't remember if that's automatic or not) you should have a working copy in dev mode.
Title: Re: General Discussion
Post by: Xela on September 25, 2014, 03:47:56 PM
Got Gismo's new bars to work in girlsmeets :) Pushing right now.

(http://s13.postimg.org/5wvupr32b/2014_09_25_22_40_55.png) (http://postimg.org/image/5wvupr32b/) (http://s13.postimg.org/tmlaeg1fn/2014_09_25_22_41_46.png) (http://postimg.org/image/tmlaeg1fn/) (http://s13.postimg.org/vtpj2d6pv/2014_09_25_22_42_22.png) (http://postimg.org/image/vtpj2d6pv/)
Title: Re: General Discussion
Post by: MrKlaus on September 25, 2014, 04:55:06 PM
 I fallowed your instructions. After the game restart, I got hit with this error:
Code: [Select]
While running game code:
  File "game/script.rpy", line 86, in script
    python:
  File "game/script.rpy", line 94, in <module>
    crazy_chars = load_crazy_characters()
  File "game/library/functions.rpy", line 144, in load_crazy_characters
    if isinstance(filetag, basestring):
UnboundLocalError: local variable 'filetag' referenced before assignment
Btw. I never used any of crazys or wh girls for PyTFall before, so I’m probably lacking some file.  :(
 
Title: Re: General Discussion
Post by: Gamo on September 25, 2014, 05:58:55 PM
Where can i locate the up to date game for pytfall?
Title: Re: General Discussion
Post by: Xela on September 26, 2014, 12:06:27 AM
I fallowed your instructions. After the game restart, I got hit with this error:
Code: [Select]
While running game code:
  File "game/script.rpy", line 86, in script
    python:
  File "game/script.rpy", line 94, in <module>
    crazy_chars = load_crazy_characters()
  File "game/library/functions.rpy", line 144, in load_crazy_characters
    if isinstance(filetag, basestring):
UnboundLocalError: local variable 'filetag' referenced before assignment
Btw. I never used any of crazys or wh girls for PyTFall before, so I’m probably lacking some file.  :(

There is a chance that I've failed to anticipate complete absense of Crazy packs (I believed that I have). I'll take a look tonight if time permits.

Where can i locate the up to date game for pytfall?

There is only a dev version that is not set up as a playable game. You'll have to wait for a couple more month.
Title: Re: General Discussion
Post by: MrKlaus on September 26, 2014, 06:13:11 AM
Gismo gave me solution.

Deleted Crazy Bleach from chars and the game works.
Title: Re: General Discussion
Post by: Xela on September 26, 2014, 06:29:39 AM
Gismo gave me solution.

Deleted Crazy Bleach from chars and the game works.

That's great but I still need to get to the bottom of this. That folder is working for me just fine and I have a lot more CrazyWM packs than just that one folder.

Edit:
**This should be fixed with my next push.
Title: Re: General Discussion
Post by: Gismo on September 26, 2014, 10:01:09 AM
Just push small interface update:

- Progress bar now has a style
- Also new style for mainscreen, girlsmeets dropdown and action buttons
- Add background to all grilsmeets screens and frame for images

(http://s27.postimg.org/so8bjtnsv/2014_09_26_17_18_01.png) (http://postimg.org/image/so8bjtnsv/) (http://s27.postimg.org/dqzuitakf/2014_09_26_17_18_38.png) (http://postimg.org/image/dqzuitakf/)
(http://s14.postimg.org/6p84c6iql/2014_09_26_17_25_03.jpg) (http://postimg.org/image/6p84c6iql/)
Title: Re: General Discussion
Post by: Xela on September 26, 2014, 11:22:33 AM
Just push small interface update:

- Progress bar now has a style
- Also new style for mainscreen, girlsmeets dropdown and action buttons
- Add background to all grilsmeets screens and frame for images

(http://s27.postimg.org/so8bjtnsv/2014_09_26_17_18_01.png) (http://postimg.org/image/so8bjtnsv/) (http://s27.postimg.org/dqzuitakf/2014_09_26_17_18_38.png) (http://postimg.org/image/dqzuitakf/)
(http://s14.postimg.org/6p84c6iql/2014_09_26_17_25_03.jpg) (http://postimg.org/image/6p84c6iql/)

Just took a look, it's pretty damn awesome. New "3D" buttons look a lot better as well.
Title: Re: General Discussion
Post by: DarkTl on September 27, 2014, 06:05:57 AM
I have a lot of sprites from VN rips, do you guys prefer to look for your own NPCs or it may be worth to upload them somewhere? I was thinking about shamelessly using resources from other games for some NPCs, at these characters have a lot of expressions so they're easy to work with (some girls even have close to 100 sprites).
100 sprites are overkill for me, but generally more npcs are welcomed.
Title: Re: General Discussion
Post by: livingforever on September 27, 2014, 11:34:21 AM
Hi!
100 sprites are overkill for me, but generally more npcs are welcomed.
Careful with that. You should at least ask the authors for permission.

The simple reason: You don't have to worry about in game characters created by users - the worst that can happen to you is that somebody wants you to take the links to the pack offline, but you can't be sued because it's technically not your content.
NPCs that are included in the game however are your content, therefore you are responsible for copyright or trademark infringements.
Have fun!
Title: Re: General Discussion
Post by: Xela on September 27, 2014, 12:47:17 PM
Hi!Careful with that. You should at least ask the authors for permission.

The simple reason: You don't have to worry about in game characters created by users - the worst that can happen to you is that somebody wants you to take the links to the pack offline, but you can't be sued because it's technically not your content.
NPCs that are included in the game however are your content, therefore you are responsible for copyright or trademark infringements.
Have fun!

**We've have this conversation for this game already and decided not to bother with it.

Please don't revive the topic!
Title: Re: General Discussion
Post by: DarkTl on September 27, 2014, 02:12:54 PM
Almost all existing packs were made by Cherry and me, they are not third-party content. Also we have multiple icons and backgrounds that are not ours as well. It's too late to care about copyright.
The game is free and all resources are from open sources, so there is little sense in tracking our ips.

I think girlsmeets require too much AP. It's 1AP per line, you barely able to talk with one girl.
I'd rather have 1AP per girl and limited number of lines per meeting.
Title: Re: General Discussion
Post by: Xela on September 27, 2014, 02:48:28 PM
I think girlsmeets require too much AP. It's 1AP per line, you barely able to talk with one girl.
I'd rather have 1AP per girl and limited number of lines per meeting.

That would enable spamming, I'll think about what can be done here, maybe 1/3 of an AP or something...

I've added quest progression to frog events, didn't test it yet.
Title: Re: General Discussion
Post by: DarkTl on September 28, 2014, 04:27:01 AM
Maybe. Currently girlsmeets are a bit too expensive compared to other actions. For 1 AP you can have a full fight at arena and get exp and money or talk once with one girl for 10 seconds or so and get minor bonus to disposition.
Especially since girlsmeets will be more complex in the future, when we'll have time to recode it.
Title: Re: General Discussion
Post by: livingforever on September 28, 2014, 03:38:30 PM
Hi!
A time based system would solve this problem in a very elegant way, but that would mean some oh so despised code base changes.  :-\

But seriously, introducing 1/3rd APs or a subsystem that maps one action point to three gm action points isn't much less effort, it's just a lot more dirty with guaranteed inflexibility.
Have fun!
Title: Re: General Discussion
Post by: MrKlaus on September 28, 2014, 05:07:22 PM
That would enable spamming, I'll think about what can be done here, maybe 1/3 of an AP or something...

 Maybe something like a “meet  action count”. Depending on the NPC mood, friendship lvl, general interest in MC the scale of possible interactions would vary from 4 to 10 (not too much)? And the whole meeting would "eat" only 1AP.

 
Title: Re: General Discussion
Post by: Xela on September 29, 2014, 01:38:54 PM
Hi!
A time based system would solve this problem in a very elegant way, but that would mean some oh so despised code base changes.  :-\

But seriously, introducing 1/3rd APs or a subsystem that maps one action point to three gm action points isn't much less effort, it's just a lot more dirty with guaranteed inflexibility.
Have fun!

It's doable (with enough time invested, I cannot foresee any huge problems) but we agreed on AP approach which I personally prefer. This would make a lot of thing easier and harder at the same time :) Main argument against are backgrounds... which any player would expect to reflect time of day.

Maybe something like a “meet  action count”. Depending on the NPC mood, friendship lvl, general interest in MC the scale of possible interactions would vary from 4 to 10 (not too much)? And the whole meeting would "eat" only 1AP.

Need to take a look at the code when time permits. It's fairly difficult to tell what's best and what's possible, maybe we don't actually fraction the APs, some actions will take 1, some 0.5 and some 0.33. We wouldn't subtract APs directly, 1/3 would mean 2 actions for free and -1 AP on third or something like that.
Title: Re: General Discussion
Post by: livingforever on September 29, 2014, 01:49:59 PM
Hi!
Oh great, one of those cases in which I just can't see the problems you are talking about.

It's doable (with enough time invested, I cannot foresee any huge problems)
Actually, it doesn't need much time investment. In fact, I have a pseudo-coded class to handle things with time instead of AP ready to go, I'll send you a PM.

This would make a lot of thing easier and harder at the same time :)
The only thing that is getting more difficult is balance - but at the same time it is getting a lot better because of the flexibility.

Main argument against are backgrounds... which any player would expect to reflect time of day.
And who said that the player is working during the night?
8 to 18 o'clock are very usual working times, can't see a problem here.

Need to take a look at the code when time permits. It's fairly difficult to tell what's best and what's possible, maybe we don't actually fraction the APs, some actions will take 1, some 0.5 and some 0.33. We wouldn't subtract APs directly, 1/3 would mean 2 actions for free and -1 AP on third or something like that.
This actually brings up more problems than a time based approach (and in the long term it will be more work because it's more difficult to maintain).
Also, it is a lot less intuitive because your actions don't reflect AP changes immediately.
Have fun!
Title: Re: General Discussion
Post by: Xela on September 29, 2014, 03:34:11 PM
Nah, if we decide to do this it will be after the next release and it should be a proper 24 hour day for night time jobs as well. It's not a bad idea, we'll decide post second alpha release, adapting the code then won't be any more difficult then it is  now.
Title: Re: General Discussion
Post by: DarkTl on September 29, 2014, 03:43:05 PM
I don't know. Many games have time system, SM3 first comes to mind. But in fact time system disguises ap system there, APs=hours, and you can use a part of AP in case of small events.
Title: Re: General Discussion
Post by: livingforever on September 29, 2014, 03:43:44 PM
Nah, if we decide to do this it will be after the next release and it should be a proper 24 hour day for night time jobs as well.
And which player jobs can only be done at night? Also, which human being works for 24 hours a day? Don't get me wrong, I won't object a "proper" system, but a 24 hour time window for the player to act is simply unrealistic and therefore doesn't need to be possible.

It's not a bad idea, we'll decide post second alpha release, adapting the code then won't be any more difficult then it is  now.
Statements like these drive me crazy. You want to decide on a core feature after a release? And you're wrong, it will be more difficult. The longer you wait, the more deprecated stuff you will have to replace.
On the other hand, I do not know how close you are to the next alpha, so - whatever.

I don't know. Many games have time system, SM3 first comes to mind. But in fact time system disguises ap system there, APs=hours, and you can use a part of AP in case of small events.
Basically, yes. But time is a more intuitive value than action points and I have never seen an action point system with 1440 AP per day (because in almost all of these systems action points equal minutes, not hours).
Have fun!
Title: Re: General Discussion
Post by: Xela on September 29, 2014, 05:25:46 PM
SM system would be less flexible then what we have now. I'll see what can be done with girlsmeets and interactions when time permits?
Title: Re: General Discussion
Post by: Thewlis on September 29, 2014, 05:51:16 PM
You could just multiply all the current AP by 3.

Player starts with 9, a normal action now costs 3. An action during a girl meet now only costs 1.
Title: Re: General Discussion
Post by: Xela on September 29, 2014, 11:59:04 PM
You could just multiply all the current AP by 3.

Player starts with 9, a normal action now costs 3. An action during a girl meet now only costs 1.

Too many jobs would have to be adjusted as well, a lot of things consume AP and only girlsmeets feel like an issue atm.
Title: Re: General Discussion
Post by: livingforever on September 30, 2014, 10:21:40 AM
Hi again!

SM system would be less flexible then what we have now. I'll see what can be done with girlsmeets and interactions when time permits?
I have no idea what the SM system looks like, but I don't know how what I propose can be less flexible than a flat AP system. Would you care to explain?
Don't worry about time, I'm not saying "do this right now or I'll kill you".

You could just multiply all the current AP by 3.

Player starts with 9, a normal action now costs 3. An action during a girl meet now only costs 1.
Too many jobs would have to be adjusted as well, a lot of things consume AP and only girlsmeets feel like an issue atm.
That would actually be a very simple solution that isn't horribly unintuitive. Just add a compatibility method (old method calls new method with AP parameter * 3).

It should be mentioned that I don't really like this, but at least it's more clean than what you planned to do with split APs.
Have fun!
Title: Re: General Discussion
Post by: Gismo on September 30, 2014, 12:03:14 PM
Prepared a test version of the mc-setup (start game) screen.


(http://s10.postimg.org/adbe3ktg5/2014_09_30_19_45_05.jpg) (http://postimg.org/image/adbe3ktg5/)
Title: Re: General Discussion
Post by: Xela on September 30, 2014, 01:54:15 PM
I have no idea what the SM system looks like, but I don't know how what I propose can be less flexible than a flat AP system. Would you care to explain?

That was a messed up reply due to a use of Android Phone. SM bit was a response to Dark who mentioned SM3. Bit I wrote quoting your post disappeared.

Just add a compatibility method (old method calls new method with AP parameter * 3).

You could just multiply all the current AP by 3.

Player starts with 9, a normal action now costs 3. An action during a girl meet now only costs 1.

This is prolly worth consideration. If we can get AP for everyone to work this way without too much fuss, it's definitely an option.
Title: Re: General Discussion
Post by: Xela on September 30, 2014, 01:54:45 PM
Prepared a test version of the mc-setup (start game) screen.


(http://s10.postimg.org/adbe3ktg5/2014_09_30_19_45_05.jpg) (http://postimg.org/image/adbe3ktg5/)

Looks great as usual :)
Title: Re: General Discussion
Post by: DarkTl on September 30, 2014, 02:11:35 PM
I dislike fractional APs idea, it seems counterintuitive and clumsy.

Time system could work, though it will give us new problems with balancing. MC and girls are supposed to have more AP at higher levels, meaning that they become more hardy. If we drop this concept and use pure time system, when you need 15 min to speak with a girl and 2 hours to fight at arena, then constitution doesn't matter anymore. You can't really speak or fight quicker at higher levels, well, generally speaking.
And of course many areas don't have night pictures, but we can avoid it by forcing MC to sleep at night or visit only those areas that have night backgrounds.

I'd prefer Klaus solution or less valuable and more numerous APs.

Prepared a test version of the mc-setup (start game) screen.
I like everything but those two grey buttons.
Title: Re: General Discussion
Post by: Xela on September 30, 2014, 02:54:48 PM
And of course many areas don't have night pictures, but we can avoid it by forcing MC to sleep at night or visit only those areas that have night backgrounds.

Nah, restructuring code to proper timebase without stuff like vampirism (sleeps during daytime + sh!tz) or simply allow MC to sleep whenever he likes (getting low on fatigue or something) is absurd. This will suck if done halfway and doing it properly will take time and effort. We'll get back to this post next release + I don't want to double SimBrothel Revival, they have proper time based approach, I can't say I like it a lot more then what we have but it prolly makes more sense for an RPG based game. It's also not how they either started btw.

I'd prefer Klaus solution or less valuable and more numerous APs.

Ok... so the way I see Klauses approach considering the code is setting an amount responses on per day bases for every girl (first encounter eats up 1AP regardless). After that amount is reached girls simply respond with something like: Lets talk again tomorrow/We're done for the day and etc.

more numerous APs.

We turn AP into a property (if that isn't done already) for all character and make sure 1 AP is subtracted during girlsmeets/interaction per action and 3 AP per action everywhere else (unless specified otherwise). We multiply all AP * 3 during the next day restoration method.

Two options to choose atm.
Title: Re: General Discussion
Post by: MrKlaus on September 30, 2014, 06:49:25 PM
Ok... so the way I see Klauses approach considering the code is setting an amount responses on per day bases for every girl (first encounter eats up 1AP regardless). After that amount is reached girls simply respond with something like: Lets talk again tomorrow/We're done for the day and etc.

 What I meant was that meeting a girl would take 1AP.
The whole thing looks something like this: MC goes to town, looks around, see a girl that he like, selecting her from the given three would consume 1AP and on the dialog options (top, bottom or nowhere) a counter how many times she would speak with him. Speaking to her after a day or few would also consume 1AP to start the conversation.

The number of possible actions could be random or set. For example:

Girl have a bad day: “Make it quick.” = only 2 actions.
She have a good day: “Hello. Nice weather today, isn’t it?” = 4 to 6 actions (even on 1st meet)

She is hostile towards
MC: “What do you want? Scum… = only 2 actions
She likes him: “Oh hi you!” = 3 to 4 actions.
She loves him: “Mhmm…. I hope we will spend the whole day together” = go wild give 10?
 

Or something base on MC stats, but here it would be TO MUCH work in my opinion because the number should be also based on girl traits, example:
 
Girl is a Nympho: “hey there sexy!” = random number of actions, easier flirt/sex.
Girls is smart, MC INT check: “I think we will have a pleasant conversation” or “I will speak with you using short and simple words for your convenience, ups… “
Girl is a gold digger, MC $$$ amount check, and other things that we could come up with.
 
Or#2 base the number on MC charisma. The stat is there for something.

Or #3 base it on the affection lvl. More she loves him, than she wants to spend more time with her.
 
Another thing. Talking with her should consume 1AP but I think that if the MC convince her to have sex with him it should exhaust him = also consume AP, but probably I’m over thinking again.
 
Title: Re: General Discussion
Post by: livingforever on September 30, 2014, 07:49:56 PM
Hi!
Girl have a bad day: “Make it quick.” = only 2 actions.
She have a good day: “Hello. Nice weather today, isn’t it?” = 4 to 6 actions (even on 1st meet)

She is hostile towards
MC: “What do you want? Scum… = only 2 actions
She likes him: “Oh hi you!” = 3 to 4 actions.
She loves him: “Mhmm…. I hope we will spend the whole day together” = go wild give 10?
While that would be more realistic, I don't like it for gameplay reasons: It sounds too much like a snowball effect.

For those unfamiliar with the term, it basically means that the more you get, the faster you will get it in the future. In this case it means that it would take a long while to get her to like/love you, but as soon as you do you can hire her after a single meeting.
Have fun!
Title: Re: General Discussion
Post by: CherryWood on September 30, 2014, 08:26:49 PM
What I meant was that meeting a girl would take 1AP.
The whole thing looks something like this: MC goes to town, looks around, see a girl that he like, selecting her from the given three would consume 1AP and on the dialog options (top, bottom or nowhere) a counter how many times she would speak with him. Speaking to her after a day or few would also consume 1AP to start the conversation.
Not sure about the moods, but I like the separate counter from AP. Something like -1AP, 3 interactions point at start, and then you can ask the girl for more time for another -1AP, +3 interactions with that girl.
But AP*3 sound fine too.


Hard to guess about the numbers when the game doesn't have any time limit yet.

For those unfamiliar with the term, it basically means that the more you get, the faster you will get it in the future. In this case it means that it would take a long while to get her to like/love you, but as soon as you do you can hire her after a single meeting.


I believe that we don't want hiring the girls to be that much disposition related (=no need for love) so girls joining as soon as they started to trust you a little or even right away in some cases may actually be the norm.
Title: Re: General Discussion
Post by: Xela on October 01, 2014, 12:04:05 AM
Not sure about the moods, but I like the separate counter from AP. Something like -1AP, 3 interactions point at start, and then you can ask the girl for more time for another -1AP, +3 interactions with that girl.

Basically what I suggested at start :)

I believe that we don't want hiring the girls to be that much disposition related (=no need for love) so girls joining as soon as they started to trust you a little or even right away in some cases may actually be the norm.

Yeah, should depend on stats/traits/occupation, disposition should have secondary effects. We always intended it to work that way but with an employment system (girls joins you on normal disposition only if she doesn't have a job already or you're willing to pay her more).

Title: Re: General Discussion
Post by: DarkTl on October 01, 2014, 11:24:17 AM
We also have interactions system that should and will work in a similar way. So we have to consider that snowball effect anyway. Progress should be more or less smooth.

I do my best to work on the project these days, but I have stuff to do at work (for a change), so I have less time than usual.
Title: Re: General Discussion
Post by: Xela on October 01, 2014, 11:49:37 AM
I do my best to work on the project these days, but I have stuff to do at work (for a change), so I have less time than usual.

That's ok. I seem to have less and less time as well and it's also work related. When Thewlis finishes up Jail prototype the plan is to wrap up SE girl capture (need jail for that as well). This weekend I'll try to take a look at girlsmeets AP thing (shouldn't be too difficult), we just have to agree on approach before that.

So far, unless I miscounted, we have (without time based option):

Thewlis way *Wider global AP Scale (Times 3): 3 votes (Thewlis, Dark, living).
My way *Girlsmeets points: 2 votes (CW and me).
Klaus way *More complex Girlsmeets points: 1 vote (Klaus).

Unless I am misunderstood someone. Noone else seem to have said anything about this so it's 3 vs 3 atm since Klauses proposal is a more advanced version of mine and we can just code that instead or improve towards that later.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2014, 05:11:31 AM
Added Klaus rings, reworked rings and gifts a bit.
Title: Re: General Discussion
Post by: Xela on October 04, 2014, 10:01:41 AM
I've got yours and CWs updates and pushed a prototype of simple "Girlsmeets Points" (AP * 3 proved to be harder to code in practice so we'll try this first) and Gismos request for replacing MC Pics choice viewport with arrows and pictures instead.
Title: Re: General Discussion
Post by: CherryWood on October 04, 2014, 10:56:32 AM
I've got yours and CWs updates and pushed a prototype of simple "Girlsmeets Points" (AP * 3 proved to be harder to code in practice so we'll try this first) and Gismos request for replacing MC Pics choice viewport with arrows and pictures instead.
About that MC creating screen... the battle_sprites we have are adjusted to look ok in arena where they are just resized and placed in space, but they look kinda off-scaled next to each other when fitted somewhere like in this case.  (it was not so obvious in the previous look)
So I think maybe you could get rid of the limiting frames and show them like in battle, of cycle portraits instead with sprite appearing elsewhere on that screen or we can get rid of the empty spaces in those pictures themselves to make them look ok there, but then we need some other measure to properly scale then in battles, like some customizable multiplier of the sprites size and offset. (could be good for large or small monsters too)
Title: Re: General Discussion
Post by: DarkTl on October 04, 2014, 11:47:48 AM
GPs work better than usual APs for sure. We can make the system more complex later if needed.
I wonder what means that scale at girlsmeets screen.
Title: Re: General Discussion
Post by: livingforever on October 04, 2014, 12:03:30 PM
Hi!
we can get rid of the empty spaces in those pictures themselves to make them look ok there
This sounds like something that I can take care of. Could you explain what exactely you want to do with those sprites? Which "empty spaces" do you want to get rid of?

As for the "why me", images imported for tagging will be modified by the tagger anyway, squeezing in another step is no problem at all.
What the tagger is currently doing (all optional, of course):
Have fun!
Title: Re: General Discussion
Post by: CherryWood on October 04, 2014, 01:03:09 PM
Hi!This sounds like something that I can take care of. Could you explain what exactely you want to do with those sprites? Which "empty spaces" do you want to get rid of?
dunno how thats called so have a picture
(http://img24.cz/images/20873286608199300973_thumb.jpg) (http://img24.cz/viewer.php?file=20873286608199300973.jpg)
(upper line): Usually unedited sprites are cut out just to contain the character and that means scaling them into arena often results in disproportions or off centering the body (spell animations looks weird if the body is not in the middle of the pics)
(bottom line): I avoided that in a dirty way by adding some empty-space to the sprites when needed so they are ok height after rescale. It works but it's a bit unintuitive and also result in unedited sprites to appear bigger (case of some random girls already)
So what we could use I guess is some scaling parameters to entry with the sprites (probably in girl xml or arena/mobs json) so we don't have to edit the pictures but still get the result. (like that the secong pic should be displayed 1.5 larger for the bodies to match in size)
Title: Re: General Discussion
Post by: Xela on October 04, 2014, 01:35:28 PM
I wonder what means that scale at girlsmeets screen.

Scale?

...

All of those tagger features sound lovely :)

...

I have many ideas on how to make it "better" but none that would solve this issue entirely. It's up to the modder to pick decent sprites (battle and quest) that would be a fit in the game. There is a pic in the Naruto pack of Tayuya who's fighting from kneeling position that looks appalling (the worst case we have in the game). I think adding some empty transparent canvas on top and from both sides would improve it a lot if a better battle sprite cannot be found for some reason.

Loading information about the sprites as you suggest would work but we have other priorities atm that seem more important to me. Except a Tayuya, this never actually bothered me personally...
Title: Re: General Discussion
Post by: CherryWood on October 04, 2014, 03:32:23 PM
Loading information about the sprites as you suggest would work but we have other priorities atm that seem more important to me. Except a Tayuya, this never actually bothered me personally...
It bothered me a little, but I'm totally ok with the result of editing sprites to better match each other like I did it until now (it should be for all MC, arena and my girls). It just one pics per girl anyway.
Really only think I wanted to comment was, that the battle_sprites will not look good in frames because of it.
(btw. it would be nice if the MC choice screen have both sprite and portrait displayed)


-----------
I'm totally out of inspiration these days so I dropped everything and went back to working on girlpacks a little (some Fate girls), because that doesn't require any thinking at all   :)   sorry!




Are we ok with few items to be left without description? I have some items that I added for SE that I have hard time with...
Title: Re: General Discussion
Post by: Xela on October 04, 2014, 03:36:58 PM
Couple of missing descriptions isn't really an issue at all as far as I am concerned, we'll straighten these things out one by one "when the inspiration hits" :)
Title: Re: General Discussion
Post by: DarkTl on October 04, 2014, 04:26:43 PM
Ah, I get it, that scale shows disposition level. I believe it supposed to be semi-hidden though, so maybe we should use it for mood or something.

Klaus (or I, if he's busy) will take care of descriptions easily.
Title: Re: General Discussion
Post by: MrKlaus on October 04, 2014, 05:17:33 PM
(http://25.media.tumblr.com/f0d04738182b4b1aa086de652582f318/tumblr_mpyd4sV5Zl1qdae2ro1_500.gif)

By chance, You don't have the list of items that need descriptions?

EDIT:
@Xela

I saw that the background story window was implemented. Want me to rewrite those short that I send you some time ago. Make couple new ones (darker/brighter/funnier)? Or just sit and wait for what will You do with this?
 
Title: Re: General Discussion
Post by: livingforever on October 04, 2014, 09:29:07 PM
Hi!
So what we could use I guess is some scaling parameters to entry with the sprites (probably in girl xml or arena/mobs json) so we don't have to edit the pictures but still get the result. (like that the secong pic should be displayed 1.5 larger for the bodies to match in size)

Well, cropping fully transparent lines and columns is no problem, then all sprites could be scaled to the same size.
The question is what to do with partial sprites (e.g. the legs are missing) and how to handle the character size.

I guess we can ignore character size. Adding an own field for it in the character json file is possible, but I guess it's too bothersome to estimate the size for every character.
Partial sprites could be tagged as such, e.g. on a scale from 1 to 10 (tag s0 means complete s1 means only 1/10th of the character is visible). Or, we could ignore this as well and trust pack creators to find complete sprites.
Have fun!
Title: Re: General Discussion
Post by: CherryWood on October 05, 2014, 04:54:00 AM
I was talking about battle sprites that we know that we want them to be full-body, if there's none and a modder want that girl to fight anyway, it's his decision if he's ok with it looking weird. Girls without battle sprite just flee or surrender if there's a fight, I think it's ok solution.


The question about event sprites and tags is a bit harder. 
First, events created by modders solely for own girlpack girls are not our concern because those doesn't need to be tagged as they can look for images directly by filenames. Anything goes there - I'm surely using sprites for those if I get the chance.

But when it comes to displaying "any girl" in some generic game event, I'm not sure that we should try to use sprites at all.  I believe if would require a lot of checks for images (like what to if there is no sprite at all) and while some girls have a variety of them, a lot of girls don't and without more expressions available, these are kinda bland too.

So I personally think that if we want to simulate a nice looking discussion between "any girls", a good bet may be to use portraits with expressions for that. Portraits are easy to make by just clipping normal pics so more expressions should be available more often, doesn't need to be transparent and various outfits in them (thing that look weird in sprites or normal pics that change) are usually not as a problem as only a small portion can be seen.
It can look somehow like this then: (http://img24.cz/images/54463600802515138293_thumb.jpg) (http://img24.cz/viewer.php?file=54463600802515138293.jpg)



By chance, You don't have the list of items that need descriptions?
Not all, but I can use help with those in items_fg_ng_test.json that have it's description empty (not "WIP"). Nothing interesting there, it's mostly just a low-tier items to fill the droplist. (that's why I have trouble with it, what the hell I should write about something so common like fur coat?)


btw. I found a nice set of school outfits icons
(http://img24.cz/images/50503625736585553616_thumb.jpg) (http://img24.cz/viewer.php?file=50503625736585553616.jpg)
but I somehow keep imagining them like something tag related and not normal items  :)  (cause school series like Haruhi often them all in pics)


---------------
I also still wondering about unlocking images since that our first discussion about it...
Title: Re: General Discussion
Post by: DarkTl on October 05, 2014, 12:35:06 PM
Girls without battle sprite just flee or surrender if there's a fight, I think it's ok solution.
Good idea. Better than any other so far.

Portraits are easy to make by just clipping normal pics so more expressions should be available more often, doesn't need to be transparent and various outfits in them
I agree. We still could show characters sprites during conversations, but portraits will handle emotions.

btw. I found a nice set of school outfits icons
I can easily make items from them if you don't have other ideas.

I also still wondering about unlocking images since that our first discussion about it...
You mean better images with higher disposition or something?
Title: Re: General Discussion
Post by: CherryWood on October 05, 2014, 01:29:38 PM
You mean better images with higher disposition or something?
Yes, something like that. I denied it earlier for dunno why now, but as another kind of reward for progression/events it may be a nice option.
Title: Re: General Discussion
Post by: livingforever on October 05, 2014, 01:35:42 PM
Hi everyone!

Good idea. Better than any other so far.
A character without the appropriate image not being able to do the associated action/job/whatever was suggested ages ago.
I got the reply that this is already the case - have I been misinformed?

I agree. We still could show characters sprites during conversations, but portraits will handle emotions.
And honestly, this should be the only case where the emotion tags are used. For everything else it's up to the character wether he/she likes the action or not and therefore the pack creator's problem if it doesn't fit in (he's the one that has to match traits and images).

I could add an option to select a square area in any image and save it as portrait... the UI for that would be somewhat tricky to implement though.

...
I'll take care of cropping transparent rows/columns from battle sprites then.

I also still wondering about unlocking images since that our first discussion about it...
You mean better images with higher disposition or something?
Please not. The problem is to define "better" - and we really don't need more effort for tagging images.
If you want to do something like this do it based on what's already there, e.g. allow/disallow sex types based on disposition (I guess hand-/footjob > titjob > blowjob > vaginal > anal would be a more or less natural order).
Have fun!
Title: Re: General Discussion
Post by: CherryWood on October 05, 2014, 01:56:30 PM
Hi everyone!
A character without the appropriate image not being able to do the associated action/job/whatever was suggested ages ago.
I got the reply that this is already the case - have I been misinformed?
Yes, it is like that. I'm only not sure if it's also that case for fights that we start manually from events, like that one in date example.

Quote
I'll take care of cropping transparent rows/columns from battle sprites then.
???  Why? Nothing is wrong with current battle sprites if we don't want to change the system
Title: Re: General Discussion
Post by: Xela on October 05, 2014, 01:59:41 PM
Ah, I get it, that scale shows disposition level. I believe it supposed to be semi-hidden though, so maybe we should use it for mood or something.

Me and Gismo went through some trouble to get it to look that way so lets leave it at that :)

...

Sure, go ahead! I'll add some simple stuff first and we can expand with the story approaches later. You can make some funny, some dark, some bright. If you can think of some simple mods (to MC) fitting the backgrounds, add those to descriptions as well (separately) but you can that for later.

...

There is not reason we couldn't allow both sprites and portraits. We'll have to set up some ground rules for all kinds of sprites at some points. Maybe your approach where you can create json file to accompany sprites images when required is the best we can do atm. Simply an modifier to any height/width parameters set by the game will solve most issues, if not all (I gave this some thought and it should work and will be very easy to code for the game to do completely automatically).

---------------
I also still wondering about unlocking images since that our first discussion about it...

If you mean unlocking new images as you play that it's perfectly doable. We can even archive the packs using internal renpy or simple zip to "hide" images from users :)

We'd prolly need "objective" tags rating images somehow so the game knows when to unlock new once.

Good idea. Better than any other so far.

Nah, there are reasons this will work sh!tty if we want the game to work properly and be moddable. We need to find something that could pass for a "generic" battle sprite. Like a fully armored woman without any features or some dark sprite that hides everything but a female silhouette and have battle_sprites default to that instead of profile.

Hi everyone!
A character without the appropriate image not being able to do the associated action/job/whatever was suggested ages ago.
I got the reply that this is already the case - have I been misinformed?
And honestly, this should be the only case where the emotion tags are used. For everything else it's up to the character wether he/she likes the action or not and therefore the pack creator's problem if it doesn't fit in (he's the one that has to match traits and images).

I could add an option to select a square area in any image and save it as portrait... the UI for that would be somewhat tricky to implement though.
I'll take care of cropping transparent rows/columns from battle sprites then.
Please not. The problem is to define "better" - and we really don't need more effort for tagging images.
If you want to do something like this do it based on what's already there, e.g. allow/disallow sex types based on disposition (I guess hand-/footjob > titjob > blowjob > vaginal > anal would be a more or less natural order).
Have fun!

Hi everyone!
A character without the appropriate image not being able to do the associated action/job/whatever was suggested ages ago.
I got the reply that this is already the case - have I been misinformed?

That's how it works exactly but only during jobs where there is a decent fallback. Combat is trickier, player can add any girl to a team and if you have a powerful free girl on your team that should be able to support you during a difficult battle but is disregarded just because there is no battle sprite for her (all WM packs for example), it's a sh!tty scenario.

And honestly, this should be the only case where the emotion tags are used. For everything else it's up to the character wether he/she likes the action or not and therefore the pack creator's problem if it doesn't fit in (he's the one that has to match traits and images).

I could add an option to select a square area in any image and save it as portrait... the UI for that would be somewhat tricky to implement though.

That's better left to GIMP/Photoshop or other image editing software. We need emotions and already using emotions at other places, this has been discussed already.

I'll take care of cropping transparent rows/columns from battle sprites then.

Another thing better left to the modder? Less work for you as well :)

Please not. The problem is to define "better"

I suggested that a long time and and the above is exactly the reason Dark and CW overruled me (I think even wording is almost exactly the same) :D :D :D

It's fun to have "unlockable" CG galleries... maybe without any rating at all? Simply one picture in the beginning and unlocking other gradually on levels/events/quests?

I was imagining it as adding tags like "1", "2", "3" to some images and then telling the game to add images "1" to the pool at some condition. Dunno if it actually can work that way, probably not  :)

We could make it work. Would require some modifications to the current tags db code but any conditional unlocking will.
Title: Re: General Discussion
Post by: livingforever on October 05, 2014, 04:10:46 PM
Hi!
That's better left to GIMP/Photoshop or other image editing software. We need emotions and already using emotions at other places, this has been discussed already.
Another thing better left to the modder? Less work for you as well :)
It's not like it's a complex algorithm. I've already written it by now, I'll just add it to the list of things you can do when importing images.

It's fun to have "unlockable" CG galleries... maybe without any rating at all? Simply one picture in the beginning and unlocking other gradually on levels/events/quests?
Since the game has a CG gallery... why not unlock every picture there as soon as it's used once?
That would add the desired unlockable feature while being 100% non-disruptive for the gameplay.
Have fun!
Title: Re: General Discussion
Post by: Xela on October 05, 2014, 04:31:29 PM
Since the game has a CG gallery... why not unlock every picture there as soon as it's used once?
That would add the desired unlockable feature while being 100% non-disruptive for the gameplay.

Easiest as well but doing this "half way" isn't a good option. Either just unlock the whole thing from the start or unlock as rewards for the continued gameplay (leveling up) and quests/events.

This can be done at any point of the development, CW wanted a discussion so that my view on the issue...
Title: Re: General Discussion
Post by: MrKlaus on October 05, 2014, 05:14:51 PM
I suggested that a long time and and the above is exactly the reason Dark and CW overruled me (I think even wording is almost exactly the same) :D :D :D

It's fun to have "unlockable" CG galleries... maybe without any rating at all? Simply one picture in the beginning and unlocking other gradually on levels/events/quests?

 Maybe make just 1 picture unlockable, but of high res & quality, that could be used as a background on the PC desktop or some really sexy image of the girl.

 ---------
 Done with the descriptions. Posting them for acceptance. Check them Cherry:
Code: [Select]
Fur Coat:
Made from northern dears, thick hide. Guarantee protection from wind and cold. Perfect for traveling in snowy regions.
 
Darksome Trophy:
Acquired from a slain barbarian. It suppose to increase the bearers strength, but it wasn’t very useful to the previous owner.
 
Ice Shoes:
Made from never melting ice. Popular footwear for young girls looking for that special one. Caution: Easy to lose when running down stairs.
 
Viny-patterned Corset:
 Piece of the wardrobe created solely to make the waist look thinner. Sewn from green linen and padded with silk. For better visual effect, broidered with slimming floral motive in the front. At top and bottom finished with white lace and decorated with small taffeta ribbons. Beautifully underlining the wearers breasts and hips.
 
Snow-knit Gown:
The materials origin is a trade secret. The gown itself is made from a really thin, almost pellucid fabric. Very carefully and neatly sewed together. If the girl wearing this gown isn’t shaking, you can be assured that she is hot more ways than one!
 
Leather Kilt:
Piece of skin covering your most important parts. Beware, in some cultures wearing this is an invitation for indecent acts between men!
 
Ice Daggers:
Wanting to be an ice-cold assassin isn’t enough. For those who want to show off their cool, this weapon is the perfect solution.
Icy Sword:
Big, firm, sharp piece of ice, shaped with magic to be used as a blade. Long term usage without wearing gloves can cause frostbites.
 
Icicle Staff:
Like the name says, it’s an Icicle. Made more firm and lighter with magic, it is used as a staff but also successfully as a walking cane.
 
Bone Knife:
Made from a chipped bone wrapped around with a piece of cloth for better grip. Really primitive, but still very effective.

 
Title: Re: General Discussion
Post by: livingforever on October 05, 2014, 05:52:46 PM
Hi!
Easiest as well but doing this "half way" isn't a good option. Either just unlock the whole thing from the start or unlock as rewards for the continued gameplay (leveling up) and quests/events.
It's not a "half way option". Unlocking a scene after the player has seen it once is completely normal and widely appreciated. It's intuitive and encourages to try different things, so it promotes different styles of gameplay without forcing the player to decide for one.

What you suggest is either redundant (because you unlock images that you've seen any amount of times before) or disruptive (because images are reserved for gallery purposes, meaning that they aren't used for the game).
Have fun!
Title: Re: General Discussion
Post by: DarkTl on October 06, 2014, 03:21:09 AM
We need to find something that could pass for a "generic" battle sprite. Like a fully armored woman without any features or some dark sprite that hides everything but a female silhouette and have battle_sprites default to that instead of profile.
I keep hearing about generic battle sprites from everyone, but I have yet to see a decent one, or even just a one  ::)

There is not reason we couldn't allow both sprites and portraits.
There is, portraits are much easier to find/make  :D

I suggested that a long time and and the above is exactly the reason Dark and CW overruled me (I think even wording is almost exactly the same)
Yup. I personally have another proposition. There are pictures with semi nude characters that still cannot be classified as completely nude, ie without cloth or with striptease. They exist in profile and rest categories mostly. We could use them only with high enough disposition. I usually use undress tag for them.
Title: Re: General Discussion
Post by: Xela on October 06, 2014, 04:46:02 AM
What you suggest is either redundant (because you unlock images that you've seen any amount of times before) or disruptive (because images are reserved for gallery purposes, meaning that they aren't used for the game).

It's the only thing that is really "engaging", hiding images before seen once is redundant, neither thing is disruptive as gameplay is not blocked. I haven't seen many of the images in CWs packs before.

Personally, I cannot see this working out well for several reasons without putting some serious effort into it...

I keep hearing about generic battle sprites from everyone, but I have yet to see a decent one, or even just a one  ::)

You have more recent experience looking for sprites than I and you have the description of what's required. Either a fully armored girl or something that is clearly a female battle sprite when turned into a silloette.

(http://s29.postimg.org/pvzn93537/20100110210452_Aqua_armor.png) (http://postimg.org/image/pvzn93537/) (http://s29.postimg.org/deoe86kjn/LUCT_Terror_Knight_Art.jpg) (http://postimg.org/image/deoe86kjn/) (http://s29.postimg.org/6fexmk9z7/Saber_of_red_armour2.png) (http://postimg.org/image/6fexmk9z7/)

Some options for armors I found in 10 min search.

There is, portraits are much easier to find/make  :D

And sprites look a lot better. There is no reason why both cannot be allowed to give us and modders choices.

Yup. I personally have another proposition. There are pictures with semi nude characters that still cannot be classified as completely nude, ie without cloth or with striptease. They exist in profile and rest categories mostly. We could use them only with high enough disposition. I usually use undress tag for them.

This is a bit different than what's discussed... we should do something along these lines anyway.
Title: Re: General Discussion
Post by: DarkTl on October 06, 2014, 05:53:24 AM
Some options for armors I found in 10 min search.
Are you really ready to use these sprites in the game right now? I'm not, because they look too ominous and heavily armored for generic ones. Maybe, just maybe we could use them for warriors only.
Naturally I tried to find an all-purpose female silhouette or something, but without success.

And sprites look a lot better. There is no reason why both cannot be allowed to give us and modders choices.
Like I said, I think we should use neutral sprite + emotional portrait most of the time. While we shouldn't forbid other ways (why even bother?), in many cases because of differences in clothes and pictures quality sprites sets look unnatural.
Title: Re: General Discussion
Post by: Xela on October 06, 2014, 06:52:05 AM
Are you really ready to use these sprites in the game right now? I'm not, because they look too ominous and heavily armored for generic ones. Maybe, just maybe we could use them for warriors only.

Those fully qualify as generic female battle sprites. I'd use them without giving it a second thought before a better alternative presents itself.  These things are best solved within wider community if we cannot find better option  ourselves.
Title: Re: General Discussion
Post by: Xela on October 06, 2014, 07:01:16 AM
Like I said, I think we should use neutral sprite + emotional portrait most of the time. While we shouldn't forbid other ways (why even bother?), in many cases because of differences in clothes and pictures quality sprites sets look unnatural.

I gave this some thought and you guys are prolly right... this has too many advantages to disregard. Sprites can still be used when possible and sensible.
Title: Re: General Discussion
Post by: livingforever on October 06, 2014, 12:46:09 PM
Hi again!
It's the only thing that is really "engaging", hiding images before seen once is redundant, neither thing is disruptive as gameplay is not blocked. I haven't seen many of the images in CWs packs before.

Personally, I cannot see this working out well for several reasons without putting some serious effort into it...
Your reluctance to implement easy and intuitive things while refusing to tackle more complex and flexible systems because the game "isn't nearly finished" and "everything can be improved later" never fails to astonish me.

But hey, I love productive discussions, so let's break this down step by step:
Have fun!
Title: Re: General Discussion
Post by: Xela on October 06, 2014, 01:23:26 PM
Your reluctance to implement easy and intuitive things while refusing to tackle more complex and flexible systems because the game "isn't nearly finished" and "everything can be improved later" never fails to astonish me.

And yet we run a one of those rare dev teams that didn't fall apart three month into development right after they've established some base code :)

I disregard easy stuff that I consider useless + noone on the dev team considers very important to them and delay complex and flexible stuff we can do without at the moment until we have resources to tackle it down and don't mind people being astonished by any of it.

This clearly is a problem with tags and their usage and musn't be solved by simply unlocking the image eventually.
Look at the tags the image has - there must be one of two issues: Either some of the tags used are unnecessary because they are never used in the game, or they are never used because they are unnecessary, too detailed, not detailed enough or whatever.[/li][/list]

I didn't mean "in the game" but in general, he is looking for stuff in a lot of sources so I generally didn't see a lot of images in his packs before he put those in the game.

First of all, I wasn't talking about gameplay. Blocking gameplay because the image isn't unlocked would be insane.
I was talking about the user experience. Assuming that the above mentioned problem wasn't fixed, you're more or less actively hiding images from the user until he completes a certain amount of content and he doesn't have any way of accelerating that process.

Mission Brothel did that and game was very well received. Enabling content as the game progresses is a valid development tool. We can always add an option to pack makers to enable all images from the get go or gradually.

In terms of only having an image unlocked after seen once, yes. More importantly though, it's a lot more intuitive, for two reasons:
First, it's always clear which image was unlocked in the gallery. Your approach requires random selection. It could of course be limited to certain tags, but at the end of the day it's still random.
Second, I'm not trying to hide any images - they are all potentially available from the start, completing the appropriate content - no RNG involved - will unlock them for the gallery.

Compare it to your approach:
As mentioned before, you want to unlock an image after it has been seen any amount of times. As soon as it was seen at least once, it is equally or more redundant than what I suggested. If it hasn't been seen by the player yet, it is completely disconnected from what he did to unlock it and therefore confusing and unintuitive and feels less rewarding. Why? Because "here, have an image unlocked that doesn't have to do anything with what you just did... you propably didn't want to have it because you just did something else but still here it is".
There is an option to make it feel more rewarding: Tie unlocks to tags. You can't tie them to content because packs and content are potentially user generated, so tags are the only option. However, that brings up the problem mentioned earlier (see point 1) and, propably more important for you, makes your approach almost equal to mine.

I misunderstood your approach a bit, this makes more sense.

Your approach is the only encouraging one

Bullshit. Simple, plain bullshit.
In terms of motivation, my approach is almost the same as yours, but less random and more intuitive (I know I've said that a couple of times already). Claiming that your way is the only way is just wrong.

I understood your proposal as a suggestion that we keep stuff as it is, hide all images in the gallery and unlock them one by one as they randomly appear during the gameplay (we do this with Mobs at the moment). Since you propose introduction of gradual unlocking through tags/events and basically the same thing as I've suggested minus unlocking on level-ups.

======================================
This whole thing is easily beaten by adding new classes, events, locations, modules and quests to the gameplay at this stage of development. So coding in an image unlocking system right now is not something I'd invest time in until much later in the development. This is purely a theoretical discussion CW has started (and remained silent for a while now) :)

Title: Re: General Discussion
Post by: livingforever on October 06, 2014, 02:08:41 PM
Hi!
I misunderstood your approach a bit, this makes more sense.

I understood your proposal as a suggestion that we keep stuff as it is, hide all images in the gallery and unlock them one by one as they randomly appear during the gameplay (we do this with Mobs at the moment). Since you propose introduction of gradual unlocking through tags/events and basically the same thing as I've suggested minus unlocking on level-ups.
No big deal. :)
Essentially, yes, the main difference is that I don't want to unlock any image, I want to unlock the one that was actually shown - unlocking every image as soon as it is shown for the first time is just the easiest way to implement it.

This whole thing is easily beaten by adding new classes, events, locations, modules and quests to the gameplay at this stage of development. So coding in an image unlocking system right now is not something I'd invest time in until much later in the development. This is purely a theoretical discussion CW has started (and remained silent for a while now) :)
Definitely. Keep up the good work.
Have fun!
Title: Re: General Discussion
Post by: DarkTl on October 06, 2014, 02:18:36 PM
I don't understand that unlocking thing. We don't use closed databases, you can look at pictures anytime you want right after downloading a pack. Semi nude pictures idea makes sense in terms of gameplay (more disposition = more trust = less clothes sometimes), but a gallery is something different.
Mobs gallery could have some info about them at very least.
Title: Re: General Discussion
Post by: livingforever on October 06, 2014, 03:48:16 PM
Hi!
I don't understand that unlocking thing. We don't use closed databases, you can look at pictures anytime you want right after downloading a pack. Semi nude pictures idea makes sense in terms of gameplay (more disposition = more trust = less clothes sometimes), but a gallery is something different.
Mobs gallery could have some info about them at very least.
That is not the problem. We could just use a password-protected zip file or even a binary format (which could also speed up the loading process slightly because only one file section has to be loaded on the drive).
I won't implement this feature right away since this is more or less undecided, but the option is there.
Have fun!
Title: Re: General Discussion
Post by: Xela on October 06, 2014, 04:05:56 PM
I don't understand that unlocking thing. We don't use closed databases, you can look at pictures anytime you want right after downloading a pack. Semi nude pictures idea makes sense in terms of gameplay (more disposition = more trust = less clothes sometimes), but a gallery is something different.
Mobs gallery could have some info about them at very least.

We're just throwing ideas around CWs proposal, how it can be implemented gameplay/development-wise. There are good good arguments not to implement it at all like yours (we dropped this a while back after a really short discussion).

Pics in the girl management screen should be displayed based on traits/stats/other factors. We'll do after tagging concept is advanced.
Title: Re: General Discussion
Post by: CherryWood on October 06, 2014, 07:31:41 PM

Thanks for ideas!
About this unlocking thing - I personally pay no mind to the in-game gallery for reason Darktl said: anyone can look at the all pictures in packs folders and I'm really not fond of the idea of restricting access to the image files in any way. I'm using it mostly just for tag checks.

I was only wondering about selecting (manually, it's not suitable for all girls so I don't believe it could be randomized with good result) some images to be not used for profile/jobs until reaching some condition in game, like rank 6, service>200, love status etc.
Or use the system to switch girl appearance image sets, like between schoolgirl and magical girl look for maho shoujo series or something like saber/sakura to saber alter/dark sakura in Fate, because that could have some event potential.

I just wanted to ask about it once before rettaging, I don't consider it important or care about it that much (and definitely don't have any ready content at hand) so denying it once again is totally fine with me too.


==================
There is not reason we couldn't allow both sprites and portraits. We'll have to set up some ground rules for all kinds of sprites at some points. Maybe your approach where you can create json file to accompany sprites images when required is the best we can do atm. Simply an modifier to any height/width parameters set by the game will solve most issues, if not all (I gave this some thought and it should work and will be very easy to code for the game to do completely automatically).
I gave it a second thought and for battle sprites it seems to be enough to just have two sizes of them, one default humanoid sized one and one large - for big monsters but also humans with long polearms could use that too, there's not a real need for precise scaling I guess. If the game could use the larger one in case there is not normal sprite, then I believe we could manage with just that.


For non-conbat sprites and portraits, all tags are already there (except telling full-body sprite from VN type ones), so what we just have to do is to rewrite current portraits usage to look for indifferent one at default (or make that joy-based)

And maybe to look for male MC candidates that have more than one expression too :)


Those fully qualify as generic female battle sprites. I'd use them without giving it a second thought before a better alternative presents itself.  These things are best solved within wider community if we cannot find better option  ourselves.

I had no luck either yet. I'm thinking about more common look, like hooded figure or something, because it doesn't seem very likely that a girl without battle sprite would be a warrior in a first place.

====================



 Done with the descriptions. Posting them for acceptance. Check them Cherry:


Thanks! I use most of them right away. Only for the ice boots/clothes I want to add something little more about how unpleasant they are, because these are a real deal, dropped from Ice girls at frozen cavern  :)


=================



Yup. I personally have another proposition. There are pictures with semi nude characters that still cannot be classified as completely nude, ie without cloth or with striptease. They exist in profile and rest categories mostly. We could use them only with high enough disposition. I usually use undress tag for them.

There is also that mysterious "exposed" tag  :) 

I believe I was dropping those to striptease category sometimes, especially if there was not much variety there.
(btw,we need to have our next talk about those with more examples, for me it's hard to visualize what you guys mean with just text.)

It's not so evident now with the filename tags, but before I had a lot of pics named "U" in my packs, and all of those were ones I had trouble placing somewhere. Mostly nude and swimsuit pics, but also things like gym clothes but not exercising, maid/bunny costume but not cleaning/waitressing, carresing without sex, those mentioned undress pics - all kinds off stuff to consider.  (I'm pretty sure that I reduce my packs to half when it all becomes more clear)
Title: Re: General Discussion
Post by: livingforever on October 06, 2014, 09:23:35 PM
Hi!
I was only wondering about selecting (manually, it's not suitable for all girls so I don't believe it could be randomized with good result) some images to be not used for profile/jobs until reaching some condition in game, like rank 6, service>200, love status etc.
You want to introduce conditions for certain images to reflect some kind of progress?
Well... it's doable. But is it worth the effort? Looking at my own image pool I don't see many characters for which this could be used, mostly because there is no obvious progress.

Or use the system to switch girl appearance image sets, like between schoolgirl and magical girl look for maho shoujo series or something like saber/sakura to saber alter/dark sakura in Fate, because that could have some event potential.
I see what you want to do and it can be done with scripts that swap certain images. How would you want to use this, when do you change the set?


I had no luck either yet. I'm thinking about more common look, like hooded figure or something, because it doesn't seem very likely that a girl without battle sprite would be a warrior in a first place.
Agreed. I'll keep an eye out. You can also send me a fitting picture with existing background, editing it away is a task of minutes.
Have fun!
Title: Re: General Discussion
Post by: Xela on October 07, 2014, 01:51:42 AM
Living is right, that stuff is very simple to script but you'll have to do it manually unless new tags are introduced to make that more convinient... we'll add this to new tagging discussion when we get to it.
Title: Re: General Discussion
Post by: CherryWood on October 07, 2014, 04:26:50 AM
Living is right, that stuff is very simple to script but you'll have to do it manually unless new tags are introduced to make that more convinient... we'll add this to new tagging discussion when we get to it.
Ok, thanks guys.
I don't mind doing it manually, It's just I had no idea is it's something plausible or not as the game doesn't allow something like changing images files midgame yet so there's no reference.

Hi!You want to introduce conditions for certain images to reflect some kind of progress?
Well... it's doable. But is it worth the effort? Looking at my own image pool I don't see many characters for which this could be used, mostly because there is no obvious progress.
minutes.
Dunno  :D , it's probably too much based on personal options and each girl to generalize. In it's all stripped form it's just about making some pics unavailable from the start, whatever selected. If you don't like the idea right away (and I'm not 100% convinced myself) then I say to drop it and I wouldn't force it into my packs either (but I probably still try that set swap event someday).

There are still options even now with current tags for similar effect, like forbidding some happy pics in actions that the girl doesn't like, and thing like forcing the girl to be nude all day should also work (but no matter how awesome it is, the prospect of having to add condition like that to every case of showing a pics is really unpleasant, could there exist a better way?...)

The point that the modder could make the selection himself when placing pics into categories (like exposed pics as normal profile for some shameless girl) is valid, but only for unique girl, not random ones, so it's still best to try to do it by traits/stats when we can (and those can change through gameplay too, not mentioning that the prospect of the girl changing her closet by making her morals change is kinda interesting).

I see what you want to do and it can be done with scripts that swap certain images. How would you want to use this, when do you change the set?
Not sure if I get the question, but let's see...

The main Evangelion girls like Asuka or Rei have so many pictures, that they are capable to do all the jobs (except service that use maid costumes) in both their schoolgirl or plugsuit outfits. So I though it may be maybe possible to let them start the game in their schoolgirl outfit, with the option for player later to go through some quest to acquire the pluigsuits for them, enabling the option to tell them to wear it in their jobs too as "reward".

Or differently not so serious, I would probably change Matou Sakura (Fate) to her Dark Sakura form whenever she's pissed, just for the fun of it, like every time her joy drops too low or you do something bad in interaction  :)  (it was not so nice for her in her route, but it was used as comical effect in spinoffs afterwards so...)

If it's something that could be done just with a script, then I can manage with event system/custom interaction labels, outside the main game files, right?

It's just that I am so unconfident in writing normal stories, that I'm clinging to the visual stuff like these  :-[ :)
Title: Re: General Discussion
Post by: Xela on October 07, 2014, 06:41:04 AM
Ok, thanks guys.
I don't mind doing it manually, It's just I had no idea is it's something plausible or not as the game doesn't allow something like changing images files midgame yet so there's no reference.

It is but it'll require a bit of work (that you could simplify with a tagger I think). Some time ago I created possibility of "starting labels" for all girls on your request, this is where you modify it, for example:

Lets say we create a complex Sakura (Haruno from Naruto) story with pre/post skip pics.

You'd have to so something like this:

Code: [Select]
python:
    sakura_preskip = set([*images])
    sakura_postskip = set([*images])
    tagdb.tagmap["Sakura (girl id here, I think it's Sakura for her)"] = sakura_preskip

This will allow you to control what images are being displayed, you can set to postskip images when your custom story gets to that point. It can be simplified (significantly) if you add something tags like "main_girl_quest_1", ..., "main_girl_quest_n" to the tagger (no need to type in hundreds of image names manually, you can just call up required imagesets on tags).

You can obviously combine different sets (like if you have images that would fit any storyline).

We can automate this process if there is demand for this in the future.
Title: Re: General Discussion
Post by: CherryWood on October 07, 2014, 07:56:08 AM
Ok, thanks, I'm saving your post for later playing with then  :)

Title: Re: General Discussion
Post by: MrKlaus on October 07, 2014, 09:01:14 AM
 
Thanks! I use most of them right away. Only for the ice boots/clothes I want to add something little more about how unpleasant they are, because these are a real deal, dropped from Ice girls at frozen cavern
 
No problem. As for the Ice Set, I saw your WIP, but was on a roll so I scribed something for them also.
 
It's just that I am so unconfident in writing normal stories, that I'm clinging to the visual stuff like these
 
If you have an idea, or just outline of mayor points in the story line, throw me your thoughts and I will come up with couple of possible scenarios. Shit… even if you want to open two wormholes in the sky and throw in Gandams vs Dragonball Chars that finally got killed by Papa Smurf in Punisher style, I will make that happen. Just give me something to work with.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2014, 10:33:32 AM
I was only wondering about selecting (manually, it's not suitable for all girls so I don't believe it could be randomized with good result) some images to be not used for profile/jobs until reaching some condition in game, like rank 6, service>200, love status etc.
I don't wanna. I'd rather create more packs than make existing ones perfect. Maybe years later, after I'll make all packs I want  :)
Not to mention that only very popular characters have enough pics to be so picky. In some cases I'm happy when I have 2 pics per category.

Or use the system to switch girl appearance image sets, like between schoolgirl and magical girl look for maho shoujo series or something like saber/sakura to saber alter/dark sakura in Fate, because that could have some event potential.
Well, we have transformed tag iirc. I don't know how else we could make it generic enough for everyone.

If you have an idea, or just outline of mayor points in the story line, throw me your thoughts and I will come up with couple of possible scenarios.
I do  :)
Story connection with original WM would be a cool easter egg. Just don't post it here, send it via pm.
Title: Re: General Discussion
Post by: CherryWood on October 07, 2014, 11:05:12 AM
I don't wanna. I'd rather create more packs than make existing ones perfect. Maybe years later, after I'll make all packs I want  :) 
I bit different from me then, right now I'm actually coloring a manga page so I can create a girl I want that normally doesn't have enough sex images  :D screw the effectiveness!   
But it has been pretty much decided already (twice now  :)  ) that we wouldn't do this, and I'm ok with that.

Quote
Well, we have transformed tag iirc. I don't know how else we could make it generic enough for everyone.
Yup, I think I used that one in Sailor Moon packs (just on a whim that time). I good example of a tag that I have no clue whatsoever on what to use it for.
---------------------------

If you have an idea, or just outline of mayor points in the story line, throw me your thoughts and I will come up with couple of possible scenarios.
Ok, I ask when I'm stuck with something.
Title: Re: General Discussion
Post by: livingforever on October 07, 2014, 11:48:23 AM
Hi!
We can automate this process if there is demand for this in the future.
Let's see... allowing the user to define different image sets is simple, the question is how to handle them.
How accessible are the conditions for triggering a set switch from character scripts (an event system would be optimal)? Can you send me a sample script with a few possible triggers?
Have fun!
Title: Re: General Discussion
Post by: Xela on October 07, 2014, 02:43:18 PM
Hi!Let's see... allowing the user to define different image sets is simple, the question is how to handle them.
How accessible are the conditions for triggering a set switch from character scripts (an event system would be optimal)? Can you send me a sample script with a few possible triggers?
Have fun!

Python script in the game, nothing will be required from the tagger save the possible ("tag_set_1", ..., "tag_set_n") tags.
Title: Re: General Discussion
Post by: livingforever on October 07, 2014, 04:11:07 PM
Hi!
Python script in the game, nothing will be required from the tagger save the possible ("tag_set_1", ..., "tag_set_n") tags.
... which is exactely what I'd like to avoid: Additional unnecessary tags. In order to design an alternative, I need to have some sample scripts.

My question stands.
Have fun!
Title: Re: General Discussion
Post by: Xela on October 08, 2014, 03:56:54 AM
Hi!... which is exactely what I'd like to avoid: Additional unnecessary tags. In order to design an alternative, I need to have some sample scripts.

My question stands.
Have fun!

It could be something as simple as:

Code: [Select]
change_tag_group(character, group)
expand_tag_group(character, group)
reduce_tag_group(character, group)


The trouble is to figure out how to determine the "group". Best option I could come up with was with tags which would allow a lot of freedom for modders. I doubt this will be used widely, tags relevant to this can be hidden in the tagger or on some separate tab...
Title: Re: General Discussion
Post by: DarkTl on October 08, 2014, 10:13:19 AM
I want to remind you about our plans to make a nonweapon weapon type available to everyone and anywhere, including slaves. I'm gonna add those awesome Pinkutako's items strarting with dildo sword.
Title: Re: General Discussion
Post by: livingforever on October 08, 2014, 12:17:24 PM
Hi!
The trouble is to figure out how to determine the "group". Best option I could come up with was with tags which would allow a lot of freedom for modders. I doubt this will be used widely, tags relevant to this can be hidden in the tagger or on some separate tab...
Determining the group isn't really the problem here, the real issue are the conditions under which each group is applied.

Essentially, I'd like to handle both directly from the tagger, but adding tags for groups and conditions (while possible) would be a mess because they don't work like normal tags. Instead, I could generate the relevant parts of the script automatically (or do something else that I can't come up with without knowing how your event system works).
That's why I requested a complete sample script with a condition to change the tag set.
Have fun!
Title: Re: General Discussion
Post by: Xela on October 08, 2014, 01:46:25 PM
I want to remind you about our plans to make a nonweapon weapon type available to everyone and anywhere, including slaves. I'm gonna add those awesome Pinkutako's items strarting with dildo sword.

Noted, I'll try to make a new "TODO list before the next release" when I get a chance.

Hi!Determining the group isn't really the problem here, the real issue are the conditions under which each group is applied.

Essentially, I'd like to handle both directly from the tagger, but adding tags for groups and conditions (while possible) would be a mess because they don't work like normal tags. Instead, I could generate the relevant parts of the script automatically (or do something else that I can't come up with without knowing how your event system works).
That's why I requested a complete sample script with a condition to change the tag set.
Have fun!

I don't quite follow, conditions in this are not something predetermined, at any point during event/quest/storyline a content created will be able to use those lines and add/remove/change imagebase for any character. To me this should be done with tags as it allows full and complete control. I cannot even imagine how it can be done from tagger and not the game.

"Group tags" would (logically) work like normal tags that are used to filter image groups in the game.

Tagger should be moddable through json right? Modders can simply script/add this in themselves in tagger and game. We don't know the real demand for this either, I expect people would like to create events/stories/quests after I write a "how to" guide showing how easy it is but this is a pretty complex feature for "average modder" and I can always help out "advanced modders" if they are creating some kickass content. Off the top of my head I can name 10 - 15 functions that "could be useful to a modder", give me few hours and I can come up with a few hundred useful, simplifying functions but before we see people outside of core dev team investing time into games content like they do for SM for example, there is no way of knowing which of these hundreds functions is sensible to actually code in. That's why I said "We'll automate it if/when there is demand for it".
Title: Re: General Discussion
Post by: livingforever on October 08, 2014, 05:12:31 PM
Hi!
I don't quite follow, conditions in this are not something predetermined, at any point during event/quest/storyline a content created will be able to use those lines and add/remove/change imagebase for any character. To me this should be done with tags as it allows full and complete control. I cannot even imagine how it can be done from tagger and not the game.
I see your point, I guess I just misunderstood the original plan. I thought CW wanted to have trigger based set switches.
As you explained it, he just wants to use special image groups in custom content, is that correct?

If it is, then using normal tags is fine, but as DarkTI suggested, the transformed tag can be used as long as there is no demand for multiple sets.
Have fun!
Title: Re: General Discussion
Post by: Xela on October 08, 2014, 11:49:41 PM
Hi!I see your point, I guess I just misunderstood the original plan. I thought CW wanted to have trigger based set switches.
As you explained it, he just wants to use special image groups in custom content, is that correct?

If it is, then using normal tags is fine, but as DarkTI suggested, the transformed tag can be used as long as there is no demand for multiple sets.
Have fun!

Correct, it's a bit more than that since he wants to limit some images before a specific point in storyline is reached but the logic is exactly the same. Transform tag is exactly what we're talking about but it might not be enough on it's own (in case of several groups and/or potential use of it in the game as it's an "official tag").
Title: Re: General Discussion
Post by: Xela on October 09, 2014, 05:08:10 AM
I want to remind you about our plans to make a nonweapon weapon type available to everyone and anywhere, including slaves. I'm gonna add those awesome Pinkutako's items strarting with dildo sword.

At my revision of code, slaves can equip all kinds of weapons just not participate in combat or train for it. Should I disable them equipping normal weapons and auto-equipping for combat because what you requested seems possible atm.

Another thing, should we add not just "none-weapon" but something like service-tool/sex-tool/training-tool and etc? Would be potentially useful for auto-equip methods and "Broom" can count as a weapon by the same logic for service as Dildo Sword counts for sex?

I am not going to code this until this is discussed a bit... maybe we should allow "small weapon" non weapon types as well, like feather duster for example...
Title: Re: General Discussion
Post by: Xela on October 09, 2014, 05:56:34 AM
Noted, I'll try to make a new "TODO list before the next release" when I get a chance.

Planz:         *(even Napoleon would be jealous :D)

(Do tell if I forgot something)

Items (None_Weapon Types + Slaves Equipping Weapons):
Code: Alex
Content: Dark

Short Game Intro (Minor World Introduction):
Code: Alex
Content: Klaus, Dark

Hero Setup Screen (Better customization, more options, simple background stories (Gismo is working on a setup)):
Code: Alex
Content: Gismo, Klaus
Balance: Dark, Alex
Graphics: Gismo

Tagger (Java):
Code: living
Setup: living, Dark, CW
Content: CW, Dark, living (packs revision)

Tags Concept (Revised):
Content: CW/living/Dark
Code (any required adaptation in the game): CW/Alex

SlaveTraining (Building  Assignment direct screen, On spot training, chained Next Day training, balancing, Jail):
Code: Thewlis
Content: Dark, Alex, Thewlis, …CW/lamoli?
Balancing: Dark

Conversation/Actions Unification (should have a similar (or same) setup to what Thewlis did for Actions in locations + labels should be adapted accordingly (if so required)):
Code: Alex/Thewlis
Content: Dark/CW/Klaus/Alex
*Note Darks partner pick request

Graphics Improvement/Normalization (as Gismo makes more and more graphical elements, game screen should be styled and adapted to them in case there will be no time to customize them laterz):
Graphics: Gismo
Content: Gismo, Alex, CW

Content (Events/Quests/Location/Stories and etc.):
Code (when/if required): Alex, Thewlis
Content: All hands on deck.
*Try to split a city in thee (four?) quarters

Descriptions for Elements:
Content: Klaus (already finished)
Code: Alex

Taxes (Improvement/Expantion):
Code: Alex
Balance: Dark

Difficulties (Post Next release?):
Code: Alex
Balance: Dark, Betatesters

Other:
Review Next Day reports after close
Enable Charm/Healing/Poison Skillz in the BE
Better Arena integration into main game
Reduce Amount of Brothels + Put them on the map/Rename?
Title: Re: General Discussion
Post by: MrKlaus on October 09, 2014, 10:17:16 AM
 
Planz:         *(even Napoleon would be jealous )
 
Truly a humble man!
 
 
 
Other:
 Better Arena integration into main game
 
Unlocking unique weapons and armors at certain fame lvl. This was mentioned earlier, but wining slave girls also could be an option. Maybe a special event once every 90 days to win them  in a tournament against other fighter. Or gaining access to extra places, unique explore locations. Also getting some unique girls to approach/have quest/hook up with the  MC after he is famous enough or he kills a certain monster in the arena.   
 
 
 
Other:
 Reduce Amount of Brothels + Put them on the map/Rename?
 
Reducing maybe not. If there will be new town(s), they can be relocated there. Also the number of brothels in Towns could be set at max 2-3.

 Putting them on map - I'm against that. The town maps are already small and packed with places to explore and meet girls. Throwing MC brothels on the map would just bring unneeded density on the map.
 
Title: Re: General Discussion
Post by: DarkTl on October 09, 2014, 01:01:05 PM
At my revision of code, slaves can equip all kinds of weapons just not participate in combat or train for it. Should I disable them equipping normal weapons and auto-equipping for combat because what you requested seems possible atm.
I personally think that talking about slaves riots and wars and their serious consequences, and then just allowing slaves to walk around with dual lethal weapons breaks both the story and ambience.

Another thing, should we add not just "none-weapon" but something like service-tool/sex-tool/training-tool and etc? Would be potentially useful for auto-equip methods and "Broom" can count as a weapon by the same logic for service as Dildo Sword counts for sex?
Yup. I guess we can rename weapon slots to left/right hand slots in gui, and use things like broom and stuff.

I am not going to code this until this is discussed a bit... maybe we should allow "small weapon" non weapon types as well, like feather duster for example...
Of course we should. In fact, we already have several nonwapon type small weapons.

Putting them on map - I'm against that. The town maps are already small and packed with places to explore and meet girls.
We need more maps. We won't be able to show everything at one map. Four maps, four quarters, I guess.
Title: Re: General Discussion
Post by: Xela on October 09, 2014, 01:23:58 PM
We need more maps. We won't be able to show everything at one map. Four maps, four quarter, I guess.

Yeah, I prolly should have said "in locations", not "on map". Maybe even in the actions (some) or on pictures like we do with shops whenever possible.

*Noted on weapons/items front, I'll try to take care of that this weekend if time permits. Will prolly do elementa descriptions first, it's a bit simpler/faster.
Title: Re: General Discussion
Post by: Xela on October 09, 2014, 02:12:30 PM
...

Added elements descriptions to the SF. Neutral is missing, "Air" you named "Wind" for some reason and Darkness/Light have the same descriptions. Also tooptip auto-expands (looks a bit odd) on descriptions this long so I can either use smaller fontsize or the existing descriptions need to be shrunk :)
Title: Re: General Discussion
Post by: MrKlaus on October 09, 2014, 03:25:52 PM
Added elements descriptions to the SF. Neutral is missing, "Air" you named "Wind" for some reason and Darkness/Light have the same descriptions. Also tooptip auto-expands (looks a bit odd) on descriptions this long so I can either use smaller fontsize or the existing descriptions need to be shrunk :)

 Will rewrite. How many lines MAX? So it would look good? Or how many signs?
Neutral – didn’t touch that at all. Going to create.

The Air/Wind -  ok that probably came from the: “fire>wind>lightning>earth>water>fire”, will change Wind to Air when rewriting.
Light and Darkness have one description because there are tight together. One can’t exist without the other. If you want, I will make separate descriptions for them.
 
Yeah, I prolly should have said "in locations", not "on map". Maybe even in the actions (some) or on pictures like we do with shops whenever possible.
On location is sounding OK for me. I don’t know how we stand with the slums facilities concept, but I wanted to propose those:
Brothel – own by competition, MC can recruit hookers here.
gambling den – maybe add some poker or something to the game?
drug dealer -
pawn shop – selling shit other shops won’t buy, and buying here some shit other shops don’t sell (but with the sex items you probably were thinking about adding a sex shop or something like that?)
loan shark – MC can take a loan for a period of time. After failing to pay up or killing the loan shark, game over.
 
We need more maps. We won't be able to show everything at one map. Four maps, four quarter, I guess.

 Current map goes to scrap? I thought that the map had potential. The castle on the hill in the middle could be the guards HQ, slums could be added in the area under the arena and above the tavern. The rich folk would be in the high right corner where the palace is.

And to clarify one thing; PyTFall is one giant city and MAYOR part of the empire/kingdom/union or more a medium/small size city being a part of something or a City-state with its own rules?


ALSO, adding some of the new back stories for the MC, outsider, comming to PyTFall to turn things around:

 Weapon broker
I know two things about weapon and armor. How good they are and how much I can get for them. I was a weapon smuggler, profiting from the law that banned providing the empire technologies to less developed communities and its enemies. Selling harder armor and shields that would withstand enemies weaponry to one side and selling to the other side, weapons that would pierce thru enemy armor. With discovering new lands and internal conflicts between natives, selling my goods was a really profitable business. Unfortunately I lost my cautiousness around my business partner. That bitch reported me to the authorities. Luckily there still was a high ranked man inside the guards that was on my side. Pulling every favor and bribing my way out, I managed to flee the city unharmed, but only with fraction of my fortune. The worst part was that I didn’t predict betrayal from this side. My own, fucking wife turned me out.
 



Retired soldier
Once I was know under a different name. I was a soldier in service for a minor noble. Being one of the best, I was pretty confident in getting the captain rank quite quickly. But I got robbed from my promotion in favor of the nobles nephew. Under new commanding officer, my squad got the assignment of escorting a cart with payment for soldiers in another outposts. Not half a day from our starting point, in the woods we got ambushed by a bandit raid. It was a bloody mess. The outcome was quite gruesome. We manage to slaughter all of them but the losses were huge. Under the poor commandment, only three men survived. The nobles nephew that was in command, his bodyguard and me. Looking at face of my killed brothers I approached the commander. One swift cut and the bodyguards head had hit the ground before his body did. Stunned and paralyzed with fear that stinking brat just stood there. The expression on his face when I stabbed him was priceless. This situation gave me an idea. I switched my uniform with the least blood stained clothes of a killed bandit. Afterwards I  smashed his head so no one could recognize the face. Carrying the payroll casket under my arm I vanished without trace.

Other stories in progress:
- Scholar with small budget for his experiment
- Kicked out mage
- Sex toy inventor
- Treasure hunter
- Cast away
- Previous gang member
- Breath mint smuggler
- Escaped from abusing family
- Kicked out of town
 
I’m open for any other suggestions about the MC past.
 
Title: Re: General Discussion
Post by: Xela on October 09, 2014, 04:19:43 PM
 I don't know how many lines, maybe simply a smaller font. Keep it structured in the same way when you can so they look and feel similar.

Hold off on MC stories for now, Gismo is working on graphical and logical structure for the mc setup atm, I've seen some really good sketches and ideas, after that's finished you'll see what is needed. .

Not sure about the map, Gismo once again found some really good options but the current city maps are both really good.  I wonder what soft huntsman used to create worldmap in the new dragon game... might be an option for the general map.

Title: Re: General Discussion
Post by: CherryWood on October 09, 2014, 04:31:34 PM
I don't really understand what should these MC stories do in the game...
Title: Re: General Discussion
Post by: Xela on October 09, 2014, 04:42:37 PM
I don't really understand what should these MC stories do in the game...

You should see my pm box :)

They are supposed to enable bonuses or penalties at the start of the game, enable some quests in the future, setup extra flags and make mc setup screen look cool. Gismo is done with the first prototype, he'll post it when he can. Apparently he even wrote some texts.

They can also launch different game intros if we ever get that far.

@Klaus:

Pytfall is a city state near an empire. I wrote some basic sketches few pages back in this thread but it never started a discussion...
Title: Re: General Discussion
Post by: MrKlaus on October 09, 2014, 06:04:52 PM
I don't know how many lines, maybe simply a smaller font. Keep it structured in the same way when you can so they look and feel similar.

Hold off on MC stories for now, Gismo is working on graphical and logical structure for the mc setup atm, I've seen some really good sketches and ideas, after that's finished you'll see what is needed.

 So, rewriting the elements is on or are You going with the current version and smaller font? If rewriting, I will go with a schematic style like You suggested. The way the previous have been created, was to have a little feeling of randomize (NPC would be describing and I felt that more “chaos” approach would be better than a “machine recorded information” or text book style description).

MC stories put on hold. Waiting for Gismo’s work outcome. 
 
Title: Re: General Discussion
Post by: Gismo on October 09, 2014, 08:14:51 PM
I wonder what soft huntsman used to create worldmap in the new dragon game... might be an option for the general map.
It's from another game Vampire Legend (https://www.facebook.com/games/vamplegend/?fbs=106) seen on DeviantART big clean version.


Ok here is my work on MC-screen. (http://s11.postimg.org/sewyoum7z/2014_10_10_00_15.jpg) (http://postimg.org/image/sewyoum7z/) (http://s11.postimg.org/6493ovoxr/2014_10_10_00_15_39.png) (http://postimg.org/image/6493ovoxr/)
Try to describe my view of MC-story structure. It's still just an idea and how it might look.


 We have the left and right part of the screen which are involved in the structure.

<Left Side>
- She is responsible for the main story. The hero personally doesn't participate in this. It's for family history. (Father, Mother, sister, brother - all or one of them. Who they were. That with them became. That was reached. )
- Player's choice on this part screen gives a greater reward. (Big pluses for characteristics, amount of gold, shack in inheritance, cellar with the old weapon and all the rest, on what the imagination will be enough.)

Let's look at a screenshot, that at number one.
- Here we choose the general direction of story (For an example - merchant, soldier, scholar and noble). I think, we can add here so much, how many we will want (scrolling).
Having chosen one option, smoothly appears section 2 on a screenshot.
- Here the story opens more specifically. (All options from 1 have their own 2). The description of the story starts appearing from here.
When the player chooses one of options smoothly appears section 3 in right screen part.

<Right Side>
- Player's choice on this part screen gives a small reward.
- This part all for the hero. (Stats, his role in the story, his achievements).
Section 3 consists of two main squares (The description, than the hero was engaged in the story from section 2), each of which has 3 options on a choice (Additional reward and story).

Now, in order (Options that is selected in the screenshot, they are not highlighted):
> Main story - Merchant
> Specifically - Caravan
> Player part - Defender of the caravan
> Additional part - Sword

Well, it's all, tried to describe as could )
P.S. I apologize for bad English.
Title: Re: General Discussion
Post by: Xela on October 10, 2014, 01:23:02 AM
It's from another game Vampire Legend (https://www.facebook.com/games/vamplegend/?fbs=106) seen on DeviantART big clean version.

I see... thought it was made with Heroes of Might and Magic editor with some extra overlay elements. This prolly is not really important atm.
Title: Re: General Discussion
Post by: DarkTl on October 10, 2014, 02:36:58 AM
Current map goes to scrap? I thought that the map had potential.
More like it will be a general city map, where you can select some places and quarters, and quarters should have their own maps. While I'd hate to overload gui with multiple maps, we cannot show everything at the current map, it's way too small.

Also we still need a world map. Well, not actually world, but region at least. I recall someone wanted to make one some time ago, but disappeared unfortunately.

Ok here is my work on MC-screen.
Looks great, I have no objections.

Btw, that part with MC stats is supposed to be temporarily until we'll have several MC's with different backstories (=different stats). While we still could show them, we don't need to change them, so arrows are no longer needed.
Title: Re: General Discussion
Post by: livingforever on October 10, 2014, 07:56:23 AM
Hi!
Looks great, I have no objections.
Except that the fonts make my eyes bleed.

I'll just quote myself here (I know, not cool) and look for free alternatives (reposting so you can, too):
The fonts are styled more than desirable and there are too many different fonts. The second problem is simple: Settle with a maximum of three fonts: Navigation elements, text and titles. Note that titles don't necessarily need an own font.
Navigation elements (e.g. the buttons on the talk panel) should have a simple, sans serif font without effects that is very easy to read. The spacing may be a bit wider than usual.
Titles (e.g. the buttons on the main page) should also be sans serif, but it may be ornamental. The spacing should be wider than usual, depending on the font. Lining numbers are desirable, effects are optional. Optionally, the navigation element font can be used if you do not want an ornamental font.
The font for text can be sans serif, but most prefer serif fonts for continuous texts. It should be proportional, the numbers may be non-lining and it musn't be ornamental. Normal spacing is preferable, no effects should be used.

Also, tagger progress in a nutshell:
€dit: Aaaaand.... please no maps for things that don't need one. If it doesn't fit on the main map, a menu might be a better idea (not saying that it is, just hinting that it should be thought about).

Have fun!
Title: Re: General Discussion
Post by: Xela on October 10, 2014, 11:48:09 AM
Hi!Except that the fonts make my eyes bleed.

I remember, we'll try to normalize fonts, it's just that there are some many that I like, Gismo likes and other dev team members like :D

Do you have decent "Normal" and "Medieval" fonts that would be easier on the eyes (I don't really mind even the current setup, but I am prolly in the minority on this issue + it is kinda obvious that we need to generalize fonts same as graphics)?

€dit: Aaaaand.... please no maps for things that don't need one. If it doesn't fit on the main map, a menu might be a better idea (not saying that it is, just hinting that it should be thought about).

Agreed, we need to stuff our city with some decent content before we add more, we can at least test world map if there is a decent option for it but not put it in the game. Gismo has some ideas I believe.
Title: Re: General Discussion
Post by: Xela on October 10, 2014, 12:09:11 PM
Btw, that part with MC stats is supposed to be temporarily until we'll have several MC's with different backstories (=different stats). While we still could show them, we don't need to change them, so arrows are no longer needed.

There is a small chance that I'll finally get some time for the project (tomorrow) so if Gismo pushes by then, I'll try to give it a look. We could give Extra points + higher MAX and still allow customization for example. I'll consider what's more logical and what "writes" better/simpler code.

There is a new "Card" game in the new version of Alkion (replaces battle sequence). We might copy that into CW's tavern as a minigame, maybe we can even get Roman to integrate it for us :D

(take a look when you get some free time, make sure to attack the mod before it attacks you or game'll crash)
Title: Re: General Discussion
Post by: Eliont on October 11, 2014, 03:39:01 AM
(take a look when you get some free time, make sure to attack the mod before it attacks you or game'll crash)

I think i fix it.
http://www.pinkpetal.org/index.php?topic=3493.0
Title: Re: General Discussion
Post by: Xela on October 11, 2014, 09:59:09 AM
I think i fix it.
http://www.pinkpetal.org/index.php?topic=3493.0

Sweet, I'll try it when I get a chance.

Doesn't look like I'll get any time for the project today :( Maybe couple of hours in the evening to take a look at Gismos code.
Title: Re: General Discussion
Post by: DarkTl on October 12, 2014, 03:26:46 AM
It seems nice for a minigame, though we probably should add card decks or something, so you have to find better cards to beat some opponents. Otherwise there won't be any progression = boring after some time.
Title: Re: General Discussion
Post by: Xela on October 12, 2014, 03:46:47 AM
It seems nice for a minigame, though we probably should add card decks or something, so you have to find better cards to beat some opponents. Otherwise there won't be any progression = boring after some time.

Can be dependent on stats/equipment/luck. System will prolly be improved in the future.

*I did manage to turn some of Gismos pictures into buttons yesterday, maybe a bit more today, without logic still but some of them are now buttons :)

There is one kind of a button where a large frame is being shrunk, I couldn't find a way to properly reuse that :( We'll need a new one or the same one with a smaller size.

Title: Re: General Discussion
Post by: DarkTl on October 12, 2014, 08:41:32 AM
Stats can't be everything, because it will trivialize everything at high levels.
If you ever played Fallout NV, they have a cool card game there.
Title: Re: General Discussion
Post by: Thewlis on October 12, 2014, 01:11:33 PM
Committed ST.2, gonna update the Slave Training thread again.
Title: Re: General Discussion
Post by: Xela on October 12, 2014, 01:39:04 PM
Committed ST.2, gonna update the Slave Training thread again.

Awesome, push it when you're ready, I managed to create underlying logic (without mechanics) for Gismo's MC Buildup interface. There are some bugs (wrong button text blinks red when a different button is pushed)... not sure if it's a bug in Ren'Py or my fault.

There is also an issue with one of the frames (it's too big to scale down properly). I've used default one for now and Gismo can make a smaller pretty frame when he gets a chance.

It is now possible to pick stuff and information will appear on the screen in a fashion Gismo described in his post. Once again, small amount of code that took a long time to write due to some weird sh!t and lots of ifs... it now awaits more content :) We'll code in the actual bonuses later, I am thinking we may allow customization of stats and apply all extra bonuses when MC is being built.

It is not required to create a full 8 father stories, but game expect there to be two MC profiles with 3 sub-choices each as in the original sketch.
Title: Re: General Discussion
Post by: Eliont on October 12, 2014, 11:40:37 PM
Stats can't be everything, because it will trivialize everything at high levels.
If you ever played Fallout NV, they have a cool card game there.
Now deck don't exist. Cards creating in a start of new turn based on equipment and perks.
Unused card discarded on the end of turn.

Can you give me example?
I you mean create card system like Final Fantasy 8, then i think i may create hybrid version - rare equipment add chance to special card appearing in field.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2014, 02:43:46 AM
What bothers me most is that both enemies and players can be extremely strong at high levels with good equipment, at least in our game.
If there will be cards with more and more high values at higher levels, the system will lose its clarity quickly. Imagine a high lvl battle with cards like 58, 194, 132, 45, 63, 149 without a calculator.
It's probably unavoidable when there is a big difference in power, but in other cases some kind of normalization is necessary.

I you mean create card system like Final Fantasy 8, then i think i may create hybrid version - rare equipment add chance to special card appearing in field.
That's an interesting idea. But how are you going to determine whether an item is rare or not? Do we need a new field for items, like cheap/common/good/rare/unique?
Title: Re: General Discussion
Post by: Xela on October 13, 2014, 06:01:25 AM
*One of the most important tasks atm is to try and unify conversations and actions during girlsmeets, interactions (all kinds) and training. Does anyone have ideas on how to get that done and what issues we might face?

Edit:
*We also need some form of a method to determine state of "mood" for a girl to override stats if necessary, to use for interactions/profile/girlsmeets screens.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2014, 08:40:30 AM
Some basic thoughts, don't have much time right now.
- When disposition hits some value, you can hire her. When it hits another value, you find out where does she live.
If you don't want to hire her, you don't need to. As long as disposition is high enough, you can visit her anytime (and do interactions there).
- Girlsmeets. It's basically pickuping in case of new girls, when you try to establish basic relationships. When you meet a girl that you already know well enough, it should be something middle between GM and interactions, I mean available options.
- Dating. I'm not really sure what kind of system to use here. For now we could make it simple, like invite her somewhere (cafe, beach, etc) and use interactions menu there with bonus interaction points.
- Interactions. Include more personal options that cannot be used on the street. That includes sex stuff, I think, unless you hire a whore.

Clarify what do you mean by mood.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2014, 10:30:34 AM
Pushed some Pinkutako's items. I wish I could add his consumables, but he used known characters at icons, so it's not an option. Though the very idea to create a container with a girl trapped inside, either unique or random one, is interesting.
Title: Re: General Discussion
Post by: Xela on October 13, 2014, 10:56:57 AM
Some basic thoughts, don't have much time right now.
- When disposition hits some value, you can hire her. When it hits another value, you find out where does she live.

If she is unemployed, you should be able to hire her even at -100. Right now we don't track that... but that was the plan.

If you don't want to hire her, you don't need to. As long as disposition is high enough, you can visit her anytime (and do interactions there).
- Girlsmeets. It's basically pickuping in case of new girls, when you try to establish basic relationships. When you meet a girl that you already know well enough, it should be something middle between GM and interactions, I mean available options.

I thinks that's doable, can someone gather some images of apartments and rank them from 1 (poor) to 3 (or 5) (luxury). Game can determine where she lives on girls cash/place of work (I actually asked for some options for workplaces and simple ranking system as well and got some results (as possible workplaces) but those were never finished or ranked/wage determined or sorted by occupations properly (*I think Klaus tried sorting them to some degree) (stats/traits should matter for the wage as well), was about the same time as you wrote the base price sheet for stuff in PyTFall I think).

Those two things would be required if we don't want this system to be too random/inconsistent.

*Options can be more or less the same, responses might be different (Gms in AA2). I don't think maintaining different labels for (most) girlsmeets and iterations is sensible.

*If girl can be hired at low disposition in the future (and that is planned and confirmed in many discussions), there should be no practical difference between them at all... but figuring that out is why I've raised the subject.

- Interactions. Include more personal options that cannot be used on the street. That includes sex stuff, I think, unless you hire a whore.

Maybe, but sex stuff is not exactly offlimits in the forest or part completely either... We can simply block some options based on last label used or something.

Clarify what do you mean by mood.

A decent way to use mood tags based off flags. Actions can set those flags on scale from -5 to 5 for example. Those flags will overwrite settings game takes from joy.

If no flag is set, we determine the "mood" from girls joy.

If flag is set flag determines the mood and overrides joy settings (maybe based off normalization routine, -1 cannot override joy of 90 but - 3 to - 5 will override any joy setting).

There will be a new positional argument in girls show method that will be set to True and have the game pick correct mood images in all locations unless user explicitly sets that to true. We can use the same system in conversations and actions I guess.

It would be a good way to make use of all the work you guys did tagging the images and us coding the tagger system or tagging software that is semi-automatic and might work out marvelously.

Mood will be stuff like: "angry", "sad", "happy" and so on (what we can make use of with tags).

===============
I have a decent idea that might effect the entire gameplay but not time atm to propose it :( It's not relevant to moods/conversations.

**I am thinking we should try to give the whole slave training and maybe the gameplay itself different approach. In ancient times, values of skilled slaves was insane (skilled medical practitioner 50 - 70 times unskilled slaves, skilled artists/musicians x25 value the unskilled slaves, scribes x10 value of the unskilled slaves and etc.)

It might not be a bad idea to build the whole game around something like that (full training could take up to 1000 days and require a professional trainer (who can in turn train several slaves at the same time)).

Break first (Simpler/quicker process, good or bad) and teach later. Or break (somewhat higher value and sell at base price). Our exp system that doesn't allow stat to soar without control and that can be controlled through exp_adjust method could be of great help in balancing this as well.

In any case, this is a big decision so I'll leave this to a discussion for now.

This was it in the nutshell. I thought about many ifs/buts so it seems like a whole deal to type out...
Title: Re: General Discussion
Post by: DarkTl on October 15, 2014, 07:43:26 AM
That's probably because unskilled slaves were cheap, so there was a room for higher prices. I believe not every slave was a pretty, hot girl in the first place  :D

You see, we want freeable slaves. Thus, they cannot have something that free girls don't have at all, and vice versa. And free girls don't have many professional skills, unlike in SM3 for example. Iirc we only have strip and service stats that could be called pro skills.

So in order to make expensive, valuable slaves we need useful, valuable skills that girls can learn, and preferably something better, deeper than "dance 0/100". Maybe some kind of skill tree or multilevel traits or flags of some kind, I don't know.
And these skills actually should be useful and uncommon, and you have to pay extra to girls that have them. That's why slaves that have them too should be expensive.

In your example slaves that you mentioned have uncommon skills. Good doctors and artists are valued even now, and without education system (I wonder if they have one in Pytfall?..) educated people were rare enough.
In Jack-o-nine tails you actually could make slaves for various professions, because the game has enough very diferent skills.
We only have base stats, battle stats, sex skills and service. Cleaners are common, and combat is forbidden for slaves, so the only type of valueable slaves that we can currently make is sex retalated.
Title: Re: General Discussion
Post by: Xela on October 15, 2014, 11:54:44 AM
I and Thewlis will make it work logically. It's more of a question of general direction that a game may take.

I am concidering a lot of other stuff like farming with tiled business and competition for example. It seems to me atm a very interesting route to take.
Title: Re: General Discussion
Post by: DarkTl on October 15, 2014, 12:40:33 PM
Competition? Do you mean AI opponents? I guess we cannot really handle it in the same way WM handles it, there are more things than just brothels in our game.
Title: Re: General Discussion
Post by: Xela on October 15, 2014, 01:02:36 PM
Competition? Do you mean AI opponents? I guess we cannot really handle it in the same way WM handles it, there are more things than just brothels in our game.

We can handle it in exactly the same way but I recon that we can do better. It's (once again) a question of if we should take slow going more realistic training and business buildup or faster gameplay (as we have now).

I wouldn't worry about the AI right now as that, as well as the city simulation will be something we work on post next release. Right now, we have a list of stuff that needs (or at least should) to be done before the next release.

ST module is getting better and better and will take logical and playable shape very soon and I'll try to wrap up simple SE module as well (just need to take a look at jail and turn on girls capture). From that point on, I'll (once again, just like before the first release) block free access to repository and we'll work on the rest of "TODO" list which will be balancing, content and gameplay.

If we can keep with the pace we're on now, I recon that we can manage a decent new release around x-mass. What we do afterwards will depend on our own ideas and feed back across 5 forums just as it was the first time.
Title: Re: General Discussion
Post by: DarkTl on October 15, 2014, 01:32:11 PM
If we look at your example, a doctor requires long education and practice, and an artist requires talent, something that cannot be obtained by anyone. Though anyone can learn to draw eventually, I guess.
So, there are two parts: long training (and you need a good student to make it worth) and innate talent. Maybe even both to make a really good specialist. Talents don't have to be visiable and obvious, unlike traits.

I think this looks like a completely new system rather than just a part of ST. Skills and talents need utility = more content like jobs.
Title: Re: General Discussion
Post by: Xela on October 15, 2014, 03:00:22 PM
I said this from the start,  possible new direction to the game play. 

Hidden talent will simply be a part of it.
Title: Re: General Discussion
Post by: DarkTl on October 16, 2014, 10:07:42 AM
I mean we should finish current systems before starting a new, possibly big one  :)
Title: Re: General Discussion
Post by: Xela on October 16, 2014, 10:14:07 AM
I mean we should finish current systems before starting a new, possibly big one  :)

It not that big of a change + it's not a "new system"...
Title: Re: General Discussion
Post by: Xela on October 16, 2014, 02:36:07 PM
Tiny SF Update:

- Slaves can no longer equip large weapons
- Slaves can no longer equip for combat from girls equipment screen
- All girls will try to auto-equip large weapons for all jobs if weapon type starts with "NW" or "nw" (* Short for None-Weapon)

*Note: Use NW/nw for none weapon types. There is one work currently used for broom and another for dildo, I don't want to create a list of all options so stuff like:

NW-Cleaning Tool
NW-Sex Toy

Will work.
Title: Re: General Discussion
Post by: livingforever on October 17, 2014, 12:23:04 PM
Hi!
It's (once again) a question of if we should take slow going more realistic training and business buildup or faster gameplay (as we have now).
My vote goes to fast and simple gameplay instead of realism.
That really is kind of a marketing question though. Realistic, deep gameplay will allow spending more time with the game, but will make it more difficult, hence attract more hardcore players.
Simple, fast gameplay means faster successes and is generally easier to understand - which results in more casual players and more players overall.

There is no better option, but let's look at the game's target audience: Let's face it, it's a porn game. Do you really think many people care about playing a porn game "hardcore"?

If we look at your example, a doctor requires long education and practice, and an artist requires talent, something that cannot be obtained by anyone. Though anyone can learn to draw eventually, I guess.
I thought the same until I had a semester drawing course. I was amazed to find out that it doesn't require talent at all (although it helps to have it) but rather lots of practice (even for those that have talent).
Therefore, I suggest ignoring special talents and stick with what's already there.
Have fun!
Title: Re: General Discussion
Post by: DarkTl on October 17, 2014, 01:54:13 PM
It not that big of a change + it's not a "new system"...
Somehow it reminds me those ideas about making every girl truly unique with the help of unique preferences.
Maybe if you give us an example...
Title: Re: General Discussion
Post by: Xela on October 17, 2014, 03:06:24 PM
My vote goes to fast and simple gameplay instead of realism.
That really is kind of a marketing question though. Realistic, deep gameplay will allow spending more time with the game, but will make it more difficult, hence attract more hardcore players.
Simple, fast gameplay means faster successes and is generally easier to understand - which results in more casual players and more players overall.

There is no better option, but let's look at the game's target audience: Let's face it, it's a porn game. Do you really think many people care about playing a porn game "hardcore"?

We're past "fast/simple gameplay" with this design:

- Characters (Lots)
- Items (250+)
- Traits (60+)
- Arena
- Brothels
- Advanced tagging system
- Simulated Exploration
- Girlsmeets
- SlaveMarket
- Auto-Equipping/Auto-Buying items
- Realtor
- Citymap
- Finances logging
- Simple battle-engine
- School
- Shops/Inventories
- Events system
- Slave Training
- Advanced MC housing
- Improved Battle Engine
- Player Guided Exploration
- Cloning/Pregnancy systems
- Crafting/Alchemy
- Relationship system
- Quests system
*Prolly more

I'd question if this is a (pure) porn game at this point (but i am glad that you think that because I quit Alkion because it seized to be a hentai :D ) I feel like we're moving towards a sim game with an adult approach (that doesn't conveniently forget about matters like slavery/sex/war/death just because it's a game). There is a hentai edge, obviously, this is how it got started and we'll keep to that in our concepts/designs whenever it's sensible.

I thought the same until I had a semester drawing course. I was amazed to find out that it doesn't require talent at all (although it helps to have it) but rather lots of practice (even for those that have talent).
Therefore, I suggest ignoring special talents and stick with what's already there.

That's true, even I got fairly good with Photoshop at some point (admittedly any progress I made was slow) while I can barely draw a straight line with a pencil on paper :D

Somehow it reminds me those ideas about making every girl truly unique with the help of unique preferences.
Maybe if you give us an example...

Example of what, my proposal is pretty clear. I have some specific ideas as well but you'll have to be clearer about what you'd like to know.
Title: Re: General Discussion
Post by: Gismo on October 17, 2014, 04:20:47 PM
Ok this is my first attempt to draw a map. It isn't finished, simply laid out to collect your wishes and councils.
https://yadi.sk/d/vT55IAl-c6ibo
Title: Re: General Discussion
Post by: Thewlis on October 17, 2014, 04:45:59 PM
Heads up, I posted an update about the ST over at the ST thread (http://www.pinkpetal.org/index.php?topic=3468.msg30555#msg30555). It contains information about changes I've made to Buildings / Jobs in general and should be looked at by anyone who uses them.
Title: Re: General Discussion
Post by: DarkTl on October 18, 2014, 03:52:43 AM
Example of what, my proposal is pretty clear. I have some specific ideas as well but you'll have to be clearer about what you'd like to know.
How are you going to handle those valuable skills that make slaves so expensive and take a lot of time to train? Like I said, all skills need utility. By utility I mean more than higher price for slave btw. Just adding some skills that do nothing will make the game boring like SM3.
So basically you have to add like 5-10 skills (flags/traits/whatever) and make them very useful for something. That's how I see it, at very least.

For example, we add a doctor flag that allows to heal other characters. We should code the healing process and a system to control it.
Then we add an artist flag that allows to create works of art. We should code items generation and a system to control it.
And so on.

Seems like a lot of coding.
Title: Re: General Discussion
Post by: Xela on October 18, 2014, 05:06:41 AM
How are you going to handle those valuable skills that make slaves so expensive and take a lot of time to train? Like I said, all skills need utility. By utility I mean more than higher price for slave btw. Just adding some skills that do nothing will make the game boring like SM3.
So basically you have to add like 5-10 skills (flags/traits/whatever) and make them very useful for something. That's how I see it, at very least.

For example, we add a doctor flag that allows to heal other characters. We should code the healing process and a system to control it.
Then we add an artist flag that allows to create works of art. We should code items generation and a system to control it.
And so on.

Seems like a lot of coding.

Well, yeah, that's what I meant + some ideas like hidden talent/traits mods/special events and practice (not just learning but also practicing crafts while still in training). Is there a reason you believe that this system will require more coding than the current one (like in most other similar games)? That doesn't seem to be the case to me.

I have trouble with envisioning decent gameplay in a game of our size if a character can be trained to do anything in 50 - 100 days... Balancing that out to make it of any interest seems like a lot more work (if possible at all).

It's not just for slaves obviously, free characters will work off the same system and require payment of wages accordingly.
Title: Re: General Discussion
Post by: livingforever on October 18, 2014, 10:00:21 AM
Hi!
...
Two problems:
First, I never said that it's only a porn game. It isn't, but that doesn't change the validity of my argument.
Second, you listed a bunch of simple systems (except for a few) that combined make a extensive game, which is absolutely fine.

To make the second point more clear, I'll directly compare a hidden talent system (which I oppose) with a skill system (which I support).
Basically, the end result is the same: The character is slightly better at a given task. However, the way to get there is completely different. A skill system is an own subsystem of the character, it adds another button to the UI but it doesn't make current systems more complex. Hidden talents on the other hand are not a subsystem, they are a blind addition to existing value and price evaluation, therefore they make playing the game more difficult.
In keywords:
Skill system - The user has control, it's intuitive because the effects are clear, the only thing getting more complex is the UI.
Talent system - The user has no control, it's unintuitive because the effects are unknown which makes the already intransparent pricing even harder to understand.

You could argue that making the pricing as intransparent as possible is intentional, but that would contradict your statement of focusing on simulation.

Also, a skill system would allow more character customization and specialization which the game currently lacks (mostly because of the very limiting professions).
Have fun!
Title: Re: General Discussion
Post by: Xela on October 18, 2014, 10:30:17 AM
I don't like when all things are "clear" about a character but it's doesn't make a lot of difference to me if there is a skill or a talent system in the game. I'll try to take a look at girlsmeets/interactions code to figure out how a common system can be created.
Title: Re: General Discussion
Post by: Thewlis on October 18, 2014, 11:14:56 AM
You could make talents unknown but visible. Say you go to buy a slave and one of them has "Unknown Talent" in the skills/traits area (wherever would fit best). You know she's good as something, but you still have to find out what. You could then have some girls who's talent is known 'cause they found out what it was before being enslaved / with an earlier master / whatever.

Also on the point of talent vs. training I prefer the idea of talents being a starting bonus to a skill. Say all girls start with Art 0, a girl with a talent in art (once discovered) would get a level in Art once they find out.
Title: Re: General Discussion
Post by: Xela on October 18, 2014, 12:08:23 PM
Yeap, that would be very good.

Talents can be displayed after they're discovered. I was thinking that they should also lower training time and give production bonuses where sensible.
Title: Re: General Discussion
Post by: DarkTl on October 18, 2014, 12:08:55 PM
Ok this is my first attempt to draw a map. It isn't finished, simply laid out to collect your wishes and councils.
I have a feeling that such a design would be better for quarter map rather than city. The city is supposed to be big enough to be independent, while at this map it seems quite small. Maybe it's just me.
Also I think it's too bright, you could try to make it a bit darker.

I'll try to take a look at girlsmeets/interactions code to figure out how a common system can be created.
About that, I wonder if we could try to increase the number of topics while making them generic with AA2 type of reactions (bad, normal, good, very good). AA2 calculates the outcome depending on personality and mood, we could do something like that with traits (and we have mood too).
As for mood flags you mentioned, during girlsmeets it could be more or less random, I guess. And MC's actions could change it.
Title: Re: General Discussion
Post by: Xela on October 18, 2014, 12:21:38 PM
I have a feeling that such a design would be better for quarter map rather than city. The city is supposed to be big enough to be independent, while at this map it seems quite small. Maybe it's just me.
Also I think it's too bright, you could try to make it a bit darker.

Brightness didn't bother me for some reason but I've submited a whole list of *notes to Gismo :)

We'll never get "large city scale" with a map like that, I've googled some maps and noone seems to be getting it right with this type of design. I think the objective here is to create distinct area (quarters) and locations. We can describe the city in intro to the game and lore.

About that, I wonder if we could try to increase the number of topics while making them generic with AA2 type of reactions (bad, normal, good, very good). AA2 calculates the outcome depending on personality and mood, we could do something like that with traits (and we have mood too).
As for mood flags you mentioned, during girlsmeets it could be more or less random, I guess. And MC's actions could change it.

I'll look into that as well, having a really bad day coding here, just deleted (on purpose) in HG work I did for the past four hours cause it wasn't going anywhere reverting to public version. Don't know if I am going to make another attempt at this tonight...

But I'll give it some further thought. Some answers would prolly have to become more general for this to work.
Title: Re: General Discussion
Post by: DarkTl on October 18, 2014, 01:27:10 PM
I didn't mean that we should use AA2 girls reactions (it's impossible actually, they are not general enough). However, when you try a topic, the game let you know how successful it was (like "you have a long, deep conversation").
In fact, we could use any topics like science, art, policy as long as we use such reactions, providing that we use a decent algorithm.

Also, I believe we should use more icons and less strings in interactions gui. Take a look at AA, they used there a lot.
Title: Re: General Discussion
Post by: Xela on October 18, 2014, 01:58:34 PM
I didn't mean that we should use AA2 girls reactions (it's impossible actually, they are not general enough). However, when you try a topic, the game let you know how successful it was (like "you have a long, deep conversation").
In fact, we could use any topics like science, art, policy as long as we use such reactions, providing that we use a decent algorithm.

Also, I believe we should use more icons and less strings in interactions gui. Take a look at AA, they used there a lot.

We need to write a base concept for interactions. Not really sure on the icons front, that may cut off some important options and possibilities. Let me put some thought in a text file and we can discuss options after I post that.
Title: Re: General Discussion
Post by: DarkTl on October 18, 2014, 04:04:14 PM
After awhile player gets used to gui, so he doesn't even need strings to know where to click. Also we have tooltips, unlike AA, where you actually must remember what icons mean (and even that is not a big deal, surprisingly).
Title: Re: General Discussion
Post by: Xela on October 18, 2014, 05:26:22 PM
After awhile player gets used to gui, so he doesn't even need strings to know where to click. Also we have tooltips, unlike AA, where you actually must remember what icons mean (and even that is not a big deal, surprisingly).

We could in theory use icons for main interactions menu but I'd prolly like to avoid even that... in any case, here are some thoughts for a coherent interactions concept that doesn't have to be rewritten again and should answer to all our/modders future needs:

=====
All interactions are handled by a Python class, menus and dropdowns should be constructed by it and it should be possible to add options to them by modders (similar to a way it is possible to add options to actions and events right now).

Every option that causes an option (button) to appear in the menu or dropdowns should appear on conditions.

Interactions should consist of chatting:
*Dark proposed different response labels (like bad, normal, good, very good) which may fall back to normal if bad/good/very good do not exist.
and actions like:
*Touch
*Sex
*Give money
*Assault
etc.

To make it more coherent, a system if “mood_state” needs to be created to pick replies. Normal replies can be determined by disposition, stats, traits and etc.
Special replies will override of mood state is set, for example if you just beat or seriously insulted a girl, her replies should reflect that even if disposition is still reasonably high.

All this will mean that current girlsmeets concept and interactions concept will have to be scraped (in code) while labels created by Dark/CW can be reused exactly as they are. It will prolly make sense to rename the labels themselves.

All chats and actions will consume interactions points (converted APs).

This system will be manageable and will have to be balanced once. It will also allow to remove some options from the menus (like some options may be appropriable only when player first meets the character while other only after some relationship has been established). Also options can be set to be displayed only in some specific areas.
=====
Title: Re: General Discussion
Post by: DarkTl on October 19, 2014, 05:24:04 AM
I feel like we're moving towards a sim game with an adult approach (that doesn't conveniently forget about matters like slavery/sex/war/death just because it's a game). There is a hentai edge, obviously, this is how it got started and we'll keep to that in our concepts/designs whenever it's sensible.
I'd say, just like most of indie dev teams without funding, we make a game of our dreams in the first place, and its genre is secondary.
Btw, you might want to check brothels.im, they improved the game a lot. It even has a map now.

I have trouble with envisioning decent gameplay in a game of our size if a character can be trained to do anything in 50 - 100 days... Balancing that out to make it of any interest seems like a lot more work (if possible at all).
If skills will be rare and actually useful, it's not a problem.
Also we could add here magic, it doesn't seem like a common thing to me. Spells could be more useful and more difficult to learn, or we could add levels of magic or something.

I'm going to take care of girls social levels, including concept and images for rooms.
Title: Re: General Discussion
Post by: Xela on October 19, 2014, 07:51:54 AM
Btw, you might want to check brothels.im, they improved the game a lot. It even has a map now.

Is there anything specific that you liked? Game is built around a concept of a few customized characters. Something along those lines is already possible in PyTFall.

If skills will be rare and actually useful, it's not a problem.

I am suggesting to build half a game around that, ofcourse they will be of use.
Title: Re: General Discussion
Post by: DarkTl on October 19, 2014, 08:32:22 AM
Rooms management is kinda cool, with intuitive gui. We could use it for MC house at least, maybe even for other places.
Title: Re: General Discussion
Post by: Xela on October 19, 2014, 11:30:07 AM
Look like a very basic Drag&Drop interface.

Doubt we'll do advanced MC housing any time soon with all the other stuff at hand.
Title: Re: General Discussion
Post by: Thewlis on October 19, 2014, 11:52:31 AM
We could in theory use icons for main interactions menu but I'd prolly like to avoid even that... in any case, here are some thoughts for a coherent interactions concept that doesn't have to be rewritten again and should answer to all our/modders future needs:

Been thinking about this and I have some ideas.

I shouldn't be too hard to modify the current actions code to work for girl interactions as well. It stores the actions under a key (currently the location name) so passing the full name of the girl to the system would work for handling access. As the systems doesn't (or shouldn't at least) save the actions and are rebuilt when the game is restarted / loaded it wouldn't take up too much space to have a unique set of actions for each girl. We could however just create 1 set of actions under "girlsmeet" or something and use it for everyone.

Adding dropdowns / submenus to the system wouldn't be hard, just create a custom action to specify what menu to show and pass that as the action's action.

Maybe add a new dict to girls that can be set in their xml/json files to add custom actions to the menu that can then call up girl-specific labels if authors desire. (If we use a global menu instead of char-specific this could still be used, just require a different function/label call to ensure it has everything needed).

As for skills, we could either:
1) create a new dict to ensure no overlap between the current stats and their new skills (maybe move sex/service/strip over as well). Then have the accessing function return 0 for any skill request that doesn't have a key. This would allow easier creation of skills and provides less clutter on the screen as only skills that have training are visible. Probably use a structure like {"skill": {"level": 0, "hidden": True, "talent": 1}}.

2) place the new skills into the current stat store and use the existing systems. Would force all skills to be visible on the girls screen. Would also need a new dict for talents however, something like {"skill": {"talent": 1, "hidden": True}}.
Title: Re: General Discussion
Post by: Xela on October 19, 2014, 01:06:09 PM
Been thinking about this and I have some ideas.

I shouldn't be too hard to modify the current actions code to work for girl interactions as well. It stores the actions under a key (currently the location name) so passing the full name of the girl to the system would work for handling access. As the systems doesn't (or shouldn't at least) save the actions and are rebuilt when the game is restarted / loaded it wouldn't take up too much space to have a unique set of actions for each girl. We could however just create 1 set of actions under "girlsmeet" or something and use it for everyone.

Adding dropdowns / submenus to the system wouldn't be hard, just create a custom action to specify what menu to show and pass that as the action's action.

Maybe add a new dict to girls that can be set in their xml/json files to add custom actions to the menu that can then call up girl-specific labels if authors desire. (If we use a global menu instead of char-specific this could still be used, just require a different function/label call to ensure it has everything needed).

What would we an advantage of having girls specific access? It's prolly better handled with flags and buttons (actions) conditions.

Otherwise, if you want to expand your actions class to girlsmeets, you're more than welcome :)

As for skills, we could either:
1) create a new dict to ensure no overlap between the current stats and their new skills (maybe move sex/service/strip over as well). Then have the accessing function return 0 for any skill request that doesn't have a key. This would allow easier creation of skills and provides less clutter on the screen as only skills that have training are visible. Probably use a structure like {"skill": {"level": 0, "hidden": True, "talent": 1}}.

2) place the new skills into the current stat store and use the existing systems. Would force all skills to be visible on the girls screen. Would also need a new dict for talents however, something like {"skill": {"talent": 1, "hidden": True}}.

Yeap, sounds exactly what is required...
Title: Re: General Discussion
Post by: DarkTl on October 19, 2014, 02:22:35 PM
Look like a very basic Drag&Drop interface.
Yup, and it looks very good. Instead of menus just drag and drop characters icons into rooms.
Title: Re: General Discussion
Post by: Xela on October 19, 2014, 02:34:06 PM
Yup, and it looks very good. Instead of menus just drag and drop characters icons into rooms.

And less so if you're planning to have a range of 2 - 50/60 rooms in the building.

Title: Re: General Discussion
Post by: livingforever on October 19, 2014, 04:01:26 PM
Hi everyone.

Maybe add a new dict to girls that can be set in their xml/json files to add custom actions to the menu that can then call up girl-specific labels if authors desire. (If we use a global menu instead of char-specific this could still be used, just require a different function/label call to ensure it has everything needed).

As for skills, we could either:
1) create a new dict to ensure no overlap between the current stats and their new skills (maybe move sex/service/strip over as well). Then have the accessing function return 0 for any skill request that doesn't have a key. This would allow easier creation of skills and provides less clutter on the screen as only skills that have training are visible. Probably use a structure like {"skill": {"level": 0, "hidden": True, "talent": 1}}.

2) place the new skills into the current stat store and use the existing systems. Would force all skills to be visible on the girls screen. Would also need a new dict for talents however, something like {"skill": {"talent": 1, "hidden": True}}.
Noted.

And less so if you're planning to have a range of 2 - 50/60 rooms in the building.
This.
Drag and drop isn't necessarily a bad idea, but doing it per room is. Do it per job instead (multiple characters doing the same job must of course be represented by the UI).
Have fun!
Title: Re: General Discussion
Post by: Thewlis on October 19, 2014, 04:49:39 PM
What would we an advantage of having girls specific access? It's prolly better handled with flags and buttons (actions) conditions.

I know one of the girls currently made (probably outdated thought) came with their own rpy file with custom events in. Giving an author a way of adding custom interactions to the menu easily would allow them to customise their character further. It could probably be handled solely with events and quests instead, but it wouldn't be too hard to add.
Title: Re: General Discussion
Post by: Xela on October 19, 2014, 05:01:21 PM
This.
Drag and drop isn't necessarily a bad idea, but doing it per room is. Do it per job instead (multiple characters doing the same job must of course be represented by the UI).

Yup, and it looks very good. Instead of menus just drag and drop characters icons into rooms.

We have a working Drag&Drop interface in the FG (PyTom spent a lot of time fixing bad code in Ren'Py that our interface uncovered) and as of 6.18 it should be working well. I just can't see Drag&Drop in brothels...

I know one of the girls currently made (probably outdated thought) came with their own rpy file with custom events in. Giving an author a way of adding custom interactions to the menu easily would allow them to customise their character further. It could probably be handled solely with events and quests instead, but it wouldn't be too hard to add.

I am all for adding that (should be stated in the pseudo-concept). But we need conditions for the buttons so modder can simply put:

if chr == char["Hinata"] / if chr.id == "Hinata" to be evaluated with any additional flags/conditions. I meant that there doesn't seem to be a point in adding anything specific for the girls.

There are two ways that a modder can overwrite default girlsmeets (future interactions) already. One is creating a label with the same name as an interaction adding _girl.id to it and another having specific name for a label that will completely override the entire girlsmeets. Allowing to add options is a nice touch but since it can be done through eval(), creating something special seems like an overkill.



Edit: I got rid of and rescaled some pictures. Your next update might take a while.
Title: Re: General Discussion
Post by: livingforever on October 19, 2014, 06:41:01 PM
Hi again!
We have a working Drag&Drop interface in the FG (PyTom spent a lot of time fixing bad code in Ren'Py that our interface uncovered) and as of 6.18 it should be working well. I just can't see Drag&Drop in brothels...
It can work, but it's not a must-have.

There are two ways that a modder can overwrite default girlsmeets (future interactions) already. One is creating a label with the same name as an interaction adding _girl.id to it and another having specific name for a label that will completely override the entire girlsmeets. Allowing to add options is a nice touch but since it can be done through eval(), creating something special seems like an overkill.
I think you didn't get the point. From what I understood, Thewlis wants pack creators to be able to add custom dialog options with custom replies without modding the game, but through the girl's configuration instead.
Personally, I think that is a good idea and shouldn't be difficult to add - we just need a simple script interface or (alternatively) a JSON format that makes sense.
Have fun!
Title: Re: General Discussion
Post by: Thewlis on October 19, 2014, 07:36:43 PM
(http://i.imgur.com/T76vlIB.png)

So many menus.

Interface is practically identical:
Code: [Select]
pytfall.world_actions.location("city_beach")
pytfall.world_actions.menu("relax", "Relax")
pytfall.world_actions.add(("relax", "sunbathe"), "Sunbathe", "sunbathe_event")
pytfall.world_actions.add(("relax", "swim"), "Swim", "swim_event")
pytfall.world_actions.meet_girls()
pytfall.world_actions.look_around()
pytfall.world_actions.finish()

Just use the menu function to add a new menu, then use a tuple/list that contains the sub-menus and ends in the key for the action. The menus use the same properties as the actions (minus an actual action) so they can be customised to show/hide like normal.

I did change how the actions (and hence menus) use conditions however. Before it was solely based on flags. Now if you want to check a flag you need to create a GlobalFlagCheck instance and pass it to "condition".

Code: [Select]
condition="chr.fullname == \"Sakura Haruno\""
condition=GlobalFlagCheck("visited_sm")
condition=17
condition=["True", "7", "lol"]

Condition works with strings (by evaluating them via eval), functions (or classes with a __call__ function, like GlobalFlagCheck) and lists (where their contents are evaluated). Anything else is cast to bool. If you want to pass a list to cast its length to bool you'll need to wrap it in a len call.

Also I pushed the new Building/Job changes. I tested them and everything seemed to be working properly, but I can't promise that I got every possible combination of if statements so be prepared for errors in next_day.

I also fixed the char-creator from giving you the wrong appearance when you changed it, and if you select a new location for a girl that has the same action as their previous they keep it.

Also, how the hell do you use spoilers on here?
Title: Re: General Discussion
Post by: DarkTl on October 20, 2014, 01:03:27 AM
I never mentioned brothels  ::)
I like how every room there has its own small menu with options to rebuild it. Also there are rooms occupied with garbage, and you have to remove it for a start.
This type of micromanagement would be too much for huge, multiple buildings like brothels anyway, but not for small, single ones. Characters pictures inside rooms frames are intuitive and illustrative.

Also, how the hell do you use spoilers on here?
You can't. In case of pictures many services provide an option to show a smaller copy instead of the whole picture.
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 03:44:42 AM
...

Downloading it now.

I think that interactions should look/function exactly the same as girlsmeets look now. Maybe with texts and nullspace to separate chat from actions... Not sure yet.

Yeah, there are no spoilers in these forums for some reason.

I never mentioned brothels  ::)
I like how every room there has its own small menu with options to rebuild it. Also there are rooms occupied with garbage, and you have to remove it for a start.
This type of micromanagement would be too much for huge, multiple buildings like brothels anyway, but not for small, single ones. Characters pictures inside rooms frames are intuitive and illustrative.

I know, I like Drag&Drop interfaces as well where they're sensible. If we find a good place for one, I'll code it in :)
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 04:51:57 AM
Also I pushed the new Building/Job changes. I tested them and everything seemed to be working properly, but I can't promise that I got every possible combination of if statements so be prepared for errors in next_day.

ND seems to be working fine at face value.

I've fixed some spelling mistakes in actions routines but there is still at least one error in slave market. If time permits I'll try to study the new code a bit to figure out whats what.

===
Edit: Fixed the SM/Arena through your new Flags Proxy class. Great job on new code, I hope there is moar to come ;)

*Interactions should be registered once for whereever they're called I think and not per screen.
Title: Re: General Discussion
Post by: DarkTl on October 20, 2014, 08:08:35 AM
I have some doubts concerning social status as a part of life simulation system.

If we allow girls to freely upgrade stats, earn money, rise social status and improve life conditions, then eventually every girl will be a rich aristocrat or something.
It definitely is at odds with what we see irl.
So either we set strict limits, like any extra money just disappear if social status is not high enough, stats cannot be rised more than, let's say, 50 per social level, etc.
Or we create invisible force majeure events that from time to time "nerf" girls randomly.
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 08:34:10 AM
I have some doubts concerning social status as a part of life simulation system.

If we allow girls to freely upgrade stats, earn money, rise social status and improve life conditions, then eventually every girl will be a rich aristocrat or something.
It definitely is at odds with what we see irl.
So either we set strict limits, like any extra money just disappear if social status is not high enough, stats cannot be rised more than, let's say, 50 per social level, etc.
Or we create invisible force majeure events that from time to time "nerf" girls randomly.

We can balance it simply by having them pay rent + life expenses sum of which is slightly lower then wage. Or just pay 5% of the wage for example so girls can buy items.
Title: Re: General Discussion
Post by: DarkTl on October 20, 2014, 09:33:43 AM
Nah, it only solves money problem. We should do something about stats and possibly items (to avoid cluttered inventories).
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 10:59:52 AM
Nah, it only solves money problem. We should do something about stats and possibly items (to avoid cluttered inventories).

You're talking about fixing problems we do not even have yet...

Girls could be set to autobuy items after they gather between 3k+ and 10k+ gold for example. Depending on left-overs from earnings/rent we can have girls buying items once at any intervals.

If truth be told I don't know wtf you're talking about here... if a gets 10 gold profit per day, she'll have decent amount of cash in an year. I can also code in item selloff routines for free girls. We can further manage this through some silent events that draw cash from them (sick family, robbery, gambling and etc).

They may all end up as rich aristocrats with a system like that but if that happens after 5000 days for 20% of the girls, who gives a damn?
Title: Re: General Discussion
Post by: DarkTl on October 20, 2014, 11:20:07 AM
Pardon me for trying to make a more clear concept. I should have known that such things are not welcomed in the project.
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 11:35:51 AM
Pardon me for trying to make a more clear concept. I should have known that such things are not welcomed in the project.

I am a bit on edge tonight...

This is one system that doesn't seem complex to me, just slow stats/money growth with a sprinkle of auto-buying items that is easy to control. Very little revolves around it and it exists to create an illusion of live city and set some flags for girls to improve girlsmeets.
Title: Re: General Discussion
Post by: Gismo on October 20, 2014, 12:20:14 PM
Here one more attempt to create the map.
(http://s18.postimg.org/t16doww8l/humans14.jpg) (http://postimg.org/image/t16doww8l/)
Title: Re: General Discussion
Post by: livingforever on October 20, 2014, 12:47:40 PM
Hi all!
life simulation system
Oh god. Please keep in mind you're creating a game here.

This is one system that doesn't seem complex to me, just slow stats/money growth with a sprinkle of auto-buying items that is easy to control. Very little revolves around it and it exists to create an illusion of live city and set some flags for girls to improve girlsmeets.
DarkTI is talking about a valid problem that you should consider before implementing the system. And it is not just a balance problem.

Let me try to explain: There are two scenarios.
Your solution is to simply reduce the amount of money/items/whatever a character gains so the consequences won't be immediate.
By doing that, you are eliminating the whole point of the concept because there is almost no progress and a character takes hundreds of days for a crappy item and thousands for more.
In this case, you can scrap the concept right away. What's the point if the progress is so slow that most players won't even see it?

The second scenario in your solution would be to adjust the progress to be faster and more noticable, but that would bring up the problem of infinite growth more quickly.

Obviously, both scenarios aren't good. That's why DarkTI is bringing up ideas on how to fix it. If you can't, you shouldn't waste your time with that system.
What you need is a way to change equipment, consumables and dialogs (or other GM aspects) without (or only very rarely) changing the social status (upwards and downwards).
Have fun!
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 01:17:54 PM
Here one more attempt to create the map.
(http://s18.postimg.org/t16doww8l/humans14.jpg) (http://postimg.org/image/t16doww8l/)

This looks freaking awesome :)

Let me try to explain: There are two scenarios.

Why is there no scenario where we get a simple, linear system that lies overwhelmingly outside of players influence just right without any fuss?

After Dark puts together some resources, I or Thewlis will code some simple variant of this system. If there are problems with it, we'll handle it afterwards but I'd be amazed if the whole logic will be more than 40 - 50 lines (without loading resources) of simple, tweakable code. Maybe I underestimate or don't see some factors that may complicate this but Interactions (new girlsmeets/action module), ST, SE and content is what I have on my mind when I think PyTFall right now. Improved tags design might also prove to be a very complex topic.

====
If there are specific ideas/requests, lets hear them. General suggestions on how to solve phantom issues with a system that is seemingly simple in a game where we have created over 50k lines of code and content together sounds weird to me.

*but there is a good chance that I just need a good night sleep to clear my head cause it's been a crazy day and insane 4 weeks with any free time that I had going into the project (I am hopelessly behind on all other forms of entertainment at this point :D)
Title: Re: General Discussion
Post by: livingforever on October 20, 2014, 01:53:20 PM
Hi!
Why is there no scenario where we get a simple, linear system that lies overwhelmingly outside of players influence just right without any fuss?
Because a linear system is the worst thing you can do. It doesn't matter how you balance it, it will always feel wierd either for players that don't play much or for those that do.

I or Thewlis will code some simple variant of this system. If there are problems with it, we'll handle it afterwards
Right. Ignore potential problems, write code, see problems, write more code, fix problems, rewrite code, etc.
You could save yourself so much work if you would stop ignoring the conceptional phase that is very important for every software project.

If there are specific ideas/requests, lets hear them. General suggestions on how to solve phantom issues with a system that is seemingly simple in a game where we have created over 50k lines of code and content together sounds weird to me.
Except that it's not a phantom issue.
But fine, I'll try to serve it to you on a silver tray.

DarkTI already suggested something, so let's pick that up: A social status.
The sociel status would limit the equipment that a character can buy, the amount of money she/he can spend on it, maybe give stat bonuses (or maluses).
Add random events that can promote or demote a character into another social class to spice things up a little.

Example classes:
Beggar - Attack +10, Defense +10, Magic -10, Health +25, Vitality +50, Charisma -20, Refinement -30, very low quality equipment and consumables, almost no money gains
Poor - A +5, D +5, M -5, H +10, V +25, C -10, R -15, low quality, reduced
Average - medium quality, normal
Wealthy - A -5, D -5, M +5, H -10, V -25, C +10, R +15, high quality, increased
Noble - A -10, D - 10, M +10, H -25, V -50, C +20, R +30, very high quality, lots of cash

Example events:
Bandit raid: Demote a "Wealthy" classed character to "Average"
Scandal/War: A noble loses his/her title - demote to "Wealthy" class
Thievery: Demote from "Average"
Welfare donation: Promote from "Beggar"
...

As mentioned before, such events should be very rare.
Have fun!
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 03:11:02 PM
...

Again: every free indie hentai project that had a clearcut concept written for it (or it's parts) has failed or is at standstill. I know it works for commercial games but I need to see at least one game like ours where it worked out for the best. This doesn't make sense, but same goes for a lot of things in life.

*It should be noted that we don't really ignore the conceptual phase, we simply adapt because proper concepts deal with sketches, loads of writing, mock-up code and we simply cannot afford that.

As far as I am concerned, we've saved time by writing base code for modules, looking how it interacts with the game, improving and adding stuff to it until it takes shape we'd like it to have and sometimes even rewriting the whole thing as we now do with girlsmeets/interactions logic (not labels) for example. I have countless examples to back this up...

=====================
We can go with social classes... I had ideas on how to do it much simpler (at least for now).

Lets start with jobs and housing, social status may prove to be a lot more far reaching than this module, lets see the system in the game, look at how it works/feels/interacts with other modules (new options for Interactions) and work up from there.
Title: Re: General Discussion
Post by: CherryWood on October 20, 2014, 03:14:03 PM
Social status? Do you mean that "rank" in game for prostitutes?
Isn't that solved from the start by that refusing customers+lowering reputation system? There was already someone in alpha who almost ruined themself by promoting girls too fast, because there were simply not enough customers for many of them working at the same time.

//Sorry for not contributing, I have some other work to do now  :(
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 03:24:08 PM
Social status? Do you mean that "rank" in game for prostitutes?
Isn't that solved from the start by that refusing customers+lowering reputation system? There was already someone in alpha who almost ruined themself by promoting girls too fast, because there were simply not enough customers for many of them working at the same time.

Nah, more than that... Social status is a bit complex, prostitutes shouldn't really be Noble for example. Same might go for Warriors, Healers and a lot of other professions. It's a complex issue I don't want to touch right now, what we're trying to do is create a simulated "life" for characters in the game introducing some stats and wealth progression.

First reason for that are girlsmeets (Interaction now), hiring should be easier if a girl is unemployed for example. Girls having own dwellings can enable options for sex at higher disposition as we have for what we now call interactions.

Second to make sure you don't hire a girl that's been in the game for 500 days exactly the same as she is at day 1. We talked about this several times before.

I am thinking we'll use current girlsmeets interface for normal Interactions tree and current interactions interface for hentai stuff to appear after "hentai phase" was initiated.

PS: I've disabled the annoying caste matching stuff in one of the Alphas patches :)
Title: Re: General Discussion
Post by: livingforever on October 20, 2014, 03:27:17 PM
...
The amount of ignorance in this post is driving me insane. I think I should just stop commenting here.
Jesus f***ing christ.
Have a nice day.
Title: Re: General Discussion
Post by: CherryWood on October 20, 2014, 03:42:30 PM
PS: I've disabled the annoying caste matching stuff in one of the Alphas patches :)
It was sure annoying with all those messages that time, but not allowing brothel to run with only high rank girls had some gameplay management potential.


I know that the brothels and slaves are legal in PytFall, but it is really to such extend that "real" nobles should be bothered by some rich prostitutes/adventurers?

btw. I looked for the room pictures in bg folders, there seems to be a awful lot of rich mansion rooms, some normal houses, but I wasn't able to find anything for poor girls, like a shack or something...
Title: Re: General Discussion
Post by: livingforever on October 20, 2014, 03:45:30 PM
Hi!
I know that the brothels and slaves are legal in PytFall, but it is really to such extend that "real" nobles should be bothered by some rich prostitutes/adventurers?
A city that accepts the first should definitely be liberal enough to accept the second - so I personally think that the social status shouldn't restrict the profession at all.
Have fun!
Title: Re: General Discussion
Post by: CherryWood on October 20, 2014, 03:53:09 PM
Hi!A city that accepts the first should definitely be liberal enough to accept the second - so I personally think that the social status shouldn't restrict the profession at all.
Have fun!
Seems valid  :)  I personally doesn't really have an option about this social thing... but more money sinks are always good I guess
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 04:50:49 PM
The amount of ignorance in this post is driving me insane. I think I should just stop commenting here.

And yet a list of comments follows...

  • You're only looking at projects that have failed and make clear concepts responsible for their failure. They were all developed by humans, maybe that was the problem. They were all developed on a computer, maybe that's what made them fail. They all used a keyboard to write the code, maybe they shouldn't have.
    Get the point? Your argument is bullshit. Look at projects that have succeeded and ask if they used mature concepts or made up everything on the get go.

I watched many project being developed, everyone (OW, SM, WM, CoC, Old Huntsman games (even the latest one), SB, SB:Revival and etc) worked in the same way as us and all delivered (ing) good games. In fact I've practically based development of what I've seen them do/discuss on their forums.

You claim my statement's "ignorance" but yours are full of sh!t for a reason I've stated several times already:

Maintaining a proper game design document (job that Game Designer is responsible for) is just as time consuming (if not more) than job of a programmer. We cannot afford that and have found a way to (successfully) do both at the same time. If you are trying to tell me that writing and maintaining a proper game design document and coding the game from it is less time consuming for a small indie development team that isn't in it for the money than you're wrong because I've seen too many proves of the contrary and experienced the same myself.

MM: Huge, detailed design and concept... 10 000+ lines of code written by Thewlis... abandoned by Game Designer who is still around and online btw because "he burned out (writing/thinking through the concept?)"

Alkion: Great game with a decent dev team and hundreds of hours spent in chatroom (8 people active), concept laid out in dedicated software maintained by me... down to a single programmer (Eliont) with the whole team falling apart and me moving away from the project because it went astray in "concept".

  • Your "adaption" consists of doing unnecessary work because you're unable to think ahead. There are lots of people here that are willing to help you with the concepts, yet you refuse to think about anything in advance.

We're thinking ahead and you're making it sound like even proper design documents get things right from the first time which isn't true. Stuff gets changed, adapted, rewritten all the time. Code gets improved and rewritten as well.

In professional development, mid-term concepts often barely resemble starting once.

And once again, maintaining a games concept is a lot of hard, complicated and time consuming work. I would rather create what I envision to show to the dev team and we can later decide if we work/keep/change the module together when everyone has the same thing in-front of them instead of 500 words that are very likely to be misunderstood.

  • You're telling me that you saved time by sometimes "rewriting the whole thing"? Tell that your grandma, not an experienced programmer. You have countless examples to back up your failure at planning? Examples of how you wasted time already?
    Your argument here is basically this: "We don't plan too much because we'll have to react to later changes anyway."
    What you don't understand: You could avoid having to react to changes if you would try to see these changes in advance. That's what concepts are all about.

Load of cr@p. It will be much faster for me to write a mock-up logic code with simple graphics interface than write a huge text about interface, logic, progression, interactions with other modules and etc. My granma is smart enough to understand that and see reason (She used to teach Physics and Math), I don't understand why you can't...

  • There is an obvious problem with the discussed system that you just ignore. We do not need to see it in the game, we already know that this problem will be there.

I have no reason to believe that girls will all become super rich in a system that I haven't even got a chance to fail at yet... Wish that I had that crystal ball of yours...

===============
It was sure annoying with all those messages that time, but not allowing brothel to run with only high rank girls had some gameplay management potential.


I know that the brothels and slaves are legal in PytFall, but it is really to such extend that "real" nobles should be bothered by some rich prostitutes/adventurers?

A city that accepts the first should definitely be liberal enough to accept the second - so I personally think that the social status shouldn't restrict the profession at all.

I want high rank prostitutes to simply refuse working sh!tty buildings (and slaves can't get past rank 3 right now).

You don't think noblemen would mind a whore of any kind to hold the same social rank as them? That's one of the main main building stones of these hierarchical societies, higher castes believe that they're special and strongly oppose everything that makes them less... to the point where they are willing to kill, falsely prosecute and walk all over people, even (or often) those who are often far more deserving of greater status then themselves...

We could allow nobility to be bought or leased but that should cost unreasonable amount if money that no girl should be able to get + usually a society that leases or sells nobility has a king/ruler of some kind, we discussed some form of senate/council to rule PyTFall.

Like I've said, I wouldn't want to touch this topic right now.

btw. I looked for the room pictures in bg folders, there seems to be a awful lot of rich mansion rooms, some normal houses, but I wasn't able to find anything for poor girls, like a shack or something...

I recall having trouble finding poor housing as well... but now Dark's on the job :)
Title: Re: General Discussion
Post by: livingforever on October 20, 2014, 05:20:36 PM
Hi!
You don't think noblemen would mind a whore of any kind to hold the same social rank as them?
You're implying that being a prostitute is a terrible thing. But the same noblemen that think so accept prostitution as a normal business? Doesn't make much sense.

You claim my statement's "ignorance" but yours are full of sh!t for a reason I've stated several times already:
you're wrong because I've seen too many proves of the contrary and experienced the same myself
Load of cr@p.
I don't understand why you can't...
Well, I guess my words didn't make you reconsider your point of view at all.
Since you're having so much trouble believing me, try these:
Just a few recommendations. If you don't believe literature either, I can't help you.

I should have known that such things are not welcomed in the project.
Yes. Stupid me trying to make a difference...
Have fun!
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 05:58:03 PM
You're implying that being a prostitute is a terrible thing. But the same noblemen that think so accept prostitution as a normal business? Doesn't make much sense.

? Noblemen throughout history accepted a lot of professions of all kinds that working class was allowed to do but ascending to nobility was often forbidden to all of them (even doctors, artists and etc.).

Sometimes it nobility was related to holding an office, sometimes it could only be inherited. In some societies/periods it could be bought or even leased (almost always nobility came with privileges commoners didn't have). At times it didn't even have anything to do with money as super-super rich didn't get to become noble (unless by marriage and even that was frowned upon).

It makes sense in a lot of ways and there are plenty examples.

*All of it depends on the society but I just can't see nobility allowing whores to ascend...

Well, I guess my words didn't make you reconsider your point of view at all.
Since you're having so much trouble believing me, try these:
  • Ian Sommerville - Software Engineerung (currently 9th edition, I've read the 8th)
  • Hans van Vliet - Software Engineering: Principles and Practice (3rd edition)
  • Grady Booch - Object-Oriented Analysis and Design with Applications (3rd edition)
  • Tracy Fullerton - Game Design Workshop (2nd edition) (I have to admit that I didn't read this one, but it was recommended to me several times)
Just a few recommendations. If you don't believe literature either, I can't help you.

And you don't see my points or hear my arguments. Lets end this and stop wasting each-others time, if you don't raise the issue, I promise that I won't.
Title: Re: General Discussion
Post by: Xela on October 20, 2014, 06:44:58 PM
(http://s4.postimg.org/uziqq07zt/screenshot0001.jpg) (http://postimg.org/image/uziqq07zt/)

Small update to girlslist interface, using some of the new SL2 syntax.

+ I restored tavern icon (noticed the comment in Thewlis's push)
Title: Re: General Discussion
Post by: Xela on October 21, 2014, 03:50:04 PM
- Updated girls profile screen a bit (should work a bit faster now)


(http://s29.postimg.org/3x5naxxcj/2014_10_21_22_37_39.jpg) (http://postimg.org/image/3x5naxxcj/)
Title: Re: General Discussion
Post by: DarkTl on October 22, 2014, 05:54:28 AM
I'm not sure if social classes should be visible in gui. But they should be there, because we have to call them somehow, and probably set them in girls data files as well.

Why use stepwise classes? Without classes it won't be so simple to set initial level of life quality in data files.

My ideas here:
- Stats and classes are connected (for non hired girls only). Higher classes need higher stats, and vice versa. So, in order to achive higher class, girls should increase stats (= level).
- Why we cannot just use levels and forget about stats? Because characters with 1000 level and 10 in all stats don't make sense. Stats should grow too, preferably more or less randomly.
- Why we cannot use levels instead of social levels? Because there could be various circumstances, like powerful and poor chars, or weak but wealthy ones. Of course powerful ones will advance quickly, but that's a part of life simulation.
- In order to increase stats and levels, girls spend money. No free stats, well, maybe there could be occasional free ones for low level classes. The higher stats, the more money they need. We acually could use schools for that, I guess.
- 1-2 backgrounds for rooms for every class, depending on how many I have. If we won't use stepwise classes, it won't be so simple to assign them.
- Lowest class (beggar?) probably shouldn't have an actual room. Maybe I'll find some kind of hut or tent, but generally they live on streets.
- Fixed jobs. They may vary depending on rng and occupation, but generally there is a list of available jobs for every social level.
==============================================
An alternative, a system without classes.
- Multiple jobs with requirements to stats and sometimes occupations, with a limited number of workers. So we will have competition in the labor market. The better the job, the lower amount of possible workers.
- We don't even force them to work. If they have enough money, or have some other unusual circumstances, they could live without it.
- Still money are needed to increase stats.
- It's up to AI and rng how to spend money, either buy items and better house and food or increase stats in order to find a better job in the future. Maybe depending on traits.
- No specific initial level of life quality. You can set level, maybe give some gold, but everything else is up to character. Kinda cool, huh?  ::)
- Character can rent/buy better houses if she wants to. If she can't pay a rent, she loses the house, obviously.
But we don't force them to change houses at higher levels if they don't want to.
- We still could use random events to help/harm characters.

Both systems have advantages and disadvantages. Pick one. The second one seems more advanced to me, but it's not necessarily a good thing.
Title: Re: General Discussion
Post by: Xela on October 22, 2014, 11:52:56 AM
Sys1
==============================================
Sys2

Can we say no to both systems (at least for now)?

Reasons:

1) Large parts of what you suggest in both systems is world simulation and we decided to hold that off until post release of 1.0.

2) Somewhat complex systems are suggested without exposure of player to them, they will also likely to require balancing. Seems wasteful in both dev time and computing resources (former will stop being true when we can manage an interesting world, latter I need to time when we have some base code).

3) This will be weird unless this is checked with similar jobs that girls do for the player, another part of World Simulation (some unified balance).

***
What do we need right now:

- 2 - 3 job names sorted per occupation to be reflected in Interactions (and to be taken into account during hiring process)
- 2 - 3 levels of dwelling bound to those jobs (could be two dwellings per job for example).
- background(s) for these dwellings if a girl want to invite mc to stay (this can actually be avoided if we just add an option for mc to invite a girl into his apartment (assuming he has one) but would be nice to have).
- Fixed amount of cash to be paid on weekly basis based on the job (perhaps to be further modified through stats).
- Auto-buy function to be run for for all free girls even outside of mcs employment (we may already have that).
- Allowing to level-up girls thought their xml files
- Having the game setting up random and unspecified unique girls to levels automatically (40%: lvl1 - 3, 40%: lvl5 - 15, 15%: lvl20 - 40, 5%: lvl 40-60) *and adjusting stats accordingly (with percentages as we do now, just after they're leveled up)
- Having a slow stat growth. **We should prolly also set up starting cash so they can run some initial form of auto-buy routine for girls with jobs.

Simple balance to all of this, girls are not paid their wages, instead they just get some specified amount of cash based off their job. Slow stats growth as well (+0/1 per 2 weeks for general stats and +1/3 for occupational stats and 500 adjusted exp).

This will allow us to build up on content today with a system that we can easily expand and do not require balancing out atm. Player is also exposed to parts of the system that are fun as all girls autobuy items based in their traits, will have housing and require higher disposition (or better wage (like simple +10 to 30% flag in the expected wage method to be set during hiring process)).

We will handle interesting case though modding unique girls... as we previously agreed. If we want routines for girls to change jobs, I'll add simple rng events that do just that. Advanced system we can handle when we start working on World Sim module.
Title: Re: General Discussion
Post by: Gismo on October 22, 2014, 12:24:13 PM
Push small update.

- I added an Imperial set of armor + experimental frame for items in hero profile

(http://s8.postimg.org/fku6phrht/imperial_se2t.jpg) (http://postimg.org/image/fku6phrht/)
Title: Re: General Discussion
Post by: DarkTl on October 22, 2014, 12:47:17 PM
We don't have to implement those systems wholly and right now, but we should choose between social ranks and their absence in both code and girls files.
Because the game has to decide somehow where a girl lives, ie which background to show. It's either her social rank based (a more fixed value that you could set in data file) or based on her current income (= job and stats). So you still have to pick something  :D

Push small update.
- I added an Imperial set of armor + experimental frame for items in hero profile
Regarding equipment screen gui, most of all we need a decent equipment doll. Many games have it, and it looks good there. Probably different ones for male and female characters.
Title: Re: General Discussion
Post by: livingforever on October 22, 2014, 01:00:25 PM
Hi!
Can we say no to both systems (at least for now)?
Remember what I asked you in one of my last PMs? You don't have to keep us from discussing more complex concepts just because you don't want to implement them at the moment.

3) This will be weird unless this is checked with similar jobs that girls do for the player, another part of World Simulation (some unified balance).
Why? Perhaps the character agrees to be hired by the player exactely because she/he doesn't like his/her old job.

- 2 - 3 levels of dwelling bound to those jobs (could be two dwellings per job for example).
The same job can often have very different wages at different places.
More preferrable would be to create general houses with a price and assign pricing ranges for specific jobs.

- Auto-buy function to be run for for all free girls even outside of mcs employment (we may already have that).
Did you think about splitting private and work equipment? Most items are influencing stats, randomly changing those would be somewhat annoying, so what the character wears on the job could/should be considered a working uniform.
That would of course bring up the question if auto-buy is actually useful. Maybe some variations in the dialogs would be a much simpler solution.

- Fixed amount of cash to be paid on weekly basis based on the job (perhaps to be further modified through stats).
- Having a slow stat growth. **We should prolly also set up starting cash so they can run some initial form of auto-buy routine for girls with jobs.

Simple balance to all of this, girls are not paid their wages, instead they just get some specified amount of cash based off their job. Slow stats growth as well (+0/1 per 2 weeks for general stats and +1/3 for occupational stats and 500 adjusted exp).
And here comes the problem that DarkTI and me have been talking about.
What happens after day 50? Or 500? Or 5000? All characters in town have all stats maxed out? That's ridiculous.
And no, "slow" stat growth is wrong as long as it's linear, no matter how slow it is. The slower you make it, the less relevant will the feature be and the less players will notice it so it becomes irrelevant.

This will allow us to build up on content today with a system that we can easily expand and do not require balancing out atm.
I honestly don't see how you can easily expand that system without rewriting it. Could you give an example?




...
Definitely sounds interesting - I personally would prefer the first option, mostly because it's easier to implement, more intuitive for the player and the social class could be used for other purposes as well.
I still don't think jobs should be locked to the social class though.

I don't like the second option because it sounds too much like a number crunching game that the players would barely notice.
Have fun!
Title: Re: General Discussion
Post by: DarkTl on October 22, 2014, 01:02:18 PM
Gondra and Xipomus are still active on this forum, but I haven't seen others for too long. I cleared db a bit, except Ncog folder where he has some actually not completely outdated ideas about girlmeets.
Title: Re: General Discussion
Post by: Gismo on October 22, 2014, 01:06:22 PM

Perhaps I was misunderstood, but I didn't change the hero's screen, only a background for an equipment icon )
Regarding equipment screen gui, most of all we need a decent equipment doll. Many games have it, and it looks good there. Probably different ones for male and female characters.
I'll look what is possible to make with this.
Title: Re: General Discussion
Post by: DarkTl on October 22, 2014, 01:23:26 PM
The same job can often have very different wages at different places.
More preferrable would be to create general houses with a price and assign pricing ranges for specific jobs.
Yup. I'll see what I can do to make it realistic.

Did you think about splitting private and work equipment? Most items are influencing stats, randomly changing those would be somewhat annoying, so what the character wears on the job could/should be considered a working uniform.
We don't have items that were created not for a job, I'm afraid. I guess it makes sense, for example, for warriors to wear armor at work and wear dress at free time, but that probably will be unnoticed by players. You don't see equipment screen all the time, and pictures are not connected to it too.

What happens after day 50? Or 500? Or 5000? All characters in town have all stats maxed out? That's ridiculous.
And no, "slow" stat growth is wrong as long as it's linear, no matter how slow it is. The slower you make it, the less relevant will the feature be and the less players will notice it so it becomes irrelevant.
Indeed. Xela, you suggested longer slave training, ie longer game. So there will be plenty of time to max out stats for everyone without means to prevent it.
Title: Re: General Discussion
Post by: MrKlaus on October 22, 2014, 01:28:35 PM
 
What do we need right now:
 
 - 2 - 3 job names sorted per occupation to be reflected in Interactions (and to be taken into account during hiring process)
 
Hiring Whores:
- Street whores (girls that work on their own, lurking the streets and bars looking for clients).
- Ex courtesan (her wealthy master/owned died, she looks for a way to earn, she could be more expensive and be more picky about clients).
- Whore at rivals place
Hiring Stripers:
- Street performer/Belly dancer/Ballet Dancer/circus gymnast (“Hey baby! Do you want to earn more with your smoking curves?” – something like this).
- Teacher from the dance class (why train two left feet girls when you could hire the teacher).
- Striper in rival place
Maids/Servants:
- Young maid that finished her internship and is looking for place to work
- Maid at a merchant/noble that works there but is looking for better offer or an experienced maid that was taking care of an elderly person that died.
- Unemployed girl that want to have a decent life and live by a moral code (she wont whore)
 
And the most obvious for all professions, broken girls that will do anything for gold.
 
What do we need right now:
 
 - 2 - 3 levels of dwelling bound to those jobs (could be two dwellings per job for example).
 
Whore/Stripper/Maid:
- Room in hostel (several people in one room)
- Renting small apartment above bakery/blacksmith/other shit.
- Rent an apartment in a larger building
- Owning an apartment
- Own a house
Warrior/Security (more private because she have weapons):
- Renting a private room (in house, hostel, other place).
- Renting an apartment
- Small castle
 
And for all: living with family or boyfriend.
About renting; visiting a girl that is renting could trigger an event in meeting her roommate/sister/mother/neighbor.
 
Title: Re: General Discussion
Post by: Xela on October 22, 2014, 02:39:42 PM
Yup. I'll see what I can do to make it realistic.

AAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaahhhh :)

It doesn't need to be realistic because of very limited exposure of this system to the player! Guys, base value + stats mod will for now! Don't complicate stuff that is just as fun for the player when it's simple.

We don't have items that were created not for a job, I'm afraid. I guess it makes sense, for example, for warriors to wear armor at work and wear dress at free time, but that probably will be unnoticed by players. You don't see equipment screen all the time, and pictures are not connected to it too.

Girls are already auto-buying (limited, based mostly off traits) and auto-equipping items (fairly well thought through) based on task they preform. This is one line of code in custom scripts by the way.

Indeed. Xela, you suggested longer slave training, ie longer game. So there will be plenty of time to max out stats for everyone without means to prevent it.

1) After 14 years (5k days) into the game player will start asking questions about why the hell is nobody getting any older (static pics base for 95% of chars) and why the hell am I still playing this? *I think that we'll have better re-playability value than long-term playability value even with the system as I've suggested.

2) Please do the math with the simple figures I provided before asking what'll happen in 50 - 1000 (about 3 years) days, you'll get a fairly clear picture. *which I thought made sense for current gameplay

3) Living is prolly not aware of this, but you should know that new girls are added to the game as it progresses. Assuming that some girls will be killed off/got rid of with events or find themselves in mcs ever growing business empire, new girls will be created by the game so there will be normal characters even at the day 10**9.
*Unique girls can be scripted to appear at any day in the game with every single stat provided by the modder as well.

If after the system is coded and you feel that this isn't enough, I'll use rng to cap every single girl outside of player control (2 lines of code at best) and that will always be fresh (new rulez on every gameplay) and problem becomes non-existent. If released by player, she'll get extra two levels of slow development before being capped again (to prevent her being exactly the same on rehire) (another two lines). I do however doubt that this will be needed...

I honestly don't see how you can easily expand that system without rewriting it. Could you give an example?

Prolly not without risking starting another debate about concepts and development. I'll get it done, you don't need to worry about me/Thewlis coding the game.


==============================================
**I've repeatedly said that avoiding social castes would be smarter right now, stories about poor noblemen who marries a rich merchants daughter just to get to wealth in exchange of their children sharing the title or rich and talented merchant being harassed by noblemen in every way imaginable because they consider him below their standing and are envious of his wealth are as old as the concept of nobility itself. Not mentioning all other possible social ranks. It is impossible (actually it's perfectly possible but will require adaptation of a decent amount of gameplay logic to make it good. We have a lot of work to do, lets do it and release new playable version!) to tie to wealth or jobs. Girlsmeets would have to be adjusted as well as well as behavior towards NPCs/Charcters and their behavior towards MC (who'd also need adjustable social rank).
Title: Re: General Discussion
Post by: Xela on October 22, 2014, 03:11:19 PM
Hiring Whores:
- Street whores (girls that work on their own, lurking the streets and bars looking for clients).
- Ex courtesan (her wealthy master/owned died, she looks for a way to earn, she could be more expensive and be more picky about clients).
- Whore at rivals place
Hiring Stripers:
- Street performer/Belly dancer/Ballet Dancer/circus gymnast (“Hey baby! Do you want to earn more with your smoking curves?” – something like this).
- Teacher from the dance class (why train two left feet girls when you could hire the teacher).
- Striper in rival place
Maids/Servants:
- Young maid that finished her internship and is looking for place to work
- Maid at a merchant/noble that works there but is looking for better offer or an experienced maid that was taking care of an elderly person that died.
- Unemployed girl that want to have a decent life and live by a moral code (she wont whore)
 
And the most obvious for all professions, broken girls that will do anything for gold.
 Whore/Stripper/Maid:
- Room in hostel (several people in one room)
- Renting small apartment above bakery/blacksmith/other shit.
- Rent an apartment in a larger building
- Owning an apartment
- Own a house
Warrior/Security (more private because she have weapons):
- Renting a private room (in house, hostel, other place).
- Renting an apartment
- Small castle
 
And for all: living with family or boyfriend.
About renting; visiting a girl that is renting could trigger an event in meeting her roommate/sister/mother/neighbor.

Some of those jobs will work just fine, some sound like unique events/stories (require more than base logic).

Renting/Ownership we're not going to bother with atm.

*Boyfriend == more complex Interactions content
*roommate/sister/mother/neighbor + boyfriend right now == conflicts with a possible relationship system we talked about for the future.

There is also always a question of what's sensible to handle with games logic and what should be handled through scripting for individual girls or maybe even scripting for entire packs. We've discussed this before at the very beginning of development but this is prolly too complex of a topic to ever reach a final decision, especially before the game world and code took some coherent shape.

There is always a chance that after the gameworld is established we'll move to a SlaveMaker type of development with loads of unique content being developed by modders where complex game systems can actually get in the way (even if not in code (which is likely to always be very flexible due to Ren'Py/Python) but simply by limiting unique design options due to expected advanced gameflow).
Title: Re: General Discussion
Post by: DarkTl on October 23, 2014, 10:02:59 AM
Girls are already auto-buying (limited, based mostly off traits) and auto-equipping items (fairly well thought through) based on task they preform. This is one line of code in custom scripts by the way.
Hm? If you want to code two types of inventory, for work and for free time, I'm not going to stop you. I just don't think that it will be useful.
Title: Re: General Discussion
Post by: MrKlaus on October 23, 2014, 12:01:24 PM
 
Renting/Ownership we're not going to bother with atm.
 
 *Boyfriend == more complex Interactions content
 *roommate/sister/mother/neighbor + boyfriend right now == conflicts with a possible relationship system we talked about for the future.
 

@renting/ownership: I was thinking more like a general response in dialog with the girl then a whole system of ownership. Something like this:
MC: Where do you live?
Girl: I live at… I rent a room at… I have my place… I live with my mommy…
Better place = more money spend by the girl to keep it
 
@roommate/and all the others – something like a normal girl meet place. Being at her apartment the player could pick who he wants to talk with.
Btw. An idea just hit me, an all girl boarding school. Think more about it or let it sink?
 
Title: Re: General Discussion
Post by: DarkTl on October 23, 2014, 12:12:56 PM
^I like the idea, but it should be a part of relationship system indeed.
Title: Re: General Discussion
Post by: Xela on October 23, 2014, 02:01:21 PM
Hm? If you want to code two types of inventory, for work and for free time, I'm not going to stop you. I just don't think that it will be useful.

No, the system is already coded, it's just four - five extra lines of code. I didn't consider that we might need free time auto-equip option.

Right now it's based off stats (to include and exclude) so free time method will prolly be something like:

include=("charisma", "constitution", "refinement", "luck")
exclude=(*"all work stats")
*maybe with weapon slots blocked.

We'll see how much this makes sense in practice after I've coded this in.
Title: Re: General Discussion
Post by: Xela on October 23, 2014, 02:13:55 PM
 
@renting/ownership: I was thinking more like a general response in dialog with the girl then a whole system of ownership. Something like this:
MC: Where do you live?
Girl: I live at… I rent a room at… I have my place… I live with my mommy…
Better place = more money spend by the girl to keep it
 
@roommate/and all the others – something like a normal girl meet place. Being at her apartment the player could pick who he wants to talk with.
Btw. An idea just hit me, an all girl boarding school. Think more about it or let it sink?

We don't need them to keep different amounts of money before it can effect the game world (very distant future). So that's a no.

Boarding school is a bit off games course I think. You have stuff to write, finish that first :) (There are plenty awesome ideas for content if you run out of tasks, in fact I am pretty sure that I can keep you busy 24/7 for several weeks :D )
Title: Re: General Discussion
Post by: Thewlis on October 23, 2014, 06:14:18 PM
(http://i.imgur.com/GYYbDQ4l.png)

Updated the girlsmeet screen to use the actions system. Put all the options in, though the only ones available are those that currently work.

The menu still sits at the bottom but I can move it up to align with the rest if we want. Slight changes to the GirlsMeet class but nothing major. Should be pushed in the next couple of days unless we want changes.
Title: Re: General Discussion
Post by: Xela on October 24, 2014, 04:20:02 AM
Great, they need to take former girlsmeets style as well but I can that care of that myself. If the logic behind the setup is working, we'll start thinking about best way to unify girlsmeets and interaction into new Interactions logic (Adjusted Girlsmeets class I expect).

I'd like all "personal" training and actions of the ST module to go through this setup in the future as well and only scheduled training during the next day to be handled in the training/school setup. This should work out great.

We might create some "hentai" mode using the interactions frame later as well.
Title: Re: General Discussion
Post by: livingforever on October 24, 2014, 07:00:58 AM
Hi!
The menu still sits at the bottom but I can move it up to align with the rest if we want. Slight changes to the GirlsMeet class but nothing major. Should be pushed in the next couple of days unless we want changes.
It doesn't need to be centered, but please put the disposition bar and the interaction buttons on one side. After all, you don't want to feel like watching a tennis game while interacting with characters.

As you might have noticed, I have kind of given up on trying to discuss concepts here, you don't need to know the reasons, but you shouldn't expect much input from me in the near future.
Have fun!
Title: Re: General Discussion
Post by: Thewlis on October 24, 2014, 10:08:54 AM
If the logic behind the setup is working, we'll start thinking about best way to unify girlsmeets and interaction into new Interactions logic (Adjusted Girlsmeets class I expect).
That shouldn't be too hard. Biggest change really would be how the interaction screen looks, unless you want to keep the current style. If you want to add a training version of it perhaps have the GM class hold a variable for which actions set to use, say "girlsmeet", "interaction" and "training". Then you could use the same screen for all three.

Quote
I'd like all "personal" training and actions of the ST module to go through this setup in the future as well and only scheduled training during the next day to be handled in the training/school setup. This should work out great.
How do you want to actually get to the 'training-interaction' screen though? I could add a button to the training screen that just says "Personal Training" or some such to take them there. Or just place a "Train" button into the interactions screen.
Title: Re: General Discussion
Post by: Gismo on October 24, 2014, 10:13:24 AM
Another small update.

- Hero profile screen visual changes.
> Done work on frames, bacground and generally over screen elements.
++ Equipment doll for the experiment.

(http://s15.postimg.org/6sau1hmmf/2014_10_24_17_49_55.png) (http://postimg.org/image/6sau1hmmf/) (http://s15.postimg.org/z3wdyj6iv/2014_10_24_17_50_22.png) (http://postimg.org/image/z3wdyj6iv/) (http://s15.postimg.org/kjappym6f/2014_10_24_17_51_18.png) (http://postimg.org/image/kjappym6f/)
Title: Re: General Discussion
Post by: Thewlis on October 24, 2014, 11:31:19 AM
(http://i.imgur.com/Zm648e1l.png)

Got the styles working. Turns out you can't dynamically set a style using a variable without straight up copying your code and splitting them with an if statement as renpy can't predict what to use and throws an error ::).

Moved things about on the screen to get the bar and controls on the same side. The menu floating in the middle looked weird.
Title: Re: General Discussion
Post by: Thewlis on October 24, 2014, 12:53:54 PM
I've got a simple consolidation of GM and interactions working. Not much different, a call to pytfall.gm.start_int instead of start_gm and making the interactions call some GM functions instead of their own and everythings working so far. Gonna play with it a bit still.
Title: Re: General Discussion
Post by: Xela on October 24, 2014, 01:23:22 PM
It doesn't need to be centered, but please put the disposition bar and the interaction buttons on one side. After all, you don't want to feel like watching a tennis game while interacting with characters.

I originally wanted to put it horizontally at the top of the screen but Dark or CW didn't like that...

That shouldn't be too hard. Biggest change really would be how the interaction screen looks, unless you want to keep the current style. If you want to add a training version of it perhaps have the GM class hold a variable for which actions set to use, say "girlsmeet", "interaction" and "training". Then you could use the same screen for all three.

Well, the plan I proposed before is to have the buttons/submenu buttons to be displayed on conditions and they can hold things like ("girlsmeet", "interaction" and "training"). The trouble is that a lot of current girlsmeets labels will do perfectly fine as interactions label. In fact I want to rename all girlsmeets and interactions labels so we do not even differentiate between the two in the future and they're displayed purely with buttons conditioning.

*Note: Current interactions will be merged with girlsmeets, frame used for interactions right now is likely to be used for "hentai" mode (that could be started from some locations). Interactions will be merged into Girlsmeets and the whole thing will be called Interactions.

How do you want to actually get to the 'training-interaction' screen though? I could add a button to the training screen that just says "Personal Training" or some such to take them there. Or just place a "Train" button into the interactions screen.

I am really sh!tty at explaining what I mean because I usually code this stuff myself and having someone else doing that is very new to me :) (although it's very, very welcome)

The idea is not to have personal "on spot" training and actions like "praise", "punish" and etc at all in the training screen. Instead when a player clicks on interact in the girls profile screen (girls picture), if a girl is in slave training instead of a normal background (right now it's called gallery) a corresponding background will appear (prolly some cell with chains or a room depending if a girl was broken already and is in professional training or she is still resistant and it should be a cell/dungeon). Anyway, there should be a button (training/personal training as you suggested, name doesn't matter). That button should lead to a submenu (another dropdown screen) with training options. Maybe we'll need those training options have submenus of their own, I am not sure yet... *Do note that some of the normal interactions options should be there as well...

Anyway, that was always the plan for "on spot" training or "on spot" actions. At some point we'll prolly adjust dungeons screen for faster access to interactions. The current dungeon assign screen should not have "on spot" training options at all and only be used to scheduled training by MC and other trainers during the next day.

I've got a simple consolidation of GM and interactions working. Not much different, a call to pytfall.gm.start_int instead of start_gm and making the interactions call some GM functions instead of their own and everythings working so far. Gonna play with it a bit still.

It's a step in the right direction but I want separate interactions to be gone in the end.

(http://i.imgur.com/Zm648e1l.png)

Got the styles working. Turns out you can't dynamically set a style using a variable without straight up copying your code and splitting them with an if statement as renpy can't predict what to use and throws an error ::).

Moved things about on the screen to get the bar and controls on the same side. The menu floating in the middle looked weird.

*We'll make it work one way or another, there's always a way in Ren'Py to do stuff like this.

Another small update.

- Hero profile screen visual changes.
> Done work on frames, bacground and generally over screen elements.
++ Equipment doll for the experiment.

(http://s15.postimg.org/6sau1hmmf/2014_10_24_17_49_55.png) (http://postimg.org/image/6sau1hmmf/) (http://s15.postimg.org/z3wdyj6iv/2014_10_24_17_50_22.png) (http://postimg.org/image/z3wdyj6iv/) (http://s15.postimg.org/kjappym6f/2014_10_24_17_51_18.png) (http://postimg.org/image/kjappym6f/)

Oki, I want to add some minor changing to it tonight :)
Title: Re: General Discussion
Post by: MrKlaus on October 24, 2014, 04:44:30 PM
Boarding school is a bit off games course I think. You have stuff to write, finish that first :) (There are plenty awesome ideas for content if you run out of tasks, in fact I am pretty sure that I can keep you busy 24/7 for several weeks :D )
Stuff to write... stuff to write… <trying to remember>. The alignment rewrite or was there something of more burning matter that slipped my eyes?
 (after some R&R this weekend, will start this Monday)
 
Title: Re: General Discussion
Post by: Xela on October 24, 2014, 04:47:29 PM
Stuff to write... tuff to write… <trying to remember>. The alignment rewrite or was there something of more burning matter that slipped my eyes?
 (after some R&R this weekend, will start this Monday)

LoL Way to stay focused!  ;)

Alignment rewrite, better intro, events, mc start-up texts and bonuses. I think the alignments should come first, would be nice to finish and forget about that for a while...
Title: Re: General Discussion
Post by: Xela on October 24, 2014, 05:36:31 PM
SF Updated:

*Version is as of now 0.51 codenamed: Slaver's Bay!  (In honor of upcoming ST module, been putting this off for far too long, we got a lot done!)
- Added color attribute to RC
- Restructured some of Gismo's MC profile screen code
- Fixed misaligned RadarChart (after it was shrunk) and added new colors to it (*Gismo should prolly pick more/better colors cause I suck at that)
- Fixed MC build screen not being hidden any longer for some weird reason...
- Fixed (http://www.pinkpetal.org/index.php?topic=1888.msg30666#msg30666)

+ other tiny tweaks to MC screen (feel free to change them back)

(http://s21.postimg.org/gg9y50zpv/2014_10_25_0_14_39.jpg) (http://postimg.org/image/gg9y50zpv/)
Title: Re: General Discussion
Post by: DarkTl on October 25, 2014, 03:13:22 AM
- 2 - 3 job names sorted per occupation to be reflected in Interactions (and to be taken into account during hiring process)
- 2 - 3 levels of dwelling bound to those jobs (could be two dwellings per job for example).
- background(s) for these dwellings if a girl want to invite mc to stay (this can actually be avoided if we just add an option for mc to invite a girl into his apartment (assuming he has one) but would be nice to have).
That means that backgrounds are tied to occupations. So every time we add a new occupation, we need 2-3 new decent rooms pictures. They are not unlimited, you know.
Title: Re: General Discussion
Post by: Xela on October 25, 2014, 04:16:03 AM
That means that backgrounds are tied to occupations. So every time we add a new occupation, we need 2-3 new decent rooms pictures. They are not unlimited, you know.

No, we just need 6 - 10 backgrounds depending on how many you can find:

2: Poor
2: Decent
2: Luxury

and anything else if available. Backgrounds are tied to jobs, jobs are tied to occupations. There can be plenty of overlaps (why would dwelling of stripper should be any different from prostitutes).

I'll have to write code to make sure there is a pattern so a rank 7 prostitute doesn't end up living in some slum...
Title: Re: General Discussion
Post by: DarkTl on October 25, 2014, 09:40:22 AM
Btw we already have jobs json for quite a long time. I pushed rooms pictures, there are beggar, poor, decent and luxury levels. I guess there should be another level, royal or something, but it definitely should be scriped, rare and unusual cases, like elven queen for example.
Title: Re: General Discussion
Post by: Xela on October 25, 2014, 01:12:45 PM
Btw we already have jobs json for quite a long time. I pushed rooms pictures, there are beggar, poor, decent and luxury levels. I guess there should be another level, royal or something, but it definitely should be scriped, rare and unusual cases, like elven queen for example.

Awesome, I'll take a look :)

Edit: Remind me, what did we want to with stats/numbers in jobs json file? I should be able to take care of this next weekend (next week should be crazy before than).
Title: Re: General Discussion
Post by: DarkTl on October 25, 2014, 02:10:32 PM
Numbers are multiplicators for some base wage value that we cannot balance now anyway. Stats I added because we could use them somehow (either jobs are based on them, or jobs increase those stats more than others).
Title: Re: General Discussion
Post by: Gismo on October 25, 2014, 06:56:25 PM
Laid out on dropbox my collection of items.
Title: Re: General Discussion
Post by: DarkTl on October 26, 2014, 06:43:45 AM
So, about a year ago in db Ncog laid out his concept for girlsmeets.
Quote
Approach Phase:
Normal - Hey, What's up...
Aggressive - (Smack her on the butt) How are you doing good looking
Deceptive - Hey, do I know you from somewhere...

based on how the player answers the approach phase the girl will *based on traits*
put him into either the Stranger and Friendly sections.
Each section unlocks new options.


Stranger Phase (affection 1-25): color red
Chat - Interests, Hangouts, People
 Submenu Interests: Money, Power, Clothes, Trips, Morality, Sex, Food, Drugs
 Submenu Hangouts: Park, Resturant, Onsen, Book Store
Compliment - Hair, Body, Breasts, Butt, Face, Inteligence, Her work

(if you talk about something she likes you get a +5 to affection)

Friendly Phase (affection 25-50): color yellow
Date - Park, Beach, Restaurant, Onsen, Book Store
Hug
Give Gift - Money, Gift Item, Drink, Drugged Drink

(same as before only now giving her something and +10 affection (these options cost money except hugging which can only be done after you give her something))
(you can still use the options from the previous phase to get a +5 if you want)
(giving them a drugged drink will cause the girl to temporarily have a boost in
affection - if you kiss or have sex with her in this state she'll permanantly keep the boost in affection)<- need to budget action points/money for drinks

Girlfriend Phase (affection 50-75): color green
Kiss
 Kiss submenu:
Sex
 Sex submenu: Anal, Vaginal
  Sex position submenu: Cowgirl, Doggy style, Missionary, Sixty-Nine
(same options from previous only these on top of them; +5 affection for each)
(after you have sex with a girl for the first time negative affection is no longer is an issue)(before this if you talked or gave her something she didn't like you'd get -5 affection)

Infatuation Phase (affection 75-100): color pink
Ask to become Brothel Girl
Ask to borrow money
Ask to introduce to friends/threesome (new girl starts out at girlfriend stage)

Slave Phase (affection 100): heart symbol
Will do anything you want loyalty 100 percent doesn't try to runaway, etc.

He even made an excel spreadsheet with starting dispositions for different occupations depending on girl's social rank.
Title: Re: General Discussion
Post by: Xela on October 26, 2014, 12:24:39 PM
What we're working on seems to be a better option.  We can control every menu and submenu with conditions and personal flags. Gm and interactions can be unified this way to a great degree.

I don't think that there should be obvious progression as Ncog suggested,  especially with all the options you and CW wtote already. We can simply limit some of these options as they become exhausted and have new once appear. But even that should be used with caution since negative replies work a lot better.

How do you see this concept working for us right now?
Title: Re: General Discussion
Post by: DarkTl on October 26, 2014, 01:50:38 PM
Color indication for disposition or something like that? Because showing numbers is too plain and straightforward.
Also, if we use AA type of reaction (bad, normsl, good, etc), we can use all those topics from submenus. Things like ask to borrow money and ask to introduce to friends/threesome are cool ideas too, actually.
Title: Re: General Discussion
Post by: Xela on October 26, 2014, 02:58:13 PM
Color indication for disposition or something like that? Because showing numbers is too plain and straightforward.
Also, if we use AA type of reaction (bad, normsl, good, etc), we can use all those topics from submenus. Things like ask to borrow money and ask to introduce to friends/threesome are cool ideas too, actually.

We were planning to obfuscate disposition with words when we discussed it last. Cool ideas for sure, I would prefer ti implement that after next release. Maybe along side of relationship system.


Title: Re: General Discussion
Post by: MrKlaus on October 27, 2014, 03:26:30 AM
LoL Way to stay focused!  ;)

Alignment rewrite, better intro, events, mc start-up texts and bonuses. I think the alignments should come first, would be nice to finish and forget about that for a while...

Quick checklist:
Alignment rewrite – know what and how, it will be done (should be done before Thursday).

Better intro – will do it Papa Bear Style: not to hot, not to cold, just right (should be done before Thursday).

Events – concepts & outcomes, will think some don’t know who will code them :P
And a question can unique/random girls take part in theme or just stick to things that can happen to MC?

MC start-up texts – here I got questions: Adjust them to multiple choice line, like current path is presented: Merchant/Caravan/Two options. Or just stay on Merchant/Sub Merchant Class? About boosts, should they be one time start up bonuses like extra gold, some item or can they be a percentage growth in certain stats (for example warrior/some sub class; would have 150% strength growth from trainings). Also I assume that Attributes MAX should be different for all classes, but should the given amount of Attribute points be equal to all? For the example above, the sum is 220 points. Same amount for all or should this number be increase/decrease?
 
LAST Q to the Dev team and all other that read this: Do you want any particular class to be created (Mushroom picker, no legged pirate)? Just give me a name and I will think of something. This is my week off, so I have some time to write this.
 
Title: Re: General Discussion
Post by: livingforever on October 27, 2014, 08:45:39 AM
Hi!
LAST Q to the Dev team and all other that read this: Do you want any particular class to be created (Mushroom picker, no legged pirate)? Just give me a name and I will think of something. This is my week off, so I have some time to write this.
Actually, yes. I thought about writing it myself, but if you have the time and want to do it, go ahead.

Based on this (http://www.pinkpetal.org/index.php?topic=1291.msg30414#msg30414) post I think that most of the existing backgrounds sound a bit negative (like there was no other choice) - and I think it would be cool to have a class like "Spoiled brat" (subject to change, feel free to come up with a name), a young guy/girl that is annoyed by how limited his/her noble family's view is and therefore decides to take some of their money to do something on his/her own.
Have fun!
Title: Re: General Discussion
Post by: Xela on October 27, 2014, 02:37:09 PM
My area got hit by a seriously bad weather so I am down to last super slow internet connection.

Please finish alignments and intro first. Hold on with events as we need to discuss that first in pms. MC stories need to be in the same format as Gismos example stories. I think all personal mc substories should hint to warrior or casanova classes but they can be called anything in the mc build screen. You can try to push one yourself or find the mc screen file and work off the example there and pm me when done.
Title: Re: General Discussion
Post by: Thewlis on October 27, 2014, 05:56:02 PM
I've managed to combine the girls meets/interactions/training into 1 system.

(http://i.imgur.com/BOGhyeLl.png)

The training screen now filters out all one-off-event training.

The GM system now accepts a "mode" variable that currently can be one of 3 options. "girl_meets", "girl_interactions" and "girl_trainings". This is the basis for the action filtering.

In GT mode the one-off-event trainings are converted into actions that go "Training" > "[Course name]" > "[Lesson name]", so Training>Reward>Praise for instance.

The labels for the actions now follow a slightly different naming scheme. They can be any of:

The most generic label is "interactions" which the GM will default to if none of the others can be found. "girl_meets", "girl_interactions" and "girl_trainings" will override "interactions" with a mode specific variation. For instance "Chat">"About Her" has a "girl_meets" variant.

The one-off-training labels don't follow this pattern as they are specified solely by the training lesson, but they do now look for character specific labels.

The existing scenes have been updated, mainly the gm_variables they accessed and where they jump to. The biggest change is that all the scenes have been moved into menu-specific files. So everything under "chat" is now in the file "library/interactions/GM - chat.rpy".

Still playing with it a bit, so there's some time before any changes you've made to the GM labels will be scuppered.
Title: Re: General Discussion
Post by: Xela on October 27, 2014, 06:51:05 PM
Take your time,  I have some in depth ideas and concepts but there is no chance that I'll be able to write that out until weekend.  It's mostly about longer term training, stats and skills.
Title: Re: General Discussion
Post by: DarkTl on October 28, 2014, 12:30:49 PM
Pushed preliminary version of loot items. It broke the game though, so fix is needed.
Title: Re: General Discussion
Post by: Eliont on October 29, 2014, 01:18:54 AM
without a calculator.
"Calculator" embedded into game.

Quote
That's an interesting idea. But how are you going to determine whether an item is rare or not? Do we need a new field for items, like cheap/common/good/rare/unique?
Maybe.

Now, when our author and creator of game world run away i decide to use story from Kamidori Alchemy Meister (Serawi route suits perfectly) and Princess Waltz battle engine (because i don't know kamidori formulas) + some characters from that. And now i think how to seamless combine them. Battle engine almost complete, now i think about quest sustem realization.
Title: Re: General Discussion
Post by: DarkTl on October 29, 2014, 04:06:24 AM
Well, even though Serawi is my favorite character there, players often describe her route as "nothing really happened". It lacks story twists compared to other routes.
Title: Re: General Discussion
Post by: Xela on October 30, 2014, 06:10:32 AM
Pushed preliminary version of loot items. It broke the game though, so fix is needed.

I'll take a look when time permits, we'll prolly add loot items to gold (and maybe do away with gold after next release if that seems sensible).

Now, when our author and creator of game world run away i decide to use story from Kamidori Alchemy Meister (Serawi route suits perfectly) and Princess Waltz battle engine (because i don't know kamidori formulas) + some characters from that. And now i think how to seamless combine them. Battle engine almost complete, now i think about quest sustem realization.

I think that's a brilliant idea... I recall you wrote a decent VN in a week when storyline wasn't foggy. Too bad I know almost nothing about either game other than what I've read in the reviews.
Title: Re: General Discussion
Post by: MrKlaus on October 31, 2014, 01:17:51 PM
 Wrote in pattern. Somehow packed and short.
From those descriptions, I think that Darkness and Light spells should also cost HP to cast. Spells from all elements, mid tier to high should have a chance to backfire or to hurt the caster and the target. The Neutral should be made to pay extra cast cost of higher level spells from different alignments.
 
Alignments rewrite:
 
FIRE: Wildest of the elements, depending on it wielders will, strength and skills. Varying from pleasant warm to source of unspeakable pain. All that just in glimpse of an eye. Used correctly can  scorch every obstacle to ash, leaving only burned ground behind.  In unskilled hands can be very dangerous to the person using it. This element have the upper hand against Air, but is countered by Water.

WATER:
Aside from being really destructive, this element reflects it wielders character the most from all others. If the person using it is calm and confident, the water is easy shaped into desired shape.  On other hand, unskilled and uneasy wielder will have hard time casting basic spells. Dominating Fire with ease, Water is relatively weak against Earth.

AIR:
The Air element relays on its omnipresent. Being fairly easy to use is the favorite by aspiring mages. On the other hand, to cause mayor damage with this element, the user have to be experienced in using it. In addition to the classical Air attacks, a part of this alignment are also thunder base spells. Being effective against Earth, Air is getting serious damage from Fire.

EARTH:
Is a really powerful element if used correctly. Lacks in speed and finesse overcompensates by bolstering force in offence and defense. Unfortunately, not seasoned users tend to lose balance, that is so important when using earth spells. Applying defensive layers not equally, leaving openings and small cracks. When attacking tending to overpower spells that sometimes backfire. The earth element have advantage versus Water but is weak against Air. 

LIGHT:
Not like the four basic elements that origin from mother nature, Light fuel itself from other source. Gaining it power from the user soul, it drains the wielder, leaving him exhausted. Weak minded and evil people will never be able to cast a single Light base spell. The outcome of such feed, probably would end in killing the person or at best case scenario leaving him near death. But like other elements ,Light have it counter element in form of Darkness.

DARKNESS:
Differing from the four elements that come from nature, Darkness is probably the most destructive force that anyone could align with. Tempting with easy to obtain force on the other hand is a cruel lover. Draining the user soul at every single cast, leaving a heavy toll on the wielders body and mind, but the power received in exchange is great and noticeable. The most common users are evil people and weak minded that look for quick gain of strength. But this tremendous force is somehow countered by Light.

NEUTRAL:
Not aligning with any element also can be profitable. Being a jack of all trades, the wielder can use any kind of element and isn’t penalized for being countered by certain element type. On the other hand, when being Neutral you can’t master the most powerful spells from the alignments. Also the medium level skills tend to be more difficult to handle and the cast cost goes up. 
 
Title: Re: General Discussion
Post by: Xela on November 01, 2014, 04:00:49 AM
Alignments rewrite:
 
FIRE: Wildest of the elements, depending on it wielders will, strength and skills. Varying from pleasant warm to source of unspeakable pain. All that just in glimpse of an eye. Used correctly can  scorch every obstacle to ash, leaving only burned ground behind.  In unskilled hands can be very dangerous to the person using it. This element have the upper hand against Air, but is countered by Water.


A Lot Better, but you need to be more succinct and to the point. Also try to make sure that you describe the current game and not a personal interpretation of it. Neutral does not block off power spells from other elements for example and fire doesn't depends on stats/skills that we don't have (you're risking confusing the player, if you want to add a slightly longer descriptions, it's great but use words that have literal value and not specifics that we don't have (yet)).

My rewrite would be:

FIRE: The wildest of all elements bringing a change that can never be undone. In a blink of an eye it can turn any obstacle to dust leaving nothing but scorched earth in it's path. In unskilled hands it can be more dangerous to it's wielders than to their enemies. Fire Element is countered by Water but has an upper hand when battling against Air alignment.

But you can do better, just don't put unneeded and confusing things to describe it.

Title: Re: General Discussion
Post by: Xela on November 04, 2014, 03:59:46 AM
Thewlis has sneaked in a large update to the SF :) Make sure to delete all .rpyc files. I'll be able to take a good look at that this Thursday but it look like exactly what I was hoping for.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2014, 08:41:48 AM
So, does the game use files in interactions folder now instead of screens for girlsmeets and stuff?
Title: Re: General Discussion
Post by: Xela on November 04, 2014, 08:58:32 AM
So, does the game use files in interactions folder now instead of screens for girlsmeets and stuff?

Prolly, yes... didn't get a chance to check the internals out yet but that was the idea, to have one common interface. I think that we'll get the new logic sorted first for the next release, get it organized and after the next release, create a new "Hentai Mode" using Gismo's interactions frame.

There is a bunch of stuff we need to do in order to get new system to make more sense. ST needs content and progression as well.

I am hoping to present a base concept for a simple skills and training based on counters, ranks and stats soon (Thursday/Friday).
Title: Re: General Discussion
Post by: Thewlis on November 04, 2014, 12:35:32 PM
Ah, yes. Right now the GI has the following options (arranged as "Name" ("label if different") "file the labels are in"):

All the options are setup in screens/pyt - screens - girlsmeets.rpy, as well as the actual screen (pyt_girl_interactions) and the label that accesses it (girl_interactions).

All the labels are the option name without spaces and lower case, unless specified. So "About Her" would be "abouther".
The system then looks for first label that matches:

This allows us to specific mode-specific scenes as well as girl-specific scenes.

Colors:
All
Girl Meets (Not)
Girl Interactions (Not)
Girl Trainings (Not)

Note:
Greetings have been moved to interactions/GM - greetings.rpy and are accessed through a call() instead of a jump().
Title: Re: General Discussion
Post by: Xela on November 04, 2014, 01:42:24 PM
We need to create a new Girls Interactions thread and copy the above there (Dark/CW? I am not sure who should make the first post).
Title: Re: General Discussion
Post by: DarkTl on November 04, 2014, 03:02:48 PM
Oohkey, I will copy it.
I have too much free time again, so I'm going to finish girlsmeets. In some cases there are too many lines in 'else' branches, some of them could be used with traits.
Title: Re: General Discussion
Post by: Xela on November 04, 2014, 03:15:24 PM
Damn.. I forgot that you can just quote the post in order to get to the code. You can ignore my pm.

Going to archive older gm/interactions thread, when you work on girlsmeets, think about how they could work as interactions as well and strive to remove any difference between the two. We'll work on concept as we go.

I'll try to restore girlsmeets style when I get some time to take a look at new code.

Edit: Apparently we never had any GM/Interactions threads... so I archived some other stuff :)
Title: Re: General Discussion
Post by: CherryWood on November 05, 2014, 11:45:32 AM
Code: [Select]
  File "game/library/interactions/GM - proposition.rpy", line 214, in <module>
    heroskillz += hero.charisma * 4
NameError: name 'heroskillz' is not defined
it seems that interaction_hire label can't find it's variable definitions anymore or something

-----------
also, old interaction labels are changing profile image while GM labels don't. It was looking weird anyway so I suggest keeping just one stable image there too and use portraits for small mood changes instead.
Title: Re: General Discussion
Post by: MrKlaus on November 05, 2014, 12:36:24 PM
Rewrite of the rewrite, hopefully this time will be ok or closer to the description that is desired.

 


FIRE:
The wildest of the elements. Mercilessly and irreversibly destroying everything on its path. Leaving behind only scorched earth and ash. In hands of an amateur, is more dangerous to him then to his enemy. Fire Element regardless to its power, is weak against Water but have the advantage versus Air.


WATER: The most mysterious among the elements. Hiding it twisted and destructive nature under the calm surface.  Capable of both, in swiftly or prolonging the violence when taking lives. Leaving behind only rumble and bodies as proof of it fatal capabilities. Dominating Fire with ease, the Water Element is relatively weak against Earth.


AIR: The most agile of the elements. Utilizing its transparency and omnipresent to maximum. Besides that, the wielder that align with the Air Element gets the possibility to use lightning base spells. Being able to strike swiftly and almost undetected, in capable hands this element doesn’t give the opponent much time to react. The Air Element excels against Earth but struggles greatly when dealing with Fire.


EARTH: The slowest and sturdiest among the elements. Known for sacrificing speed in exchange for enchanting its destructive power. Unlike other elements that leaves evidence of their devastating acts, Earth is capable of literally burying the truth. The Earth Element have the upper hand against Water, but have a hard time against the swift Air.


LIGHT: One of the two elements born from men desires, thoughts and deeds. The Light nest itself inside everyone souls. Gaining its force from good acts and pure thoughts. Unfortunately the Light Element is sentenced  for eternal struggle against its rival and counterpart the Darkness. Being evenly matched, the outcome of this internal fight between them depends solely on ones choices.

DARKNESS: One of the two elements born from men desires, thoughts and deeds. Fuelling itself from anger, impure thoughts and evil acts. Dwelling deep in everyone’s soul, patiently expanding, slowly consuming ones soul. But its growth is successfully controlled by its greatest enemy and counterpart the Light Element. Being evenly matched, the outcome of this internal fight between them depends solely on ones choices.

NEUTRAL: Being Neutral is the most popular option among warriors that depends solely on power of their bodies. Not aligning with any element gives the benefit of not worrying of running out of magic or being countered by the opposing element. On other hand, being Neutral is the worst possible option for people basing their fighting style only on magic.
Title: Re: General Discussion
Post by: Thewlis on November 05, 2014, 12:48:22 PM
Code: [Select]
  File "game/library/interactions/GM - proposition.rpy", line 214, in <module>
    heroskillz += hero.charisma * 4
NameError: name 'heroskillz' is not defined
it seems that interaction_hire label can't find it's variable definitions anymore or something

-----------
also, old interaction labels are changing profile image while GM labels don't. It was looking weird anyway so I suggest keeping just one stable image there too and use portraits for small mood changes instead.

Fixed and pushed.

As to the images changing I updated the code that did that in the labels to use the new GM system, but left the actual instances of them alone.
Title: Re: General Discussion
Post by: Xela on November 05, 2014, 01:40:02 PM
I'll fix descriptions a bit and add them to the game tonight + maybe fix a couple of minor issues and get rid of old and unused styles...

Edit: Small SF Update:

- Added descriptions by Klaus
- Got rid of some styles/screens
Title: Re: General Discussion
Post by: Xela on November 06, 2014, 03:53:04 PM
Small SF Update again:

- Got rid of unused interface elements
- Changed some styles
- Removed unused styles
- Fixed bugs reported by CW

Interface folders feel a lot cleaner now.
Title: Re: General Discussion
Post by: CherryWood on November 07, 2014, 04:03:29 AM
May I ask about current talk frames?
I've found that lines in arena said by team.leader are misplaced
Code: [Select]
team.leader.say("We are not looking for a fight outside of our league!")

team.leader.say("You seriously believe that you've got a chance?")
is there something that must be set to a character to say lines properly?

And also, If I would like to display and try to change portrait picture during talks and interaction, what could be the best way to do that?

------------
@Thewlis
Code: [Select]
if pytfall.world_actions.location("tavern_inside"):
            pytfall.world_actions.add("brawl_join", "Join in!", Show("pyt_wip_screen"), condition=Condition.global_flags("tavern_entry_brawl", "==", day + hero.AP))
            pytfall.world_actions.add("brawl_stay", "Stay", Show("pyt_wip_screen"), condition=Condition.global_flags("tavern_entry_brawl", "!=", day + hero.AP))
            pytfall.world_actions.finish()
Somehow this doesn't work and it's displaying only "Stay" button even if there is a brawl happening. (but there is no content related to those buttons whatsoever so we can freely remove them if there is some problem...)


----------
pushed some small fixes
Title: Re: General Discussion
Post by: Xela on November 07, 2014, 04:45:10 AM
is there something that must be set to a character to say lines properly?

This should not be hard to fix, I think there is a weird offset added there...

And also, If I would like to display and try to change portrait picture during talks and interaction, what could be the best way to do that?

Need to look into this, I expect that there are plenty options to control this... just need to come up with a convenient one.
Title: Re: General Discussion
Post by: DarkTl on November 07, 2014, 08:30:49 AM
Pushed some fixes for interactions lines. Let's see how our current system (all those elifs) will work first. If there will be complaints, then I'll try rts function everywhere.
What we need now is more lines for several topics. Not every topic has enough lines because we mostly took them from other games, and things like hold hands for example are quite rare. Maybe Klaus could write them, because I definitely can't.

I wonder what should I do next...
Title: Re: General Discussion
Post by: Xela on November 07, 2014, 09:05:48 AM
Quote
The post you are trying to quote either does not exist, was deleted, or is no longer viewable by you.

Damn CW keeps deleting his posts :D

To answer:

Yes, what you described is exactly what I've had in mind. Also we can remove/add stuff based on girls personal flags making those menus even more unique and interesting. I think this is very close to the final version of Interaction system in the game.

No, disposition is not being applied, we'll fix that later, code is here:
Code: [Select]
   class Girl(PytCharacter):
        # bla bla bla
        def __setattr__(self, key, value):
            if key in self.STATS:
                if key == 'disposition':
                    # This is a temporary crutch:
                    if last_label.startswith("gm_"):
                        if key == "disposition":
                            value = value + hero.charisma / 2
it should be:
Code: [Select]
                    if last_label.startswith("interactions_"):
to make it work.

Pushed some fixes for interactions lines. Let's see how our current system (all those elifs) will work first. If there will be complaints, then I'll try rts function everywhere.
What we need now is more lines for several topics. Not every topic has enough lines because we mostly took them from other games, and things like hold hands for example are quite rare. Maybe Klaus could write them, because I definitely can't.

I wonder what should I do next...

Our current system should handle everything same as the old one, only the access code has changed, we're still using normal Ren'Py labels and script.

Do whatever interests you the most, there tons of stuff that need to be done before the next release!
Title: Re: General Discussion
Post by: DarkTl on November 07, 2014, 09:18:41 AM
Damn CW keeps deleting his posts
2slow4me  8)

I figured dates are supposed to be preliminary agreements and take a lot of time, like in AA2 (not necessarily with a black screen). Because they are irl.

Our current system should handle everything same as the old one, only the access code has changed, we're still using normal Ren'Py labels and script.
I mean players reaction.
Title: Re: General Discussion
Post by: Thewlis on November 07, 2014, 01:04:52 PM
Code: [Select]
if pytfall.world_actions.location("tavern_inside"):
            pytfall.world_actions.add("brawl_join", "Join in!", Show("pyt_wip_screen"), condition=Condition.global_flags("tavern_entry_brawl", "==", day + hero.AP))
            pytfall.world_actions.add("brawl_stay", "Stay", Show("pyt_wip_screen"), condition=Condition.global_flags("tavern_entry_brawl", "!=", day + hero.AP))
            pytfall.world_actions.finish()
Somehow this doesn't work and it's displaying only "Stay" button even if there is a brawl happening. (but there is no content related to those buttons whatsoever so we can freely remove them if there is some problem...)

Yeah, the day+hero.AP bit was being calculated when the actions were created then stayed like that. I've made it so conditions can now "calculate" the second operand as well as the first.
Title: Re: General Discussion
Post by: Xela on November 07, 2014, 03:16:18 PM
I've wrote some of my thoughts on a possible stats system, let me know what you think.

Tomorrow I will prolly have some time to enable girls capture in SE and fix some issues with the module (more or less wrapping it up for the release). If anyone wants something added there, let me know. If that goes well and fast, I'll take a look at some other stuff as well. Tonight I need to figure out what's wrong with my simple beach events (they throw "you've called integer error" after next day has been run (I expect it's Ren'Pys define statement)) and fix some styles I've messed up yesterday...
Title: Re: General Discussion
Post by: CherryWood on November 07, 2014, 05:06:56 PM
No, disposition is not being applied, we'll fix that later, code is here:!
Thought so... disposition increases felt a bit slow somehow.


About stats:  ...I can't think or anything to say here  :)  Do what you guys think it's best and then tell me how to update girls, mobs and items to work again and I'm fine with it.
The thing is, I never worked with game systems and I don't know how majority of stuff is calculated even now. When I was creating something with stats, I usually just putted in some numbers similar to the closest thing I could find.
So even if you change the whole thing overnight, I seriously doubt I would notice  :)
Title: Re: General Discussion
Post by: Xela on November 07, 2014, 05:20:12 PM
Thought so... disposition increases felt a bit slow somehow.


About stats:  ...I can't think or anything to say here  :)  Do what you guys think it's best and then tell me how to update girls, mobs and items to work again and I'm fine with it.
The thing is, I never worked with game systems and I don't know how majority of stuff is calculated even now. When I was creating something with stats, I usually just putted in some numbers similar to the closest thing I could find.
So even if you change the whole thing overnight, I seriously doubt I would notice  :)

Noted... I tracked down the pickle bug to it's source but still have no explanation for it and still blame Ren'Py :)

Edit:
SF Updated:
- Restored some styles
- Fixed a couple of bugs
*renpy.retain_after_load() bug in the brothel screen is fixed but remains unsolved (could easiely be a bug in Ren'Py itself)
Title: Re: General Discussion
Post by: CherryWood on November 07, 2014, 06:18:25 PM
Yeah, the day+hero.AP bit was being calculated when the actions were created then stayed like that. I've made it so conditions can now "calculate" the second operand as well as the first.
Sorry to say, but after your last update some buttons groups like "praise" or "proposition" and few more disappeared from interactions
Title: Re: General Discussion
Post by: Thewlis on November 07, 2014, 07:42:33 PM
...I didn't even touch them. Sigh, I'll beat them into submission tomorrow.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 03:31:57 AM
Tomorrow I will prolly have some time to enable girls capture in SE and fix some issues with the module (more or less wrapping it up for the release). If anyone wants something added there, let me know.
Loot items. They don't have to replace gold (yet), but they should be droppable and sellable.

Also, how are you going to set initial levels/stats for captured characters?
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 04:33:19 AM
Loot items. They don't have to replace gold (yet), but they should be droppable and sellable.

Also, how are you going to set initial levels/stats for captured characters?

Forgot all about that, I'll throw those in as well...

Randomly by default, fixed if specified.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 04:54:23 AM
Shouldn't they be limited by team's average level or something?
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 05:28:47 AM
Shouldn't they be limited by team's average level or something?

Prolly, no sense in them capturing characters that are a lot stronger than themselves.
Title: Re: General Discussion
Post by: MrKlaus on November 08, 2014, 07:30:53 AM
PyTFall opening text - let's scratch this for now(make a place holder “slaves on right, free girl on the left and You in the middle of this shit. Have fun!” in the code for later). Because the game will grow and with every new thing the intro should be adjust or rewritten. Doing this thing X times is a waste of time in my opinion.

Darks Interaction Lines
– focusing on helping Dark with filling the blank spots. For details and deadlines I will be PM with Dark.

MC background/start up bonuses
– with the new stats remake (that I like), tell me how you want this to work. Should they be one time bonuses or can they also modify the growth of the MC stats?

For example, from the livingforever request of “spoiled brat” I thought that this background could be: a rotten, spoiled son of a Duke, that he hadn’t even wipe his own ass once his life time. His father having enough of his son, sends him off to start living on his own. Starting bonus 250 000 gold but all stats (min/max) 0/20 and the growth 1/1 for every level up. 
 
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 07:55:40 AM
MC background/start up bonuses [/b]– with the new stats remake (that I like), tell me how you want this to work. Should they be one time bonuses or can they also modify the growth of the MC stats?

For example, from the livingforever request of “spoiled brat” I thought that this background could be: a rotten, spoiled son of a Duke, that he hadn’t even wipe his own ass once his life time. His father having enough of his son, sends him off to start living on his own. Starting bonus 250 000 gold but all stats (min/max) 0/20 and the growth 1/1 for every level up.

... Do we want stuff like this? I can code this in without too much fuss (this particular example) but it will take (some) time.

I don't know m8... this is something we need to discuss. Also keep in mind that you can write one sentence of bonuses that will require hundreds of lines of code :D

Stuff that is reasonably easy to add:

*Gold
*Stats
*Items
*Max/Level Max (This is really powerful, be careful with it)
*Buildings/Shelter
*Girls (with "simple" conditioning)
*Experience (might not be a good idea)
*Relations (small starting disposition bonuses/penalties for girls (available at the start of the game for girlsmeets) (like for Warrior girls or Prostitutes or girls that have specific trait and etc))
*Prolly more but I can't think of anything atm.
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 08:20:20 AM
Stuff that is reasonably easy to add:

*Gold
*Stats
*Items
*Max/Level Max (This is really powerful, be careful with it)
*Buildings/Shelter
*Girls (with "simple" conditioning)
*Experience (might not be a good idea)
*Relations (small starting disposition bonuses/penalties for girls (available at the start of the game for girlsmeets) (like for Warrior girls or Prostitutes or girls that have specific trait and etc))
*Prolly more but I can't think of anything atm.
I like  :)


I see no reason why we should care about balancing starts, if someone want easy start with 250 000 gold, why not?
I'd like to see a hardcore start when you begin injured and robbed of everything with 0 gold!


Something like pack of gifts would be a great starting item for someone like me who want to use free girls from the start.
Permission to arena or being friendly with some NPC could be also an option (discount in shop perhaps?)
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 08:26:02 AM
I like  :)


I see no reason why we should care about balancing starts, if someone want easy start with 250 000 gold, why not?
I'd like to see a hardcore start when you begin injured and robbed of everything with 0 gold!


Something like pack of gifts would be a great starting item for someone like me who want to use free girls from the start.
Permission to arena or being friendly with some NPC could be also an option (discount in shop perhaps?)

Arena permit is a very good option, we don;t have relationships with NPCs yet. Gifts are a good bet as well, I am just not sure about what kind of a story should go with that... robbing thing is nice but it seems too severe :D

*We do need to make sure that starts don't break game experience...
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 08:29:21 AM
MC background/start up bonuses [/b]– with the new stats remake (that I like), tell me how you want this to work. Should they be one time bonuses or can they also modify the growth of the MC stats?

Before I forget, you need to pick icons for this stuff as well... also try to keep to Gismos setup, lets finish that first (it would already by an unreasonable amount of starts).

Do you have dropbox access? We have a lot of graphical resources there?
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 08:46:25 AM
robbing thing is nice but it seems too severe :D
C'moon, we already put a loads of RPG stuff in the game, starting with cleaning the blood of arena walls so you can earn for your first sword, what could be more heroic start?  :)  I'm thinking of adding event where you can beg the beggar girl to show you a place to sleep so you wound't die after a few days from loosing HP on each next day without accommodation  :) 

----------
btw. most weapons and armors are too cheap right now, it's still very easy to just buy the best stuff from all shops right of the bat and kick almost everyone's ass in arena on first weak, earning thousands. Not sure where to start the balancing though.

----------
I'm looking for some training ground BG, or some similar place where to watch practice and talk with warriors from arena, I was without luck so far, do you guys have any tips? (screenshotting some anime perhaps)
Title: Re: General Discussion
Post by: MrKlaus on November 08, 2014, 09:00:32 AM
... Do we want stuff like this? I can code this in without too much fuss (this particular example) but it will take (some) time.

I don't know m8... this is something we need to discuss. Also keep in mind that you can write one sentence of bonuses that will require hundreds of lines of code :D

Stuff that is reasonably easy to add:

*Gold
*Stats
*Items
*Max/Level Max (This is really powerful, be careful with it)
*Buildings/Shelter
*Girls (with "simple" conditioning)
*Experience (might not be a good idea)
*Relations (small starting disposition bonuses/penalties for girls (available at the start of the game for girlsmeets) (like for Warrior girls or Prostitutes or girls that have specific trait and etc))
*Prolly more but I can't think of anything atm.

That’s why I’m asking. What can I use, that you will be coding in not making a living hell for you at same time.

I would like to give mages some starting lvl 1 spells and higher stats responsible for magic skills. Myabe some necklace, ring or stuff. And make the classes more general, or go with an Ice Mage (auto align with Water element) or Evil Magister (align with Darkness)?

For warriors: bodyguards, arena fighter and similar: strength and toughest would be higher than any other classes, also an armor and a weapon for staring bonus. Hooking up in this category another subclass: assassins (more agile then warriors but not that much buffed with strength and toughnest)
 
 
Question.
Will there be “pick your alignment” on creating the MC or all start with Neutral?

Can I give out renown/reputation as bonuses?

Will the MC stats will be responsible for the same things or some changes/new stats?

What do you thing about growth modifying?

Warriors would growth more in physical, Magician more with spiritual stats, some Merchants and similar classes higher charisma, Nobles more in reputation. Of course there would be crossovers like:

Noble Dueler – boost in reputation, agility and strength but charisma and toughest would be under an average growth rate.
Average Joe – nothing special about him. All stats growth at the same rate.




Before I forget, you need to pick icons for this stuff as well... also try to keep to Gismos setup, lets finish that first (it would already by an unreasonable amount of starts).

Do you have dropbox access? We have a lot of graphical resources there?

 I was planning to throw in 4-6 subclasses for Gismos 4 mains. So it would be 16 at least. Also I was thinking about Misc class with some more crazy/funny approaches (don’t know Rogue Clown? And no legged pirate – I got hook up on this one xD)

Yeah I have access to the dropbox and will browse for potential icons. But my hands are full in upcoming weeks, having only Sundays off for myself and a next longer breather around X-mas-New year.
 

EDIT:
C'moon, we already put a loads of RPG stuff in the game, starting with cleaning the blood of arena walls so you can earn for your first sword, what could be more heroic start?  :)  I'm thinking of adding event where you can beg the beggar girl to show you a place to sleep so you wound't die after a few days from loosing HP on each next day without accommodation  :) 
Love this idea! If you don’t have any ideas for the startup, here you go: shipwreck, escaped convict, previous slave, addict gambler after losing it all.
 
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 09:02:39 AM
robbing thing is nice but it seems too severe
What are you, casual? Git gud, scrub!  :)

btw. most weapons and armors are too cheap right now, it's still very easy to just buy the best stuff from all shops right of the bat and kick almost everyone's ass in arena on first weak, earning thousands. Not sure where to start the balancing though.
I'm not a big fan of huge sums out of nowhere. Prices were set on condition that you need at least about 10-15 gold/per day for food and more if you want a shelter of some kind. I'd rather reduce initial gold and income.
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 09:28:10 AM
Question.
Will there be “pick your alignment” on creating the MC or all start with Neutral?

Can I give out renown/reputation as bonuses?

Will the MC stats will be responsible for the same things or some changes/new stats?

There is, Angela (pretty NPC near Mages Tower) is helping MC with picking his first alignment for free.

Alignments and magic skills (spells) are also very easy to add at the start (forgot them in the list).

Yes you can as  fame/reputation are simple stats but keep in mind that they are useless or close to useless at the moment.

No idea, MC stats work exactly the same way as all other stats, just sex stats are different (MC has just one) so whatever we changes we make, they will count for MC as well...

What do you thing about growth modifying?

Warriors would growth more in physical, Magician more with spiritual stats, some Merchants and similar classes higher charisma, Nobles more in reputation. Of course there would be crossovers like:

Noble Dueler – boost in reputation, agility and strength but charisma and toughest would be under an average growth rate.
Average Joe – nothing special about him. All stats growth at the same rate.

Nothing yet... I don't think we need growth modifier because:

We already have MAXIMUM stats system that can clearly distinguish a warrior from Casanova.
It is not very easy for MC to gain stats, meaning someone who's focused on the Arena will not have much AP left for girlsmeets for example.
At the moment, there is actually very limited difference between MC classes and we don't really know what the future will hold.
We'll have to revisit bonuses regardless of what we do (new modules will come with new classes and new skills)

*I think we should limit this for starting stats for now...

I was planning to throw in 4-6 subclasses for Gismos 4 mains. So it would be 16 at least. Also I was thinking about Misc class with some more crazy/funny approaches (don’t know Rogue Clown? And no legged pirate – I got hook up on this one xD)

Yeah I have access to the dropbox and will browse for potential icons. But my hands are full in upcoming weeks, having only Sundays off for myself and a next longer breather around X-mas-New year.

Yeah... but that's insane. Not only is it too much, it is bound to become quite repetitive and lets face it, 16 * 6 * 2 = 192 possible combinations (you can have less than 6 but 2 personal pathes is a requirement).

Lets do the 4 * 6 * 2 (they can be repetitive as well btw) for the first version (tops!).

Yeah I have access to the dropbox and will browse for potential icons. But my hands are full in upcoming weeks, having only Sundays off for myself and a next longer breather around X-mas-New year.

Oki

This is the code, it's in the pyt - screens - mc-setup.rpy file. Work with it directly, add one more description, test it and try committing/pushing it yourself.

First bit is about the family (on the left). Second bit is about the MC (on the right).

You can copy stuff you want to reuse like:

Code: [Select]
mc_stories["Warrior"] = mc_stories["Merchant"]
would work. It might be useful if you want to reuse MC stories for different family trees.

Code: [Select]
        mc_stories = {} # Main Dictionary
       
        mc_stories["Merchant"] = {} # Merchant:
        mc_stories["Merchant"]["header"] = "Your father was a great merchant"
        mc_stories["Merchant"]["Caravan"] = "{font=fonts/rubius.ttf}\n Maybe he didn't have own shop, but his caravan provides the city all necessary goods. Luck was on his side, he amassed considerable wealth, grateful friends, but also powerful enemies.\n Anticipating trouble, he left you at home. And on this day, luck deserted him. Caravan was looted. All people were killed and the father was gone.\n {color=#1E90FF}({/color}{color=#FFD700}+15k gold{/color}{color=#1E90FF},{/color}{color=#8470FF} +Intelligence{/color}{color=#1E90FF},{/color}{color=#DEB887} +Constitution{/color}{color=#1E90FF},{/color}{color=#00FA9A} +Luck{/color}{color=#1E90FF}){/color}"
        mc_stories["Merchant"]["choices"] = OrderedDict(Caravan="content/gfx/interface/images/wagon35.png",
                                                                                       Farm="content/gfx/interface/images/hay35.png",
                                                                                       Ranch="content/gfx/interface/images/ranch35.png",
                                                                                       Mine="content/gfx/interface/images/Mine37.png",
                                                                                       Shopkeeper="content/gfx/interface/images/shop36.png",
                                                                                       Smuggler="content/gfx/interface/images/smuggler35.png",
                                                                                       Shipmaster="content/gfx/interface/images/shipmaster35.png",
                                                                                       Moneychanger="content/gfx/interface/images/coin30.png")
       
        mc_stories["Merchant"]["MC"] = {} # Merchant Family MC personal choices:
        for key in mc_stories["Merchant"]["choices"]: # We create new dicts for all keys to avoid errors
            mc_stories["Merchant"]["MC"][key] = {}
            mc_stories["Merchant"]["MC"][key]["choices"] = OrderedDict()
        mc_stories["Merchant"]["MC"]["Caravan"]["choices"] = OrderedDict(l="Defender",
                                                                                                                   l_img="content/gfx/interface/images/Warrior2.png",
                                                                                                                   l0="Sword",
                                                                                                                   l0_img="content/gfx/interface/images/sword1.bmp",
                                                                                                                   l1="Woman",
                                                                                                                   l1_img="content/gfx/interface/images/woman2.png",
                                                                                                                   l2="Money Bag",
                                                                                                                   l2_img="content/gfx/interface/images/money_bag3.png",
                                                                                                                   r="Caravan",
                                                                                                                   r_img="content/gfx/interface/images/caravan.png",
                                                                                                                   r0="Book",
                                                                                                                   r0_img="content/gfx/interface/images/book1.png",
                                                                                                                   r1="Boots",
                                                                                                                   r1_img="content/gfx/interface/images/boots1.png",
                                                                                                                   r2="Bag",
                                                                                                                   r2_img="content/gfx/interface/images/bag2.png")
        mc_stories["Merchant"]["MC"]["Defender"] = {} # Sub sub choices, Main: Caravan (Could theoretically be anything), sub = Defender
        mc_stories["Merchant"]["MC"]["Defender"]["header"] = "Defender of the caravan"
        mc_stories["Merchant"]["MC"]["Defender"]["text"] = "Acting as a security guard at the father's caravan, you have gained some experience in the weapons handling. You become a little bit stronger and hardier {color=#1E90FF}({/color}{color=#E9967A}+Defence{/color}{color=#1E90FF},{/color}{color=#DEB887} + Constitution{/color}{color=#1E90FF}){/color}"
        mc_stories["Merchant"]["MC"]["Defender"]["Sword"] = "You cut down many heads with your favourite sword 'Bettie' {color=#1E90FF}({/color}{color=#FFD700}+Sword{/color}{color=#1E90FF},{/color} {color=#CD5C5C}+Attack{/color}{color=#1E90FF}){/color}"
       
        mc_stories["Warrior"] = {}
        mc_stories["Warrior"]["choices"] = OrderedDict()
        mc_stories["Warrior"]["MC"] = {}
        mc_stories["Scholar"] = {}
        mc_stories["Scholar"]["choices"] = OrderedDict()
        mc_stories["Noble"] = {}
        mc_stories["Noble"]["choices"] = OrderedDict()
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 09:33:16 AM
I'm not a big fan of huge sums out of nowhere. Prices were set on condition that you need at least about 10-15 gold/per day for food and more if you want a shelter of some kind. I'd rather reduce initial gold and income.

Yeah well... now we prolly can. We gave mc cash to buy the first building/girl/items, if we now handle that with stories (Arena Fighter/Brothel Manager/Guild Manager and etc. we can limit the amount of starting cash.) But in all likelihood that sh!t will be very difficult/time consuming to balance out.

Ok, time to write a couple lines of code :)
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 09:40:40 AM
I'm not a big fan of huge sums out of nowhere. Prices were set on condition that you need at least about 10-15 gold/per day for food and more if you want a shelter of some kind. I'd rather reduce initial gold and income.
Arena income is just nuts, I just won 4k gold at lv one in a 1v1 dogfight with normal equip  :)  But that's aside, compared to normal job earnings, I think that prices of low/quality and common items are relatively fine, but as items gets better, the price should increase much more the it do now. More like quadratic progression. Compared to how much  leveled girls earn, I thing we are too reserved in there.
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 09:50:50 AM
Arena income is just nuts, I just won 4k gold at lv one in a 1v1 dogfight with normal equip  :)

Would need to be fixed before the release.

More like quadratic progression.

I only know arithmetic and geometric ones...

Something with the quality of Excalibur shouldn't cost less then a good house in my option  :)

LoL It really should (although I don't know the real stats of that sword).
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 10:05:47 AM
nah, sorry, I didn't really wanted to complain about balance at this point. I myself putted mobs into SE without any real testing about how strong or weak they are, so they must be totally off the charts.


I'm trying to play the game a little to get hang on the new training stuff and to think about tags again, but I didn't really get any new ideas on that. It's the thing bothering me the most (cause it's preventing making girlpacks) but I'm too unsure about the whole thing to do something about it.
Title: Re: General Discussion
Post by: Thewlis on November 08, 2014, 10:44:46 AM
Sorry to say, but after your last update some buttons groups like "praise" or "proposition" and few more disappeared from interactions

Alright, I've got the system working again. Changed how actions conditions solved complex statements and forgot to update them all. I'll push it after I recolour the actions that open sub-menus so they're obvious.

I've also written an explanation of the classes and logic used for action conditions at the start of the classes - actions.rpy file. If you need to write a condition for an action or want to use it for something else (as they are basically delayed if statements) then check it out.
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 10:58:55 AM
Alright, I've got the system working again.
Thanks!
So all issues I had solved in a day? This game must have the best support ever  8) :)
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 11:15:44 AM
LoL It really should (although I don't know the real stats of that sword).
It's an easter egg from Soul Eater (not Fate/stay night or something). It really should cost that much, I guess.
However, I'm afraid that too expensive items could be too profitable. If you are lucky enough to find something good (iirc it has 1% chance to drop, but it's not that small compared to some items in games like diablo), your money problems will be solved for a very long time.
Possible decision is to set max amount of gold for merchants, either total or per item. Or set extortionate purchase price, like in witcher, where you get from 1/5 to 1/10 of items cost.

As for free gold that required to buy initial house, we should avoid it somehow too. In games where they give you free gold to buy a house you are forced to do it. We don't force it, so...
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 11:19:33 AM
I'm officially give up on finding a suitable background for a temple of time. I have some decent npcs for it though, so we could add an item (clocks, obviously) to summon them.
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 11:55:19 AM
Only thing with a clock I have is this:
(http://img24.cz/images/64667981023399929951_thumb.jpg) (http://img24.cz/viewer.php?file=64667981023399929951.jpg)

I wanted to ask about church, do we have a plans for any? I have some nun-like girls I want to add so I was thinking about having a small event there. So the question is if we want one on main map or I should keep it just as a non accessible unimportant event BG.
Title: Re: General Discussion
Post by: Gismo on November 08, 2014, 12:22:28 PM
I'm officially give up on finding a suitable background for a temple of time. I have some decent npcs for it though, so we could add an item (clocks, obviously) to summon them.
Returned from a work trip )

I remember, you wanted the temple with clock for revival. I'll see what I can do about it.

Title: Re: General Discussion
Post by: Xela on November 08, 2014, 12:35:34 PM
Returned from a work trip )

I remember, you wanted the temple with clock for revival. I'll see what I can do about it.

It's not a priority... we have a lot of other stuff to do.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 12:55:30 PM
It's not a priority... we have a lot of other stuff to do.
It's not a minor thing either, unless you want permanent death.
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 12:59:51 PM
I understand, but there are more important things to work on atm than resurrection system, even in content.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 01:05:35 PM
Only thing with a clock I have is this:
I wanted to ask about church, do we have a plans for any? I have some nun-like girls I want to add so I was thinking about having a small event there. So the question is if we want one on main map or I should keep it just as a non accessible unimportant event BG.
I hoped to find something more temple-ish, but it will work too if Gismo won't be able to find something.

A church... We have temple of time for revival, so maybe there could be kind characters and even orphans that you could recruit.
It rises new questions about religions and gods in the city though. I hope your nuns are ready to answer them  :)
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 01:27:38 PM
A church... We have temple of time for revival, so maybe there could be kind characters and even orphans that you could recruit.
It rises new questions about religions and gods in the city though. I hope your nuns are ready to answer them  :)
It doesn't really matter for what I wanted  :)  I didn't think about religions at all yet, do we really want that stuff?
----
Do you have outside pic for that temple of time?






====================
Should I update tags in whore jobs? There are some "noTags" conditions missing that wasn't transferred from old version, causing wrong images to be used (bdsm, mast, etc...)
I'll just do it, it's not like we will have better tags in a day or two...
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 01:45:36 PM
Oh, my priestesses of time will be able to tell many things about their god  :)
I also have ideas about revival penalties system, and why they exist. Because otherwise it will be too shady and superficial.

I believe church cannot exist without a god. And I bet your nuns don't wear time-related robes. So we have polytheism now.

Do you have outside pic for that temple of time?
Nope. If you have any, they are welcomed.
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 01:56:54 PM
Should I update tags in whore jobs? There are some "noTags" conditions missing that wasn't transferred from old version, causing wrong images to be used (bdsm, mast, etc...)
I'll just do it, it's not like we will have better tags in a day or two...

Yes.

Oh, my priestesses of time will be able to tell many things about their god  :)
I also have ideas about revival penalties system, and why they exist. Because otherwise it will be too shady and superficial.

I believe church cannot exist without a god. And I bet your nuns don't wear time-related robes. So we have polytheism now.
Nope. If you have any, they are welcomed.

Oki

I can't figure out how the damned jail works, code is all over the place :)

Apparently we already had rudimentary girls capture code, might even be enough for the first version. I just need to figure out how to work the new jail...

*Going to give up on jail for now, I only can force a fix that could potentially break Thewlises stuff. Going to wait for him to explain how jail and runaway manager are working together. There are still some messed up styles/buttons I need to take care of.
Title: Re: General Discussion
Post by: Thewlis on November 08, 2014, 03:20:02 PM
Lets see...

You know the SlaveMarket class? Well I changed the shopping-for-slaves screen to be able use any class that implements the following:

Both RunawayManager and CityJail implement these methods / properties so can be passed to the shopping screen so it can use them as if they were an instance of the SlaveMarket class.

RunawayManager automatically adds girls to it that trigger runaway states while training and manages their availablity in the jail and look around events. You access the RunawayManager in the jail screen by going Cells>Browse Escapees. You can manually add a girl to the RunawayManager (there by making them runaway) by calling pytfall.ra.add(girl), and remove them with pytfall.ra.remove(girl). If you want to check whether or not a girl can/successfully does runaway use:
Code: [Select]
pytfall.ra.can_escape(girl, location, guards_if_not_from_location=None, girlmod_dict_for_events=None, traits_to_help_escape=None, traits_to_hinder_escape=["Restrained"], use_BE=True, simulate_or_enter_BE=True, be_kwargs=dict())

Returns (success, detail), where success is true/false and detail is "caught" and "defeated" for an unsuccessful attempt with and without fighting respectively, or "escaped" and "fought" for a successful attempt.

To add / remove a girl from the normal jail use jail.add_prisoner(girl) / jail.remove_prisoner(girl). It can be accessed by Cells>Browse Prisoners. Aside from that its interface is the same.

There is also an event trigger called "browse_jail_cells" accessed through Cells>Browse Cells.
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 03:31:55 PM
And I figured all of that out but for some reason:

I'm sorry, but an uncaught exception occurred.

Code: [Select]
While running game code:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 37, in script
    python:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 39, in <module>
    result = ui.interact()
  File "game/library/screens/locations/pyt - screens - slavemarket.rpy", line 173, in execute
    screen pyt_slave_shopping(store, tt_text, buy_button, buy_tt):
  File "game/library/screens/locations/pyt - screens - slavemarket.rpy", line 190, in execute
    if store.girls_list:
  File "game/library/screens/locations/pyt - screens - slavemarket.rpy", line 192, in execute
    frame:
  File "game/library/screens/locations/pyt - screens - slavemarket.rpy", line 195, in execute
    side "c r":
  File "game/library/screens/locations/pyt - screens - slavemarket.rpy", line 196, in execute
    viewport id "sm_vp_stats":
  File "game/library/screens/locations/pyt - screens - slavemarket.rpy", line 203, in execute
    vbox:
  File "game/library/screens/locations/pyt - screens - slavemarket.rpy", line 206, in execute
    frame:
  File "game/library/screens/locations/pyt - screens - slavemarket.rpy", line 211, in execute
    text (u"{font=fonts/rubius.ttf}{color=#000}{color=[crimson]}%s"%(store.girl.fullname)) align(0.5, 0.5)
AttributeError: 'NoneType' object has no attribute 'fullname'

I keep getting errors like this one when i try to look at prisoners. Also if there are no prisoners, the game locks with writing on a white frame that I cannot find how to close (prolly a called screen).

I am trying to style Interactions screen now :)
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 03:49:57 PM
Which one looks better?

(http://s24.postimg.org/m7vd3x4w1/2014_11_08_22_45_56.png) (http://postimg.org/image/m7vd3x4w1/) (http://s24.postimg.org/ri0bv7p4x/2014_11_08_22_47_24.png) (http://postimg.org/image/ri0bv7p4x/)

*Right one will not be out of bounds because developer will not be there under normal play.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2014, 03:58:13 PM
A tough question. I like buttons on the left one more because they are more compact, but buttons on the right one are prettier.
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 04:03:15 PM
A tough question. I like buttons on the left one more because they are more compact, but buttons on the right one are prettier.

If it was easy to pick, I wouldn't have asked :)

Both options are really good since Thewlis finished styling both buttons...
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 04:36:09 PM
Yes.
Turned out that I can't. I'm not able to fully understand what whore job do with images. That code is too complicated for me  :( 


What needs to be done is to exclude ["bdsm", "mast", "group"] tags from the whole job.
I tried to add those to
Code: [Select]
def get_image(self, act, girl, has=False, **kwargs):
            """
            Gets the image for the variant.
            act = The act.
            girl = The girl.
            has = Whether to return using the has_image or show function.
            kwargs = Arguments to pass to the functions.
            """
            if has: f = girl.has_image
            else: f = girl.show
           
            # ChW: I excluded some main tags that we dont want in current whore job
            if self.tags:
                if self.noTags: return f(*self.tags, exclude=self.noTags + ["bdsm", "mast", "group"], **kwargs)
               
                else: return f(*self.tags, exclude=["bdsm", "mast", "group"], **kwargs)
           
            else:
                if self.noTags: return f(act, exclude=self.noTags + ["bdsm", "mast", "group"], **kwargs)
               
                else: return f(act, exclude=["bdsm", "mast", "group"], **kwargs)

but that didn't help.


Also, the game is not using "les" tag at all, so in case of finger_pussy we get any image with "finger pussy" like normal sex image.
I think it's because that the class takes first image tag from the name of act, and this is named in the file as "lesbian", not "les" like the tag. But just renaming the act caused whores to not have female customers anymore....
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 04:59:25 PM
New code is a bit confusing but it's prolly here:

Code: [Select]
    # Oral sex acts
    PytWhoring("blowjob", sex_skill="blowjob",
               variants=dict(deepthroat=("He shoved his cock all the way into her throat! \n",
                                         "Deepthroat is definitely my style, thought the customer... \n"),
                             
                             handjob="He told %s to give him a good handjob.\n",
                             
                             footjob=PytWhoringVariant(("He asked her for a foodjob.\n",
                                                        "Footjob might be a weird fetish but that's what the customer wanted...\n"),
                                                       dice=80, tags="footjob"),
                             
                             titsjob_big=PytWhoringVariant(("He went straight for her big boobs. \n", "Seeing her knockers, customer wanted notning else then to park his dick between them. \n",
                                                            "Lustfully gazing on your girl's burst, he asked for a titsjob. \n",
                                                            "He put his manhood between her big tits. \n",
                                                            "He showed his cock between %s's enormous breasts. \n"),
                                                           traits=["Big Boobs", "Abnormally Large Boobs"], tags=["titsjob"]),
                             
                             titsjob_flat=PytWhoringVariant(( (7,"With a smirk on his face, customer asked for a titsjob. He was having fun from her vain effords. \n"),
                                                             "He placed his cock between her breasts, clearly enyoing her flat chest. \n",
                                                             "Even when knowing that her breasts are small, he wanted to be carresed by them. \n"),
                                                            dice=50, traits=["Small Boobs"], tags=["titsjob"]),
                             
                             titsjob=PytWhoringVariant(("He asked for a titsjob. \n", "He let %s to carres him with her breasts. \n",
                                                        "He showed his cock between %s's tits. \n"),
                                                       noTraits=["Big Boobs", "Abnormally Large Boobs", "Small Boobs"], tags=["titsjob"]),
                             
                             bukkake=PytWhoringVariant(("Customer wanted nothing else then to jerk himself in from of her and ejactuate on her face. \n",
                                                        "He wanked himself hard in effort to cover her with his cum. \n"),
                                                       dice=20, tags=["bukkake"]),
                             
                             blowjob=PytWhoringVariant(("Client was in mood for some oral sex. \n",
                                                        "Client was in the mood for a blowjob. \n",
                                                        "He asked her to lick his dick. \n"),
                                                       noTags=["deepthroat", "handjob", "footjob", "titsjob", "bukkake"]),
                             
                             _=("Client was in mood for some oral sex. \n",
                                "Client was in the mood for a blowjob. \n",
                                "He asked her to lick his dick. \n")
                             )
               )

tags = List of tags to use
noTags = List of tags to exclude
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 05:34:51 PM
New code is a bit confusing but it's prolly here:
Ok, I'm starting to get it now I guess.
It seems that the problem was that I overlooked that some of the variant like "_" go through different class that doesn't accept tags and I need to rewrite them into PytWhoringVariant first if I need to add something more to those.

Title: Re: General Discussion
Post by: Xela on November 08, 2014, 05:50:29 PM
Ok, I'm starting to get it now I guess.
It seems that the problem was that I overlooked that some of the texts are handled through different class that doesn't accept tags and I need to rewrite them into PytWhoringVariant first.

Prolly...

Some stuff in the code is a bit weird but I prolly not seeing the whole picture. Also when adding new stuff, make sure all tags are in lists, I think they are unpacked and plain strings might do weird things.

Small SF Update:

- Small fixes
- Small rewrite of location_actions screen
- All options now must be chosen in the MC screen to proceed
- MC Build up screen can now be skipped completely (saves time when testing the game) *Dev Mode only

Going to catch some zzzs...

*Note that Thewlis pushed a fix for lesbian, you'll have trouble if there is a merging conflict. Get his stuff first!
Title: Re: General Discussion
Post by: Thewlis on November 08, 2014, 05:53:34 PM
And I figured all of that out but for some reason:

I'm sorry, but an uncaught exception occurred.

I keep getting errors like this one when i try to look at prisoners. Also if there are no prisoners, the game locks with writing on a white frame that I cannot find how to close (prolly a called screen).

I am trying to style Interactions screen now :)

Right, the locking-on-a-white-frame was the slave market screen failing because there weren't any girls to look at. The action should have prevented you from accessing the screen entirely in this case, but was missing a bracket.

The error itself is because while the jail had girls in it, the current girl property was still null so it tried to access properties on a girl that didn't exist. I've changed the add_prisoner (and pytfall.ra.add) functions to automatically set girl to the first girl added if its None (and pytfall.ra.add has jail=True passed).

What needs to be done is to exclude ["bdsm", "mast", "group"] tags from the whole job.

Also, the game is not using "les" tag at all, so in case of finger_pussy we get any image with "finger pussy" like normal sex image.
I think it's because that the class takes first image tag from the name of act, and this is named in the file as "lesbian", not "les" like the tag. But just renaming the act caused whores to not have female customers anymore....

The les/lesbian confusion has been fixed. I changed the PytWhoring name to les and changed the corresponding Customer act to les as well.

As for the tags, while changing everything over to a PytWhoringVariant to exclude those tags would work, I simply added a blanked fix so that all the image calls in the classes automatically exclude the bdsm, mast and group tags. Unless we want those tags for certain acts, at which point I'll have to remove that again.
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 06:14:00 PM
Right, the locking-on-a-white-frame was the slave market screen failing because there weren't any girls to look at. The action should have prevented you from accessing the screen entirely in this case, but was missing a bracket.

The error itself is because while the jail had girls in it, the current girl property was still null so it tried to access properties on a girl that didn't exist. I've changed the add_prisoner (and pytfall.ra.add) functions to automatically set girl to the first girl added if its None (and pytfall.ra.add has jail=True passed).

Code: [Select]
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 37, in script
    python:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 42, in <module>
    pytfall.ra.previous_index()
  File "game/library/classes - training.rpy", line 2147, in previous_index
    self.index = (self.index-1) % len(self.girls_list)
ZeroDivisionError: integer division or modulo by zero

It's working but throwing this error when trying to click the next girl button (with only one girl in jail). I'll try to handle the rest of the logic for this tomorrow, there should be no problems if the jail is working.
Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 06:36:15 PM
The les/lesbian confusion has been fixed. I changed the PytWhoring name to les and changed the corresponding Customer act to les as well.
Somehow it didn't help. I'm still getting strait sex images that just happen to have some description tags like anal dildo or caress tits displayed together with female customer text.

Like if the job was only checking the second tag and no both tags together (les + variant)
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 07:41:02 PM
Somehow it didn't help. I'm still getting strait sex images that just happen to have some description tags like anal dildo or caress tits displayed together with female customer text.

Like if the job was only checking the second tag and no both tags together (les + variant)

I'd add that:

self.girls.remove(self.girl)

Edit:
Maybe:
if self.girl.AP <= 0:
    # remove the girl will work but that may not be sensible for all job, needs testing...

in finish_job method is not acceptable, most jobs are meant to be repeated until AP are exhausted. I tried removing it but it caused an infinite loop.

I don't get why jobs were rewritten, they seem to have become a lot less flexible. We'll fix all of that in time but that is the only rewrite that makes no sense to me, buildings and girlsmeets all became better and (a lot) more powerful, slavemarket screen reusable, schools had to be rewritten due to horrific code but jobs were tight, all at one place, worked like clockwork and were easy to expand... I can't figure out what we got out of all the work rewrite (must have) required.
Title: Re: General Discussion
Post by: Thewlis on November 08, 2014, 07:57:19 PM
Code: [Select]
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 37, in script
    python:
  File "game/library/screens/locations/pyt - screens - city_jail.rpy", line 42, in <module>
    pytfall.ra.previous_index()
  File "game/library/classes - training.rpy", line 2147, in previous_index
    self.index = (self.index-1) % len(self.girls_list)
ZeroDivisionError: integer division or modulo by zero

It's working but throwing this error when trying to click the next girl button (with only one girl in jail). I'll try to handle the rest of the logic for this tomorrow, there should be no problems if the jail is working.

If theres only 1 girl, then the index would be 0, so its complaining about getting -1 / 1. An if statement checking for a length of > 1 to do anything would fix it.

Somehow it didn't help. I'm still getting strait sex images that just happen to have some description tags like anal dildo or caress tits displayed together with female customer text.

Like if the job was only checking the second tag and no both tags together (les + variant)

Right, I forgot that any PytWhoringVariant with the tags argument ignores the act name when getting images, as it was designed to call a replacemen tag, not supplement it. I'll add in the missing tags to those that need it.

I'd add that:

self.girls.remove(self.girl)

in finish_job method is not acceptable, most jobs are meant to be repeated until AP are exhausted. I tried removing it but it caused an infinite loop.

I don't get why jobs were rewritten, they seem to have become a lot less flexible. We'll fix all of that in time but that is the only rewrite that makes no sense to me, buildings and girlsmeets all became better and (a lot) more powerful, slavemarket screen reusable, schools had to be rewritten due to horrific code but jobs were tight, all at one place, worked like clockwork and were easy to expand... I can't figure out what we got out of all the work rewrite (must have) required.

The rewrite involved mainly general clean up (the base class Job contained the "loc" property that was completely ignored for the "brothel" property initialised in all the subclasses for instance). WhoreJob got the PytWhoring implementation because much of the code was an almost perfect copy. The act function had 122 lines that was copied 4 times with the only difference being a character stat and what text was reported. Not to mention how the bar brawl / violet client were also copies.

However as were having problems I'll admit I didn't understand how the Job classes worked as well as I thought. I'll undo the changes I made that've caused these problems and we can look at clean up later.
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 08:08:14 PM
I'll undo the changes I made that've caused these problems and we can look at clean up later.

If you mean reverting back to old code, that is prolly not sensible. We'll gradually fix what we have now (I think the if self.girl.AP <= 0: worked for the finish_job).

Title: Re: General Discussion
Post by: CherryWood on November 08, 2014, 08:16:07 PM
I'd add that:

self.girls.remove(self.girl)

in finish_job method is not acceptable, most jobs are meant to be repeated until AP are exhausted. I tried removing it but it caused an infinite loop.
Aside of prostitutes always have only one customer now, I'm not having any service girls working at the bar. They just clean the building to no end, and when one girl manage to get the dirt to zero, next service girl just have it's job text empty.
  (http://img24.cz/images/72731332325451106239_thumb.jpg) (http://img24.cz/viewer.php?file=72731332325451106239.jpg)


///////////
@Thewlis: Thanks for that tag fix. I like the new structure, it's a pity that there are those issues...
Title: Re: General Discussion
Post by: Xela on November 08, 2014, 08:20:26 PM
If theres only 1 girl, then the index would be 0, so its complaining about getting -1 / 1. An if statement checking for a length of > 1 to do anything would fix it.

That paging system was advertised to me by Matt as being flawless, -1 % 1 returns 0 so index would remain 0. I think len(self.girl_list) is returning 0 for some reason.

Edit:
Yeah... it is calling pytfall.ra instead if the jail for some reason...

Aside of prostitutes always have only one customer now, I'm not having any service girls working at the bar. They just clean the building to no end, and when one girl manage to get the dirt to zero, next service girl just have it's job text empty.

That's what I meant in my post :) I think this can be fixed fairly easily, going to push last fix and really call it a night :)
Title: Re: General Discussion
Post by: Gismo on November 09, 2014, 08:13:53 AM
Small update:
- Added full description for caravan story


Title: Re: General Discussion
Post by: Thewlis on November 09, 2014, 01:20:15 PM
Good news! While I didn't straight up revert the jobs file, I did go through and add back every girls.remove(girl) call so whores now service multiple clients, and every other job should be working as originally intended again.

I fixed the Service girls not bar tending (I made a typo) and added the "les" tags back to the lesbian sex act.

I may have also fixed CityJail, but I'm still testing that.
Title: Re: General Discussion
Post by: Xela on November 09, 2014, 03:06:18 PM
http://www.pinkpetal.org/index.php?action=post;quote=30968;topic=1291.4000;last_msg=30969

Great!

I've updated items transfer screen:

(http://s29.postimg.org/td073kjrn/2014_11_09_22_04_20.jpg) (http://postimg.org/image/td073kjrn/)
Title: Re: General Discussion
Post by: Thewlis on November 09, 2014, 04:11:49 PM
Alright, I've definitely fixed the CityJail/RunawayManager next/previous index problem.

Although I've got to ask, is there an important reason, asside from standardising it with normal screen syntax) that the location_actions positioning arguments were renamed? 'Cause using align doesn't work with submenus as the whole screen will be moved more and more to right with everyone opened.
Title: Re: General Discussion
Post by: Xela on November 09, 2014, 04:19:04 PM
Although I've got to ask, is there an important reason, asside from standardising it with normal screen syntax) that the location_actions positioning arguments were renamed? 'Cause using align doesn't work with submenus as the whole screen will be moved more and more to right with everyone opened.

I couldn't figure out how to work the code but everything seems to be working fine, where does the code fail? There was no important reason, no.
Title: Re: General Discussion
Post by: Thewlis on November 09, 2014, 04:26:35 PM
It was the use of align. Align is basically shorthand for pos and anchor, so:
Code: [Select]
align (0.95, 0.95)
==
pos (0.95, 0.95)
anchor (0.95, 0.95)
The issue is that as the action screen gets wider when sub menus open up, the x anchor ends up moving further inwards as 100*0.05 == 5, but 200*0.05 = 10. It was only really noticeable when I was testing with the maximum number of sub menus as it became more and more pronounced.

I've fixed it by changing the default arguments to pos=(0.98, 0.98), anchor=(1.0, 1.0), align=None so it gets positioned at the same place but has its anchor set at the very end.

TBH naming the positional arguments like that is probably for the best. Certainly matches the rest of the screen code, although I did like how left/right top/down sounds.
Title: Re: General Discussion
Post by: Xela on November 09, 2014, 04:36:12 PM
Well, feel free to change it back or fix whatever is wrong with it.

I wanted to set ypos to three hundred and something and anchor it is such way for girlsmeets that middle of girlsmeets menu would find itself perfectly aligned to the middle of bar. I couldn't figure out how to get it done with the old code so decided to rewrite it a bit, after testing everything seemed to be working fine. I didn't test more tiers :(
Title: Re: General Discussion
Post by: Thewlis on November 09, 2014, 04:38:12 PM
Don't worry, I just needed to change the default arguments to use anchor and pos instead of align.
Title: Re: General Discussion
Post by: Xela on November 09, 2014, 05:36:27 PM
Kewl.. I am done for the night, pushed last minute fix to old sh!tty code in items transfer screen.

Next thing should prolly be more stuff for girlscapture (now working) but captured girls don't get any special treatment in jail.

I want a moderate "registration fee" and "upkeep" cost. They should either be sold chap to Stan, receive expensive/lengthy (Break) training with Blue or be sent to training dungeons if player has such a thing...
Title: Re: General Discussion
Post by: DarkTl on November 09, 2014, 11:36:44 PM
...or be released and either returned to wherever they were captured or added to city population.
Title: Re: General Discussion
Post by: CherryWood on November 10, 2014, 09:12:22 AM
How do you plan to add girls to the locations?

Right now, it say :"girls": {"Angel": 100} in the cursed forest, but players may not have a girl with that ID in their games, so is there another way?
---------------
- merged my loose item file with others + small stuff
-------------
Maybe something with gears?
(http://img24.cz/images/39379525124502156362_thumb.jpg) (http://img24.cz/viewer.php?file=39379525124502156362.jpg)
Title: Re: General Discussion
Post by: Xela on November 10, 2014, 09:16:41 AM
How do you plan to add girls to the locations?

Right now, it say :"girls": {"Angel": 100} in the cursed forest, but players may not have a girl with that ID in their games, so is there another way?
---------------
- merged my loose item file with others + small stuff

Nothing will happen if they don't.
Title: Re: General Discussion
Post by: DarkTl on November 10, 2014, 11:02:02 AM
I suppose time related characters like Sakuya from touhou project can be met near the temple of time. So we probably need names and meeting code for all freely accessible locations, unless it easier to handle via custom meeting scripts.
Title: Re: General Discussion
Post by: Xela on November 10, 2014, 11:30:25 AM
I suppose time related characters like Sakuya from touhou project can be met near the temple of time. So we probably need names and meeting code for all freely accessible locations, unless it easier to handle via custom meeting scripts.

Individual cases should be handle through the event system, we're not going to expand modules to auto-handle cases like these until 1.0 if finished. I got an hour or two, going to look into if the top stripe can be auto-hidden with gismos new map (just that one screen and map option) like the windows toolbar...
Title: Re: General Discussion
Post by: Xela on November 10, 2014, 05:04:09 PM
Pushed logic for gismos new map, top stripe is a dropdown on the main map now...

Apparently you can't properly use screen variables declared in screen that was called with use statement, only from parent... took me a long time to figure that out :(
Title: Re: General Discussion
Post by: Gismo on November 10, 2014, 08:14:10 PM

Well, that's all I can do for Temple of Time. I left a place for npc in the right part of the picture.

(http://s3.postimg.org/5sqs93t8f/Temple_of_Time_1.jpg) (http://postimg.org/image/5sqs93t8f/) (http://s15.postimg.org/ms0vuxguv/Temple_of_Time.jpg) (http://postimg.org/image/ms0vuxguv/)
Title: Re: General Discussion
Post by: DarkTl on November 11, 2014, 02:05:19 AM
Yup, we'll use that room for actual service and that hall with gears as an entrance and a place for events.
I keep looking for time themed characters, already found some good ones, but the more the better. Cherry, if you don't want to create a church already, I can do it later too.

We just need icons for both of them on the city map.
Title: Re: General Discussion
Post by: Xela on November 11, 2014, 03:02:42 AM
We just need icons for both of them on the city map.

It makes sense to use buttons for new locations until map has been voted in. Gismos variant looks really good btw...
Title: Re: General Discussion
Post by: CherryWood on November 11, 2014, 05:01:36 AM
Cherry, if you don't want to create a church already, I can do it later too.
I myself will not be creating church as a location where you can go to, I was just thinking about using it as a bg in some character related event, no idea what gameplay function could be there.

I already created one location without thinking (tavern), and that just turned to be a waste of time, because I don't have any sensible content for player to do there. 


--------------------------
I'm thinking about adding some simple events to arena "look around" where you MC will just watch some warriors training for occasional bit of experience. But I can't decide about the visuals at all, any ideas?
Title: Re: General Discussion
Post by: Xela on November 11, 2014, 09:21:12 AM
I already created one location without thinking (tavern), and that just turned to be a waste of time, because I don't have any sensible content for player to do there. 

And other might. It's a must have location, I for once am thinking about adding a minigame there, we do need to split the city in three living areas, add harbor, add castle (access only after events/reputation), add a bank, add churches for religion... maybe a brothel (was a nice touch in Valet).

It doesn't matter if we have immediate content/use for the locations, just them being there is required...

--------------------------
I'm thinking about adding some simple events to arena "look around" where you MC will just watch some warriors training for occasional bit of experience. But I can't decide about the visuals at all, any ideas?

Ghm... auto-dogfights between teams? ATL animations between battle-sprites with sound? You could find me the resources, I can do the code. Next thing on my list is not the jail/SE content (I need a fresh start for that, not being half dead after a work day), next I want to generalize ATLs by adding parameters to them... similar to what I done for styles, it's fairly straight forward, robotic monkey work :)
Title: Re: General Discussion
Post by: CherryWood on November 11, 2014, 09:49:08 AM
It seems that the current dialogue font doesn't support some of the symbols we have in interactions like  ♪ or ☆, that were displayed fine earlier. (or whatever the case is, it's just displaying ? instead)
Title: Re: General Discussion
Post by: DarkTl on November 11, 2014, 10:04:07 AM
Our texts require Unicode support. I don't remember when this started, so I'm not sure where is the problem.
Title: Re: General Discussion
Post by: Xela on November 11, 2014, 10:28:22 AM
It seems that the current dialogue font doesn't support some of the symbols we have in interactions like  ♪ or ☆, that were displayed fine earlier. (or whatever the case is, it's just displaying ? instead)

Our texts require Unicode support. I don't remember when this started, so I'm not sure where is the problem.

I think they try different encodings internally when working with strings from say window. To use unicode, u needs to be added in-front of the string like hero.say(u"Hello!"). It's not the case here... CW is right, font that was chosen by Gismo simply does not support the characters. Default Ren'Py font however supported everything we had, there are (normal) fonts that are 1.5mb + (that's huge) that literally support whatever the f*ck.

Most fonts in the game are placeholders anyway, we'll have to pick what we go with at some point so if anyone wants to go font hunting...
Title: Re: General Discussion
Post by: Gismo on November 11, 2014, 12:53:00 PM
Update:
- Add some new frames for "girls_list" screen.
- Small fixes in "mc-setup", "heroprofile" and "girlsmeets".


(http://s16.postimg.org/72j801ewx/2014_11_11_20_32_06.jpg) (http://postimg.org/image/72j801ewx/)
Title: Re: General Discussion
Post by: Xela on November 11, 2014, 05:43:17 PM
Small SF:

- Fixed music not shutting up when skipping mc build-up
- Did some minor work setting up basic transforms, causes weird behavior here and there atm.
Title: Re: General Discussion
Post by: livingforever on November 12, 2014, 09:37:30 AM
Hey everyone!
So I finally did spend an afternoon searching through my web design stuff to find suitable fonts - and I did.

Overall, I settled with three fonts: Della Respira, EB Garamond and Myriad Pro.
I don't know if I need to, but here are some explanations why these and where they should be used.

Della Respira (http://fontpro.com/download-family.php?file=35391) is the headline font. Originally, I intended to select an ornamental or at least decorative font, but later decided against it to keep the font more versatile and readable. Della Respira is an elegant font with very small serifs and a small Unicode character set (which is intentional for headlines).
The serif font EB Garamond (http://www.cufonfonts.com/download/font/12348/eb-garamond) should be used for content. It is the free version of the propably most copied humanist typeface ever (since 1592) and has a relatively large character set (compared to other free fonts).
My last choice, Myriad Pro (http://www.cufonfonts.com/download/font/492/myriad-pro), is also very common (especially in web design), but differs from the other two in that it is a sans-serif font intended for purely navigational purpose here. In other words, don't use it unless there is no game content (e.g. the filter options for characters or the top bar). Use the semibold version for headlines and the regular version otherwise.
Have fun!
Title: Re: General Discussion
Post by: Xela on November 12, 2014, 10:39:02 AM
Going to put them into the game replacing some of out fonts and see how it looks. Still no medieval looking font :(
Title: Re: General Discussion
Post by: livingforever on November 12, 2014, 11:43:11 AM
Hi!
Still no medieval looking font :(
What do you define as medieval? I chose a serif font with varying line width to make it look archaic, but there's no way to do much more than that without sacrificing readability.
Have fun!
Title: Re: General Discussion
Post by: Xela on November 12, 2014, 12:33:18 PM
http://www.pickafont.com/fonts/Medieval.html

Something like this...
Title: Re: General Discussion
Post by: livingforever on November 12, 2014, 12:45:35 PM
http://www.pickafont.com/fonts/Medieval.html (http://www.pickafont.com/fonts/Medieval.html)
I see.
The thing is this: A decorative font (like the one you posted) looks interesting in a logo, maybe (just maybe) also in page titles.

However, there are a lot more headlines than that. The character names in the character overview are headlines, the primary menu buttons can be headlines - and so on.
Now of course you could use a decorative font for that as well, but it's usually not a good idea.

If you want an additional font for the logo, go ahead, nothing wrong with that. But the normal elements should always be easy to read, everything else is optional.
Have fun!
Title: Re: General Discussion
Post by: Xela on November 12, 2014, 02:23:20 PM
I couldn't get Garamond to work properly with Ren'Py, spacing between lines is too big and style simply refuses to remove it for reasons unknown.

Respira and Myriad are working out for now, we'll see if they are well liked or not...
Title: Re: General Discussion
Post by: livingforever on November 12, 2014, 05:02:08 PM
Perhaps Ren'Py just doesn't like OTF, try the TTF version from Google Fonts (http://www.google.com/fonts/download?kit=Vos0xF1dEQLAYGFVWPAfcofD-WQWLbF4rYwcBGowFYY).
Have fun!
Title: Re: General Discussion
Post by: Xela on November 12, 2014, 05:10:42 PM
Perhaps Ren'Py just doesn't like OTF, try the TTF version from Google Fonts (http://www.google.com/fonts/download?kit=Vos0xF1dEQLAYGFVWPAfcofD-WQWLbF4rYwcBGowFYY).
Have fun!

I'll give it a try tomorrow, falling asleep here :)
*Myriad is otf as well and it's working great btw.

Otherwise, I've finished with transforms, they are now reusable and not repetitive (I think we actually had simple fade transform defined 3 times). I've also removed 30 (not kidding) fonts from the game folder and replaced them with new fonts that living found whereever they were used.

Default font is still Ren'Py and I didn't mess with anything Gismo did, just messes I (we) made when trying out different fonts/graphics. SlaveMarket screen, for example, looks a lot better now I think (Dark should be happy about it, you hated the font we used).

There is still work to be done, we'll prolly leave some old fonts that blend well with the game as well, but it's a matter of checking out what looks best (and I am not the right person for that job, as I've said, I didn't really mind us having 40+ fonts in the game  ::) ).
Title: Re: General Discussion
Post by: Xela on November 13, 2014, 06:01:36 AM
Perhaps Ren'Py just doesn't like OTF, try the TTF version from Google Fonts (http://www.google.com/fonts/download?kit=Vos0xF1dEQLAYGFVWPAfcofD-WQWLbF4rYwcBGowFYY).
Have fun!

Thanks, I figured out how to make it right otf should work now too but I'll stick with this one. Personally, this would not be my choice for the game but maybe I just got used to our old fonts.

Edit: Some Examples, same size/color was used. Some would need a bit of fixing but this is to show the "main picture":

Garamond (Livings first pick):
(http://s28.postimg.org/44h441b7t/2014_11_13_13_04_47.png) (http://postimg.org/image/44h441b7t/)

Myriad (Livings second choice):
(http://s28.postimg.org/jr8dheozt/2014_11_13_13_06_49.png) (http://postimg.org/image/jr8dheozt/)

Tisa (Gismos pick):
(http://s28.postimg.org/novn6tbt5/tisa.png) (http://postimg.org/image/novn6tbt5/)

DejaVuSans (Default Ren'Py font)
(http://s28.postimg.org/7f5h3x155/dajavu.png) (http://postimg.org/image/7f5h3x155/)

I'll get rid of a couple of more fonts and post everything that we have left.


Title: Re: General Discussion
Post by: livingforever on November 13, 2014, 06:40:08 AM
Hi!
I think I should mention that I picked the first two fonts together because they synergize pretty well. Using the second without the first is oversimplifying it a bit.
The same goes for the third - it's intended to be used in conjunction with the semibold version of the same font. But this one wasn't intended for so much text anyway.

For your example, that would mean to replace the girl's name and other relevant headlines (Info, Stats, Prof Stats, Traits) with the corresponding font.

But even without that, I think EB Garamond looks best (out of the four presented options). Then again, my opinion is very biased.
Have fun!
Title: Re: General Discussion
Post by: Xela on November 13, 2014, 10:29:20 AM
Hi!
I think I should mention that I picked the first two fonts together because they synergize pretty well. Using the second without the first is oversimplifying it a bit.
The same goes for the third - it's intended to be used in conjunction with the semibold version of the same font. But this one wasn't intended for so much text anyway.

For your example, that would mean to replace the girl's name and other relevant headlines (Info, Stats, Prof Stats, Traits) with the corresponding font.

But even without that, I think EB Garamond looks best (out of the four presented options). Then again, my opinion is very biased.
Have fun!

Yeah, I figured that... I like myriad myself for some reason. Next thing on the list is to create content style_group to be used through out the game, that will make changing fonts to check them out a lot easier.

Edit:
SM screen has been properly rewritten, now the whole thing can be restyled just by changing two style properties, this is how it currently looks:
(http://s17.postimg.org/nmtwn9h2j/2014_11_13_19_24_16.jpg) (http://postimg.org/image/nmtwn9h2j/)
Title: Re: General Discussion
Post by: Xela on November 14, 2014, 09:19:01 AM
Two more screens adapted to work with text styles... some other changes as well done by Gismo and me:

(http://s23.postimg.org/vfpe2wnl3/2014_11_14_16_06_20.png) (http://postimg.org/image/vfpe2wnl3/) (http://s23.postimg.org/bijgty4pz/2014_11_14_16_13_40.png) (http://postimg.org/image/bijgty4pz/) (http://s23.postimg.org/onyz01ylj/2014_11_14_16_14_13.png) (http://postimg.org/image/onyz01ylj/)
Title: Re: General Discussion
Post by: DarkTl on November 14, 2014, 09:57:48 AM
Origin breaks the fourth wall  ::)

Also, I kinda dislike how lists with traits and stats look. For stats I proposed earlier Kamidori type of bars that show min and max values as well while not being confusing at all.
And traits list is, well, not flashy enough in my opinion. I think every trait/attack/effect/etc should have a frame of some kind around it, maybe even with different colors depending on elements for spells, for example.

What this thing does?
(http://s001.youpic.su/pictures/1415912400/37379af5d911e0c2ca52865659570b88.png) (http://youpic.su)
Title: Re: General Discussion
Post by: Xela on November 14, 2014, 10:18:54 AM
Origin breaks the fourth wall  ::)

Tear down that wall :D

We can remove that but in the last discussion decision was made to add that to the profile...

Also, I kinda dislike how lists with traits and stats look. For stats I proposed earlier Kamidori type of bars that show min and max values as well while not being confusing at all.
And traits list is, well, not flashy enough in my opinion. I think every trait/attack/effect/etc should have a frame of some kind around it, maybe even with different colors depending on elements for spells, for example.

What we're doing now is trying to create a way to adapt fonts to content without too much fuss. Noone is saying that this is the "final" version for those screens. Gismo is also trying to create coherent graphics.

I forgot what those bars looked liked (you posted a pic long time ago). We can add stuff like that closer to 1.0 as planned...

For traits I just got rid of the button backgrounds and styled them with fonts.

What this thing does?
(http://s001.youpic.su/pictures/1415912400/37379af5d911e0c2ca52865659570b88.png) (http://youpic.su)

It adds/removes the girl from the the player team, I need to take a look why tooltip stopped working, prolly because of the recent changes to Ren'Py screen language...
Title: Re: General Discussion
Post by: DarkTl on November 14, 2014, 10:52:47 AM
Npcs for temple of time are ready.

I thought about possible restrictions for resurrection.
First of all, we probably need a quest to make it available. It would explain why not everyone can use it too. It still should track player's girls deaths from the start, so you could revive anyone once you complete it.

I thought about exchanging girls and MC's APs for resurrection (time for time, basically), but it might be too difficult to code.
Is it possible to reduce character's level without too much fuss? All D&D games can do it. At the worst we could just reduce current stats values, but it doesn't feel the same to me.
Title: Re: General Discussion
Post by: Xela on November 14, 2014, 11:17:06 AM
I thought about possible restrictions for resurrection.
First of all, we probably need a quest to make it available. It would explain why not everyone can use it too. It still should track player's girls deaths from the start, so you could revive anyone once you complete it.

That's up to you.

I thought about exchanging girls and MC's APs for resurrection (time for time, basically), but it might be too difficult to code.

Not difficult at all.

Is it possible to reduce character's level without too much fuss? All D&D games can do it. At the worst we could just reduce current stats values, but it doesn't feel the same to me.

"Fuss":
- Get the current pure stat values as a percentage of max.
- Reduce level to 1 and all stats to 0.
- Apply the new level.
- Set the stats to new values based off the percentages stored earlier.

Don't know if it's too much...

Reversing the level as you suggest may be a bit trickier than the above approach.
=============================================================================
I am not sure if it's sensible to put this much effort into this system, it will just ensure that players will spam saves like crazy...
Title: Re: General Discussion
Post by: DarkTl on November 14, 2014, 11:34:07 AM
I am not sure if it's sensible to put this much effort into this system, it will just ensure that players will spam saves like crazy...
Hm, yeah. Though honest ressurection might give you something good too... Disposition at very least, moar quests from the temple, alignment changes.
I'll think about it. It should be just another option, not punishment.

Not difficult at all.
It might be tricky. I thought about something like 1 AP per level. So in some cases you could spend all APs available to your girls and it still won't be enough, so you should skip the turn and do it again on the next day.
Title: Re: General Discussion
Post by: Xela on November 14, 2014, 11:41:22 AM
It might be tricky. I thought about something like 1 AP per level. So in some cases you could spend all APs available to your girls and it still won't be enough, so you should skip the turn and do it again on the next day.

I thought you meant MC's AP. No, that's trickier because some girls should refuse that and that's another if/then/when sh!tfork. If you want something like that, simply make it life for a life (sacrifice).
Title: Re: General Discussion
Post by: DarkTl on November 14, 2014, 12:01:20 PM
Well, you need a slave (or a mind fucked character) for sacrifice then.

I want it to be available not only for rich characters. So money should not be the only option. For example, over time price gradually reduces, so if you are willing to wait long enough (weeks, months), you don't need a lot of money.
Sacrifices could save you some time (and hit disposition and alignment).

If there will be sacrifices, they should not be permanent and bloody (aka Jack-o-nine tails).
Title: Re: General Discussion
Post by: DarkTl on November 14, 2014, 03:02:19 PM
We could use Cherry's tavern for rumors, both general to introduce the game world and quest ones to advance through quests.
Like they do it even in huge titles, when npcs tell you random facts about the world.

More importantly, where else to look for clues when you have none? Ask in tavern is better than look around at random streets  :)
Title: Re: General Discussion
Post by: Xela on November 14, 2014, 03:30:47 PM
We could use Cherry's tavern for rumors, both general to introduce the game world and quest ones to advance through quests.
Like they do it even in huge titles, when npcs tell you random facts about the world.

More importantly, where else to look for clues when you have none? Ask in tavern is better than look around at random streets  :)

Yeap, that's definetly a decent idea, I got a few 100 more for content :) We need to wrap out a lot of systems as well, ST for once...

*Pushed more updates to screens and fonts... it' is getting more and more coherent.

(http://s12.postimg.org/xmkuv02zd/2014_11_14_22_57_32.png) (http://postimg.org/image/xmkuv02zd/) (http://s12.postimg.org/48p4ff09l/2014_11_15_0_20_19.png) (http://postimg.org/image/48p4ff09l/)
Title: Re: General Discussion
Post by: DarkTl on November 15, 2014, 04:17:51 AM
I mean, we already can use it, not in the future. It's not difficult to write rumors even for me, and it will be useful for temple of time quests.

I think we need to limit quests availability either by MC's level or fame, like they do in many games. To make sure that lvl1 character don't have endgame tasks.
Title: Re: General Discussion
Post by: Xela on November 15, 2014, 05:48:42 AM
I mean, we already can use it, not in the future. It's not difficult to write rumors even for me, and it will be useful for temple of time quests.

I think we need to limit quests availability either by MC's level or fame, like they do in many games. To make sure that lvl1 character don't have endgame tasks.

What's stopping you? :D

Just use the conditions, you can put whatever you like in there.

Fonts again for me tonight... still some stuff left to do...
Title: Re: General Discussion
Post by: DarkTl on November 15, 2014, 07:17:43 AM
Oh, I haven't noticed that we already have it in the game, my bad  :)
Title: Re: General Discussion
Post by: DarkTl on November 15, 2014, 12:18:18 PM
There is a game released recently, Lords of Xulima. It has BE very similar to how I imagined it when I proposed to change the view.
Title: Re: General Discussion
Post by: Xela on November 15, 2014, 12:40:48 PM
There is a game released recently, Lords of Xulima. It has BE very similar to how I imagined it when I proposed to change the view.

I kinda prefer our system to this sort of view, but it's doable... Going to put in a few hours into rewriting more screens tonight, ledgers are next.
Title: Re: General Discussion
Post by: DarkTl on November 15, 2014, 01:00:38 PM
I just propose you to pirate it, take a look and form an opinion  :)
Pushed some things for the temple. The folders structure is very chaotic currently, it's challenging to decide where to place files for npcs and locations.
Title: Re: General Discussion
Post by: Xela on November 15, 2014, 05:25:41 PM
I just propose you to pirate it, take a look and form an opinion  :)
Pushed some things for the temple. The folders structure is very chaotic currently, it's challenging to decide where to place files for npcs and locations.

I took a look at pictures of their be, it's enough for now (while we're working on other stuff).

Pushed more fonts refactoring, I am also clearing up screens code while at it. Finished half-way through brothel management screen, all ledgers are done on the other hand :)
Title: Re: General Discussion
Post by: Gismo on November 15, 2014, 10:20:42 PM
Work of sleepless nights...
Push, when i wake up.

(http://s21.postimg.org/5f5nvxn5v/image.jpg) (http://postimg.org/image/5f5nvxn5v/) (http://s21.postimg.org/4bljjz2ir/image.jpg) (http://postimg.org/image/4bljjz2ir/) (http://s21.postimg.org/4qwtczog3/image.jpg) (http://postimg.org/image/4qwtczog3/)

Full view -
1 - http://postimg.org/image/5f5nvxn5v/full/ (http://postimg.org/image/5f5nvxn5v/full/)
2 - http://postimg.org/image/4bljjz2ir/full/ (http://postimg.org/image/4bljjz2ir/full/)
3 - http://postimg.org/image/4qwtczog3/full/ (http://postimg.org/image/4qwtczog3/full/)
Title: Re: General Discussion
Post by: DarkTl on November 16, 2014, 09:16:02 AM
^Looks much better in my opinion!

Quote from: DarkTl
We could use Cherry's tavern for rumors, both general to introduce the game world and quest ones to advance through quests.
And I wonder what is the best approach: to make one fixed npc (information dealer or something) or use several generic npcs and pick one of them randomly when you ask people about rumors.
Title: Re: General Discussion
Post by: Xela on November 16, 2014, 09:24:36 AM
^Looks much better in my opinion!

It definitely looks better already, I asked Gismo to change the color pattern.

And I wonder what is the best approach: to make one fixed npc (information dealer or something) or use several generic npcs and pick one of them randomly when you ask people about rumors.

How about some bartender/owner?
Title: Re: General Discussion
Post by: Xela on November 16, 2014, 04:06:40 PM
Cleared up more screens, using the new fonts and frames. This takes insane amount of time... Next few weeks is going to be very busy again, if time permits, next day and arena screens are still left.

(http://s28.postimg.org/crelq6li1/2014_11_16_22_47_56.png) (http://postimg.org/image/crelq6li1/) (http://s28.postimg.org/tf5llrmu1/2014_11_16_22_48_46.png) (http://postimg.org/image/tf5llrmu1/) (http://s28.postimg.org/pzdzj4j15/2014_11_16_22_50_23.png) (http://postimg.org/image/pzdzj4j15/)

(http://s28.postimg.org/e9021qq8p/2014_11_16_22_51_09.png) (http://postimg.org/image/e9021qq8p/) (http://s28.postimg.org/7xuulbp09/2014_11_16_22_51_47.png) (http://postimg.org/image/7xuulbp09/) (http://s28.postimg.org/42rgir5uh/2014_11_16_22_52_48.png) (http://postimg.org/image/42rgir5uh/)

(http://s28.postimg.org/3ttvstt21/2014_11_16_22_54_31.png) (http://postimg.org/image/3ttvstt21/) (http://s28.postimg.org/h9gwia1jt/2014_11_16_22_54_58.png) (http://postimg.org/image/h9gwia1jt/) (http://s28.postimg.org/wywmw88d5/2014_11_16_22_55_32.png) (http://postimg.org/image/wywmw88d5/)

(http://s28.postimg.org/3v3tm8uvt/2014_11_16_22_56_09.png) (http://postimg.org/image/3v3tm8uvt/) (http://s28.postimg.org/uvm7ok8k9/2014_11_16_22_56_57.png) (http://postimg.org/image/uvm7ok8k9/) (http://s28.postimg.org/63mlhbrdl/2014_11_16_22_57_49.png) (http://postimg.org/image/63mlhbrdl/)

(http://s28.postimg.org/t6d4ghsux/2014_11_16_22_59_29.png) (http://postimg.org/image/t6d4ghsux/) (http://s28.postimg.org/6k7t3rf4p/2014_11_16_23_00_02.png) (http://postimg.org/image/6k7t3rf4p/) (http://s28.postimg.org/7l81svw49/2014_11_16_23_00_47.png) (http://postimg.org/image/7l81svw49/)
Title: Re: General Discussion
Post by: kyuubi43 on November 16, 2014, 08:42:34 PM
Seeing all these awesome screenshots really makes one wonder when the next stable version will be released
Title: Re: General Discussion
Post by: CherryWood on November 17, 2014, 04:09:16 AM
I tried to add a quest in the game, but I'm a bit confused about how to do that.

In that Strange Idol example, there is only:
Code: [Select]
$ pytfall.world_quests.get(event.quest).next_in_label("You found a piece of an idol! How strange.", "piece1") # Can access the quest straight in the event.but how that knows for what quest it is?

What I would like to know is how to register a quest and add it's description to the quest list from a non-quest label? Like starting multiple quest from one dialogue menu? (let's say, from conversation with that arena girl Xeona or custom girl interaction label)
Title: Re: General Discussion
Post by: Xela on November 17, 2014, 05:43:09 AM
Seeing all these awesome screenshots really makes one wonder when the next stable version will be released

No idea... we still have to little in a sense of new content.

In that Strange Idol example, there is only:
Code: [Select]
$ pytfall.world_quests.get(event.quest).next_in_label("You found a piece of an idol! How strange.", "piece1") # Can access the quest straight in the event.but how that knows for what quest it is?

.get(event.quest) is used to figure out what quest it is (in this case), you don't have to do it that way as shown in frog princess quest.

What I would like to know is, how to register a quest and add it's description to the quest list from a non-quest label? Like starting multiple quest from one dialogue menu? (let's say, from conversation with that arena girl Xeona or custom girl interaction label)

Basics:

Events: A system that allows you viewing new content (jumping to labels) on (sometimes very advanced) conditions when entering a location or clicking a Look Around button.
Quests: A system to sort and log messages.

Both systems allow setting internal flags and come with a number of conveniences that you need to look up in their code and comments.

To register a quest (as stated in the comments):

In init:
Code: [Select]
register_quest("My Cool Quest")
In any label (executed in store context, so basically in any normal label like Xeonas):
Code: [Select]
register_quest_in_label("My Cool Quest")
Will do the trick. After a quest has been created you can add messages to it:

Code: [Select]
pytfall.world_quests.get("My Cool Quest").next_in_label("Started My Cool Quest")This will automatically start the quest if it hasn't been started yet or advance it to the next stage (log in a new message).

Next should be used to progress to the next stage of the quest as well and it can be used any amount if times.

Code: [Select]
pytfall.world_quests.get("My Cool Quest").finish_in_label("Finished My Cool Quest")Will finish the quest.

As you can see, quests don't need to be events, events don't need to be quests and you can start, log stuff and finish a quest from any label in the game. When you use quests together with events (A series of events is usually a quest), there are plenty of "helpers", like quest condition function Thewlis showed off in Idol event.
Title: Re: General Discussion
Post by: CherryWood on November 17, 2014, 07:55:27 AM
@Xela
Thanks, this is what I wanted to know.


Looks that it should be easy to do SE related quests/events that involves unlocking new locations or adding items and girls to find to the old ones. But I dunno if it's worth creating something like bring me xy items as a quest as it sounds rather boring...
Title: Re: General Discussion
Post by: Xela on November 17, 2014, 10:24:26 AM
Looks that it should be easy to do SE related quests/events that involves unlocking new locations or adding items and girls to find to the old ones. But I dunno if it's worth creating something like bring me xy items as a quest as it sounds rather boring...

If that's boring we should just stop with development cause that is one of the definitions of quests/content as I've envisioned them... You get unique content that you cannot get from the shops or normal gameplay, have to preform tasks and advance the game (until you can reach the SE area). You can set up many flags, in my mind we should have quests like these for SE/ST/Arena/Brothels and etc.

So feel free to create the quests and let me/Thewlis know of you need conditioning that you cannot figure out on your own.
Title: Re: General Discussion
Post by: DarkTl on November 17, 2014, 10:35:40 AM
We might as well make it centralized like in Agarest, where all "bring us X of Y" quests are handled by one guild (and one script) instead of multiple npcs/scripts. I mean only simple quest where you need to collect stuff using SE.

Other types of quests could involve special slave training, unusual fights at arena and adventures inside EE (not SE). ST, BE and EE are not really ready yet, so let's make some collecting quests for a start.
Title: Re: General Discussion
Post by: Xela on November 17, 2014, 10:49:58 AM
We might as well make it centralized like in Agarest, where all "bring us X of Y" quests are handled by one guild (and one script) instead of multiple npcs/scripts. I mean only simple quest where you need to collect stuff using SE.

Other types of quests could involve special slave training, unusual fights at arena and adventures inside EE (not SE). ST, BE and EE are not really ready yet, so let's make some collecting quests for a start.

Elder scrolls seem to be working just fine when handling all quests in bulk, we had a quest manager system for over a month and the event system for five or six (if not more) and still have just two quests and a handful of events, lets "Solve the problems as they arise"...

Title: Re: General Discussion
Post by: DarkTl on November 17, 2014, 10:57:33 AM
Um, a guild requires much less time and resources, because you don't need a new npc and prehistory for every new simple collecting quest.
Title: Re: General Discussion
Post by: Xela on November 17, 2014, 11:19:30 AM
Um, a guild requires much less time and resources, because you don't need a new npc and prehistory for every new simple collecting quest.

Than create a guild, it still wouldn't mean that quests need to be displayed separately from all others. If quests are too simple and repetitive, there is prolly no point of logging them in at all, just handle everything in the guild label and outside of quest system/log them in simple class/variables.

*just feels to me that when we wrap something up and prepare a code base, something else is requested while no new content is created with what we have. That needs to end... Until we create some content (and maybe even unique content) for modules that we have or we're developing right now, creating new once is just silly, we already have more logical script than we have written content, that is ridiculous no matter how you look at it.
Title: Re: General Discussion
Post by: Thewlis on November 17, 2014, 12:59:29 PM
A few notes on quests depending on what you're doing with them:

Any quest that doesn't have any events that belong to them waiting in the event manager will be automatically failed. If you want a quest to persist without events you need to pass manual=True to the register functions or to the next functions if you're moving to an event-less state. Passing manual=False to a next function makes it rely on events again.

Also, passing auto="prompt" to the register functions will make the quest auto-start when you begin a new game with the prompt specified.

If you want to fail a quest, you need to call pytfall.world_quests.fail_quest(quest).

When you update a quest you'll get a popup telling you what the new update is. This could happen many times in 1 scene and may get annoying (or you may just want to hide an update). Calling pytfall.world_quests.squelch_quest(quest) will stop any more popups from appearing until you change location.

The next and finish functions also accepts flags and the to argument.

Flags are simply stored for you to check for (say you were given a choice that would update the quest either way, but you need to log which one was taken) using the quest.flag("name") function.

Whenever you call a next or finish function, the quest increments a counter inside it called stage. This is a handy check for how far along the quest is. Passing to=15 would update the quest to that stage instead of an automatic increment.
Title: Re: General Discussion
Post by: Xela on November 17, 2014, 01:06:20 PM
Any quest that doesn't have any events that belong to them waiting in the event manager will be automatically failed. If you want a quest to persist without events you need to pass manual=True to the register functions or to the next functions if you're moving to an event-less state. Passing manual=False to a next function makes it rely on events again.

I didn't know that... it's odd that frog thing doesn't fail half way then, I'll take a look at it later.

*Edit: Yeah, quest is being counted as failed and (unrelated) Abbies screens and buttons are messed up...
**Frog event will be fixed with the next push.
Title: Re: General Discussion
Post by: Thewlis on November 17, 2014, 03:17:04 PM
I didn't know that... it's odd that frog thing doesn't fail half way then, I'll take a look at it later.

Really? I'm sure you're the one that asked me to put that in...
Title: Re: General Discussion
Post by: Xela on November 17, 2014, 04:06:53 PM
Really? I'm sure you're the one that asked me to put that in...

That sounds sensible but I thought frog quest was working... Turns out that it wasn't :)

Anyway, frog thing is fixed and I've updated quests screen a bit. Gismo is also finished with a (much) better version of the girls profile screen.

(http://s7.postimg.org/r5yhebrsn/2014_11_17_23_03_20.jpg) (http://postimg.org/image/r5yhebrsn/) (http://s7.postimg.org/xxowh6gs7/2014_11_17_23_04_00.jpg) (http://postimg.org/image/xxowh6gs7/)
Title: Re: General Discussion
Post by: DarkTl on November 17, 2014, 11:52:41 PM
just feels to me that when we wrap something up and prepare a code base, something else is requested while no new content is created with what we have. That needs to end...
As much as I'd like to see more content, it requires actual modules to be implemented properly.
I propose to finish tagger, BE (because arena), SE, ST, clones (because it's mostly about balancing and content rather than coding) and MC house (because you need to live somewhere if you don't have a brothel and focusing on arena or SE, as well as girls that help you), and then work on content until we'll be satisfied enough to continue adding modules.
Title: Re: General Discussion
Post by: Xela on November 18, 2014, 07:17:25 AM
...

I can't even tell how long it will take to "finish" those things or determine what finishing them means. A lot of stuff is already working for those modules and there is very little preventing us from creating content for them.
Title: Re: General Discussion
Post by: DarkTl on November 18, 2014, 07:37:01 AM
We have SE and ST ready for content. And quests system that I didn't mention back then. BE and MC's house are nothing but placeholders currently. Tagger and clones are, well, not existing.
I'm studing the code and making temple meanwhile.
Title: Re: General Discussion
Post by: livingforever on November 18, 2014, 07:46:17 AM
Hi!
I don't see why you need the new tagger for creating content. I mean yeah, there are still no tags for slave training and stuff like that, but that's not depending on me, is it?

Anyway, if you want more progress reports from me, sure, no problem - just ask.
Have fun!
Title: Re: General Discussion
Post by: DarkTl on November 18, 2014, 07:53:35 AM
Oh, I forgot that items system has overgrown initial concept too, not to mention that I recall some problems with stats tracking there.

I mean yeah, there are still no tags for slave training and stuff like that, but that's not depending on me, is it?
Sorry, I didn't follow your progress in last two weeks or so. Does the software ready? I mean, it can read and write tags using pictures names?
Title: Re: General Discussion
Post by: livingforever on November 18, 2014, 08:08:34 AM
Sorry, I didn't follow your progress in last two weeks or so.
That's because I rarely posted any progress reports, that's why you should tell me if you want them.

I mean, it can read and write tags using pictures names?
In theory, that's working since a long while. In practice, I'm still working on details (that are completely unnecessary, but I don't like delivering incomplete products).
Have fun!
Title: Re: General Discussion
Post by: DarkTl on November 18, 2014, 08:58:11 AM
Indeed. Xela, if you want to stop coding and help us with content for some time, you don't need to discuss it first. And if you wonder what else could we need for better quests, I already told it.

livingforever, if you need betatesters, you have at least one.
Title: Re: General Discussion
Post by: Xela on November 18, 2014, 02:12:55 PM
Indeed. Xela,

*Lemme guess, CW deleted a post again ? :D I missed that one...

if you want to stop coding and help us with content for some time, you don't need to discuss it first. And if you wonder what else could we need for better quests, I already told it.

I've been dieing to put some time into content ever since Thewlis joined the team so there was someone else to take care of coding but then Gismo showed up and started putting insane amount of hours into graphics so most of the time went into improving how the current screens look.

There is also a matter of me having a lot less time to work on the project. You did already tell me what is required for better quests but I've also already replied to it multiple times, but I'll do it yet again:

As much as I'd like to see more content, it requires actual modules to be implemented properly.
I propose to finish tagger, BE (because arena), SE, ST, clones (because it's mostly about balancing and content rather than coding) and MC house (because you need to live somewhere if you don't have a brothel and focusing on arena or SE, as well as girls that help you), and then work on content until we'll be satisfied enough to continue adding modules.

tagger It's be nice to have but if we want to test a new tagging concept, we could simply use the json one and convert to filenames in Ren'Py.

BE (because arena) For the arena? I have doubts that players wish to see a complex BE in the arena (which is mostly grinding). A complex BE may take half an year to build and it is wiser to do so after the real exploration module so we at least know the format. Most reports by players who claimed to play the alpha release for hours wanted faster battles (were using the skip key), not longer once. Every BE, no matter how complex will get old after a few hundreds of fights.

*I've had an idea for a while to use a slight modification for the real arena fights (not mobs grinding or dogfights but for the ladder once). It should be relatively simple to add a simple grid for battlesprites to move about. That would add range as well (difference between magic/bows/melee). Noting new would have to be coded, just a slightly different battle setup and maybe a simple grid to be shown when moving... but even this can wait post next release.

SE, ST, are more or less ready for content (as you've said). Still stuff to do but we can straighten it out, new content may even give the development of the modules a better direction.

clones (because it's mostly about balancing and content rather than coding) They are secondary, not required for anything in the game. There is no reason to work on this before we can wrap up stuff that needs to be done now.

MC house (because you need to live somewhere if you don't have a brothel and focusing on arena or SE, as well as girls that help you). Not needed as well. MC Apartment is already providing 1 AP point per day (which is huge).

and then work on content until we'll be satisfied enough to continue adding modules And there is nothing preventing us to work on it now.
=====================================================================

What I am trying to say, is that it would really pay of for us to focus on SE/ST/Interactions/Hentai Mode/Quests/Events right now. Time temple is awesome too :) but we can go without resurrection for a couple of releases.

=====================================================================
=====================================================================

Some questions I'd really like to know answers to:

1) I've proposed expansion system (http://www.pinkpetal.org/index.php?topic=3504.msg30880#msg30880) that should have us covered and should make development simpler. Do we go through with it or not?

2) Do we allow untrained (not broken) slave girls into the gameworld? Doing so would require more checks during actions/quests/events. For examples, I wanted to code a simple action where MC and immediate team mates go swimming (girls on disposition check) to the beach location. It would be a bit awkward having to check if there is a girl on the team that would like to run away at every point during the event where it's possible... we could make a function for but I am not sure about it's gameplay value.

3) Do we all agree with using portraits for emotions during the VN style conversation (by default)?

*There are more questions, but lets start slow. We've discussed all of the above for a bit, now it's a matter of making the decision.
Title: Re: General Discussion
Post by: Xela on November 18, 2014, 04:00:10 PM
Ok, so I've just coded a simple first version of auto-mood tagging:

Rules:

1) Adding add_mood=False to show method will ensure auto-mood behavior does not occur.
2) Adding any mood tags to show function will ensure auto-mood behavior does not occur.

Auto-mood will work with all lookup types (any, normal, firstdefault), in case no image tagged with a mood can be found, image without one will always be checked.

So far it will only check the joy and return sad, indifferent and happy tags based off that. When we add mood flags to override that, we'll improve the function as well. In any case, proper mood during girlsmeets and profile image is already makes the game more coherent :)

---------
Edit:
*Just tried playing the game a bit:

- New Day button on 0 AP does not appear (need to check conditions).
- Lesbian pictures do not appear when doing jobs.
Title: Re: General Discussion
Post by: CherryWood on November 19, 2014, 03:13:11 AM
- Lesbian pictures do not appear when doing jobs.
Can you give more details? They're displaying fine for me in both whore job and interactions. (But I only take a quick look)
(http://img24.cz/images/44726881562654480535_thumb.jpg) (http://img24.cz/viewer.php?file=44726881562654480535.jpg) There was a problem with them, but I thought it's solved by now...
Title: Re: General Discussion
Post by: DarkTl on November 19, 2014, 06:05:52 AM
*Lemme guess, CW deleted a post again ? :D
Yeah, your hands need to be quick, and your eyes quicker  :)

There is also a matter of me having a lot less time to work on the project. You did already tell me what is required for better quests but I've also already replied to it multiple times, but I'll do it yet again:
Nah, I quoted that post to show that I proposed to set some not too distant goals, code them and then work on content 3 months ago.

As for things that help us with events and quests, I proposed somewhere (but I cannot find this post anymore somehow) to at least adapt all existing quests to our new quest system, ideally make one-two as complex and well-commented as currently possible quests/events.
And then it turns out recently that the frog quest wasn't adapted all this time.  ::)

Most reports by players who claimed to play the alpha release for hours wanted faster battles (were using the skip key), not longer once.
Then we need to make it faster and possibly simplier. It's still just a placeholder currently, even without a concept. We use it only because we have it.

Not needed as well. MC Apartment is already providing 1 AP point per day (which is huge).
But welcomed. Even more than clones, yeah  :)

Time temple is awesome too (http://www.pinkpetal.org/Smileys/DarkB/smiley.gif) but we can go without resurrection for a couple of releases.
Hm? I figured resurrection is a couple of lines in the code anyway. I just think that it's a good start for making quests.

Do we go through with it or not?
Yup.

Do we allow untrained (not broken) slave girls into the gameworld?
Ok, if everyone is broken, what are you supposed to do during ST? Broken characters should agree to do anything anyway.

Do we all agree with using portraits for emotions during the VN style conversation (by default)?
Yup. Makes things much simplier for characters without 10000+ pictures on pixiv.
 
Title: Re: General Discussion
Post by: Xela on November 19, 2014, 06:38:36 AM
Can you give more details? They're displaying fine for me in both whore job and interactions. (But I only take a quick look)
(http://img24.cz/images/44726881562654480535_thumb.jpg) (http://img24.cz/viewer.php?file=44726881562654480535.jpg) There was a problem with them, but I thought it's solved by now...

Yeah, you're prolly right. I got these:

(http://s9.postimg.org/ekzm6g98b/2014_11_19_11_07_59.jpg) (http://postimg.org/image/ekzm6g98b/) (http://s9.postimg.org/5naavcrej/2014_11_19_11_11_10.jpg) (http://postimg.org/image/5naavcrej/) (http://s9.postimg.org/o49azwwqj/2014_11_19_12_45_21.jpg) (http://postimg.org/image/o49azwwqj/)

but I think that the anal thing is because those images are tagged with sex as well (maybe an old version of the pack). The les thing for that random girl is kinda odd actually, she seem to have one les pic... Nami also had a runes picture but auto-mood is likely messing that up. Guess that after investigating a bit, it's not the system.
Title: Re: General Discussion
Post by: Xela on November 19, 2014, 07:16:15 AM
As for things that help us with events and quests, I proposed somewhere (but I cannot find this post anymore somehow) to at least adapt all existing quests to our new quest system, ideally make one-two as complex and well-commented as currently possible quests/events.
And then it turns out recently that the frog quest wasn't adapted all this time.  ::)

What existing quests? We don't have any quests that I know of...

Then we need to make it faster and possibly simplier. It's still just a placeholder currently, even without a concept. We use it only because we have it.

I can't see why.

Hm? I figured resurrection is a couple of lines in the code anyway. I just think that it's a good start for making quests.

It can be a couple of lines if we don't do all the advanced stuff you talked about (at first).

Yup.

Fair enough, when are we doing this? Because this will chain the need to:

- Adjust all items (they will have to add some form of multipliers to skills)
- Adjust all traits
- Adjust the code

I expect that most of the work above (items/traits) would have to be done by you...

*But this should serve us for a long time without any serious additions. We'll prolly require levels (ranks) for other classes as well (now only prostitute is covered).

Ok, if everyone is broken, what are you supposed to do during ST? Broken characters should agree to do anything anyway.

Break them. I meant blocking having an option to add am unbroken character to the team or have one do a job in a brothel. The proposal is to isolate them to prison, NPC (training under Blue for example) and training dungeon.

Yup. Makes things much simplier for characters without 10000+ pictures on pixiv.

We'll still need to specify the moods on other pics... it sucks when you get a profile picture of a girl with 100 joy crying or ecstatic pic of a girl with 0.
Title: Re: General Discussion
Post by: livingforever on November 19, 2014, 07:54:02 AM
Hi!
Most reports by players who claimed to play the alpha release for hours wanted faster battles (were using the skip key), not longer once.
You're confusing propositions for new combat systems with criticism on the old.
People want the old (current) system to be faster, but that doesn't mean that they want faster battles in general. The reason the current fights take too long is because essentially nothing happens. Click one of two skills, click one of one (duh) enemies, wait for the animation to finish, repeat. No gameplay value whatsoever.

By introducing a more complex system, you're adding more gameplay value to the fights, therefore it is absolutely no problem if those take a little longer.

We'll still need to specify the moods on other pics... it sucks when you get a profile picture of a girl with 100 joy crying or ecstatic pic of a girl with 0.
Please be careful with automatically applied mood tags. If you overuse it, you're punishing players that keep their girls' mood high by reducing the amount of images they get to see.
Have fun!
Title: Re: General Discussion
Post by: DarkTl on November 19, 2014, 07:58:04 AM
What existing quests? We don't have any quests that I know of...
I'm not sure if you are joking or not.

I can't see why.
Why not? BE should be interesting, while people complain that battles are too long (they are too long and repetitive if you fight a lot).

Fair enough, when are we doing this?
Now? Would be a good opportunity to improve items system too. Items/traits are not a problem.

The proposal is to isolate them to prison, NPC (training under Blue for example) and training dungeon.
I'll think about it, don't have time now.
Title: Re: General Discussion
Post by: CherryWood on November 19, 2014, 08:31:02 AM
 
Yeah, you're prolly right. I got these:

(http://s9.postimg.org/ekzm6g98b/2014_11_19_11_07_59.jpg) (http://postimg.org/image/ekzm6g98b/) (http://s9.postimg.org/5naavcrej/2014_11_19_11_11_10.jpg) (http://postimg.org/image/5naavcrej/) (http://s9.postimg.org/o49azwwqj/2014_11_19_12_45_21.jpg) (http://postimg.org/image/o49azwwqj/)

but I think that the anal thing is because those images are tagged with sex as well (maybe an old version of the pack). The les thing for that random girl is kinda odd actually, she seem to have one les pic... Nami also had a runes picture but auto-mood is likely messing that up. Guess that after investigating a bit, it's not the system.
I don't have One Piece pack in my game so I can't tell about Nami, but that random elf girl doesn't have it's one "les" pic shown because that image also have "group" tag in it and those are currently excluded from whore job - so you got a random profile pic instead.
(excluding "bdsm" "mast" and "group" is not very good, I hope we will find a better way how to tag those so we can remove that)
------------
BE: for arena I'm satisfied with the current setup (but I would also welcome faster combat), though it would be nice to have a few skill other then just damage. But that's probably too much work too...

-----------
We'll still need to specify the moods on other pics... it sucks when you get a profile picture of a girl with 100 joy crying or ecstatic pic of a girl with 0.
Do you think we will need a mood portraits for MC too?
I guess it would be good, but there's not that many guys who have battle sprite, combat image and lot of expressions together I know of, so we may end with a smaller selection for a while and with generally more know characters as MCs.
Title: Re: General Discussion
Post by: Xela on November 19, 2014, 09:39:18 AM
I'm not sure if you are joking or not.

Not.

Why not? BE should be interesting, while people complain that battles are too long (they are too long and repetitive if you fight a lot).

I couldn't quite follow.

Now? Would be a good opportunity to improve items system too. Items/traits are not a problem.

Improve how? Now it is then... will take a good deal of work I expect.

I don't have One Piece pack in my game so I can't tell about Nami, but that random elf girl doesn't have it's one "les" pic shown because that image also have "group" tag in it and those are currently excluded from whore job - so you got a random profile pic instead.
(excluding "bdsm" "mast" and "group" is not very good, I hope we will find a better way how to tag those so we can remove that)

Yeah, we'll talk about that when we discuss the new tagging concept as well.

For now, I've removed auto-mood from all calls to show pics that do not have "profile" in them. We'll fix the calls for show on the review and accounting for auto-mood, I'll restore/improve it then.

BE: for arena I'm satisfied with the current setup (but I would also welcome faster combat), though it would be nice to have a few skill other then just damage. But that's probably too much work too...

I'll see about adding a couple new skills, maybe even through quests...

-----------Do you think we will need a mood portraits for MC too?
I guess it would be good, but there's not that many guys who have battle sprite, combat image and lot of expressions together I know of, so we may end with a smaller selection for a while and with generally more know characters as MCs.

Not right now... one thing at a time.

========
I am going to take a look at the code and think of the best way to handle skills...
Title: Re: General Discussion
Post by: DarkTl on November 19, 2014, 12:39:31 PM
Do you mean that things like that frog event are not quests? I don't know, it looks very similar to quest in my opinion.

I don't want to persuade you to work on BE because I don't have a decent concept for it yet. You may continue to enjoy bad feedbacks about it  :)

I recall some kind of issues with tracking stats or traits, don't remember. Somehow I cannot find some old posts, not even mine. But you said it, not me.
Also we have specific items for slave training now, I don't know what to do about them. Thewlis wanted to make them miscs, but it is impossible currently.
Title: Re: General Discussion
Post by: Xela on November 19, 2014, 01:08:00 PM
Do you mean that things like that frog event are not quests? I don't know, it looks very similar to quest in my opinion.

I meant that it's the only one that we have... there is nothing else that we can turn into a quest as you suggested.

I don't want to persuade you to work on BE because I don't have a decent concept for it yet. You may continue to enjoy bad feedbacks about it  :)

Critics... :D

I recall some kind of issues with tracking stats or traits, don't remember. Somehow I cannot find some old posts, not even mine. But you said it, not me.
Also we have specific items for slave training now, I don't know what to do about them. Thewlis wanted to make them miscs, but it is impossible currently.

They just add traits I believe, these traits are then checked for during the slave training. I don't remember what was wrong with items (if anything at all) either.

We'll obviously have to add modifiers to skills... we just need to figure out how we want these modifiers to work.
========================================

I think that I know how I'd like to handle the skills logically now... going to write some pseudo code and see how it works.
Title: Re: General Discussion
Post by: DarkTl on November 19, 2014, 01:39:57 PM
I meant blocking having an option to add am unbroken character to the team or have one do a job in a brothel. The proposal is to isolate them to prison, NPC (training under Blue for example) and training dungeon.
Generaly speaking, attitude to slavery may be different for different social groups, even among slaves. If we make the attitude a part of ST too, like in SM3 and JoNT, then slaves that don't want to escape (even though they can) cannot be considered as "unbroken" anyway.
I mean, not every slave should want to escape even without professional training. And such slaves cannot be called truly "unbroken" if it will be a simple boolean flag.

So maybe characters with weak will and low character stat could be considered as broken even without training (it doesn't make them good slaves, of course). In this case we might as well remove unbroken ones from the city, because it is illogical and stupid to not restrict them somehow.
Another option is to use scripted shackles that cannot be removed from inventory slots and prevent running away outside of dungeon.
Title: Re: General Discussion
Post by: Xela on November 19, 2014, 02:00:53 PM
...

What I am trying is to prevent endless "if forks" in simple events/quests to account for every possible behavior. That's why I want certain things to be contained in related modules. Shackles is a decent idea that I didn't consider but I don't want a simple beach event to turn into checking if a girl is shackled or not either (for example).

Title: Re: General Discussion
Post by: Xela on November 19, 2014, 06:30:02 PM
I've updated stats (http://www.pinkpetal.org/index.php?topic=3504.msg30880#msg30880) and fixed the AP/Next Day in the top strip.

We already have a working skills system, but it cannot yet be modified through xml/items/traits.
Title: Re: General Discussion
Post by: DarkTl on November 20, 2014, 01:47:51 AM
Shackles is a decent idea that I didn't consider but I don't want a simple beach event to turn into checking if a girl is shackled or not either (for example).
Then make it simple: the same law that forbids slaves to use weapons also forces a slave whose training is not approved by the guild (ie not "broken") wear shackles outside of dungeon/prison. The moment you allow untrained slave to exit dungeon she gets shackles, no questions asked. There even could be various shackles, for both feet and hands, and you can choose which one to equip. But you can't remove them completely outside of dungeons.

I think it's still less farfetched than remove them from city completely.

Shackles could have major penalties to stimulate players to get rid of them, ie train slaves.
And we probably should not let unbroken slaves to work, unless by work we mean bdsm action where slave is securely fixed.
Title: Re: General Discussion
Post by: Xela on November 20, 2014, 04:54:20 AM
Then make it simple: the same law that forbids slaves to use weapons also forces a slave whose training is not approved by the guild (ie not "broken") wear shackles outside of dungeon/prison. The moment you allow untrained slave to exit dungeon she gets shackles, no questions asked. There even could be various shackles, for both feet and hands, and you can choose which one to equip. But you can't remove them completely outside of dungeons.

I think it's still less farfetched than remove them from city completely.

Shackles could have major penalties to stimulate players to get rid of them, ie train slaves.
And we probably should not let unbroken slaves to work, unless by work we mean bdsm action where slave is securely fixed.

I'll think about it, still shackles are likely both more coding and less convenience...+ it breaks (partly) once of game's concepts where slaves should be dressed as commoners (same as in Rome) for fear that they realize their true numbers and rebel.
Title: Re: General Discussion
Post by: DarkTl on November 20, 2014, 09:26:46 AM
Only untrained slaves should wear them. I suspect they are mostly located in dungeons/slave markets/prisons and rarely leave them. Majority of slaves outside of dungeons are trained, thus dressed as commoners.
More coding for sure. But I don't see how is it less convenient than lock them away forever (except for less coding, yeah).
Title: Re: General Discussion
Post by: Xela on November 20, 2014, 10:39:10 AM
Only untrained slaves should wear them. I suspect they are mostly located in dungeons/slave markets/prisons and rarely leave them. Majority of slaves outside of dungeons are trained, thus dressed as commoners.
More coding for sure. But I don't see how is it less convenient than lock them away forever (except for less coding, yeah).

Ok... I'll try to put a few hours into stats/skills later tonight, this will have to wait.
Title: Re: General Discussion
Post by: Xela on November 20, 2014, 05:03:01 PM
SF Updated:

- More base code for skills system
- Some QFs and hacks to keep the game running while we adapt to new system (most error will be written to devlog)
- Items fields that add magic spells were renamed to add_be_spells/remove_be_spells (old names were to easiely confused with mod_skills

*More detailed explanation in Stats thread.
Title: Re: General Discussion
Post by: Xela on November 27, 2014, 02:54:24 PM
Completely unrelated to PyTFall, but still very amusing :)

I am always looking to buy new hardware when they offer great xmass deals (new monitor, printer and laptop (mine died a while back) this holidays at very least) when I ran into this:

(http://s27.postimg.org/rrg3i0udr/2014_11_27_21_41_47.jpg) (http://postimg.org/image/rrg3i0udr/) (http://s27.postimg.org/l29k2091r/2014_11_27_21_42_13.jpg) (http://postimg.org/image/l29k2091r/)

link (http://www.samsung.com/uk/consumer/print-solutions/print-solutions/mono-multi-function-products/SL-M2070W/SEE)

These are pictures (and one of them clearly has a model on it) of a printer that is seemingly incapable of printing in color :D I had some trouble believing it but that seems to be the case... I wonder how they're getting away with it due to all the new counter "sh!tty and m!sleading adverts" EU laws. Is it a loophole, plain stupidity or dishonest company (shouldn't be the case with me being a fan of Samsung...)?
Title: Re: General Discussion
Post by: livingforever on November 27, 2014, 03:07:22 PM
Nah, it's a color printer for colorblind people. No misleading ads here.
Title: Re: General Discussion
Post by: Xela on November 27, 2014, 03:52:17 PM
Nah, it's a color printer for colorblind people. No misleading ads here.

LoL, that would actually make some sense, maybe there is a super small print stating that somewhere  ::)
Title: Re: General Discussion
Post by: Xela on December 04, 2014, 04:04:17 PM
SE updated:

- Update Thewlis.
- Some new (untested) code that manages girls caught in the SE.
- Training by Blue, Selloff, Auto-Selloff... and etc.

and etc.
Title: Re: General Discussion
Post by: MonkeyBoo on December 06, 2014, 08:35:10 AM
So any chance of having a game update this Christmas?
Title: Re: General Discussion
Post by: Xela on December 06, 2014, 01:01:39 PM
So any chance of having a game update this Christmas?

Not likely :(

Still too much of TODO list is not finished. Two obstacles at this moment are:

- Skills system that was implemented but the game hasn't caught up with that yet (items, traits, jobs still use the old code).
- We're using new tags loading system in the dev team while all of the packs are still using old one.

Rest would not prevent the release but would be a bit of a buzz kill (lack of content, some unfinished stuff and etc.). I doubt tags + skills can be finished by XMass. All of whats planned certainly can't.
Title: Re: General Discussion
Post by: livingforever on December 06, 2014, 04:19:24 PM
Hi!
- We're using new tags loading system in the dev team while all of the packs are still using old one.
Let's say it like this: Getting the tagger done in a week would be no problem if you'd pay me. Since you don't (which is obviously a good choice), there are lots of other priorities for me at the moment, especially since christmas is approaching.
Have fun!
Title: Re: General Discussion
Post by: Xela on December 06, 2014, 04:52:15 PM
Hi!Let's say it like this: Getting the tagger done in a week would be no problem if you'd pay me. Since you don't (which is obviously a good choice), there are lots of other priorities for me at the moment, especially since christmas is approaching.
Have fun!

Pretty much the same counts for all other elements of the game and people in dev team :)

+ It's not the issue of tagger, it's also the issue of new concept and massive retagging effort.
Title: Re: General Discussion
Post by: DarkTl on December 07, 2014, 04:33:48 AM
That's right, even with new tagger and ready concept it will take at least a month to tag and retag all existing packs.
Title: Re: General Discussion
Post by: Xela on December 12, 2014, 05:20:46 AM
Sf Updated:
- Fixed some bugs that appeared because we're switching to skills system
- Some decent updates to Arena Screens (unified 9 screens into 3)

I've used some of Gismo's frames to update some of the graphics in the arena as well.
Title: Re: General Discussion
Post by: Xela on December 14, 2014, 03:44:21 PM
I don't think we require a separate thread for this:

How do we want to handle ranks and occupations? I want to move the whole thing to a new class next week but if someone has some ideas/request, let me know.

It's hard to proceed without this, I can't even write a PM to Thewlis asking to move ST to the final stage before this is done...

So far:

We have finalized skills, stats and (at least for now) traits. Items and Traits files are still not adapted to new skills system (which should work). Items auto-equip and auto-buy are also not adapted to new systems.

We decided to create ranks for all classes, same as for whores but what should that look like. I've explained how I see it in general a couple of times but if anyone has any ideas/requests, lets hear them!

Note: The main point in this is to specify training levels (goals) for Slave Training and related quests/events! While it would be nice to have in general, we do not really require it for anything else...
Title: Re: General Discussion
Post by: livingforever on December 14, 2014, 04:15:59 PM
Hi!
We decided to create ranks for all classes, same as for whores but what should that look like. I've explained how I see it in general a couple of times but if anyone has any ideas/requests, lets hear them!
I have three questions - depending on the answer you can skip the remaining ones:
What it comes down to: Do you want suggestions on rank names or do you want design ideas for the system?
Have fun!
Title: Re: General Discussion
Post by: Xela on December 14, 2014, 04:27:49 PM
Hi!I have three questions - depending on the answer you can skip the remaining ones:
  • Do you want to change the system or do you just want to make some minor tweaks?
  • If the first: Do you want a linear system (see the money & auto-equip discussion for potential problems) or something more complex (e.g. only X% of characters can achieve the highest rank)?
  • If the first: That's basically just the same experience system for all jobs, maybe with different rank names, isn't it?
What it comes down to: Do you want suggestions on rank names or do you want design ideas for the system?
Have fun!

What we have now:

- Generalized Occupations: (Prostitute, Warrior, ServiceGirl, Stripper). It's a simple string.
- Ranks for Prostitutes (which is a very simple dict borrowed from the original SimBrothel).

And that's it...

I think that it needs to be redesigned... it's not enough to support the required logic for all of the skills and stats we're going to have anyway. I don't mind complexity, prolly would prefer an interesting system to a linear one. Ranks names we need to come up with as well.
Title: Re: General Discussion
Post by: livingforever on December 14, 2014, 07:17:06 PM
I don't mind complexity, prolly would prefer an interesting system to a linear one. Ranks names we need to come up with as well.
Alright, cool.


Well, let's start throwing ideas around then.
Things we want to achieve
The first point suggests a non-linear system simply because waiting for a condition then pressing the rank-up button (as it is now) isn't dynamic, it's boring after the 3rd time. Essentially, rank changes need to work and make sense both ways (up and down) - which will also help the 3rd point a lot.
In order for the last point to work with that, a fixed amount of "openings" for every rank is the most obvious approach, but it also needs to scale with the overall amount of girls employed by the player.
And the rewards? Mostly a balance issue I'd say, but the first step to make it feel more rewarding (without messing with the balance) would be to only allow a promotion if there are enough girls in the tier that the girl should be promoted from. That also makes sense because you never have more superiors than workers, whatever job it is. However, that amount may not be too high (otherwise high tiers would require insane amounts of employees).
As a side effect this would require to find new employees near constantly, therefore providing motivation no matter how long you keep playing.



So how could that work
Let's see.
Example Tiers (with scaling): Minimum :: Maximum
Example for scale 1 (values rounded up):
That would mean that it requires 58 (1 + 3 + 9 + 18 + 27) characters in a job to be able to promote one of them to the highest tier. I personally think that is a reasonable amount (the highest tier should be hard to reach).


Things that I didn't consider yet:
What is the effect of a higher rank?
Honestly, I don't really know. You are the game's gurus, I'm certain you have better ideas on that point. I just want to note that a rank-up is an achievement that should be rewarded properly and increasingly (meaning that the reward from 4 to 5 should be much higher than the improvement from 1 to 2).



Five tiers for every job. I'll edit this part of the post as suggestions come up.

Names, anyone?

I think we can safely ignore the different jobs and stick with the general occupations for the rank names.

Prostitute
Warrior
Stripper
Service Girl

Discuss!
Have fun!
Title: Re: General Discussion
Post by: DarkTl on December 15, 2014, 05:16:35 AM
^Very interesting idea.

Iirc so far we have 10 ranks for whores though. I think this is too much for such system. Better to have few ranks with more differences.
Title: Re: General Discussion
Post by: Xela on December 15, 2014, 07:02:26 AM
^Very interesting idea.

Iirc so far we have 10 ranks for whores though. I think this is too much for such system. Better to have few ranks with more differences.

We have 8 so 5 + 1 (baserank 0) makes it 6. We can simply get rid of two ranks.

Otherwise:

...

It's a very good concept. It will have to be adjusted because your numbers are ok for prostitutes but warriors need that to be halved and service girls and strippers will only work with a third of the minimums...

Things that I didn't consider yet:
What is the effect of a higher rank?
Honestly, I don't really know. You are the game's gurus, I'm certain you have better ideas on that point. I just want to note that a rank-up is an achievement that should be rewarded properly and increasingly (meaning that the reward from 4 to 5 should be much higher than the improvement from 1 to 2).

My proposals:

For all:
- Small modifiers to skills
- Access to better buildings/businesses
- Abilities to complete quests
- Better wages (to be paid to characters) or higher tax for slaves
- Not all ranks are available to slaves (living suggested that already)
- Better payouts (when available)

Prostitutes:
- Unlock better buildings, some brothels are not available until player has a least one prostitute of rank x.
- Just as before, girl can only be ranked to maxrank that building allows.

Warriors:
- Allows party to travel to new locations (dangerous locations are locked for low ranked characters) (in guild).
*The above will require team captain of rank x and members (if any) of one rank below (at least).
- Better security rating for buildings.

*As we'll add more and more modules to the game, things will improve for strippers and service girls, for now, their advantages will be very limited.

How about slaves?
I think the system can be applied to slaves as well. However, 58 is quite a lot to set one free, so I guess the last tier should be cut (so freedom as acquired at rank 4). A rank 4 slave would then be changed to a rank 1 prostitute/whatever.

Slaves should not have ranks of their own but be a part of ranking system for occupations.
Title: Re: General Discussion
Post by: DarkTl on December 15, 2014, 07:25:17 AM
We also can add rank requirements to items, if you willing to code it.
Title: Re: General Discussion
Post by: Xela on December 15, 2014, 07:40:36 AM
We also can add rank requirements to items, if you willing to code it.

I want to use unmodified skills requirements for ranks so items cannot be used to cheat ranks just by putting them on.

I can code it but we already have a system of maxes that make sure that powerful items will not overpower stats of weak characters. You proposal feels like a version of that system. Game is already very complex as it is.
Title: Re: General Discussion
Post by: livingforever on December 15, 2014, 12:07:10 PM
Hi!
It will have to be adjusted because your numbers are ok for prostitutes but warriors need that to be halved and service girls and strippers will only work with a third of the minimums...
Yeah, I guess.

My proposals:
Maybe a small efficiency increase for all lower tiers (similar to how strippers increase prostitute efficiency, but not as much)?

Slaves should not have ranks of their own but be a part of ranking system for occupations.
Makes sense.
Have fun!
Title: Re: General Discussion
Post by: Xela on December 15, 2014, 02:52:33 PM
  • For every rank, there is a minimum amount of characters required in order to unlock one position of the next rank. Similarly, there also is a maximum so the current tier can never exceed the previous one. A character can only be promoted if there is a free spot in the next tier.
  • Demotions are always allowed. This helps to ensure that position changes are easy to accomplish. If the maximum of the new tier is exceeded by a demotion, the system will deal with that itself by not allowing the player to promote further characters into that tier.
  • Promotions have a cost. If a character payed the cost once for the current tier, (s)he can be freely promoted and demoted up to that tier. This will ensure that demotions actually make sense if there is a better character available for the position.
  • There is a highest tier (that should be somewhat difficult to reach).
  • There is no absolute maximum of employees in a tier. The only limitation is the amount of characters in the previous tier.
Example Tiers (with scaling): Minimum :: Maximum
  • A :: Unlimited
  • B = A * 2/3 :: A (same as B * 3/2)
  • C = B * 1/2 :: C * 3/2
  • D = C * 1/3 :: D * 3/2
  • E = D * 1/3 :: E (no maximum required, it's the highest rank anyway)
Example for scale 1 (values rounded down):
  • 27 :: Unlimited
  • 18 :: 27
  • 9 :: 13
  • 3 :: 4
  • 1 :: 1
That would mean that it requires 58 (1 + 3 + 9 + 18 + 27) characters in a job to be able to promote one of them to the highest tier. I personally think that is a reasonable amount (the highest tier should be hard to reach).

This is not going to work. This means that a player cannot advance a very capable girl to higher rank unless there are 27 nubs in employment as well. I don't think this is acceptable from gameplay perspective. It is not logical either...

I also don't like ideas of demotions. We need a system that doesn't limit gameplay options. Like if a player wants and has funds/reputation to run a high class brothel, there should be nothing enforcing managing 10 sh!tty brothels on the side just to allow having high ranked girls.

Basically we can just go with the stats/skills/money/level requirements and make sure that those are very, very high for top ranks... I don't have a good (different) solution to limit ranks at the moment but this is too restrictive and forces a very specific gameplay completely removing an option to play a nice game just with 10 of your favorite characters for example...
Title: Re: General Discussion
Post by: livingforever on December 15, 2014, 04:47:55 PM
Hi!
What the hell dude.
First you comment that the system is a good idea, then you back off with problems that don't even exist.

This is not going to work. This means that a player cannot advance a very capable girl to higher rank unless there are 27 nubs in employment as well. I don't think this is acceptable from gameplay perspective. It is not logical either...
Wrong. In order to advance one prostitute to tier two, you need two in tier one. In order to advance one to tier three, you need two in tier two. In order to advance one to tier four, you need three in tier three.
I mean come on, it's really not that hard to understand.

I also don't like ideas of demotions. We need a system that doesn't limit gameplay options. Like if a player wants and has funds/reputation to run a high class brothel, there should be nothing enforcing managing 10 sh!tty brothels on the side just to allow having high ranked girls.
You not liking demotions is your thing, but they don't limit gameplay options in any way. It's not about the "class" of the brothel, it's about the experience of the employees. A high class brothel doesn't make your girls more skilled. Nothing is forcing the player to do what you describe.

Basically we can just go with the stats/skills/money/level requirements and make sure that those are very, very high for top ranks... I don't have a good (different) solution to limit ranks at the moment but this is too restrictive and forces a very specific gameplay completely removing an option to play a nice game just with 10 of your favorite characters for example...
Linear, boring, snowballing system. Not good.
The new system is restricting the amount of high ranked characters to avoid exactely that and it doesn't force a specific gameplay at all, it also adds options instead of removing anything.
Have fun!
Title: Re: General Discussion
Post by: livingforever on December 15, 2014, 05:13:33 PM
And by the way...
I want to use unmodified skills requirements for ranks so items cannot be used to cheat ranks just by putting them on.

I can code it but we already have a system of maxes that make sure that powerful items will not overpower stats of weak characters. You proposal feels like a version of that system. Game is already very complex as it is.
I think he meant it the other way around (that you need rank X to wear item Y), which does make sense (because if - as you say - higher ranks have a skill and stat requirement, then using that rank as a requirement for an item that would otherwise require those skills anyway is just a shortcut that simplifies the user interface and code).
Have fun!
Title: Re: General Discussion
Post by: DarkTl on December 16, 2014, 02:59:59 AM
What the hell dude.
First you comment that the system is a good idea, then you back off with problems that don't even exist.
Lol, that's Xela for you  :D
I wonder if there are two or more people using his account.

And by the way...I think he meant it the other way around (that you need rank X to wear item Y)
Yup.
Title: Re: General Discussion
Post by: Dusk on December 16, 2014, 05:49:45 AM
As the newcomer to the sea of forum posts, I figured I'd drop in to say hello!

Truth be told, I'm a tad curious about this game being developed.  I saw it over on the Hongfire forum (Well actually I saw Whoremaker not PyTFall) thread and thought I'd try it out.

If you'd spare me a few moments of your time, I have a couple questions I'd like to ask:
1) Approximately how large is this game exactly?  I was skimming this General Thread for an answer but, it's rather inflated and full of what appears to be a mix of brainstorming and updates (275 is far too much to read through with my time constraints).
2) What are the general recommended/minimum system requirements? I'm not exactly running an optimal high-end system so, it'd be nice to know.

On a side-note, I'd like to commend you all for in your consistent dedication towards this project of you've all put together!

To be perfectly honest, from what I've skimmed through, you've all managed to get me rather motivated to help despite me never having played the game yet!  If it turns out that my toaster can't run the game I'll be slightly disappointed...
Also, if you're still on the lookout for a writer, I'll happily contribute my modest English literary capabilities to the cause.  That is, unless the actual 'playing' of the game is required (in which case the toaster will have the final say).
Title: Re: General Discussion
Post by: Xela on December 16, 2014, 06:02:30 AM
Lol, that's Xela for you  :D

Yeah, yeah, I know :)

Wrong. In order to advance one prostitute to tier two, you need two in tier one. In order to advance one to tier three, you need two in tier two. In order to advance one to tier four, you need three in tier three.
I mean come on, it's really not that hard to understand.

Right... well I thought that was the case but then reread your post thoroughly and thought otherwise.

You can't really play out a full scenario with just 10 characters, but it's not as bad as I thought :)
Title: Re: General Discussion
Post by: Xela on December 16, 2014, 06:12:23 AM
As the newcomer to the sea of forum posts, I figured I'd drop in to say hello!

Welcome! :)

If you'd spare me a few moments of your time, I have a couple questions I'd like to ask:
1) Approximately how large is this game exactly?  I was skimming this General Thread for an answer but, it's rather inflated and full of what appears to be a mix of brainstorming and updates (275 is far too much to read through with my time constraints).
2) What are the general recommended/minimum system requirements? I'm not exactly running an optimal high-end system so, it'd be nice to know.

1) The game itself is about 450 MB but it's useless in that state (without a single character). Characters are somewhere from 4 mb (bare minimum) to +/- 20 GB (all of our and WM packs combined).

2) It's a 2D Sim Game, so not very high. Rest depends... I think 1 Ghz single core with 512 MB Ram will run the game but to enjoy it you will prolly need 1 GB of Ram and Dual core at least. Screen with at least 1280x800 is preferred but once again, not required.

On a side-note, I'd like to commend you all for in your consistent dedication towards this project of you've all put together!

Kewl :)

To be perfectly honest, from what I've skimmed through, you've all managed to get me rather motivated to help despite me never having played the game yet!  If it turns out that my toaster can't run the game I'll be slightly disappointed...
Also, if you're still on the lookout for a writer, I'll happily contribute my modest English literary capabilities to the cause.  That is, unless the actual 'playing' of the game is required (in which case the toaster will have the final say).

You could start by downloading: http://www.renpy.org/latest.html

Then try running it, there will be a simple game there and a tutorial (where you can view engines capabilities). If that works for you, PyTFall will as well, although, loading process may take a while on older machines.
Title: Re: General Discussion
Post by: Dusk on December 16, 2014, 06:26:06 AM
Thanks for the warm welcome.  Honestly wasn't expecting such a prompt response!

I'll check out the renpy thing tomorrow or the day after my final.  Hopefully I'll manage without much adversity.
Title: Re: General Discussion
Post by: livingforever on December 16, 2014, 03:17:10 PM
Hi!
You can't really play out a full scenario with just 10 characters
That actually is intentional. Here's why:
The game already has enough progression, mostly linear. Adding another linear progression system (in form of ranks) therefore is only a very small gain.
What I suggested doesn't only provide an interesting form of progression, it also provides a goal that incentivizes expanding your business constantly.
Have fun!
Title: Re: General Discussion
Post by: Xela on December 16, 2014, 04:41:05 PM
I still don't like limiting gameplay options. I look at pytfall as a free open world. What you suggested is valid for a game that has a good, limited concept. How about we compomise, players gets to have one girl of each rank for free and then limitations apply?
Title: Re: General Discussion
Post by: livingforever on December 16, 2014, 04:45:44 PM
How about we compomise, players gets to have one girl of each rank for free and then limitations apply?
So we basically just round up the minimum amount instead of rounding it down. Seems reasonable.
Have fun!
Title: Re: General Discussion
Post by: MrKlaus on December 16, 2014, 08:34:11 PM
Names, anyone?

 Prostitute
 My proposition :
Or mix the two groups into your liking.

Warrior
  Stripper
  Service Girl
 
Title: Re: General Discussion
Post by: Dusk on December 16, 2014, 10:25:52 PM
 If you're still looking for names, and if this is still being implemented, here are my recommendations (in bold font)

Prostitute
Warrior
Stripper
Service Girl
Title: Re: General Discussion
Post by: livingforever on December 16, 2014, 11:59:02 PM
Thanks for the suggestions, I edited the post, but nothing is set in stone.
Have fun!
Title: Re: General Discussion
Post by: Xela on December 17, 2014, 01:26:36 AM
We don't really need ranks for prostitutes our setup is from the original SimBro and it's both sound and a bit nostalgic for those who played the very first versions of games like PyTFall (SimBrothel, SlaveMaker and Hentai Highschool by the original author (Poolka)).

Code: [Select]
        WRANKS = OrderedDict()
        WRANKS["1"]=dict(name=('Rank 1: Kirimise', '(Almost beggar)'), price=0),
        WRANKS["2"]=dict(iname=("Rank 2: Heya-Mochi", "(Low-class prostitute)"), skills={"sex": 100}, price=1000, exp=10000),
        WRANKS["3"]=dict(name=("Rank 3: Zashiki-Mochi", "(Middle-class Prostitute"), skills={"sex": 300}, price=3000, exp=25000),
        WRANKS["4"]=dict(name=("Rank 4: Tsuke-Mawashi", "(Courtesan)"), skills={"sex": 600}, price=5000, exp=50000),
        WRANKS["5"]=dict(name=("Rank 5: Chûsan", "(Famous)"), skills={"sex": 1000, "refinement": 100}, price=7500, exp=100000),
        WRANKS["6"]=dict(name=("Rank 6: Yobidashi", "(High-Class Courtesan)"), skills={"sex": 1250, "refinement": 150}, price=10000, exp=250000),
        WRANKS["7"]=dict(name=("Rank 7: Koshi", "(Nation famous)"), skills={"sex": 1500, "refinement": 500}, price=25000, exp=400000),
        WRANKS["8"]=dict(name=("Rank 8: Tayu", "(Legendary)"), skills={"sex": 3000, "refinement": 800}, price=50000, exp=800000)
Title: Re: General Discussion
Post by: DarkTl on December 17, 2014, 09:15:15 AM
I still don't like limiting gameplay options. I look at pytfall as a free open world.
It's not really about limiting, more like emulating real life. You can't have 10 top managers if you have 10 employers at all, no matter how good they are.
Someone has to do the job.
Title: Re: General Discussion
Post by: Xela on December 17, 2014, 09:41:45 AM
It's not really about limiting, more like emulating real life. You can't have 10 top managers if you have 10 employers at all, no matter how good they are.
Someone has to do the job.

At what rank according to you does a prostitute become a manager instead of player? Didn't I already mention a story where a madam in California ran a ring for super rich with a limited amount of girls all of whom were former models/actress? Girls allegedly brought in 30 - 75 000 USD a week, which is more than street hookers make in an year. There are different approaches to business, currently game is perfectly playable with 10 or perhaps even 5 characters, I see no reason to shut that down.

If player wishes to invest in items and training for a limited amount of characters properly mircomanaging them instead of playing a game with 250 on semi-auto mode just managing the general picture by hiring/buying new workers, I see no reason to prevent that. Actually that's how I usually play... it would suck to end up with a game one of the authors can't enjoy :(
Title: Re: General Discussion
Post by: DarkTl on December 17, 2014, 10:05:01 AM
Ok, let's put it another way. You can't hire 10 leading programmers while making a software or 10 leading artists while making a movie. Unless it's an indie software or movie, where they voluntarily do everything that should be done because they want to.

I don't recall such a story btw. But I bet they don't waste their time on poor customers, meaning they have plenty of wealthy ones, meaning they have high reputation, great skills and perhaps some unique features.
So unless you have all the same in the game, your best bet is to hire more girls.
Title: Re: General Discussion
Post by: livingforever on December 17, 2014, 11:30:06 AM
Hi!
We don't really need ranks for prostitutes our setup is from the original SimBro and it's both sound and a bit nostalgic for those who played the very first versions of games like PyTFall (SimBrothel, SlaveMaker and Hentai Highschool by the original author (Poolka)).
Ah, that old issue again. Just because other brothel sims did it doesn't mean you should and it also doesn't mean that what they did is good.
But, since you brought it up - here are problems with the old rank names:
So 7 out of 8 names are fundamentally flawed. Great.


On the topic of the new rank concept, I do agree with DarkTI, but I can also see Xela's point so I think the compromise that he suggested...
players gets to have one girl of each rank for free and then limitations apply?
... is a good way to solve this.
Have fun!
Title: Re: General Discussion
Post by: Xela on December 17, 2014, 04:13:33 PM
No respect for origin, heritage or history at all  :-[

*Meow...
Title: Re: General Discussion
Post by: Dusk on December 18, 2014, 07:43:50 AM
Well uh...I checked out the Ren'py thing and I think i get it? sort of?  I'm still a newborn chick to these kinds of things.

In any case, how do I go about adding in 'dialogue' and where is it needed?

From what I gather, I'm focusing on this one correct?

Writing Dialogue:

(Each '-' indicates the line of code it is referring to.  Starting from the top going downwards.)
Code: [Select]
label xyz:

   scene behind the house
   show Name emotion

      "blah blah blah."
      "Header" "blah blah blah"

- Indicates name to the place of a program
- Some sort of contextual thing?
- Reference to some sort of mood?
- Simple saying statement (1 Argument)
- Same as above + a Header (2 Arguments)

Code: [Select]
define abc = Character(_("Name"), color="#ffcccc")

   abc "blah blah blah"
   abc "blah blah blah \"ring-a-ling\"?"

- Redefines the character code.
- Output is: Name (Header with a colour) - blah blah blah.
- The \" indicates a special character.  Output is: Name (Header) - blah blah blah "ring-a-ling"?

I'm also not quite clear on how to manipulate fonts (size, boldness, outlines, italics, struckthrough, spacing, timing, etc.).  If someone could clarify that to me that'd be nice.

Edit: Format change for better easier viewing.
Title: Re: General Discussion
Post by: Xela on December 18, 2014, 12:09:09 PM
Right... so one thing at a time:

You could glance through this useful thread: http://www.pinkpetal.org/index.php?topic=3489.0 It'll help you with using the forums correctly. You need to encase code as code for example to make it better readable.


Well uh...I checked out the Ren'py thing and I think i get it? sort of?  I'm still a newborn chick to these kinds of things.

In any case, how do I go about adding in 'dialogue' and where is it needed?

From what I gather, I'm focusing on this one correct?
Writing Dialogue:

label xyz: //Indicates name to the place of a program

Yeap:

Code: [Select]
label my_label:
    # code

does just that and the whole game is structured in labels. For that reason there is no main loop that you often see in the games, it is instead handled internally by the Ren'Py engine.

   scene behind the house //some sort of contextual thing?
   show Name emotion //Reference to some sort of mood?

   "blah blah blah."               //Simple saying statement (1 Argument)
                                        // The \" indicates a special character
   "Header" "blah blah blah" //Same as above + a Header (2 Arguments)

scene and show are both Ren'Py script statements.

There are five script languages that are used in Ren'Py:

- Python (The most powerful one by a long-shot)
- Ren'Py script.
- ATL
- Style
- Screen

Everything written in the latter four can be done with python. Latter four were created to simplify the most useful things and reduce coding time required to get things done. They are all basically wrappers for Python equivalents.

Ren'Py script used mostly for advancing normal, VN type gameplay. Scene statement you mentioned will remove all displayable on the layer ("master" by default) and show a new displayable. It's mainly used to clear stuff for a new sequence of events and texts and to show a new background. show statement just shows a displayable.

ATL (Animation and Transformation language) provides sets of instructions to displayable to change their properties, like position, size, rotation, alignment and so on. Basically it's use to tell a displayable to move, change shape, cut a piece of itself, zoom, change it's size and etc.

Style provides properties to a displayable as well but there are not used to transform a displayable, rather to "set it up". It does also deal with size and positioning but it is used to provide it, not change after displayable has been rendered.

Screen language (now Screen Language 2 starting with Ren'Py 6.18) is used to create screens, which are basically groups of displayable to provide information and get input from player.

*Should be noted that everything you see on the screen in Ren'Py is a displayable, including texts. It's a useful thing to know if you ever decide to dig a bit deeper.

define abc = Character(_("Name"), color="#ffcccc")

   abc "blah blah blah"                          //Output is: Name (Header with a colour) - blah blah blah.
   abc "blah blah blah \"ring-a-ling\"?" //Output is: Name (Header) - blah blah blah "ring-a-ling"?

define is another Ren'Py script statement I tend to avoid because while Ren'Py developer has explain it to be twice already, it still tends to screw me over whenever I use it for anything important... it mostly deals with improving debugging.

Code: [Select]
$ abc = Character(_("Name"), color="#ffcccc")
Does a very similar thing. Dollar sign is a statement for a Python oneliner. it is basically telling the game: This line is in Python.

Code: [Select]
python:
    # code

means any code indented afterwards is python.

I'm also not quite clear on how to manipulate fonts (size, boldness, outlines, italics, stuckthrough, spacing, timing, etc.).  If someone could clarify that to me that'd be nice.

Fonts can be manipulated in a number of ways. For example:

Code: [Select]
abc "{size=40}{b}blah blah blah{/b} \"ring-a-ling\"?"
will render the entire line in size 40 and the encased bit in bold. There is a documentation with all options: http://www.renpy.org/doc/html/style_properties.html#text-style-properties

Obviously this is far from ideal so you can also provide properties when you define the sayer:

Code: [Select]
$ abc = Character(_("Name"), color="#ffcccc", what_bold=True, what_size=40)
or use styles (possibly the most convenient way).

================================
It should be noted that PyTFall has most of this stuff preset. Like we've already picked a font, window will be automatically defined for you and all characters in the game has been setup with their portraits to be shown.

We also generally do not use show statements for sprites because we do not use internal cataloging system for images. There are plenty of examples for this stuff in the game.

You need to create an account for SourceForge and PM me your login. I can then add you to the project.

Instructions are in this thread: http://www.pinkpetal.org/index.php?topic=2125.0
Title: Re: General Discussion
Post by: Dusk on December 19, 2014, 06:48:37 AM
Forgive my inexperience here but:

Quote
Fonts can be manipulated in a number of ways. For example:

Code: [Select]
abc "{size=40}{b}blah blah blah{/b} \"ring-a-ling\"?"...
Obviously this is far from ideal so you can also provide properties when you define the sayer:

Code: [Select]
$ abc = Character(_("Name"), color="#ffcccc", what_bold=True, what_size=40)

What would second line of code output?  Or more specifically what does this portion of the code do?

Code: [Select]
what_bold=True, what_size=40
Does it make all the lines spoken by this character bold and size 40 font? Or just the whenever the word what shows up?
Title: Re: General Discussion
Post by: Thewlis on December 19, 2014, 07:24:57 PM
Anything beginning with "what_" in a Character() call applies that to what the character says. Anything beginning with "who_" applies to their name. Basically:

"who": "what."
Title: Re: General Discussion
Post by: Dusk on December 21, 2014, 12:54:40 AM
Thank you for the brief explanation Thewlis.

Is it possible for you to write a small example of code and then showing the output?

I feel that an example would best reinforce your explanation and assist me in my coding predicament.

Title: Re: General Discussion
Post by: Xela on December 21, 2014, 06:35:49 AM
$ h = Character(_("Hinata"), what_bold=True, what_size=40)

h "Hi, my name is Hinata!"

Will show:

========
Hinata
Hi, my name is Hinata!
========

*Bold text will be size 40 as well, but that translates to the forum poorly.

It's not the only way to display text in PyTFall. It's also not how we usually define ingame characters, although we do define NPC in a very similar fashion. Don't rush and try to understand it all right off the bat. It will all come together soon enough.
Title: Re: General Discussion
Post by: DarkTl on December 24, 2014, 01:01:44 PM
I wrote a simple tagger just now to find out how rusty my Delphi skills are.
How did you handled identical file names in case of identical tags in your renamer? I do hope you did, and not just replace old ones with new ones :)
 
Title: Re: General Discussion
Post by: Xela on December 24, 2014, 02:16:28 PM
I wrote a simple tagger just now to find out how rusty my Delphi skills are.
How did you handled identical file names in case of identical tags in your renamer? I do hope you did, and not just replace old ones with new ones :)

What do you mean by identical file names? I can't quite follow the question :(

If you mean two files tagged with the exact same tags, it's not an issue. There are four completely random characters at the end of each filename to prevent collision.
Title: Re: General Discussion
Post by: DarkTl on December 24, 2014, 02:31:00 PM
Hm, I see. That's probably not an ideal solution though, they still could be identical, just with very low probability. It's possible to make them more unique using numbers in alphabetical order.

I also researched metadata a bit. Both jpg and png have 64kB limit for metadata length, while because of windows filename and pathname limitations (puny 260 characters) we or players might have problems eventually. I just recently stumbled upon it while unarchiving some file. Are you about using file names?
Delphi can work with meta too, though it won't be nearly as quick and easy as file names.
Title: Re: General Discussion
Post by: Xela on December 24, 2014, 03:08:58 PM
Hm, I see. That's probably not an ideal solution though, they still could be identical, just with very low probability. It's possible to make them more unique using numbers in alphabetical order.

I also researched metadata a but. Both jpg and png have 64kB limit for metadata length, while because of windows filename and pathname limitations (puny 260 characters) we or players might have problems eventually. I just recently stumbled upon it while unarchiving some file. Are you about using file names?
Delphi can work with meta too, though it won't be nearly as quick and easy as file names.

Filesnames are faster. I'll also add an option to "fix" players setup when he/she is satisfied with it and load database from binary.

Rudi who researched the topic for years, excluded metadata as an option because for thousands of images, reading it is very slow (we are talking 20+ minutes on his claims). Doubt that we'll ever run into filenames that are too long. Our realistic options are that and json or xml.
Title: Re: General Discussion
Post by: DarkTl on December 25, 2014, 03:40:57 AM
Renamer wastes a lot of space on "-" symbols. We could greatly reduce the danger of exceeding the limit by abandoning them.
Title: Re: General Discussion
Post by: Xela on December 25, 2014, 06:44:16 AM
Renamer wastes a lot of space on "-" symbols. We could greatly reduce the danger of exceeding the limit by abandoning them.

I don't see the danger, take a look at the files. We can remove it or go back to json and implement my binary fix idea with json tags if you believe that your concerns are valid.
Title: Re: General Discussion
Post by: DarkTl on December 25, 2014, 03:54:15 PM
What types of pictures the game supports in girls packs? I recall you mentioned that it doesn't support animated pictures, but I'm not sure about bmp for example.
Title: Re: General Discussion
Post by: Xela on December 25, 2014, 07:00:57 PM
What types of pictures the game supports in girls packs? I recall you mentioned that it doesn't support animated pictures, but I'm not sure about bmp for example.

Ren'Py supports:

    JPEG/JPG
    PNG
    BMP
    GIF

But we only check for png and jpg in the game.
Title: Re: General Discussion
Post by: DarkTl on December 26, 2014, 10:45:49 AM
There is one bmp in the game folder, it's game\content\gfx\interface\images\story\caravan\sword1.bmp. That's why I wondered about bmps.

When I'm worried about filename limit, I think about files like fj30fj380fhwrfwr03h5f101h3fh035hf50hy4437656480wynhyrjhrhre hygh5.jpg that you easily can find on various hentai sites.
They already have long names, so when we add tags we make them even longer. It's not a problem in our packs only because me and Cherry rename pictures before using them.

Perhaps we could force people to use no more than four characters for file names, excluding tags. I'll add autorenamer that will rename all files in the target folder to their alphabetical hexadecimal numbers. That would be from 0000.jpg to FFFF.jpg, meaning 65535 pictures per girl (I think it's enough  :) ). So after tagging process they will look like 00A1-pr-r3-h2.jpg.
Title: Re: General Discussion
Post by: Xela on December 26, 2014, 01:11:58 PM
There is one bmp in the game folder, it's game\content\gfx\interface\images\story\caravan\sword1.bmp. That's why I wondered about bmps.

When I'm worried about filename limit, I think about files like fj30fj380fhwrfwr03h5f101h3fh035hf50hy4437656480wynhyrjhrhre hygh5.jpg that you easily can find on various hentai sites.
They already have long names, so when we add tags we make them even longer. It's not a problem in our packs only because me and Cherry rename pictures before using them.

Perhaps we could force people to use no more than four characters for file names, excluding tags. I'll add autorenamer that will rename all files in the target folder to their alphabetical hexadecimal numbers. That would be from 0000.jpg to FFFF.jpg, meaning 65535 pictures per girl (I think it's enough  :) ). So after tagging process they will look like 00A1-pr-r3-h2.jpg.

Engine will load bmp files but not in girls packs, code doesn't look for them. There will be no filenames that are too long. I have renamed over 10 000 images and it's all good, nothing comes even close to causing errors.
Title: Re: General Discussion
Post by: Thewlis on December 26, 2014, 02:51:58 PM
There will be no filenames that are too long.

Unless someone sticks them in a very deep folder tree and windows refuses to deal with them.
Title: Re: General Discussion
Post by: Xela on December 26, 2014, 07:12:15 PM
Unless someone sticks them in a very deep folder tree and windows refuses to deal with them.

I wonder what the longest filename we have atm...
Title: Re: General Discussion
Post by: DarkTl on December 27, 2014, 05:46:17 AM
- Like I said, both me and Cherry always renamed all pictures. And your renamer does it too, so things are already under control, we never allowed long names to exist in our packs in the first place. And we should continue to do so, unless you enjoy to handle system exceptions in the game code.
- Since my tagger works with files names, and files are ordered by names in the tagger file list (because how else are we supposed to order them and keep things intuitive), it's better to not change the order during renaming when you add or remove tags, it could be very confusing.
- So in order to not change the order during renaming AND keep names unique files names start with four hexadecimal digits, from 0000 to ffff. That means 65535 pictures per girl. I doubt it's possible to exceed it, but it's not hard to add fifth digit in that case.
- After hexadecimal numbers go tags divided by "-". I limited the total number of tags per file to 50. Each tag takes 3 characters, so max possible file name length = 4+50*3= 154. We could use more, but I don't think there is a picture that requires so many tags.

Now I'm writing various procedures to automate tagging as much as possible and handle all exceptions. Also I'm going to show only those checkboxes that are needed, ie no sex tags for profile picture. It will look like the last tagger, with list of files in the selected folder and picture preview.

Of course we'll need to finish new tags concept too so that I could add tags checkboxes to gui. It's too difficult to freely change gui via xmls in case of Delphi, like it was possible in Rudi's tagger.
Title: Re: General Discussion
Post by: Xela on December 27, 2014, 05:41:26 PM
I don't understand why everyone is making taggers :D

Rudi's tagger is working just fine, so does macmanuses. I can wrap up Ren'Py tagger if you need it and allow you to customize it like I proposed before.

Filenames are not important, collision is very unlikely because tags for most pictures are different and are stored without order. I also don't see the point to change the damn names yet again, we did it one on livings request/suggestion by moving the four characters id from start to end if the filename.
Title: Re: General Discussion
Post by: DarkTl on December 28, 2014, 06:23:37 AM
Don't you have better things to do, like code your own proper tagger rather than doubt my mad Delphi skillz?  :)
We cannot support old taggers because we either don't have source code (Rudi) or don't know how to code it and those who coded it are not available (mcmanus). So we need a tagger that was coded by one of permanent devs. And you mentioned that renpy is not really suited for working with files and folders, while Delphi is perfect for it. Guess what, you can even freely select a folder in my tagger via default Windows opening dialogue!  :D

You are wrong about collision. For example, there are profile and nude pictures with same emotions and simple background, so the only thing they have different is your four random characters at the end. The chance of collision is low if those characters are truly random. But it's =/= 0, and never be.

I'm not sure why living requested to move characters id to end of the filename. Each time you change tags you also change alphabetical order of files in unpredictable ways. It's not a problem for my tagger, but it's a problem for me, and a huge one. Because, well, I'm a pack maker, you know. I actually work with pictures and tags, not just load them somewhere after they are ready.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
I figured that the only way to get an always novel, decent, bugs-free tagger is to code it by myself. Names will be unique, renaming of new files will be automated, there will be options that make tagging quick and simple. It even will be able to check if files are tagged correctly or not, before the game throws you an error.

If you actually can and willing to do all it via renpy, be my guest. I don't think so, though.
Did you try to change tags in packs using your renpy tagger? I did. You can't even save it sometimes:
Quote
While running game code:
  File "game/library/screens/standalongs/tagger.rpy", line 23, in script
    python:
  File "game/library/screens/standalongs/tagger.rpy", line 100, in <module>
    os.rename(f, newdir)
WindowsError: [Error 2]
Title: Re: General Discussion
Post by: Xela on December 28, 2014, 07:15:44 AM
Don't you have better things to do, like code your own proper tagger rather than doubt my mad Delphi skillz?  :)

I don't have any reason to doubt, just saying that it would prolly been faster to get the Ren'Py tagger to work like we want it to.


I'm not sure why living requested to move characters id to end of the filename. Each time you change tags you also change alphabetical order of files in unpredictable ways. It's not a problem for my tagger, but it's a problem for me, and a huge one. Because, well, I'm a pack maker, you know. I actually work with pictures and tags, not just load them somewhere after they are ready.

Because we wanted to optimize loading speed to best we can get. It was a matter of getting rid of first five characters of the filename and the last four (or split on ".") (two operations) and getting rid of the last 9 characters (extension + four characters) which is one operation. I doubt that it makes that big of a difference but I never timed it because his approach was bound to be quicker and I did not think about the sorting.

If you actually can and willing to do all it via renpy, be my guest. I don't think so, though.
Did you try to change tags in packs using your renpy tagger? I did. You can't even save it sometimes:

If you're busy with this already, there is little point. I could take a shot at it so we have a tagger until living is done with java version and you could work on skills, items and traits... CW is being unusually silent these days :( + until we get that sorted, I am having trouble assigning tasks to Thewlis who is around...

==================
Going to take a look at the new leveling up logic... maybe I can make some headway there. If I can get that done, maybe Thewlis can wrap up ST, we could add some quests/tasks and finally release something closer to a beta.
Title: Re: General Discussion
Post by: DarkTl on December 28, 2014, 07:47:48 AM
You see, let's say you tag pictures and suddenly notice that some picture should be edited a bit for some reason.
If index is in the beginning, then you can quickly find it in the folder by index and sorting files by names. Even without sorting you can type its index. and windows will show you the picture.
Now if index is in the end, then both sorting and typing can't help you much. And we have packs with thousands of pictures, so this is important. Of course you can search for it via ctrl+f, but we want things simple, not complex. At least I hope that we do  :)

CW mentioned that he waits for ready tagging concept and working tagger. Another reason to do something about it. I can finish concept any time now (I'm on vacation until mid-January starting from yesterday), but it's useless without a working tagger.
Title: Re: General Discussion
Post by: Xela on December 28, 2014, 08:21:56 AM
Windows will look for a combination even in the middle/end of the filename. There should be no difference.

But that's fine, I can redo it in the game without and fuss. As long as we all keep to the same set of rules.
Title: Re: General Discussion
Post by: DarkTl on December 28, 2014, 08:31:02 AM
Just tried it. Typing doesn't work this way. Searching requires full mask, ie *part_of_name.*.
It's Win7.
Title: Re: General Discussion
Post by: Xela on December 28, 2014, 08:43:45 AM
You're right... kinda odd, I am sure I did searches for parts of filenames inside of a namestring before...
Title: Re: General Discussion
Post by: DarkTl on December 28, 2014, 02:51:32 PM
My final update of tags concept. I handled all cases that I wanted to handle, let me know if I missed something important.

Now I could try to figure out how to deal with traits. Because items system should be rewritten for a start, like I said before.
Title: Re: General Discussion
Post by: Xela on December 28, 2014, 06:27:31 PM
My final update of tags concept. I handled all cases that I wanted to handle, let me know if I missed something important.

I don't care much as long as it results in something we can use in the code and a convenient tagging process. Current system is fine with me as well as long as we add the tags we'll need for the ST. Group/BDSM doesn't hurt but there are no plans to add them before the next release.

Now I could try to figure out how to deal with traits. Because items system should be rewritten for a start, like I said before.

Lets leave the system as it is for now (it does function well enough) until game takes more coherent shape. It's prolly wiser to adapt/rewtire it later, after ST/Crafting are working and we can determine what can break/hurt those concepts.

We need to wrap up new skills/ranks systems, make them work, integrate with ST and other modules, add some decent written content and release a beta to get some feedback. I feel like we're running in circles at the moment and I really, REALLY want us to break out of rewriting the code/complicating and advancing logic.
Title: Re: General Discussion
Post by: Dusk on December 28, 2014, 08:41:39 PM
Oh, by the way, if you'd like, I can supply some pictures and/or music for this project as well.
Title: Re: General Discussion
Post by: DarkTl on December 29, 2014, 01:36:00 AM
It depends. All pictures that are simple to find we already found (like those from deviantart, for example). Finding more good pictures requires browsing specific places, like artists blogs or foreign sites that don't have an english version.
Find a good music, preferably without intelligible lyrics to avoid breaking the forth wall, will be much easier for you.


===================================================================================
What I currently have in my software:
- you can select a folder via standart windows opening dialogue;
- there is a list of files that shows only jpgs, jpegs and pngs, and preview panel that shows picture (and resize when needed to show it completely);
- delete option that deletes currently selected file on spot;
- purge option that removes all tags and set all filenames by default for retagging from the scratch;
- checking procedure that analyzes filename and determines if it's correct or not, ie start with a valid hex number, then go tags divided by "-". It also checks if tags themselves are known.
- normalizing procedure that checks all files in the folder, and if there are filenames that are not correct for any reason, it renames them by giving the smallest available hex number+extension.
- filenames will always be unique. All system exceptions are handled, no critical errors and CTDs.

It's not an actual tagger so far, more like a tool for simplier tagging. I can add tagging options, but we'll see if Xela or living will manage to make a working tagger for a start  :)
Title: Re: General Discussion
Post by: MuteDay on December 29, 2014, 02:42:39 AM
I might also give ya some programs if you can get me a list of features you need
Title: Re: General Discussion
Post by: DarkTl on December 29, 2014, 05:20:42 AM
Nah, I can code it myself. I'm just not sure if I should.

If you want to help with coding, get yourself familiar with the game code. It's not easy, I keep asking Xela to write a complex quest with detailed comments so that anyone could understand how to make basics, but to no avail so far  :)

If you don't know where to start, try to understand how items system works. Then you will be able to help us to improve it.
Title: Re: General Discussion
Post by: Xela on December 29, 2014, 06:56:39 AM
Nah, I can code it myself. I'm just not sure if I should.

Do you want me to finish the Ren'Py tagger? Please decide if you're going to finish the Delphi one...

Nah, I can code it myself. I'm just not sure if I should.


If you want to help with coding, get yourself familiar with the game code. It's not easy, I keep asking Xela to write a complex quest with detailed comments so that anyone could understand how to make basics, but to no avail so far  :)

I am going to start writing a special label today, showing off some of the options and leaving comments. I did tell you to take a look at the frog quest, didn't I? It has plenty of examples and is perfectly valid as a complex quest.

If you don't know where to start, try to understand how items system works. Then you will be able to help us to improve it.

Improve how... It's already very good, noone ever complained about items. We need to adapt items, traits and character to the skills system.
Title: Re: General Discussion
Post by: DarkTl on December 29, 2014, 08:10:21 AM
I don't know. Living promised us a tagger, remember? I just wrote a tool for sorting  ::)
Maybe he will apply algorithms that I developed too.

Anyway, you should take a look at tags for a start, maybe you disagree with something there.


We discussed flaws of the current items system like 3 times already, it becomes anecdotal. Let me know when you actually will be ready to change the code there, not just talk about it  :D
Title: Re: General Discussion
Post by: Xela on December 29, 2014, 08:51:07 AM
Anyway, you should take a look at tags for a start, maybe you disagree with something there.

I have, it seems fine.

We could start all tagging with two tags:

nsfw
clean

and than work up unfolding relevant categories.

We discussed flaws of the current items system like 3 times already, it becomes anecdotal. Let me know when you actually will be ready to change the code there, not just talk about it  :D

I forgot all three times :(

Tell me what you believe that needs to be changed. Thewlis can do that as well, the thing is that I am happy with the system as it stands and never heard anything to the contrary during the Alpha release from players (not once). If you want something specific done, write what and how exactly and Thewlis or I will take care of it.

Otherwise I have no idea what to do there other than maybe make a better drag/drop interface.

*I am aware that out auto-buy and auto0equip systems no longer work properly with the new skills systems but it's not hard to adapt and it would really help if you/CW adjusted the files to skills so it could be tested while being developed.
Title: Re: General Discussion
Post by: DarkTl on December 29, 2014, 01:00:54 PM
We could start all tagging with two tags:

nsfw
clean
It's more complicated. There are cases when all or almost all pictures are nsfw because it's natural for the character according to the source. One of the best examples is my slime rmg pack, you can take a look.
Either we need a separate tag for it, or use both of them at the same time.
Title: Re: General Discussion
Post by: Xela on December 29, 2014, 01:06:42 PM
It's more complicated. There are cases when all or almost all pictures are nsfw because it's natural for the character according to the source. One of the best examples is my slime rmg pack, you can take a look.
Either we need a separate tag for it, or use both of them at the same time.

nsfw I prolly should have explained. It should only contain pictures with explicit nudity and/or sexual/bondage content.

There shouldn't be any packs without normal pics... and even if they are, these two tags would still be a good way to start any tagging process.

*You asked what I thought was missing, imo it's this.

=================
I am trying to make a guide but it's going slowly, apparently I forgot how to manage some stuff in Ren'Py script myself :D Back on track now... for now there will be a guide on how to show imaged in VN and get character to speak...
Title: Re: General Discussion
Post by: DarkTl on December 29, 2014, 01:39:43 PM
Oh, by the way, if you'd like, I can supply some pictures and/or music for this project as well.
You know, we always could use more pictures for backgrounds, both indoors and outdoors.
They should have high enough resolution (at least 1024x768, but more is better).

The problem is that you cannot use google pictures, deviantart and g.e-hentai, because we already have all that they can give.

nsfw I prolly should have explained. It should only contain pictures with explicit nudity and/or sexual/bondage content.

There shouldn't be any packs without normal pics... and even if they are, these two tags would still be a good way to start any tagging process.
That bothers me for some time. All my packs have at least some safe pictures. But if we tag all nude ones as nsfw ones because they are from our point of view, there will be only a few safe pictures, ie little diversity. And we can't really tag them as safe too.

There are special cases (monsters or androids) when nude body is natural and common because they cannot wear clothers, or on the contrary when a nude body is safe for work from our point of view.

The latter case is safe+without clothes tags. But I'm not sure what to do with the first one. Should we agree with little diversity or use a special tag for them? I don't know.
Title: Re: General Discussion
Post by: Xela on December 29, 2014, 02:17:57 PM
We must approach the problems from common perspective. Without a denominator, we can't work a game like this.

Special cases are just that, special. There is always a few clean pics out there. Even if there isn't, we can leave some characters out of the game.
Title: Re: General Discussion
Post by: livingforever on December 29, 2014, 03:31:16 PM
Yo!
Just checking in to confirm that I'm still alive, although I got nearly nothing done for this project in the past month (sorry for that, I know everyone has other priorities but I really didn't do much recently).
As for the near future, I have two important projects open, but they should both be concluded by mid january.

And @DarkTI:
Effort is almost never a bad thing, so yeah, good job for doing something (unlike me), but I have everything you listed so far already implemented (platform independant) - except for a simple purge procedure, which should be a matter of minutes.

Merry Christmas and a happy New Year!
Title: Re: General Discussion
Post by: Xela on December 29, 2014, 05:53:47 PM
Happy NewYears :)

I made a simple and very well commented tutorial on how to add content to PyTFall. For now it's just the basics like getting to VN sprites, writing texts, moving sprites around, handling menus, setting up flags, storing variables, showing backgrounds and clearing screens. Some other stuff like difference between call/jump and different scripts used in the game is also very, very well explained. Feel free to fix grammar/spelling/code errors and/or add stuff to it, anything that anyone can contribute like new events, quests, well commented examples on handing items/skills/stats/traits, adding NPCs, battle scenarios and etc are more than welcome :)

(http://s15.postimg.org/yphgfs3xz/2014_12_30_0_42_44.jpg) (http://postimg.org/image/yphgfs3xz/) (http://s15.postimg.org/k7oulj20n/2014_12_30_0_43_07.jpg) (http://postimg.org/image/k7oulj20n/)
Title: Re: General Discussion
Post by: DarkTl on December 30, 2014, 10:39:33 AM
Happy New Year!

I made a simple and very well commented tutorial on how to add content to PyTFall.
I'll check it, thanks.

Effort is almost never a bad thing, so yeah, good job for doing something (unlike me), but I have everything you listed so far already implemented (platform independant) - except for a simple purge procedure, which should be a matter of minutes.
Cool! I was kinda bored, and coding for yourself is fun, so I spent a couple of evenings on it, meanwhile I found out how case sensitive the game is during reading tags from filenames (not a good thing, really).
Title: Re: General Discussion
Post by: DarkTl on December 30, 2014, 11:20:24 AM
Alright, items.
1) I'll need to adapt them to new skills system, I know. But before that...
2) Non-weapon types of weapons, like the famous dildo sword. And various limitations, like no big weapons for peacful occupations, except Non-weapon ones. I recall you wanted to implement it, but I don't remember if you did.
3) Loot items. Same here, I recall you wanted to implement them, but you never mentioned here that you did.
4) Items that cannot be unequipped by girls once you managed to equip them. Like shackles and stuff. Very useful for ST.
5) Sex toys. Like, you know, plugs and vibrators. SM3 uses them a lot. The problem is, you can wear them no matter what, so we probably need new slots for them.

I think you (or admins?) deleted old threads where we discussed problems with items tracking. Nevermind, I'll try to formulate a better concept for items.
Title: Re: General Discussion
Post by: Xela on December 30, 2014, 03:46:52 PM
2) Non-weapon types of weapons, like the famous dildo sword. And various limitations, like no big weapons for peacful occupations, except Non-weapon ones. I recall you wanted to implement it, but I don't remember if you did.

I did, there should be a guide (simple rule) on how to implement that somewhere. If we can't find it, I'll write a new one, it should be really simple.

3) Loot items. Same here, I recall you wanted to implement them, but you never mentioned here that you did.

I didn't (or at least not properly), I did post that I'll do this after next release. Gold drops will do for now.

*It should be noted that they don't really require extra items code, just content and logic (like a place to see them, making sure that they are filtered, cannot be equipped and etc.).

4) Items that cannot be unequipped by girls once you managed to equip them. Like shackles and stuff. Very useful for ST.

You know as well as I that PyTFall is not SM or Valet. You can't expect to be able to equip any character with an item like that because many characters are free. Forcing a free girl to be equipped with such item in the middle of Fighters Guild or even brothel with other characters present must carry consequences that depend on characters, location, strength, traits and other sh!t like that. It's too messy and too much.

Otherwise, I believe that Thewlis already made some items like that for ST. They add new traits that modify behavior and runaway chances during training. Slaves cannot manage their inventories anyway so they cannot unequip anything...

In any case, this sounds like ST thing. It's a whole different discussion and not relevant to items code.

5) Sex toys. Like, you know, plugs and vibrators. SM3 uses them a lot. The problem is, you can wear them no matter what, so we probably need new slots for them.

At least partly, this is also about behavior and influence in the world. I doubt that warriors should be able to fight at 100% with a large dildo up their butts. I have these concerns about some items already, so I really don't feel like adding more to that list.

*Once again: "SM uses them a lot" == SM is a game with a more limited concept/environment. I am slightly intoxicated atm but this seems like something we need to consider before implementing... it may require too many flags and if/elif forks for this to make sense in the game as a whole.

I think you (or admins?) deleted old threads where we discussed problems with items tracking. Nevermind, I'll try to formulate a better concept for items.

Nothing has been deleted. It's either archived or still there as the original thread.
================================================================================================

Out items concept is better than decent, it's good... We have so much on the plate and so much planned already and you want to advance it now??? I can't understand why :(

We'll have to review it after we're done with ST and SE, in my mind, at least twice:

1) When we have agreed on final format of battles so we can integrate weapons + items usable during battles.
2) When/If we include crafting into the game.

3+) If after 1.0 release, we decide not to drop this and work on a new design, we may decide to simple make items system more interesting/interactive/DragDrop and etc.

* My two points are:

- Items system that we have now is very good for it's purpose.
- We'll have to review it in not so distant future.
Title: Re: General Discussion
Post by: DarkTl on December 31, 2014, 02:01:43 AM
You can't expect to be able to equip any character with an item like that because many characters are free.

Slaves cannot manage their inventories anyway so they cannot unequip anything...
I mean slaves only, of course.
So even if you have a 100% loyal slave that works for you for years, you still cannot allow her to manage her own inventory as she likes? Isn't it an overkill?

Perhaps it would be better to lock/unlock slots though. So that player decides which slots trained slave can manage by herself and which cannot.

I also remind you about our recent discussion that you can take untrained slaves to other places as long as they have a special collar equipped. Meaning that even player cannot remove it anytime and anywhere.
this seems like something we need to consider before implementing... it may require too many flags and if/elif forks for this to make sense in the game as a whole.
Yup, I'm not sure myself how to handle it.
At very least it should be possible to use on slaves (you cannot and shouldn't really know if free girls use toys or not, realistically). So perhaps it should be slaves-only items slots, or even flags of some kind.

Nothing has been deleted. It's either archived or still there as the original thread.
Search cannot find my own posts that I clearly remember. Perhaps something is wrong with it then.

We have so much on the plate and so much planned already and you want to advance it now??? I can't understand why
I dropped some ideas during initial development, but I didn't forgot about them. An example, lingerie. In wm both lingerie and armor/dress use the same slot (and this is ridiculous). I excluded lingerie because I wasn't sure how to implement it the best way.
I'll wait for BE items review, alright.
Title: Re: General Discussion
Post by: Xela on December 31, 2014, 03:47:15 AM
I mean slaves only, of course.
So even if you have a 100% loyal slave that works for you for years, you still cannot allow her to manage her own inventory as she likes? Isn't it an overkill?

Perhaps it would be better to lock/unlock slots though. So that player decides which slots trained slave can manage by herself and which cannot.

I also remind you about our recent discussion that you can take untrained slaves to other places as long as they have a special collar equipped. Meaning that even

Well, I don't remember if it's possible but I may have left an option to enable slaves managing inventories...

Maybe... I'll think about locking/unlocking slots.

It was not decided (hopefully), I still hate the idea and believe that all untrained slaves should have limited movement... going to think about that a bit when my head is clearer :)

I also remind you about our recent discussion that you can take untrained slaves to other places as long as they have a special collar equipped. Meaning that even player cannot remove it anytime and anywhere.Yup, I'm not sure myself how to handle it.
At very least it should be possible to use on slaves (you cannot and shouldn't really know if free girls use toys or not, realistically). So perhaps it should be slaves-only items slots, or even flags of some kind.

I told you that I don't like ANY special equipment or clothing for slaves to be work in public. It should be forbidden by law in fear of them finding out how numerous they actually are.

Slaves shouldn't be completely under your control as well... it's not realistic either. No idea, we can add a slot for sex toys/lingerie (pointing out that those items are worn whenever appropriate) as you suggest but I (and hopefully we) don't really want a mess of slots either.

I dropped some ideas during initial development, but I didn't forgot about them. An example, lingerie. In wm both lingerie and armor/dress use the same slot (and this is ridiculous). I excluded lingerie because I wasn't sure how to implement it the best way.
I'll wait for BE items review, alright.

Yeah... try to double that to our items thread. It will at the very least be easier to find in the future!

======
We need to review training (Schools), Jobs, items, traits and other checks to work with new skills system... maybe Thewlis can take care of schools and ST, I'll do the jobs/any events and you/CW can take out items/traits?

Title: Re: General Discussion
Post by: DarkTl on December 31, 2014, 04:36:22 AM
I told you that I don't like ANY special equipment or clothing for slaves to be work in public. It should be forbidden by law in fear of them finding out how numerous they actually are.
Nah, I countered this argument before. Special equipment is for untrained slaves only, and it shouldn't be super visible either.

Slaves shouldn't be completely under your control as well... it's not realistic either
Yeah, that's a tough choice. Either to allow them to run away sometimes (checks everywhere), use special equipment with major penalties to prevent running away (not realistic, but simple), or exclude them from everything unless training is completed (boring).
--------------------------------------------------------------------------------------------------------------------------------
I have some ideas about centralized, less chaotic traits system, though I wonder how many players would oppose the idea of using japanese terms to describe characters. If we need to disassemble ~dere traits [irony]and use simple, short words only[/irony], then the whole current traits checks system is useless.
Title: Re: General Discussion
Post by: Xela on December 31, 2014, 08:23:55 AM
Nah, I countered this argument before. Special equipment is for untrained slaves only, and it shouldn't be super visible either.

Right... it's still an ST issue more than items one.

I have some ideas about centralized, less chaotic traits system, though I wonder how many players would oppose the idea of using japanese terms to describe characters. If we need to disassemble ~dere traits [irony]and use simple, short words only[/irony], then the whole current traits checks system is useless.

For the last 5 month I've felt trapped by concepts we took from different games and overcomplicated logic in use right today as a result or simply a consequence of our own choices.

Trying really hard to avoid the trap, looks like we've, at least partly, failed to fall into the same trap as OW (and many other games). Which is improving stuff that already works well instead of making new and interesting content.

I don't think a system like WM traits should be used in PyTFall because (for example) a trait like MindBroken (Insane) and BigBoobs cannot stand side by side as one completely breaks and changes all jobs, events and interactions and then other is fairly mundane... MindBroken should by the way be removed from the game, it's too costly to work with in development terms. It's also VERY hard to keep track of during development, at least for me.

I've had a development epiphany when writing examples demo couple of days ago, that in two years we haven't created one events using quest sprites (old Tifa meeting script was removed), something that I've felt is going to be one of the best trump cards of PyTFall when compared to other (similar) games. Instead we're working on improving systems/logic that worked just fine for all our purposes... stats, items, traits, skills, tags... none of these has failed us during Alpha release.

=================
I'll fully support you if you decide to kill traits system and come up with a more manageable variant of it, as long as it's the last time we do this... I cannot believe that a lot of players would oppose Japanese names as long as it's well documented. Also we should move body-traits off main traits system, personality should not be considered a perfect fit either (it cannot be done in game of our size and for the amount of characters we have. Also many thing can be straightened out with unique content). Also an option exists to borrow simpler personality types from AA for example.

Other stuff, like Kleptomaniac that doesn't really define the character should be moved to simpler flags system and used accordingly.

*Other option is to leave the system as it is and work with what we have but remove game-breaking traits like MindBroken. It more or less works and will work in the future. There is already plenty of content written for them as well that would not have to be changed. We can also logically split trait groups in code. This is something you must decide because like it or not, you'll have to do most of the work adapting the content. If this was up to me atm, I would have left everything as it is and started to work on more important stuff because I cannot take stalling development for "better" logic any longer :(
Title: Re: General Discussion
Post by: Xela on December 31, 2014, 09:37:24 AM
I've updated examples file a bit, fixing some mistakes and adding a couple more explanations. Doesn't look that I can get anything else done tonight :)

(http://s16.postimg.org/5e7t19fv5/2014_12_31_16_30_49.jpg) (http://postimg.org/image/5e7t19fv5/) (http://s16.postimg.org/3norzryc1/2014_12_31_16_32_11.jpg) (http://postimg.org/image/3norzryc1/) (http://s16.postimg.org/7y3fvd3f5/2014_12_31_16_32_52.jpg) (http://postimg.org/image/7y3fvd3f5/) (http://s16.postimg.org/e0b2lurv5/2014_12_31_16_33_06.jpg) (http://postimg.org/image/e0b2lurv5/) (http://s16.postimg.org/jprb65y1d/2014_12_31_16_34_52.jpg) (http://postimg.org/image/jprb65y1d/)
Title: Re: General Discussion
Post by: DarkTl on December 31, 2014, 10:27:16 AM
MindBroken should by the way be removed from the game, it's too costly to work with in development terms. It's also VERY hard to keep track of during development, at least for me.
Here we go, cutting good content from the game  ::)
That's not how you do it. Let's be realistic, you would never allow an insane girl to work with customers or fight at arena alone, unless you are insane as well. At least yandere could be controlled to some point, unlike insane ones without a mind as such. Remember JoNT, when you break girls completely, they become almost worthless.

I believe they can follow only the simplest orders, they cannot even be decent cleaners because they could break stuff for example. They should not have high ranks available, and skills/stats should grow very slowly. I guess you don't even have to pay them much, though they should be unable to feed themselves if you don't pay them, so they will die quickly.

Basically, we don't need to track them too much or write many events for them, because they are not persons. Many things should be simply unavailable to them, including normal conversations. In fact, they should be ignored by almost all systems, unless said otherwise.

Now, why we cannot just remove all this and forget about it forver?
- There are a lot of insane characters. Destroying this option will leave them out of the game forever.
- We cannot really use major physical deformities for many reasons. But at least we can use madness to make characters useless when needed.
- This is one of consequences of too excessive slave training in WM and JoNT, and in our case probably too. No madness means permissiveness.
- I expect mind controlling system at some point. WM developers originally wanted to add it, and it's an interesting idea. So behavior of controlled characters is very similiar to insane ones.
* Note that by insane I mean mindless and indifferent, not dangerously unpredictable.

*Other option is to leave the system as it is and work with what we have but remove game-breaking traits like MindBroken. It more or less works and will work in the future.
Like you said, traits are alien concept for our game. I agree completely, we just didn't have a choice when we began development. Creating detailed concepts for months before even starting to code is a bad idea for pure indie projects, like I've seen many times before.

Moreover, I feel like using separate body slots (ie gloves+armor/dress+boots) is a bad idea. How ofter people wear running shoes with evening dress? Probably never.
Title: Re: General Discussion
Post by: Xela on December 31, 2014, 12:29:18 PM
Here we go, cutting good content from the game  ::)
That's not how you do it. Let's be realistic, you would never allow an insane girl to work with customers or fight at arena alone, unless you are insane as well. At least yandere could be controlled to some point, unlike insane ones without a mind as such. Remember JoNT, when you break girls completely, they become almost worthless.

I believe they can follow only the simplest orders, they cannot even be decent cleaners because they could break stuff for example. They should not have high ranks available, and skills/stats should grow very slowly. I guess you don't even have to pay them much, though they should be unable to feed themselves if you don't pay them, so they will die quickly.

Basically, we don't need to track them too much or write many events for them, because they are not persons. Many things should be simply unavailable to them, including normal conversations. In fact, they should be ignored by almost all systems, unless said otherwise.

Now, why we cannot just remove all this and forget about it forver?
- There are a lot of insane characters. Destroying this option will leave them out of the game forever.
- We cannot really use major physical deformities for many reasons. But at least we can use madness to make characters useless when needed.
- This is one of consequences of too excessive slave training in WM and JoNT, and in our case probably too. No madness means permissiveness.
- I expect mind controlling system at some point. WM developers originally wanted to add it, and it's an interesting idea. So behavior of controlled characters is very similiar to insane ones.
* Note that by insane I mean mindless and indifferent, not dangerously unpredictable.

JoNT is also a very limited concept... I wonder what happens when you put a broken girl as an assistant there, will she do the job (special assistant texts/events)? Did Huntsman include an if fork at least for that?

We can also remove it and forget about it forever and still have a great game. I don't believe that I can recall a single insane character I would miss. Indifferent is not what I meant with Insane/MindBroken.

*********
Read through your post carefully, in order to keep them in the game we have to:
- Adjust jobs to them (per job! and often per job event!) or prevent them from being assigned
- Same thing for the Arena
- Track their worth based on it
- Modify stats/skills development and have special limits for them
- Come up with a routine that must happen if a high ranked girl becomes insane (I am not sure how to handle that within all the rest of relevant logic)
- Have special reactions of clients where appropriate
- Have special upkeep routines (not able to feed themselves), possibly leading to death
- Have special cases for girlsmeets (we already have a few)

= What do you mean by "ignore them" more specifically? Because I have no clue what you mean here. Not show them in girlslists? That is the same as not having them in the game. Not allow to assign jobs so they are resting all the time? Not allowing to send them to schools? Not to take them to the city in players team? That all requires checks and a lot of checks. All over the (tens) thousands of lines of code that we have in the game. Also during the content... I want to write an event that takes place with the girls that are available in an area (for girlsmeets), that's why I mentioned it actually... I also wanted to write an event for the team members that are on players team near the beach (go swimming for random events and constitution bonuses). There are no traits that f*ck those up nearly as much as "insane" traits :(

It's almost impossible to write random content for the game if you need to think about stuff like that all the time. Same with slaves that can runaway and you could potentially place on your team... functions with checks would be requires, if/else forms with special cases texts even for simple events.

In my mind having it in the game such as ours is absurd... and I think that my arguments are perfectly logical and valid because I cannot see what we're getting out of messing with all of that extra, messy and intrusive code? A couple of insane characters inside of a game world that should be "ignored"???

Is it not better to create them as full characters and put them in as NPCs with special events in some asylum or something like that? I just can't figure out why a reasonable person argues in favor of putting so much work and messy code for the sake of something that I cannot even find a use for in the game :(

Like you said, traits are alien concept for our game. I agree completely, we just didn't have a choice when we began development. Creating detailed concepts for months before even starting to code is a bad idea for pure indie projects, like I've seen many times before.

Agreed... how do you want to handle it and when? I'd once again suggest that we release next version with current traits system since it's well integrated into the game and recoding the whole thing will take a long time.

We can open a new thread and come up with a concept for whatever we replace traits with there and code it in after the next release.

Moreover, I feel like using separate body slots (ie gloves+armor/dress+boots) is a bad idea. How ofter people wear running shoes with evening dress? Probably never.

Yeah, but it's not really new in PyTFall. Many games allow that and are great in every aspect.
Title: Re: General Discussion
Post by: livingforever on December 31, 2014, 06:33:10 PM
I feel like this is a very important quote:
* Note that by insane I mean mindless and indifferent, not dangerously unpredictable.
You're talking about two different kinds of insane. I tend to agree with Xela's definition, mindless isn't insane, it's mindless.
Have fun!
Title: Re: General Discussion
Post by: Xela on December 31, 2014, 07:37:29 PM
Shift+O for console.

Code: [Select]
for i in traits:
    devlog.info("%s: %s" % (i, traits[i].desc))

INFO     PyTFall 0.51 Slaver's Bay Collected: This girl is able to stay calm and composed under most circumstances.
INFO     PyTFall 0.51 Slaver's Bay Merciless: Once she starts, she doesn't stop. No matter what.
INFO     PyTFall 0.51 Slaver's Bay Not Human: This girl is not human.
INFO     PyTFall 0.51 Slaver's Bay Lucky: Sometimes the Universe just seems to be on her side.
INFO     PyTFall 0.51 Slaver's Bay Broken: Her spirit was broken during obedience training.
INFO     PyTFall 0.51 Slaver's Bay Disobedient: She has been very disobedient during her training lately.
INFO     PyTFall 0.51 Slaver's Bay Professional Maid: Dirt and disorder don't stand a chance against her skills!
INFO     PyTFall 0.51 Slaver's Bay Restrained: She has been restrained to prevent her from running away.
INFO     PyTFall 0.51 Slaver's Bay Former Assassin: This girl has had training to kill - just name a price.
INFO     PyTFall 0.51 Slaver's Bay Shy: She is nervous and afraid to speak her mind sometimes.
INFO     PyTFall 0.51 Slaver's Bay Fragile: This girl is fragile and gets hurt or tired easily.
INFO     PyTFall 0.51 Slaver's Bay Adventurer: This girl loves adventures.
INFO     PyTFall 0.51 Slaver's Bay Magic Gift: There is a little spark of magic within her soul.
INFO     PyTFall 0.51 Slaver's Bay Sadistic: She enjoys inflicting pain, or watching it inflicted.
INFO     PyTFall 0.51 Slaver's Bay Tomboy: She is boisterous and wild, but sometimes she is charming in her own way.
INFO     PyTFall 0.51 Slaver's Bay Long Legs: The legs on this girl go all the way to heaven.
INFO     PyTFall 0.51 Slaver's Bay Mind Fucked: This girl is gone in the head. She will be compliant with anything.
INFO     PyTFall 0.51 Slaver's Bay Clumsy: This girl often makes mistakes. Maybe she will learn in time.
INFO     PyTFall 0.51 Slaver's Bay Curious: This girl is very inquisitive.
INFO     PyTFall 0.51 Slaver's Bay Easy to Reward: She is carrying equipment that makes it easier to reward her.
INFO     PyTFall 0.51 Slaver's Bay Half-Sister: This girl has one parent in common with you
INFO     PyTFall 0.51 Slaver's Bay Combat Training: This girl has been trained to fight with a weapon of some sort.
INFO     PyTFall 0.51 Slaver's Bay Malicious: If there is a way to do harm to someone, she will find it.
INFO     PyTFall 0.51 Slaver's Bay Ill-mannered: This girl is rude, arrogant and bossy under most circumstances.
INFO     PyTFall 0.51 Slaver's Bay Unlucky: Anything that can go wrong will go wrong.
INFO     PyTFall 0.51 Slaver's Bay Obedient: She has been very obedient during her training lately.
INFO     PyTFall 0.51 Slaver's Bay Strict Morals: She upholds and lives by high moral standarts.
INFO     PyTFall 0.51 Slaver's Bay Protective: This girl is quite caring, parential and emotionally mature.
INFO     PyTFall 0.51 Slaver's Bay Energetic: This girl is very active and vigorous.
INFO     PyTFall 0.51 Slaver's Bay Extremely Jealous: She is very possessive and can't stand the thought of any competition.
INFO     PyTFall 0.51 Slaver's Bay Lesbian: This girl prefers women to men.
INFO     PyTFall 0.51 Slaver's Bay Easy to Punish: She is carrying equipment that makes it easier to punish her.
INFO     PyTFall 0.51 Slaver's Bay Kind: She is happy as long as she is able to help to anyone.
INFO     PyTFall 0.51 Slaver's Bay Meek: She is really soft and meek.
INFO     PyTFall 0.51 Slaver's Bay Impersonal: Almost completely devoid of emotion, mainly relying on logic.
INFO     PyTFall 0.51 Slaver's Bay Average Boobs: Her boobs are somewhere in the B-C cup range. Any classy guy will say that this is the ideal size.
INFO     PyTFall 0.51 Slaver's Bay Old Scars: This poor girl has some scars.
INFO     PyTFall 0.51 Slaver's Bay Exhibitionnist: She doesn't hide anything. At least physically.
INFO     PyTFall 0.51 Slaver's Bay Serious: This girl doesn't joke around.
INFO     PyTFall 0.51 Slaver's Bay Pervert: This girl is seriously nasty.
INFO     PyTFall 0.51 Slaver's Bay Magic Talent: This girl has very strong powers within her body. Be careful you don't give her too much trouble.
INFO     PyTFall 0.51 Slaver's Bay Bisexual: This girl considers herself a bisexual.
INFO     PyTFall 0.51 Slaver's Bay Abnormally Large Boobs: One wonders how she keeps her balance. Those things are like miniature moons...
INFO     PyTFall 0.51 Slaver's Bay Alien: This girl has come from a distant dimension with absolutely other laws of physics, magic and society.
INFO     PyTFall 0.51 Slaver's Bay Tsundere: A person with a conceited, irritable, and, or violent personality who suddenly becomes modest and loving when triggered by some sort of cause.
INFO     PyTFall 0.51 Slaver's Bay Small Boobs: Her boobs may be small, but some people like that.
INFO     PyTFall 0.51 Slaver's Bay Big Boobs: This girl really has knockers.
INFO     PyTFall 0.51 Slaver's Bay Genius: Her mind is her strongest and ultimate weapon.
INFO     PyTFall 0.51 Slaver's Bay Sexy Air: Something about this girl is just so sexy. Everything she does is hot.
INFO     PyTFall 0.51 Slaver's Bay Smart: This girl has more brains than an average citizen for sure.
INFO     PyTFall 0.51 Slaver's Bay Outgoing: She is a natural born leader, negotiator, diplomat, and fast talker.
INFO     PyTFall 0.51 Slaver's Bay Fearless: She doesn't fear anything. Usually.
INFO     PyTFall 0.51 Slaver's Bay Iron Will: She is incredibly headstrong and stubborn.
INFO     PyTFall 0.51 Slaver's Bay Broken Will: This girl's will is broken and she is completely obedient.
INFO     PyTFall 0.51 Slaver's Bay Strange Eyes: Her eyes are unusual in some way.
INFO     PyTFall 0.51 Slaver's Bay Edgy: This girl is very cowardly and jumpy.
INFO     PyTFall 0.51 Slaver's Bay Silly: When it comes to brain work, she usually takes her time.
INFO     PyTFall 0.51 Slaver's Bay Retarded: This girl is mentally retarded.
INFO     PyTFall 0.51 Slaver's Bay Great Figure: This girl has a really good figure.
INFO     PyTFall 0.51 Slaver's Bay Athletic: This girl is tough and has trained a lot. Her body is in great shape.
INFO     PyTFall 0.51 Slaver's Bay Dandere: A person who is normally quiet and silent, to the point of coming across as emotionless at times, because of extreme social aloofness.
INFO     PyTFall 0.51 Slaver's Bay Elegant: She's got style and flair, every single movement of her perfectly gracious.
INFO     PyTFall 0.51 Slaver's Bay Pessimist: All it takes is one thing to send her mood down into the pits of the abyss.
INFO     PyTFall 0.51 Slaver's Bay Manly: This girl is very muscular. Perhaps even too muscular.
INFO     PyTFall 0.51 Slaver's Bay Aggressive: You'd better don't mess with her, or else...
INFO     PyTFall 0.51 Slaver's Bay Kleptomaniac: She cannot resist taking a souvenir from every new place she visits.
INFO     PyTFall 0.51 Slaver's Bay Lolita: This girl looks very young for her age.
INFO     PyTFall 0.51 Slaver's Bay Psychic: This girl always seems to know what people want.
INFO     PyTFall 0.51 Slaver's Bay Great Arse: She has a really nice arse.
INFO     PyTFall 0.51 Slaver's Bay Artificial Body: This girl's body is not alive or real, it is a machine or has been created with magic.
INFO     PyTFall 0.51 Slaver's Bay Virgin: This girl has never had sex before.
INFO     PyTFall 0.51 Slaver's Bay Nymphomaniac: This girl loves the sex, but will have to learn to let the guy have his moment.
INFO     PyTFall 0.51 Slaver's Bay Noble: This girl comes from a notable family.
INFO     PyTFall 0.51 Slaver's Bay Famous: She is well known around.
INFO     PyTFall 0.51 Slaver's Bay Always Hungry: There is never enough for this girl's appetite.
INFO     PyTFall 0.51 Slaver's Bay Frigid: She mostly doesn't care about sex. It is waste of time, isn't it?
INFO     PyTFall 0.51 Slaver's Bay Well-mannered: This girl is polite, courteous and respectful to others under most circumstances.
INFO     PyTFall 0.51 Slaver's Bay Masochist: She gets sexual gratification from pain, deprivation, degradation, etc.
INFO     PyTFall 0.51 Slaver's Bay Yandere: A person who is initially very caring and gentle to someone they really like and care for a lot before their romantic devotion becomes mentally destructive in nature through violence or brutality.
INFO     PyTFall 0.51 Slaver's Bay Kuudere: A person who is cold, blunt and emotionless on the outside, but actually caring and nice on the inside.
INFO     PyTFall 0.51 Slaver's Bay MILF: This woman has had children before.
INFO     PyTFall 0.51 Slaver's Bay Sensitive: This girl's body is very delicate and responsive to stimulation.
INFO     PyTFall 0.51 Slaver's Bay Optimist: She is very cheerful and is rarely in a bad mood. She enjoys what she does, a lot.
INFO     PyTFall 0.51 Slaver's Bay Tough: This girl is tough. She can withstand many attacks.
INFO     PyTFall 0.51 Slaver's Bay Dawdler: This girl is certainly takes her time.
INFO     PyTFall 0.51 Slaver's Bay Dependant: This girl is rather dependant on other people for survival.
INFO     PyTFall 0.51 Slaver's Bay Loner: She likes being alone, and doesn't need other people around her to validate her own existence.
INFO     PyTFall 0.51 Slaver's Bay Heavy Drinker: She just can't hold her liquor.
INFO     PyTFall 0.51 Slaver's Bay Nerd: Bookish and unsocial, but overly intellectual.

In red is what I meant. MindFucked has a weird description, practically the same as for the green trait, I thought we had a completely different meaning for it.

In short, I dislike all traits that do not leave a chance of normal behavior during events/jobs and severely mess with code/game! We've already discussed traits that basically mean a certain stats value (high/low) as compared to other characters in the game (like genius).
Title: Re: General Discussion
Post by: DarkTl on January 01, 2015, 05:17:58 AM
Well, we cannot really use truly insane characters apart from yandere, because they should be unpredictable, ie have multiple unusual reactions for any possibe check. Now this is something we cannot afford indeed.

If we take a look at WM (where we took most of our traits from), girls could be broken after long enough training in the dungeon. But in order to lost mind they should be trained in the dungeon with low health (I don't remember, less than 20 I think) for some time. Basically be under torture near death.
As result, they don't just become insane or broken, more like they lose personality completely. I'd say they become living dolls, even more than actual dolls/androids, because Impersonal characters have logic at least.
Its description doesn't reflect its meaning properly, I agree.

JoNT is also a very limited concept... I wonder what happens when you put a broken girl as an assistant there, will she do the job (special assistant texts/events)? Did Huntsman include an if fork at least for that?
You can't do it of course. They don't have a mind, this would be ridiculous.

= What do you mean by "ignore them" more specifically? Because I have no clue what you mean here.
Ok, I can explain why do I think that mindless state is useful.

- There are truly insane characters, not even yandere. We cannot use them such as they are (too much work), but we can tell that their mind finally collapsed, and they became like this. In fact, I already did it in some packs.

- There should be one main trait that describes character personality and excludes all other main traits. It's quite simple really, characters are not that complex anyway. It could be tsundere or indifferent. Or it could be mindless.
Mindless is something like neutral elemental in our magic system.

- Mindless is not an absolutely permanent state. Via quests or items, or after some time girl's personality may return. Note that her old personality (if existed) is lost forever, so the new personality will be random. That's how I want it, at least.

- If you overdo with slave training, what should happen if you don't have a mindless trait? Death every time? Because there is no an alternative, really.

- Characters cannot lose a limb or get a huge scar, images don't support it. So far they can only die, no middle ground. Mindless is the middle ground.

Even if you don't want a mindless trait, we need a mindless state of some kind anyway for some of the cases above.

Now to reduce the number of checks, I propose:
- perhaps create another class for them? And move characters between classes when needed? I don't know if renpy supports it.
- no jobs for them. Only MC (and other girls in the future) can interact with them. Ie try to talk, have sex, go on a date (it's not really a date without a mind, more like walking).
- no leveling or increasing stats without a mind. Worth = charisma, like in JoNT. In theory, you could buy a mindless slave, heal her and sell for more even without training.

Btw it's a great way to influence MC's alignment. If you pick up mindless characters, feed them and help them to heal, you are a good guy. If you rape them like there is no tomorrow, enslave and sell them, you are a bad guy.
And of course there should be events when characters lose ranks. This is just another one of them.

Yeah, but it's not really new in PyTFall. Many games allow that and are great in every aspect.
I feel like it would be better to have more armors/dresses than have three parts of every armor/dress. And use other slots for lingerie and toys instead of boots and gloves.
Title: Re: General Discussion
Post by: Xela on January 01, 2015, 06:59:08 AM
...

I kinda understand what you're saying but still can't see added gameplay value vs effort benefit.

Even if we do this, it's too early, we do not have "personality types" atm. Quest, timers, conditions and etc. to return and get a new personality requires better personality handling than we have now.

To answer your question on ST, I explained about mind/mood states and how I wanted to handle it with flags in general and auto-transfer to picking mood tags for images (right now that only happens based on joy stat). If you overdo it with training, girl should get an indifferent picture until counter resets itself if she's left along (maybe 20 - 40 days at random). She would respond to any interaction with "..." and since that can only happen in ST module, she cannot be put on the team/be released from it in that state. It would not require any interference code. This would be my plan after code base would be ready for it.

Characters can loose a lot of health, they can max out fatigue and it would be easy to remove them from a game to a hospital for x amount of days in case of serious injuries. That is once again, far less intrusive that a characters with "special needs" that is completely exposed to the gameworld. So there are alternatives and middle ground. Also, at some point, I want characters to take personal time off, they can't work at just getting short weekend holidays to restore fatigue for years and years without decent vacation/personal time off every now and then. Especially the free girls.

I agree with alignment but even though we have the stat, we do not track it yet.

***
Just so we're clear, because this has happened before. Often you argue for stuff like this to be introduced at some point in the future but never put that in your posts. I don't mind getting complex, unique cases into the game once it's core takes shape and we have base modules, stats/skills/personality/relationship/alignment/world logic setup with in some (more or less) finalized version.

Trouble is that these special cases can mess with potential future development like nothing else can if introduced today :( We need simpler, pure gameflow while we're building up logic and content... I have many of these ideas, but most of them will just mess up the code, hinder (or slow down) future development and will return very little gameplay value as opposed to stuff we should be working on right now (SE, ST, Interactions, Quests/Events).

I feel like it would be better to have more armors/dresses than have three parts of every armor/dress. And use other slots for lingerie and toys instead of boots and gloves.

It's kinda awesome looking for matching sets! Would make cool events too :)
Title: Re: General Discussion
Post by: DarkTl on January 01, 2015, 11:28:21 AM
we do not have "personality types" atm.
Yet. That's what the new traits system about.
Title: Re: General Discussion
Post by: Xela on January 01, 2015, 12:03:06 PM
Yet. That's what the new traits system about.

Yeah! I think we'll have main personalities + a list of traits that we have now (without comparative stuff like Genius) + get rid of stuff like BigBoobs (move it to hidden properties checked by the game internally).

Maybe it can even be done without butchering current traits logic, just adding single personality per girl/kill some traits. "Body" traits we can hide through an extra field from being displayed. This would prolly be perfect.

AA is built in a similar way and that seems like a decent design. Also it's something you can wrap your head around, I am having some serious trouble keeping all of the current traits in mind.
Title: Re: General Discussion
Post by: Xela on January 01, 2015, 02:53:24 PM
I've created ordered dicts for ranks and started filling them in but ran into an issue. We can't do that for jobs like Stripper... it will be too time-consuming.

I think we can go with something like:

"Sex Industry Workers"
"Service Industry Workers"
"Warriors"
"Entertainment Industry Workers"

We'll need short names for these to fit into NextDayScreen summary.

Sadly best I can come up with atm is:

Sex Ind.
Serv. Ind.
Warriors
Ent. Ind.
==========

We could also add more specific professions to use within the classes. All will prolly be strings, we can't add any more logic, there'll never be time to work on anything else if we do.

I am trying to figure out if this should be done now or can wait until we release post-alpha version.
Title: Re: General Discussion
Post by: DarkTl on January 01, 2015, 03:07:46 PM
Well, invisible traits is something I didn't considered yet, though we discussed hidden traits for "fresh" slaves.

You have to explain me why do you want obvious stuff hidden. I understand when we hide traits of personality because it's something you can't know from the start unless you are a psychic, but what's the point of hiding size of boobs?

In AA there is a certain number in characters editor, boobs size, and depending on it the game gives characters hidden traits, like our small, normal and big boobs. In some games, like SM3, they have boobs size in centimeters displayed, but this is something I don't want to bother with, even though it's possible to find it for most of characters, because of random characters if nothing else.

Comparative traits like Genius are a problem, yeah. But fast learner and slow learner effects, which are parts of genius and retarded traits, are much more useful. Either we need new traits for them, or we need an option to assign permanent effects without traits.
Title: Re: General Discussion
Post by: DarkTl on January 01, 2015, 03:50:17 PM
"Sex Industry Workers"
"Service Industry Workers"
"Warriors"
"Entertainment Industry Workers"
courtesans/hookers
attendants/servants
mercenaries/enforcers
artists/entertainers
Title: Re: General Discussion
Post by: livingforever on January 01, 2015, 03:55:23 PM
Hi!
We can't do that for jobs like Stripper... it will be too time-consuming.
Please explain that.
Have fun!
Title: Re: General Discussion
Post by: DarkTl on January 01, 2015, 03:59:09 PM
From that new thread about another wm remake,
Quote
Will allow players to change the name of slaves and give free girls nicknames
That's actually a great idea.
Title: Re: General Discussion
Post by: Xela on January 01, 2015, 04:31:41 PM
...

Why display obvious stuff if it is apparent from the pics? I don't mind either way...

We can rename the trait? Like Great Mind or something? it doesn't mean that a character is particular smart since great mind can be wasted.

From that new thread about another wm remake,That's actually a great idea.

That's not a problem, I'll cook up a screen tonight.

Please explain that.

We'll have a lot more jobs soon enough and making a rank per occupation is not acceptable, that's too much work.

We'll make ranks for general industries, stripper does not fit there. We have these four ranks because original concept only assumed four occupations.
Title: Re: General Discussion
Post by: livingforever on January 01, 2015, 04:54:41 PM
Hi!
We'll have a lot more jobs soon enough and making a rank per occupation is not acceptable, that's too much work.
Uhm, yeah, of course, I already had that covered.
I think we can safely ignore the different jobs and stick with the general occupations for the rank names.

We'll make ranks for general industries, stripper does not fit there. We have these four ranks because original concept only assumed four occupations.
Prostitute
Warrior
Stripper
Service Girl
You're propably right that stripper is questionable because it's too specific, but entertainer (or variations) doesn't describe the job, it's too general.
Maybe seductress would be a good option here.
The other three are suitable though (imho), so we only need to add male versions for seductress and service girl.
Have fun!
Title: Re: General Discussion
Post by: DarkTl on January 02, 2015, 04:54:06 AM
Do we want traits like kind/malicious, or there will be alignment stat for girls too?
Title: Re: General Discussion
Post by: Xela on January 02, 2015, 05:35:44 AM
Do we want traits like kind/malicious, or there will be alignment stat for girls too?

Alignments for girls> Prolly on overkill...
Title: Re: General Discussion
Post by: CherryWood on January 02, 2015, 07:41:42 AM
If traits are no good, I can only think of something games like sims have - personality described by set of stats with a range (like 1 to 5) determining how communicative, logical, refined, aggressive,etc. that character is. Doesn't sound like a win either...
Title: Re: General Discussion
Post by: DarkTl on January 02, 2015, 09:11:09 AM
Nah, traits remain, they just become more general. Characters are not real people, they are not too complex.
Title: Re: General Discussion
Post by: Xela on January 02, 2015, 12:45:57 PM
Yeah... we'll leave traits. We just need to split them in logical groups and clean them up. Like personality traits should be separated (and unified) and maybe even hidden from the player.
Title: Re: General Discussion
Post by: DarkTl on January 02, 2015, 01:49:09 PM
Should it be possible to set ranks in girls data files. Or, rather, can ranks even exist outside of MC's girls "community"? Like, can you find and hire high ranked girl?
Title: Re: General Discussion
Post by: Xela on January 02, 2015, 02:39:28 PM
Should it be possible to set ranks in girls data files. Or, rather, can ranks even exist outside of MC's girls "community"? Like, can you find and hire high ranked girl?

If we go with ranks, it should absolutely be possible or ranks would not make any sense.

I still haven't got my head wrapped around all off it completely, for example ranks for warriors in the guild and prostitutes in the brothel make sense but ranks for service girls who clean or bartend, or strip seem less important. It's like we're coming up with yet another way to complicate development for ourselves.

I've started this whole thing with ranks for a sake of ST module. So we'd have at least some goals for trainers to instruct girls towards. But I can't fit it into the game as plainly as I hoped it would fit.
Title: Re: General Discussion
Post by: livingforever on January 02, 2015, 06:10:27 PM
Hi!
I still haven't got my head wrapped around all off it completely, for example ranks for warriors in the guild and prostitutes in the brothel make sense but ranks for service girls who clean or bartend, or strip seem less important. It's like we're coming up with yet another way to complicate development for ourselves.
Correction: You are coming up with ways to overcomplicate things without adding any value. There is no good reason why the rank system shouldn't be applied for strippers and service girls.

Should it be possible to set ranks in girls data files. Or, rather, can ranks even exist outside of MC's girls "community"? Like, can you find and hire high ranked girl?
I don't think it should.
The rank means the girl's status within your organization, you don't hire a supervisor unless you don't have a qualified person among your employees already.
A character that is sufficiently qualified should be able to advance very quickly anyway.
Have fun!
Title: Re: General Discussion
Post by: CherryWood on January 02, 2015, 09:03:37 PM
I actually always thought that ranks are like more or less officialy earned status in the city that customers can orientate by. So lot of higher ranked girls existing in the city and having ranks for strippers and service girls didn't sounded wrong to me in the slightest...
Title: Re: General Discussion
Post by: Dusk on January 03, 2015, 03:50:57 AM
You know, we always could use more pictures for backgrounds, both indoors and outdoors.
They should have high enough resolution (at least 1024x768, but more is better).

Here's a few examples of what I have saved:
http://oi60.tinypic.com/v80ahh.jpg (http://oi60.tinypic.com/v80ahh.jpg) (Interior - Mansion)
http://oi60.tinypic.com/2ymyvjk.jpg (http://oi60.tinypic.com/2ymyvjk.jpg) (Outside - Night time)
http://oi61.tinypic.com/307uqgo.jpg (http://oi61.tinypic.com/307uqgo.jpg) (Outside - Underground City)
http://oi57.tinypic.com/6gd7o7.jpg (http://oi57.tinypic.com/6gd7o7.jpg) (Interior - Shop)
http://oi62.tinypic.com/20zcz82.jpg (http://oi62.tinypic.com/20zcz82.jpg) (Outside - Castle)
http://oi61.tinypic.com/k1at5f.jpg (http://oi61.tinypic.com/k1at5f.jpg) (Beautiful Close-up portrait)
http://oi59.tinypic.com/4lllz7.jpg (http://oi59.tinypic.com/4lllz7.jpg) (NSFW - Kitten Cosplay)

If needed I can photoshop some unwanted words out of pictures or cut out certain characters.  However, it should be noted that my skills in photoshop are very limited and thus should not be heavily relied on.  All of these pictures can easily have the words removed and their characters cut out without much trouble or mess.  I can always supply more pictures and music if needed (however I should point out that I've neither drawn nor created any music I provide though some may have been tweaked by me).
Title: Re: General Discussion
Post by: DarkTl on January 03, 2015, 09:18:54 AM
Yup, the two first pictures are what we need. Underground City is great too, though there is person standing on the left, but it could be removed easily.
Shop would be better without a clerk, castle is way too smeared and fuzzy compared to others.

We have no shortage of girls pictures though, both safe for work and naked  :)
Title: Re: General Discussion
Post by: Xela on January 03, 2015, 09:23:19 AM
I actually always thought that ranks are like more or less officialy earned status in the city that customers can orientate by. So lot of higher ranked girls existing in the city and having ranks for strippers and service girls didn't sounded wrong to me in the slightest...

Yeap, that's the idea.

It's not that strippers can't have them, it's there is a chance that we'll have 20 - 30 professions in the future, coming up with rank names and stat delimiters for all of them is not an option.
Title: Re: General Discussion
Post by: Xela on January 03, 2015, 11:03:26 AM
It is now possible to rename the (slave) girls and give all girls nicknames:

(http://s13.postimg.org/ybqsawm6r/2015_01_03_17_58_45.jpg) (http://postimg.org/image/ybqsawm6r/)

*I'll need to check the code to make sure we don't have any old dict counters that was based of names/fullnames instead of using object as keys.
Title: Re: General Discussion
Post by: livingforever on January 03, 2015, 11:32:52 AM
Hi!
It's not that strippers can't have them, it's there is a chance that we'll have 20 - 30 professions in the future, coming up with rank names and stat delimiters for all of them is not an option.
Let me try to clarify it once more: You already named the four general categories for professions. I already named the four general categories for professions. DarkTI already named the four general categories for professions.
The system I proposed was never intended to be used for every single profession - it is intended to be used for every category (regarding both rank names and values) because it doesn't matter if a prostitute is working on the street or in a brothel as long as (s)he is a good prostitute.

I actually always thought that ranks are like more or less officialy earned status in the city that customers can orientate by. So lot of higher ranked girls existing in the city and having ranks for strippers and service girls didn't sounded wrong to me in the slightest...
So this is why Xela wants to drop the reputation stat.
Essentially (simplified as much as possible) you want the rank system to be a reputation stat for every job category - and I completely disagree with that.
I mentioned the reasons earlier - it's repetitive, unincentivizing and therefore boring.

What I proposed is based on the open market and having limits for each rank makes perfect sense.
I don't want to explain the details of supply and demand here, so let me try to give you an example: If there are too many leadership persons in the city there is a strong competition between them. Eventually, some of them will either get pushed down the ladder by others or they will move out to an area with less competition.

In gameplay terms, that would mean to lose high ranked characters frequently (as soon as there are too many of them) - which would be insanely annoying for the player, which is why my proposed system simulates this behavior with hard limits for every rank. The player has full control over progression and regression, which is a hundred times better than automatic regression, which is ten times more interesting than strictly linear progression.
Have fun!
Title: Re: General Discussion
Post by: Xela on January 03, 2015, 12:17:20 PM
Let me try to clarify it once more: You already named the four general categories for professions. I already named the four general categories for professions. DarkTI already named the four general categories for professions.
The system I proposed was never intended to be used for every single profession - it is intended to be used for every category (regarding both rank names and values) because it doesn't matter if a prostitute is working on the street or in a brothel as long as (s)he is a good prostitute.

Yeah, that's exactly what I said... It's not a good idea to do this thing for every single profession.

So this is why Xela wants to drop the reputation stat.
Essentially (simplified as much as possible) you want the rank system to be a reputation stat for every job category - and I completely disagree with that.
I mentioned the reasons earlier - it's repetitive, unincentivizing and therefore boring.

What I proposed is based on the open market and having limits for each rank makes perfect sense.
I don't want to explain the details of supply and demand here, so let me try to give you an example: If there are too many leadership persons in the city there is a strong competition between them. Eventually, some of them will either get pushed down the ladder by others or they will move out to an area with less competition.

In gameplay terms, that would mean to lose high ranked characters frequently (as soon as there are too many of them) - which would be insanely annoying for the player, which is why my proposed system simulates this behavior with hard limits for every rank. The player has full control over progression and regression, which is a hundred times better than automatic regression, which is ten times more interesting than strictly linear progression.

I agree with CW that ranks needs to work on game level and not on player level as proposed earlier. We may move to city live and maybe even playing vs simple AI in the future and ranks can be a great part of that.

I want there to be 8 ranks in total, bottom three representing:

Novice, Intermediate, Expert levels of general classes. Advancements in those will be without any limitations in their amounts as long as the characters fit the requirement.

Rest will work along the lines of the system your proposed but the maximum will not depend on how many girls of the previous are in employment of the player but how many girls of the previous rank are their in the world. Those will also be VERY expensive and require VERY high stats if not achieved through quests/events.

In any case, that's how I am planning to work the system after the next release.

===
Tomorrow I am planning to put some time into the project, to fix autobuy/autoequip and take a look at ST.
Title: Re: General Discussion
Post by: livingforever on January 03, 2015, 12:45:33 PM
I agree with CW that ranks needs to work on game level and not on player level as proposed earlier.
First problem: You are actively taking away control from the player, which is a really bad thing to do in a simulation.
Random events that influence the rank are one thing, not giving the player options in the first place is completely different.

Novice, Intermediate, Expert levels of general classes. Advancements in those will be without any limitations in their amounts as long as the characters fit the requirement.
Second problem: Every character needs to be an expert before even getting to the lowest leadership rank.

Rest will work along the lines of the system your proposed but the maximum will not depend on how many girls of the previous are in employment of the player but how many girls of the previous rank are their in the world.
Third problem: That number should change severely every day, making any kind of prediction or strategy useless.
Fourth problem: Leading employees are magically related to the amount of people in the city. Neither prostitution nor arena combat is a part time job.

Those will also be VERY expensive and require VERY high stats if not achieved through quests/events.
Fifth problem: You are planning to harshly limit those ranks by number, money and stats. Damn, that's tedious.
Have fun!
Title: Re: General Discussion
Post by: Xela on January 03, 2015, 02:10:06 PM
First problem: You are actively taking away control from the player, which is a really bad thing to do in a simulation.
Random events that influence the rank are one thing, not giving the player options in the first place is completely different.
Second problem: Every character needs to be an expert before even getting to the lowest leadership rank.
Third problem: That number should change severely every day, making any kind of prediction or strategy useless.
Fourth problem: Leading employees are magically related to the amount of people in the city. Neither prostitution nor arena combat is a part time job.
Fifth problem: You are planning to harshly limit those ranks by number, money and stats. Damn, that's tedious.

1) Player cannot control everything in sim game with opponents, that doesn't make any sense. But if my way doesn't work out, it can be easily adapted to work differently.
2) I never said anything about leadership ranks. Also I don't understand why.
3) That's a good point... well, not based off total amount of characters in the world than. Maybe a good option is to allow a specific amount of promotions when you buy a business. As characters are promoted, points are spent...
4) Arena combat can be... but this can be straitened out with a proposed option to solve 3.
5) True, but it's not too bad with only four main occupation groups.
Title: Re: General Discussion
Post by: livingforever on January 03, 2015, 02:30:02 PM
Hi!
1) Player cannot control everything in sim game with opponents, that doesn't make any sense. But if my way doesn't work out, it can be easily adapted to work differently.
It's not about controlling everything, it's about controlling your own employees. What's the point in hiring and training them otherwise?

2) I never said anything about leadership ranks. Also I don't understand why.
That was bad phrasing on my part.
What you are trying to do is combine (3) unrestricted experience ranks with (5) restricted reputation ranks.
The problem is that in your scenario, a character would need the maximum possible experience in order to gain any reputation.

I think we should stick with reputation ranks (leadership ranks) only and handle experience with stat requirements for the ranks.

5) True, but it's not too bad with only four main occupation groups.
Well... I guess it's just a balance issue that can be solved at any time.

The option of "rank up"-points that can be spent seems interesting. Can you give examples of when exactely the player should get them?
Have fun!
Title: Re: General Discussion
Post by: Xela on January 03, 2015, 04:09:04 PM
The option of "rank up"-points that can be spent seems interesting. Can you give examples of when exactely the player should get them?

One way would be to give points (per general occupation) when buying a business. Maybe through events/quests as well.

Lower ranks are points free but for the rest:

r4: 1 point
r5: 3 points
r6: 9 points
r7: Special Rank (Only through events)
r8: Special Rank (Only through events)

I didn't give this too much thought. We are unlikely to do it before the next release.

Title: Re: General Discussion
Post by: DarkTl on January 05, 2015, 06:18:38 AM
I have a small question.
Who is that "Vyse I" who joined dropbox 01.01.2015, and why the f##k he deleted ALL files from my and CW folders (about 6200 files in total) without a single word?

Thanks DB for restoring system. I just love it.
Title: Re: General Discussion
Post by: Xela on January 05, 2015, 07:51:48 AM
I have a small question.
Who is that "Vyse I" who joined dropbox 01.01.2015, and why the f##k he deleted ALL files from my and CW folders (about 6200 files in total) without a single word?

Thanks DB for restoring system. I just love it.

:(

I think it's Dusk. Not sure what happened there but he prolly doesn't know that he could delete the folders from everyone from his PC.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2015, 11:46:37 AM
What is the password for that archive in Gismo's folder?
And why do we even have passwords in a closed environment anyway?

He has absolutely amazing pictures for items in his folder, so I don't want to just delete the archive without knowing what's inside.
Title: Re: General Discussion
Post by: Xela on January 05, 2015, 12:19:10 PM
What is the password for that archive in Gismo's folder?
And why do we even have passwords in a closed environment anyway?

He has absolutely amazing pictures for items in his folder, so I don't want to just delete the archive without knowing what's inside.

The map he created for us is inside... in photoshop format so we could create new locations or tweak it without him.

Password is the name of the game with all the correct capitals in place. File needs all of the RAM you've got (he maxed out at 16 GB after a few hours of work but I could run it even with 4 GB).

I am not sure why he protected it in protected...
Title: Re: General Discussion
Post by: DarkTl on January 05, 2015, 12:50:17 PM
Aww, I thought there are more cool sprites since it's called humans  :(

I attached a picture to this post, that's example of icon for personality, yandere in this case.
Title: Re: General Discussion
Post by: Xela on January 05, 2015, 01:04:27 PM
Aww, I thought there are more cool sprites since it's called humans  :(

I attached a picture to this post, that's example of icon for personality, yandere in this case.

It would be really hard to associate these pics with personality types. Almost as hard as to focus on personality types during gameplay with so many characters. Also when I see that picture, what comes to mind is a Heart Breaker because what I see on that picture is a burning (with love or passion) heart of a free, almost angelic person being stabbed witha knife. But I am awful at interpreting art, same us with creating it. When in museums, hearing/reading explanations about expressionist arts, I actually think that people giving them are (to a degree) insane :)

Simpler example is with Alkion, I actually hate the icons for stats in use there... even if they do make sense.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2015, 01:09:34 PM
That's what yandere do, right? They can protect you (right side) and they can kill you or anyone else (left side)  :)
If you want hidden traits, at least we can have icons to hint about them.
Title: Re: General Discussion
Post by: Xela on January 05, 2015, 01:40:08 PM
That's what yandere do, right? They can protect you (right side) and they can kill you or anyone else (left side)  :)
If you want hidden traits, at least we can have icons to hint about them.

Maybe... but that kind of behavior is not realistic to emulate in events/quests not written specifically for the characters. And noone gives a sh!t about personality type when they write that because modders have their own idea about the characters they've seen/read and roll with that when writing unique content.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2015, 01:46:52 PM
I'm not sure why are you against another decoration for girls gui. If you hate it, just say so  :D
Title: Re: General Discussion
Post by: Xela on January 05, 2015, 01:50:23 PM
I'm not sure why are you against another decoration for girls gui. If you hate it, just say so  :D

I don't hate it, just don't believe it's either relevant or necessary. If you make the icons, we'll throw them into the game but we haven't even decided on the types yet.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2015, 01:56:41 PM
Really? I think we have. We haven't decided on flags, but archetypes are done, and I'm quite satisfied with the whole archetypes+modificators system.
Title: Re: General Discussion
Post by: Xela on January 05, 2015, 02:17:02 PM
Really? I think we have. We haven't decided on flags, but archetypes are done, and I'm quite satisfied with the whole archetypes+modificators system.

I missed your post. It's very good, we can work with that.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2015, 03:13:33 PM
Tsundere icon  ::)
Title: Re: General Discussion
Post by: DarkTl on January 06, 2015, 05:41:23 AM
Impersonal, Dandere, Kuudere  8)
Title: Re: General Discussion
Post by: DarkTl on January 06, 2015, 10:43:47 AM
I'm going to take care of items after I'll finish with archetypes icons. I have some ideas about concept.
Basically, I like what we've done with skills and traits, items could use centralization too.

Ane, Imouto, kamidere.
Title: Re: General Discussion
Post by: DarkTl on January 06, 2015, 12:28:40 PM
Bokukko, dededere. 10 icons are done  :)
Title: Re: General Discussion
Post by: Xela on January 06, 2015, 12:29:49 PM
Looks Great! I think that today I'll add the system to single out personality types and display them as images with tooltips/text with the name. Under the same logic as traits but they will not allow systematic overwrite and exclude all other personalities other than the personality provided (automatically). We'll later handle blank out and personality rewrites with separate method capable of overwriting initial blocks...

I'll add personality descriptions from Characters/Traits thread for now. We can always improve them later.

Title: Re: General Discussion
Post by: Xela on January 06, 2015, 01:50:29 PM
Edit: Ghm... we have 10 personality traits vs 9 images? Are you sure that you're done!?!

And LoL:

11 Types :D (http://www.google.bg/imgres?imgurl=http://cdn.playbuzz.com/cdn/bcf825aa-678c-4a05-8d51-638e3a77f666/682a630e-46ed-4ca5-8a4c-43549a552a2c.jpg&imgrefurl=http://www.playbuzz.com/emilys21/what-color-should-you-dye-your-hair-according-to-your-personality&h=184&w=274&tbnid=xFNDBU2wS2GAhM:&zoom=1&tbnh=123&tbnw=184&usg=__bmyqajg9qVAr_OOi4t_UAn5s2tc=&docid=SmRWMqS94zha0M&itg=1&ved=0CCgQyjc&ei=5S2sVL2fDM7kaoDogeAL)
Title: Re: General Discussion
Post by: DarkTl on January 06, 2015, 02:59:45 PM
Yeah, well, I was busy writing that long post about items, so I hope you were able to find that yandere icon on the previous page  :)

And LoL:

11 Types :D  (http://www.google.bg/imgres?imgurl=http://cdn.playbuzz.com/cdn/bcf825aa-678c-4a05-8d51-638e3a77f666/682a630e-46ed-4ca5-8a4c-43549a552a2c.jpg&imgrefurl=http://www.playbuzz.com/emilys21/what-color-should-you-dye-your-hair-according-to-your-personality&h=184&w=274&tbnid=xFNDBU2wS2GAhM:&zoom=1&tbnh=123&tbnw=184&usg=__bmyqajg9qVAr_OOi4t_UAn5s2tc=&docid=SmRWMqS94zha0M&itg=1&ved=0CCgQyjc&ei=5S2sVL2fDM7kaoDogeAL)
I should use green color  ::)
Title: Re: General Discussion
Post by: Xela on January 06, 2015, 05:13:57 PM
Just pushed the personality traits, obviously mostly chosen at random at the moment because we only had 5 of these traits before (I swapped Tomboy for the dere counterpart). I'll try to add better graphics tomorrow if time permits.
Title: Re: General Discussion
Post by: Xela on January 06, 2015, 05:18:27 PM
Do I have some sort of an outdated file? This is one character I hoped that I could count on to test if non random traits are loaded without adding anything :D I mean, it's in her name!

Code: [Select]
<girl
id="Tsunade"
folder="Naruto"
origin ="Naruto"
name="Tsunade"
race ="Human"
nickname="Slug Princess"
desc="The 5th leader of Konoha, a top level medical kunoichi. Despite her age she acts and appears young. Several invented techniques, and knows the human body well."
charisma="10"
refinement = "15"
libido="20"
constitution="85"
intelligence="20"
exp="0"
joy="40"
character="40"
reputation="15"
health="100"

anal="0"
normalsex="0"
blowjob="0"
lesbian="20"

attack = '25'
magic = '5'
defence = '10'
agility = '15'
mp = '60'

occupation="Stripper"
location="city"
status="free">

<trait name="Abnormally Large Boobs" />
<trait name="Tough" />
<trait name="Smart" />
<trait name="Former Assassin" />
<trait name="Iron Will" />
<trait name="Great Arse" />
<trait name="Charismatic" />
<trait name="Serious" />
<trait name="Unlucky" />

<absolute_block trait = 'Lucky'/>
<absolute_block trait = 'Fragile'/>
<absolute_block trait = 'Retarded'/>
<absolute_block trait = 'Fearless'/>
<absolute_block trait = 'Mind Fucked'/>
</girl>
Title: Re: General Discussion
Post by: Xela on January 06, 2015, 05:34:36 PM
*One last note:

Game can crash in the profile screen when viewing the trait icon. Problem is rare and will not happen anywhere else. What happens is that a trait games tries to apply randomly is blocked by something else, like some other, older non personality trait or implicit absolute block in the data file.

This should never happen after traits are adapted to the new system...
Title: Re: General Discussion
Post by: Dusk on January 06, 2015, 11:59:29 PM
Sorry that was my fault, I thought I copy and pasted but, I must've I pressed Ctrl X instead of Ctrl C. I didn't check on it for a couple days so that probably caused some headaches.
I can put them all back easily enough.  I'll just do the copy paste correctly this time.

I didn't add or remove anything from the actual folder so it still should be in its vanilla state.

Again, apologies didn't mean to cause such a kerfuffle.
Title: Re: General Discussion
Post by: MuteDay on January 07, 2015, 12:11:33 AM
i know how it is to hit wrong buttons, just added usb keyboard and it is different then laptops keyboard so keep hitting wrong buttons major pain in the butt
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 03:45:24 AM
Of course we have outdated as hell girls data files. We change stuff so often.
Btw, how to specify skills in data files? Or, rather, is it even possible? I mean, after we changed skill system.

Sorry that was my fault, I thought I copy and pasted but, I must've I pressed Ctrl X instead of Ctrl C. I didn't check on it for a couple days so that probably caused some headaches.
I can put them all back easily enough.  I'll just do the copy paste correctly this time.
Nah, DB keeps even deleted files for a month or so, I already restored them.
Btw, if you don't have enough disk space for our files, there is a Custom Sync function, you can select which folders you will have on your pc there.
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 05:26:33 AM
Btw, how to specify skills in data files? Or, rather, is it even possible? I mean, after we changed skill system.

No, right now they all simply start with 0.

It is (or at least should be since it is not tested yet) possible to modify skills through traits and items. Jobs and School haven't been adapted yet either.

We can go two ways:

1) Allow setting a rank and a character will be leveled to that rank requirements. This is A LOT MORE WORK because it will force our hand to start using ranks before the next release and that in turn requires fixing classes (occupation) all over the code as well.

2) We do the same thing as for stats, simply allow setting the values.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 06:36:34 AM
I don't have a problem with traits (or, rather, flags) in data files that mean basic training in some skill. Like Maid for service.
It means one flag per skill, but names are quite obvious (dancer, healer, etc).
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 06:47:08 AM
I don't have a problem with traits (or, rather, flags) in data files that mean basic training in some skill. Like Maid for service.
It means one flag per skill, but names are quite obvious (dancer, healer, etc).

Either ranks or plain values. I am leaning towards plain values, it's in sync with how stuff works already.

Edit: There might be another option to set them according to character level and "subproffesion" but we don't have the latter yet. We could do that with out system temporarily.
Title: Re: General Discussion
Post by: Lurker on January 07, 2015, 11:27:35 AM
Hey, lads. Been playing around abit with the game and its looking neat. I kinda wanted to add some of my own girls to the game. And i know drag and drop works, but being an anal fuck, i kinda want to make em as good as I can. Been looking around for info on how to add em the "right" way but ive come up empty. I remeber finding something about way back when but I cant for the life of me find the info again. Could one of you point me in the right direction, if there is such a direction that is. xD
Title: Re: General Discussion
Post by: CherryWood on January 07, 2015, 12:00:20 PM
Could one of you point me in the right direction, if there is such a direction that is. xD
There's none  :)  The picture tags and skill system is in the middle of changing so it would be wasteful to create girl packs for old game version and there are no ready tools for the new one yet.

I'm planning to look into it this weekend (modify some old tagger and change the screens to use new tags if needed) to test it, and I hope it will all not take that long before it will be possible to start adding girls again - I want to do it too!  :(
Title: Re: General Discussion
Post by: Lurker on January 07, 2015, 12:02:50 PM
Ah cool cool. Well keep up the good work. :)
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 12:14:17 PM
Hey, lads. Been playing around abit with the game and its looking neat. I kinda wanted to add some of my own girls to the game. And i know drag and drop works, but being anal fuck i kinda want to make em as good as I can. Been looking around for info on how to add em the "right" way but ive come up empty. I remeber finding something about way back when but I cant for the life of me find the info again. Could one of you point me in the right direction, if there is such a direction that is. xD

We didn't write any proper guides or explanations because we are only now coming up with a finalized version of stats, skill and image tags.

If you want to create characters for the next version, we do not have a properly setup image tagger yet :(

If you want to create your own character to play the Alpha, it's setup:

Get one of the taggers and tag images:
https://mega.co.nz/#!Glx1AC5A!GgLVP65QOiowHBbOE5Wf_c6_qoF2_6eThiM9lu39ZSw
http://www.pinkpetal.org/index.php?topic=3405.0

You should find and add at least one transparent battle_sprite tag for the Arena and it least one profile for defaults.

Then take a look at other native girls, they will all have data file, either their personal file or one large file for all or some combination of the two. Inside it's more or less the same stuff as in WM with a couple extras.
========================================
If you want to add your WM packs to PyTFall without making them native but still have more options, you can add two fields to .girlsx files:

      status="free"
      location="city"

They will be sent as free girls to the city to participate in girlsmeets. You will still have to add battle_sprite for the arena if you want them to fight. and prolly add occupation="Warrior" as well.

For example, this is how one of the WM girls looks in my current version:

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<Girls>
<Girl
Name="Yoruichi Shihouin"
Desc="Bleach - *meow*"
Charisma="50"
Happiness="100"
Libido="60"
Constitution="50"
Intelligence="50"
Confidence="70"
Mana="20"
Agility="95"
Fame="0"
Level="0"
AskPrice="0"
House="0"
Exp="0"
Age="26"
Obedience="10"
Spirit="70"
Beauty="80"
Tiredness="0"
Health="100"
PCFear="0"
PCLove="0"
PCHate="0"
Anal="0"
Magic="0"
BDSM="0"
NormalSex="0"
Beastiality="0"
Group="0"
Lesbian="10"
Service="0"
Strip="10"
Combat="10"
Gold="25"
status="free"
location="city">
<Trait
Name="Big Boobs" />
<Trait
Name="Strong" />
<Trait
Name="Adventurer" />
<Trait
Name="Assassin" />
<Trait
Name="Great Figure" />
<Trait
Name="Fearless" />
<Trait
Name="Iron Will" />
<Trait
Name="Fleet of Foot" />
<Trait
Name="Tough" />
<Trait
Name="Long Legs" />
</Girl>
</Girls>
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 12:16:05 PM
There's none  :)  The picture tags and skill system is in the middle of changing so it would be wasteful to create girl packs for old game version and there are no ready tools for the new one yet.

I'm planning to look into it this weekend (modify some old tagger and change the screens to use new tags if needed) to test it, and I hope it will all not take that long before it will be possible to start adding girls again - I want to do it too!  :(

I would appreciate that, we'll have a tagger to work with again cause I have no idea on if we agreed for me to mess with the Ren'Py tagger or for Dark to finish Delphi one.
Title: Re: General Discussion
Post by: CherryWood on January 07, 2015, 12:25:21 PM
I would appreciate that, we'll have a tagger to work with again cause I have no idea on if we agreed for me to mess with the Ren'Py tagger or for Dark to finish Delphi one.
I have no idea either  :D  And dunno how much is the new tag set actually considered finished...


But this and tagger aside, is adding corresponding filename letters to the game converter all that is needed to stats using new tags?
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 12:28:31 PM
But this and tagger aside, is adding corresponding filename letters to the game converter all that is needed to stats using new tags?

Unless we actually change names of the tags we use today, that is all it'll take.

When renaming, you should prolly leave all the sex tags as they were. It is not possible to do the combination thing Dark wanted to have during tagging sex images with Rudi's tagger and I don't like that idea anyway.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 01:05:52 PM
If some of you guys didn't persuaded me to stop working on my tagger (yes, Xela, you too), it would be ready twice by now.

Noone wants to code a tagger AND noone wants me to finish mine. Jeez  ::)
I'm starting to work on my tagger again tomorrow, I'm afraid I won't live long enough to see a ready tagger otherwise.
 
Title: Re: General Discussion
Post by: MuteDay on January 07, 2015, 01:21:30 PM
rofl did my post not even show up, odd
Title: Re: General Discussion
Post by: CherryWood on January 07, 2015, 02:03:04 PM
Well, the important part is that conversion list, tags should work even if image filenames are written by hand afterall  :) 
Title: Re: General Discussion
Post by: MuteDay on January 07, 2015, 02:09:31 PM
i was wondering do you like the layout of the Image Tagger (http://www.pinkpetal.org/index.php?topic=3405.0) if so i can update it for you so it works alot easier
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 02:23:26 PM
i was wondering do you like the layout of the Image Tagger (http://www.pinkpetal.org/index.php?topic=3405.0) if so i can update it for you so it works alot easier

CW and Dark can tell better than I... I just tagged one or two characters max.
Title: Re: General Discussion
Post by: MuteDay on January 07, 2015, 02:41:43 PM
alrighty then ill wait for thier reply
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 03:34:39 PM
Yup, that could work as well.

I outline a problem with filenames just in case: they have to be unique, so tagger should use some kind of index, unique within one folder. Like abcd-pr-l1.jpg, where abcd is an index and pr and l1 are tags of some kind.
Title: Re: General Discussion
Post by: MuteDay on January 07, 2015, 03:45:55 PM
im lost now rofl, please do explain a lil
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 03:57:42 PM
Yeah, well, windows requires file names to be unique. Let's say we have two profile pictures that should be tagged with the same tag, "pr", with no other tags involved. So if we rename one of them to pr.jpg, windows won't let us to create another pr.jpg.
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 04:01:14 PM
Yup, that could work as well.

I outline a problem with filenames just in case: they have to be unique, so tagger should use some kind of index, unique within one folder. Like abcd-pr-l1.jpg, where abcd is an index and pr and l1 are tags of some kind.

I am still not entirely sure how it's all useful if the index is random.... we can always go back to json as well by the way and I can add binary "fix" for the database for speed when player has finalized packs for the game.

If we change the filenames, transition from old names to new can get a bit clumsy. Maybe I can come up add a check if the fn system is old or new but it will mean extra check for every file in the game.

Otherwise, I managed to clean up skills (there were serious issues with code), added loading skills from data files and fixed a few serious bugs with hero equipment screen.

In unique girls xml files (we could switch to JSON here as well I suppose, for consistency, maybe add some new options but we can do this at any release and keep support for both xml and json forever if required):

Skills are provided in the same manner as stats, game will know which is which. Obvious difference is that skills are limitless and it is set as pure value and not % of some max.

Random Girls:
Skills can be provided the same as random_stats in random_stats OR new field can be added called random_skills with exactly the same syntax as stats.

There is also a new window to check skills in the girlsprofile, it will only appear in developer mode.
Order there:
1) Action Skill (Practical).
2) Training Skill (Theoretical).
3) True Skill (combination of both with special rule where if action skill exceeds training skill by more than 300%, it will be less effective (while training obviously becomes more effective at that point)) Also multiplier bonus from traits and items can also be applied to this.

I think this is it for tonight unless some small issue can be found that needs fixing.
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 04:03:43 PM
SF Updated:

- Fix to MC Equipment screen.
- Fix to Skills system.
- Skills can be now loaded for characters from their data files.

I forgot to mention that for now, game will turn blowjob stat into oral skill, same for normalsex (--> vaginal).
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 04:07:42 PM
I never said it should be random. In fact, it's your tagger gives random index, not mine  :D

Skills are provided in the same manner as stats, game will know which is which. Obvious difference is that skills are limitless and it is set as pure value and not % of some max.
Ok, but how can you know what means skill 30 or skill 100? Is it high or low?
With stats we don't have this problem right now.
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 04:15:04 PM
I never said it should be random. In fact, it's your tagger gives random index, not mine  :D

? The whole point of that is that it's random...

Ok, but how can you know what means skill 30 or skill 100? Is it high or low?
With stats we don't have this problem right now.

You play the game and find out, there is no other way. It will depend mostly on that we decide to do with average gameterm (like 1000 days or 3000 days or even more). Basically the general idea is: 1 skillpoint per AP spend training/working. If multiple skills are involved in training or action, they are divided.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 04:15:34 PM
Skills are provided in the same manner as stats, game will know which is which. Obvious difference is that skills are limitless and it is set as pure value and not % of some max.
No, wait. This is very bad in term of design, without characters editor at least.
You have to remember what is a stat and what is a skill all the time.

Though I could write an editor, it's very simple.
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 04:20:44 PM
No, wait. This is very bad in term of design, without characters editor at least.
You have to remember what is a stat and what is a skill all the time.

Do you write these files without copy/pasting?

Random girls already have a new field. In xml you can simply separate them. *Refinement is skill a stat, I don't remember if we decided it to become a skill or not.

Code: [Select]
<girl
id="Ino_Yamanaka"
folder="Naruto"
origin ="Naruto"
fullname="Ino Yamanaka"
name="Ino"
race ="Human"
desc="A kunoichi with sensory abilities. Not a strong combatant but able to get in to the mind of her opponents; literally."
charisma="40"
refinement = "10"
libido="30"
constitution="10"
intelligence="45"
exp="0"
joy="40"
character="50"
reputation="0"
health="100"

anal="0"
vaginal="10"
oral="20"
service="50"
strip="50"

attack = '5'
magic = '25'
defence = '5'
agility = '20'
mp = '30'

occupation="Warrior"
location="city"
status="free">

<trait name="Average Boobs" />
<trait name="Hyperactive" />
<trait name="Psychic" />
<trait name="Former Assassin" />
<trait name="Virgin" />
<trait name="Great Figure" />
</girl>
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 04:28:40 PM
Yes, we decided to make refinement a skill, you and me both  :)

There won't be xmls. So you propose to use a field like "random_skills": {"refinement": [15, 35]}? And just "skills" in case of unique ones?

? The whole point of that is that it's random...
Pure random still gives a chance of identical indexes. It should have a pattern of some kind.

We also can leave names alone and just add tags to them, but in this case you have to manually make sure that names are not too long and that they cannot be confused with tags.
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 04:39:07 PM
Yes, we decided to make refinement a skill, you and me both  :)

There won't be xmls. So you propose to use a field like "random_skills": {"refinement": [15, 35]}? And just "skills" it case of unique ones?

Ok, I'll flip it to skills tonight.

It's already done for random girls, we could use the same for unique once but I am not 100% sure if random is what we need for unique.

Pure random still gives a chance of identical indexes. It should have a pattern of some kind.

We also can leave names alone and just add tags to them, but in this case you have to manually make sure that names are not too long and that they cannot be confused with tags.


Pure random still gives a chance of identical indexes. It should have a pattern of some kind.

We also can leave names alone and just add tags to them, but in this case you have to manually make sure that names are not too long and that they cannot be confused with tags.

True... but it's a very small chance. We can always go back to json as well. This file thing is becoming a bit counterproductive. You guys make the decisions since you're making taggers. It's easy to check if chosen random already exists in the folder by the way. Generate a new one in case of a positive.

I don't like the leaving filenames along option...
Title: Re: General Discussion
Post by: Xela on January 07, 2015, 04:53:21 PM
Last push: (I am switching to Android and going to get some sleep).

- Refinement was flipped to skill.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2015, 05:15:39 PM
So, skills.
anal, vaginal, oral, strip, group, bdsm.

I figured we could use group along with sex skills, at very least because we will have more skills for items (=more ideas). During checks we could always use group/2 + (anal+vaginal+oral)/3 for example, or if we know what body parts are used in group, more specific formulas.
Bdsm could be splitted into domination and submission parts. Though we don't have many domination pics or events, so maybe not. It will help with items, but if skill will be useless, so will be items.
=====================================================
refinement (general knowledge about society) and dancing. Moar in the future.
=====================================================
service, bartending, cleaning and waiting. Yeah, we could use service as a general skill (like, experienced bartender will be not bad waitress either becasue she already has high service). More difficult checks too then, like (service+bartending)/2.
=====================================================
For SE: leadership (better leader = bonuses to stats), exploration (chances to find something), stealth (chance to avoid enemies when hp is too low), traps (they will be in the future anyway, meanwhile could be used to capture monster girls).
=====================================================
For ST we need at least two skills: skill that helps to teach and skill that helps to, well, dominate and enforce.
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 05:07:55 AM
So, skills.
anal, vaginal, oral, strip, group, bdsm.

Ok, need to add:

- group
- bdsm

I figured we could use group along with sex skills, at very least because we will have more skills for items (=more ideas). During checks we could always use group/2 + (anal+vaginal+oral)/3 for example, or if we know what body parts are used in group, more specific formulas.
Bdsm could be splitted into domination and submission parts. Though we don't have many domination pics or events, so maybe not. It will help with items, but if skill will be useless, so will be items.

We'll find a good/simple way to handle the checks.

refinement (general knowledge about society) and dancing. Moar in the future.

- dancing # Should be used in strip job as well.

service, bartending, cleaning and waiting. Yeah, we could use service as a general skill (like, experienced bartender will be not bad waitress either becasue she already has high service). More difficult checks too then, like (service+bartending)/2.

- bartending
- cleaning
- waiting

For SE: leadership (better leader = bonuses to stats), exploration (chances to find something), stealth (chance to avoid enemies when hp is too low), traps (they will be in the future anyway, meanwhile could be used to capture monster girls).
=====================================================
For ST we need at least two skills: skill that helps to teach and skill that helps to, well, dominate and enforce.

Maybe instead of leadership (to be used in a lot of places):
- management
- exploration
* I can't say that I like the rest these skills. At least for now.
- teaching
* management skill instead of enforce?
Title: Re: General Discussion
Post by: DarkTl on January 08, 2015, 05:11:00 AM
Well, even if we don't use any kind of stealth in SE, there are stealthy characters, like pretty much any ninja from Naruto.
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 05:22:06 AM
Well, even if we don't use any kind of stealth in SE, there are stealthy characters, like pretty much any ninja from Naruto.

Still not useful at this point + it can be a trait.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2015, 12:12:18 PM
Alright, I have some stuff to show. It's alpha of my tagger, it can do anything but read and write tags from filenames  :D
This might sound ridiculous, but instead it checks if file is tagged properly, it can rename all untagged files by giving smallest possible hex index, it can delete currently selected file on spot, and it has preview window for pictures.
I also implemented complex logic in gui, it hides and shows groups of tags depending on what tags you already selected.

I've compiled both 32 and 64 bit versions, so you could try them out.

Open button allows to select a directory with pictures, delete deletes currently seleted file, purge forcibly removes all tags and gives default names to all pictures in the current folder and normalize looks for unproperly tagged files and renames them to min possible hex index.

I don't recomend to try any of options except open on files that you don't want to lose (delete) or rename (purge and normalize).
32 bit (https://www.dropbox.com/s/vslf2cs8p5ewtkj/Tag.exe?dl=0),   64 bit (https://www.dropbox.com/s/n4jgckf62s25665/Tag-64.exe?dl=0).

I think I'll have enough time tomorrow to add reading and writing tags.
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 12:58:14 PM
...

Looks great :)

I think it's the first software written in Delphi on my PC.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2015, 01:05:53 PM
Is it ok for unique girls json?
Quote
[
  {
    "id": "Kula_Diamond",
    "desc": "This young girl has been created with DNA altered to use ice powers by destroyed long ago secret syndicate.",
    "origin": "King of Fighters",
    "fullname": "Kula Diamond",
    "name": "Kula",
    "stats": {"charisma": 20, "constitution": 5},
    "skills": {"refinemant": 0},
    "element": "Water 1",
    "traits": ["Kuudere", "Big Boobs", "Long Legs", "Virgin"],
    "location": "city",
    "status": "slave",
    "occupations": ["Service Girl"]
  }
]
Among other things, should we use a separate field for archetypes (Kuudere) and special flags (Virgin)?
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 01:16:34 PM
Is it ok for unique girls json?Among other things, should we use a separate field for archetypes (Kuudere) and special flags (Virgin)?

"occupation": "ServiceGirl"

(single and without a space in the string).

I am not sure what game will do with this:

Code: [Select]
    "location": "city",
    "status": "slave",

There will be no crash for certain but such a character will never show up without extra scripting/events.

Nickname is also missing but it's not an issue.

Also this will not load until I code it in.

I don't think that there is a need for special frags.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2015, 01:52:37 PM
For two years we have in all girls xmls this
Quote
location="city"
status="free"
ie where to find the girl (we have city only currently) and if she is free or slave.

Now you telling me that those lines could be a problem? :D
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 02:06:19 PM
For two years we have in all girls xmls thisie where to find the girl (we have city only currently) and if she is free or slave.

Now you telling me that those lines could be a problem? :D

The way you wrote it in this post, no.

For slaves:

Code: [Select]
location="slavemarket"
status="slave"

would be correct. However there is a good chance that I have checks fixing these issues in place because if not, all slavegirls sent to the city never appeared in the game. I've made a different transform for personality images. Going to look into loading girl data from json now.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2015, 02:25:46 PM
Hm. If you met a slave outside slave market, without scripting it could only mean that she's trained and already belongs to someone else.
So there could be an option to buy her from her current npc owner.

Without such an option the system is too complex without a reason.
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 03:35:22 PM
Without such an option the system is too complex without a reason.

Yeah... after all we've came up with to complicate the game, that is the problem  :D :D :D

Sf Updated:

- Loading from characters datafiles from JSON
- More appropriate atl for personality icons

Example I used to test JSON:

Filename must start with data and end with .json.

Code: [Select]
[
    {
        "id": "Kushina_Uzumaki",
        "fullname": "Kushina Uzumaki",
        "name": "Kushina",
        "nickname": "Tomato",
        "desc": "Kushina Uzumaki was a Konohagakure kunoichi who originated from Uzushiogakure's Uzumaki clan.",
        "origin": "Naruto",
       
        "race": "Human",
        "location": "city",
        "status": "free",
        "occupation": "Warrior",
        "element": "Air 1",
        "gold": 200,
       
        "stats": {
            "charisma": 60,
            "constitution": 45,
            "libido": 36,
            "joy": 63,
            "luck": 3,
            "character": 63,
            "health": 100,
            "intelligence": 25,
            "attack": 30,
            "magic": 20,
            "defence": 25,
            "agility": 35,
            "mp": 20
        },
        "skills": {
            "refinement": 10,
            "anal": 12,
            "vaginal": 22,
            "oral": 16
        },
        "btraits": [
           
        ],
        "ab_traits": [
           
        ],
        "traits": [
            "Bokukko",
            "Athletic",
            "Hyperactive",
            "Fearless",
            "Nymphomaniac",
            "Smart",
            "Former Assassin",
            "MILF",
            "Long Legs",
            "Big Boobs"
        ],
        "battle_skills": {
            "FistAttack": 1
        },
        "magic_skills": {
            "Windwhirl": 2
        }
    }
]
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 04:04:28 PM
Added last names to random girls, first I've got in the game:

(http://s23.postimg.org/53zbrabef/2015_01_08_23_00_46.jpg) (http://postimg.org/image/53zbrabef/)

Choe sounds weird for an elf :( Hanya is a bit weird as well.

At some point in distant future, we could look into picking more appropriate names...

Edit: Looking at that image it occurred to me that we could try using justified "greedy" layout for the description text, going to try it now.
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 04:22:48 PM
Last update:
- Added random lastnames
- Improved description layout

Going to get some sleep/switch to Android.

Justified text in for descriptions does look a LOT better imo. I should do that more often...
Title: Re: General Discussion
Post by: MuteDay on January 08, 2015, 04:24:10 PM
:) lol i see you implimented that before i got a chance to
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 04:58:23 PM
:) lol i see you implimented that before i got a chance to

Loading the file, shuffling all the names and adding the name to random gils are 3 or 4 short lines of code in Python :)

Everything has it's own advantage.
Title: Re: General Discussion
Post by: CherryWood on January 08, 2015, 05:01:23 PM
(http://img24.cz/images/71544592331319166772_thumb.jpg) (http://img24.cz/viewer.php?file=71544592331319166772.jpg)
Well, if I can still fit her in then I'm ok with anything  :D
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 05:07:47 PM
Try... sf should be updated unless I messed something up.

It may be a good idea to pick smaller font size for long strings. We do that at a number of places already in order not to breat gismo's graphics.
Title: Re: General Discussion
Post by: Xela on January 08, 2015, 05:31:02 PM
And please check with my json example if you redesign the girls so there are no mixups with xml fields. I think only id is actully required to add the character to the game and then add everything else with script but I have never tested that.
Title: Re: General Discussion
Post by: DarkTl on January 09, 2015, 06:08:34 AM
I wonder if skills should go not from 0, but from minus infinity.
For cases when character is not just knows nothing, but especially bad at something.
Title: Re: General Discussion
Post by: Xela on January 09, 2015, 06:44:54 AM
I wonder if skills should go not from 0, but from minus infinity.
For cases when character is not just knows nothing, but especially bad at something.

I'll try to figure out if this messed anything up... it's likely possible but once again, a small complication that can be avoided :) We are getting too many of those...
Title: Re: General Discussion
Post by: Xela on January 09, 2015, 09:44:19 AM
Adding:

- group
- bdsm
- dancing
- bartending
- cleaning
- waiting
- management
- exploration
- teaching

To skillz.
Title: Re: General Discussion
Post by: DarkTl on January 09, 2015, 11:32:12 AM
Btw we could live without it if it will be possible to set all skills parameters in data jsons, not only value itself. You know, like growth rate.
Title: Re: General Discussion
Post by: Xela on January 09, 2015, 11:58:16 AM
Btw we could live without it if it will be possible to set all skills parameters in data jsons, not only value itself. You know, like growth rate.

Pfffff....

Traits do that already, don't they? So do items.

Look... it's prolly just 5 or 6 lines of extra code and explanations to modders but we keep adding new sh!t to the game, that does the exact same thing that other game designs do. Large amount of traits are not an issue as long as we weed out important stuff like personality traits (which you did) and get rid of odd names like Genius. I suggest we add traits for this.

After a bit of consideration, I am also a bit against not allowing items mess with traits. Especially after all the trouble I went through coding a system that keeps track of "true" and "added" traits. Unless we find out that it makes the game worse (obviously).

Skills are added (I forgot that it's as simple as adding one string at this point). I'll prolly go crazy and try to add new skills replacing old stats throughout the game... it's a lot of code to go through, even with a good search function :D
Title: Re: General Discussion
Post by: DarkTl on January 09, 2015, 01:35:38 PM
Oki, I'll do it via traits.
========================================================
Here is beta of my tagger.
32bit (https://www.dropbox.com/s/vslf2cs8p5ewtkj/Tag.exe?dl=0),   64bit (https://www.dropbox.com/s/n4jgckf62s25665/Tag-64.exe?dl=0).

I killed all bugs that I was able to find. It actually reads and writes tags now according to my huge list in tagging concept thread.
There are still some additional functions that I want to add, and some code cleaning is needed as well.

Here's the deal. After you open a folder with pictures, every time you select a file tagger reads tags and sets all flags according to them, if there are any known tags in the filename of course.
To save selected flags into the filename, you have to push save after you set all flags. Tagger will automatically give less possible index to file if needed.

There is still a possibility that file order will change after that since files are ordered by names. It's not an issue really, but it's inconvenient.
So in order to tag without such things I reccomend to use purge and normalize options. Purge resets all filenames in the current folder to pure indexes, use it only when you tag pictures from the scratch. Normalize does it only with pictures that are not tagged properly, ie hex index + known tags divided by "-", use it when you want to add new files to pack.

Reset tags removes all flags in gui, refresh refreshes file list if you need it because you manually changed something in the folder.

After the game will be able to read and interpret those tags, we can begin to retag stuff.
Title: Re: General Discussion
Post by: Xela on January 09, 2015, 05:18:10 PM
After the game will be able to read and interpret those tags, we can begin to retag stuff.

I left a few suggestions/requests in the tagging concept thread. After we made all the decisions, I'll write temporary code so the game can analyze which system is in use and load accordingly. When the retagging effort is complete, I'll just leave your code and add an option to "fix" database in a much faster binary file after modder is happy with the packs.

Phew... it's going slow but we're getting sh!t done :)
Title: Re: General Discussion
Post by: CherryWood on January 09, 2015, 05:32:48 PM
Yup, I try this new tagset and tagger on few girls tomorrow and post my final thoughts about it.
After that I help with updating locations and jobs for it.
Title: Re: General Discussion
Post by: DarkTl on January 10, 2015, 02:08:36 PM
I created a thread for tagger, don't miss your chance to read my pro tagger manual  ;D

Now I'm going to update traits files according to our new concept.
Title: Re: General Discussion
Post by: Xela on January 10, 2015, 06:00:21 PM
I've moved the tagger to mods section, felt more like a correct place.

Updated SF, my last updated from yesterday didn't go through and today I just fixed some code to work with skills. Still a lot work to be done everywhere... one step at a time :)
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 07:20:03 AM
Going to look into predicting girlslist screen. It's kinda jumpy and there is a chance that it can improved. Maybe look into girlsrofile screen as well but that cannot be properly predicted because chr is an unknown variable before it's run, maybe there is a way to predict it partly.

Next on the list is looking into loading Dark's fns for loading tags.
Title: Re: General Discussion
Post by: DarkTl on January 11, 2015, 08:45:56 AM
Origin "Random Girl" is kinda out of place. There is a list of random places in Evolved Help Wanted thread, might as well use them.
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 09:31:42 AM
Origin "Random Girl" is kinda out of place. There is a list of random places in Evolved Help Wanted thread, might as well use them.

Never bothered me...

I got the first page of the girlslist to predict and it's working well... Otherwise I am not going to continue with this atm, instead I'll look into putting a new tags dict together and loading new tags  from it.
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 10:20:25 AM
... Question:

How much RAM would you conciser to be acceptable for PyTFall to use?

Right now it's about 200MB (for caching graphical elements). I am still toying with making the game run faster and the problem I've encountered is that it seems to be not enough. Because we can jump to so many screens from main menu, all the images cannot be preloaded to RAM before they are rendered. Ren'Py allows to increase the use of RAM for graphic elements without limits but what do you think a good limit might be?
Title: Re: General Discussion
Post by: DarkTl on January 11, 2015, 11:09:40 AM
Hm. I never wondered before, but can it use more than 3gb, ie can it be a 64 bit application?
Becasue if it can't, 3 gb is what we have.

I'd say today pc should have at least 4 gb anyway, at least 8 if you use it for gaming and about 16 if you use it for work with special ram demanding software.
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 11:29:42 AM
Hm. I never wondered before, but can it use more than 3gb, ie can it be a 64 bit application?
Becasue if it can't, 3 gb is what we have.

The largest I've seen for a Ren'Py game was 1.8 GB. It was a commercial post-apocalyptic VN, they now moved to Unity because they want to release for consoles and Ren'Py doesn't support that. Native resolution was 1980x1080 and it had a lot of effects and animations.

Basically I wanted to know if everyone was ok with about 500 - 600MB. The problem is that some parts of the game are very "jumpy", like girlslist or map, transitions skip and even without transitions there is a visible delay. The reason for the is that the images that we use in those screens are read of the harddrive. Today I've tried preloading them into memory but the default setting we've used up to today was too low.

I've increased it and preloaded the map and first page of girlslist screen so they work instantaneous without transitions (when those are disabled in preferences) and that the transitions actually work.
Title: Re: General Discussion
Post by: DarkTl on January 11, 2015, 11:54:31 AM
That's very low. The more ram the game can use instead of reading from hdd, the better.
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 12:13:29 PM
That's very low. The more ram the game can use instead of reading from hdd, the better.

I'll look into that. The best case is preloading all graphical elements in RAM and preloading (when possible from previous screens) girlspics on demand but at some point we may want to release for Android and that will have to be recoded. A lot of stuff is being predicted really well by Ren'Py in advance (especially in VN mode like events/girlsmeets) so some things are not required for forced preloading.

Optimization will be required, but right now I am busy with loading new tagging system into the game.

If you want to know what's being loaded correctly, you can click Shift + D and enable: Show Image Load Log. Whatever shows up in red is a f*ckup that we'll have to fix...
Title: Re: General Discussion
Post by: DarkTl on January 11, 2015, 01:00:46 PM
Btw did you fixed traits application? I recall you mentioned that I forgot to change it during trait application and removal. I changed it from 10% to 5% per level.

Also, I'm not sure how should I deal with skills. You mentioned that
Items now accept a new field:

mod_skills: {"strip": [0, 1, 2, 3, 4]}

Where:
0: Multiplier to action counter
1: Multiplier to training counter
2: Multiplier to skill (when getting a total skill value)
3: Adding to action counter
4: Adding to training counter

Traits  now accept a new field:

mod_skills: {"strip": [0, 1, 2]}

Where:
0: Multiplier to action counter
1: Multiplier to training counter
2: Multiplier to skill (when getting a total skill value)
Multiplier to counters means faster learning when learning occurs. Multiplier to skill means better performance. I get it.

Does adding to counter mean learning process itself? Like, read a book about cleaning means add to training counter?
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 01:24:25 PM
Btw did you fixed traits application? I recall you mentioned that I forgot to change it during trait application and removal. I changed it from 10% to 5% per level.

I am not sure. What happened was you changing it in one spot but forgetting (or not being aware of another). I made sure that both spots worked off the same logic, that I remember. Just not sure if it's 10 or 5 percent.

Also, I'm not sure how should I deal with skills. You mentioned thatMultiplier to counters means faster learning when learning occurs. Multiplier to skill means better performance. I get it.

Does adding to counter mean learning process itself? Like, read a book about cleaning means add to training counter?

Yeap, that's exactly how it works. Basically the way you should think about it is that every skill has two parts:

Practical skill (Actions)
Theoretical knowledge (Learning)

A character that would consider him/herself "Too Cool For School" under the same circumstances will loose out to a wiser characters that read a book or take a class once in a while. However if a character is just learning all the time, he/she will never make any money without taking an action.

Practical Skill is never useless either, it's just (A LOT) more useful with theoretical knowledge of the skill.

Multipliers increase/decrease the rate at which Practical and Theoretical knowledge is gained and the final multiplier increases/decreases the final (in the game code and comments it is referred to as "True" knowledge) value is being calculated.

Counters just increase P/T knowledge before the multipliers are applied.


***
Now that I think about it, we should prolly add new fields to items that caps the skill increments for items (so some shitty book cannot increase skill indefinitely.)
Title: Re: General Discussion
Post by: DarkTl on January 11, 2015, 03:36:25 PM
Alright. I'm not sure though how to show in gui something like "cleaning practical learning+5 cleaning theoretical learning+10 cleaning performance+15%".

Btw when you set a skill in girls data files, like cleaning = 30, what are actual parameters in this case?

Now that I think about it, we should prolly add new fields to items that caps the skill increments for items (so some shitty book cannot increase skill indefinitely.)
- Can changes to multipliers be permanents? Like, you read a book and now you always learn something faster. I'm not even sure if we should allow it or not. It could be too powerful.
- But I think that any modification should be permanent. Since it's not charisma or something, it's practice and knowledge, it's hard to imagine how you can obtain it temporary and then lose somehow. So this part
Quote
3: Adding to action counter
4: Adding to training counter
should be permanent only, thus available only for miscs and consumables. And without negative values (I believe you mentioned it already).
Title: Re: General Discussion
Post by: DarkTl on January 11, 2015, 03:43:48 PM
Never bothered me...
It depends on what are we going to do with origin. If it will be used to make girls know each other (and this is perfectly understandable in case of unique ones), then all random ones will know each other too  :)
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 04:01:37 PM
Alright. I'm not sure though how to show in gui something like "cleaning practical learning+5 cleaning theoretical learning+10 cleaning performance+15%".

I didn't want to display them at all... Just the descriptions for items. My plan was to make skills illusive and hidden. Whenever the skill is not enough for something, game will report it as such. If a girl is lacking theoretical skill, game will report that as well (maybe for a price in school or at the higher level of the said skill of MC). Basically I wanted to prevent another calculator thing as with stats where almost everything is shown in plain numbers.

Otherwise we could display them either as you described or just as true skill value. Or everything in the format similar to the item files.

Btw when you set a skill in girls data files, like cleaning = 30, what are actual parameters in this case?

1/3 goes to learning, 2/3 to action.

- Can changes to multipliers be permanents? Like, you read a book and now you always learn something faster. I'm not even sure if we should allow it or not. It could be too powerful.
- But I think that any modification should be permanent. Since it's not charisma or something, it's practice and knowledge, it's hard to imagine how you can obtain it temporary and then lose somehow. So this partshould be permanent only, thus available only for miscs and consumables. And without negative values (I believe you mentioned it already).

Multipliers are all capped at 1.5 (50% extra). I think items like that will prolly mess the game up but you can always use temp consumables that reverse the effects after some time has passed. *It would be very easy to fix the minimum at 0 as well.

You loose knowledge and practice skill if not in use for a while but that is a possible mechanic for the future.

I am not 100% sure how the game will behave on negative values. Prolly nothing bad will happen.


It depends on what are we going to do with origin. If it will be used to make girls know each other (and this is perfectly understandable in case of unique ones), then all random ones will know each other too  :)

We're pretty far away from this on the game level.



Title: Re: General Discussion
Post by: DarkTl on January 11, 2015, 04:09:28 PM
Multipliers are all capped at 1.5 (50% extra). I think items like that will prolly mess the game up but you can always use temp consumables that reverse the effects after some time has passed.
Let's say you equip maid dress (1.1) and drink some maid potion (1.1). What's the result? 1.1+1.1, 1.1*1.1, just 1.1?

You loose knowledge and practice skill if not in use for a while but that is a possible mechanic for the future.
That requires years. Items work for days.
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 04:14:40 PM
Let's say you equip maid dress (1.1) and drink some maid potion (1.1). What's the result? 1.1+1.1, 1.1*1.1, just 1.1?

Result would be 3.2 (it would be capped at 1.5).

I wrote before that it's added effect:

default = 1

Modifiers are just added/subtracted from that.

What I wrote was that 0.01 (1% extra) is already a good option for trait or an item.

***Assuming we were talking multipliers.
Title: Re: General Discussion
Post by: DarkTl on January 11, 2015, 04:28:04 PM
I think I wasn't perfectly clear though. When I say that addings to action counter should be permanent, I mean cases when you, let's say, equip a maid dress (+5 to knowledge) and then unequip it five seconds later (-5 to knowledge).
I guess there could be cursed miscs that can reduce knowledge (permanently too), but when you do something like that with a normal item via equipping, it is ridiculous.

And I have to know for sure if it's harmless to use negative addings  ::)
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 04:39:28 PM
I think I wasn't perfectly clear though. When I say that addings to action counter should be permanent, I mean cases when you, let's say, equip a maid dress (+5 to knowledge) and then unequip it five seconds later (-5 to knowledge).
I guess there could be cursed miscs that can reduce knowledge (permanently too), but when you do something like that with a normal item via equipping, it is ridiculous.

And I have to know for sure if it's harmless to use negative addings  ::)

Only consumable/misc with permanent effects should add skill points (to counters). maid dress should not add skill points, it should increase skill multiplier(s)! Game is not setup to handle that and it's not logical, skills are gained over a long time by concept, you are not a better dancer or learn how to dance if you're putting on dance shoes. But you should be able to dance better if you try. At least that is my logic.

Books should prolly be miscs that add effects after some time has passed.

I don't think that negative values are a problem, at least we can make sure that they are not even if they are now.
Title: Re: General Discussion
Post by: Xela on January 11, 2015, 06:57:48 PM
Ok.. so updates:

- Toyed with screen prediction a bit
- CityMap is now being predicted
- Girlslist is now being predicted
- Added a translation dictionary for new tagging system
- Added loading of tags for the new tagging system (Not tested)
- Updated menus to SL2
- Increased image_cache to 80
- Changed picture in the girlslist to portrait instead of profile

**Issues:
After I enabled prediction in girlslist, screen got faster but some issues occurred. With loads of girl, prediction process takes too long and still runs out of memory and even with +/- 35 girls we're maxing out at 750 - 800 MB. There is a reason noone uses images in girlslists I guess, especially not with Ren'Py.

I've flipped images to portraits to try it out for now. Profile pictures work with a normal amount of girls as well, otherwise we'll have to turn off prediction for the that screen of player gathers too many characters or just not use pictures in list at all.

Title: Re: General Discussion
Post by: CherryWood on January 12, 2015, 08:41:43 AM
I've flipped images to portraits to try it out for now. Profile pictures work with a normal amount of girls as well, otherwise we'll have to turn off prediction for the that screen of player gathers too many characters or just not use pictures in list at all.
In my option, portraits looks too big for current version of the screen with 8 girls, it's kind of waste to have them over profile pics here.
BUT if we make the panels smaller and fit more of girls in one page (may be reasonable anyway), then portraits would be really great here. I would like to avoid having just names if we can... Many games use a downsized versions of pictures just for these lists, maybe we could also do it with portraits?
Title: Re: General Discussion
Post by: Xela on January 12, 2015, 09:14:15 AM
In my option, portraits looks too big for current version of the screen with 8 girls, it's kind of waste to have them over profile pics here.
BUT if we make the panels smaller and fit more of girls in one page (may be reasonable anyway), then portraits would be really great here. I would like to avoid having just names if we can... Many games use a downsized versions of pictures just for these lists, maybe we could also do it with portraits?

I'll take a look tonight.
Title: Re: General Discussion
Post by: DarkTl on January 12, 2015, 10:05:33 AM
After you try to talk with a girl in brothel, music disappears forever until you visit some other location.
Title: Re: General Discussion
Post by: Xela on January 12, 2015, 10:15:25 AM
After you try to talk with a girl in brothel, music disappears forever until you visit some other location.

Bug...
Title: Re: General Discussion
Post by: DarkTl on January 12, 2015, 10:24:31 AM
How is it possible for a brothel to have -5 free rooms from 25? If it means that there are not enough rooms for everyone, it's still confusing.
Title: Re: General Discussion
Post by: Xela on January 12, 2015, 10:26:02 AM
How is it possible for a brothel to have -5 free rooms from 25? If it means that there are not enough rooms for everyone, it's still confusing.

It's an unrealistic scenario that cannot occur during gameplay. This happens because we overwrote normal operation for testing purposes (developer mode).
Title: Re: General Discussion
Post by: DarkTl on January 12, 2015, 02:15:42 PM
Do skills multipliers have min cap?
Title: Re: General Discussion
Post by: Xela on January 12, 2015, 03:03:34 PM
Do skills multipliers have min cap?

Not right now they don't.
Title: Re: General Discussion
Post by: DarkTl on January 12, 2015, 03:42:13 PM
I'm not sure, do we have a separate strip skill, or dancing only?
Title: Re: General Discussion
Post by: Xela on January 12, 2015, 03:43:44 PM
I'm not sure, do we have a separate strip skill, or dancing only?

We have both.
Title: Re: General Discussion
Post by: DarkTl on January 13, 2015, 04:24:22 AM
I'd say we need a min multiplier cap about 0.3, just in case.

Another question.
Let's say we have two items, both with training multiplier 0.5. We equip both, thus we have multiplier 2 that will be capped at 1.5. How many items with training multiplier -0.5 you have to equip after that to have multiplier 1 again, 1 or 2?
Title: Re: General Discussion
Post by: Xela on January 13, 2015, 05:16:12 AM
I'd say we need a min multiplier cap about 0.3, just in case.

Another question.
Let's say we have two items, both with training multiplier 0.5. We equip both, thus we have multiplier 2 that will be capped at 1.5. How many items with training multiplier -0.5 you have to equip after that to have multiplier 1 again, 1 or 2?

2.
Title: Re: General Discussion
Post by: DarkTl on January 13, 2015, 02:32:19 PM
Small traits push according to the new concept. I still want to think about body traits a bit, maybe something good will come up. Also deleted useless now two effects that were based on libido.
Title: Re: General Discussion
Post by: Xela on January 13, 2015, 04:28:22 PM
Small traits push according to the new concept. I still want to think about body traits a bit, maybe something good will come up. Also deleted useless now two effects that were based on libido.

Do note that we hane not officially cancelled libido. Final decision never been made, we just could not agree on if should be a stal that should change on daily or even event basis or if it should be something more stable.  Removing it was an impulsive decision or idea if there ever was one.
Title: Re: General Discussion
Post by: DarkTl on January 14, 2015, 02:52:01 AM
If it will be a stable stat, effects that change it every day are useless too. And you didn't want it to be highly changeable stat, you wanted to use traits for checks instead. Traits are still there, feel free to do so.
I can't really use effects that do nothing at all, you know  ::)
Title: Re: General Discussion
Post by: DarkTl on January 14, 2015, 12:00:14 PM
Last traits push. I reorganized them a bit.

Traits_personality is for personalities. Like I said, it's the main base for checks in dialogues and events.
Traits_mind is for minor stuff that could be used in some events to make things interesting (Psychic for example), but doesn't requre coding everywhere.
Traits_body is appearance only.
Traits_skills contains traits that only exist to give an effect or just affect skills. We can have as many of them as we want to, since they don't require any additional coding at all. The only problem is lack of various skills right now.

Next step is retagging.
Title: Re: General Discussion
Post by: Xela on January 14, 2015, 03:34:40 PM
Last traits push. I reorganized them a bit.

Next step is retagging.

Kewl!

Bug...

This will be fixed with the next push.

In my option, portraits looks too big for current version of the screen with 8 girls, it's kind of waste to have them over profile pics here.
BUT if we make the panels smaller and fit more of girls in one page (may be reasonable anyway), then portraits would be really great here. I would like to avoid having just names if we can... Many games use a downsized versions of pictures just for these lists, maybe we could also do it with portraits?

What do you think?:

(http://s22.postimg.org/8d24ime7x/2015_01_14_22_26_58.jpg) (http://postimg.org/image/8d24ime7x/)

I've left the old code intact if this doesn't work out.

====
Going to take a look at multipliers min cap and inventory in the apartment and push afterwards.
Title: Re: General Discussion
Post by: Xela on January 14, 2015, 07:15:01 PM
SF Updated:

- Added minimums to skill multipliers
- Added Items transfer to apartments: To be accessed through the same access as transfer betweeen girls and MC
- Fixed bad transform properties supplied to the finance screens
- Changed girlslist layout
- Fixed music disappearing if engaged in interactions through girls profile
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 12:00:27 AM
Small tagger update.
- Now you can resize the window, and image will resize together with it.
- After you save tags, file list automatically gets focus every time, so you can use arrows keys to freely navigate it.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 02:21:03 AM
I don't know what's wrong, but something is for sure.
Json:
Quote
[
    {
        "id": "Cloche_Leythal",
        "fullname": "Cloche Leythal",
        "name": "Cloche",
        "desc": "Ex Holy Maiden, she is harsh, demanding, often borders on rude, and incredibly distrustful of others.",
        "origin": "Ar tonelico",
       
        "base_race": "Human",
        "race": "Reyvateil",
        "location": "city",
        "status": "slave",
        "occupation": "Warrior",
        "element": "Air 1",
        "gold": 300,
       
        "stats": {
            "charisma": 60,
            "constitution": 25,
            "luck": 5,
            "character": 70,
            "intelligence": 30,
            "attack": 15,
            "magic": 30,
            "defence": 10,
            "agility": 20,
            "mp": 20
        },
        "skills": {
            "refinement": 50,
            "management": 40
        },
        "btraits": [
           
        ],
        "ab_traits": [
           
        ],
        "traits": [
            "Virgin",
            "Kamidere",
            "Big Boobs",
            "Chubby",
            "Elegant",
            "Magic Gift",
            "Natural Leader",
            "Serious"
        ],
        "battle_skills": {
            "FistAttack": 1
        },
        "magic_skills": {
        }
    }
]
A slave, as you can see.

Then I add to scripts.rpy
Quote
                hero.add_girl(char['Cloche_Leythal'])
                char['Cloche_Leythal'].location = testBrothel
                char['Cloche_Leythal'].occupation = "Prostitute"
                char['Cloche_Leythal'].action = 'Whore'
to test her. She appears in the brothel, but as a free one.
I add to scripts just in case
Quote
char['Cloche_Leythal'].status = 'Slave'
it doesn't help. WTF?

Also, would be cool to just add a character via console, without editing scripts. I tried hero.add_girl(char['Cloche_Leythal']), but of course it would be too easy  ::)
Title: Re: General Discussion
Post by: CherryWood on January 15, 2015, 04:43:47 AM
Small tagger update.
- Now you can resize the window, and image will resize together with it.
- After you save tags, file list automatically gets focus every time, so you can use arrows keys to freely navigate it.
GREAT! This was really needed *Thumbs up*
What do you think?:
I like it.


=====================
About the image sizes, is there any worth in keeping images larger then they are resized to in game? Or is it just a waste of space to have something larger then 1280x800 (game size) or even 740x685 (job images) and I can freely resize everything to fit into those without any loos?
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 04:48:57 AM
...

"city" and "slave" again...

But that shouldn't result in errors as you describe, I'll take a look.

Also, would be cool to just add a character via console, without editing scripts. I tried hero.add_girl(char['Cloche_Leythal']), but of course it would be too easy  ::)

This is valid code, unless she's been added to it already, it should work.
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 04:52:17 AM
About the image sizes, is there any worth in keeping images larger then they are resized to in game? Or is it just a waste of space to have something larger then 1280x800 (game size) or even 740x685 (job images) and I can freely resize everything to fit into those without any loos?

We've discussed this. Larger images tend to look better even when resized. Maybe they will look better on larger screens as well but I doubt Ren'Py works like that.

I think that you could release two versions of your packs, one with resized images (as compacts as you can get them) and one with fullsized images. That was my way when making packs for WM in the past, it does not require a lot of time.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 04:57:10 AM
Ah yes, you right, console works after I removed her from scripts.
But even via console she is a free one.

I think that you could release two versions of your packs, one with resized images (as compacts as you can get them) and one with fullsized images. That was my way when making packs for WM in the past, it does not require a lot of time.
I simply resize everything to 1000x1000, and convert to jpg if there is no transparency.
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 05:44:04 AM
Ah yes, you right, console works after I removed her from scripts.
But even via console she is a free one.
I simply resize everything to 1000x1000, and convert to jpg if there is no transparency.

Did you try to set her as "slave"/"slavemarket"? Going to take a stab at this now.

Edit: It's not even that, location would have been set to slavemarket automatically. You're trying to turn Warrior into a slave, game will not allow that without overwriting normal operations.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 06:39:13 AM
You right, I had a moment of retardity, it seems.

I use several portraits for various emotions if possible now. And it seems that portraits are randomly chosen, it's not unusual to see sad or angry portrait with 100 joy. Now we see portraits all the time, so this is important matter.
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 07:44:34 AM
You right, I had a moment of retardity, it seems.

I use several portraits for various emotions if possible now. And it seems that portraits are randomly chosen, it's not unusual to see sad or angry portrait with 100 joy. Now we see portraits all the time, so this is important matter.

That's strange... at some places in the game, new packs may cause serious issues, like images not being cached when displayed on screens causing them to jump around. I'll look into what can be causing issues with emotions now, if I can't figure it out fast, I'll wait until packs are retagged.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 07:54:58 AM
Update about packs. I used mega so long ago that I forgot password, and you cannot restore it there, only start a new account with the same e-mail. It's not a problem for us, all packs need deep retagging anyway, but looks like I no longer support wm ex packs.

For packs I'm trying to make as many portraits for various emotions as possible. At worst I have 3 per character: positive (happy usually), neutral and negative (sad usually). When possible, I make more, for every our emotion. However, there are cases when we only have 3, keep that in mind.
And I use 1 neutral sprite.

I finished two packs, Ar tonelico and Arcana Heart. You can find links both in my thread and db. I retagged them (that's why we have a small update for tagger  :) ), made new jsons according to new concepts and tested them in game.

Arcana Heart I found accidentally when I was looking for pics for possible random demon pack. It has only one character with enough pictures for a pack, but she is hot enough to get my attention back then. Ar Tonelico is an example of fan made pack. Under normal circumstances I would never use those characters for packs, they don't have enough various pictures. So it's a good pack for testing our wiles for replacement of missing pictures  ::)
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 08:48:04 AM
Right, I forgot that I've only left auto-emotions for the pics tagged with profile. I'll add portrait there as well.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 09:25:59 AM
Update for tagger.
- Added another check for delete function. Before it used to select a file with the same index that had deleted file after deleting it. That's why file list keeps its position during deleting. However, if you delete last file, there will be no files with such an index anymore.
Now it checks if index is no more than amount of remaining files.
- Added mask control. You can select types of files shown in file list (all pictures, jpgs or pngs). Since hex indexes for files calculated separately depending on extension (thus you can have 65000 jpgs AND 65000 pngs), it makes sense to separate them during tagging too.
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 10:29:55 AM
Have fun messing with it. I am thinking about adding items logic to allow for unique items for characters, adding the text we were talking about as well as the quest items category.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 10:54:15 AM
In terms of convenience for modding unique items probably should be inside character's folder, I mean both json and icons. Maybe in a separate folder, like \content\chars\Arcana_Heart\Lilica_Felchenerow\items.
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 11:00:06 AM
In terms of convenience for modding unique items probably should be inside character's folder, I mean both json and icons. Maybe in a separate folder, like \content\chars\Arcana_Heart\Lilica_Felchenerow\items.

No, we have a label to create them with python script and that's what's gonna be used. JSON is just for the general stuff so it does not slow down game-starting process. What I am going to take care of is in-game logic, so these items cannot be equipped on every character and etc.
Title: Re: General Discussion
Post by: CherryWood on January 15, 2015, 11:02:08 AM
Well, I planned to start rettaging, but when I looked at my packs I was horrified by the number of bad art pics there (what I was thinking?) so I'm updating them to more reasonable state (reducing the number of pics by a lot) first.
I hope I can get it all done in a month or so...
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 11:05:51 AM
That sounds vague to me. Where modders should write their unique items exactly?
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 11:08:48 AM
That sounds vague to me. Where modders should write their unique items exactly?

CW got examples I think but I'll write some guides.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 11:18:11 AM
I suppose you do know that quest items should not be sellable or tradeable. Ideally, unique items for girls should have such options too (when needed).
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 11:37:12 AM
I suppose you do know that quest items should not be sellable or tradeable. Ideally, unique items for girls should have such options too (when needed).

Yeah... either new if/else checks or a separate system, I am thinking about the best way to handle it. If checks are prolly a better bet. Maybe I'll unify shopscreens while at it if we haven't already done so.
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 01:25:04 PM
I am not entirely sure how we want to handle it. Obviously we do not want either time to be sold. But both could be given to other characters (could be a part of a quest)? In such a case, if a character leaves you employment, item is lost (unless we add even more checks), until character can be recruited again...
Title: Re: General Discussion
Post by: DarkTl on January 15, 2015, 01:50:24 PM
Why would you want to give some important item like a key from a dungeon or, I don't know, unique scripted summoning talisman to some girl if you can keep it in your inventory in a separate category and use when needed?

Theoretically there could be stuff like quest armor or weapon, I guess. However, characters can disappear from the game completely while not hired, so items could be lost forever, so we have to track if quest is failed because of it.
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 02:16:13 PM
Why would you want to give some important item like a key from a dungeon or, I don't know, unique scripted summoning talisman to some girl if you can keep it in your inventory in a separate category and use when needed?

Theoretically there could be stuff like quest armor or weapon, I guess. However, characters can disappear from the game completely while not hired, so items could be lost forever, so we have to track if quest is failed because of it.

Yeah, well, both are sh!tty options. One doesn't allow quest items to be transferred to other characters and the other leaves open a possibility to never be able to succeed in some quests.

I guess since the game is MC centered, we should go with options #1. I've disabled both kinds to be sold btw.
Title: Re: General Discussion
Post by: Xela on January 15, 2015, 05:36:10 PM
Completely forgot about the dark/light backgrounds... we'll prolly need some new graphics for that. For now I'll use some placeholders. Texts are not done either.

Overall, think that quests and unique items will work but the code is getting (really) messy. There are too many checks all over the place, I'll have to do some sort of rewrite after next release.

There is little point in pushing tonight. I'll try to wrap the system up tomorrow and push then.
Title: Re: General Discussion
Post by: DarkTl on January 17, 2015, 09:35:45 AM
Retagged King of Fighters pack. There is only one character, but she is very known. I kept stumbling upon her all the time, so I made a pack after all.
And tagged Attack on Titan pack, I made it several months ago but didn't tagged until we finished new concept.

I have to say, using portraits+sprite makes packs creating much easier.
Title: Re: General Discussion
Post by: Xela on January 17, 2015, 10:01:47 AM
Retagged King of Fighters pack. There is only one character, but she is very known. I kept stumbling upon her all the time, so I made a pack after all.
And tagged Attack on Titan pack, I made it several months ago but didn't tagged until we finished new concept.

I have to say, using portraits+sprite makes packs creating much easier.

It turned out to be a really shitty day for me yesterday so I didn't get anything done. Going to look into items screen tonight.
Title: Re: General Discussion
Post by: DarkTl on January 17, 2015, 10:39:02 AM
Small update for tagger. Now other buttons, such as delete, give focus to file list when pressed too.
Title: Re: General Discussion
Post by: Xela on January 18, 2015, 06:25:25 PM
I am not going to push yet because there is some odd behavior here and there + a lot of stuff isn't ready but:

- Added Unique items.
- Added Quest items (forgot the filters).
- Rescaled a LOT of items display/control code.
- Auto-Mood should now be applied to portrait pics as well.
- Added bg_color = "dark" property, which darkens itemsframe and sets the items count white within that frame.
- New sells property added to shops (determins what they will buy).
- Restored mousewheel controls to the girlslist screen.
- Updated most items related screens.

(http://s22.postimg.org/kmtjwqje5/2015_01_19_1_22_34.jpg) (http://postimg.org/image/kmtjwqje5/) (http://s22.postimg.org/67g8bkvql/it1.jpg) (http://postimg.org/image/67g8bkvql/) (http://s22.postimg.org/wr8tdpwa5/it2.jpg) (http://postimg.org/image/wr8tdpwa5/) (http://s22.postimg.org/6uf513sml/it3.jpg) (http://postimg.org/image/6uf513sml/)
Title: Re: General Discussion
Post by: Xela on January 19, 2015, 08:59:36 PM
Phew...

Added the sprite --> height method + default height ("average", other options are "tall", "short").
Added "skillmax" to items, old cmax is now called "statmax". Same rules apply, this only works for items that apply their effects without reverse (like consumables without ctemp or misc).
Adapted and rescaled auto-equip method.

This damn thing sure took a lot out of me :(
Title: Re: General Discussion
Post by: DarkTl on January 20, 2015, 12:24:14 AM
Now would be a good time for guide about creating unique girls items. I'm working on a pack where characters could use such items.
Title: Re: General Discussion
Post by: Xela on January 20, 2015, 07:38:24 AM
Now would be a good time for guide about creating unique girls items. I'm working on a pack where characters could use such items.

Right now they are items that can only be used with a specific character.

Field is:
"unique": "chr_id",

For the rest they can be same as the other items. I am thinking about allowing several ids in the list or maybe origin (any girl from a specific origin) field as well in the future.
Title: Re: General Discussion
Post by: DarkTl on January 20, 2015, 08:47:12 AM
So, those items already will be in girl's inventory from the beginning? And all that remains is to add item json and icon in the items folder?
Title: Re: General Discussion
Post by: Xela on January 20, 2015, 09:18:57 AM
So, those items already will be in girl's inventory from the beginning? And all that remains is to add item json and icon in the items folder?

No, usually you want to create a quest to find such an item so it's not an option to place it into girls inventory. You can always add it manually and maybe even create it manually. CW got examples I think.

*Yeap, he does:

Code: [Select]
label start_Airi:
    # registering item
    python:   
        item = Item()
        item.id = "Wraith's Scythe"
        item.icon = "content/chars/Queen's_Blade/Airi/Airis_scythe.png"
        item.desc = "This high quality scythe has been imbued with dark magic and has the ability to become incorporeal together with its wielder."
               
        item.mod = dict(attack=25, magic=10)
        item.max = dict(attack=15, magic=5)
       
        item.price = "0"
        item.sex = "female"
        item.chance = "0"
        item.eqchance = "0"
        item.slot = "weapon"
        item.type = "Scythe"
        item.attack = "ScytheAttack"
        item.hidden = "false"

        item.init()
       
        items[item.id] = item

   
    # equiping item to girl
    $chr=char["Airi"]
    $chr.inventory.append(items["Wraith's Scythe"])   
    $equip_item(items["Wraith's Scythe"], chr)
   

    return

You'll have to add item.unique = "Airi" to ensure new logic applies. It will not work until I push and we get rid of all the bugs. Note that CW creates script folders and places unique resources there, hence the path not leading to usual folders.

You can also use:

Code: [Select]
item.mod = {"attack": 25, "magic": 10}
which is marginally faster and looks similar to JSON that you're prolly used to. The rest of the code can also be simplified:

Code: [Select]
chr=char["Airi"]
chr.inventory.append(item)
equip_item(item, chr)
But put it on pythons indent if you are not using oneliner statements ($).
Title: Re: General Discussion
Post by: DarkTl on January 20, 2015, 09:41:07 AM
I see. This script is tied to start_Airi label, it seems. What to do with it?
Title: Re: General Discussion
Post by: Xela on January 20, 2015, 09:46:18 AM
I see. This script is tied to start_Airi label, it seems. What to do with it?

Every girls comes with her own starting label bound to start_girlid, like Hinatas would be:

Code: [Select]
label start_Hinata:
or Namis:

Code: [Select]
label start_Nami:
I would prolly supply chr to the label as argument, I'll try adding that with the next push.

Also do not forget to add "return" to the end of the label or the game will end with it.
Title: Re: General Discussion
Post by: DarkTl on January 20, 2015, 10:00:31 AM
So, the label is always 'start_' + character id? What would happen if you use it for random character id?
Title: Re: General Discussion
Post by: Xela on January 20, 2015, 10:07:26 AM
So, the label is always 'start_' + character id? What would happen if you use it for random character id?

I am not sure, most likely whatever the code you put there will end up running many, many times (lots of random girls in the game). It is meant for unique girls only.
Title: Re: General Discussion
Post by: DarkTl on January 20, 2015, 11:48:30 AM
Small push with traits and blocked traits that I forgot last time. I restored well-mannered and ill-mannered traits, they now affect refinment skill.
Also uploaded Blazblue pack and jsons. Most of charaters there could use unique items, I'll upload them later when the system will be ready.

That's a high quality pack, characters are well-designed, popular and well drawn. They even released it on pc recently, so now anyone can become familiar with the game.
Title: Re: General Discussion
Post by: Xela on January 20, 2015, 11:53:17 AM
Cool. I am going to push as well, going back to a revision on your own PC with Mercurial is a lot harder than falling back to the server version. Some stuff is unfinished but a least you can take a look at the items screens and I can fall back with one command line after messing with BE.
Title: Re: General Discussion
Post by: Xela on January 20, 2015, 08:17:18 PM
Ended up learning everything about viewports in Ren'Py that may or not be useful at some point, but didn't get much of anything done otherwise :( I'll take another shot at BE tomorrow.
Title: Re: General Discussion
Post by: DarkTl on January 21, 2015, 06:28:48 AM
Can we use height field in jsons now?
Title: Re: General Discussion
Post by: Xela on January 21, 2015, 06:36:40 AM
Can we use height field in jsons now?

Yeap, I don't think anything would have happened if you did before.
Title: Re: General Discussion
Post by: DarkTl on January 21, 2015, 02:38:41 PM
I keep tagging stuff at work, like 6-7 hours every day. Damn, it better be the last massive retagging ever.

Update for tagger.
- It now has pytfall icon too!  :)
- Added another sorting option, mask. As long as it selected, a text field near it works as a file mask for file list. This way you can freely sort files as long as you remember tags, like *nn* will mean all SFW files.
Title: Re: General Discussion
Post by: DarkTl on January 21, 2015, 02:46:15 PM
I remember some other option from wm that we could use. You can control what kind of sex services your brothels provide. I'm not sure how useful would be to allow/prohibit all types, but at vety least you could prohibit vaginal sex to preserve virginity if needed.
Title: Re: General Discussion
Post by: Xela on January 21, 2015, 03:09:47 PM
I keep tagging stuff at work, like 6-7 hours every day. Damn, it better be the last massive retagging ever.

Update for tagger.
- It now has pytfall icon too!  :)
- Added another sorting option, mask. As long as it selected, a text field near it works as a file mask for file list. This way you can freely sort files as long as you remember tags, like *nn* will mean all SFW files.

Kewl!

Ok.. so I am dropping Jake's BE. The thing is that while I've seen code paradigms like that in books, it's too far away from what I like working with. Everything is a wrapper around something else, every actions, modification or interaction can be intercepted or modified at 2 - 4 places but it results in a structure that I can barely keep in mind at any one time :(

I don't know if it's a lack of professionalism (it prolly is) but I write code that gets done what it is supposed to and write wrappers around it only when required on expansion.

So I'll revert everything that I've done today/yesterday and leave Jakes BE as it is and start writing my own version. I got really drunk out of frustration for the first time this year tonight because it's the first time I understood what the code does but couldn't bring myself working with it...

We'll stick with it until we have something that can do at least the same thing as the engine. No idea how long that can take.

I remember some other option from wm that we could use. You can control what kind of sex services your brothels provide. I'm not sure how useful would be to allow/prohibit all types, but at vety least you could prohibit vaginal sex to preserve virginity if needed.

Yeah, it's a decent feature.
Title: Re: General Discussion
Post by: DarkTl on January 23, 2015, 11:35:12 AM
Did you fixed portraits emotions? I can't tell, I just got a sad slave with 100 joy, while others seem happy.
Title: Re: General Discussion
Post by: Xela on January 23, 2015, 11:53:50 AM
Did you fixed portraits emotions? I can't tell, I just got a sad slave with 100 joy, while others seem happy.

I did, prolly a bug somewhere, system is still untested.
Title: Re: General Discussion
Post by: DarkTl on January 23, 2015, 02:05:47 PM
Finished dead or alive pack, pretty good one.
Title: Re: General Discussion
Post by: DarkTl on January 24, 2015, 08:15:41 AM
Tagged Dragon Quest pack.
Title: Re: General Discussion
Post by: CherryWood on January 24, 2015, 08:46:03 AM
so fast  ???
...I'm in like half of the first pack  :( didn't even learn how to make new data files yet  :-[
Title: Re: General Discussion
Post by: DarkTl on January 24, 2015, 09:02:53 AM
Yeah, as long as everything works, an IT engineer is not needed, so I do nothing but tag them for days  :)

You could take a look at my jsons if you need examples, they are in db, and direct links are in my packs thread. I removed all old links in the thread.
The only problem is to remember all existing skills. I always have classes-characters.rpy opened in my notepad+ to make sure I didn't forget something.
Title: Re: General Discussion
Post by: CherryWood on January 24, 2015, 09:19:09 AM
oki, I'll take a look.


this new personalities are a bit troubling for me when I'm trying to add girls from sources that doesn't give much official info about that, like Kancolle or Idolmaster. Or vocaloids, even most known Hatsune Miku is a bit different in every song...
Title: Re: General Discussion
Post by: Xela on January 24, 2015, 09:31:23 AM
this new personalities are a bit troubling for me when I'm trying to add girls from sources that doesn't give much official info about that, like Kancolle or Idolmaster. Or vocaloids, even most known Hatsune Miku is a bit different in every song...

Just use normal personality type :)
Title: Re: General Discussion
Post by: DarkTl on January 24, 2015, 10:05:24 AM
Yeah, ie deredere. Though another option is to turn them into random ones, like I always do with characters with no personality written.
Title: Re: General Discussion
Post by: DarkTl on January 25, 2015, 06:51:15 AM
Tagged guilty gear pack.
Title: Re: General Discussion
Post by: Xela on January 25, 2015, 07:20:53 AM
Tagged guilty gear pack.

That's awesome... I better get something done as well. Once again decided to proceed with our own BE because I simply do not enjoy working with Jake's code and this is supposed to be fun :)
Title: Re: General Discussion
Post by: DarkTl on January 25, 2015, 07:44:16 AM
We can calculate how long it will take. It's been 10 days since I started retagging, I tagged about 4000 pictures, thus about 400 per day.
Remaining unique characters have about 9500 pictures, random characters have 7100 pictures. So I'll need about 42 days more to complete everything.

Damn, at this point even help with tagging is welcomed  ::)
Title: Re: General Discussion
Post by: Xela on January 25, 2015, 07:53:10 AM
We can calculate how long it will take. It's been 10 days since I started retagging, I tagged about 4000 pictures, thus about 400 per day.
Remaining unique characters have about 9500 pictures, random characters have 7100 pictures. So I'll need about 42 days more to complete everything.

Damn, at this point even help with tagging is welcomed  ::)

Maybe we can put a request for it or something... I am busy with getting the BE together.
Title: Re: General Discussion
Post by: DarkTl on January 25, 2015, 08:15:25 AM
Yup, gonna try it.
Title: Re: General Discussion
Post by: DarkTl on January 25, 2015, 08:59:30 AM
Decent texts for events there (http://www.pinkpetal.org/index.php?topic=3433.120). I mean attachments in the thread.
Title: Re: General Discussion
Post by: DarkTl on January 26, 2015, 04:46:33 AM
I probably have to write a more detailed guide for tagging, with examples, screenshots and hints. But it will be time consuming, I'm not sure it's worth it now, when I have 2 months of guaranteed work with packs and items.
Title: Re: General Discussion
Post by: Xela on January 26, 2015, 07:28:47 AM
Fucking phone decided it was time to reboot just as was typing a reply and a large report on be progress... guess it was not meant to be...
Title: Re: General Discussion
Post by: DarkTl on January 26, 2015, 09:06:11 AM
It appears that our tags system and my tagging guide are more intuitive than I thought. People can understand them without being in the dev team for years  :D
Title: Re: General Discussion
Post by: Xela on January 28, 2015, 09:16:24 AM
Pooolka resurfaced after god knows how many years. His knew game (as expected from the original creator of SimBrothel, SlaveMaker and HHS) has a pool of great ideas. So far I especially like politics structure.
Title: Re: General Discussion
Post by: DarkTl on January 28, 2015, 01:08:48 PM
Link?
Title: Re: General Discussion
Post by: Xela on January 28, 2015, 01:19:16 PM
Link?

https://www.futanaripalace.com/showthread.php?58636-A-new-Pooolka-game-Seventh-Heaven-Guardian-Angel

I respect how he can create concepts that are catchy, fun and interesting almost effortlessly without worrying about rl comparisons or sense :D Game is raw but it's a lot of fun and feels fresh...
Title: Re: General Discussion
Post by: livingforever on January 28, 2015, 02:25:48 PM
Hi!
First: FutunariPalace is login only. Here's a direct link (https://mega.co.nz/#!iwxBDIrZ!ZEFqF5VzYVXJ4bdc6pEEwR8PhWbIeJ59no_2UrHdU4s).
Second: How exactely do you know that he is creating things effortlessly (especially given how it took several years for him to reappear)? How do you know that he is not worrying about comparisons and sense?
Have fun!
Title: Re: General Discussion
Post by: Xela on January 28, 2015, 03:10:22 PM
First: FutunariPalace is login only. Here's a direct link (https://mega.co.nz/#!iwxBDIrZ!ZEFqF5VzYVXJ4bdc6pEEwR8PhWbIeJ59no_2UrHdU4s).

True, but registration there does not require any special requirements like with some sites where you must have an invite from a longstanding member.

Second: How exactely do you know that he is creating things effortlessly (especially given how it took several years for him to reappear)? How do you know that he is not worrying about comparisons and sense?

Honestly, I just assumed. He is the creator of design that spawned many games and captured the minds of many people in the field including my own. I didn't even post a reply before I've tried the game and it was exactly what I've expected.

All and all, I conciser PyTFall design to be far superior to any of Poolka designs but his sh!t is based around pure content, it has always been. Like Akabur's designs (for example) are based around art, our designs are based around depth of logic and authenticity.

Maybe one day someone will take new concept and expand on it like they've done with HSS, Slavemaker and Slave Maker but my point is that it's a really decent game where almost no effort was made for it to make sense, be humanly possible/probable and still be fun to play :)

There are couple of thing there that I definitely not mind seeing in PyTFall.
Title: Re: General Discussion
Post by: DarkTl on January 28, 2015, 11:54:23 PM
He creates a new concept, writes a simple game for it and forgets about it forever  ::)
Title: Re: General Discussion
Post by: Xela on January 29, 2015, 07:48:59 AM
He creates a new concept, writes a simple game for it and forgets about it forever  ::)

Yeap :D
Title: Re: General Discussion
Post by: DarkTl on January 29, 2015, 11:43:09 AM
Retagged SAO and Full Metal Daemon. More than half of unique ones is done.

Even though we use portraits, it's still not enough for some characters. I had to delete Lodoss War pack for example, and I most likely will delete at least a couple of random ones.
However, I still have raw resources for random packs that I collected last spring, just like our random elves, but with humans.
Title: Re: General Discussion
Post by: DarkTl on January 30, 2015, 11:39:01 AM
Retagged small Seiken Densetsu pack today. Also, I received some help with tagging! Janmaba tagged queens blade pack, it's whopping 1080 pictures. Of course I need to make sprites and portraits first before uploading it, I don't wanna to force people to do it for us.
Title: Re: General Discussion
Post by: DarkTl on February 01, 2015, 05:43:49 AM
Uploaded Queen's Blade pack. I decided to drop Irma, she doesn't have enough pictures even for portraits. So we might as well rename Blue who uses her sprite to Irma. She has pretty much the same personality anyway (and she likes cats  ::) ). All Irma pictures can be used there too.

@Cherry, could you please answer my pm?
Title: Re: General Discussion
Post by: Xela on February 01, 2015, 06:01:23 AM
Uploaded Queen's Blade pack. I decided to drop Irma, she doesn't have enough pictures even for portraits. So we might as well rename Blue who uses her sprite to Irma. She has pretty much the same personality anyway (and she likes cats  ::) ). All Irma pictures can be used there too.

@Cherry, could you please answer my pm?

Ghm... I'd love to make her first NPC with a proper character class. Going to look into that when we'll start working on some actual content.
Title: Re: General Discussion
Post by: Xela on February 01, 2015, 08:40:50 AM
- Just pushed Alpha version of the BE. You'll need to click Test D-Screen button or whatever it's called (One on the opposite side of "tagger"). Whoever is on your team will be used... Otherwise game will put Hinata and Nami (or crash if you don't have them). If you want to change row, go to character profile directly from girlslist screen and type:

Code: [Select]
chr.true_row = 0 # Backrow
chr.true_row = 1 # Frontrow.

If I have time tonight, I'll keep working on the BE...
Title: Re: General Discussion
Post by: DarkTl on February 01, 2015, 12:09:16 PM
Retagged Xenosaga pack.

Our mobs have portraits too. Might as well use them. Characters portraits will be on the left, battle log in the middle, mobs portraits with health bars on the right.
Title: Re: General Discussion
Post by: STABInTheDarkness on February 01, 2015, 02:07:49 PM
Any ETA on a new version release? I'm really interested in giving this project a go, but none of the old links work anymore, the ones to MEGA just stop at 30% or so and the torrent is having no seeds.

I really like the sound of the development from this thread though.
Title: Re: General Discussion
Post by: Xela on February 01, 2015, 02:11:48 PM
No ETA, we still have too much to do before game can be released again. Torrent failed because of the tracker a about a month ago and for Mega you prolly just need browser plugins.
Title: Re: General Discussion
Post by: livingforever on February 01, 2015, 04:29:01 PM
Hi!
Torrent failed because of the tracker a about a month ago
Well... I stopped seeding after reaching a share rate of 200. DHT only (trackerless torrent) should still work if people are still seeding.
Anyway, I won't create a new one until the next release (not worth it, obviously).
Have fun!
Title: Re: General Discussion
Post by: Xela on February 02, 2015, 04:30:32 AM
My MEGA account was killed off due to hosting old WM AGL I presume... So now there are no more links for Alpha at all.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2015, 05:24:38 AM
Was it in a password protected archive with encrypted file names? I hope it wasn't, otherwise we have a problem  :(
Title: Re: General Discussion
Post by: Xela on February 02, 2015, 05:47:03 AM
Was it in a password protected archive with encrypted file names? I hope it wasn't, otherwise we have a problem  :(

Nope, AGL was ancient, those were all unencrypted, open archives. I lost some other files as well but that cannot be helped I suppose...
Title: Re: General Discussion
Post by: DarkTl on February 02, 2015, 10:52:14 AM
Fixed a small error in the tagger with "no bg" tag that was ignored by reading procedure because of a typo (not writing one though, there is no need to retag something because of it).
Title: Re: General Discussion
Post by: Xela on February 03, 2015, 10:51:12 AM
I didn't get anything done in the past two days due to work and trying to figure out what laptop to buy (finally).

I'll try to put in a few hours tonight, otherwise maybe on weekend...
Title: Re: General Discussion
Post by: DarkTl on February 05, 2015, 09:47:55 AM
Retagged Sora and Tales packs.
Title: Re: General Discussion
Post by: DarkTl on February 09, 2015, 07:51:44 AM
Caught a really nasty cold, so there is no progress last 4 days. Tomorrow I'll resume my work with packs.
Title: Re: General Discussion
Post by: Xela on February 09, 2015, 08:15:37 AM
:(

I've caught myself a new laptop (faster than my outsdated desktop in every way) and some issues with work so I didn't get anything done project-wise either :(
Title: Re: General Discussion
Post by: DarkTl on February 10, 2015, 07:04:00 AM
Yeah, I've got a new desktop three months ago either. For playing DA:I, too bad it turned out to be a complete disappointment.
Well, at least pytfall and all pictures editing tools run super fast now  :)
Title: Re: General Discussion
Post by: DarkTl on February 15, 2015, 05:47:14 AM
Finally uploaded Persona pack, it took some time to make more or less decent sprites.
Only small Tekken and big Touhou and Naruto packs remained, I mean unique ones. After that there will be random ones. I expect some of them to be removed due to our need in sprites and portraits.
Title: Re: General Discussion
Post by: DarkTl on February 17, 2015, 09:42:14 AM
Retagged Naruto pack.
Some girls from there are forced by the game to be slaves either.
Title: Re: General Discussion
Post by: DarkTl on February 18, 2015, 09:55:36 AM
Retagged Tekken pack, the end (for unique packs) is near!

I was barely able to find nicknames in the game's gui btw. I know I'm bad with this stuff, but this time there really wasn't any hints at all.
Also we still need another font. Cherry writes Hinata's clan name as Hyūga, and that "ū" is not visible in the menu where you can change nickname.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2015, 05:14:47 AM
Aaand retagged Touhou. I did the right thing back then when decided to make touhou characters in separate packs. Even 5 girls took 800 MB.
I didn't just tagged/retagged packs, I also updated pictures base a bit, so they are a bit larger now. Well, I guess good connection is the main system requirement for our game.

Unique packs are done. It's 3,5 GB in total, with about 20200 pictures. No more new packs until 1.0 at very least  :D
Title: Re: General Discussion
Post by: DarkTl on February 25, 2015, 02:33:33 PM
Found HuniePop game recently, pretty cool systems there. I'm not telling that we have to use the same or similar minigames, but the very idea of dates is interesting there.
Title: Re: General Discussion
Post by: Xela on February 25, 2015, 03:01:51 PM
I am very busy this week but I should have some time to try it out and maybe even finish up and integrate new BE into the game this weekend.

Minigames should fit into a context and we''ll be better off constructing that for the game and finishing up new modules as first priority.
Title: Re: General Discussion
Post by: DarkTl on February 26, 2015, 08:58:50 AM
I recommend to try that game nevertheless. There are high quality art and voice acting (english btw). There is an uncensored version at pornolab, the one from steam does not have some scenes. It also was made with the help of kickstarter, so you can say it's an indie project to some extent.
Title: Re: General Discussion
Post by: DarkTl on March 01, 2015, 10:56:36 AM
Uploaded 5 random packs. Random packs are not as huge as unique ones, so they require less time.

Now I know that I'll never play that mod for wm that they make in User Mods section. They added undead traits, and when girls die they can come back as a zombie or a skeleton (FFS!)  :(
Title: Re: General Discussion
Post by: kyuubi43 on March 03, 2015, 10:17:15 AM
I am just going to say it.....


THE WAIT IS DRIVING ME MAD!


that said I have started diving in to the asian games to kill time and i doesn't help that 90% of them (eroge or not ) seem to all use Visual Novel Format (VNF) which is really annoying most of the game are 80% reading, 10% moaning girl voiceover, 8%  various images, and 2% gameplay (well the ones that actually have gameplay)


I read most of your forums and see all the proposed gameplay value and am like please let the awesome be ready soon.


So keep up the Epic work.
Title: Re: General Discussion
Post by: DarkTl on March 05, 2015, 10:12:12 AM
It won't be long before I'll finish retagging. There are 5 random packs left, and I do about 1-1.5 random packs per day. There is also my long term project of making big human random packs depending on hair color (pretty much like my elves packs, but human pictures are way more common), but even with the help of Janmaba it might take many weeks to process such amount of images, so it's not an immediate priority.

I'll have to remake items a bit after finishing with packs, so we need a conclusion about stats before I'll begin it. I mean vague things like battle stats and libido. Also we need to figure out what to do with existing spells, I mean do we need items to learn them or not.



Also, Cherry (and all possible pack makers in the future), it will be wise to not include girls jsons into packs and upload them separately. I personally use dropbox for jsons, since files are small enough for its downloads limitations, even with a free account.
Title: Re: General Discussion
Post by: Xela on March 11, 2015, 12:41:43 PM
I am working on improving attacks and adding new once to the BE at the moment... it takes a lot of time but it is needed. Most of the animations are now perfect (40% were miscoded even for Jakes BE). I am going to add some new stuff and push for review today or tomorrow.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2015, 12:59:06 PM
I'll have to remake items a bit after finishing with packs, so we need a conclusion about stats before I'll begin it. I mean vague things like battle stats and libido. Also we need to figure out what to do with existing spells, I mean do we need items to learn them or not.
I mean it. I won't be able to work on items until we sort that out.
Title: Re: General Discussion
Post by: Xela on March 11, 2015, 01:05:12 PM
I mean it. I won't be able to work on items until we sort that out.

I am open to suggestions or at least a list of concrete topics for discussion. I gtg now but brb in an hour... you know my general approach to stats like libido... if we can go without them for the next release, don't use them :)

Game is getting far to complicated and difficult to manage/keep track of things. We do need to discuss battle items for sure but I am too confused about that atm because I haven't figured out where to draw the line between items and BE yet. We can discuss that as well I guess.
Title: Re: General Discussion
Post by: Xela on March 11, 2015, 01:07:58 PM
|PS:

Just pushed updated spells if you want to take a look. Also fixed small but significant but with items.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2015, 01:55:12 PM
Well, I tried  :)
Quote
  File "game/library/screens/pyt - screens - arena_inside.rpy", line 15, in script
    $ pytfall.arena.screen_loop()
  File "game/library/screens/pyt - screens - arena_inside.rpy", line 15, in <module>
    $ pytfall.arena.screen_loop()
  File "game/library/classes - arena and exploration.rpy", line 1098, in screen_loop
    self.start_chainfight()
  File "game/library/classes - arena and exploration.rpy", line 1955, in start_chainfight
    be_bridge_team_setup(hero.team, battle, f_class=PlayerFighter, skip=True, sprite_flip=False)
  File "game/library/functions.rpy", line 769, in be_bridge_team_setup
    Member.RegisterSkill(Library.Skills.__dict__[key])
KeyError: 'PureLight'

Now, items and stats.
- magic defence of any kind. It could be several elements resistances, it could be one single stat like magic defence, it could be some tricky formula based on our old stats. But it should not be just normal defence, it ruins the concept of magic.

- we could use a new field for items that changes character magic damage. Like, fire damage +n%, water damage -m%.
It's not mandatory, but it will help with items creation a lot.

- if you don't have any other plans, we need items to learn spells. I don't remember if we have such a field or is it works as intended since I never used something like that before.
That leads us to possible limitations that we discussed before, like only characters with dark affinity could learn dark spells by themselves, and you need such a character with big enough desposition if you want to learn a dark spell without dark affinity.
Title: Re: General Discussion
Post by: Xela on March 11, 2015, 02:45:04 PM
Well, I tried  :)
Now, items and stats.

Test it with our BE, not Jake's :)

I still haven't transferred the game to new design.

Now, items and stats.
- magic defence of any kind. It could be several elements resistances, it could be one single stat like magic defence, it could be some tricky formula based on our old stats. But it should not be just normal defence, it ruins the concept of magic.

No new stats, unless you have a really good gameplay implementation for them. We need to focus on good gameplay and simple logic. Most of new games work like that and are a lot of fun! I would suggest using defence, intelligence and constitution.

- we could use a new field for items that changes character magic damage. Like, fire damage +n%, water damage -m%.
It's not mandatory, but it will help with items creation a lot.

If we keep adding stuff like this, we'll never release new version :D Also stuff like this is not hard to add later on and will make interesting additions to the game. Items are not a problem, once we have a non alpha version of the game, people will help you with items... like in all other games like ours.

- if you don't have any other plans, we need items to learn spells. I don't remember if we have such a field or is it works as intended since I never used something like that before.
That leads us to possible limitations that we discussed before, like only characters with dark affinity could learn dark spells by themselves, and you need such a character with big enough desposition if you want to learn a dark spell without dark affinity.

Sounds complicated. I was thinking about creating items that add new attacks or more than one attack.

====
PS: Test Dscreen button on the main screen activates battle setup with new BE. It's been doing that for about a month now in case you've missed my post.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2015, 03:26:57 PM
Aww, I thought you completely replaced the old BE finally  :D

I was thinking about consumable books (or miscs) that add a spell after using, we already have some cool icons for such items in db. I mean permanently, of course.

As for mag def, I was thinking about formulas based on defence and constitution for normal attacks (not just defence) and defence and intelligence for magic attacks.
Like (2 x def + (int *or* const depending on attack source))/3 at very least.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2015, 04:22:59 PM
One more thing. I tested high level characters, it's not like they have billions of hp. But nevertheless in many games there are items that restore health/mp/stamina in percent, usually about 25, 50 and 100%, thus solving any possible problems with high level healing due to balance issues. They also considered as high level items, more expensive and rare than usual restoration items.

In our case such items should be hardcoded.
Title: Re: General Discussion
Post by: Xela on March 11, 2015, 04:26:42 PM
I was thinking about consumable books (or miscs) that add a spell after using, we already have some cool icons for such items in db. I mean permanently, of course.

I think that is already possible. If not, I'll make it so.

As for mag def, I was thinking about formulas based on defence and constitution for normal attacks (not just defence) and defence and intelligence for magic attacks.
Like (2 x def + (int *or* const depending on attack source))/3 at very least.

Constitution only as a tertiary stat. Defence will work for physical attacks and Defence + Intelligence and Constitution for magic. I would not be against keeping everything as it is either...

One more thing. I tested high level characters, it's not like they have billions of hp. But nevertheless in many games there are items that restore health/mp/stamina in percent, usually about 25, 50 and 100%, thus solving any possible problems with high level healing due to balance issues. They also considered as high level items, more expensive and rare than usual restoration items.

In our case such items should be hardcoded.

Maybe... but there is no realistic scenario where combatant has health over 400 - 500. I doubt we need this.
Title: Re: General Discussion
Post by: Xela on March 11, 2015, 06:44:37 PM
Aww, I thought you completely replaced the old BE finally  :D

I've been meaning to do that but there is still a lot of work to be done on the BE. Most of the stuff is working but there is at least one bug with targeting and a much needed code cleanup. More attacks, healing magic and couple extra special attacks (poison/confusion/charm) would not hurt either. Maybe some buffups as well.

I am not going to do a clean-up before I added those things because I doubt that I can come up with the structure we need before that is done.
Title: Re: General Discussion
Post by: DarkTl on March 12, 2015, 07:40:32 AM
You explained before how to make items sets, but I'm not sure where to write that line exactly. A new json perhaps?
And I'm not sure if you coded that already (I don't think so).

Constitution only as a tertiary stat. Defence will work for physical attacks and Defence + Intelligence and Constitution for magic. I would not be against keeping everything as it is either...
Well, magic should be more powerful since it requires mp after all, and elemental weaknesses are not enough. Otherwise there is no point to use it at all without such a weakness among enemies.
When you will need several stats to resist it, it's already better than nothing.
Title: Re: General Discussion
Post by: Xela on March 12, 2015, 12:28:14 PM
You explained before how to make items sets, but I'm not sure where to write that line exactly. A new json perhaps?
And I'm not sure if you coded that already (I don't think so).

If you want new JSON, it's not an issue, I'll make it work no matter what. One thing is that I am not going to do anything to activate auto-equipping of sets before the next release. You're right, I don't recall coding this in but it should not be an issue. I have a really good idea on how to re-implement items system in code but no time to make it happen :(

Well, magic should be more powerful since it requires mp after all, and elemental weaknesses are not enough. Otherwise there is no point to use it at all without such a weakness among enemies.
When you will need several stats to resist it, it's already better than nothing.

I disagree, at higher levels MP stops being an issue and with potions like the one that increases MP by 100 no mater what make things a bit more awkward as well. And magic is already more powerful, with the system as it stands now. But leave formulas discussions for latter time.

When you will need several stats to resist it, it's already better than nothing.

I think interesting, sometimes unique battle setups and unique AI for those setups is what makes it interesting. No amount of logic will keep making stuff interesting and we'll just be making development more difficult for ourselves.

===
- I've added our first healing spell.
- Added star-light spell with a really decent animation.
- Fixed a few other things.

I want to add one kickass area effect spell before pushing but that will take a long while so I doubt that I'll have the time to swing that until tomorrow/weekend. If you need me to do something for the items/stats, let me know and I'll try to get it done tonight.
Title: Re: General Discussion
Post by: DarkTl on March 12, 2015, 01:32:08 PM
If you need me to do something for the items/stats, let me know and I'll try to get it done tonight.
Well, spells learning for miscs and logic for sets.

Of course consumables and miscs cannot be in sets. And it's not necessarily to include rings, since we have three slots so it might cause problems for coding.

About sets and autoequipping, I'm afraid that it will lead to uniformity in equipment since everyone will try to get a full set depending on occupation. I'd rather avoid it.
There are slaves and lovers whose equipment can be controlled, so you can equip sets on them as much as you want.
Title: Re: General Discussion
Post by: Xela on March 12, 2015, 03:11:01 PM
Well, spells learning for miscs and logic for sets.

Ok, I'll see what I can do. I've been meaning to review items code a bit anyway.

Title: Re: General Discussion
Post by: Xela on March 12, 2015, 04:51:46 PM
Couple of questions:

- Are you sure that we need items sets for the nest release? Logic is not that difficult but we'll need quite a bit of gui to make it sensible as well.
- Big question: Is it sensible to switch to 16:9 resolution ratio for future development? It is now and should remain for a long while the most usable ratio.
- Is it sensible for weapons to consume fatigue? Like magic consumes MP?


===
I am adjusting some items code as well, especially since now weapons may carry more than one attack and I may have an idea for a somewhat simpler tracking of item effects than we're using today but there is some testing to be done first.
Title: Re: General Discussion
Post by: Xela on March 12, 2015, 05:27:39 PM
Turns out that I am too tired to code properly tonight. I know that coding like this ends up causing more issues the next day than it's worth so I'll do it tomorrow or most definitely this weekend.

==
Going to update to prerelease of new RenPy version tonight and see how PyTFall runs on it. There isn't anything really exciting except engine moving to SDL2, iOS support and some new features we'll prolly not going to use. But there will be more stable (and far better integrated) Android support in case we ever decide to release android version. Our game often reveals bugs that none other have due to diversity and complexity of code and features we're using.
Title: Re: General Discussion
Post by: DarkTl on March 13, 2015, 12:04:12 PM
Oh, I can add sets anytime. It's just people continue to ask us about them every time they talk about items, it's not even my idea  :)

I think 4:3 and 16:10 monitors are no longer manufactured, so I don't see any reasons to not use 16:9.

Yeah, it is sensible for physical attacks to consume fatigue.
Title: Re: General Discussion
Post by: Xela on March 13, 2015, 02:31:36 PM
Oh, I can add sets anytime. It's just people continue to ask us about them every time they talk about items, it's not even my idea  :)

We'll add them, it's easy logic wise but I don't want to mess with GUI implementations they will ask for if we just add the logic :D We'll move it post next release.

I think 4:3 and 16:10 monitors are no longer manufactured, so I don't see any reasons to not use 16:9.

They are but they are vastly outnumbered by HD and other resolutions with the same ratio. We inherited out res from Alkion. My old burned down laptop also had a 1280x800 screen and my 3D monitor for the PC has the same ratio but new laptop runs HD and I've read on the wiki and noticed when I was hunting for new hardware that almost everything id 16:9 nowadays.

Yeah, it is sensible for physical attacks to consume fatigue.

Oki, I'll keep working on BE then, there is a field with spells you requested available. Give me tomorrow to figure out if it will serve as with the new BE, I want to try and add one area attack tonight. Someone on Lemma forums pointed out that filmstrip that we're using to animate most attacks sucks performance-wise. I am waiting for an alternative, I know how to code one in myself but if one is provided, I will not say no :D
Title: Re: General Discussion
Post by: DarkTl on March 13, 2015, 02:54:16 PM
I'm not sure, I haven't seen any 4:3 in stores for years, even laptops. And 16:10 are very rare, so I assume they are just leftovers.
I had to buy 16:9 even though I had a very good 4:3 because they stopped to support 4:3 in many games and even at some websites.

I propose to add poison and regeneration effects into BE too as examples of effects. I metnioned that already somewhere, we could use power of effect there. Like [poison, 50] means -50 hp per turn.
Title: Re: General Discussion
Post by: Xela on March 13, 2015, 02:59:38 PM
I'm not sure, I haven't seen any 4:3 in stores for years, even laptops. And 16:10 are very rare, so I assume they are just leftovers.
I had to buy 16:9 even though I had a very good 4:3 because they stopped to support 4:3 in many games and even at some websites.

I propose to add poison and regeneration effects into BE too as examples of effects. I metnioned that already somewhere, we could use power of effect there. Like [poison, 50] means -50 hp per turn.

I wanted a huge cataclysmic area attack :) Regen and poison shouldn't be too hard, they will work similarly to how death works right now.

New resolution will require messing with a bunch of screens, I'll do that gradually over some time.
Title: Re: General Discussion
Post by: DarkTl on March 14, 2015, 10:01:37 AM
Alright, random packs are retagged too. It's only 700 MB and 2200 pictures, much less than unique ones, even though random characters are more common in the game. How ironic.
We are still working on human random packs, but they are not a part of the next release.

I need to adapt items to our skills system, create items for learning spells, and sort out traits items. Secondary traits are not a big deal, so we can add and remove them, but not main ones.

Do we need anything else in items? Like, I don't know, new weapon types for BE or something?
Title: Re: General Discussion
Post by: Xela on March 14, 2015, 11:48:02 AM
Great. I've changed a name of one of the items fields (to attacks) and updated all the files. Going to push now.

// Calendar (Moon) is disabled due to a bug in my Ren'Py dev version. It will be back.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2015, 08:05:32 AM
You mean the "attack" field is now called "attacks"?
Title: Re: General Discussion
Post by: Xela on March 15, 2015, 10:58:41 AM
You mean the "attack" field is now called "attacks"?

You'll see after my next push.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2015, 06:07:55 AM
Ok, here we go. I'm working on items, so
we should prolly add new fields to items that caps the skill increments for items (so some shitty book cannot increase skill indefinitely.)
Title: Re: General Discussion
Post by: kyuubi43 on March 17, 2015, 10:00:27 AM
Or you could just cap the actual skills to save you time.
set a repeating if else statement the if the skill is such in such level the Stat raising item will fail to be used else the item works. Do this by creating a parent class say....Skill Lock.....have it list the needed functions for locking the variables for the skills and stats. Then  child everything that needs the functions  with at minimum one line of code added to the child classes.

I've been following along with most your boards. My main question is whether or not you guys are implementing the K.I.S.S. method of programming to try and look at the problem or are you over complicating the solution?
Title: Re: General Discussion
Post by: Xela on March 17, 2015, 10:08:27 AM
Ok, here we go. I'm working on items, so

I did that already, field is called skillmax, older max was renamed to statmax.

Can you throw these files into your DB folder? You can find them in the game, some freaky thing happened and I can no longer find or restore them with any means...

pytfall\game\content\gfx\interface\images\calendar\cal new moon.png
pytfall\game\content\sfx\sound\world\arena\new_opp.mp3
=============================

I've been gathering resources and found another 5 or 600 animations for the BE attacks and magic. Basically we're not likely to put even the very best in the game, will simply be too many. Also managed a few sounds.

I need to write a new function to animate them, Filmstrip is working but we can do a lot better + I was given example of a better approach on lemma. We also will need more attacks, more skill, better stat ranges (to better differentiate between mages and warriors) and a lot more subclasses to current occupation which we already discussed. There are also still some issues with targeting so that'll keep me busy tomorrow (I doubt that there will be time for anything major tonight).

Small update pushed, you should get that before you start working on items.
Title: Re: General Discussion
Post by: Xela on March 17, 2015, 10:10:55 AM
are you over complicating the solution?

We tend to do this most of the time...
Title: Re: General Discussion
Post by: DarkTl on March 17, 2015, 10:28:37 AM
Or you could just cap the actual skills to save you time.
set a repeating if else statement the if the skill is such in such level the Stat raising item will fail to be used else the item works.
Well, we don't want to cap skills, we want to make different items. Like, one item can rise a skill up to 70, another one up to 200, and a rare one doesn't have limitations at all.

I did that already, field is called skillmax, older max was renamed to statmax.
Yeah, I recall that, but I couldn't find the post about it so I thought maybe I'm mistaken.

So I'll need also to make sure cmax is now statmax, and remove dismod field since it does nothing (and now I think it's for the best, we have gifts for disposition).

Can you throw these files into your DB folder? You can find them in the game, some freaky thing happened and I can no longer find or restore them with any means...
Thrown into your folder. There are a lot of files and folders in mine, you might get confused  :)
Title: Re: General Discussion
Post by: kyuubi43 on March 17, 2015, 10:28:59 AM
Keep It Simple Stupid was apply to programming for a reason you know.
still my xp with programming is considered novice at best seeing as I have less than 6ish years of experience.
But the first thing drilled by everyone I have learned or worked with was unless you make K.I.S.S. a constant you will end up working 40 times longer than needed since complex code causes complex bugs.
Title: Re: General Discussion
Post by: kyuubi43 on March 17, 2015, 10:35:00 AM
As a reply to the cap comment...I am sure you guys have a max level for your skills and stats...... (that is the cap I was talking about).......the master function with an if else statement could solve the item issue you have


If the Stat or Skill is such and such Level the item will fail
Else continue with item operation
Title: Re: General Discussion
Post by: Xela on March 17, 2015, 11:02:34 AM
...

I think I renamed all the cmax fields long time ago. I got the files, thanks. For some reason HG is still bitching about some errors referring to the files, I'll reclone my repo later if this persists.

...

Stats have insanely overcomplicated caps system, skills have none at all, for ones we went with a simple solution there.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2015, 11:55:36 AM
I think I renamed all the cmax fields long time ago.
Nope, it's still cmax everywhere in our items jsons. Are you sure you renamed the field in the code at least?  :)
Title: Re: General Discussion
Post by: Xela on March 17, 2015, 12:32:41 PM
Nope, it's still cmax everywhere in our items jsons. Are you sure you renamed the field in the code at least?  :)

Positive on the code, but I guess it has never been tested.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2015, 12:28:54 PM
How to set a dark background for items, again?
Title: Re: General Discussion
Post by: Xela on March 19, 2015, 12:35:32 PM
How to set a dark background for items, again?

We'll need to find/create a dark/light image with the same frame but for now:

Code: [Select]
    {
    "id": "Icicle Staff",
    "desc": "Like the name says, it’s an Icicle. Made more firm and lighter with magic, it is used as a staff but also successfully as a walking cane.",
    "icon": "content/items/weapon/ic.png",
    "price": 550,
    "sex": "unisex",
    "bg_color": "dark",
    "chance": 0,
    "badness": 95,
    "eqchance": 1,
    "hidden": false,
    "infinite": true,
    "slot": "weapon",
    "type": "Rod",
    "attacks": ["RodAttack"],
    "dismod": 5,
    "max": {"magic": 50, "mp": 20},
    "mod": {"magic": 20, "refinement": 5, "defence": 5, "attack": -10}
    },
Title: Re: General Discussion
Post by: Xela on March 20, 2015, 06:34:07 AM
Better dark itemframe is ready, basically the same but with bright borders. Otherwise I keep hacking at BE, it's already fully operational in the Arena in my version. Gismo is working on new gui elements and I am hacking at improving BE itself and killing off bugs.
Title: Re: General Discussion
Post by: Xela on March 20, 2015, 11:17:25 AM
Does anyone have a short sound effect for (default) casing of any spell?
Title: Re: General Discussion
Post by: DarkTl on March 20, 2015, 11:28:39 AM
Take a look at my db\animation and sounds\sounds. I don't remember all sounds that I have there, but SE012, A0900, E0533 seem suitable. There is more, probably.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2015, 12:58:41 PM
New push.
I was able to replace some items icons with better ones this time thanks to new resources in our db.

Right now the main problem are some ugly gloves. Well, maybe not ugly, but not as pretty as other items. I mean non armor items, like linen gloves. We have some decent icons for non armor boots and dresses, but not gloves, sadly.
Title: Re: General Discussion
Post by: Xela on March 22, 2015, 03:57:07 AM
New push.
I was able to replace some items icons with better ones this time thanks to new resources in our db.

Right now the main problem are some ugly gloves. Well, maybe not ugly, but not as pretty as other items. I mean non armor items, like linen gloves. We have some decent icons for non armor boots and dresses, but not gloves, sadly.

There are some icons you dislike but I love :) It's personal in many cases so don't fixate on that too much.

I've been doing a lot of work on the BE, there is still a LOT of work left but I'll push what we got:

- Added BE to Arena
- Targeting should now work perfectly.
- Added four base-spells per element (Sound is not done but animation should work). (Removed older animation that came from Jake's BE as Dark requested long time ago).
- Fixed True Pierce property.
- Added casting sounds/animations.
- Added some attacks animations.
- Added current position property and updated get cp method accordingly.
- Added auto-animations folder to be gfx and fixed mess of the files there.
- Renamed be sounds (those were messy as well).
- Updated testing BE label, Nami/Hinata will now get all attacks and magic spells + buffups similar to MC.
- Tons of fixes/Improvements.
- Added move method to the BE Core *Should prolly just be a function. Position will now be tracked automatically and it's a lot easier to move sprites.

- Added fixed dark frame for items (Gismo sent me original file). The the outer frame is the same as for light background).
- Fixed bugs Dark reported.

===
I have a lot of idea for the BE, we'll need mage/warrior/brute/ninja and etc. Subclasses asap... Higher ranges for Health/MP. Maybe SP and Magical Defence as a stat as well.

Without those BE will not make much sense. Maybe we can also limit spell/attack types subclasses can learn.

BE still needs simple damage (hit) animations and more fixes. Status skills as well (I didn't forget).
Title: Re: General Discussion
Post by: Xela on March 22, 2015, 08:19:36 AM
Going to take a break from BE and take a look at traits code, maybe move it to a separate class. It's been begging for a rewrite for a while now.

@Edit: I am removing temporary field from traits, we had it for 3 years and haven't used it once... + we now have effects!
Title: Re: General Discussion
Post by: DarkTl on March 22, 2015, 11:52:20 AM
Well, temporary traits are good for things like scars, diseases or addictions, and that's how they used in wm. All this can be done via effects.
Title: Re: General Discussion
Post by: Xela on March 22, 2015, 12:54:05 PM
Well, temporary traits are good for things like scars, diseases or addictions, and that's how they used in wm. All this can be done via effects.

I know but I searched games dir and didn't find one such a trait. Otherwise I just pushed rescaled code, it's a lot cleaner and better managable, after we test it a bit I'll delete all the old crap currently commented out.

Going to look into adding poison to BE.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2015, 01:53:22 PM
And another items push.

When at the equipment screen you change between the girl and MC, it resets items filter to "all" every time. That's pretty inconvenient.
Title: Re: General Discussion
Post by: Xela on March 22, 2015, 01:56:29 PM
And another items push.

When at the equipment screen you change between the girl and MC, it resets items filter to "all" every time. That's pretty inconvenient.

Was easier to code, I'll take a look, it shouldn't be hard to leave whatever filter is active at the moment :D

**Just pushed a fix. Filters don't reset on switching anymore.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2015, 02:50:37 PM
How do you select that inverted image for equipment doll background? Randomly, I guess? Sometimes the game uses not big enough picture, and then it looks very strange.

How about using inverted sprites?
Title: Re: General Discussion
Post by: Xela on March 22, 2015, 02:57:03 PM
How do you select that inverted image for equipment doll background? Randomly, I guess? Sometimes the game uses not big enough picture, and then it looks very strange.

How about using inverted sprites?

We're using sprites. What we used to call quest images. Tags are not updated to new system yet (I am waiting for CW to update his packs + working on other stuff). There is a chance that it's messed up for you because you're working with updated packs.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2015, 03:02:27 PM
I see.

There are some items that change max reputation. Some decrease (and they work), some increase (and they don't).
So, either we work freely with max reputation, or you forbid to decrease it too in the code.
Title: Re: General Discussion
Post by: Xela on March 22, 2015, 03:16:09 PM
I see.

There are some items that change max reputation. Some decrease (and they work), some increase (and they don't).
So, either we work freely with max reputation, or you forbid to decrease it too in the code.

It's the same thing as it was with vitality before I fixed it. I didn't bother to change reputation because we've had a lengthy conversation and decided to remove reputations and fame from stats. I just didn't get around to delete them and remove them from code.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2015, 03:34:05 PM
Ah yes, I remember now. Because warrior and stripper reputaions are not the same thing.

Might as well do it via hidden skills, ie one reputation skill for every occupation...
Title: Re: General Discussion
Post by: DarkTl on March 22, 2015, 03:38:48 PM
Aaand max joy cannot be increased too. I don't see any possible problems with high joy, so let's enable it.
Title: Re: General Discussion
Post by: Xela on March 22, 2015, 03:45:11 PM
Aaand max joy cannot be increased too. I don't see any possible problems with high joy, so let's enable it.

Oki, just create items, I'll increase lvl max for joy with the next push.
Title: Re: General Discussion
Post by: Xela on March 22, 2015, 04:45:48 PM
- Last push for tonight, I've raised max joy.
Title: Re: General Discussion
Post by: CherryWood on March 23, 2015, 02:44:34 AM
We're using sprites. What we used to call quest images. Tags are not updated to new system yet (I am waiting for CW to update his packs + working on other stuff).
Sorry, but I'm not close to finishing that yet, I'm working slow as always :(
Title: Re: General Discussion
Post by: DarkTl on March 23, 2015, 12:02:10 PM
I can help you with tagging (not updating packs though).
Title: Re: General Discussion
Post by: Xela on March 23, 2015, 01:24:39 PM
I can help you with tagging (not updating packs though).

I'd appreciate if you could retag Hinata, Sakura and Tenten by CW and Kushina by Lap. These are the only packs except for your One Piece and random girls I use for development and testing.

===
Poison is 100% functional in my dev version, I just need to add % damage you've requested (*+Logical checks) and push. Regen and dis-spell are next. I'll try to get poison done tonight or tomorrow at latest (not going to have any serious dev time until late next week).

PS: I just fixed about 10 errors that arose after switching to new traits code, mainly because new class failed to properly mimic a list and some other typo cr@p. If you're getting errors during next day/traits/items don't report them till after my next push.
Title: Re: General Discussion
Post by: DarkTl on March 23, 2015, 02:03:53 PM
The problem is that Cherry wanted to update packs for a start before tagging. I'll take a look at Kushina.
Title: Re: General Discussion
Post by: CherryWood on March 23, 2015, 04:52:19 PM
The problem is that Cherry wanted to update packs for a start before tagging. I'll take a look at Kushina.
Oki, if we need them fast, I'll switch to updating them right away and send them to you, if that's really ok.
Title: Re: General Discussion
Post by: Xela on March 23, 2015, 05:30:47 PM
Oki, actually managed to get something done tonight :D

I've fixed a good number of bugs that crashed the game post my traits update. It still needs to be tested but I fixed all I could find. Poison is working and working fairly well, we'll find ways to improve upon that in the future but for alpha it's a really good spell. Lastly, new/old but previously disabled casting effects are now bound to some of our older spells. My fav is the orb bound to older air spells (Spring Thunder and Windwhirl). There should be 4 or 5 besides the usual 14 casting effects.

Pushed, going to get some sleep...
Title: Re: General Discussion
Post by: DarkTl on March 24, 2015, 11:23:04 AM
We need to do something about slave training items... There are harnesses in body slot, meaning no clothes when they are used.

I pused new body json. After your last push if you equip and unequip Short Kimono (removes Clumsy trait), you will get Clumsy trait.
Moreover, you can have clumsy and elegant at the same time. Something is very wrong there.
Title: Re: General Discussion
Post by: Xela on March 24, 2015, 12:45:22 PM
We need to do something about slave training items... There are harnesses in body slot, meaning no clothes when they are used.

I pused new body json. After your last push if you equip and unequip Short Kimono (removes Clumsy trait), you will get Clumsy trait.
Moreover, you can have clumsy and elegant at the same time. Something is very wrong there.

I'll take a look... trying to switch to your new packs, lots of girls are missing from Naruto, Kurenai for once I used for testing as well, was that intentional?
Title: Re: General Discussion
Post by: DarkTl on March 24, 2015, 02:00:13 PM
Yup. Our standards are higher now than in the beginning 3 years ago. We need a certain type of sprite and at least 3 portraits. And ideally there should be profile pictures for various emotions.
Some minor characters, like Kurenai, don't have suitable pics even for that.

Can't be helped, unless you want the character no matter what.
Title: Re: General Discussion
Post by: Xela on March 24, 2015, 02:04:34 PM
Yup. Our standards are higher now than in the beginning 3 years ago. We need a certain type of sprite and at least 3 portraits. And ideally there should be profile pictures for various emotions.
Some minor characters, like Kurenai, don't have suitable pics even for that.

Can't be helped, unless you want the character no matter what.

I'd prefer Naruto pack to stay the same... but it doesn't matter right now, I am going to take a look at what's happening with traits and try to fix it tonight.
Title: Re: General Discussion
Post by: DarkTl on March 24, 2015, 02:25:27 PM
Oh, it's impossible. Kurenai is not the worst case, there are even more minor characters like Mei or Tayuya who absolutely don't have enough pictures to work properly unless we will hire an artist.
Title: Re: General Discussion
Post by: Xela on March 24, 2015, 02:53:15 PM
Oh, it's impossible. Kurenai is not the worst case, there are even more minor characters like Mei or Tayuya who absolutely don't have enough pictures to work properly unless we will hire an artist.

Doesn't matter... that's the least of my worries. Traits should be fixed now, still needs testing before I kill old commented out code. I am too tired to work on BE tonight, prolly going to take a look at items code and see if some much needed improvement can be made to it's quality.
Title: Re: General Discussion
Post by: Xela on March 24, 2015, 04:04:57 PM
Ok, so I've updated items code quite a bit, prolly needs a bit of testing but it's a lot cleaner now, new stuff will be easier to add in the future.

There are a lot of errors with the new girls files, for once I have not yet added skills application from girlsfiles. You've also came up with a couple of skills that we do not have in the game but they make sense so I'll add them later. We'll prolly have to review json files before release anyway so don't do anything now but this: "luck": 60, (Nami) is too much, luck ranges from -50 to 50, she'll have a very considerable advantage...

===   
 
Code: [Select]
"id": "Bokukko",
    "desc": "Confident, competitive and boyish personality, also known as a tomboy.",
    "mod": {"constitution": 100, "refinement": -100, "upkeep": 5},

We've agreed to move refinement to skills.

Going to get some sleep...
Title: Re: General Discussion
Post by: DarkTl on March 25, 2015, 01:03:20 PM
We decided what skills to add for the next release together, it's not like I just added them out of nowhere  :)

And I figured that by now we already have normalization for girls stats (like luck) in jsons. Btw we still cannot set many things for girls, like level, so girls jsons review is needed for sure. That's why I uploaded them to dropbox, separately from pictures.

We've agreed to move refinement to skills.
Yup, I wrote that file before we had fields for skills, even before we had a list of skills. I'll rewrite it after items.
Title: Re: General Discussion
Post by: Xela on March 25, 2015, 02:23:22 PM
...

Noted.

And I figured that by now we already have normalization for girls stats (like luck) in jsons.

We have normalization for a bunch of things but luck is being applied at face value, rest of stats as percentage with max taken as 100% and skills with perfect learning/action ratios. At least that's how these things are meant to be applied. Health/MP/Fatigue will be set to their respective "perfect values" (max/min) accordingly.

I had a decent idea on how to code a tracking class for skills/traits, I'll prolly fall asleep tonight but I'll try to try coding it tomorrow morning before work, we might get a very decent BE skills and traits tracking out of it.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2015, 03:57:35 AM
Ok, time to do something about libido concept, even as a placeholder without deep coding.

There are items, mostly consumables, that are clearly supposed to rise libido, ie making character horny. Increasing sex skills multipliers is not the same thing, though it helps.
I suggest to add an effect, like Aroused or Horny, that will serve as a flag instead of high libido stat.
Title: Re: General Discussion
Post by: Xela on March 26, 2015, 05:03:25 AM
Ok, time to do something about libido concept, even as a placeholder without deep coding.

There are items, mostly consumables, that are clearly supposed to rise libido, ie making character horny. Increasing sex skills multipliers is not the same thing, though it helps.
I suggest to add an effect, like Aroused or Horny, that will serve as a flag instead of high libido stat.

I think we'll rename it in the future, effects we can add based of stat value later. It's impossible to make this decision before we know how the interactions between characters will work or interactions system between MC and characters is unified.

We'll have to simplify and recode a lot of stuff to make the game development manageable I expect, but how is impossible to guess atm.

Right now I am going to try and turn that idea that I had yesterday into code.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2015, 05:56:44 AM
We'll have to simplify and recode a lot of stuff to make the game development manageable I expect, but how is impossible to guess atm.
Um, like what? I'd say we cannot afford EE without random maps generator, and  interactions with MC should be based on main personality (I'll rewrite interactions file after items too). I don't think it's possible to simplify something else right now  :)
Title: Re: General Discussion
Post by: Xela on March 26, 2015, 06:50:23 AM
Um, like what? I'd say we cannot afford EE without random maps generator

Depends on type of EE, in some option rmg might not be possible or too difficult. It can be compensated by random events/encounters in many cases, it will mainly depend on the format.

and  interactions with MC should be based on main personality (I'll rewrite interactions file after items too). I don't think it's possible to simplify something else right now  :)

Maybe simplefy is not exactly the right word but we need to redo brothels, create a class/function with characters responses to proposals and etc.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2015, 07:45:42 AM
Can't you just take the code from Alkion? I have an impression that there will be rmg.
Title: Re: General Discussion
Post by: Xela on March 26, 2015, 08:24:57 AM
Can't you just take the code from Alkion? I have an impression that there will be rmg.

I could but I am not sure that I like those dungeons. Do you?

+ We are not likely to add EE before next release.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2015, 10:24:59 AM
Well, either we use rmg or stick to SE without EE of any kind. I don't believe that we can use other engines, they look even more complicated.
Title: Re: General Discussion
Post by: Xela on March 26, 2015, 11:01:15 AM
Well, either we use rmg or stick to SE without EE of any kind. I don't believe that we can use other engines, they look even more complicated.

We'll stick to SE for now... We need to work on revamping brothels, making ST work, revamping Arena, Interactions and some sort of gameplay that sets goals. Maybe a Civilization like "Encyclopedia" explain ingame stuff. Not mentioning adding events, finishing up BE, splitting the city into quarters and localizing events, placing shops, brothels and buildings accordingly. Maybe adding crime. More importantly making the game run well and be maintainable with all of that. More stuff for SE as well...

Any sort of EE is a huge timesink that we will not be able to afford anytime soon.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2015, 11:21:03 AM
What I don't like in our SE is that MC cannot explore it directly. EE solves it, but there are other options. Like introduce assistants that control stuff instead of him and allow players to send MC into SE.

I updated and uploaded Kushina pack, it's in my thread. And another items push with bugfixes.
I got rid of some considerably ugly icons as well thanks to Gismo's resources. I'm sure that I'll finish items during this week.

There is something in gui that bothers me. After you exit the girl screen, you appear on the first page of girls list every time. It's ok when you work with Hinata only, but when you want to give items to several girls, it could be irritating. Ideally, the game should remember the page.
Title: Re: General Discussion
Post by: Xela on March 26, 2015, 12:47:07 PM
What I don't like in our SE is that MC cannot explore it directly. EE solves it, but there are other options. Like introduce assistants that control stuff instead of him and allow players to send MC into SE.

Yeap, we need management classes... and better MC participation in auto parts of the game as well. Maybe adding traits and effects to MC would not hurt either... we could always add sex property to traits, effects and any other stuff like we have for items.

I updated and uploaded Kushina pack, it's in my thread. And another items push with bugfixes.
I got rid of some considerably ugly icons as well thanks to Gismo's resources. I'm sure that I'll finish items during this week.

Oki, I'll take a look later. Didn't get much chance to code today so I'll try to do the tracking class I got in my head tonight.

There is something in gui that bothers me. After you exit the girl screen, you appear on the first page of girls list every time. It's ok when you work with Hinata only, but when you want to give items to several girls, it could be irritating. Ideally, the game should remember the page.

I'll take a look later. It's a fairly complex screen setup but it should be possible.
Title: Re: General Discussion
Post by: Xela on March 26, 2015, 06:25:02 PM
I've just pushed the update I wanted to code in.

Now be-skills can be added with items like traits and will not be removed if item is unequipped or when some event removed it but there is still item equipped and so on (smart tracking basically, same as for traits). There is a new tracking class that does that we might use for other stuff in the future :)

*testing required obviously but it seems to be working...
Title: Re: General Discussion
Post by: Xela on March 27, 2015, 04:27:26 AM
@Dark,

When you're fixing characters jsons, please change:

Code: [Select]
battle_skills = {"Skill": 1}
magic_skills = {"Skill": 1}

to:

Code: [Select]
attack_skills = ["Skill", "Skill2", ...]
magic_skills = ["Skill", "Skill2", ...]
Title: Re: General Discussion
Post by: DarkTl on March 27, 2015, 06:33:56 AM
like traits and will not be removed if item is unequipped
Um, what? If you equip a sword that gives a skill and then unequip it, the skill will remain? If so, then wtf?  :D

When you're fixing characters jsons, please change:
But those numbers after skills are supposed to set up battle AI, aren't they?
Title: Re: General Discussion
Post by: Xela on March 27, 2015, 07:32:28 AM
Um, what? If you equip a sword that gives a skill and then unequip it, the skill will remain? If so, then wtf?  :D

Yeah... that's what I spend 4 hours thinking about + coding in, the simplest way to apply stuff imaginable  ::)

Lets say a character starts the game with Fire and Fira skills. Later a ring is equipped that adds Fire, Fira and Firaga. Previously when the ring is unequipped, character would loose the original Fire and Fira spells. Now spells will remain until a real game event, permanent consumable or misc item removes it.

Similarly, previously if you had such a ring equipped and some event thought you Fire spell, it would have been useless.

Traits are tracked in the same way by the game. Even if you have two different items applying the same trait, you can still learn it through an event and keep it even when all items are unequipped.

Basically it's a counter for items, a set for stuff's that's been applied through game/events and a list with the stuff that's currently enabled. All beautifully coded and reusable.

But those numbers after skills are supposed to set up battle AI, aren't they?

For Jake's BE. Ours will work differently.

===
I am fixing some stuff, there are some errors here and there because we're now tracking references to objects instead of strings.
Title: Re: General Discussion
Post by: DarkTl on March 27, 2015, 07:57:48 AM
Ah, I thought you simplified the system by making skills permanent only.

Any thoughts about battle AI btw? Looks like Jake's BE is heavily based on rng without aggro system of any kind.
Title: Re: General Discussion
Post by: DarkTl on March 27, 2015, 12:05:06 PM
Pushed items, we're done there. Also merged Gismo's item json with ours.
Title: Re: General Discussion
Post by: Xela on March 28, 2015, 02:39:40 AM
Ah, I thought you simplified the system by making skills permanent only.

More or less, items/events still could remove skills under the old system. But new system is really good and makes items/traits code better manageable as well.

Any thoughts about battle AI btw? Looks like Jake's BE is heavily based on rng without aggro system of any kind.

Loads... grunt ai, smart ai, special ai. I have thought about it quite a bit. Coding it in is not a priority atm.

I'll be busy this weekend but will try to sneak in at least basic damage (shaking) effect to the BE and wrap up converting traits code to work with objects instead of strings.
Title: Re: General Discussion
Post by: DarkTl on March 28, 2015, 10:58:53 AM
Will we have any more battle skills before the next release? I wonder if it's time to add skills teaching items.
Title: Re: General Discussion
Post by: Xela on March 28, 2015, 11:28:22 AM
Will we have any more battle skills before the next release? I wonder if it's time to add skills teaching items.

Yeah... at least regen, disspel and revive. Maybe more, I am not sure yet.

You can always add some now and rest later. I also have some ideas for auto-creating basic attack skills. I am toying with creating shaking effect now, Ren'Py seems to have a dozen of ways of doing that and I don't know which is best. Going with a simple transform for now.

===
Just pushed... it seems to be working more or less ok. We'll have more than just the shaking effect. Works just for regular magic atm.
Title: Re: General Discussion
Post by: DarkTl on March 28, 2015, 05:12:41 PM
Before doing something there, we need a gui for skills. At least description and small element icon. Right now people have to guess what skills do.
Title: Re: General Discussion
Post by: Xela on March 29, 2015, 03:10:03 AM
Before doing something there, we need a gui for skills. At least description and small element icon. Right now people have to guess what skills do.

I'll be traveling today but I'll try to take a glance at that tonight. We'll prolly just need a desc field and we can put name of the element in there.
Title: Re: General Discussion
Post by: Xela on March 29, 2015, 05:09:25 PM
I've added desc to attacks and spells as you've asked and ways to display them. Will need a bit of work but it functions as it should. There is only basic desc for fire spell for testing at the moment.
Title: Re: General Discussion
Post by: DarkTl on March 30, 2015, 03:45:57 AM
I've noticed recently that the engine does not throw an error anymore if you use Tab symbol in jsons. I really hope they finally made it usable, and it's not just some tricky bug  :)
Title: Re: General Discussion
Post by: Xela on March 30, 2015, 06:14:06 AM
I've noticed recently that the engine does not throw an error anymore if you use Tab symbol in jsons. I really hope they finally made it usable, and it's not just some tricky bug  :)

To the best of my knowledge, python and json modules haven't been updated for a while now. I've been making noice on forums but they thought current setup is suficcient.
Title: Re: General Discussion
Post by: DarkTl on March 30, 2015, 10:08:38 AM
I fixed traits json a bit and began to rewrite interactions. After that I'll write descriptions for skills.

Btw do you want to keep FF names (~ga, ~ya, ~ra) or it's ok to change them?

Also, in my db\Images\Icons\Elements there are more icons that could be used for non elemental skills, like poison or bleeding.
Title: Re: General Discussion
Post by: Xela on March 30, 2015, 12:09:56 PM
I fixed traits json a bit and began to rewrite interactions. After that I'll write descriptions for skills.

Oki, just do what you can, I hope that it'll be enough for a release. Afterwards we'll talk about some form of intelligent tracking and flags system.

Btw do you want to keep FF names (~ga, ~ya, ~ra) or it's ok to change them?

I've always hated those names but for some reason got used to them while playing SimBro2. They also have descriptions there. You can rename them as you see fit.

Also, in my db\Images\Icons\Elements there are more icons that could be used for non elemental skills, like poison or bleeding.

Oki, system goes through a method so it's really, really easy to add new stuff.

===
I am not satisefied with current elements system anyway. I want classes like Warriors, Dark/Light/Water/... mages, Shinigami, Shinobi and etc. Also elemental alignments that are not strings (proper classes with attributes will allow for a really great system with loads of options and possibilities and maintainable code).

The system has been forming in my head for a while now, but I am not sure if we'll implement it now or after next release.

I am traveling atm so there might not be time/strength tonight/tomorrow for any updates :(

**I still have over a gigabyte of animations for spells/skills. I really want to add some simple effects for all melee/ranged attacks, skills I named in one of previous posts, poison dagger and for the Fire/Ice swords that Lap drew, I found really kickass animations as well.
Title: Re: General Discussion
Post by: DarkTl on March 30, 2015, 02:02:42 PM
The main purpose of elements system is to set elemental weaknesses without too much trouble. The only thing that the current system cannot do is to handle multielemental cases.

I don't really think that we need a separate mage class for every element considering how small our parties are. If we'd had like 5 people on the battlefield, or it would be possible to change characters during battle (FF10, Golden Sun, Neptunia Rebirth...), then it might be justified.

Elemental alignments that are not strings = number for every single element = huge items rebalance and the need for many dozens new items to cover alignments properly.
Title: Re: General Discussion
Post by: Xela on March 30, 2015, 04:38:21 PM
The main purpose of elements system is to set elemental weaknesses without too much trouble. The only thing that the current system cannot do is to handle multielemental cases.

And unique cases... Basically it's too limited without a good reason.

If we'd had like 5 people on the battlefield, or it would be possible to change characters during battle (FF10, Golden Sun, Neptunia Rebirth...), then it might be justified.

We can do 6 people on battle field now that we have rows. We can even add one more, position, there is space for that on all BE background that we use. Changing characters we can add but not before the next release.

Elemental alignments that are not strings = number for every single element = huge items rebalance and the need for many dozens new items to cover alignments properly.

No and no.

We have many traits and items and characters and non of them have numbers. It will work the same as it does now only any element can be created and weaknesses and strengths set up. We do not need to cover all elements with items either.

I don't really think that we need a separate mage class for every element considering how small our parties are.

Limiting weapons that charterers can effectively use as well as spells they can learn adds a rather unique feeling of uniqueness to them. I really liked that in SimBro2 and would like to have something along the same lines in PyTFall.

===
I didn't get a chance to do anything today, tomorrow will prolly be the same. Hopefully I can add a number of new attacks the say after.
Title: Re: General Discussion
Post by: DarkTl on March 31, 2015, 02:55:47 AM
I tested tab a bit. There are tab symbols in our traits json, and the engine doesn't mind it. But inside interactions jsons they are not tolerated. How weird.

We also have a small problem. I don't remember who separated our interaction file into small ones (not me for sure), but it wasn't done correctly for unknown reason. We lost all lines that were reactions to insults.
I'll try to restore them via our repository tonight.
Title: Re: General Discussion
Post by: Xela on March 31, 2015, 04:11:34 AM
I tested tab a bit. There are tab symbols in our traits json, and the engine doesn't mind it. But inside interactions jsons they are not tolerated. How weird.

It's a python thing... only Python 3+ allows mixing tabs and spaces, Ren'Py is using 2.79. PEP-8 (Python's coding guide) tells us to use spaces. JSON parser (I assume) accepts tabs as per JSON guidelines.

We also have a small problem. I don't remember who separated our interaction file into small ones (not me for sure), but it wasn't done correctly for unknown reason. We lost all lines that were reactions to insults.
I'll try to restore them via our repository tonight.

Thewlis had to when he merged interactions. He prolly missed it :(
Title: Re: General Discussion
Post by: Xela on March 31, 2015, 04:22:49 AM
We also have a small problem. I don't remember who separated our interaction file into small ones (not me for sure), but it wasn't done correctly for unknown reason. We lost all lines that were reactions to insults.
I'll try to restore them via our repository tonight.

Are you sure? Girls are responding to insults really well in my version? Was there something else there, I haven't looked at interaction in depth for a long while...
Title: Re: General Discussion
Post by: DarkTl on March 31, 2015, 06:24:20 AM
They do it wrong. They use lines that are not supposed to be there.
Title: Re: General Discussion
Post by: Xela on March 31, 2015, 10:35:34 AM
Odd, maybe he missed something in old or new code. I am not sure and do not have access to the code atm. I am not even 100 percent certain that new setup is working but it should...
Title: Re: General Discussion
Post by: DarkTl on March 31, 2015, 01:10:51 PM
He copied wrong lines. I was able to find correct ones in the repository, even though the file no longer exists.
Title: Re: General Discussion
Post by: DarkTl on March 31, 2015, 01:29:23 PM
Alright, girlmeets lines are pushed. Even if we'll need to rework GM somehow, at least all lines and traits there are good.
Now I'll see what I can do with battleskills named and descriptions. I'll probably add items for learning spells right before the next release, since skills names might be changed.

After descriptions there are two systems that require attention in terms of content, SE and ST.
Title: Re: General Discussion
Post by: Xela on March 31, 2015, 03:49:50 PM
Alright, girlmeets lines are pushed. Even if we'll need to rework GM somehow, at least all lines and traits there are good.
Now I'll see what I can do with battleskills named and descriptions. I'll probably add items for learning spells right before the next release, since skills names might be changed.

After descriptions there are two systems that require attention in terms of content, SE and ST.

Yeah, I'll pull tomorrow, too tired tonight but at least I got back home.

Thewlis said he'll checked in when he can, I'd prefer him finishing up any ST related code (not sure who'll work the content, I always assumed it'll be lamoli but he disappeared), I am planning updating Arena myself and there is still work that needs to be done in BE. If code needs to be added to SE, I'll do that as well.
Title: Re: General Discussion
Post by: Xela on April 01, 2015, 04:55:57 AM
Oki, I'll have one or two hours today so I'll improve SimpleAttack class a bit and rewrite our battle setup func (it still uses old code so all events are broken).

===
*PS: Ren'Py has now officially been updated to 6.99 (from 6.18). Mainly internal improvements like moving to SDL2.
Title: Re: General Discussion
Post by: DarkTl on April 01, 2015, 10:10:09 AM
Thewlis's code is well commented, so it's not too hard to convert some training actions from SM and JoNT. Though I'm not sure if the module is completely ready or not.
However, since in theory we support any kind of packs, even without huge variety of bdsm pictures, we'll have to add some tricks. Like sounds of whip and maybe screen shaking instead of whipping picture, or prison bars sprite above backgroundless girls pictures. Something like that.

For SE I'd like to have some global map with various types of territory for a start, but I failed to find one, as well as all those people who tried to find or create one.
Title: Re: General Discussion
Post by: Xela on April 01, 2015, 11:15:49 AM
Thewlis's code is well commented, so it's not too hard to convert some training actions from SM and JoNT. Though I'm not sure if the module is completely ready or not.
However, since in theory we support any kind of packs, even without huge variety of bdsm pictures, we'll have to add some tricks. Like sounds of whip and maybe screen shaking instead of whipping picture, or prison bars sprite above backgroundless girls pictures. Something like that.

I am not even sure what completely ready is for the module. Tricks as you describe shouldn't be hard to add. If you are planning to fill ST with content yourself, start somewhere small and make notes of what needs to be done/what needs to work differently. Thewlis should be able to code specific request in, I am not familiar with ST code atm.

For SE I'd like to have some global map with various types of territory for a start, but I failed to find one, as well as all those people who tried to find or create one.

I figure we can do without one for the next release... there is a lot of other stuff we can work on. Also we still have only the CW's areas, nothing else.
Title: Re: General Discussion
Post by: Xela on April 01, 2015, 02:36:12 PM

**Guys, I am going to flip resolution to 16:9 with my next push. Most screens will be messed up until we fix it but it'll be worth it in the end. No point in making new gen game using ancient resolution. I'll start by adjusting new Gismo's push and BE to work with new res. Rest of the plans will have to wait till tomorrow.
Title: Re: General Discussion
Post by: Xela on April 02, 2015, 05:58:34 AM
I picked some weird "almost" 16:9 ratio used commonly in newer laptops... going to poll for a decent res and do over again.

Title: Re: General Discussion
Post by: DarkTl on April 02, 2015, 12:41:08 PM
I don't know where to look for exploration code used for fighters guild. There is a lot of old code for our initial forest maze SE and for tiles that you tried once, it's super confusing...
Title: Re: General Discussion
Post by: Xela on April 02, 2015, 04:20:57 PM
I don't know where to look for exploration code used for fighters guild. There is a lot of old code for our initial forest maze SE and for tiles that you tried once, it's super confusing...

Which part are you looking for? Code is split between fgmanagement, jobs and arena and exploration files.
Title: Re: General Discussion
Post by: Xela on April 02, 2015, 06:29:52 PM
We have a new chatroom :) Going to try it out tomorrow!
Title: Re: General Discussion
Post by: DarkTl on April 03, 2015, 02:49:59 AM
I'd like to know where is the code related to content, ie locations, items, mobs that you can find in SE.

Btw why do we have several icons for some of the elements that are seem to be picked randomly every time you need to show one? I mean, we could use those icons for some new elements, so we should keep them, but why are they used for the same element?
Title: Re: General Discussion
Post by: Xela on April 03, 2015, 03:06:24 AM
I'd like to know where is the code related to content, ie locations, items, mobs that you can find in SE.

Btw why do we have several icons for some of the elements that are seem to be picked randomly every time you need to show one? I mean, we could use those icons for some new elements, so we should keep them, but why are they used for the same element?

We have two icons per element and decided to use them randomly at some point in the past. I'll adapt the code when I can.
Title: Re: General Discussion
Post by: Xela on April 05, 2015, 04:14:50 PM
Some concepts Gismo came up with:

(http://s23.postimg.org/dhcyq0c2f/img.jpg) (http://postimg.org/image/dhcyq0c2f/)

Thought I've post something cause with the new chat, our forum section is becoming a graveyard :)
Title: Re: General Discussion
Post by: Xela on April 05, 2015, 06:53:33 PM
Pushed first step to base traits and removed older dropdown screen (that still only in my version).
Title: Re: General Discussion
Post by: Xela on April 06, 2015, 06:14:01 AM
Note: Since we're using chat a lot, may I suggest that we try to post results of discussions in their respectable forum sections so we don't loose that/forget.
Title: Re: General Discussion
Post by: Xela on April 06, 2015, 04:41:29 PM
(http://s13.postimg.org/d8orpexz7/screenshot0001.jpg) (http://postimg.org/image/d8orpexz7/)

- Everything that doesn't have content will be insensitive
- Removed stats
- Trying out new font
Title: Re: General Discussion
Post by: DarkTl on April 07, 2015, 02:27:50 PM
A list of stuff needed for schools system:
- Skills support. With control whether theoretical and/or practical part of skill will be increased.
- Chance of decreasing other skills/stats during courses, also controled via the schools json.
- I forgot what are trainer and master skills levels  :)
- Checks for traits, if they are not supported yet, just like for occupation and disposition.
 
Title: Re: General Discussion
Post by: Xela on April 08, 2015, 05:39:07 PM
I've created a new data file for Hinata and restored initial leveling up system. Going to build up more logic for traits, elements and some other mechanics whenever I have free time for the next few days and maybe on weekend.
Title: Re: General Discussion
Post by: Thewlis on April 10, 2015, 12:49:43 PM
Guess who has arisen from the grave? Totally didn't mean to spend almost 5 months away... :(

Anyway I'm pulling from the repo as I type, and so far I've flagged somethings ya'll need me to update. I'll get a proper list up in the ST thread once I've refamiliarised myself with where I was.
Title: Re: General Discussion
Post by: Xela on April 10, 2015, 01:03:03 PM
Guess who has arisen from the grave? Totally didn't mean to spend almost 5 months away... :(

Anyway I'm pulling from the repo as I type, and so far I've flagged somethings ya'll need me to update. I'll get a proper list up in the ST thread once I've refamiliarised myself with where I was.

 ;D 8) ;D

Welcome back :)

I'll be on in an hour or hour and a half and for the whole day tomorrow. We also have a chat now to quickly discuss finer points of what needs to be done!
Title: Re: General Discussion
Post by: Thewlis on April 10, 2015, 02:39:56 PM
I keep managing to crash Mercurial whenever I try and pull from the repo. I'll keep trying but I might have to full redownload everything tomorrow.
Title: Re: General Discussion
Post by: Xela on April 10, 2015, 02:48:54 PM
I keep managing to crash Mercurial whenever I try and pull from the repo. I'll keep trying but I might have to full redownload everything tomorrow.

Oki, are you using HG? It works fine for me.
Title: Re: General Discussion
Post by: DarkTl on April 10, 2015, 02:53:18 PM
Welcome back.

You could try to visit sourceforge, maybe they want you to change password for a start or something. I recall we all had to do it some time ago.
Title: Re: General Discussion
Post by: Thewlis on April 10, 2015, 05:21:41 PM
I'm using TortoiseHg. Reset my password on SourceForge and I can get into the repo fine on there, it just keeps stopping part way through with an authentication error.
Title: Re: General Discussion
Post by: Xela on April 10, 2015, 06:28:55 PM
I'm using TortoiseHg. Reset my password on SourceForge and I can get into the repo fine on there, it just keeps stopping part way through with an authentication error.

If you're still having issues tomorrow, I or Dark can upload current dev version somewhere for you to grab. Mercurial can build hg folder and sync with SF using that.
Title: Re: General Discussion
Post by: DarkTl on April 11, 2015, 03:28:13 AM
Xela, care to share Hinata's json? Or maybe I should just make jsons for all 3 Cherry's girls...
Title: Re: General Discussion
Post by: Xela on April 11, 2015, 05:22:23 AM
Xela, care to share Hinata's json? Or maybe I should just make jsons for all 3 Cherry's girls...

My DB folder.
Title: Re: General Discussion
Post by: DarkTl on April 11, 2015, 06:55:34 AM
Outdated traits, nice  :)
Gonna write jsons.
Title: Re: General Discussion
Post by: Gismo on April 14, 2015, 02:03:40 AM
Well, I come out of the shadow and try to put graphic updates here too )

Brothel_managment and Next_day summary screens. As usual the experimental version.

(http://s14.postimg.org/5gsabi3j1/image.jpg) (http://postimg.org/image/5gsabi3j1/) (http://s14.postimg.org/n83wpyixp/image.jpg) (http://postimg.org/image/n83wpyixp/)
Title: Re: General Discussion
Post by: Xela on April 14, 2015, 04:50:48 AM
Nicely done. I pushed an update yesterday, if intro file was updated and there is a conflict, pick your version as there is nothing in mine except for an example on how to use alpha version of new class.
Title: Re: General Discussion
Post by: sohz on April 14, 2015, 07:32:42 AM
Well, I come out of the shadow and try to put graphic updates here too )

Brothel_managment and Next_day summary screens. As usual the experimental version.

(http://s14.postimg.org/5gsabi3j1/image.jpg) (http://postimg.org/image/5gsabi3j1/) (http://s14.postimg.org/n83wpyixp/image.jpg) (http://postimg.org/image/n83wpyixp/)


I keep looking on what you do guys and i just have to say: wow, really great work and the interface seem to be really cool !
Title: Re: General Discussion
Post by: Xela on April 14, 2015, 01:15:43 PM
I keep looking on what you do guys and i just have to say: wow, really great work and the interface seem to be really cool !

- One small step at a time, but we'll get something done eventually ;)
Title: Re: General Discussion
Post by: Thewlis on April 14, 2015, 05:59:58 PM
Right I pushed the skills update to the ST module.

I added 2 files to the content/db folder call "training_example_json.py" and "school_example_json.py". They're py files so I can added comments easily.

They explain how to add new training / schools to the game using json files.

Poke me if anything doesn't work / need explanation.
Title: Re: General Discussion
Post by: Xela on April 15, 2015, 04:22:25 AM
Great, thanks :)
Title: Re: General Discussion
Post by: DarkTl on April 15, 2015, 04:41:24 AM
Can you resize animation made via anim.Filmstrip? Basically, I have animation for teleportaion, but it's not as big as character sprite that should use it. I tried to use ProportionalScale in various places, but it refuses to work.
Title: Re: General Discussion
Post by: Xela on April 15, 2015, 05:11:17 AM
Can you resize animation made via anim.Filmstrip? Basically, I have animation for teleportaion, but it's not as big as character sprite that should use it. I tried to use ProportionalScale in various places, but it refuses to work.

ProportionalScale (being an image manipulator) will only work when you declare the image (will only work with imagelike displayable to be more precise), aka:

Code: [Select]
image teleport = anim.Filmstrip(ProportionalScale("path/img.png", 400, 400), *args, **kwargs)
=============
You should however do atl with zoom... If you are using normal image declarations and show them using default way (show img_tag), you can simply use atl to increase the size of displayable like:

Code: [Select]
show teleport:
    zoom 1.5

=============
Also, keep in mind that I have coded us a new CDD called FilmStrip that takes the same arguments as the former but is coded using modern Ren'Py capabilities (as opposed to anim.Filmstrip which is very old). Our CDD will not crop the image into smaller image-like displayable that are loaded into RAM and are being calculated using CPU and cashed taking up memory/eating up the performance. Instead it will create displayable that can and will be loaded directly into GPU saving resources and possibly proving MUCH better performance and smoother gameplay experience :)

Code: [Select]
image teleport = FilmStrip("path/img.png", *args, **kwargs)
is how you declare it.

***
args (arguments) and kwargs (keyword arguments) are exactly the same as in the old anim.Filmstrip since it logically does exactly the same thing... new argument is called reverse=False. If set to True, it will load the animation from last to first frame.
Title: Re: General Discussion
Post by: DarkTl on April 15, 2015, 05:22:05 AM
When did you pushed it? Right now I have   
Quote
image teleport = Filmstrip('content/gfx/images/Teleport.png', (256, 256), (4, 4), 0.1, loop=False)
NameError: name 'Filmstrip' is not defined
...
My bad, it should be FilmStrip. In delphi such things don't matter  :)
Title: Re: General Discussion
Post by: Xela on April 15, 2015, 05:23:54 AM
When did you pushed it? Right now I have   

S should be capital as well, all of BE animation are already using new CDD.

btw:

Teleport.png is perfectly fine in an event but for in-game stuff, please try to use lowercase (just for consistency).
Title: Re: General Discussion
Post by: Gismo on April 15, 2015, 03:05:18 PM
Small update )
- Next_Day event screen. Simple, maybe add some elements later.

(http://s7.postimg.org/7pqbf8ewn/image.png) (http://postimg.org/image/7pqbf8ewn/) (http://s7.postimg.org/3qt3weq9j/image.png) (http://postimg.org/image/3qt3weq9j/) (http://s7.postimg.org/ftyfjz1br/image.png) (http://postimg.org/image/ftyfjz1br/)
Title: Re: General Discussion
Post by: DarkTl on April 16, 2015, 12:56:48 AM
Gismo, I have a request. We already have main personality traits and elements affinities (that will be traits too) that have icons, and quite big ones. It's also possible that more traits will have icons in the future, like class traits for sure.

Originally I wanted to show main personality traits icons next to girls names somewhere. But we might as well show classes icons there, they are even more informative. And in any case we need to show traits icons somehow, and not at a separate tab where everyone will ignore them.

I'm not really sure how to handle it, especially since not every trait will have an icon. For example, we could separate traits list into two parts, for major traits with icons and minor traits without. And we need place to show those icons next to traits themselves.
Title: Re: General Discussion
Post by: Gismo on April 16, 2015, 04:07:06 AM
Originally I wanted to show main personality traits icons next to girls names somewhere. But we might as well show classes icons there, they are even more informative. And in any case we need to show traits icons somehow, and not at a separate tab where everyone will ignore them.

I'm not really sure how to handle it, especially since not every trait will have an icon. For example, we could separate traits list into two parts, for major traits with icons and minor traits without. And we need place to show those icons next to traits themselves.

All of the information that will be under the name will be small, because the more space it takes up less space in all other tabs. Classes/main personality traits information and icons - I can put them both, but then again, there will be small.

We have the right frame with character traits and effects. I don't know what will be going on display at the effects, but it can be assumed that this is just a character traits, but temporary (If this is about all sorts of poisons or buffs for a few days, etc.). And if this just description of the traits effects then everything is easier. All description moved to the ToolTip.

Then we free more space by removing the frame effects. And there's plenty of room for the small icons under each character traits.
For example, the positive and negative effects are always displayed first in the list. Then the class/battle traits. Then work/personality traits. We can choose different colors for each kind.
For each traits which has no icons will make one blank or neutral. First is filtered according to the method above and then filtered on the ones with icons (higher) and those without (lower).

I hope I have understood everything correctly  :)
Title: Re: General Discussion
Post by: DarkTl on April 16, 2015, 04:39:56 AM
Iirc Xela wanted to remove ranks, since there will be traits replacing them. So we will have some free space right under girl name at her personal screen.
Title: Re: General Discussion
Post by: Gismo on April 16, 2015, 05:01:52 AM
Yup, I said relying on this free space.
I like the ranks frame ) Can just put them in to info/pro stats tab?
Title: Re: General Discussion
Post by: DarkTl on April 16, 2015, 06:10:32 AM
Hm. There will be main class (warrior/service/sex industry) and subclass (like stripper or whore for sex).
A girl could have multiple subclasses, but only one class.

So instead of the ranks frame and the next line after it, where class field is located now, we could use one big frame with the name of class and class icon next to it instead of that button for rank up that we have in the frame now.

Other traits icons we just put into traits list.
Title: Re: General Discussion
Post by: Xela on April 16, 2015, 09:59:40 AM
I'd strongly suggest not to go interface before logic in our designs. There most likely not be a main class at all, I figured a good way around that programmatically. There are more screens in need of redesign and I'll have request for some effects when gismo has time for those.
Title: Re: General Discussion
Post by: DarkTl on April 16, 2015, 10:23:12 AM
Gonna change intro structure a bit.
First are slides with epic music and stuff. Then, after character making screen, scenes made by Alengthyname between MC and his father. They are not confusing at all and they are short, so it's a good start. VN scenes from original intro will become a part of our first main quest, when MC has to find out what exactly happened during the riot. So every time he succeeds, instead of just writing it we run another VN scene.

This way the story will be much less confusing and more rewarding.
Title: Re: General Discussion
Post by: DarkTl on April 16, 2015, 11:16:34 AM
Gismo, could you perhaps create a logo for the game? I'm not even sure where to start there.
Title: Re: General Discussion
Post by: Gismo on April 16, 2015, 11:39:15 AM
Usually the game logo is her name in a beautiful shell. I can create a static logo, but with detachable elements for a possible future animation.
Well, I'll try.
Title: Re: General Discussion
Post by: Gismo on April 16, 2015, 09:35:14 PM
Sorry, could not resist. :D  I'll try tomorrow to create something more brutal.

(http://s18.postimg.org/52xw8azvp/logo.jpg) (http://postimg.org/image/52xw8azvp/)
Title: Re: General Discussion
Post by: DarkTl on April 17, 2015, 01:01:34 AM
OMG. This is awesome  :D
Title: Re: General Discussion
Post by: Xela on April 17, 2015, 05:05:40 AM
LoL

Yeap, we can use this for splashscreen :D
Title: Re: General Discussion
Post by: CherryWood on April 17, 2015, 06:12:56 AM
I would add a few pink pettals  :)
Title: Re: General Discussion
Post by: Gismo on April 17, 2015, 06:56:36 AM
I put all the files in the DB + .psd
Title: Re: General Discussion
Post by: Xela on April 17, 2015, 07:08:37 AM
Kewl, we can add petals using snowblossom class, will look cooler as well.
Title: Re: General Discussion
Post by: DarkTl on April 17, 2015, 02:27:21 PM
Well, I need a serious logo anyway. Something that I could show after the epic scene in the intro.
Title: Re: General Discussion
Post by: Gismo on April 17, 2015, 02:51:41 PM
I'll do it, just this weekend, time limited...
I will try to restrain myself and make it serious  :)
Title: Re: General Discussion
Post by: DarkTl on April 18, 2015, 08:55:47 AM
I reworked and pushed elements.

I used dual system.  "el_damage" is based on simple contrast between elements, like Air vs Earth.
"el_defence" is based on naruto style concept with not so obvious patterns.

It makes possible many different situations on the battlefield.

Now we need logic for elements immunity and absorption traits, that are useful for both chars and mobs.
Title: Re: General Discussion
Post by: Gismo on April 18, 2015, 06:09:23 PM
It is not as good as I wanted, but you can try with these...

(http://s24.postimg.org/wlpkruitt/logo2_2.png) (http://postimg.org/image/wlpkruitt/) (http://s24.postimg.org/m93a5rpap/logo2_3.png) (http://postimg.org/image/m93a5rpap/) (http://s24.postimg.org/mad7z6r4h/logo2_4.png) (http://postimg.org/image/mad7z6r4h/)

(http://s24.postimg.org/gove8vftd/logo2_5.png) (http://postimg.org/image/gove8vftd/) (http://s24.postimg.org/ovne0g5w1/logo2_6.png) (http://postimg.org/image/ovne0g5w1/) (http://s24.postimg.org/xf6ry7e8h/logo2_7.png) (http://postimg.org/image/xf6ry7e8h/)
Title: Re: General Discussion
Post by: Xela on April 19, 2015, 04:43:50 AM
It looks good but why a dragon? :D

Maybe just the letters on pretty background or we can create a logo out animated letters without graphics. We can use these for the end credits for example but it's a bit weird as a logo.
Title: Re: General Discussion
Post by: Gismo on April 19, 2015, 04:57:53 AM
This is just a sample to check its display on the screen, I rejected so many options :'(
The Dragon looks good but it is not for the logo )
Title: Re: General Discussion
Post by: Xela on April 19, 2015, 05:04:56 AM
Well, letters and the background prolly can't get any better. Well done :)
Title: Re: General Discussion
Post by: Xela on April 19, 2015, 07:29:40 PM
SF Updated:
- Random girls are no longer deepcopies (that was stupid)
- Removed loading girls from and normalizing girls for XML data files
- Cleaned up girls loading and normalization functions/methods

=====================
Some notes for this update:
- You should rename all battle_skills to attack_skills in all json files. They will not load otherwise. Do not rename this anywhere in library folder.
- btraits are now called blocked_traits (same thing, mass-rename everywhere)
- ONLY! modern tags from newly made/updated packs will load from now on, all files that do not comply with expected file format and tags that are not valid will raise errors.
- Girls can no longer be loaded from XML files and will be loaded from old JSON format incompletely.
- All girls will be normalized to have one of each traits from these categories: Elemental, Body, Personality, Breasts and Race. Even if none is applied through traits.
- I removed stat normalization (if stat == 0) from unique girls, it is still valid for random once.
- Please do not overwrite unique characters status for testing.
- There are a lot of new fields for girls and traits, I'll document them when I get a change or you can just take a look at characters classes file. We will prolly need more for occupation (classes or base) traits, don't remember what we've agreed to call them last ;)

*I think this is it...

Will prolly do the class traits and mobs next.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 12:44:48 AM
Gismo, I have a simple idea. Pytfall letters should burn. Like here (http://diablo1.ovh.org/gfx/awards/diablo.gif), but better  :)

- Please do not overwrite unique characters status for testing.
What do you mean?
 
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 02:11:48 AM
Gismo, I have a simple idea. Pytfall letters should burn. Like here (http://diablo1.ovh.org/gfx/awards/diablo.gif), but better  :)

Logo options are quite good as they are now btw. There are examples without the Disney-like castle thingy.

What do you mean?

I mean do not change status of unique girls from outside of the JSON files. I wasted an hour thinking there was a bug in my new code somewhere and girls were randomly overwritten for slavetraining.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 02:21:36 AM
In schools we use lines like "imageTags": ["beauty"] to show tagged images. However, now beauty tag = pd. Should I change tags to "imageTags": ["pd"] ?
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 02:33:30 AM
We also have some old basic logic when girl agrees or refuses to take a certain course depending on her occupation. I suppose it should be deleted now? Because there could be dozens of class traits instead.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 03:04:52 AM
You are supposed to use ingame tags, not the once from filenames. That does not look like an ingame tag.

Once new class-traits/occupation system is ready, we'll ask Thewlis to update schools.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 03:37:08 AM
For some similar courses it makes sense to use the same image. It is possible with Thewlis system when you just set one image, but not with yours when course name = folder name. So either we use one picture everywhere like Thewlis wanted, or you raise your ass and recode your part of schools after all  :)

I'm perfectly fine with 1 picture per course though.
 
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 05:33:29 AM
I doubt that there is still "my part of schools" left. I must have told that to you a dozen times by now and it shouldn't be too hard to use a specific image if specified and fall back to rnc from a folder if there isn't one.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 06:03:48 AM
Yeah-yeah. I guess Thewlis just forgot to mention in his well commented example this little "school name = folder name" thing which he coded by himself without a doubt.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 06:20:31 AM
You are supposed to use ingame tags, not the once from filenames.
So I should use these (http://www.pinkpetal.org/index.php?topic=3510.msg31986#msg31986) strings instead?
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 06:26:40 AM
Yeah-yeah. I guess Thewlis just forgot to mention in his well commented example this little "school name = folder name" thing which he coded by himself without a doubt.

So he did, you want to sue him or something?

This is the part that is responsible for the image loading I think:

Code: [Select]
        def get_lesson_image(self):
            """
            Returns an image for the lesson.
            """
            if self.image is not None: return self.image
            else:
                images = list()
                if self.type in os.listdir(content_path("schools")):
                    for file in os.listdir(content_path("schools/%s"%self.type)):
                        images.append("schools/%s/%s"%(self.type, file))
               
                if len(images) > 0: self.image = choice(images)
                else: self.image = "gfx/interface/images/no_image.png"
               
                return self.image

It already works like I suggested:

1) It checks is there is a single image assigned to schools.
2) If not found, it will try to find a folder with the name of a lesson and select a random pic from there.
3) If that fails as well, it will use a no image found picture as last resort.

==
*So I think you an add "image": "path/image.jpg" to json and it will overwrite the folder or you can create a folder with just one image in it.
**This was definitely not coded by me and I created original schools before Matt joined the team and told us about JSON and how it is more convenient to structure data for Python than XML we were using.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 06:31:35 AM
So I should use these (http://www.pinkpetal.org/index.php?topic=3510.msg31986#msg31986) strings instead?

Yeap, this is generated from the game directly (so there are no errors, but I think that dict from your quote was generated in the same way):

Quote
init python:
    tags_dict = {
    # Main Tags:
    'nn': 'sfw',
    'nd': 'nude', # Nude Main Tag (Used to be subtag)
    'nn': 'naturalnude',
    'sx': 'sex',
    'bs': 'battle_sprite',
    'po': 'portrait',
    'qs': 'vnsprite', # Used to be quest
   
    # Nude/SFW Subtags:
    'pr': 'profile',
    'pa': 'girlmeets',
    'pb': 'battle',
    'pc': 'rest',
    'pd': 'beauty',   
    'pf': 'etiquette',
   
    # Locations:
    'l1': 'no bg',
    'l2': 'simple bg',
    'l3': 'outdoors',
    'l4': 'indoors',
    'l5': 'beach',
    'l6': 'onsen',
    'l7': 'pool',
    'l8': 'stage',
    'l9': 'urban',
    'la': 'wildness',
    'lb': 'suburb',
    'lc': 'nature',
    'ld': 'dungeon',
    'le': 'living',
    'lf': 'public',
   
    # Emotions:
    'e1': 'angry',
    'e2': 'confident',
    'e3': 'defiant',
    'e4': 'ecstatic',
    'e5': 'happy',
    'e7': 'in pain',
    'e6': 'indifferent',
    'e9': 'sad',
    'e8': 'insane',   
    'ea': 'scared',
    'ec': 'suggestive',
    'eb': 'shy',
    'ed': 'tired',
    'ee': 'uncertain',
   
    # Clothes:
    'c9': 'lingerie',
    'c8': 'no clothes',
    'c3': 'indoor',
    'c2': 'formal',
    'c1': 'everyday',
    'c7': 'transformed',
    'c6': 'cosplay',
    'c5': 'ripped',
    'c4': 'revealing',
    'ca': 'armor',
    'ck': 'cow',
    'cj': 'cat',
    'ci': 'bunny',
    'ch': 'yukata',
    'cm': 'ninja',
    'cl': 'dog',
    'cc': 'maid',
    'cb': 'swimsuit',
    'cg': 'sportswear',
    'cf': 'schoolgirl',
    'ce': 'nurse',
    'cd': 'miko',
   
    # Actions:
    'a1': 'stripping',
    'a3': 'cleaning',
    'a2': 'bathing',
    'a5': 'dancing',
    'a4': 'cooking',
    'a7': 'exercising',
    'a6': 'eating',
    'a9': 'gambling',
    'a8': 'fighting',
    'aa': 'healing',
    'ac': 'musician',
    'ab': 'magic',
    'ae': 'sleeping',
    'ad': 'reading',
    'ag': 'singing',
    'af': 'shopping',
    'ai': 'studying',
    'ah': 'sport',
    'aj': 'waitress',
   
    # Sex Actions:
    # Masturbation:
    'ma': 'masturbation',
    'm5': 'hand',
    'm4': 'othertoy',
    'm7': 'titsvibrator',
    'm2': 'analplug',
    'm1': 'analbeads',
    'm3': 'dildo',
    'm6': 'vibrator',
    'm8': 'forced',
   
    # Cumcovered:
    'cu': 'after sex',
   
    # Group:
    'gr': 'group',
    'gg': 'ass',
    'gf': 'group restrained',
    'ge': 'group rape',
    'gd': 'othersmast',
    'gc': 'notmain',
    'gb': 'bukkake',
    'ga': 'girlhidden',
    'gl': 'tits',
    'gk': 'feet',
    'gj': 'hands',
    'gi': 'mouth',
    'gh': 'pussy',
    'g7': 'threegirls',
    'g6': 'twogirls',
    'g5': 'onegirl',
    'g4': 'moreguys',
    'g3': 'threeguys',
    'g2': 'twoguys',
    'g1': 'oneguy',
    'g9': 'guyhidden',
    'g8': 'moregirls',
   
    # BDSM:
    'bc': 'cumcovered',
    'bd': 'bdsm',
    'b4': 'suspended',
    'b5': 'whipped',
    'b6': 'tortured',
    'b7': 'alone',
    'b1': 'leashed',
    'b2': 'bdsm restrained',
    'b3': 'spanked',
    'b8': 'girl',
    'b9': 'hiddengirl',
    'be': 'dominatrix',
    'ba': 'guy',
    'bb': 'hiddenguy',
   
    # "Normal" Sex:
    'ns': 'normalsex',
    'p2': 'straight',
    'p3': 'partnerhidden',
    'p1': 'gay', # Former "les"
   
    # poses:
    's9': 'standing',
    's8': 'spooning',
    's3': 'missionary',
    's2': 'doggy',
    's1': '69',
    's6': 'scissors',
    's5': 'ontop',
    's4': 'onside',
    's7': 'sitting',
    'sb': 'restrained',
    'sa': 'rape',
   
    # Sex to character: (startswith 2c *To Character of the image)
    'sl': '2c hug',
    'sc': '2c analfingering',
    'se': '2c lickanus',
    'sg': '2c analtoy',
    'sf': '2c lickpussy',
    'sh': '2c vaginaltoy',
    'si': '2c anal',
    'sj': '2c vaginal',
    'sk': '2c kiss',
    'sm': '2c caresstits',
    'sd': '2c vaginalfingering',
   
    # Sex done by character: (startswith bc *To Character of the image)
    'sz': 'bc vaginalfootjob',
    'sy': 'bc analfootjob',
    'ss': 'bc hug',
    'sr': 'bc handjob',
    'sp': 'bc footjob',
    'sw': 'bc vaginalhandjob',
    'sv': 'bc analhandjob',
    'su': 'bc titsjob',
    'st': 'bc kiss',
    'so': 'bc deepthroat',
    'sn': 'bc blowjob',
    't6': 'bc toypussy',
    't7': 'bc caresstits',
    't4': 'bc vaginal',
    't5': 'bc toyanal',
    't2': 'bc lickpussy',
    't3': 'bc anal',
    't1': 'bc lickanus',

    # Time/Season:
    'z1': 'evening',
    'z4': 'winter',
    'z2': 'night',
    'z3': 'autumn'
    }


***Correct Link:
http://www.pinkpetal.org/index.php?topic=3510.msg31356#msg31356

You've quoted old dict.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 06:38:11 AM
1) It checks is there is a single image assigned to schools.
2) If not found, it will try to find a folder with the name of a lesson and select a random pic from there.
3) If that fails as well, it will use a no image found picture as last resort.
It makes no sense. You cannot freely set a folder for random pics, like XXX folder for any sex courses. It must be XXX course only.  That's why I suspect it was made only to provide backward compatibility with old system.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 06:50:03 AM
It makes no sense. You cannot freely set a folder for random pics, like XXX folder for any sex courses. It must be XXX course only.  That's why I suspect it was made only to provide backward compatibility with old system.

I expect that it was, it would not be hard to add a

"random_images": [1, 2, n...]
or
"folder": "path"

to it if needs be.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 06:52:15 AM
Hm. How can I set image tags like "confident"+"SFW" for schools? Or you can't do it in json without moar coding?

We used fields like "imageTags": ["maid", "cleaning", "cooking", "bunny", "waitress"]. I suspect it means any of these tags, even with nudity.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 07:00:42 AM
Hm. How can I set image tags like "confident"+"SFW" for schools? Or you can't do it in json without moar coding?

We used fields like "imageTags": ["maid", "cleaning", "cooking", "bunny", "waitress"]. I suspect it means any of these tags, even with nudity.

I believe (looks like it should work according to code) that you can add:

Code: [Select]
"noImageTags": ["sex"] to exclude tags you do not want.
and
Code: [Select]
"imageMode": "normal" for lookup mode, options are:

Code: [Select]
                types:
                     - normal = normal search behavior, try all tags first, then first tag + one of each tags taken from the end of taglist
                     - any = will try to find an image with any of the tags chosen at random
                     - first_default = will use first tag as a default instead of a profile and only than switch to profile

Basically mode should be any if you want for the course to randomly pick one option from the list or "normal" if you want to look for an image with all tags you provided, and than try first tag (considered to be most important) + one of other tags (which is default behavior always).
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 10:19:11 AM
Xela, there is school_pyt in you db. It's alpha of new schools that refuses to work, most likely because I used fields for images tags as you advised.
Since Thewlis never mentioned them, I figured tags are your part after all.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 10:21:33 AM
Xela, there is school_pyt in you db. It's alpha of new schools that refuses to work, most likely because I used fields for images tags as you advised.
Since Thewlis never mentioned them, I figured tags are your part after all.

I'll take a look.

*For once:
... that json file is messed up, it doesn't pass validator.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 10:30:57 AM
I fixed and reuploaded all my packs with untagged images. You can just delete them if you don't want to download again, it's not a big deal.

Also I added text color for elements, like "font_color": "mediumslateblue". I can't test it of course until you use it in be log.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 10:40:45 AM
I fixed and reuploaded all my packs with untagged images. You can just delete them if you don't want to download again, it's not a big deal.

Oki, I've saved validated version in my DB over your file. It should be working (courses appear but i didn't check ND images). Descriptions got messed up by the validator because you've had an missing string ".

Also I added text color for elements, like "font_color": "mediumslateblue". I can't test it of course until you use it in be log.

Oki, I'll take a look at that later. My work PC seems to be dieing so I need to figure out part for a new one before I can work on the game with clear conscience.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 10:51:55 AM
Xela, there is school_pyt in you db. It's alpha of new schools that refuses to work, most likely because I used fields for images tags as you advised.
Since Thewlis never mentioned them, I figured tags are your part after all.

This will not work properly:
Code: [Select]
            "Kunoichi": {
                "desc": "Thiscoursefocusesontrainingattackandagility.Mayalsoimproveexploration.",
                "imageTags": [
                    "ninja",
                    "battle",
                    "exercising"
                ],
                "noImageTags": [
                    "rest",
                    "sex",
                    "nude"
                ],
                "primary": [
                    "attack",
                    "agility"
                ],
                "secondary": [
                    "exploration"
                ]
            },


You either need to set mode to "any" OR:

Code: [Select]
            "Kunoichi": {
                "desc": "Thiscoursefocusesontrainingattackandagility.Mayalsoimproveexploration.",
                "imageTags": [
                    "sfx",
                    "ninja",
                    "battle",
                    "exercising"
                ],
                "primary": [
                    "attack",
                    "agility"
                ],
                "secondary": [
                    "exploration"
                ]
            },

It will do almost the same thing in both cases.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 10:57:14 AM
We'll prolly need more checks for courses... it should be easier to add now that they are objects. Slaves should not be able to do Kunoichi training but we do not have automatic system setup to prevent it.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 11:38:03 AM
Quote
While running game code:
  File "game/library/screens/pyt - screens - nextday.rpy", line 12, in script
    python:
  File "game/library/screens/pyt - screens - nextday.rpy", line 167, in <module>
    TrainingJob(choice(girls), school, girls)
  File "game/library/classes - jobs.rpy", line 3024, in __init__
    self.do_course(self.course.doNum)
  File "game/library/classes - jobs.rpy", line 3264, in do_course
    self.girl.stats.max[statmod] += 1
KeyError: u'dancing'
...

The very same error that was before Thewlis "fixed" schools. I conclude that he did not test the code.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 12:05:05 PM
The very same error that was before Thewlis "fixed" schools. I conclude that he did not test the code.

By his own admission, he isn't much of tester :) I'll take a look at it myself in 5 mins. If it is not intertwined with other code, this shouldn't be hard to fix.

*Try it now. I'll take a look at the gallery.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 12:39:56 PM
Well... No more errors, but schools take so much money while giving nothing... Day 48, act group 1, trn. group 2. All these days the girl was in group school.

Anyway, I pushed what I did today. The next step tomorrow is classes traits json.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 01:31:22 PM
Quote
        "skillPrimary": [
            10,
            50
        ],
        "skillSecondary": [
            4,
            25
These are ranges in school json. Primary skills should get from 10 to 50. Secondary from 4 to 25.
Yet
Quote
                        if self.girl.stats.is_skill(statmod):
                            setattr(self.girl, statmod.capitalize(), 2) # Training
                            setattr(self.girl, statmod.lower(), 1) # Action

Here we have +2 to training and +1 to action. Just like I had after 48 days.

Then we have actually
Quote
                # Self primary
                self.course.primary(self.girl, random=(1,20), chance=self.girl.AP*2, mult=self.course.get_scaling(self.girl), girlmod=self.girlmod)
               
                # Self secondary
                self.course.secondary(self.girl, random=(1,10), chance=self.girl.AP, mult=self.course.get_scaling(self.girl), girlmod=self.girlmod)
but I don't see them working.

I don't even want to test stats after what I've seen with skills  (http://3.bp.blogspot.com/_TOGxMt_3cA4/TG2OP_3sh9I/AAAAAAAAAcQ/FlOqESvum8g/s1600/headbangsoncomputer.gif)
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 01:45:38 PM
They should get that per course or per day or per AP or per what? Skills should not gain more than 5 per day tops. It would be close to impossible to manage them otherwise.

The bit I fixed is the "super-duper" bonus, which is supposed to be very rare and requires a really good teacher to increase chances of getting it.
===
I didn't look at the stats or normal skills increases. Those ranges could not be related to "pure" skill increases at all. Did Thewlis document/explained the behavior?

***
I just got behind my laptop, going to take a look at gallery first.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2015, 02:10:28 PM
As far as I see in the game, you gain nothing per day and something after the whole course. This is so expensive and useless...

 Numbers are "The amount that each primary skill changes in a lesson".  It's in school_example_json.ry.
APs don't matter, it seems, since girls have all APs in the world when I test them.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 02:59:31 PM
(http://s2.postimg.org/unskb35r9/screenshot0005.jpg) (http://postimg.org/image/unskb35r9/)

Update gallery screen, gonna see if a testing screen can be added before I fall asleep.
Title: Re: General Discussion
Post by: Xela on April 20, 2015, 05:32:56 PM
Pushed the updated version of gallery screen with the background and auto-resizing dark requested. This is it for tonight.
Title: Re: General Discussion
Post by: Thewlis on April 20, 2015, 07:41:09 PM
Well my internet was dead for the last 4 days. Such boredom...

I expect that it was, it would not be hard to add a

"random_images": [1, 2, n...]
or
"folder": "path"

to it if needs be.

Yes, thats where the random image thing came from. I can add in the option to set a folder to pull from as well.

Also I looked over my last changes I made a mistake with how its handling the chances to change stats/skills. I'll be fixing that now that I can actually go online again.
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 04:11:18 AM
Damn (sucks about your net), Dark is trying to fill in schools with new content and testing them, at least that looked like fun  ??? ::)
Title: Re: General Discussion
Post by: kyuubi43 on April 21, 2015, 04:16:19 AM
i would like to ask if the image and data file are in separate .7z file do I need to manually extract them to the same folders?


Also, um what happen to the char folder? I updated the folder on my desktop and my char folder was erased I am having to re-download the packs because it deleted my char folder which is the reason for the above question seeing as I forgot the procedure.
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 04:20:41 AM
I can't follow the question. Are you talking about the dev version or the old alpha?
Title: Re: General Discussion
Post by: kyuubi43 on April 21, 2015, 04:53:36 AM

sorry I forgot to put that


I believe it's the dev version I have been updating using the merc repository address on the forums.
before today the last time I updated was before christmas. I saw the post that said to wait a few months on the initial tagging problems to be worked out.


I have been trying to make my own mod if I am not using the dev version could you direct me to the right source
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 05:13:05 AM
You need the repo, Ren'Py and packs, at least one random girl from Dark...

You can grab any pack I think, they're all good. You'll need Hinata, Nami, Sakura and TenTen for testing but game should load as long as there is char/rchar folders there.

*Do note that there is no playing the dev version, there is no balance, some modules are disabled and even if you start it as a normal version, I doubt that it'll be any fun. Maybe uou could help us test/dev it or offer ideas :)
Title: Re: General Discussion
Post by: kyuubi43 on April 21, 2015, 05:18:00 AM
i would love to help with testing and Ideas. I am new to ren'py (most my background is in java, unity, and c# along with all its predecessors) and broken or not it is still a fun way to kill time now and then.
that being said do i need to extract the image 7z and the data 7z into the same folder for each pack?
Title: Re: General Discussion
Post by: DarkTl on April 21, 2015, 05:25:38 AM
Unique chars are in content/chars. There every pack has a folder, like Ar_tonelico. Inside this folder there are both folders, like Cloche_Leythal and Jacqli, and jsons for them, data_Cloche_Leythal.json and data_Jacqli.
Random chars are in content/rchars/random. There should be both folders and jsons, like 2k_tan folder and data_2k_tan.json.
Title: Re: General Discussion
Post by: kyuubi43 on April 21, 2015, 05:28:46 AM
understood so if I add the random chars i need to make a rchar folder if not than i'm good correct.
also is the rchar subfolder to char or is it a content subfolder like char
Title: Re: General Discussion
Post by: DarkTl on April 21, 2015, 05:32:48 AM
Since packs are huge, they are not a part of repo, and never were. Repo can't create characters folders and I think it can't delete them too, though I never tried.

Jsons files were separated from pictures because unlike packs they change very often at this stage.

understood so if I add the random chars i need to make a rchar folder if not than i'm good correct.
You need at least 1 random character.

also is the rchar subfolder to char or is it a content subfolder like char
It's a content subfolder like char
Title: Re: General Discussion
Post by: DarkTl on April 21, 2015, 05:38:02 AM
Xela, you need to document new fields for class traits. I want to know what exactly I do there, not just guess  :)
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 05:56:30 AM
Xela, you need to document new fields for class traits. I want to know what exactly I do there, not just guess  :)

Ok, I'll try to sneak it in but no promises till tonight + I will add moar fields, I just don't yet know what they are  ::)

====
understood so if I add the random chars i need to make a rchar folder if not than i'm good correct.
also is the rchar subfolder to char or is it a content subfolder like char
This is what the structure should look like (folders with pics in the same folder as data_xxx.json files):

(http://s1.postimg.org/g6hsgr7nv/2015_04_21_12_50_26.jpg) (http://postimg.org/image/g6hsgr7nv/)
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 08:25:50 AM
Xela, you need to document new fields for class traits. I want to know what exactly I do there, not just guess  :)

http://www.pinkpetal.org/index.php?topic=3524.msg31701#msg31701

Should have all the info.
Title: Re: General Discussion
Post by: kyuubi43 on April 21, 2015, 08:49:56 AM
okay so I am still trying to get the game up and running i have gone through most of the issues no prob but I am have consistent errors with the rchars folder.
[/size]
[/size]I have also noticed ALL the map files are missing. if they were changed where can I find them


[/code]
[/font]
Code: [Select]
I'm sorry, but an uncaught exception occurred.[/font][/size]

While running game code:
  File "game/script.rpy", line 110, in script
    python:
  File "game/script.rpy", line 120, in <module>
    rchar = load_random_characters()
  File "game/library/functions.rpy", line 314, in load_random_characters
    for fn in os.listdir(os.sep.join([dir, packfolder, folder])):
WindowsError: [Error 3] The system cannot find the path specified: u'C:\\Users\\owner\\Desktop\\Development\\renpy-6.18.3-sdk\\PyTFall/game\\content/rchars\\random_classes\\Adventurer\\*.*'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/script.rpy", line 110, in script
    python:
  File "C:\Users\owner\Desktop\Development\renpy-6.18.3-sdk\renpy\ast.py", line 785, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\owner\Desktop\Development\renpy-6.18.3-sdk\renpy\python.py", line 1382, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/script.rpy", line 120, in <module>
    rchar = load_random_characters()
  File "game/library/functions.rpy", line 314, in load_random_characters
    for fn in os.listdir(os.sep.join([dir, packfolder, folder])):
WindowsError: [Error 3] The system cannot find the path specified: u'C:\\Users\\owner\\Desktop\\Development\\renpy-6.18.3-sdk\\PyTFall/game\\content/rchars\\random_classes\\Adventurer\\*.*'

Windows-Vista-6.0.6002-SP2
Ren'Py 6.18.3.761
PyTFall 0.51 Slaver's Bay
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 09:37:14 AM
What are the "map" files? There could be a map folder completely without files.

Make a screenshot of the rchars folder and post it here pls.

Structure should look like this:

(http://s30.postimg.org/goqpvx7kt/2015_04_21_16_37_57.jpg) (http://postimg.org/image/goqpvx7kt/)
Title: Re: General Discussion
Post by: kyuubi43 on April 21, 2015, 09:50:40 AM
don't know I got a trace error that kept asking for the map.png and a tileset call map
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 10:08:44 AM
don't know I got a trace error that kept asking for the map.png and a tileset call map

You're prolly not using the latest code, that file should not be required. I doubt there is still anyone who has it. When was your last pull/merge according to HG?

Title: Re: General Discussion
Post by: kyuubi43 on April 21, 2015, 11:58:20 AM
Today when I first started posting to you all for help.
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 12:04:06 PM
No idea... there should be a force recompile option in Ren'Py. Or maybe if it wasn't a clean pull but an update over the old code, you still have some files left that should be deleted (but HG should have warned you).

Throw a map.png file in there (any picture), see if that solves anything.

**I am in the chat now as well.
Title: Re: General Discussion
Post by: kyuubi43 on April 21, 2015, 01:29:41 PM
Nope clean pull into an empty folder after i epicly  broken the original copy.
also I am responding on my mobile for now. So I can't use chat at the mo'
Title: Re: General Discussion
Post by: Xela on April 21, 2015, 07:41:57 PM
I've added colors, absorption and resistance to be. Prolly some bugs here and there, but it is working.

Example in test traits json, absolution values are pure (so 1.0 means full absorption, 0.5 means half absorbed, half resisted and etc.). Should work with everything unless I screwed up something, somewhere. It is even possible to resist or absorb or enhance (with old fields) "magic".

Resistance and absorption can be added through any trait while elemental damage/defence effects only though elements, although we'll prolly change that soon (Dark asked to allow enhancing Ninjas poison skillz for exmple).

Colors should now extend to damage in battle log and animation bouncing effect.
Title: Re: General Discussion
Post by: DarkTl on April 22, 2015, 10:15:19 AM
Default color for normal attacks should not be red. Red is perfect for fire. I propose white instead.
Title: Re: General Discussion
Post by: Xela on April 22, 2015, 10:26:16 AM
That will not be visible on bright backgrounds. We can use orange for fire...
Title: Re: General Discussion
Post by: DarkTl on April 22, 2015, 10:44:43 AM
Orange is earth. Actually, numbers color pretty much = color of that animations that you play when spell casts. Otherwise it looks very odd when colors are different.
Title: Re: General Discussion
Post by: Xela on April 22, 2015, 10:48:19 AM
White should be for Light/Holy spells just as red(*ish) for fire. If we choose one default for damage, it should be red and not white. But I am not good with colors...
Title: Re: General Discussion
Post by: DarkTl on April 22, 2015, 10:58:30 AM
Bright yellow is for light, looks good enough.

I will recolor you fire amd earth animations then.
Title: Re: General Discussion
Post by: kyuubi43 on April 22, 2015, 11:03:19 AM
other than when using magic or some form of super move you shouldn't need a color for the attack.
just have the sprite flash in and out of exsistance since it is set up like an old RPG fight.
i think you can even find free resources to use basic animations for the attacks to negate the need for color.
personally other than showing poison or something similar the color flash is actually very annoying.
that and it would take less code i think to slave a GIF to each attack class.


for instance Fire
slave a single Master Fire GIF in stages.
having one master FIRE GIF that is completely used for the ultimate fire attack then in reverse have the GIF cut-off earlier and earlier to do this I believe you can just tell how long the animation needs to run allowing you to use one GIF for multiple attacks and in doing so the attacks get some graphic detail and the whole need for a flash color issue is negated for the battle system.
And Status GIFs should be easy the make or find seeing as I think you use that concept to show damage already. the only issue would be tailoring them to the chara models.
Title: Re: General Discussion
Post by: DarkTl on April 22, 2015, 11:08:46 AM
I suppose you never played neverwinter nights games, so you don't know how useful colors could be in battle log.

We use colors just because we can, not because we need it instead of animations or something. We have pretty cool animations in battle engine already. You can see them anytime as long as you figure what's wrong with yours repo  ;)
Title: Re: General Discussion
Post by: kyuubi43 on April 22, 2015, 11:12:05 AM
oh sorry i was trying out the battle system yesterday and thought that is what he meant by colors.
i do know several games that use the color set-up for after battle reports but it is really annoying during the battle for the screen the flash with every attack.
Title: Re: General Discussion
Post by: DarkTl on April 23, 2015, 11:02:02 AM
- Can poison be absorbed?
- How to affect power of healing? "el_damage": {"healing": 0.5}?
- I still can't see options to transfer items to a storage, even after buying a house.
Title: Re: General Discussion
Post by: Xela on April 23, 2015, 12:53:39 PM
- Can poison be absorbed?

Yes, it can, but only the first, initial attack. Target should absorb the percentage of damage specified, but it/he/she will not get a poison effect that they can absorb every "queue turn". They will get hit, absorb the first damage from the spell and carry on. (at least it is how it supposed to be working... it was very late when I coded it :) )

- How to affect power of healing? "el_damage": {"healing": 0.5}?

It should increase the healing power of the individual with such an elemental trait (at the moment, I am planning to recode it so it can be any trait) by 50%.

- I still can't see options to transfer items to a storage, even after buying a house.

Same icon used for transferring items between individuals, a sack appears in the top strip.


Title: Re: General Discussion
Post by: DarkTl on April 23, 2015, 01:12:03 PM
It should increase the healing power of the individual with such an elemental trait (at the moment, I am planning to recode it so it can be any trait) by 50%.
Well, yeah, I gonna use it for class traits, so it should not be elementals only.

Same icon used for transferring items between individuals, a sack appears in the top strip.
I see the sack icon in girl profile, yeah, and I can use it to transfer items with the current girl only. There is no such an icon in other places.
Title: Re: General Discussion
Post by: Xela on April 23, 2015, 01:15:30 PM
Well, yeah, I gonna use it for class traits, so it should not be elementals only.
I see the sack icon in girl profile, yeah, and I can use it to transfer items with the current girl only. There is no such an icon in other places.

We work of the same code... the feature been there for ages, you need to purchase an apartment, PUT MC IN IT, and open MC screen (which is the only screen where you can acutally put MC into apartment). It should be there, there is no way in hell that it isn't...

**I'll make sure it is working for all traits tonight.
Title: Re: General Discussion
Post by: DarkTl on April 24, 2015, 01:12:06 AM
Should I still use fields like "element": "Air" for unique or "elements": {"Air": 80} for random girls? Or it's better to set them like normal traits?
Title: Re: General Discussion
Post by: Xela on April 24, 2015, 04:33:26 AM
Should I still use fields like "element": "Air" for unique or "elements": {"Air": 80} for random girls? Or it's better to set them like normal traits?

You can use "elements" field, but it does not matter much.
Title: Re: General Discussion
Post by: Xela on April 25, 2015, 06:11:12 AM
I think we'll add only the type of the general group of jobs to traits, like:

- Warrior
- SIW
- Workers

Rest will be assigned to Jobs and Jobs to buildings, similar setup for schools/courses.
Title: Re: General Discussion
Post by: Gismo on April 27, 2015, 01:13:17 PM
Small update for Quest_log and Realtor screens.

(http://s8.postimg.org/fwd7mfott/image.png) (http://postimg.org/image/fwd7mfott/) (http://s8.postimg.org/wleniclf5/image.png) (http://postimg.org/image/wleniclf5/)

And new Items_transfer screen. 3x* Columns with names then disappear and are replaced by a more appropriate framework.

(http://s28.postimg.org/lkou1o0u1/image.png) (http://postimg.org/image/lkou1o0u1/) (http://s28.postimg.org/7bp7jlmbd/image.png) (http://postimg.org/image/7bp7jlmbd/) (http://s28.postimg.org/fih7b6ce1/image.png) (http://postimg.org/image/fih7b6ce1/)
Title: Re: General Discussion
Post by: BlackWolf Inc. on April 27, 2015, 01:27:40 PM
 ??? Wait a second is that Ike??
Title: Re: General Discussion
Post by: Gismo on April 27, 2015, 01:42:06 PM
??? Wait a second is that Ike??

Yep, I use him for testing )
Title: Re: General Discussion
Post by: DarkTl on April 27, 2015, 01:46:44 PM
Looks good, but I think it might be hard to read white items names on white panels. For girls names I'd prefer more contrast as well.
Title: Re: General Discussion
Post by: DarkTl on April 27, 2015, 01:50:46 PM
I want to use two animations for SimpleMagicalAttack, one after another. Either I need to combine them somehow into one, or just show one after another. How can I do it?
Title: Re: General Discussion
Post by: Xela on April 27, 2015, 03:49:51 PM
I want to use two animations for SimpleMagicalAttack, one after another. Either I need to combine them somehow into one, or just show one after another. How can I do it?

It's very easy, you just need to define new image, in the default Ren'Py way. No tricks, no advanced coding.
Title: Re: General Discussion
Post by: Xela on April 27, 2015, 04:09:53 PM
Looks good, but I think it might be hard to read white items names on white panels. For girls names I'd prefer more contrast as well.

Looks ok to me, way better than before anyway*
Title: Re: General Discussion
Post by: Gismo on April 27, 2015, 04:31:13 PM
Looks good, but I think it might be hard to read white items names on white panels. For girls names I'd prefer more contrast as well.

Working on it. Already have some decent options )
Title: Re: General Discussion
Post by: DarkTl on April 28, 2015, 01:59:14 AM
It's very easy, you just need to define new image, in the default Ren'Py way. No tricks, no advanced coding.

If you mean stuff like
    image ion
        FilmStrip('content/gfx/be/filmstrips/ion.png', (192, 192), (5, 9), 0.05, loop=True)
        FilmStrip('content/gfx/be/filmstrips/ion_1.png', (192, 192), (5, 9), 0.05, loop=True)

then it's not gonna work because animations should have different positions and zoom.
Title: Re: General Discussion
Post by: Xela on April 28, 2015, 05:39:07 AM
That is what I meant and I think you can still have that. Describe what you need and I'll try to think of a best way to get that done. Something really advanced will require it's own class and gfx method. That is the only way you can do literally "anything".
Title: Re: General Discussion
Post by: DarkTl on April 28, 2015, 05:44:52 AM
I think P2P_MagicAttack does not support zoom or td_gfx for shaking. I can zoom during defining, but the lack of shacking is really bad  :(

Btw I just tried
Quote
    image electricity_4:
        FilmStrip('content/gfx/be/filmstrips/electricity_4.png', (192, 192), (5, 3), 0.04, loop=False)
        FilmStrip('content/gfx/be/filmstrips/electricity_4_1.png', (192, 192), (5, 5), 0.04, loop=False)

I don't know why, but the second animation does not work. Pause time is correct.
Title: Re: General Discussion
Post by: Xela on April 28, 2015, 06:50:34 AM
I think P2P_MagicAttack does not support zoom or td_gfx for shaking. I can zoom during defining, but the lack of shacking is really bad  :(

I'll add damage effects and death effects everywhere, but only after BE takes a shape. Right now I am thinking that Jake's approach to looping could have been a better bet than my own.

I want to get BE and SimpleMagicalAttack to a point where we're happy with it and it does more or less everything that we want, afterwards I'll expand it's code to all attacks.

So basically, I guarantee that it will work before the next release.

Btw I just tried
I don't know why, but the second animation does not work. Pause time is correct.

I have 0 experience with these image --> atl stuff. But from what I understand you cannot do that as you tried. It should be structured in a manner of:

- Displayable 1
- Set of ATL instructions
- Pause
- Displayable 2
- Set of ATL instructions (Previous instruction may still apply btw, I am not sure)
- Pause
- ...

OR ATL parallel and blocks should still apply if you want several images at the same time or complex animation.

so basically, the simplest version:

Code: [Select]
image ion:
    "electricity_4" # OR FilmStrip(*args, **kwrags) if you never defined the image and do not want to.
    # atl instructions if applicable:
    rotate 90
    # pause for animation time:
    2.0
    "electricity_4_1" # <== Next displayable after the pause
    zoom 2.0 # <== Moar ATL instructions
    2.0 # You can also write: pause 2.0, same thing. NOTE: This is NOT renpy.pause. It just delays execution of atl instruction or rendering the next displayable! (so it will never pause the game like pause you define when creating a spell does)
Title: Re: General Discussion
Post by: DarkTl on April 28, 2015, 07:30:21 AM
Sadly no, still only one animation. I even tried it with the same image, like
Quote
image vortex:
        FilmStrip('content/gfx/be/filmstrips/vortex.png', (192, 192), (5, 28), 0.02, loop=False)
        0.01
        FilmStrip('content/gfx/be/filmstrips/vortex.png', (192, 192), (5, 28), 0.02, loop=False, reverse=True)
Title: Re: General Discussion
Post by: Xela on April 28, 2015, 07:46:01 AM
Sadly no, still only one animation. I even tried it with the same image, like

5*28*0.02 = 2.8, not 0.01... Try this, if it doesn't work I'll try to with some animation myself:

Code: [Select]
image vortex:
        FilmStrip('content/gfx/be/filmstrips/vortex.png', (192, 192), (5, 28), 0.02, loop=False)
        2.8
        FilmStrip('content/gfx/be/filmstrips/vortex.png', (192, 192), (5, 28), 0.02, loop=False, reverse=True)
        2.8

Make sure you set the pause in the BE right (if this is a BE and not story animation) (pause=5.6).
Title: Re: General Discussion
Post by: DarkTl on April 28, 2015, 07:53:41 AM
Ah, this is pause like duration, not pause like pause between animations. Yeah, it works  :)
Title: Re: General Discussion
Post by: Gismo on April 28, 2015, 08:49:44 AM
How about this version? Still need to refine for girls frames, but later.

(http://s23.postimg.org/hdvt8f97r/image.png) (http://postimg.org/image/hdvt8f97r/) (http://s23.postimg.org/i202dmijr/image.png) (http://postimg.org/image/i202dmijr/)
Title: Re: General Discussion
Post by: Xela on April 28, 2015, 08:52:58 AM
Looks great :) Prolly too much red in focused item button/text.
Title: Re: General Discussion
Post by: DarkTl on April 28, 2015, 09:52:40 AM
I like it, no more complaints from me.
Title: Re: General Discussion
Post by: DarkTl on April 29, 2015, 04:09:46 AM
How to heal all characters in party? In terms of animation, of course.
Title: Re: General Discussion
Post by: Xela on April 29, 2015, 04:04:20 PM
How to heal all characters in party? In terms of animation, of course.

Heu... been one hella of a day, just got home.

I think what you need is:
Code: [Select]
type="all_allies" It will target all allies in the party.

Title: Re: General Discussion
Post by: DarkTl on April 30, 2015, 02:34:50 PM
There is one option that I want for a long time, but keep forgetting about it. We have location and force_location fields in girls data files. I propose to automatically add to our testing brothel girls with "player" location. Much faster than typing commands in console every time.
Title: Re: General Discussion
Post by: Xela on April 30, 2015, 03:47:14 PM
There is one option that I want for a long time, but keep forgetting about it. We have location and force_location fields in girls data files. I propose to automatically add to our testing brothel girls with "player" location. Much faster than typing commands in console every time.

It would be smarter to add a file (*label) that is ignored by mercurial and called in the dev mode...
Title: Re: General Discussion
Post by: Gismo on April 30, 2015, 04:22:12 PM
Made a basic version of Arena screen (for future logical system).

(http://s16.postimg.org/ke4aoz6tt/image.png) (http://postimg.org/image/ke4aoz6tt/) (http://s16.postimg.org/j9a8jlkcx/image.png) (http://postimg.org/image/j9a8jlkcx/) (http://s16.postimg.org/8rk6nujip/image.png) (http://postimg.org/image/8rk6nujip/)

(http://s16.postimg.org/9q0jq4wup/image.png) (http://postimg.org/image/9q0jq4wup/) (http://s16.postimg.org/auulvijbl/image.png) (http://postimg.org/image/auulvijbl/)
Title: Re: General Discussion
Post by: nemojason on April 30, 2015, 07:05:41 PM
Hello!!


i am a great fan of your works and thanks for this !


super graphism  :)


a great day when the release day will coming  ;)
Title: Re: General Discussion
Post by: nemojason on April 30, 2015, 07:14:39 PM
How about this version? Still need to refine for girls frames, but later.

(http://s23.postimg.org/hdvt8f97r/image.png) (http://postimg.org/image/hdvt8f97r/) (http://s23.postimg.org/i202dmijr/image.png) (http://postimg.org/image/i202dmijr/)
Hi again  :D
I forgot to tell you that in the first picture, there are a little error in the name of character and his picture.
Look at the top left between Hinata and Nico , the name of Tenten and the picture who is not Tenten but Ino Yamanaka...
Good continuation and sorry for my bad english, it's not my native language :)
Title: Re: General Discussion
Post by: Gismo on May 01, 2015, 04:08:01 AM
Well, thank you )
I forgot to tell you that in the first picture, there are a little error in the name of character and his picture.
Look at the top left between Hinata and Nico , the name of Tenten and the picture who is not Tenten but Ino Yamanaka...
This is a mistake in my old Girlpacks.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2015, 09:14:07 AM
Finally finished one of those huge random girlspacks. 1500 pics/317MB  :o
Title: Re: General Discussion
Post by: Xela on May 01, 2015, 04:48:46 PM
- I've added a way for everyone to create their own testing setups. Our old setup is in the attached file, if you still want to use it.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2015, 02:55:15 PM
I'm currently fixing sprites everywhere, since before the main priority was tagging. I figured how to qualitatively and effortlessly remove white borders from sprites in gimp (select by color all transparent area -> invert selection -> reduce selection area by 1 pixel -> cut and past it in a new image).
It won't take long, I've done almost the half of it today.

I also updated tagger.

- fixed another typo, because of it "kiss by girl" tag didn't loaded from names inside tagger.
- fixed an error that might appear when you delete a picture inside mask sorting mode.
- improved checks for color panel. After you open a folder with pics, every time you change tags the panel around the Save button turns red. After saving changes it turns green again. Now it works properly with all tags flags.
- added text field that shows full file name in case if you need it, but it's too long to fit into file list box. You even can copy text from it. Editing it will give you nothing (and will break nothing too).
- added new option to mask. Generate Mask button generates mask depending on currently selected tags and writes it into the mask field. Thus, you don't need to remember tags anymore to use mask.
Title: Re: General Discussion
Post by: DarkTl on May 03, 2015, 11:22:40 AM
Ok, sprites are clean now. In my db in the file with links to packs all rar files are new ones, with fixed sprites. 7zips didn't needed cleaning, so they remained.
Title: Re: General Discussion
Post by: Xela on May 03, 2015, 02:27:39 PM
Oki, I know that there are some artifacts here and there but it doesn't bother me enough to update the packs.

Are you going to tackle the ST next? Or do you want to rework the mobs? I think I can write new code for creating mobs through (mob/other)-class traits tonight if you want to mess with content for them next week. Otherwise, I'll keep looking at jobs/buildings/classes trying to form a future-proof code structure in my head.
Title: Re: General Discussion
Post by: DarkTl on May 03, 2015, 03:10:23 PM
Yeah, it's amazing how easily you can remove all artifacts even in gimp if you dig deeper.

Mobs need classes too, maybe less advanced, but still. I don't think it's wise to write classes for them before they are 100% ready for girls.
So it will be ST.
Title: Re: General Discussion
Post by: CherryWood on May 04, 2015, 01:25:22 AM
If the BG is white or solid color, and the sprite have an outline or dark colors, "Color to Alpha..." usually gives better results then cutting in my option.

Finally finished one of those huge random girlspacks. 1500 pics/317MB  :o

It's good!
Title: Re: General Discussion
Post by: DarkTl on May 04, 2015, 08:23:06 AM
So, about our ST...

- Everything you do there you do via next day interface. Because of it you don't feel personal involvement at all, like you do in pretty much any other ST game. It's almost like some customer does the training and not you or even your assistants.
- This is especially noticeable with rewarding/punishing stuff. In JoNT you can do it on spot, here you need the whole day to scold. Must be a very long scolding...

Not sure what to do there. At very least there should be differently looking (looking, not working) system for ST, and only assistants should use next day for training, while MC has his AP for it.

If we gonna use flags/traits instead of special stats, we need more anyway. So far we have traits for being obedient/disobedient lately during training, broken trait and traits for special training items.
We need to reflect all ST psychology (something that Eliont refused to do back then btw) either in special traits or slave-only stats, I don't really care how. Actually, since we have skills now, we can add some slave-only skills.

- obedience that is not tied to character stat. In fact, I think we should use character stat like temperament in JoNT.
Traits that show how obedient a slave was lately don't show how well she is trained in general. And broken =/= well trained all the time.
I'd say slaves could use levels of training, just like our whores used to have levels of, well, whoring.

- hate is negative disposition, love is positive. We lack fear, however. Cruel training rises fear in JoNT that helps with training in the short term, but not as good as dedication aka high disposition in the long term.
I suppose we need flags for fear, and with enough flags they gain fear traits which help with obedience but give some penalties.

- Everywhere in ST games there are stats that show the level of lust. In general they used for stuff like sex acts checks (like even temperamental slave will agree to do group with max lust) or for sex tortures.
Even if we drop stuff like morality from SM or level of perversity from JoNT (since we assume that there are no such things as christian morality or too low perversity in the game world with countless sex slaves  :D ), I need something, anything for lust anyway.

- Difficulty of training. I think every trait should have a hidden value showing how difficult/easy to train such a slave, plus/minus optional, possibly random value set in json. Before even beginning to train difficult slaves you need high enough slave training skill. Or it will be long and painful experience for both sides. A sufficiently large difference means that any successful training is impossible at all.

- There are run away events already coded in our ST that are supposed to "fight" against level of security in dungeon.
We have Restrained traint that prevents escaping, but I feel like it's too simple to equip one item and forget about running away forever.
I think there should be various items that discrease battle stats, and the less battle stats, the less are chances to try AND to succeed in escaping. This way you will have no problems with weak slaves, but powerful ex-warriors still will need guards.

- We need a separate screen (not as a part of next day screen) to check how ST goes.

Summing up, moar coding is needed, so if you Xela still not sure how to code classes and brothels, you can help with ST too  ;)
Title: Re: General Discussion
Post by: DarkTl on May 04, 2015, 09:01:30 AM
I think I know how to do almost anything. There should be an open system of flags and special hidden traits. So if I need fear, I make in some json fear traits, I make fear flags, I set how many specific flags every trait needs, I set or remove flags during training, and when there are enough flags, the game gives traits that require those flags, like 3 fear flags and 2 rape flags for Fear lvl 1. When the number of flags decreases, the game removes those traits.

Summing up.
- Training without next day buffer for MC himself.
- Conditions and rules that you set upon slaves. At very least we can use stuff from JoNT, like where to sleep and what to eat. Such stuff changes flags every day even if you don't train a slave. Rules from SM need a life simulation for a start, though we already could allow slaves to go shopping if you give them money (nothing wrong with it if they are well trained) or to autoequip themselves.
- Open system of flags and special hidden traits.
- Better running away option that depends on battle stats. And running events should be possible not only during some training, but every turn, providing that a slave really wants to escape. If possible, it should be a function that I can freely change too, like set what kind of stats and traits make slaves run, and how likely.
- Difficulty of training figthing against slave training skill every time you do something with slave.
- A separate screen for ST with statistics. And option to talk to the slave to find out (depending on her hidden traits) how does she feel.
Title: Re: General Discussion
Post by: Xela on May 04, 2015, 02:08:23 PM
how does she feel.

Yeah, that's what we should care about... slaves feelings about stuff...

Summing up, moar coding is needed, so if you Xela still not sure how to code classes and brothels, you can help with ST too  ;)

Nope, that's Thewlises module so he's the front-man on this one :)

***
- I think if you read through all of his comments and posts in ST thread, there already should be a reward/punishment/training matrix for the MC (through interactions menu, taking training sessions from JSON, they were called one-off trainings or something like that). But I figure best course of action is like the last time, you need to request what you require and he should create a tutorial-example on how to do it.



===***===
I've already posted in detail about ST and how I want to handle it. SM/JoNT have nothing to do with slave training/psychology/rl and etc. Doesn't mean that those are bad games, just means that they had to be built in that way to be playable.

Wishy-washy BS where you feed candy as rewards or gradually unlock talking/kissing/sexual positions or when trainer master cares about "morality" and "nympho" stats and sends slave to work in church or sleazy bar before to "mind" the mood or stats and/or all other crap from either of the games........ Feel free to add it/try to make it good but keep it to ST module so none of it makes it outside. Only fully trained slaves leave it because I do not want to deal with it during gameplay.

So: This one is 100% up to you. My proposals were rejected by you and lamoli + you're creating content and Thewlis is writing the code so my thoughts don't carry any weight here anyway :)
Title: Re: General Discussion
Post by: DarkTl on May 04, 2015, 03:07:49 PM
Yeah, that's what we should care about... slaves feelings about stuff...
You can ask characters about it in pretty much any ST game, including wm, because you can't directly see any hidden stats behind characters "feelings". If you suddenly think that we don't need even basic interactions with characters or hidden stats, think again.

- I think if you read through all of his comments and posts in ST thread, there already should be a reward/punishment/training matrix for the MC (through interactions menu, taking training sessions from JSON, they were called one-off trainings or something like that).
I tried, it's very confusing, especially since he often uses terms from the game code I have no idea about. He also uses terms and  theoretical descriptions without working examples in training_example_json.
I can only rely on our ingame stuff that already works, and we have only schools. Via interaction menu you currently can only punish/reward, but nothing more.

And doing it for every girl via interactions instead of one general screen for dungeon with all available for training characters is super clunky.

My proposals were rejected by you and lamoli
No, that never happened. I was so busy with some other module (can't remember which one) that almost didn't paid attention to your discussions. And even after Thewlis coded stuff I still was busy back then. Just because he coded it similar to JoNT doesn't mean that this is how it will work. The main thing that he coded is hidden traits + flags for them. We just need to move all settings into json and improve the system. After that pretty much any ST system can be build based on them.
Title: Re: General Discussion
Post by: Thewlis on May 05, 2015, 06:56:12 AM
I tried, it's very confusing, especially since he often uses terms from the game code I have no idea about. He also uses terms and  theoretical descriptions without working examples in training_example_json.

Please, if I'm using terminology you don't understand or if I've explained something badly, tell me.

Training without next day buffer for MC himself.

Simply add a label to the training and it appears under the interactions screen/menu instead of the training one. Can move them to the new screen as well/exclusively once its made. Works on AP for girl and MC, so its still limited unless we add custom "x amount of girls = 1 AP logic".

Open system of flags and special hidden traits.
The system as it is will work with any flag/trait you tell it to. The only thing you might need to do is create a PytFlagProxy in python. This class allows for relative setting of a flag (+/- 1 instead of setting to 1), specifying min and max values that the training can't exceed, and allowing for giving/removing a trait based on what level the flag is at.

Currently the trait is added at 1+ and removed at 0, and only works with 1 trait. I can add better support for multiple traits and different levels to trigger at easily enough.

Better running away option that depends on battle stats. And running events should be possible not only during some training, but every turn, providing that a slave really wants to escape. If possible, it should be a function that I can freely change too, like set what kind of stats and traits make slaves run, and how likely.

Currently running away goes:

The "chance to run away" is either:
- The results of the mod_runaway function, if it exists.
- The percentage of security upgrades bought, if the location implements UpgradableBuilding.
- The amount of guards working in the location over the total amount of girls, if the location has an actions list and "Guard" is in it.
- The amount of warriors in the location over the total amount of girls.
- Runaway is guaranteed.

The "location security" is random * (2 - location.security_mult), where security mult is the normal brothel security function.

The positive and negative traits are currently item traits only. They are calculate as the amount of items supplying the trait (wrist and ankle manacles, etc) over their "training effect maximum". A property added to the trait class during creation called "trEffMax". Its defined in the json that creates them.

The s_conflict_resolver function works by taking an average of the guards BE skills and the girls BE skills and checking them against each other. Better average wins.

I can add support for non-item traits and selection of other stats/skills that can be included easily enough. Making it a chance every turn instead of once per day is possible as well.

Difficulty of training figthing against slave training skill every time you do something with slave.

Easy enough to do. Add a property to the lesson called "difficulty" that is checked against the teaching skill. Can add into the default BAD_TRAINER logic too.

A separate screen for ST with statistics. And option to talk to the slave to find out (depending on her hidden traits) how does she feel.

Yeah, if you want direct interaction with lots of slaves quickly, this would be a good idea. Shouldn't be too hard to make. Probably will do a girlslist / interactions mash-up to start off with and grow it from there.

Conditions and rules that you set upon slaves. At very least we can use stuff from JoNT, like where to sleep and what to eat. Such stuff changes flags every day even if you don't train a slave. Rules from SM need a life simulation for a start, though we already could allow slaves to go shopping if you give them money (nothing wrong with it if they are well trained) or to autoequip themselves.

Currently no good place to put this, though the new training screen would probably be a good place for it.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2015, 07:08:24 AM
We probably should move to ST concept thread. I spent the whole day thinking about ST and writing a big post there.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2015, 09:48:59 AM
Well, until you guys code something for me like classes or ST, I'm going to work with gifts for a bit.
Title: Re: General Discussion
Post by: DarkTl on May 07, 2015, 04:12:43 AM
Pushed better lines for gifts. No thanks to literally dozens of so called "writers" who instantly run away at the mere mention of them for a whole year, lol. I would added a sarcastic picture here, but my avatar is more than enough in this case.

Now I want to change how gifts work. Currently, when gifts are tied to traits and occupations, every time we add a trait, a class trait or a gift, we need to analyse all gifts and traits again. That's a lot of work, and there will be more as long as we add moar stuff.
Instead I want to use numerical values showing gift's purpose and application. Some gifts are more practical, others are more like for decoration, also there are food and drinks, etc.
So every trait will have propensity to one or more types of gifts. Sum of all propensities will show us what gifts a girl likes or dislikes.
Title: Re: General Discussion
Post by: Xela on May 07, 2015, 05:18:42 AM
There is a good chance that we'll have to do it anyway. Don't do anything numerical yet, we'll use strings for generalizations but it will be a while till we see what those generalizations will be.
Title: Re: General Discussion
Post by: Armegetton on May 07, 2015, 09:17:36 PM
Pushed better lines for gifts. No thanks to literally dozens of so called "writers" who instantly run away at the mere mention of them for a whole year, lol. I would added a sarcastic picture here, but my avatar is more than enough in this case.

Now I want to change how gifts work. Currently, when gifts are tied to traits and occupations, every time we add a trait, a class trait or a gift, we need to analyse all gifts and traits again. That's a lot of work, and there will be more as long as we add moar stuff.
Instead I want to use numerical values showing gift's purpose and application. Some gifts are more practical, others are more like for decoration, also there are food and drinks, etc.
So every trait will have propensity to one or more types of gifts. Sum of all propensities will show us what gifts a girl likes or dislikes.

They say that if you speak the devil's name he will appear....

lol, jk. Haha.

Wowz, guys. So much progress since I last was here. Congrats all.

I went from revision 475 to this 868. and currently downloading some 'new' packs (re-tagged guess?).
gonna poke around the code a bit; looks like it got cleaned up a lot.

so, is all the writing type stuff all in the interactions folder now? with GM or GT prefixes? interesting.

oooh, the angel rchar is new. I like.
props Dark

also, the intro is pretty awesome. though one of the transition screens was showing the checker pattern (alpha background?), maybe I'm missing an all-white or all-black pic? not sure.

once I finish re-installing all the packs I'll mess around more.

p.s. the splash screen is hilarious

Title: Re: General Discussion
Post by: DarkTl on May 08, 2015, 01:41:03 AM
also, the intro is pretty awesome. though one of the transition screens was showing the checker pattern (alpha background?), maybe I'm missing an all-white or all-black pic? not sure.
It's only visible in the dev mode. The screen is black in normal one.
Title: Re: General Discussion
Post by: Xela on May 08, 2015, 03:21:01 AM
I've also  fixed  moar stuff in the intro. Just didn't get a chance to push yet. Skipping now also work appropriatly.
Title: Re: General Discussion
Post by: DarkTl on May 09, 2015, 11:32:31 AM
Nothing I can do until someone will code something new. Back to packs, I guess.
Title: Re: General Discussion
Post by: Armegetton on May 09, 2015, 06:01:21 PM
Nothing I can do until someone will code something new. Back to packs, I guess.

So, does this mean that some of the interface is still under construction? I noticed a few places that will blow up the game. (the tavern, some of the developer options)
and it looks like the GT menus aren't in place yet. (either that, or I just can't figure out how to reach them. lol)

or are you saying that you're actually waiting on writing in some places?

In the meantime, is it alright if I go through and spell-check / touch up some of the lines (dialog)? I noticed some of it not being as 'natural' in english as it could be.

If not, no worries. I come and go like the wind. So, I'll be around.
Title: Re: General Discussion
Post by: Xela on May 10, 2015, 06:26:47 AM
Nothing I can do until someone will code something new. Back to packs, I guess.

I've been busy with some other stuff :(

You could wrap up magic for example... some images are off and it's not too hard to create sounds for longer spells.
Title: Re: General Discussion
Post by: DarkTl on May 10, 2015, 07:47:52 AM
So, does this mean that some of the interface is still under construction? I noticed a few places that will blow up the game. (the tavern, some of the developer options)
and it looks like the GT menus aren't in place yet. (either that, or I just can't figure out how to reach them. lol)
Xela and Thewlis are supposed to code classes and slave training right now, but they are busy. The tavern was added by Cherry, but he doesn't know what to add there.

Currently we can only safely add quests, spells for BE, items and girls packs, anything else might change when they will finish coding.

Any spellcheck is welcomed, of course. We have many new lines, like spells for example (library\be\assets).

You could wrap up magic for example... some images are off and it's not too hard to create sounds for longer spells.
First of all, many mass spells require another animation that is not supported by the current BE. I mean one big animation instead of 3 small ones.
Title: Re: General Discussion
Post by: Xela on May 10, 2015, 10:02:01 AM
First of all, many mass spells require another animation that is not supported by the current BE. I mean one big animation instead of 3 small ones.

They will still need images and sounds.

*Didn't we agree to add one animation ==> all enemy damage after the next release? What kind are you talking about you need to be more specific (same prolly count for your ST concept as well).
Title: Re: General Discussion
Post by: Armegetton on May 10, 2015, 07:12:07 PM
Xela and Thewlis are supposed to code classes and slave training right now, but they are busy. The tavern was added by Cherry, but he doesn't know what to add there.

Currently we can only safely add quests, spells for BE, items and girls packs, anything else might change when they will finish coding.

Any spellcheck is welcomed, of course. We have many new lines, like spells for example (library\be\assets).
First of all, many mass spells require another animation that is not supported by the current BE. I mean one big animation instead of 3 small ones.

Ah, I see. Well, for the time being I'll be going through the majority of the library/interactions folder.

I took a quick look at the library\be\assets file you referred to.
That one shouldn't take long, it's only a few lines of spell descriptions.

I already did one push to make sure I could still remember how, but I'll try to group several files into each push from now on.

I am looking forward to the new coding and UI, but no rush.

also, I saw in the latest (library/screens/pyt - screens - girlsmeets.rpy) it uses an 'm' and 'n' variables to doing counting.
I may be completely wrong and a code noob, but wasn't the n variable supposed to be reserved for the narrator object?

as one of the errors from the tavern is the n (int type) not being castable as an object. do you think python is having variable
scope issues there? just a thought, I can't be sure though.
Title: Re: General Discussion
Post by: DarkTl on May 11, 2015, 04:35:12 AM
They will still need images and sounds.
I have no idea what do you mean by "images" here. I suppose you mean animations and their position, but in this case when we'll change animations to massive ones, I'm sure I'll need to rework them anyway, no matter how perfect they are now.
Title: Re: General Discussion
Post by: Xela on May 11, 2015, 04:54:37 AM
I have no idea what do you mean by "images" here. I suppose you mean animations and their position, but in this case when we'll change animations to massive ones, I'm sure I'll need to rework them anyway, no matter how perfect they are now.

Some images are missing or not declared properly. I've seen at randomly happen couple of times but there are so many spells that I can never remember which once.

About animations, I assume that you mean a "spread out" animation like use in Vortex (just engulfing all enemies)? Using one like in Cataclysm (for example) is really hard and will require unique classes (due to limitations of 2D graphics).
Title: Re: General Discussion
Post by: DarkTl on May 11, 2015, 06:40:56 AM
I mean one big, simple animation right in the center of enemies party. I can't believe something like that is very difficult. On the contrary, it should be easier since you don't need to get coordinates for every enemy, and just throw it in the center of their group every time, maybe +/- some pixels depending on animation.
Title: Re: General Discussion
Post by: Xela on May 11, 2015, 09:50:32 AM
I mean one big, simple animation right in the center of enemies party. I can't believe something like that is very difficult. On the contrary, it should be easier since you don't need to get coordinates for every enemy, and just throw it in the center of their group every time, maybe +/- some pixels depending on animation.

Nope, it is not difficult, we'll add it before the next release :)
Title: Re: General Discussion
Post by: DarkTl on May 13, 2015, 03:21:52 AM
Finished blonde human random pack.
Title: Re: General Discussion
Post by: Xela on May 13, 2015, 04:14:54 AM
Awesome :)

I'll set out some time this weekend to do the classes, if it doesn't work out I'll just work 1 - 2 hours every morning before work again like I did in the past. Schedule is reverting back to being very tight again.
Title: Re: General Discussion
Post by: DarkTl on May 13, 2015, 10:30:53 AM
I'm still waiting for your intro push  ::)
Title: Re: General Discussion
Post by: Xela on May 13, 2015, 12:41:22 PM
I'm still waiting for your intro push  ::)

Pushed. There is still some work to be done there, but you cannot skip to a backgroundless menu/logo anymoar.

Basically instructions from ATL are not finished like I thought that they were, they are halted at current values and passed to the next show of the same tag... basically background WAS there, it's just that one of the previous instructions faded it in through alpha channel and when skipped, alpha remained at 0 :( It's a bit weird but it is what it is, there is no way around it except hiding the tag + showing it again/using scene/sowing with a new set of atl instructions after the pause (just replacing old atl set with a new one).

So there are options, it's just not very convenient, best I can tell it was done to allow moar power to ATL through functions which cannot be calculated during skipping/predicting.
Title: Re: General Discussion
Post by: Armegetton on May 14, 2015, 08:37:09 AM
Hmm, while going through the (library/be/assets.rpy) I noticed that some of the higher tier spells somehow do less than their own lesser spells.

3solid-star fire has 90 effect, while 2solid-star fire has 220? also, 1solid-star fire has 'all-enemies' type while the the other 2 do not.

I'm uncertain as to what needs AoE and what is supposed to be stronger, so I'll hold off on pushing this until I get a better handle on that.

also, there are 2 types of piercing, "piercing=True" and "true_pierce=True" what's the difference?

is there supposed to be tier standards like in ff or other games? or is it mainly random?

also, does 'all-enemies' mean it has to hit all enemies? and spells without this tag cannot hit more than 1 target?

sorry, for the barrage of questions. lol
Title: Re: General Discussion
Post by: DarkTl on May 14, 2015, 09:57:36 AM
I cannot really balance spells damage without mobs that have spells resistances and levels, and Xela didn't coded them yet. So I just randomly copy-pasted the same values for now.
There supposed to be standards in damage, aoe and low tier spells names, but I'm not sure yet which ones  :)
Your ideas are as good as mine, I guess.

Piercing means that the spell can attack back row without the need to kill everyone in the front row for a start. True_pierce means that the spell will cause its full damage to the back row, without it it only causes 1/2 of its damage.
All-enemies will attack the whole front row (or the whole back row if the first row is dead) without piercing=true, and all enemies with piercing=true. Without it spell can only hit one target.
Title: Re: General Discussion
Post by: Armegetton on May 14, 2015, 10:59:13 AM
I cannot really balance spells damage without mobs that have spells resistances and levels, and Xela didn't coded them yet. So I just randomly copy-pasted the same values for now.
There supposed to be standards in damage, aoe and low tier spells names, but I'm not sure yet which ones  :)
Your ideas are as good as mine, I guess.

Piercing means that the spell can attack back row without the need to kill everyone in the front row for a start. True_pierce means that the spell will cause its full damage to the back row, without it it only causes 1/2 of its damage.
All-enemies will attack the whole front row (or the whole back row if the first row is dead) without piercing=true, and all enemies with piercing=true. Without it spell can only hit one target.

Ah ha. thank ya much.

Another question though, if the front row is dead, do spells continue to do 1/2 damage to back row? or is the back row then considered the front?

or is the 1/2 damage thing only for when piercing=True and there is still someone in the front?
Title: Re: General Discussion
Post by: Xela on May 14, 2015, 11:04:42 AM
Ah ha. thank ya much.

Another question though, if the front row is dead, do spells continue to do 1/2 damage to back row? or is the back row then considered the front?

or is the 1/2 damage thing only for when piercing=True and there is still someone in the front?

If there is noone in the front row, backrow is being treated as front (it is not being considered as such in the code, but for all intent and purposes, it will work as if it was). So players in backrow would be able to attack with range=1 attacks for example and will be damaged fully.

*Do note that most attacks are just there to test graphics/sounds and etc. true-pierce is supposed to be either absolutely unique or non-existent or cost insane amount of MP/HP/VP or whatever... it makes all the work done for rows obsolete and any use of tactics retarded at higher levels. I mainly added it for mob bosses...
Title: Re: General Discussion
Post by: DarkTl on May 16, 2015, 07:15:38 AM
I'm going to release another touhou pack with 5 characters, and then make some story scenes to use in the main quest. Assuming that ST or classes will not be ready by then.
Title: Re: General Discussion
Post by: Xela on May 18, 2015, 12:30:07 AM
I'm going to release another touhou pack with 5 characters, and then make some story scenes to use in the main quest. Assuming that ST or classes will not be ready by then.

Oki, I've put in some time into classes but they are not ready yet. I'll also have to replace a few dozen of old code occupation checks with new once so it'll take a few more days :(
Title: Re: General Discussion
Post by: lamoli on May 20, 2015, 06:43:01 AM
Hello, i finally know what to use/do to make a 3d body renders in 2d and i can do all the morphing/clothing of any character.. whats missing are good references images ( face front/left , full body ) im not good with 2d drawing so i need ppl who are able to make them.. if i have those i can make any charater you want do any pose you want ( without background ) so that way you can have a full pack of images of the same char and not some random pick of char that looks like em..
Title: Re: General Discussion
Post by: Xela on May 20, 2015, 07:07:02 AM
Faces cannot be rendered? I mean for random girls?
Title: Re: General Discussion
Post by: lamoli on May 20, 2015, 07:30:36 AM
hmm the face shape needs to change too if its random so its best to define the face shape/traits/hair/eye color of random girls as well but there i wont need a reference image just a basic anime head shape i guess ill generate some samples of that first then with common poses
Title: Re: General Discussion
Post by: DarkTl on May 20, 2015, 10:04:03 AM
Hm. May we take a look? Render for us any girl you want, any at all.
Title: Re: General Discussion
Post by: Xela on May 20, 2015, 01:06:18 PM
Yeap, example would at the very least give us an idea of what's possible.

- I've done a little bit more work on classes but that broke my game (I figured out why but didn't fix it yet) :)
- Also been putting in some time into Hunters project to change the scene for a little while
- And making a minigame similar to this: https://www.youtube.com/watch?v=3paKlo7S5_U but for Ren'Py / PC
Title: Re: General Discussion
Post by: lamoli on May 20, 2015, 03:27:29 PM
http://www.ex.ua/656775765719 (http://www.ex.ua/656775765719)

of course most of facial animation is done and i can add detail on body.. also im using low poly clothing.. this can be improved

password is the same as Dark cg packs

i could make shape keys to correct limbs/hip/neck joints further bu so far its still ok
Title: Re: General Discussion
Post by: lamoli on May 20, 2015, 03:36:47 PM
im using some random texture from the net but i will remove it and use polys to define fine details also i can add colored lines on every edge of the 3d model that renders in 2d like for cloth/skin details.. i will also improve the limbs/hip/neck bending correction but so far its still ok


i can add detail like all the source film maker animated sex pics already done it but for anime i dont know what need to be displayed lol
Title: Re: General Discussion
Post by: Xela on May 20, 2015, 06:24:28 PM
What are you using for this?
Title: Re: General Discussion
Post by: lamoli on May 20, 2015, 06:55:50 PM
http://www.ex.ua/217263242179 (http://www.ex.ua/217263242179)

More detail on body but still no texture on body/face only single color ( i could are more details like blush on cheeks with texture )
Title: Re: General Discussion
Post by: lamoli on May 20, 2015, 07:08:46 PM
What are you using for this?


Blender to make morphs/clothing/props for Daz3d to make the pose ( gen2bodies auto correct most joints and if still bad i use shape keys in blender ) with converted/conformed clothing then export to blender for render with cycles/BI freestyle i found the artwork of SAO online and modeled on it.. there i could conform le light direction/color ( if i have the background ) so the char will receive the expected light from background


with little work this can be used in a 3d engine lol i already make a fbx and its working in UE4.



Title: Re: General Discussion
Post by: Xela on May 20, 2015, 08:38:49 PM
Fun :)

I always wanted to try a bit of 3D rendering but never found the time :(
Title: Re: General Discussion
Post by: Xela on May 20, 2015, 08:51:09 PM
OMG...

while messing with the rhythm minigame I figured out amazing thing about UDDs :) I think we'll be able to improve HitlerKaputt class and a some other stuff really soon...
Title: Re: General Discussion
Post by: DarkTl on May 21, 2015, 04:20:02 AM
Well, that ex.ua thing doesn't work for me. It works via proxy, but doesn't give an access to files in this way. I googled it and found out that it's not available in some countries, including mine, because of copyright stuff.
Title: Re: General Discussion
Post by: lamoli on May 21, 2015, 04:34:10 AM
https://mon-partage.fr/f/ANU3Co2y/ (https://mon-partage.fr/f/ANU3Co2y/)
https://mon-partage.fr/f/x0tIu45Z/ (https://mon-partage.fr/f/x0tIu45Z/)


password as before.. the same you use


Btw.. im improving the quality of the model.. those are render with a quick low poly model without fine tuning really low texture for clothing/hair and 1 color for body , i could ad transparent textures to mix with base color to add more details like i did with the update nipples..


also its not edited that's the render output from blender


with pose img as reference and lighting color/direction i should be able to make good 2d cg from 3d models as long a i get good model reference pics
Title: Re: General Discussion
Post by: DarkTl on May 21, 2015, 05:49:35 AM
Yup, it looks very good.

However, in order to replace random packs, you should be prepeared to render many various pictures, with different clothes like schoolgirl or maid, and various sex scenes with other characters, ideally unidentifiable ones.
Also there should be different versions with different hair color and boobs size.

If you ready to do it, I can provide you reference pictures.

Title: Re: General Discussion
Post by: lamoli on May 21, 2015, 06:07:57 AM
Yes i will do some tests as i need even more experience at making 3d character models with animation or posed fully rigged with lots of clothing and body shapes for the game we gona make in Unreal Engine 4 for my work so its time well invested


Those cg used a custom made body/head for Asuna that i modeled only using reference pictures but i could make her boobs bigger in 1 click 1 render lol so its easy as long as the base model is made..


if you provide me references for character ( body to define size/proportions, face front/side ) hair/clothing types i will make those and its easy to adapt them to any new character we make even with body difference like boobs/height and so on


In the end with a few body types we could fit/resize any head and put any hair/clothing to create existing characters or random ones
Title: Re: General Discussion
Post by: DarkTl on May 21, 2015, 06:46:03 AM
I wonder what should we do with backgrounds. I suppose we could use backgroundless pictures together with ingame backgrounds, assuming that you can render them  :)
Also there are non human packs, so there will be characters with unusual features like long ears, wings or hornes.

I'll prepear a special pack as a base for rendering.
Title: Re: General Discussion
Post by: Xela on May 21, 2015, 06:48:40 AM
I wonder what should we do with backgrounds. I suppose we could use backgroundless pictures together with ingame backgrounds, assuming that you can render them  :)
Also there are non human packs, so there will be characters with unusual features like long ears, wings or hornes.

I'll prepear a special pack as a base for rendering.

We'll prolly have to try it both ways... it's like lamoli said, he can mimic the lighting on the backgrounds if we add those. On the other hand I've always said that the best option in most cases if the backgroundless picture on a correct background we want to use.
Title: Re: General Discussion
Post by: lamoli on May 21, 2015, 07:01:08 AM
I wonder what should we do with backgrounds. I suppose we could use backgroundless pictures together with ingame backgrounds, assuming that you can render them  :)
Also there are non human packs, so there will be characters with unusual features like long ears, wings or hornes.

I'll prepear a special pack as a base for rendering.


i can do BG less renders but best would do the render with a defined BG as there is light exposition color/orientation.. that way the character would integrate to the BG at 100%


for pointy ears thats 1 slider to pull as long as 1 have both models ( normal model/pointy model ) its like the asuna head body they come from the base gen2 model of daz3d lol morphs can do everything you want..


i can render the 2D BG in the back of 3D render if needed or you just edit those with a program like photoshop/gimp


I can also cast reflection/shadow on the 2D BG that the 3D model would cast so its more realistic as well..
Title: Re: General Discussion
Post by: DarkTl on May 21, 2015, 08:41:32 AM
Let's try something simple for a start. Here (https://mega.co.nz/#!e88hALyJ!6SeHm70Dt3brSKDrNU_c5FdmGMm_P_zVUx9vD6KotHU) are some pictures from my noble elf pack that probably should give you the idea how these random characters should look like (of course you can also download the whole pack if you want to). Hairs and faces don't have to be exactly the same as at the pictures, it's a random, generic character after all.

Would be cool to have in the future multiple packs with different boobs and hair colors, but for now as a test let's make a character like on those pictures. Ie a tall one, with long blonde hair, quite big boobs, green eyes. And with a white background for now.

Also there are some basic poses and clothes. Try to render profile pictures with those clothes, ie when the character just standing doing nothing. And try to render sex scenes based on pictures, without clothes and preferably with unrecognizable partners, when you can see body but not face or hairs.
Title: Re: General Discussion
Post by: lamoli on May 21, 2015, 10:39:40 AM
https://mon-partage.fr/f/JlfT6Oih/ (https://mon-partage.fr/f/JlfT6Oih/)


PW: same as usual


Its the base body with pose ( close to the real thing ) only head could need a morph
next thing done will be the clothes then hair..


the upper body of the girl in the picture is higher than mine i could make de change but then it might look odd on other poses.. same from the arms.. its made by hand so its not using the real dimensions..
Title: Re: General Discussion
Post by: DarkTl on May 21, 2015, 11:37:59 AM
The accuracy of proportions is not important here either for the same reason. We need to make pretty, sexy, various characters. It might be different for unique ones, but not for random ones.

I'll make a full base pack that will include all poses, situations and dresses that a girl may need (not too many, really). After that you'll need to render the same pictures, but with different characters. By different I mean stuff like boobs size and hair color. Of course there also will be differences in clothing with examples based on existing packs.
Also we support emotions, thus at very least profile pictures will need different expressions.

But for now I want to see how good clothes and hair from those pictures will look. I like how the body looks, but without hair it's hard to imagine the whole thing.
Title: Re: General Discussion
Post by: Xela on May 21, 2015, 02:03:26 PM
@Dark, can you drop into the chatroom?
Title: Re: General Discussion
Post by: lamoli on May 21, 2015, 10:49:55 PM
https://mon-partage.fr/f/MmBcxhH2/ (https://mon-partage.fr/f/MmBcxhH2/)


This time with clothing.. next is Hair


Looks like i need to make some more fripping on the cloth.. straight doesn't look so good lol
Title: Re: General Discussion
Post by: DarkTl on May 22, 2015, 12:47:19 AM
This time with clothing.. next is Hair
I think the body should be a bit more shiny, like on the base picture.
Title: Re: General Discussion
Post by: lamoli on May 22, 2015, 02:42:53 AM
You mean different light exposition to cast different shadow or make the skin/cloth look wet with light reflect ?
Title: Re: General Discussion
Post by: lamoli on May 22, 2015, 03:55:45 AM
https://mon-partage.fr/f/qF50979T/ (https://mon-partage.fr/f/qF50979T/)


Different lights.. i tryed glossy on skin and clothing but it destroys the anime effect..
The shadows/light cast on the picture are unrealistic..  i could make something close but i would have to render lots of model parts then combine them to get closer to picture
and this would be too inefficient if i have to do that on all pose i make..
Title: Re: General Discussion
Post by: lamoli on May 22, 2015, 04:26:24 AM
https://mon-partage.fr/f/ByCxgOj5/ (https://mon-partage.fr/f/ByCxgOj5/)


Color swap.. once the outfit is made it can be adapted to anyone with any color swap you wish
Title: Re: General Discussion
Post by: DarkTl on May 22, 2015, 05:14:24 AM
Yeah, I meant wet reflecting effect, lights and shadows are fine. If it's too difficult, then we don't need it.

Mouth seems too wide btw, but maybe it will look better with hair.
Title: Re: General Discussion
Post by: DarkTl on May 22, 2015, 05:50:54 AM
Ok, pictures that we need for complete random packs based on our tags system:
- backgrounds. We need backgroundless pics for sprites and battle sprites, white bgs and specific bgs like inside a building, living room, city street, forest, park, beach, stage, dungeon for bdsm pics.
- emotions. Ideally at least one profile picture for every emotion. At very least there shoud be happy, sad, angry, indifferent, shy, scared.
- profile pictures like that one that you render, rest images where girls rest, battle pictures where they fight, striptease pictures, cooking, cleaning, waiting, singing, etc.
- clothes: normal clothes, formal, swimsuit (mostly for beach), maid, nurse, sportwear, schoolgirl, armor or ninja for battles. This is minimum, of course we can use anything that you will render, but we need at least this.
- sex scenes:
- masturbation
- sex with a man, a woman, and a group, with all parnters unrecognisable.
- bdsm pics, with tied girl sitting in the dungeon, also pics with various bdsm devices using on girl.

I will provide examples from our packs for all pictures, of course.
Title: Re: General Discussion
Post by: lamoli on May 22, 2015, 06:13:05 AM
https://mon-partage.fr/f/Nj8CzlaP/ (https://mon-partage.fr/f/Nj8CzlaP/)


Frontal hair only for now.. just testing if its looks ok.. still need to make sides/back and then shadow corrections..


And thats realy low poly hair to get the shapes.. it can be improved
Title: Re: General Discussion
Post by: DarkTl on May 22, 2015, 06:40:37 AM
Looks good. Make sure long ears are visible even with hair.
Oh, btw you can increase picture height a bit, right now we can't see her head completely.
Title: Re: General Discussion
Post by: lamoli on May 22, 2015, 07:14:21 AM
https://mon-partage.fr/f/6oYpFKI0/ (https://mon-partage.fr/f/6oYpFKI0/)


only changed pose with lower bodysuit 3d edit..


arf only seen now that neck poke through the neck cloth this one is bad..
Title: Re: General Discussion
Post by: lamoli on May 22, 2015, 09:52:01 AM
https://mon-partage.fr/f/YSi01qd0/ (https://mon-partage.fr/f/YSi01qd0/)


Switching from closed to open using a slider after flex if made so from 0% to 100% and in between.. really useful for xxx stuff


i only need some texture for the inside of open part.. im using a single color till then..
Title: Re: General Discussion
Post by: lamoli on May 22, 2015, 10:31:06 AM
https://mon-partage.fr/f/VJyyBQ3x/ (https://mon-partage.fr/f/VJyyBQ3x/)


Expressions.. thers a lot more morphs lite moving eyes/thong/saying words/independent brows/mouth moving.. there is also a smaller version of mouth.. useful for certain anime


ATM only closing eye is broken.. ill make a new morph soon to fix it


all those expression comes from base 0% to 100% of any screenshots so there is a lot in between if its needed
Title: Re: General Discussion
Post by: DarkTl on May 23, 2015, 03:33:15 AM
Looks good. What about hair? I mean, when the character stands, long hair are usually in another position compared to when she lies for example, becasue there is a different gravity vector.
Title: Re: General Discussion
Post by: lamoli on May 23, 2015, 03:52:42 AM
Yes indeed but for that i can rig the hair to pose it as i please or i could use blender physics for gravity but posing hair is simpler i already made the research and technique i would need to make those cg sets..


Now what i need is practice at morphing new heads/body/cloth/hair.. so i could make em faster than what im able now


But the real hard part in character pose was limbs/waist joints as the deform really bad if you dont know how to solve this cloth/hair dont have those joints problem.. you can just pose em or warp em around body ( this would imply that i would need reference pictures for the hair style/posing too )
Title: Re: General Discussion
Post by: lamoli on May 23, 2015, 04:07:37 AM
Btw for hair i can do the same thing as DOA5 characters but im not sure it would keep the anime effect
Title: Re: General Discussion
Post by: DarkTl on May 23, 2015, 12:37:13 PM
Btw clothes seem too tight-fitting because you kept nipples. Usually you can't see them behind clothes.
Title: Re: General Discussion
Post by: lamoli on May 23, 2015, 02:27:06 PM
https://mon-partage.fr/f/wZX9LP4S/ (https://mon-partage.fr/f/wZX9LP4S/)


Shiny test.. looks ok now.. i had to do lots of testing..


Ok about nipples i make em show through colthes since the picture showed em i can hide em if needed
Its really easy to hide them only 1 slider to pull back..


oops forgot to revert the body clothes edges to yellow..
Title: Re: General Discussion
Post by: DarkTl on May 23, 2015, 02:38:34 PM
Let's focus on hair then. Try to make long hair like at the picture, and add more polygons as well.
Title: Re: General Discussion
Post by: Xela on May 23, 2015, 03:23:38 PM
Yeap... still... I think this may have more potential in EE. If random girls become a hassle, we can always use a couple of uniques for randoms and let the player decide, when the player is not familiar with the background, any unique can make a random.

===
I'll try to finish classes tomorrow, have the whole day set aside for coding for PyTFall.
Title: Re: General Discussion
Post by: lamoli on May 23, 2015, 08:55:30 PM
https://mon-partage.fr/f/QFF5xigi/ (https://mon-partage.fr/f/QFF5xigi/)


Here is the longhair.. still need rework (51.000++ poly faces ATM)


Where should i put the focus next ?
Title: Re: General Discussion
Post by: DarkTl on May 24, 2015, 04:06:27 AM
Yup, hair look much better now.
Next are poses. There are some examples of basic sex poses in the archive that I linked before.
Title: Re: General Discussion
Post by: lamoli on May 24, 2015, 07:43:02 AM
https://mon-partage.fr/f/oQ62Kyul/ (https://mon-partage.fr/f/oQ62Kyul/)


Here is doggy..


I did not made cloth for guy or posed hair since it takes lot of time.. ( of course ill do it for final render if pose is right.
Title: Re: General Discussion
Post by: DarkTl on May 24, 2015, 08:04:41 AM
Her eyes seem a bit off when slightly opened. Try to make them like here (https://www.dropbox.com/s/z5pta9lfhcx7njd/1.rar?dl=0).
Title: Re: General Discussion
Post by: lamoli on May 24, 2015, 08:13:30 AM
Yes thats the fix i need to do.. eyes closing are broken and i need to fix em.. this is a detail that can be fixed at any time since all is ready to render it again.. with that file ready i could make adjustments if theres a change..


Atm im trying other poses.. but ill fix the eyes asap then rerender everything
Title: Re: General Discussion
Post by: lamoli on May 24, 2015, 09:22:07 AM
https://mon-partage.fr/f/Ja95ShBb/ (https://mon-partage.fr/f/Ja95ShBb/)


missing some genital textures to blend in better and props ( ropes/bar ) but those can be made.


I just noticed i didnt add brows and eyebrows like i did with Asuna.. so this can be improved
Title: Re: General Discussion
Post by: DarkTl on May 24, 2015, 10:06:15 AM
Can you render backgrounds, or it's better to find them for you?
Title: Re: General Discussion
Post by: lamoli on May 24, 2015, 10:19:15 AM
hmm.. easyer if its 2D backgrounds for now i could try to make 3D ones later i can make the props inside the room..


Ill try to make a few tests on 3D backgrounds but its gona be hard to find le texture with ( normal/specular/displacement/opacity ) and make a lighting that looks like anime 2D background..


Ill fix the eyes closing and some other stuff before i try that.. ( more poly for clothing (eye)brows )


anything else that need improvement ? ( hair pose.. only on final render )
Title: Re: General Discussion
Post by: DarkTl on May 24, 2015, 10:29:40 AM
Well, your last render is very dark, you can almost confuse her with a dark elf or something  :)
And there are more clothes in my examples, like maid or formal.

You could also render emotions with textures and hair to see how natural they will look.
Title: Re: General Discussion
Post by: DarkTl on May 24, 2015, 11:36:39 AM
I'll try to finish classes tomorrow, have the whole day set aside for coding for PyTFall.
I think Thewlis was demoralized by the change of ST concept, judging by lack of pushes. I suppose it's up to you after all.
Title: Re: General Discussion
Post by: Xela on May 24, 2015, 12:25:22 PM
I think Thewlis was demoralized by the change of ST concept, judging by lack of pushes. I suppose it's up to you after all.

Instructions you gave him were too unclear... even I was a bit confused (and we talked about it in detail in chat).

Let me finish the classes first, I caught a flu or something, headache is killing me for a third day in a row so I cannot code properly :( Classes themselves are more or less done but they are useless, until I write loading functions for mobs, random girls and fix over 250 entries in the code (old occupation lines).
Title: Re: General Discussion
Post by: lamoli on May 24, 2015, 12:53:44 PM
https://mon-partage.fr/f/92IJO4so/ (https://mon-partage.fr/f/92IJO4so/)


Here i tryed the floor ( 1 color for tiles / 1 color between tiles or not / black freestyle line between tiles or not ) whats best ?? ( used noise/color ramp from blender for the effect )


for the last render i completely forgot to adjust the light.. i did the same thing now.. but its fine i could always make all brighter with area light and not casting shadows ( that way all is brighter and light still give the same shadow direction )


For clothing im gona make more but wanted to know if something was really bad and need fixing..
Title: Re: General Discussion
Post by: lamoli on May 24, 2015, 01:09:05 PM
I think Thewlis was demoralized by the change of ST concept, judging by lack of pushes. I suppose it's up to you after all.


If i provide training rendered picture will it motivate him ?? after all i was one of those who pushed the ST concept forward.. and id like to see it progress


And naked slave training thats easier for me.. no clothing to make lol as for props ( chains/cuffs/ropes/training apparatus ) thats easy to make


Well we could decie of a few salve clothes if its needed
Title: Re: General Discussion
Post by: DarkTl on May 24, 2015, 02:45:03 PM
Instructions you gave him were too unclear... even I was a bit confused (and we talked about it in detail in chat).
Nah, I asked him to improve his traits-flags system (developed and made by him) to support multiple flags, and one general screen to control ST from 1 place instead of wandering around the whole gui, like you have to currently. I can't possibly say it even simplier, maybe a native english speaker could...  :D

Here i tryed the floor ( 1 color for tiles / 1 color between tiles or not / black freestyle line between tiles or not ) whats best ?? ( used noise/color ramp from blender for the effect )
Tiles look awesome. I personally like those with black line.

For clothing im gona make more but wanted to know if something was really bad and need fixing..
I just noticed thanks to the new background, her knees are square in that pose. Could you smooth them out?

If i provide training rendered picture will it motivate him ?? after all i was one of those who pushed the ST concept forward.. and id like to see it progress
Ideally, we need unrecognisable pictures for various ST actions, since we cannot guarantee that a girl will have all pictures that we need. Naked and inside a training dungeon.
But I'm not sure what is the best way to make them unrecognisable.
Title: Re: General Discussion
Post by: lamoli on May 24, 2015, 02:56:39 PM
I just noticed thanks to the new background, her knees are square in that pose. Could you smooth them out?


Yes its because the cloth are really low poly i planed on improving that after i made the maid outfit.
Title: Re: General Discussion
Post by: lamoli on May 25, 2015, 06:08:29 AM
Ideally, we need unrecognisable pictures for various ST actions, since we cannot guarantee that a girl will have all pictures that we need. Naked and inside a training dungeon.
But I'm not sure what is the best way to make them unrecognisable.


If you give me samples picture even if its real life or made by hand on paper i could make the render so it would be usable..


One of the main reason of why i started trying to do those render is.. in lots of packs.. outfits/action where missing of the picture design was so bad that i deleted it.. lol


Im not sure how close i can get to the real thing ( to render missing picture of action/outfits ) for already existing girls pack but that was my goal..


If you provide me with lots of torture/training samples i could try to make the props and BG and i could try to render a few non random girls so they get picture for the ST actions


Of course it would take time to make the heads to be used in any pose.. but as long as the face is looking at the camera or even with a few degree angle i could make them fast and only do a planar( with only a few edges for eyes/mouth and shadow effect ) that way almost all existing girls can be done fast


the body.. all is possible there i can get all the poses needed really fast and body shape is not a problem at all i made tonz of morphs on to of existing ones so the only thing missing is clothing/face/hairs ( but will be working on those )
Title: Re: General Discussion
Post by: DarkTl on May 25, 2015, 12:12:54 PM
Hm. I suppose we cannot cover all possible options for bdsm by generic pictures... Even if we make pictures for any possible body and boobs size and avoid to show face and even hair, unpredictable things like body color or wings will ruin everything.
Unless we show the character in full latex or something, and this is a bit strange.

I'll try to finish base pack with examples for all clothes and poses tomorrow.
Title: Re: General Discussion
Post by: DarkTl on May 26, 2015, 02:36:38 AM
Let's see... Here (https://mega.co.nz/#!i502GC7S!8DdqwVHI7JS_Rr0VHWMqBf5iC29sULXwPwq1jrJx1N8) are basic examples of common clothes and actions. Some have male and female verions of them are too different, but in general all licking, fingering and penetrating pictures should have anal and vaginal versions. Lesbian pictures should have reversed versions, like the girl licks/being licked. And sex pictures with males should have versions with females, but with dildo.
Title: Re: General Discussion
Post by: DarkTl on May 26, 2015, 11:54:10 AM
Well, I liked the old Alkion more. Now it has super long intro without cool animation stuff (unlike ours  :) ) and tones of typical fanfictions. But even worse, it tries to copy Kamidori right from the beginning to the smallest detail, thus barely has any originality left. I almost have the impression that it's a Kamidori for those who don't know both Japanese and English. Sad, really sad.
Title: Re: General Discussion
Post by: lamoli on May 26, 2015, 01:10:32 PM
https://mon-partage.fr/f/aJH8yd4t/ (https://mon-partage.fr/f/aJH8yd4t/)


The new base anime head ( should be able to cover most existing girls ) with a little morph


Nothing changed/improved on cloth detail.. but added brows/eyebrows as test


Maid v1 almost done
Title: Re: General Discussion
Post by: DarkTl on May 27, 2015, 10:23:53 AM
Yup, that should do it.

I have a question. Can you show muscularity if needed? I mean, there are characters, usually warriors, with very noticeable muscles.
Title: Re: General Discussion
Post by: lamoli on May 27, 2015, 11:46:20 AM
https://mon-partage.fr/f/hOF9fOc3/ (https://mon-partage.fr/f/hOF9fOc3/)


Maid MK1 ( well more sexy then normal outfit )


Coulnd decide on shoes so made none atm.. tryed with leg band/common socks and then semi transparent stockings.. then front/back side of main pose to see the dress


I could make lots of addons or change it.. its just how it went so far..


i will make the normal maid outfit from the base clothing really soon..
Title: Re: General Discussion
Post by: lamoli on May 27, 2015, 12:34:09 PM
Yup, that should do it.

I have a question. Can you show muscularity if needed? I mean, there are characters, usually warriors, with very noticeable muscles.


https://mon-partage.fr/f/Mug2LJIi/ (https://mon-partage.fr/f/Mug2LJIi/)


Here on the left extra muscles ( could add even more ) and right normal body muscles
Title: Re: General Discussion
Post by: lamoli on May 27, 2015, 12:36:49 PM
As long as i make the armor/clothing you could have lots of fighter really fast


for the rest is making a few hair/face models so they dont look too similar..


Btw.. i could render sprites of character if needed for BE you just need to tell me the exaxt size needed and angle of rotation if any..


like if you make exploration sprites i could make them like isometric/or top view with all the rotation needed to walk on the map ( i already made isometric 2d tiles of 1x1x3m for a 2d game engine )
Title: Re: General Discussion
Post by: lamoli on May 27, 2015, 03:05:37 PM
https://mon-partage.fr/f/gMSDQh72/ (https://mon-partage.fr/f/gMSDQh72/)


Those are base models from a naruto game ( unusable untill reworked ) theres more of em too..


So my question is should i spend time making those face morphs so we can use em like they are showing on picture or you dont want existing girls ?
Title: Re: General Discussion
Post by: Xela on May 27, 2015, 04:51:00 PM
I figure we have images for those Naruto Girls. Maybe BE sprites or EE sprites but that is a huge project in it's own... You could try making a decent unique pack like originally planned.
Title: Re: General Discussion
Post by: lamoli on May 27, 2015, 05:15:20 PM
I also found some bleach ones..


But since its 7740 face to adjust each time i make a new morph for a head.. ill do that after the base clothing and posed actions


But soon we should be able to get decent unique/random packs with every action needed and i could render the missing actions on existing packs if needed..
Title: Re: General Discussion
Post by: Xela on May 28, 2015, 10:32:54 AM
Oki, I am done with minigame alpha with testing resources:

https://mega.co.nz/#!C15FXTbT!auwBydT4Iu9cJkXkae8sLgqu2l1SoEY-CIwO-Df6Jps

Should look something like this: https://www.youtube.com/watch?v=3paKlo7S5_U in the end but I am thinking we can adapt it as a minigame when spells are shot from left to right and need to be defended against to be used in the Arena or similar locations.

Took quite a bit of effort and took my mind of things. I am feeling a bit better as well so it PyTFall's time this weekend.
Title: Re: General Discussion
Post by: DarkTl on May 29, 2015, 01:43:35 AM
I'm afraid we need a manual even for this  :)
I have no idea how to block purple streams.
Title: Re: General Discussion
Post by: Xela on May 29, 2015, 05:23:14 AM
I'm afraid we need a manual even for this  :)
I have no idea how to block purple streams.

You need to hold the corresponding buttons down while the rings keep coming  (actually just for 0.9 seconds, they have a lifetime span of 1s + you get 0.5s to make it easy for testing purposes):) It's like in the video only with temp graphics.

I've learned how to use ATL inside of UDD.render() with this, so far it didn't seem to occur to anyone else :) This is really, really powerful when making mini-games or even more complex games like 2D strategy...

*Beta of DefilerWings will be released soon (today/tomorrow), it might be fun for one or two plays. They even made 3 Videos for it using Video Editing soft :)
Title: Re: General Discussion
Post by: DarkTl on May 30, 2015, 02:57:54 PM
There was hyperdimension neptunia 2 released on pc. They have pretty interesting SE module there, with stuff like finding items, gaining temporary stats bonuses that work until you finish exploration, and of course battles with enemies behind the screen.
The part that I liked most is a detailed log that mentions every event. Even though you cannot interfere at all, it's still a cool thing.
Title: Re: General Discussion
Post by: Xela on May 31, 2015, 03:17:35 AM
There was hyperdimension neptunia 2 released on pc. They have pretty interesting SE module there, with stuff like finding items, gaining temporary stats bonuses that work until you finish exploration, and of course battles with enemies behind the screen.
The part that I liked most is a detailed log that mentions every event. Even though you cannot interfere at all, it's still a cool thing.

I'll need more info on this :)

======
Ok... so after working through the night I've fixed most checks for new occupations. I still did not recoded girl loading routines (girls are loaded with old strings) so new code couldn't be tested. I expect that I'll need 10 - 15 more hours to make this work so chances are that it is not going to be finished this weekend.

Main issue is that the whole game was built around strings "Warrior", "ServiceGirl", "Prostitute" and "Stripper". All related things were not modular and were very hard to expand. There could also never be two of these at the same time. To change all of that a lot of changes is needed all over the freaking game and in some places where the code is not even mine. I am hoping that it'll be done next week but some things (like modular sorting, matching any basetrait to jobs and etc. may take even longer then that to sort out).

We will also prolly have to sacrifice some of current logic to have a better game in the future, but we'll discuss that in chat when time permits and we can all get together... It's now 10 am so I should prolly get a few hours of sleep :)
Title: Re: General Discussion
Post by: DarkTl on May 31, 2015, 05:03:58 AM
You select a zone and how many areas to explore, the more areas, the longer it will take. Every zone has max amount of areas, so you cannot increase exploration time indefinitely.
After you sent party, you cannot do anything anymore.
SE is in real time there, but in our case we can just show what happened with the party so far.

This (https://www.dropbox.com/s/e6f9s0g1he6b7mi/1.jpg?dl=0) is the log. Almost every line could be expanded, like this (https://www.dropbox.com/s/5wopr4g82g0weug/2.jpg?dl=0). There are also events like finding chests with items and traps, meeting npcs that may give or steal items, finding items that may increase stats until current exploration is over or heal the party.

Despite decent logic and gui, it's just a minigame in a usual jrpg.
Title: Re: General Discussion
Post by: lamoli on May 31, 2015, 05:49:23 AM
Lol i can edit those and convert for us to use.. that would give more base head/body/clothing since their 3d models exist.. but maybe too much loli.. i did the same thing for Valkiria chronicles.. its just gona take time to edit/convert


Clothes Update: Yukata/Miko/Maid(from picture ) missing the rest is done


For the ninja clothes i dont know what shoes i should use ( the ones that goes with Kasumi original suit or something else ?)
Title: Re: General Discussion
Post by: DarkTl on May 31, 2015, 09:51:35 AM
Hm? You mean you can convert models from neptunia? Well, there are already two parts released on pc (and the third one probably will be closer to the fall), so there are tons of body parts and especially clothes that will be very useful for us.
For ninja suit, yeah, Kasumi suit shoes are suitable.

Main issue is that the whole game was built around strings "Warrior", "ServiceGirl", "Prostitute" and "Stripper".
Yeah, you have to rewrite most of the things that you coded first when we just started the project, pretty much like Cherry and me had to retag packs at least 2 times  ;D

We will also prolly have to sacrifice some of current logic to have a better game in the future, but we'll discuss that in chat when time permits and we can all get together...
I dropped chat lately since without coding progress we can only discuss pack making, and you are not even a pytfall pack maker  :)
Let me know when there will be game logic to discuss.

Also, Thewlis hasn't been here for two weeks. I personally think that he dislikes how we change all concepts on the fly, making him to recode stuff.
Title: Re: General Discussion
Post by: Xela on May 31, 2015, 09:58:32 AM
Yeah, you have to rewrite most of the things that you coded first when we just started the project, pretty much like Cherry and me had to retag packs at least 2 times  ;D

Yeah... but I figure this time will be the last, since we'll be working with objects and modular system that can be expanded much easier.

I dropped chat lately since without coding progress we can only discuss pack making, and you are not even a pytfall pack maker  :)
Let me know when there will be game logic to discuss.

There will be nexxt week :)

Also, Thewlis hasn't been here for two weeks. I personally think that he dislikes how we change all concepts on the fly, making him to recode stuff.

Anything he'll code now will have to be recoded again after new system is in place. Once that's done, I'll contact him. If he wants out/doesn't have time for the project anymore, I'll advance the ST myself as well.
Title: Re: General Discussion
Post by: lamoli on May 31, 2015, 10:03:53 AM
Hm? You mean you can convert models from neptunia? Well, there are already two parts released on pc (and the third one probably will be closer to the fall), so there are tons of body parts and especially clothes that will be very useful for us.
For ninja suit, yeah, Kasumi suit shoes are suitable.


I can take any 3D model of any game that runs on PC or thats working with emulators or even from disk images..


It could simplify my lack of creativity for all those clothes/body/items parts.. but i would have to rework them completely to be able to use em ( but i woulnd waste time trying to design new clothes from scratch like now.. )


Of course even if i can find the 3D model its useless untill rework and it takes up to a few hour/clothes/body part/items to be reworked and adapted
Title: Re: General Discussion
Post by: Xela on May 31, 2015, 10:09:32 AM
Of course even if i can find the 3D model its useless untill rework and it takes up to a few hour/clothes/body part/items to be reworked and adapted

Computation time or coding/instructing? If it's the former, you can write a guide and we'll all chip in.
Title: Re: General Discussion
Post by: lamoli on May 31, 2015, 10:22:54 AM
Cannot be solved that way.. steps are:


1. Resize cloth to adapt it to the base 3D model
2. Rework/create new polygons to adapt part(clothes/item/body part)
3. Make sure base body dont pass thru clothes while its posing or morphing to different shapes
4. Rework bones weight so their influence gets the expected result or create new bones with weight to pose specific parts like ( hair/clothes parts )
5. Creating materials to render either colors or textures on surfaces
6. Render itself adjusting lights/reflection/transparency/...
Title: Re: General Discussion
Post by: DarkTl on May 31, 2015, 10:32:16 AM
Most unique girls have unique clothes with multiple examples, so you don't have to design them. But some don't, not to mention random characters.
If it won't be too difficult to find clothes in neptunia resources and port some of them, it might be a good solution.
Title: Re: General Discussion
Post by: lamoli on May 31, 2015, 04:46:42 PM
Miko is done.. but the Yukata base is not a real Yukata.. its the Yukata short top with opened miko skirt ( purple ) and stockings+boots..


Should i make 1 real Yukata and that mix of the 2 ?
Title: Re: General Discussion
Post by: Xela on May 31, 2015, 07:04:51 PM
I do hope you guys are still talking about random girls? :D

The greats potential value I see in 3D renders is a base for 10 - 15 new Random Girls. Maybe it's possible to standardize creation somehow... Sprites for EE/BE is the second option but that's prolly too big of a project atm.

Unless you have different ideas?
Title: Re: General Discussion
Post by: DarkTl on June 01, 2015, 01:15:20 AM
In theory, some of existing unique packs could use more pictures as well.

But yeah, first of all it should solve that problem with random packs when some people don't like that it's not the same character, but several ones similar to each other.
And those who don't have such a problem will be able to use both types of packs. Everybody wins.

Miko is done.. but the Yukata base is not a real Yukata.. its the Yukata short top with opened miko skirt ( purple ) and stockings+boots..
I'm afraid I don't know much about yukatas  :)
It should be a normal yukata.
Title: Re: General Discussion
Post by: DarkTl on June 01, 2015, 04:49:43 AM
After I bumped into doubles in my old packs, I found an awesome software that can search for similar and identical images. Can't believe I never thought about it before  :)
Title: Re: General Discussion
Post by: CherryWood on June 01, 2015, 07:14:20 AM
After I bumped into doubles in my old packs, I found an awesome software that can search for similar and identical images. Can't believe I never thought about it before  :)
I'm also using awesome software for that, "Awesome Photo Finder"  :D is that it?

I rettaged few more girls, but two big packs are still not yet updated, it totally suck that it's taking me so long...
Title: Re: General Discussion
Post by: lamoli on June 01, 2015, 08:13:56 AM
https://mon-partage.fr/f/5vEQsBOr/ (https://mon-partage.fr/f/5vEQsBOr/)


Miko test.. by far the most annoying to make.. i did not adjust the lights but you should see the dress detail.. and let me know if its ok.

Title: Re: General Discussion
Post by: Xela on June 01, 2015, 08:57:07 AM
We made a mistake btw when decided to use knee-height sprites. Not a fatal one but still :(
Title: Re: General Discussion
Post by: DarkTl on June 01, 2015, 09:41:00 AM
Well, I suppose full sprites could be more useful, but knee height sprites are much easier to find. Very rare I have to cut full sprites, usually pictures are already have been cut by the artist.

you should see the dress detail.. and let me know if its ok.
That website is down, and not only for me. I'll try to take a look later.

I'm also using awesome software for that, "Awesome Photo Finder"  :D is that it?
The first one that I found in google was visipics  :)
Title: Re: General Discussion
Post by: lamoli on June 01, 2015, 02:39:36 PM
https://mon-partage.fr/f/w8nqAx4N/ (https://mon-partage.fr/f/w8nqAx4N/)


Other samples with no pose to see clothing.. i still need to make ninja shoes and about ninja clothes its a variant from the picture you gave me but i could use the original as well..


I need to work more on normal maps/textures to give a better cloth effect but im progressing..


Also all is from a base model and everything will follow morphs like if i want big boobs i just increase boobs size and clothes will still fit like it was made for it so i saves lots of time adapting to different body.. that way i only need to make 1 outfit with variant and everytime we want randomness on hair/face/body it will still work with no rework to do at all.. lol
Title: Re: General Discussion
Post by: Xela on June 01, 2015, 10:50:13 PM
Ok... so I pushed a very early version of new professional (classes/subclasses in the game and base traits in the code) traits system. I expect that old testing.rpy files will throw error so either delete your files or delete erroneous code blocks. My own new testing file attached.

With changes over this many files, I strongly suggest deleting all .rpyc files or clicking Force Recompile button (same thing).

Random girls are created completely differently now but fields remain the same, how we're going to handle them city-mechanics when we have them is an open topic for discussion.

===
Short explanation on how new system works:

*Basetraits are a special group of traits that offer very powerful bonuses. They are the classes like "Warrior", "Mage", "Service", "Stripper", "Anal Whore", "Cook", "Alchemist", "Ninja", "Manager" and etc. Those very powerful bonuses are applied ONLY for two of those traits!

So the system looks like this:

*[Class] - FULL MEGA BONUSES APPLIED
*[Class or Subclass]  - FULL MEGA BONUSES APPLIED
*This group can only be applied WHEN THE CHARACTER IS FIRST CREATED! If there is only one, MEGA BONUSES are doubled.

[Subclass] - Normal application
[Subclass] - Normal application
[Subclass] - Normal application
[Subclass] - Normal application
*This group can be applied at any time, these traits can also be lost.

Simple Examples:

*[Service]
*[Stripper]

[Bartender]
[Cook]
[Belly Dancer]
[Pole Dancer]

====
*[Mage]

[Explorer]
[Alchemist]

====
*[Mage]
*[Alchemist]

====
*[Warrior]

[SwordMaster]
[Explorer]
[WarVeteran]

And so on. ATM we obviously have too few jobs, buildings and content but the system was made future proof because I am sick of rewriting the same thing over and over.

Our initial plan where any basetrait could be a Class or Subclass trait was not acceptable because Characters could have ended up with 6 different professions...

New fields:

Code: [Select]
"occupations": []
This is for internal use, options are: # So far I came up with SIW (Sex Industry worker), Server (All servicegirl jobs), Warrior... Usually used for sorting girls and checking if they are willing to do jobs. This might be updated/expanded.

Code: [Select]
"higher_tiers": [] This is for SubClasses, should contain main class(es). Like Mage would be a main class for Alchemist.

We'll need to give this new system a test, there are also many discussion points and decisions to be made (mainly for me... rest of the code needs to be adapted to this). I think rest of the traits code is documented already, this is how traits code is looking atm:

Code: [Select]
    class Trait(_object):
        def __init__(self):
            self.desc = ''
            self.icon = None
            self.hidden = False
            self.mod = dict()
            self.max = dict()
            self.min = dict()
            self.blocks = list()
            self.effects = list()
           
            # Occupations related:
            self.occupations = list() # So far I came up with SIW (Sex Industry worker), Server, Warrior...
            self.higher_tiers = list() # Required higher tier basetraits to enable this trait.
           
            self.sex = "female" # Untill we set this up in traits: this should be "unisex" by default.
           
            # Types:
            self.type = "" # Specific type if specified.
            self.basetrait = False
            self.personality = False
            self.race = False
            self.breasts = False
            self.body = False
            self.elemental = False
           
            self.add_beskills = list()
           
            # Elemental:
            self.font_color = None
            self.resist = list()
            self.el_name = ""
            self.el_absorbs = dict() # Pure ratio, NOT a modificator to a multiplier like for dicts below.
            self.el_damage = dict()
            self.el_defence = dict()
            self.el_special = dict()
           
            # Weaponfocus:
            self.we_damage = dict()
            self.we_defence = dict()
            self.we_special = dict()
           
            # Base mods on init:
            self.init_mod = dict() # Mod value setting
            self.init_lvlmax = dict() # Mod value setting
            self.init_max = dict() # Mod value setting
            self.init_skills = dict() # {skill: [actions, training]}
           
            self.leveling_stats = dict() # {stat: [lvl_max, max **as mod values]}



========
Girls will be normalized to have at least one Class, both Random and Unique.

New random girls can be created simply with:

build_rc() function. Extra parameters are:

Code: [Select]
    def build_rc(id=None, name=None, last_name=None, pattern=None, level=1, add_to_gameworld=True):
        '''
        Creates a random character!
        id: id to choose from the rchar dictionary that holds rGirl loading data from JSON files, will be chosen at random if none availible.
        name: (String) Name for a girl to use. If None one will be chosen from randomNames file!
        last_name: Same thing only for last name :)
        pattern: Pattern to use when creating the character! (Options atm: Warrior, ServiceGirl, Prostitute, Stripper) If None, we use data or normalize in init()
        level: Level of the character...
        add_to_gameworld: Adds to characters dictionary, should always be True unless character is created not to participate in the game world...
        '''


We will now only maintain 200 names/full names at the same time in game memory, if we run out, another 200 will be loaded. Savefile size is down by almost 300kb...


I'll try to write similar function to build_rc for mobs tonight.
Title: Re: General Discussion
Post by: Xela on June 01, 2015, 11:00:58 PM
**PS: Skill for basetraits are not functioning properly (yet). I'll fix that later this week, I've been mostly testing with Warrior and Mage who do not have skills and only modify stats.

Some simple traits can be found in traits_test.json or something like that. Right now only Mage and Warrior do useful stuff, rest is just for decor/in game checks.
Title: Re: General Discussion
Post by: DarkTl on June 02, 2015, 02:49:25 AM
You had a typo that prevented launching that I (hopefully correctly) fixed and pushed.

So the difference between class and subclass is that a girl can get a class only is the beginning, as a part of permanent group?
Title: Re: General Discussion
Post by: lamoli on June 02, 2015, 04:19:40 AM
https://mon-partage.fr/f/tlddLomu/ (https://mon-partage.fr/f/tlddLomu/)


Ninja with custom shoes from original.. now my question is should i make stockings above the knee like original or a sock below the knee ? ( would be closer to reference picture i based the model on )


i did not adjust lights so its like before to compare.. but i adjusted normal maps for clothing effect


oops messed hair fit on new model.. this can be fixed with 1 click so not gona spend time on it.. ill work on other clothes first
Title: Re: General Discussion
Post by: Xela on June 02, 2015, 05:32:49 AM
So the difference between class and subclass is that a girl can get a class only is the beginning, as a part of permanent group?

Yes. Pure class trait (that has no "higher_tiers" at all) cannot be applied while playing the game. I made a mistake in my original post btw, a character can start with two subclasses locked, there is and should not be anything preventing that. Do note that Subclasses CAN have "higher_tiers" leading to other Subclasses, for example:

*Mage --> Alchemist --> PotionMaster/Enchanter

*Service --> Waitress -->
*SIW -->                     --> SleasyWaitress

I think it will be a solid system in the end... I am also thinking about subscriptions for class traits, it's like you've said: Shinigami or Samurai for example can simply be considered Warriors, so we will prolly allow something like:

Code: [Select]
{"id": "Samurai",
  "desc": "Unique description for Samurai",
  "is_trait": "Warrior"
}

If is_trait is present, trait will have unique name but the same logic as Warrior internally.

The idea is to allow create characters that have unique feeling to them...

**Your fix was correct. I'll try to make the skills work today + write a function to load Mobs in the new format. There is so much work still to be done, it's scary... but hopefully once done, we will be able to add interesting content at quicker pace. We'll also have to make some sacrifices in logic, some parts of the game are overcomplicated, we'll have to come up with simpler approaches if we are to add more interesting logic.
Title: Re: General Discussion
Post by: DarkTl on June 02, 2015, 07:22:32 AM
should i make stockings above the knee like original or a sock below the knee ?
I think it should be above the knee. I've seen a lot of nnja pictures, and most of them have it above.
Title: Re: General Discussion
Post by: DarkTl on June 02, 2015, 07:40:15 AM
Hm, I don't understand the meaning of higher_tiers system, especially since characters can start with two subclasses and without classes.
Title: Re: General Discussion
Post by: lamoli on June 02, 2015, 09:43:56 AM
https://mon-partage.fr/f/IQOaMHBt/ (https://mon-partage.fr/f/IQOaMHBt/)


Something like this ?
Title: Re: General Discussion
Post by: DarkTl on June 02, 2015, 10:16:44 AM
Yup, looks perfect.
Title: Re: General Discussion
Post by: Xela on June 02, 2015, 11:16:53 AM
Hm, I don't understand the meaning of higher_tiers system, especially since characters can start with two subclasses and without classes.

Well, they are used to narrow options for the remaining four sub-traits! So not every girl will agree to work as whatever the feck :)

If you add two subclasses at start that field will be VERY narrow, for example:

*[Stripper]
*[Waitress]

[Sleasy Waitress]
[???]

She we will be a very good waitress, very good stripper and agree wholeheartedly to Sleasy Waitress job (+ other corresponding jobs) but not to much anything else... it's a tradeoff, Sub-Class traits should be VERY precise in their bonuses and corresponding jobs, Classes less so (in skills/stats) and enable Sub-Classes to unlock more jobs and etc.

I am going to work on Mobs, Skills and maybe Jobs tonight so I'll be around the forum and chatroom in about an hour if you have questions. I am still not sure how to bind this system to Jobs properly and how to handle certain things like auto-equipment when we add loads more jobs and buildings... I'd prefer a system that allows expansion with minimum effort.
Title: Re: General Discussion
Post by: lamoli on June 02, 2015, 01:44:10 PM
Dark can you please make a selection of outfits there..


http://armachamcorp.deviantart.com/gallery/ (http://armachamcorp.deviantart.com/gallery/)


as it takes times to adapt them i need the most important ones first..
also there might be good examples of armor parts ( hard to find those ) could be useful for fighters..


its all taken from games.. so i would have to rebuild em to use em but thats fine as long as i have the base model as reference


http://www.deviantart.com/browse/all/?q=armor+3d&offset=0 (http://www.deviantart.com/browse/all/?q=armor+3d&offset=0) ( and check all of em )
Title: Re: General Discussion
Post by: DarkTl on June 02, 2015, 02:42:07 PM
Dark can you please make a selection of outfits there..
Ok. That will take some time, I'll do it tomorrow.
Title: Re: General Discussion
Post by: DarkTl on June 02, 2015, 02:54:49 PM
I am going to work on Mobs, Skills and maybe Jobs tonight so I'll be around the forum and chatroom in about an hour if you have questions. I am still not sure how to bind this system to Jobs properly and how to handle certain things like auto-equipment when we add loads more jobs and buildings... I'd prefer a system that allows expansion with minimum effort.
No more questions yet... I caught a cold, so I'm going to bed early today.

I suppose auto equipment system could be based on classes traits only. And in case if only subclasses are permanent, well, they do have high tier classes anyway.
If we use too many values as a base for AE system, it will become too complex and unfocused.
Title: Re: General Discussion
Post by: Xela on June 02, 2015, 03:00:27 PM
Decent models... I still think this can make good random packs but mixing 3D render with drawings will prolly look awkward, well live and see.

Something came up so I will start late again tonight, gonna try and do the mobs first.

I suppose auto equipment system could be based on classes traits only. And in case if only subclasses are permanent, well, they do have high tier classes anyway.
If we use too many values as a base for AE system, it will become too complex and unfocused.

Well, it can't be based on class traits or at least only partly be based on them. Only the one or two initial traits are permanent, they can be both sub and class. Auto-Equipment system needs to be job oriented... so we'll prolly have to either create a sub-trait for every job and draw from that or create a list of corresponding stats and skills for every job. Prolly the latter or maybe even a  combination of two.
Title: Re: General Discussion
Post by: Xela on June 02, 2015, 07:30:59 PM
Oki, so I just managed the loading mobs function tonight... Arena and almost everything else Mobs related is broken, I just rigged BE Testing label to check out if function is working.

Judging by how different types of mobs are looking in BE we'll prolly need some rules for BE pics in the future, but for now it's just testing.
Title: Re: General Discussion
Post by: DarkTl on June 03, 2015, 12:51:43 AM
Auto-Equipment system needs to be job oriented... so we'll prolly have to either create a sub-trait for every job and draw from that or create a list of corresponding stats and skills for every job. Prolly the latter or maybe even a  combination of two.
Are you sure about it? Classes show character's main profession already. Just because you can set them to another job and even obtain new subclasses, main profession won't change. AE is not obliged to be perfectly logical, just like auto buying system.
Example: that maid from touhou is something like an assassin. But her main profession is maid, thus the's wearing maid clothes only.
Title: Re: General Discussion
Post by: lamoli on June 03, 2015, 03:08:43 AM
Decent models... I still think this can make good random packs but mixing 3D render with drawings will prolly look awkward, well live and see.


Well lots if not all recent anime are full 3D and you cant see the difference but i do agree on the fact that to get closer to artists drawings i would require more work so my renders looks like 2D ( im not even at the anime lvl atm ) but they do it so its possible..


Iv already spend a lot of time on my renders so they look more like 2d than 3d but there is room for improvements.. maybe i should focus now on rendering a girl on a existing 2D background and make her not look awkward.
Title: Re: General Discussion
Post by: Xela on June 03, 2015, 05:23:54 AM
Well lots if not all recent anime are full 3D and you cant see the difference but i do agree on the fact that to get closer to artists drawings i would require more work so my renders looks like 2D ( im not even at the anime lvl atm ) but they do it so its possible..

I'd need a VERY reliable source to even start buying this. Almost all recent Anime character sprites are hand-drawn (their expressions, movement and etc.). Some is hand-drawn on digital medium, other still on paper. They do use computers to combine animations, add lightning, shadows, integrate them into backgrounds properly but the sprites are almost always hand-drawn. 3D animation where sprites are modeled and created in 3D is mostly US based, japan is nowhere near catching up to that, but they do not really look 2D either.

It's a misunderstanding... almost all of the modern anime is computer animated so people immediately jump to conclusions that everything is done using computers. Stuff that was created in 3D from the start is quite obvious in Anime series, some do it partly, like for cars and tech (and STILL draw the character sprites btw :) ). Backgrounds are sometimes rendered in 3D and flattened but even that is usually done in anime movies, drawing comes out cheaper due to outsourcing.

Actually if you know a single anime series where character have obvious 2D look but were 3D rendered from the start, I'd like to check them out, if not to watch (due to lack of time) but just to see what that looks like. *With a reliable source confirming that sprites were 3D at some point...

Are you sure about it?

No, that just made sense to me :) Just feels like auto-equip should be job/task oriented...
Title: Re: General Discussion
Post by: lamoli on June 03, 2015, 07:46:29 AM
Alright maybe they integrate drawn characters into the 3D rendered BG but theres the lighting effect cast on those character as well.. but why bother drawing by hand if all can be done in 3D


https://www.youtube.com/watch?v=PiR7KYIQv9U


Of course that sample could be improved to look even more like the original..


My goal here is not to make anime.. its to find a good integration of 3d renders into 2D BG and if its not working well ill render the BG in 3D but need a lot of practice to make it look 2D like..


Since im not good at 2D drawing and artists only make only a few drawings of a specific girl.. the only way to get everything ( poses/outfits/expressions ) is to transform that character in 3D so proportions stays the same in any pose/angle that way we get all we need.. and if you want even better just rework my render with a program like Photoshop/Gimp and edit it like a real 2D artist.. but most of the job would be done by the 3D render..
Title: Re: General Discussion
Post by: Xela on June 03, 2015, 09:41:13 AM
Alright maybe they integrate drawn characters into the 3D rendered BG but theres the lighting effect cast on those character as well..

Backgrounds are rarely 3D as well. Also lighting effect is not rendered using 3D shaders, more often than not, hue/colormatrix is adjusted by the software. It looks a lot better and is quicker to make. This is something I learned when researching 2D/Pseudo-3D options for Exploration Engine, people with years of experience all seem to say one thing: in 2D/Pseudo-3D NEVER use 3D shaders, you'll simply sabotage your own efforts, even if your engine supports it (which Ren'Py atm does not).

but why bother drawing by hand if all can be done in 3D

The most obvious reason is that they are used to their current way, it's like a factory that a lot of different companies are using. Upgrading it is too costly and many of the people involved would have to be reeducated. It's like IRS... they collect trillions (actual trillions, not billions) in taxes but are still using Magnetic Tapes to store data (I think those predate floppy drives :) ).

But I am not convinced anime sprites quality like SOA or Naruto can be 3D rendered and covered to 2D at the same cost/time... I've never heard or seen anything of the sort.

https://www.youtube.com/watch?v=PiR7KYIQv9U


Of course that sample could be improved to look even more like the original..

It's not bad but it's a farcry from the original + CCS is not really a good example of modern Anime...

My goal here is not to make anime.. its to find a good integration of 3d renders into 2D BG and if its not working well ill render the BG in 3D but need a lot of practice to make it look 2D like..

Yeap, it a good goal, I never said otherwise... it's your statement about how Anime was made is the reason I started this conversation :)

Since im not good at 2D drawing and artists only make only a few drawings of a specific girl.. the only way to get everything ( poses/outfits/expressions ) is to transform that character in 3D so proportions stays the same in any pose/angle that way we get all we need.. and if you want even better just rework my render with a program like Photoshop/Gimp and edit it like a real 2D artist.. but most of the job would be done by the 3D render..

Yeap, I am also very curios how much of this can be made in a "factory" format (where you can just load the new sprites with few adjustments instead of doing a lot of work for every single render)... This opens a lot of possibilities like Equipment Dolls and/or Exploration Sprites. We don't have the time or manpower for that right now but in the future, when the game is advanced enough, we can revive the subject or even make a different game :)

For now if we get a couple of decent Random Packs out of it, it'll be super!
Title: Re: General Discussion
Post by: DarkTl on June 03, 2015, 09:58:33 AM
No, that just made sense to me :) Just feels like auto-equip should be job/task oriented...
I'm not sure. If we make a perfect AE that already uses best possible equipment depending on stats and skills needed for the current job, then full access to equipment (for lovers and slaves) will be almost useless. Because items are already the best, and they even change when job changes.
Thus any possible manual changes will only make things worse.
Title: Re: General Discussion
Post by: Xela on June 03, 2015, 10:09:01 AM
I'm not sure. If we make a perfect AE that already uses best possible equipment depending on stats and skills needed for the current job, then full access to equipment (for lovers and slaves) will be almost useless. Because items are already the best, and they even change when job changes.
Thus any possible manual changes will only make things worse.

I don't think that is possible to make in any decent time, but we should at least get it to make sense. I am going to take a look at skills for basetraits and maybe jobs tonight.
Title: Re: General Discussion
Post by: lamoli on June 03, 2015, 10:22:30 AM
Yeap, I am also very curios how much of this can be made in a "factory" format (where you can just load the new sprites with few adjustments instead of doing a lot of work for every single render)... This opens a lot of possibilities like Equipment Dolls and/or Exploration Sprites. We don't have the time or manpower for that right now but in the future, when the game is advanced enough, we can revive the subject or even make a different game :)

For now if we get a couple of decent Random Packs out of it, it'll be super!


Im building the format atm.. in every render i make i can swap clothing or body morphs like for head or body.. even hairs ( those would still need work on pose )..


Whats is ready:


From any picture ( front/side ) or 3D model i could make the face of the character.. send it to the posing program where i add the face morph.. and adjust the body for that character.. and if its not in the morphing range of the program ill make custom morphs.. once this character is made i save her as a template.. where all new clothing i make would adapt on her body in 2 click.. then i make the poses needed for action.. and could load those pose to any character saved as template.. once character/clothing/hair/accessory/expressions(if real life is fine else i can do anime 1 in blender like the MMD does ) i export to blender and load the character into the pre made scene i want including the background ( lights/effect/.. all premade for each BG ) then press render..


Im already building those templates for every clothing /hair/accessory so the can adapt to any new character i make and also working on the poses Dark gave me as base..


Im trying to see if the 3D girls looks ok in 2D BG..


https://mon-partage.fr/f/gGAw5wym/ (https://mon-partage.fr/f/gGAw5wym/)   with light/med/normal line thickness


Did not remove original girl but adapted pose to be close to it..


If im satisfied with result ill build templates for every BG needed so we could load any girl on any BG and only have to press render and its done..
Title: Re: General Discussion
Post by: DarkTl on June 03, 2015, 11:27:50 AM
Dark can you please make a selection of outfits there..
http://armachamcorp.deviantart.com/art/Gunslinger-Stratos-Reloaded-Kyoka-Katagiri-522939873?q=gallery%3AArmachamCorp%2F43152968&qo=0
http://armachamcorp.deviantart.com/art/Samurai-Warriors-4-Koshosho-515257327?q=gallery%3AArmachamCorp%2F43152968&qo=1
http://armachamcorp.deviantart.com/art/Dead-Or-Alive-5-Ultimate-Marie-Rose-Overalls-461758992?q=gallery%3AArmachamCorp%2F43152968&qo=27
http://armachamcorp.deviantart.com/art/Dynasty-Warriors-8-Sun-Shang-Xiang-459854230?q=gallery%3AArmachamCorp%2F43152968&qo=36
http://armachamcorp.deviantart.com/art/Project-Diva-F-Hatsune-Miku-456389387?q=gallery%3AArmachamCorp%2F43152968&qo=60
http://armachamcorp.deviantart.com/art/Dead-Or-Alive-5-Ultimate-Marie-Rose-443870206?q=gallery%3AArmachamCorp%2F43152968&qo=106
http://armachamcorp.deviantart.com/art/MESHMOD-Pai-Chan-Pop-Idol-440178456?q=gallery%3AArmachamCorp%2F43152968&qo=120
http://armachamcorp.deviantart.com/art/Dead-Or-Alive-5-Lei-Fang-8-420234151?q=gallery%3AArmachamCorp%2F43152968&qo=201
http://armachamcorp.deviantart.com/art/Dead-or-Alive-5-Kokoro-406387020?q=gallery%3AArmachamCorp%2F43152968&qo=283
-----------------------------------------
http://d-nutt.deviantart.com/art/Mercury-Armor-3D-renders-69640648
http://primantis.deviantart.com/art/Lilias-Armor-Demo-160346463
http://ryu-gi.deviantart.com/art/Selene-3D-update-2-3-2012-283162017
http://ryanreos.deviantart.com/art/Skimpy-Armor-Kingdom-Under-Fire-II-415332816?q=gallery%3ARyanReos%2F33770519&qo=43
http://ryanreos.deviantart.com/art/Tera-Online-High-Elf-Archer-311590940
http://the-great-shiniku.deviantart.com/art/Elf-Chick-presentation-shot-288082285

I don't think that is possible to make in any decent time, but we should at least get it to make sense.
One of the ways to make characters unique is to give them unique preferences in clothing. In case when all guards wear the best available in shops armor there is no uniqueness.
Title: Re: General Discussion
Post by: lamoli on June 03, 2015, 01:01:12 PM

https://mon-partage.fr/f/8yZ54OGK/ (https://mon-partage.fr/f/8yZ54OGK/)


Light reflection/light scattering/intensity effect


https://mon-partage.fr/f/ptdPGIfx/ (https://mon-partage.fr/f/ptdPGIfx/)


Base reflect/brighter and window scattering effect


Let me know which one is best..
Title: Re: General Discussion
Post by: DarkTl on June 03, 2015, 01:48:42 PM
Wow, that looks pretty good with background. I like cook24 from Brighter1lightemmit archive the most.
Title: Re: General Discussion
Post by: lamoli on June 03, 2015, 03:43:01 PM
Ok maybe i can do better but for now i guess this will do.. so i will continue to make new clothing from those you linked..

Title: Re: General Discussion
Post by: Xela on June 03, 2015, 03:59:42 PM
Ok maybe i can do better but for now i guess this will do.. so i will continue to make new clothing from those you linked..

I think that's perfectly fine.

===
Skills bonuses from basetraits are prolly ready, gonna test them now and put some time into jobs or arena till I fall asleep afterwards.

Edit: Jobs cannot be updated before buildings and that is a whole other story... I am going to take a look at the arena for an hour or two and call it a night.
Title: Re: General Discussion
Post by: Xela on June 03, 2015, 08:26:51 PM
SF Updated:

- Added Prostitute test trait
- Added Skills Mega Bonuses for basetraits
- Fixed Arena after the mobs update
- Added levels to Mob Chainfights
- Restructured some code
- Fixed get_vnsprite method
- Added front_row attr to Mobs, *traits (combat) should prolly have this as well
- Toyed around with new Animate from list Class a little bit
- Improved skills reporting in the devmode
- Hinata/Nami will be set to "free" when testing BE from now on
Title: Re: General Discussion
Post by: lamoli on June 04, 2015, 12:54:30 AM
In the past i think i asked if it was possible to get a equipment GUI that looks like Otherworld ( girl body with clothing/armor/items on her ) and you said too much items to make.. but i think now with my system its really easy to do it..


1. nude girl with 3 or more different base pose.. ( would reflect state of mind like afraid/against/proud.. normal.. horny )
2. i can model every clothing in existing game from 2D to 3D then fit it on the girl ( i like to see her with the dress/armor/items i put on her )
3. separate every piece of clothing set im modeling so everyone can mix them with others..


It will change nothing in the current equipment system.. it only adds a graphical side to it.. if its fine by you i could render those 3 poses and some stuff from current game and see how it goes..



Edit:

Also it could upgrade slave market graphics as well.. like girls on podium with different clothing.. we could even add a inspect function where you could se girl from different angles ( really easy to make those renders ) or even put some clothing you got in MC inventory to see if they look good on her.. ( if i model every ctiem/clothing/armor in game it will be no problem at all )



I could also use this to render sprites for the fights ( with the real gear your wearing ) and even fighting poses like to hit with sword or bow or even cast spells
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 06:13:47 AM
In the past i think i asked if it was possible to get a equipment GUI that looks like Otherworld ( girl body with clothing/armor/items on her ) and you said too much items to make.. but i think now with my system its really easy to do it..


1. nude girl with 3 or more different base pose.. ( would reflect state of mind like afraid/against/proud.. normal.. horny )
2. i can model every clothing in existing game from 2D to 3D then fit it on the girl ( i like to see her with the dress/armor/items i put on her )
3. separate every piece of clothing set im modeling so everyone can mix them with others..


It will change nothing in the current equipment system.. it only adds a graphical side to it.. if its fine by you i could render those 3 poses and some stuff from current game and see how it goes..



Edit:

Also it could upgrade slave market graphics as well.. like girls on podium with different clothing.. we could even add a inspect function where you could se girl from different angles ( really easy to make those renders ) or even put some clothing you got in MC inventory to see if they look good on her.. ( if i model every ctiem/clothing/armor in game it will be no problem at all )



I could also use this to render sprites for the fights ( with the real gear your wearing ) and even fighting poses like to hit with sword or bow or even cast spells

Yeap, I am also very curios how much of this can be made in a "factory" format (where you can just load the new sprites with few adjustments instead of doing a lot of work for every single render)... This opens a lot of possibilities like Equipment Dolls and/or Exploration Sprites. We don't have the time or manpower for that right now but in the future, when the game is advanced enough, we can revive the subject or even make a different game :)

For now if we get a couple of decent Random Packs out of it, it'll be super!

It's too early for that... Other stuff takes precedence. Feel free to render some example, maybe think about how to make them faster and on larger scale but we need to take care of a lot other stuff in the game atm + we could really use random packs!
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 08:06:11 AM
Some time ago, Gismo threw together some conceptual ui for buidings:

(http://s3.postimg.org/uxyzzrmmn/101.jpg) (http://postimg.org/image/uxyzzrmmn/) (http://s3.postimg.org/9aa1pbm8f/102.jpg) (http://postimg.org/image/9aa1pbm8f/)

Upgrades have their own upgrades, it takes time/resources to build stuff, there is a space set out for upgrades/rooms and etc.

Is this something worth pursuing? I want to turn upgrades into classes regardless, working with dicts is a bit awkward + I want to manage the clients differently. I'll prolly start put in some time into that tonight.
Title: Re: General Discussion
Post by: DarkTl on June 04, 2015, 09:48:22 AM
Upgrades for upgrades make sense. It's like build a bar and then add there a small scene for striptease for example.
Resources... We don't build unique devices, we build normal, common rooms. If you hire workers (and I suppose you do hire them in the game as well), they will provide resources too as long as you willing to pay, like IRL.

Maybe for MC house for some unusual rooms resources will make sense.
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 10:24:22 AM
Well... I thought builder could be one of the jobs, like cleaner. You can either use your own crew or hire one. For now, you're right, I'll just leave the cost and time it takes to build an upgrade.

I am going to recode jobs as well, current system is awkward, boring and difficult to manage.

PS: You can slowly start working on basetraits and mobs, system might have to be expanded but we need new traits for jobs to work properly and mobs to be interesting. We also (imo) should rename all spells back to FF standards and full names for unique once. Current way of naming is very confusing. There are also a couple images missing and one of the sound files...

+ A lot of sounds are off.
*Maybe we should just stick with three - four spells per element for now... and comment out the rest.
Title: Re: General Discussion
Post by: CherryWood on June 04, 2015, 10:40:12 AM
We may want a default battle sprite, i didn't come along a good one yet...
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 10:51:19 AM
We may want a default battle sprite, i didn't come along a good one yet...

I recall finding a couple of options but don't remember where I've posted them :)
Title: Re: General Discussion
Post by: DarkTl on June 04, 2015, 12:05:57 PM
PS: You can slowly start working on basetraits and mobs, system might have to be expanded but we need new traits for jobs to work properly and mobs to be interesting. We also (imo) should rename all spells back to FF standards and full names for unique once. Current way of naming is very confusing. There are also a couple images missing and one of the sound files...

+ A lot of sounds are off.
I tell you what is confusing. It's battle gui that provides no sorting or info about spells except descriptions and names.
If we'll have sorting by element and order spells from weak to strong there, names already will be almost meaningless.

And I'm still waiting for mass spells animation, like I told twice before. I may require another sounds for mass spells if they will look too different.
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 01:16:31 PM
Propose logical sorting and/or GUI...

I have too many ideas in my head for Buildings and jobs right now so area spell will have to wait. There are other reasons for my hesitation:

1) Spells in that format will automatically meant that we cannot use "On Map EE with combat" like I was testing with Jake's BE. I thought that had potential and we have not dismissed it as a possibility. This kind of spell would require either separate logic or would have to be excluded...

2) Every spell of that format would almost automatically mean that it is pierce/true-pierce with all effect. I was actually thinking of removing that from the BE all together since it makes a mockery of rows logic.

We'll prolly add it but there are many spells that will not become "aim-at-the-middle" that need luv right now.
Title: Re: General Discussion
Post by: Gismo on June 04, 2015, 01:25:13 PM
I tell you what is confusing. It's battle gui that provides no sorting or info about spells except descriptions and names.
If we'll have sorting by element and order spells from weak to strong there, names already will be almost meaningless.

It's not the finished version of battle gui. For spells and blows planned to make a book, with sorting and extended information. Each spell would have a graphic image or even a small animation.
Well, it is if you like this option, when I show the idea in the image.
Title: Re: General Discussion
Post by: DarkTl on June 04, 2015, 01:43:54 PM
I think spells that work on several rows make sense. We can always decrease damage down to 1/4 or even 1/8 to make rows more important. And only super rare attacks will have true pierce.
Basically, I've yet to see a game with spells but without mass spells.

As for gui, I mean something like this (https://www.dropbox.com/s/qchmdqfx4e7knq0/1.png?dl=0) (I'm not an artist at all  ::) ). When you select an element, you see list of spells sorted by spell power (we even have it in spells properties, it's effect value).
Even this already will be more intuitive and will take less place in BE gui. And I'm sure Gismo will make even a better one  :)

I'll start to work on classes then (half of Touhou pack #2 is ready, but it will wait for another coding pause).
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 01:56:36 PM
As for gui, I mean something like this (https://www.dropbox.com/s/qchmdqfx4e7knq0/1.png?dl=0) (I'm not an artist at all  ::) ). When you select an element, you see list of spells sorted by spell power (we even have it in spells properties, it's effect value).
Even this already will be more intuitive and will take less place in BE gui. And I'm sure Gismo will make even a better one  :)

Looks perfectly doable.

I'll start to work on classes then (half of Touhou pack #2 is ready, but it will wait for another coding pause).

Kewl, you'll have to make classes for mobs as well. Some may not be suitable for humans, some will be perfectly reusable, like Mage/Warrior/Archer and etc... We also need to do something about Warriors, they are too weak and plain compared to mages atm, but I still haven't improved/expanded their attack classes. I am thinking about make weapons more relevant for them, drawing power from whateever their armed with. It'll make sense and might even be sufficient for next release so we would not have to mess with special attacks and sh!t :)
Title: Re: General Discussion
Post by: DarkTl on June 04, 2015, 02:05:54 PM
Difference between warriors and mages is usually vulnerability to non magic attacks. Mages usually cannot wear heavy armor, and in our case they don't even have any protective spells, yet at least. Thus warriors have to protect them while they destroy enemies.
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 02:07:55 PM
Phew... Ok, I am destroying old Jobs code... last time I tried this, it was a miserable failure.

Wish me luck! :)

Difference between warriors and mages is usually vulnerability to non magic attacks. Mages usually cannot wear heavy armor, and in our case they don't even have any protective spells, yet at least. Thus warriors have to protect them while they destroy enemies.

Yeap, you can level up girls who have different basetraits to see what their skills/stats are at higher level.
Title: Re: General Discussion
Post by: Gismo on June 04, 2015, 03:59:31 PM
Good luck )

By the way, for conventional strikes that do not use the manna may will use as a resource of energy or stamina?
And as usual, strong techniques use more than less weak and with each turn restores a certain number.
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 04:03:04 PM
And as usual, strong techniques use more than less weak and with each turn restores a certain number.

We could, but prolly not before the next release. Logic is complicated enough as it is and Warriors atm do not need any more restrictions.
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 05:41:18 PM
I will not push tonight and prolly not until next week due to a couple thousands of lines that need to be rewritten and a few hundred that need to be written from scratch. So far it is going well, I've updated buildings, main upgrades and parts of job code.

Still to do:
- UI
- Finish jobs
- Jobs manager
- Managers
- New logic
- Updated for updates
Title: Re: General Discussion
Post by: lamoli on June 04, 2015, 07:03:55 PM
https://mon-partage.fr/f/2rDQ1BbH/ (https://mon-partage.fr/f/2rDQ1BbH/)


2 char same 3 base poses same set clothing but body build/head/hair different ( to test if clothes would auto fit )..


Worked well LoL i had nothing to do but render...


For the Doll equip if you can assign clothes to use different layers i could render all piece of clothing separately..
but sometimes i would have to render forearms/hands as well or even hair ( anything that goes above the clothes like in the poses shy/against.. but manageable..


Ill render those part and gona do some testing.
Title: Re: General Discussion
Post by: Xela on June 04, 2015, 07:38:21 PM
Oki, we could match tags vs items type or something like that. It could work, these two could make decent random girls btw.
Title: Re: General Discussion
Post by: lamoli on June 05, 2015, 02:50:49 AM
Arf.. not enough slots to make custom dolls.. i guess ill have to make sets of parts.. well this will solve a lot of overlapping problems of custom outfits but we might need that later.. ( like this underwear that give this bonus with this shirt bonus on the layer above to cover underwear them that leather armor for those attribute )


i solved the overlapping of each rendered part so you could see:


1st layer nude girl
2nd layer underwear with body parts it covers ( else you see the back side of underwear that goes on top of nude body )
3rd layer shirt with body parts on ending edges ( for now if there is more overlapping items on that layer its a problem so i might not render the back of the clothing to solve everything.. )
4th layer armor there its only working if i do not render the back side of the armor.. and its all about overlapping order for armor parts ( we might need a sub layer in there.. because if you put body armor first then gloves/boots it work fine with 1 layer.. but if you do boots/gloves then body its not working as either gloves/boots/body might have overlapping parts over the others )


But if we assign by default body to a layer like 4.0 and all the rest at 4.1 there is no problem with the order and if you have a robe/cape on top or everything it should be higher than 4.1


Edit:
I might just do the non rendering the back side of items to solve everything but i only found out later it was the best solution so lots are still with body parts but i can fix that


For hairs since its like always the girl looking at you we could assign the front/side hair on the last layer to cover everything
Title: Re: General Discussion
Post by: DarkTl on June 05, 2015, 04:59:11 AM
We'll prolly add it but there are many spells that will not become "aim-at-the-middle" that need luv right now.
You see, I have no idea which spells will be mass. I'm going to take a look at almost every spell in "aim-at-the-middle" mode and then decide which spells will become mass ones depending on how they will look.

Btw, shouldn't we decide what jobs we'll have before I make subclasses, since they are pretty close to jobs? Or you will code jobs for any subclasses that I'll make?  :)
Title: Re: General Discussion
Post by: lamoli on June 05, 2015, 08:54:45 AM
https://mon-partage.fr/f/gbkHGLGQ/ (https://mon-partage.fr/f/gbkHGLGQ/)


Test on 69 action.. only global lighting no real light that cast shadow for this test.. so it could be brighter if needed..


Tested a texture on body.. instead of 1 color like before ( i hope its still anime like )
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 09:27:09 AM
You see, I have no idea which spells will be mass. I'm going to take a look at almost every spell in "aim-at-the-middle" mode and then decide which spells will become mass ones depending on how they will look.

Damn... that pretty much kills the potential of on map fighting :(

Btw, shouldn't we decide what jobs we'll have before I make subclasses, since they are pretty close to jobs? Or you will code jobs for any subclasses that I'll make?  :)

Make them for the once we have now, loads of those are also needed for Mobs to make them interesting. Once the system takes shape, it will also become clearer what else we'll need to make it work/more interesting.

Depending on how far you want to go with subclasses, you can make:

Prostitute, Anal/Oral/Straight Prostitute, Server, Maid, Cleaner, Waitress, Bartender, Manager, SIW Manager, Service Manager, FG Manager, Stripper, Dancer.

Warrior, Mage, Ranged >>> ...  *For these we should prolly add first_row (True/False) field as well, so we'd know where to place random girls in combat.

**
Just slowly add content like we always do and see how it fits into the game, how it handles stats and skills, how it works with the items on different levels and etc.
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 09:30:37 AM
https://mon-partage.fr/f/gbkHGLGQ/ (https://mon-partage.fr/f/gbkHGLGQ/)


Test on 69 action.. only global lighting no real light that cast shadow for this test.. so it could be brighter if needed..


Tested a texture on body.. instead of 1 color like before ( i hope its still anime like )

*Just note: Either the partner(s) face should be hidden OR you should use characters that will not make it into individual packs. This has been a bit of an issue for me, maybe not so much for random girls but definitely for unique. Cutting all drawn pics is obviously not an option, it'd take too long.
Title: Re: General Discussion
Post by: lamoli on June 05, 2015, 09:35:33 AM
Ok but on reference i used from base actions Dark provided that sample ( 69f.jpg ) we see both faces.. is it an error ??


looks like more base actions got 2 character faces.. do you have the base file from dark to check if its alright because it takes time to make those poses.. and i like a efficient job..


In my case i could render the left side so we dont see the girl face or put her face between the other gril legs so we dont see it
Title: Re: General Discussion
Post by: DarkTl on June 05, 2015, 09:37:44 AM
Test on 69 action..
Looks very good.
Btw I wonder, do they have tongues for licking stuff?  :)

Damn... that pretty much kills the potential of on map fighting :(
I'm not sure I understand what kind of BE you also consider. Do you mean tiles based battle system like Kamidori or what? Because I cannot see how is it even possible to use any kinds of rows or groups there.

Ok but on reference i used from base actions Dark provided that sample ( 69f.jpg ) we see both faces.. is it an error ??
I also said that ideally partner should be unrecognizable. Unfortunately, it's hard as hell to find such pictures, especially for lesbian stuff.
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 09:40:49 AM
I'm not sure I understand what kind of BE you also consider. Do you mean tiles based battle system like Kamidori or what? Because I cannot see how is it even possible to use any kinds of rows or groups there.

We had arena.test() for over an year, that's what I meant. You said it was a bit like Kamidori, yes.

*But we can adapt I guess, we simply wouldn't have to without aim-in-the-middle attacks.
Title: Re: General Discussion
Post by: DarkTl on June 05, 2015, 09:51:53 AM
Oh, you did not take any steps to code it, and even coded another BE instead, so I figured you abandoned it.

Well, very good random maps generator is a must, and battles there most likely will be much longer, thus possibly boring.
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 10:29:31 AM
Oh, you did not take any steps to code it

It hurts me when you say stuff like that :)

Took me about a month to figure out how to load RPG Maker auto-tiles into Tiled, create maps there and load them into a Ren'Py.

and even coded another BE instead, so I figured you abandoned it.

Because I hate intertwined code... Jake's BE was one of the ''best" examples of it I've ever seen.

Well, very good random maps generator is a must, and battles there most likely will be much longer, thus possibly boring.

Well, that kinda kills that concept, rng is close to impossible to code properly at the scale I had in mind for those maps. But we'll come back to this at some point.

***
Time to get back to jobs, bit tired today but this needs momentum or I fear that we'll revert to SF code like the last time :) Thewlis did something weird to WhoreJob, it now has a custom container for texts/content that is not very easy to navigate, but I think I am getting a hang of it.
Title: Re: General Discussion
Post by: lamoli on June 05, 2015, 10:29:59 AM
Btw I wonder, do they have tongues for licking stuff?  :)


https://mon-partage.fr/f/gmwIuK5L/ (https://mon-partage.fr/f/gmwIuK5L/)


Yes everything in the mouth as well.. ( teeth are too realistic for anime so i usually put a plane before them )
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 10:32:15 AM

https://mon-partage.fr/f/gmwIuK5L/ (https://mon-partage.fr/f/gmwIuK5L/)


Yes everything in the mouth as well.. ( teeth are too realistic for anime so i usually put a plane before them )

The file is corrupted.
Title: Re: General Discussion
Post by: lamoli on June 05, 2015, 10:33:40 AM
The file is corrupted.


https://mon-partage.fr/f/dsk19hr8/ (https://mon-partage.fr/f/dsk19hr8/)


re uploaded


Btw its funny to cycle from previous one to thin one.. with more renders i could make a animation lol


Hmm need to correct the right arm collision but its a test to see if that way that scene is usable like you wanted..
Title: Re: General Discussion
Post by: DarkTl on June 05, 2015, 11:30:45 AM
It hurts me when you say stuff like that :)
I mean to code it instead of our current BE.

Where did you took that tiles BE concept from, btw? FF tactics maybe?
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 11:39:08 AM
Where did you took that tiles BE concept from, btw? FF tactics maybe?

Nowhere really, I figured since Jake's BE had a smart positioning and limited collision detection, I'd simply try it out. All the magic on Jake's BE was "per enemy hit" kind, prolly for this reason...

First I created a map in form of an image using some online resource.
Second I did the exact same thing using Tiled.
Third I loaded the same map from tiled but not as an image *build from tiles.
And last, I concerted RPG Maker tiles into tiled and build a different map using Auto-Tile algorithms.

But since noone seemed interested except for me, I abandoned the concept.
Title: Re: General Discussion
Post by: lamoli on June 05, 2015, 11:41:39 AM
Is the new 69 action alright now ??
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 11:53:53 AM
Is the new 69 action alright now ??

Sure, old one was fine as well, maybe even better. I really just wanted to point out that you should not use counter characters that you're planning to use as in-game characters.

@Dark:
When testing, especially if you're going to train character in schools, please note that skills system is messed up there right now. I've fixed it in my version but it's a part of file that if upload right now would kill any chance of testing anything at all :) *So I cannot push the fix.
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 11:56:59 AM
@Dark:
When testing, especially if you're going to train character in schools, please note that skills system is messed up there right now. I've fixed it in my version but it's a part of file that if upload right now would kill any chance of testing anything at all :) *So I cannot push the fix.

Weird... according to code, any job except FG should mess skills up (it may not be noticeable at low levels, maybe noone tested high skills yet)... either noone tested it for a while or there is something I am missing.
Title: Re: General Discussion
Post by: DarkTl on June 05, 2015, 01:02:19 PM
Weird... according to code, any job except FG should mess skills up (it may not be noticeable at low levels, maybe noone tested high skills yet)... either noone tested it for a while or there is something I am missing.
I tested skills a month ago when I made new schools. There wasn't any abnormalities during training.
Since I knew that we gonna rewrite jobs, I didn't bother with testing skills at jobs.

But since noone seemed interested except for me, I abandoned the concept.
I think I'm the most experienced player in the dev team, when we talk about non hentai/VN games at least.
I've seen dozens ways to make BEs like our current one more complex, deep and interesting. Trpg BE simply cannot use so many features due to its simpler nature. And the only thing it can do better, generate and use random maps, is very difficult to code.
Title: Re: General Discussion
Post by: lamoli on June 05, 2015, 01:11:53 PM
https://mon-partage.fr/f/tiKdGSPa/ (https://mon-partage.fr/f/tiKdGSPa/)


69FM test


and about skill.. if i want to see them in the game i get error msg.. and before my recent update the skill would reset to 0 if i train it either by using trainers or doing it myself ( interactions )
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 01:16:09 PM
before my recent update the skill would reset to 0 if i train it either by using trainers or doing it myself ( interactions )

This part makes sense.

and about skill.. if i want to see them in the game i get error msg..

This does not...

69FM test

Looks perfectly fine, maybe the hair are a bit too shiny.
Title: Re: General Discussion
Post by: CherryWood on June 05, 2015, 01:39:23 PM
I like the hair  :)
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 01:54:33 PM
I like the hair  :)

So do I :)

Trying to come up with a good loop for jobs right now... Also changed how the Jobs/Building are handled by the game. It'll be a slow process to update everything...
Title: Re: General Discussion
Post by: lamoli on June 05, 2015, 03:20:44 PM
https://mon-partage.fr/f/yRiZN2Pi/ (https://mon-partage.fr/f/yRiZN2Pi/)


Hmm is it alright if we see the bottom half of the face ? ( to see the possible evil smile.. )
Title: Re: General Discussion
Post by: Xela on June 05, 2015, 03:40:17 PM
https://mon-partage.fr/f/yRiZN2Pi/ (https://mon-partage.fr/f/yRiZN2Pi/)


Hmm is it alright if we see the bottom half of the face ? ( to see the possible evil smile.. )

Just show the full face pls, we may want to put it infront of some BG at some point. It's ok, I shouldn't have mentioned the other girl thing :)
Title: Re: General Discussion
Post by: lamoli on June 06, 2015, 03:55:54 AM
Yes.. after all those are only poses tests no light effects/clothing/BG.. once i cover all the base action poses Dark provided me we will have to decide on those.. or ill just use whats in the original picture..


The good thing is even after the render i could decide at any time to add any clothing/accessory ( even new one ill make ) and they will adapt to the body on that pose.. so as long as the pose is right i can do all from that point ( naked first then with any clothing/accessory/light effect/BG/camera angle or focus on that pose that i want )
Title: Re: General Discussion
Post by: DarkTl on June 06, 2015, 04:31:04 AM
I have doubts about sex skills. Things like handjob/footjob are not compatible with anal/oral/vaginal skills set, on the other hand we cannot guarantee that every pack has them.
Perhaps we could rename oral somehow to include everything there...
Title: Re: General Discussion
Post by: DarkTl on June 06, 2015, 05:26:05 AM
Wait a sec. Don't occupation and type fields do the same thing? Warrior class has warrior occupation and combat type, prostitute class has SIW occupation and sex type.
Title: Re: General Discussion
Post by: Xela on June 06, 2015, 06:06:25 AM
I have doubts about sex skills. Things like handjob/footjob are not compatible with anal/oral/vaginal skills set, on the other hand we cannot guarantee that every pack has them.
Perhaps we could rename oral somehow to include everything there...

We could add a more general sex skill as well, and use just that for those and sex+specific where appropriate... or add them as skills that will be of a limited use for some characters OR like you said, rename the skill (but to what?).

Wait a sec. Don't occupation and type fields do the same thing? Warrior class has warrior occupation and combat type, prostitute class has SIW occupation and sex type.

Yeap, I think we can get rid of type (we may need more than one in some cases), I just need to make a mental note to check code for it.
Title: Re: General Discussion
Post by: lamoli on June 06, 2015, 06:15:49 AM
Just show the full face pls, we may want to put it infront of some BG at some point. It's ok, I shouldn't have mentioned the other girl thing :)


About that.. with scene with 2 girls of 1 unique.. the other can be a random one thats not even in a random pack.. as i got :


front hairs 68++
Back hairs 73++
side hairs 19++


and expanding..


As for the face a little prebuild morph and she would be totally different.. (custom one takes lots of time but that to make the unique girls )


whats missing is the eyes color/design.. if you find good eyes design i could use that would be helpful.. from a base i could switch the color on the fly but need a good base for that.. ( the ones from pictures have angle/things in the way ) and since im not good with 2D its best if i find pre made samples of eyes
Title: Re: General Discussion
Post by: Xela on June 06, 2015, 06:40:42 AM
Does anyone has ideas/requests for Building/Jobs logic btw? I have parts of that down already so if there is something, lets hear it.
Title: Re: General Discussion
Post by: lamoli on June 06, 2015, 07:12:45 AM
Does anyone has ideas/requests for Building/Jobs logic btw? I have parts of that down already so if there is something, lets hear it.


I liked the idea where you needed resources/ time to build upgrades..

Gathering resources:

1. maybe use your AP to chop wook or use pick axe on rocks.. and so on
2. buy it with your $$
3. pay someone to get them for you like someone you can manage and that his job will be set for that ( and could gain xp/skill doing so improving the gathering rate and so on.. )


Building the upgrades:

same as above but for building them


For jobs:
i like the class/subclass system with skill related to it .. and as long as there are lvlups with benefits im ok with that..
Title: Re: General Discussion
Post by: DarkTl on June 06, 2015, 07:22:11 AM
Pushed classes json. Some traits no longer exist too because there are classes instead. I need to think about subclasses a bit.

Buildings...
Do we need rooms for free girls? Shouldn't they all have their own rooms somewhere in the city, like irl?
And for characters with high disposition there will be MC house. Living rooms should only limit the amount of slaves you can use in the building. So if you are not going to use slaves, you can live without living rooms at all.
Total amount of workers in the building should be limited by size of the building itself and upgrades.

Also, I think it's a good idea to limit jobs by upgrades. I mean, every job except guards and cleaners should require an upgrade for a start. Like cafe for waitresses or stage for strippers.
Title: Re: General Discussion
Post by: Xela on June 06, 2015, 07:25:48 AM
Buildings...
Do we need rooms for free girls? Shouldn't they all have their own rooms somewhere in the city, like irl?
And for characters with high disposition there will be MC house. Living rooms should only limit the amount of slaves you can use in the building. So if you are not going to use slaves, you can live without living rooms at all.
Total amount of workers in the building should be limited by size of the building itself and upgrades.

Also, I think it's a good idea to limit jobs by upgrades. I mean, every job except guards and cleaners should require an upgrade for a start. Like cafe for waitresses or stage for strippers.

All this is covered by the new system already :)
Title: Re: General Discussion
Post by: lamoli on June 06, 2015, 07:30:26 AM
I have doubts about sex skills. Things like handjob/footjob are not compatible with anal/oral/vaginal skills set, on the other hand we cannot guarantee that every pack has them.
Perhaps we could rename oral somehow to include everything there...


Randoms will have everything.. and as for the unique who does not have em i think i can get close to what the unique girl look like to make those missing actions..
Title: Re: General Discussion
Post by: DarkTl on June 06, 2015, 09:10:14 AM
I used general sex skill in prostiture class btw. Even if we'll have all pictures in all packs, I think it's still better to use it instead of 3 new skills (tits, hands, foots).


Also, I'm not sure what to do with advertising. Initially, in the very beginning of the project, we wanted to hire unemployed (by MC at least) city girls to do it as a part time job. Another option is to make a full job for it.
Title: Re: General Discussion
Post by: Xela on June 06, 2015, 09:39:05 AM
Also, I'm not sure what to do with advertising. Initially, in the very beginning of the project, we wanted to hire unemployed (by MC at least) city girls to do it as a part time job. Another option is to make a full job for it.

I am not touching that atm. I'll resume working on Buildings/Jobs (from last nights efforts) in a few hours and keep at it till I fall asleep. Those two are my main focus right now, once done I'll ask Thewlis to update his stuff to the new code as well if he's still interested.
Title: Re: General Discussion
Post by: lamoli on June 06, 2015, 04:41:32 PM
https://mon-partage.fr/f/ryTGVsGj/ (https://mon-partage.fr/f/ryTGVsGj/)


Here.. the rest of FF actions i did not do earlier.. i do need to make the toys but the poses are done.. might need to rework some textures.. and as before nothing else is done other than pose and texture
Title: Re: General Discussion
Post by: Xela on June 06, 2015, 07:31:23 PM
Some expressions are a bit weird but overall it's good.

I went down with a headache again so sadly three isn't much news on development front from me tonight. There still is a bit of new code that seems to be working :)
Title: Re: General Discussion
Post by: lamoli on June 06, 2015, 08:54:44 PM
Yeah did not spend too much time on them and in the end i left them as they where.. but i can improve everything at any time.. lets say ill do all the poses then ill refine the details like expressions because it takes a lot of work to get them right..


i might have to make custom expressions from scratch because RL ones does not look right for those girls.. hopefully i got lots of examples of them from Miku dance models so it shoulnd take too long to make them
Title: Re: General Discussion
Post by: lamoli on June 07, 2015, 05:27:14 AM
https://mon-partage.fr/f/5fJ7q0NC/ (https://mon-partage.fr/f/5fJ7q0NC/)


Hmm.. i found a setting that might help or not to make it look more like 2D.. and on the lats render i applied it by accident on 90% iv made


(no diffuse / no diffuse - lighting no reflections / diffuse / diffuse - lighting no reflection)


I added lighting to see if there was a impact with diffuse on or off


Now whats best.. with or without diffuse ?
Title: Re: General Discussion
Post by: DarkTl on June 07, 2015, 05:37:06 AM
Hm, I like more those with diffuse.

About classes like SIW Manager, aren't they an overkill? That means 3-4 new jobs to manage everyone, and might require new super specific skills like SIW managment.
Title: Re: General Discussion
Post by: lamoli on June 07, 2015, 05:40:31 AM
Hm, I like more those with diffuse.


Ok.. anyway in the end i would go with the setting that let the girl blend the most with the 2D BG
Title: Re: General Discussion
Post by: lamoli on June 07, 2015, 06:17:50 AM
https://mon-partage.fr/f/TLjMcN8M/ (https://mon-partage.fr/f/TLjMcN8M/)


Combat pose with setting you liked.. i may as well keep those like this for the others ill render then adjust with BG when its needed
Title: Re: General Discussion
Post by: lamoli on June 07, 2015, 07:10:44 AM
https://mon-partage.fr/f/FQ4FqV6b/ (https://mon-partage.fr/f/FQ4FqV6b/)


The top of the right leg near the hip there is a extreme bending deformation.. ( usually it autofix but on some extreme poses it doesnt ) is it good as it is or do i need to soften it ?
Title: Re: General Discussion
Post by: DarkTl on June 07, 2015, 08:17:05 AM
No, I think it's good enough.
Title: Re: General Discussion
Post by: Xela on June 07, 2015, 08:34:33 AM
Hm, I like more those with diffuse.

About classes like SIW Manager, aren't they an overkill? That means 3-4 new jobs to manage everyone, and might require new super specific skills like SIW managment.

Ok, if you think so. Just make one manager job.
Title: Re: General Discussion
Post by: DarkTl on June 07, 2015, 09:05:50 AM
I made a very simple application to show the classes tree I come up with, here (https://www.dropbox.com/s/bs3jtwhibveaulz/Project1.exe?dl=0).
Title: Re: General Discussion
Post by: Xela on June 07, 2015, 10:14:42 AM
I made a very simple application to show the classes tree I come up with, here (https://www.dropbox.com/s/bs3jtwhibveaulz/Project1.exe?dl=0).

Manager should be separate from everything, There should also be SIW group I think where both stripper and prostitute should belong. This will make sense for the games logic.
Title: Re: General Discussion
Post by: DarkTl on June 07, 2015, 10:38:00 AM
You confuse classes and occupations. Stripper is closer to dancer than to prostitute in terms of skills. A good dancer has more chances to be a good stripper than a good prostitute. Of course stripper will have both service and SIW occupations.

What is so different in managers besides high managment skill? They are not warriors and not prostitutes, thus they are closer to service.
Title: Re: General Discussion
Post by: lamoli on June 07, 2015, 11:51:31 AM
https://mon-partage.fr/f/WulaRdFx/ (https://mon-partage.fr/f/WulaRdFx/)


A few more poses.. i hope i got the expressions right this time.. and ill correct the others later


ill use ropes/bindings as clothing.. and as for the lose parts that goes up il add them just before the render
Title: Re: General Discussion
Post by: Xela on June 07, 2015, 11:52:54 AM
Mostly code logic, but that part is not ready yet, my way makes more sense to me I guess.

*Service and Managers are almost opposites of one another. They are not a very good fit in one category.
Title: Re: General Discussion
Post by: lamoli on June 07, 2015, 12:57:08 PM
Btw.. is anyone good with 2D image programs to erase girls from BG.. that would help me make those random girls packs faster..
Title: Re: General Discussion
Post by: DarkTl on June 07, 2015, 01:23:49 PM
Erase girls from BG? You mean, delete backgrounds or what?
Cherry and me did it countless times for sprites.

Service and Managers are almost opposites of one another. They are not a very good fit in one category.
The problem with managers is that you need one per building at best, or something like that. Unlike other main classes, when you could make a brothel, a bar, or use SE and arena a lot.

So it's a bit strange to make them very unique and special, with their own special classes, when you hardy can use them compared to other classes.
Title: Re: General Discussion
Post by: lamoli on June 07, 2015, 02:41:01 PM
Erase girls from BG? You mean, delete backgrounds or what?
Cherry and me did it countless times for sprites.


No the opposite.. recreate the BG on top of the girl.. even if its not in total.. it should be fine.. as i get a hard time covering the original character with the new one..


Like for cook24.. part of the original girl still shows up and need to be erased.. by creating the BG that was under.. looking at whats the BG look like in that area
Title: Re: General Discussion
Post by: lamoli on June 07, 2015, 06:19:24 PM
https://mon-partage.fr/f/1Wmmqwff/ (https://mon-partage.fr/f/1Wmmqwff/)


More solo poses..


its hard to make some poses or facial expressions.. but i thing this should be ok
Title: Re: General Discussion
Post by: DarkTl on June 08, 2015, 04:48:33 AM
No the opposite.. recreate the BG on top of the girl.. even if its not in total.. it should be fine.. as i get a hard time covering the original character with the new one..
No, this is too much. You need a real artist for that.
Instead would be better to use backgrounds without characters.
Title: Re: General Discussion
Post by: DarkTl on June 08, 2015, 05:23:55 AM
There should be difference between warriors, SIW, service girls and others. Service girls are close enough to laborers, they engaged in manual labor. While managers, teachers, various artists are more intellectual professions.
I'm clueless about the name for the new group though.
Title: Re: General Discussion
Post by: lamoli on June 08, 2015, 07:00:10 AM
Grr.. those impossible poses that free hand drawings lets you do annoy me a lot... ( doggy is impossible.. i even cheated with limits.. and iv spend 2h on it and its still bad lol ) i might have to use another reference image
Title: Re: General Discussion
Post by: DarkTl on June 08, 2015, 07:05:08 AM
I need to know more to avoid impossible pictures in the future  :)
Title: Re: General Discussion
Post by: DarkTl on June 08, 2015, 09:43:56 AM
Oki, I have a more clear concept (https://www.dropbox.com/s/bs3jtwhibveaulz/Project1.exe?dl=0) now. There should be fourth occupation and general class specialist. Teachers, managers, artists go there.
Please note that it shows classes tree and not occupations. Any class can have any occupations if needed, since occupations show what girl agrees and disagrees to do, and it may be very different even for similar classes.
Title: Re: General Discussion
Post by: lamoli on June 08, 2015, 01:30:42 PM
https://mon-partage.fr/f/BogQDR96/ (https://mon-partage.fr/f/BogQDR96/)


With those ones im now at 52/58 poses from your action folder.. and i added 1 myself
Title: Re: General Discussion
Post by: lamoli on June 09, 2015, 01:26:34 AM
Maybe it is too early to think about it.. but i could make animated gifs out of any renders i make because i only need to make like ( base pose / end pose and the 3D program could extrapolate all the frames in between with me tweaking it of course )


About the BG.. with a few exception they look all like they could be made in 3D with texture or visual effect maybe ill give a shot at something more than just the tiled floors i tried earlier. and the blending in cook24 was alright i think.. and this was probably the hardest BG to integrate with.. thats why i tried on that one


After checking a few sex poses  on Hgames.. i see they have simple BG on those most of the time with a angle to see half the sealing or half the ground.. that way you can avoid having to design anything other than floors/beds/grounds/sealings and i should be able to do something like (depth of field) as well on those angles to simplify the work needed
Title: Re: General Discussion
Post by: lamoli on June 09, 2015, 05:43:02 AM
https://mon-partage.fr/f/jzLaK7JH/ (https://mon-partage.fr/f/jzLaK7JH/)


It is not finished but should be close enough to tell.. and now my question is.. with or without blur ??
(more finished version will have the thin whither line on edges like original but without window because of back lighting effect that would ruin the render ) also i could adjust the wall grain.. maybe not thin enough


Edit:
If those BG are good enough ill make full closed rooms of em so we can reuse them in any angle we like
Title: Re: General Discussion
Post by: DarkTl on June 09, 2015, 07:08:07 AM
Yup. blur looks very good. We could use rooms like that.

I pushed classes again. They are almost ready for the existing system, the only thing we lack is healer, because I'm not sure how to add bonuses directly to healing magic's efficiency.
Title: Re: General Discussion
Post by: lamoli on June 09, 2015, 08:15:00 AM
https://mon-partage.fr/f/yAyXS8ld/ (https://mon-partage.fr/f/yAyXS8ld/)


V2 with different wall noise/wave effect ( can take hours to get the exact pattern you want.. and im still far from original lol ) also added the brigther edges and contour lines on BG


I also changed BG right light source but i could use same settings as before.. ( its was a test to see if i could add the window from original that emits a light source in that area )

Title: Re: General Discussion
Post by: lamoli on June 09, 2015, 08:24:25 AM
Yup. blur looks very good. We could use rooms like that.


Ok good i guess now my focus will be to recreate those BG as rooms with cameras set at different angles for every render we might want in the near future as only 1 pose with a specific BG.. thats not enough for a action type ( best would be like 5 switching at random using same room BG but with different camera angle/location/pose/content to make it better)


But i guess for now a simple room with 1 camera setting for each pose iv made so far and once that is done ill develop that multi pose/room BG
Title: Re: General Discussion
Post by: lamoli on June 09, 2015, 08:35:23 AM
Question.. for example the BG of a stripper in a strip club.. usually there's smoke/light effect that are specific for that room.. should i recreate that too ? ( steam/fog in baths would be nice too )
Title: Re: General Discussion
Post by: DarkTl on June 09, 2015, 09:32:03 AM
I suppose strip pole, stage and curtain should be enough for striptease. As for baths, it's easy to imagine steam there, but surprisingly very few bathing pictures actually have it.
Title: Re: General Discussion
Post by: lamoli on June 09, 2015, 03:53:17 PM
http://kissanime.com/Anime/Sidonia-no-Kishi
http://kissanime.com/Anime/Rakuen-Tsuihou-Expelled-From-Paradise


Those are most likely full 3D.. but at least not as bad as most other 3D anime series iv seen so far..
( but their shaders looks too much like MMDs )


Title: Re: General Discussion
Post by: lamoli on June 09, 2015, 04:23:38 PM
Next im gone try a stripclub BG with colored spot lights pole/podium with smoke scattering effect.. if it goes well i could make a casino/bar afterwards.. then try the onsen/bath fog.
Title: Re: General Discussion
Post by: DarkTl on June 10, 2015, 07:06:53 AM
XELA, ARE YOU ALIVE THERE? I know you are by your last active time  :D
We need healer class for many characters, thus we need bonus to healing magic in class traits.
Title: Re: General Discussion
Post by: Xela on June 10, 2015, 07:32:38 AM
XELA, ARE YOU ALIVE THERE? I know you are by your last active time  :D

I've been busy with RL stuff + like I've said before, new buildings/jobs system will take a long time to code. I do check with the forums to see if there are some urgent requirement from my part.

We need healer class for many characters, thus we need bonus to healing magic in class traits.

Ok, how do you want to handle this bonus? As a skill, as an Element adding to healing spells (Water?/Light?), as a derivative from Magic/Intelligence modified by Healer class as a trait, something else? Some combination of some/all possibilities? What do you need from me?

Title: Re: General Discussion
Post by: DarkTl on June 10, 2015, 10:06:37 AM
I don't remember if any trait can modify magic output, or those with "elemental": true only. I think only elemental ones.

So:
- would be cool to have el_damage and el_defence for classes traits as well if it's not available yet;
- strings like "el_damage": {"heal": 0.5} should make healing made by the character stronger, strings like "el_defence": {"heal": 0.2} should make the character less susceptible to healing. And vice versa for negative values.
Title: Re: General Discussion
Post by: Xela on June 10, 2015, 10:41:48 AM
I don't remember if any trait can modify magic output, or those with "elemental": true only. I think only elemental ones.

Automatically, no, but we have a decent BE system and adding any checks to calculations is relatively easy and fast (relative to Jake's BE). Also afaik we have a single calculation function for all healing spells and we inherit/will inherit from it for all other spells.

So:
- would be cool to have el_damage and el_defence for classes traits as well if it's not available yet;
- strings like "el_damage": {"heal": 0.5} should make healing made by the character stronger, strings like "el_defence": {"heal": 0.2} should make the character less susceptible to healing. And vice versa for negative values.

Code: [Select]
        def effects_resolver(self, targets):
            if not isinstance(targets, (list, tuple, set)):
                targets = [targets]
            chr = self.source
            attributes = self.attributes
               
            restore = self.effect + (chr.intelligence + chr.magic) * 0.25
           
            for t in targets:
                if not self.check_resistance(t):
                    # We get the mupliplier and any effects that those may bring.
                    effects, multiplier = self.get_attributes_multiplier(t, attributes)
                    restore = int(restore*multiplier)
                else: # resisted
                    damage = 0
                    effects = list()
                    effects.append("resisted")
                   
                effects.insert(0, restore)
                t.beeffects = effects
           
                # String for the log:
                # String for the log:
                s = list()
                s.append("%s used %s to restore HP of %s!" % (chr.nickname, self.name, t.name))
               
                s = s + self.effects_for_string(t, default_color="green")
               
                battle.log.append("".join(s))

According to code, it is already working as you've described. Unless I've added some weird normalization routine to kill those fields for non-elemental traits. Also please keep in mind that both you and I used:

['magic', 'healing']

as attributes for healing spells, so "heal" without "ing" will have no effect unless you change that in BE assets as well.
Title: Re: General Discussion
Post by: Gismo on June 10, 2015, 01:58:52 PM
Finished with a Fighters_Guild screen... As usual, this is only the base version. You can only use the new interface and the other ideas you like.
Let's start *__*

- So now it looks like a new main screen.
(http://s23.postimg.org/vqj5ei9yf/1main.jpg) (http://postimg.org/image/vqj5ei9yf/) (http://s14.postimg.org/qaqodvr0t/2main.jpg) (http://postimg.org/image/qaqodvr0t/)
- Fighters_Guild > Adventurers' Guild. Now this building is not a player property.
- Instead of building_info will be player_info. What, specifically, do not know yet. But just from the area of the position of the hero in the guild (his rank, popularity, etc.)

- Main Hall.
(http://s15.postimg.org/4maaftdrb/1hall.jpg) (http://postimg.org/image/4maaftdrb/)
- I still did nothing for that screen, but in the description there are initial ideas.

- Team.
(http://s18.postimg.org/qtzmeuc1h/team1.jpg) (http://postimg.org/image/qtzmeuc1h/) (http://s9.postimg.org/xfix2238r/team2.jpg) (http://postimg.org/image/xfix2238r/)


- Exploration.
(http://s7.postimg.org/idcxofn9j/image.jpg) (http://postimg.org/image/idcxofn9j/) (http://s17.postimg.org/edvjyq257/image.jpg) (http://postimg.org/image/edvjyq257/) (http://s11.postimg.org/w21xpjne7/image.jpg) (http://postimg.org/image/w21xpjne7/)
- System of counting days looks like this - 1 day per stage (1-5), 2 days per stage (6-10). Total to go from 1-10 stage will require 15 days (just as an example).
- Items drop system - Common (grey, ~ 24%) > Uncommon (green, 16 - 23%), Rare (blue, 10 - 15%), Epic (purple, 4 - 9%), Legendary (orange, 1 - 3%), Heroic (red, 1%).

- Log.
(http://s8.postimg.org/lkex5f5ip/image.jpg) (http://postimg.org/image/lkex5f5ip/) (http://s4.postimg.org/e5pld5txl/image.jpg) (http://postimg.org/image/e5pld5txl/) (http://s3.postimg.org/dw77au53j/image.jpg) (http://postimg.org/image/dw77au53j/)
Title: Re: General Discussion
Post by: DarkTl on June 11, 2015, 07:00:53 AM
Looks good. I still have hope that we'll find or make a global map of some kind with all types of terrains though. Something like that (http://lothrean.deviantart.com/art/Grimstahl-Map-331993929), but obviously we need more terrains.
Title: Re: General Discussion
Post by: Gismo on June 11, 2015, 07:24:40 AM
Looks good. I still have hope that we'll find or make a global map of some kind with all types of terrains though. Something like that (http://lothrean.deviantart.com/art/Grimstahl-Map-331993929), but obviously we need more terrains.

When I worked on the city map, I considered creating a more extensive maps of regions in the future.
This is just the raw option, from which we can make anything your heart desires (all types of terrain, dungeons, places).
(http://s7.hostingkartinok.com/uploads/thumbs/2015/06/5ffbe32f6362b9f42c1b8294bee2acf2.png) (http://hostingkartinok.com/show-image.php?id=5ffbe32f6362b9f42c1b8294bee2acf2)
Title: Re: General Discussion
Post by: lamoli on June 11, 2015, 07:26:00 AM
Hmm i spend too much time trying to find out what to model in the scene.. it would be best if someones could come with buildings interiors concept arts.. then from there ill do my modeling/rendering part..


As for the outside world i can make something really good but ill have to see if it blends with the girls im making i could do a map like you linked with different biospheres and as we add more places somewhere in the map.. the global map would update with those new things.. but it would take time to create the template but the result would be amazing.. ( would also need concept art for world/region appearance as well )


With this system in place we would have lots of outdoors explorations area made then could take any angle wanted to render.. or could move like in the forest exploration system but with selected area graphics.. as for dungeons/caves i just need appearance concepts then i could do them as well
Title: Re: General Discussion
Post by: DarkTl on June 11, 2015, 11:35:19 AM
Hmm i spend too much time trying to find out what to model in the scene.. it would be best if someones could come with buildings interiors concept arts.. then from there ill do my modeling/rendering part..
Do you have access to our shared dropbox folder? I have dozens various backgrounds there. We might even use some of them instead of rendering if it looks good enough.

As for the outside world i can make something really good but ill have to see if it blends with the girls im making i could do a map like you linked with different biospheres and as we add more places somewhere in the map..
Before we try it, we need to know exactly how good it will look and how much time will take. I suppose a map with dozens small details should be much harder to render than more or less similar girls bodies.

When I worked on the city map, I considered creating a more extensive maps of regions in the future.
I can tell you what could be improved. You used monochromatic, simple textures for ground surface. If you look at my example, ground textures are more complex there, thus more realistic. Grass is green there too, but there are places with lighter and darker grass.
Title: Re: General Discussion
Post by: lamoli on June 11, 2015, 01:41:55 PM
http://www.avcgi360.com/wp-content/uploads/2015/02/Grass1-750x400.jpg (http://www.avcgi360.com/wp-content/uploads/2015/02/Grass1-750x400.jpg)
http://www.3dartistonline.com/users/5605/thm1024/1345573197_final_jpg.jpg (http://www.3dartistonline.com/users/5605/thm1024/1345573197_final_jpg.jpg)
http://i.ytimg.com/vi/uAvG2E7p_W8/maxresdefault.jpg (http://i.ytimg.com/vi/uAvG2E7p_W8/maxresdefault.jpg)
http://s3.amazonaws.com/kajabi-media/assets/projects/7845/assets_bag/original/foggy16.png?1309946663 (http://s3.amazonaws.com/kajabi-media/assets/projects/7845/assets_bag/original/foggy16.png?1309946663)
http://blenderartists.org/forum/attachment.php?attachmentid=204078&d=1353852722 (http://blenderartists.org/forum/attachment.php?attachmentid=204078&d=1353852722)
http://mathewborrett.squarespace.com/storage/luxforum/Forest8.jpg (http://mathewborrett.squarespace.com/storage/luxforum/Forest8.jpg)
http://i.ytimg.com/vi/K1-WnPx68ig/maxresdefault.jpg (http://i.ytimg.com/vi/K1-WnPx68ig/maxresdefault.jpg)
http://s3.amazonaws.com/kajabi-media/assets/projects/7845/assets_bag/original/desert_890.jpg?1323078635 (http://s3.amazonaws.com/kajabi-media/assets/projects/7845/assets_bag/original/desert_890.jpg?1323078635)
http://i.ytimg.com/vi/In99fYE76j8/hqdefault.jpg (http://i.ytimg.com/vi/In99fYE76j8/hqdefault.jpg)
http://josephrogersanimation.com/images/florissant_lake_camera_0001.jpg (http://josephrogersanimation.com/images/florissant_lake_camera_0001.jpg)


Some are bulrry but all the base are net.. then they ad the effects


Exactly like this.. but my problem is.. doenst it look too real to used as BG/tiles.. i need some testings first i guess
As for the time.. it depends of the scene setup.. but in short its:


1. Ground geometry
2. 3-6 plant types ( with different seed.. random height.. use texture weight maps to decide where the plats are concentrated so with a noise texture its done in like 5 clicks ) etach plant can have a like 50k++ replications..
3. Define a path ( if needed.. by painting the path and subtracting that value to the plans weight paint )
4. Plant trees/rocks manually
5. Lighting.. for Shadows/God rays
6. Fog ( if needed.. can do small radiation(technical term they wont be green by default lol ) patches low height like in the morning or above water.. or full one )


Takes about 1h as long as i have all the plant/tree/rock needed models..



Also i can render all as isometric tiles..  :)
Title: Re: General Discussion
Post by: lamoli on June 11, 2015, 01:46:23 PM
Do you have access to our shared dropbox folder? I have dozens various backgrounds there. We might even use some of them instead of rendering if it looks good enough.


Hmm dont know if i have..
Title: Re: General Discussion
Post by: Gismo on June 11, 2015, 04:56:23 PM
I can tell you what could be improved. You used monochromatic, simple textures for ground surface. If you look at my example, ground textures are more complex there, thus more realistic. Grass is green there too, but there are places with lighter and darker grass.

Ok, with this I can cope. Actually, this is just a small square of the whole map. As I was assured, it will be possible to create a large map and navigate to it with the mouse. Will be opposed to the creation of the town map, now there is a lot of space and do not need so many buildings  :)
Title: Re: General Discussion
Post by: Xela on June 11, 2015, 06:20:54 PM
I threw together a simple testing project for Gismo to mess around with maps. Also testing out some spec effects.

https://dl.dropboxusercontent.com/u/43556362/TestingNew.rar
Title: Re: General Discussion
Post by: DarkTl on June 12, 2015, 05:54:03 AM
Hmm dont know if i have..
Well, if you have dropbox installed and PyTFall folder there then yes, otherwise no  :D
Title: Re: General Discussion
Post by: lamoli on June 12, 2015, 04:58:06 PM
I guess it will have to be your pick.. the most important is gona be the content.. furniture style, try to find me BG that contains then then let me know the elements you wants in for a specific place ( if the image contains all its even better like the images Gismo showed us.. they give the idea on a furniture style and their placement for the adventurer guild )


I could model any piece of furniture/item/room element.. of a specific style then we only have to decide what goes where..
Title: Re: General Discussion
Post by: DarkTl on June 13, 2015, 08:08:38 AM
Onsen https://www.dropbox.com/s/pugvycabwzydvwk/liv%20%2891%29.jpg?dl=0 (https://www.dropbox.com/s/pugvycabwzydvwk/liv%20%2891%29.jpg?dl=0)
Living room https://www.dropbox.com/s/qovmmcschb45t96/liv%20%2854%29.jpg?dl=0 (https://www.dropbox.com/s/qovmmcschb45t96/liv%20%2854%29.jpg?dl=0)
Bathroom https://www.dropbox.com/s/g2q7n34zok97d8c/liv%20%2820%29.jpg?dl=0 (https://www.dropbox.com/s/g2q7n34zok97d8c/liv%20%2820%29.jpg?dl=0)
Kitchen https://www.dropbox.com/s/ub4pjld8jdhb2zh/liv%20%2838%29.jpg?dl=0 (https://www.dropbox.com/s/ub4pjld8jdhb2zh/liv%20%2838%29.jpg?dl=0)
Generic Indoors https://www.dropbox.com/s/annslvljslnm4pc/liv%20%2827%29.jpg?dl=0 (https://www.dropbox.com/s/annslvljslnm4pc/liv%20%2827%29.jpg?dl=0)
Dungeon https://www.dropbox.com/s/sft06f5zfs47wmi/pub%20%284%29.jpg?dl=0 (https://www.dropbox.com/s/sft06f5zfs47wmi/pub%20%284%29.jpg?dl=0)
Cafe https://www.dropbox.com/s/yjie8gzobidbz6p/pub%20%2849%29.jpg?dl=0 (https://www.dropbox.com/s/yjie8gzobidbz6p/pub%20%2849%29.jpg?dl=0)
School https://www.dropbox.com/s/4g5i7k4rcq17qdb/pub%20%2861%29.jpg?dl=0 (https://www.dropbox.com/s/4g5i7k4rcq17qdb/pub%20%2861%29.jpg?dl=0)
Beach https://www.dropbox.com/s/b4ib1f9a8j63zog/bea%20%2815%29.jpg?dl=0 (https://www.dropbox.com/s/b4ib1f9a8j63zog/bea%20%2815%29.jpg?dl=0)
Wildness https://www.dropbox.com/s/yk93eg2fye63lfh/wast%20%2811%29.jpg?dl=0 (https://www.dropbox.com/s/yk93eg2fye63lfh/wast%20%2811%29.jpg?dl=0)
Park https://www.dropbox.com/s/khher4ric7kk5yj/park%20%284%29.jpg?dl=0 (https://www.dropbox.com/s/khher4ric7kk5yj/park%20%284%29.jpg?dl=0)
City Street https://www.dropbox.com/s/ku0jkvc9n30imwh/cit%20%2837%29.jpg?dl=0 (https://www.dropbox.com/s/ku0jkvc9n30imwh/cit%20%2837%29.jpg?dl=0)
Forest https://www.dropbox.com/s/6smjnxuchdxper9/for%20%288%29.jpg?dl=0 (https://www.dropbox.com/s/6smjnxuchdxper9/for%20%288%29.jpg?dl=0)

They don't have to look exactly like that if some elements are too difficult to render.
Title: Re: General Discussion
Post by: lamoli on June 13, 2015, 08:24:52 AM
Great.. exactly what i needed  :)


The only hard thing now are the smoke/steam effect.. thats 30-60min to render.. and so far i never get it right.. once i get the right settings ill be good even if its 1h long to render lol ( my steam are great but im never happy with smoke.. )


Normal scene takes like 3-4 min.. ( might have to upgrade my graphic card to get gpu support.. but maybe later )


I could use a reference for nightclub/gambling/strip bar as well..
Title: Re: General Discussion
Post by: DarkTl on June 13, 2015, 10:02:32 AM
Bg for striptease is pretty simple https://www.dropbox.com/s/bxnvububncrelgf/01A2-nd-eb-c9-l8-a1.jpg?dl=0 (https://www.dropbox.com/s/bxnvububncrelgf/01A2-nd-eb-c9-l8-a1.jpg?dl=0)
Just a pole and a curtain.

Gambling is not about background, since casino bgs are very rare and very complex too. It's more about stuff like playing cards and casino chips, like https://www.dropbox.com/s/aupl3pstiev9mve/003E-nn-e2-e5-c1-l2-pr-a9.jpg?dl=0 (https://www.dropbox.com/s/aupl3pstiev9mve/003E-nn-e2-e5-c1-l2-pr-a9.jpg?dl=0)
Bar https://www.dropbox.com/s/ukpq7344gae9rq6/pub%20%2876%29.jpg?dl=0 (https://www.dropbox.com/s/ukpq7344gae9rq6/pub%20%2876%29.jpg?dl=0)
Nightclub https://www.dropbox.com/s/cdxkmpbhatxudt6/pub%20%2867%29.jpg?dl=0 (https://www.dropbox.com/s/cdxkmpbhatxudt6/pub%20%2867%29.jpg?dl=0)

I fixed all errors with spells animations and made more suitable sounds where they were needed.
Title: Re: General Discussion
Post by: lamoli on June 13, 2015, 02:42:11 PM
https://mon-partage.fr/f/LfpQTQDc/ (https://mon-partage.fr/f/LfpQTQDc/)


Ok yeah lost time trying to make too much stuff.. and effect.. DOF no DOF. back scene or not.. smoke or not..
Title: Re: General Discussion
Post by: DarkTl on June 14, 2015, 06:21:47 AM
I like stripfocus16.
Title: Re: General Discussion
Post by: lamoli on June 14, 2015, 08:20:36 AM
Yeah thats the last i made after lots of tries.. thats still not what i wanted but it will have to do.


Now ill try make all those images you linked.. 3d backgrounds that we could use to pose girls and make renders.. with those done the only thing we will have to think of is how to pose the girl inside to have something different for that action.


Like for the onsen.. sitting on the border of the water.. or sitting inside the water.. walking around in a towel.. rinsing herself in front of mirror.. and so on. ( if you find picture of those actions it would be helpful to make the poses.. else i think we could use some anime as reference and take screen captures of what we need )
Title: Re: General Discussion
Post by: lamoli on June 14, 2015, 10:33:39 AM
Hmm if i want to get exact onsen as image i will have to distort the 3d model a lot.. ( i tryed with all lens from 10 to 35(normal perspective ) but never got the right result.. i guess i will make something that contains whats in that BG but if you want to compare img from 3d .. i cannot reproduce that perspective/angle.. but i think the most important is to get the individual spaces right  to pose the girls and take the renders..


Edit:


i think i got close to it now

Title: Re: General Discussion
Post by: lamoli on June 14, 2015, 01:31:17 PM
https://mon-partage.fr/f/ZYELvEhJ/ (https://mon-partage.fr/f/ZYELvEhJ/)


Here you can see im close to the focal angle but after lots of tries.. i stopped at this 1.. it should be good enough and i have the required space to place the girls where they are needed.


Of course its just planes defining the rough shape.. the finished version will come soon.. but wanted your OK on focal..
Title: Re: General Discussion
Post by: DarkTl on June 14, 2015, 02:15:54 PM
Like for the onsen.. sitting on the border of the water.. or sitting inside the water.. walking around in a towel.. rinsing herself in front of mirror.. and so on. ( if you find picture of those actions it would be helpful to make the poses.. else i think we could use some anime as reference and take screen captures of what we need )
I think this (https://www.dropbox.com/s/3av8d6vk1tpcbza/002A-nd-e2-ec-c8-l6-a2.jpg?dl=0) is one of the best bathing onsen pictures, if you ignore a plate with sake in her right hand. Other than that, onsen bg could be used for sex poses like any other bg.

Of course its just planes defining the rough shape.. the finished version will come soon.. but wanted your OK on focal..
Yeap, looks very good.
Title: Re: General Discussion
Post by: Xela on June 15, 2015, 05:54:43 AM
Looks great, I am up to my neck in work but still writing trying to write at least 30 - 40 new lines every day + we did some work on main menu with Gismo over Skype.

I'll try to finish the jobs/buildings this week as time permits, we still need classtraits for mobs and I need to update the code for random girls to work with new basetraits. New Jobs code seems to be working with my test scenarios well and without errors/major issues so far :) It's 10x more intuitive and easier to expand upon than the old version.
Title: Re: General Discussion
Post by: DarkTl on June 15, 2015, 06:50:34 AM
Yup, I want to finish tagging of one character from the second touhou pack really quick, and then I'll write mobs classes.
What is the field to show if the class should be used at front or back row, again?
Title: Re: General Discussion
Post by: Xela on June 15, 2015, 07:35:42 AM
Yup, I want to finish tagging of one character from the second touhou pack really quick, and then I'll write mobs classes.
What is the field to show if the class should be used at front or back row, again?

I've left a decent example of what a mob should look like in the normal mobs file (field is front_row. 1 or true / 0 or false):

*If you think that more fields are required, just throw them in there. If extra logic or complex application is needed as well, post here and we'll discuss it.
**This should load into the game properly (I think) :)

Code: [Select]
{
"name": "King Slime",
"desc": "King of all slimy things.",
"front_row": 0,
"battle_sprite": "content/npc/mobs/a.png",
"portrait": "content/npc/mobs/a1.png",
"origin": "Vile puddle of filth.",
"base_race": "Slimes",
"race": "Slimes",
"locations": [],
"basetraits": ["Mage"],
"stats": {
    "attack": 20,
    "defence": 50,
    "magic": 30,
    "agility": 40,
    "luck": 10,
    "charisma": 40
},
"skills": {
},
"traits": [
],
"attack_skills": ["FistAttack"],
"magic_skills": ["Water ☆☆", "Water ★★★"]
},
Title: Re: General Discussion
Post by: DarkTl on June 15, 2015, 09:31:30 AM
I personally think location should be setted in SE/Arena jsons, not mobs json.
Title: Re: General Discussion
Post by: Xela on June 15, 2015, 11:46:01 AM
They are not mutually exclusive, we may need this field later, you don't have to fill it in.
Title: Re: General Discussion
Post by: Gismo on June 15, 2015, 03:47:06 PM
Pushed test version of the "Main screen".

(http://s5.postimg.org/dxshrsgmr/test_1.jpg) (http://postimg.org/image/dxshrsgmr/)

2m video on YouTube - https://www.youtube.com/watch?v=k-F6nJem64Y (https://www.youtube.com/watch?v=k-F6nJem64Y)
For best quality, select 720HD and theater mode.

Thanks to Xela for code and ideas)
Title: Re: General Discussion
Post by: laposteb on June 15, 2015, 03:53:39 PM
Realy nice, I want to play know  :'(
Title: Re: General Discussion
Post by: lamoli on June 15, 2015, 06:56:45 PM
https://mon-partage.fr/f/pmsHRNGB/ (https://mon-partage.fr/f/pmsHRNGB/)


Some progress.. but still far.. lol also smoke/mist/fog 3D generated effect are a real pain.. so not doing them at this moment..
I still need to model some items from scene and for lighting.. its edited so the only way to make it look alike is to bake those fake lights into the texture so we get the same visuals.. also my textures arent as great as the original but they can be improved over time.. also i need to spend time distorting all my meshes because now they are so straight they look fake


Maybe i should start other scenes as well so everything progress and we could start using some parts that are already done to render the actions we need then upgrade those 3D BG over time.
Title: Re: General Discussion
Post by: lamoli on June 16, 2015, 04:18:15 AM
Hmm.. am i free to adapt the rooms.. because for liv(51) a 3m long bed or 2.8 height wardrobe ... thats too mutch lol   ???


Even with a Gril whos 1.8m tall and that way too high the rest of the room is still over sized.. it might look good at first but to place a girl of normal dimensions it need refit  ;)


But this picture gives the idea of what should be in that room and thats great.
Title: Re: General Discussion
Post by: lamoli on June 16, 2015, 06:21:47 AM
https://mon-partage.fr/f/P5m8SE29/ (https://mon-partage.fr/f/P5m8SE29/)


ref girl shapes 1.8/0.6m with divisions of 0.6m ( close value to the sitting furniture height ) and could add around 0.7m for the arms length.


In the end it might be ok.. ( i forgot about the arm length lol ) there is no problem sitting on either chair/bed.. wardrobe might be a little too high/long if the girl is small.. same for bed..
Title: Re: General Discussion
Post by: Xela on June 16, 2015, 07:42:56 AM
These renders might be an overkill, a decent gradient paired with simply putting the girl in front of the background without placing would prolly be faster?

Title: Re: General Discussion
Post by: lamoli on June 16, 2015, 08:13:28 AM
Hmm.. complete room looks overkill but doing all that im making like 10 BG on that room ( with camera looking at different angles on the room to see new BG each time) to place the girl on.. ill show you samples really soon of what i mean..


What i need is to extract as much BG from a room to get more sample with less work on the long term.. when every room Dark linked me are done.. i could easily extract +/- 10 BG from those and with little work make double++ with different lighting/furniture.. and at that point its limitless..


What im making/building is not 1 BG template to use 1 time then forget.. im making something like a matrix to use for all our BG needs


Edit:


But yes i could use basic gradient on colors to save up on time for their V1.. then when i have more time ill upgrade with better materials.
Title: Re: General Discussion
Post by: Xela on June 16, 2015, 09:09:29 AM
Oki, your call :)
Title: Re: General Discussion
Post by: DarkTl on June 17, 2015, 04:11:22 AM
Pushed json with mobs traits. There are "mob_only": true fields which mean that MC and girls cannot use these traits.
Title: Re: General Discussion
Post by: lamoli on June 17, 2015, 08:12:30 AM
https://mon-partage.fr/f/6judZaDm/ (https://mon-partage.fr/f/6judZaDm/)


Only lamp structure/bed/wardrobe missing..


Shapes need to be remodeled and i need to add more round edges ( but this can be done later on upgraded versions..


I only used 2 light emissions 1 from paper window and 1 form sealing lamp.. the original image used gradient textures to fake the lights on the columns.. ( takes time to adjust the right way ) but this can be done later on..


It takes time every time i make a new room since i have to model almost everything from scratch.. but soon ill have enough base models to make it go faster later on..
Title: Re: General Discussion
Post by: lamoli on June 17, 2015, 12:45:42 PM
https://mon-partage.fr/f/sMJ4ScDH/ (https://mon-partage.fr/f/sMJ4ScDH/)


Reduced main lamp light added gradients and more bumps..


I still need to find a way to do the walls/floor fake lights effect..
Title: Re: General Discussion
Post by: DarkTl on June 18, 2015, 04:12:58 AM
**This should load into the game properly (I think) :)
Your example lacks elements. Can I just add them to the traits field?
Title: Re: General Discussion
Post by: Xela on June 18, 2015, 04:28:51 AM
Your example lacks elements. Can I just add them to the traits field?

It should work under traits (and can be fixed without any issues in a very unlikely case if it don't), I guess I forgot about elements :( If you want a separate field, I'll add them.
Title: Re: General Discussion
Post by: DarkTl on June 18, 2015, 12:09:56 PM
I'm gonna add min_lvl field to mobs. Not sure how exactly we'll use it, there are several ways to do it. For example actual min possible level for mob, or min level of the area where you can find the mob, etc.
Title: Re: General Discussion
Post by: Xela on June 18, 2015, 12:40:46 PM
I'm gonna add min_lvl field to mobs. Not sure how exactly we'll use it, there are several ways to do it. For example actual min possible level for mob, or min level of the area where you can find the mob, etc.

We are more likely to handle that in the areas themselves, but extra fields are not likely to do any harm.
Title: Re: General Discussion
Post by: lamoli on June 18, 2015, 01:42:29 PM
https://mon-partage.fr/f/rntTqZ2x/ (https://mon-partage.fr/f/rntTqZ2x/)


I forgot how annoying it was to make Louis XV style furniture lol.. i hope i got close enough.. might still need improvements.. increased lamp lighting a little.. V5GB was too dark..
Title: Re: General Discussion
Post by: lamoli on June 19, 2015, 08:50:56 PM
https://mon-partage.fr/f/SdKzE8RG/ (https://mon-partage.fr/f/SdKzE8RG/)

Need to upgrade bed and decide what the elements not in the picture should look like on 360 angle for any BG taken from that room ..

Made some quick renders.. with poses already done.. so the poses arent adapted but give the idea of more than 1 BG taken from a 3d room from references pictures.
Title: Re: General Discussion
Post by: Xela on June 20, 2015, 06:14:16 AM
Looks ok, quality is poor but I suppose that is what you meant with "Quick renders" or maybe it's just the monitor I am on atm.

**I doubt that I'll manage to wrap up jobs/buildings this week. Right now I got my testjob and rest/autorest working again and debugged it, next step is the hardest, I need to code in new system and management job I had in mind and for that 4 - 5 hours of uninterrupted work are needed which I am not likely to get until the week after next.

I'll obviously keep working on/updating other things 1 - 2 hours on daily basis.
Title: Re: General Discussion
Post by: lamoli on June 20, 2015, 07:05:03 AM
Looks ok, quality is poor but I suppose that is what you meant with "Quick renders" or maybe it's just the monitor I am on atm.

Hmm.. im still at same resolution as base image.. what do you mean by poor ? ( extra noise from difuse/light ) or something else ?

https://mon-partage.fr/f/5fJ7q0NC/ (https://mon-partage.fr/f/5fJ7q0NC/) ( has the related difference )
Title: Re: General Discussion
Post by: Xela on June 20, 2015, 07:14:51 AM
I think "noise" is the right word, it's like there is "dust" in front of the images/parts of images. Not all of the pictures have it.
Title: Re: General Discussion
Post by: lamoli on June 20, 2015, 07:56:42 AM
Yeah thats noise.. from either fog/mist/smoke that has been hit by light.. ( none in this room ) or the diffuse of other objects/shadows..

In the link there is a old file i made containing ( no diffuse - no lighting / no diffuse - lighting / diffuse - no lighting / diffuse - lighting ) to see the diffuse noise impact and to see if shadows from light sources where affected.

The thing is on a complete scene with 3D room and char in it.. light/diffuse are bouncing all around and reflected on character ( like it should in RL but i might be able to tweak that so it is less apparent ) or a render BG an char separately with same lighting source.. this might solve some problems as well..

Ill take some time now on trying to get a result with less noise.. then ill do other rooms.. as for content not visible on picture but that might be there in the 360 room ill decide on that later since i can still get lots of camera angles that looks like different BG without having to show those non existing things
Title: Re: General Discussion
Post by: lamoli on June 20, 2015, 05:15:56 PM
https://mon-partage.fr/f/7TKqnATN/ (https://mon-partage.fr/f/7TKqnATN/)

There the original quick render with 1 high noise reduction and 1 high noise reduction no diffuse..

Disabling the diffuse reduce the noise but it might remove light/color propagation that is sometimes required..

Ill try 1 more with BG 3D room and character render individually then combined at end result.. this could remove even more noise as noise is the result of all object in that room bouncing light/color on the character but the render would take 2x the time.. but if the result is realy good then why not.. ( might take 3x the time as if i separate BG and char i need a 3rd render for the shadows the char is casting on BG on a transparent layer.. when we need to see the shadow that is.. )
Title: Re: General Discussion
Post by: DarkTl on June 21, 2015, 04:41:09 AM
I'm rewriting mobs meanwhile. Of course magic mobs cannot be completed without spells, and spells need names for a start. I'm personally against any standard names like fire☆ or fira, which are only useful without a spells sorting gui.
Title: Re: General Discussion
Post by: Xela on June 21, 2015, 05:51:40 AM
LoL

And I am in favor of Fire 1/2/3/4 or Fire/Fira/Firaga/Firaja + unique names for other spells :) Maybe we can throw a dice in chatroom or something when we all get together in there to discuss something again :)
Title: Re: General Discussion
Post by: DarkTl on June 21, 2015, 08:54:26 AM
Fira stuff is easy to understand only for those who played FF. And even then you can easily confuse Firaga and Firaja.
Title: Re: General Discussion
Post by: lamoli on June 21, 2015, 08:55:03 AM
Hmm.. in the end.. separating BG/char did not improve noise reduction.. all i can do to make it better is try to add more samples ( xx*hour ) but i can improve resolution so the pixels are smaller.. i used 1280x720 since it was original BG image but nothing stops me to double that resolution or more..

Edit:
Well separating the 2 is a good idea because i could add a lot more sampling to reduce the noise on char even more as BG might be a little out of focus.. so it could use less.. then it could give a optimal result..

As for the last link is the noise reduction decent enough or need a lot more ?
Title: Re: General Discussion
Post by: Xela on June 21, 2015, 09:21:47 AM
bedroomV0-7angle4lessnoisediff.png

This one seems really good!
Title: Re: General Discussion
Post by: DarkTl on June 21, 2015, 10:39:17 AM
Xela, are you ok with fire☆ names btw?
Title: Re: General Discussion
Post by: Xela on June 21, 2015, 10:53:18 AM
Xela, are you ok with fire☆ names btw?

Not really but not enough to actually rename them. As long as mechanics and learning process are decent, we can get away with names.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2015, 11:57:41 AM
Lol no, we need to decide something already. One thing is to rename them once in battle assets, but I'm about to use them in mobs json.
Title: Re: General Discussion
Post by: Xela on June 21, 2015, 01:08:02 PM
Lol no, we need to decide something already. One thing is to rename them once in battle assets, but I'm about to use them in mobs json.

Ok... so I'll throw dice in the chat and add the results as my next post...

1 = Unique names for all.
2 = Fire (something) for 4 base spells of each element and unique names for everything else. If 2 is rolled, we'll roll another dice for specific pattern.

I'll roll it in 5 mins from this post :)
Title: Re: General Discussion
Post by: Xela on June 21, 2015, 01:15:02 PM
It's 2 :)

No cheating or anything like that, my mod rights don't give me an option to edit posts without leaving a trace after 3 mins or so have passed :)
Title: Re: General Discussion
Post by: Xela on June 21, 2015, 01:18:57 PM
Next Roll:

1 = Fire 1,2,3,4
2 = Fire, Fira, Firaga, Firaja
3 = Fire + Weird star symbols... (I actually really dislike this approach)

Rolled: 3 :(

*But on the brightside, it's less work for you  ::)
Title: Re: General Discussion
Post by: lamoli on June 21, 2015, 03:59:34 PM
Also rolled 3 but liked the.. 2 = Fire, Fira, Firaga,  (Firaja) not this one the name is confusing..

Maybe the Disgaea system is less confusing.. ( fire / Alfa fire / Giga fire / Omega fire / Tetra fire )
Title: Re: General Discussion
Post by: DarkTl on June 22, 2015, 05:36:18 AM
How about Fire - Fire Row - Fire Any - Fire All for the first 4 basic spells? And they will work accordingly.
Title: Re: General Discussion
Post by: lamoli on June 22, 2015, 06:15:27 AM
Maybe Row/all are too powerful.. if there is 4 enemy in a row ( row will hit all of em 100% with fire ) while fira(e Alpha) will hit target and the ones on the side of the row but not anyone on the back row.. and firaga(e Giga ) could hit the ones on the side of the row and the one on the back closest to target ) and so on..

This would make you chose the target you hit with your spell strategically and if you grasped the enemy turn system ( dont know if you gona use agi or something to decide how fast someone will get his/her turn back ) then you can chose the right target(s) to optimize your fighting success

But the fire 4(or the highest lvl) even with this system could cover all like fire all would do..
Title: Re: General Discussion
Post by: Gismo on June 22, 2015, 06:47:52 AM
Just for example, the names in order of increasing strength element. For the first four spells.

........................................................... .
Frost >> Ice Blast >> Blizzard >> Maelstrom

Flare >> Fireblast>> Inferno >> Meteor

Sever >> Cyclone >> Typhoon >> Tornado

Stone >> Rock Blast >> Sandstorm >> Quake
........................................................... .
Levels of spells, simply switch button in the interface (depending on the level of changing cost and strength).
Title: Re: General Discussion
Post by: Xela on June 22, 2015, 07:11:09 AM
@Dark, I don't like Any/All in the names.

@Gismo, it's an option.

==
My approach (tactics-wise) would be:

1) Any in front row.
2) All without true pierce.
3) Any without true pierce.
4) All without true pierce (but obviously stronger than 2).

Anything with true-peirce should be very limited for characters, maybe more accessible to mobs/mob-bosses.
Title: Re: General Discussion
Post by: DarkTl on June 22, 2015, 08:30:31 AM
My approach (tactics-wise) would be:
You forgot about closest row, ie all without any kind of pierce. It will make all 4 basic spells truly unique and yet useful.

Maybe Row/all are too powerful..
Mass spells will be weaker to avoid it. Or rare and expensive.

Just for example, the names in order of increasing strength element. For the first four spells.
The problem is that we have many spells already, like 7-9 per element. If we sort spells by power form the weakest to the most powerful, stuff like meteors will be the last one, not the fourth one.
The first 4 spells are usually not very impressive even in terms of appearance. There are no meteors or blizzards there.

To clarify why I'm against fira stuff: it's a shameless rip-off, and an easily noticeable one. Even worse, while we obviosly have no choice but to use sounds and pictures made by someone else, spells names are clearly an overkill in this regard. It's almost like to call the game Final Fantasy: Pytfall Chronicles.
Title: Re: General Discussion
Post by: lamoli on June 22, 2015, 12:17:01 PM
Anyway if someone wants to make the Pytfall mod Final Fantasy: Pytfall Chronicles.. using the fira sutff why not.. but programation wise it should use the spell ID and not name so anyone could rename it like they want later on..

Using ID instead of name would help translate the game a lot if its ever needed..
Title: Re: General Discussion
Post by: Xela on June 22, 2015, 12:26:35 PM
To clarify why I'm against fira stuff: it's a shameless rip-off, and an easily noticeable one. Even worse, while we obviosly have no choice but to use sounds and pictures made by someone else, spells names are clearly an overkill in this regard. It's almost like to call the game Final Fantasy: Pytfall Chronicles.

LoL

It's almost comical when someone draws a line like this :D How is this different from using original character names instead of coming up with unique, I mean we cannot draw or render pics for enough characters but we can come up with unique names for them or calling a sword Excalibur instead of "Metabrera Matambra"? In the same manner you can call every second game out there for ripping widely known names and concept to be used for their benefits as long as those are not trademarked...

and FF: Pytfall Chronicles? Really? Just because of spell-names? I mean it's not an RPG, it's not based around one of their world concepts, it's not about a small group of characters going through a story and we're not using their common name patters for anyone particular in the game... + all the crap they ripped off from rl history, mythology and languages (even Fira/Firaja names are basically Eng names + Jap suffixes).

In any case, I think that you're way off-base here with your argument... I can understand you simply not liking the names but "us not being original" statement weird me out a little bit all other game elements considered.

You forgot about closest row, ie all without any kind of pierce. It will make all 4 basic spells truly unique and yet useful.

Yeah... maybe use it for 1)? I'd like second spell to have all effect, maybe not any kind of powerful but still all.
Title: Re: General Discussion
Post by: lamoli on June 22, 2015, 12:28:44 PM
Atm im watching anime that contains the style of furniture/clothing/BG we would need in the game.. so far iv seen:

Maoyuu Maou Yuusha (http://myanimelist.net/anime/14833/Maoyuu_Maou_Yuusha)
Seiken no Blacksmith (http://myanimelist.net/anime/5940/Seiken_no_Blacksmith)
Sword Art Online (http://myanimelist.net/anime/11757/Sword_Art_Online)
Tales of the Abyss (http://myanimelist.net/anime/4884/Tales_of_the_Abyss)
Scrapped Princess (http://myanimelist.net/anime/167/Scrapped_Princess)
Zero no Tsukaima (http://myanimelist.net/anime/1195/Zero_no_Tsukaima)
Druaga no Tou: The Aegis of Uruk (http://myanimelist.net/anime/3230/Druaga_no_Tou:_The_Aegis_of_Uruk)

If you know another that contain those things.. let me know.

As renders takes time i got time to watch those and maybe get some ideas from them.
Title: Re: General Discussion
Post by: DarkTl on June 22, 2015, 01:49:28 PM
In any case, I think that you're way off-base here with your argument... I can understand you simply not liking the names but "us not being original" statement weird me out a little bit all other game elements considered.
Ah, but we use multiple sources for everything we have. Characters, items, mobs, dialogues, animations. Even our elements system is based on Golden Sun, Naruto and Neverwinter Nights. Not to mention traits and stats/skills from multiple h-games.
You could say we take the best everywhere and combine it.

So using one single source for something, like spells names, is very different from other parts.

Let's just use spells id like lamoli proposed. I'll be happy as long fira is not in mine game.
Title: Re: General Discussion
Post by: Xela on June 22, 2015, 01:57:27 PM
Oki, I'll look into it. Still doesn't solve an issue with how we gonna name them by default.
Title: Re: General Discussion
Post by: DarkTl on June 22, 2015, 02:09:20 PM
Nah, we can make a separate file with spells names tied to ids. And have two versions, with fira stuff and with unique names.
Title: Re: General Discussion
Post by: Xela on June 22, 2015, 02:12:26 PM
Nah, we can make a separate file with spells names tied to ids. And have two versions, with fira stuff and with unique names.

Oki, than just add new field to whereever appropriate: alt_name="Fira" and etc. I'll make it work.
Title: Re: General Discussion
Post by: DarkTl on June 22, 2015, 02:26:31 PM
If you know another that contain those things.. let me know.

As renders takes time i got time to watch those and maybe get some ideas from them.
Hm... The last ones I watched are No Game No Life and Persona The Movie (really hard to find second Persona part, even at torrents). I wanted to make Zero no Tsukaima pack recently, but surprisingly characters don't have enough pictures. It could be our first rendered unique pack.

And I can't believe they still draw fillers for Naruto, barely moving the main story... I want to see how they will animate the gate of death, to know what we might need for BE  :)
Title: Re: General Discussion
Post by: BlackWolf Inc. on June 22, 2015, 06:07:45 PM
I think I mentioned this before but an alternative with basic spell names is to have a prefix rather than suffix like Fire Emblem has
so: 'Fire' -> El'fire' -> Arc'fire' -> Whatever (FE's basic lv4 spells are called Bolagone(Fire) Thoron(Thunder) and Rexcalibur(Wind))
Just in case you guys forgot.
I think you expressed interest in it so I thought I'd add more detail

Bowman
Title: Re: General Discussion
Post by: DarkTl on June 23, 2015, 01:45:29 AM
^Xela doesn't like them either, unfortunately.
Title: Re: General Discussion
Post by: Xela on June 23, 2015, 02:02:10 AM
If we are to use a structure from a different game, lets use ff series.

We don't have that many elements, we can afford to have ceveral names for the first 4 or 5 spells.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2015, 03:11:32 AM
FF doesn't have such names for light and darkness.
Title: Re: General Discussion
Post by: Gismo on June 23, 2015, 08:23:38 AM
I tried to portray my ideas about the magic system. Use everything you deem interesting.

7 Basic Elements - Fire > Water > Wind > Earth >> Holy > Dark >> Neutral
5 Sub Elements (2 mix) - Steam (Fire + Water) >> Ice (Water + Wind) >> Dust (Wind + Earth) >> Lava (Earth + Fire) >> Lightning (Fire + Wind)

There are spells have ranks.
                  - Ranks -
E > D > C > B > B+ > A > A+ > S
If you use spells, it gets the experience. Increase in rank gives a very small bonuses, decreased mp, increase power.
To use the more powerful spells, it is necessary to increase the ranks of the weaker spells.

Spells are distributed in 5 circles:
- 5th round of initiation - Just basic spells. The spell only use his element.
- 4th round of initiation - Moderate spells. The spell only use his element. To use them, you need C grades previous spells circle.
- 3rd round of initiation - Your first basic spells that use two elements. To use them, you need B+ grades previous spells circle.
- 2nd round of initiation - Master spells. The spell only use his element. The most powerful spells in their categories of elements. To use them, you need A grades at all spells circles.
- 1st round of initiation - Legendary spells that use three elements. Unique spells for real virtuosos. To use them need certain consumables and A+ grades at all spells circles.

Here is for example the fifth starting circle, did bias on the game with buffs and debuffs -
(http://s5.postimg.org/drso500mr/spell1.png) (http://postimg.org/image/drso500mr/) (http://s5.postimg.org/45z3op9gz/spell2.png) (http://postimg.org/image/45z3op9gz/)
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 10:33:20 AM
https://mon-partage.fr/f/iLa5ADVF/ (https://mon-partage.fr/f/iLa5ADVF/)

Base is same as any other char iv made so far but i used special shader( might tweak it later on ) to look like already made picture in a unique pack.

Does it look close enough to the real thing.. and if not tell me whats wrong..
Title: Re: General Discussion
Post by: DarkTl on June 23, 2015, 12:12:00 PM
Mobs most lkely will be finished tomorrow. With descriptions and traits, but without spells (yet) and that origin field from your example (I'm not creative enough for such a thing, feel free to write it by yourself  ::) ).

I tried to portray my ideas about the magic system. Use everything you deem interesting.
I will. But we are not ready for debuffs and multielemental spells yet.

Does it look close enough to the real thing.. and if not tell me whats wrong..
I think eyebrows are way too thick. No more complaints from me.
Title: Re: General Discussion
Post by: Xela on June 23, 2015, 01:00:02 PM
@Gismo: it's too advanced for current state of BE, we make every state of the game a prototype and advance them, logic and content have not yet caught up with your proposal.

@Lamoli: Naruto Shippuden Ultimate Ninja Storm 3 has better models of naruto girls, even simpler mmd models are a bit prettier. Maybe I misunderstood you when you said you just needed a decent 3D source to rip from but if that was true, you can prolly try some other options.
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 01:34:36 PM
@Lamoli: Naruto Shippuden Ultimate Ninja Storm 3 has better models of naruto girls, even simpler mmd models are a bit prettier. Maybe I misunderstood you when you said you just needed a decent 3D source to rip from but if that was true, you can prolly try some other options.

Thats the UNS3 model but changed triangles into polygons and added subdivisions so its 4x more detailed.. then transformed base model to fit the face of the posing base model shape so the shape is the same.. the only thing that changed other than that is instead of textures i used 1 color and the 2D shader..

Maybe link me those mmd models.. since i used the UNS3 base i can only get better using those mmds
Title: Re: General Discussion
Post by: Xela on June 23, 2015, 01:55:51 PM
http://naruto-3d-modelers.deviantart.com/gallery/44907583/MMD-Model-Releases

Most widely used are these once I think but there are many on youtube. Some add sources to the info, some don't. Their One Piece models are quite good as well. I've also seen some excellent models when I did some research couple of month ago but they either are now dead or I've lost them (will take another look when I get to Laptop).
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 02:10:14 PM
Those are the same as mine.. its just the shader

https://mon-partage.fr/f/Jk6f0cA8/ (https://mon-partage.fr/f/Jk6f0cA8/)

Same model but with the shader i used in the beginning.. 1 color no textures..

Mine got around 4x times the poly ( needed to be able to pose without joints deformation ) no one so far used my method.. they all have problems with joints bending.. so you will never see extreme pose naked on theirs.. even on some just bending the arm is too much already.. ( some will use a premade xnalara body that pose better but it has its own limits and you cannot morh it like i want less wider chest bigger boobs larger hips and so on.. )
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 02:19:15 PM
Maybe it was too extreme to use the 2D shader as it flatens the image so much it looks like a poor model.. but to me it looked more like the 2D drawings.. maybe we need something in between since if i add rendered pics to fill missing actions in existing packs i dont think i could use the more like 3D render like i used so far..
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 02:27:47 PM
Most widely used are these once I think but there are many on youtube. Some add sources to the info, some don't. Their One Piece models are quite good as well. I've also seen some excellent models when I did some research couple of month ago but they either are now dead or I've lost them (will take another look when I get to Laptop).

Never seen a good Boa or Nico only a decent Nami.. maybe there is a one piece game out with good 3D models but missed it..

I think i got good bleach ones tho..
Title: Re: General Discussion
Post by: Xela on June 23, 2015, 02:31:19 PM
https://www.youtube.com/watch?v=a6AiXq4t8f4

https://www.youtube.com/watch?v=X_4EQsl-PlY

https://www.youtube.com/watch?v=ePvs0hyfQEk

These seem nice, some have links.
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 02:39:01 PM
Yeah those i got but never worked on em since their far from the really good pictures made by some artists.. maybe ill have to do it myself at some point since no one trys to make a good face model of boa/nico

To resume its all about the face as i have full freedom to make any body shape i want..
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 03:00:18 PM
For Sakura.. other than the brows.. anything need to be changed? i like to know all that need to be done as the base face im morphing it to has around 30k faces to push/pull to make it look exactly the same so i like to do it 1 or max 2 times lol..

Edit:
oops.. around 7500 as base the 30k thats after subdivisions for even more details..
Title: Re: General Discussion
Post by: DarkTl on June 23, 2015, 03:19:34 PM
Nope, not really. Why Sakura anyway? She is an extremely popular character with thousands qualitative pictures.
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 03:23:32 PM
Nope, not really. Why Sakura anyway? She is an extremely popular character with thousands qualitative pictures.

Exactly why its a good test.. it means my render should look like the best ones of those.. but i can do specific ST actions we might need and nobody made.. and that way not hope on some crappy artist to make 1 that has the action we want but so ugly no one wants it..
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 03:45:02 PM
So far i know i can make decent random girls inside a full 3D BG thats looks ok to be used in pack even if its more 3D than 2D like.. thats why i wanted to try a 2D Sakura who has tons of existing pictures already.. so we would see if im able to get close enough to the 2D drawing with my 2D shader from 3D models.. as existing packs might miss some actions/outfits.. and if you ever decide to add more actions.. all the existing pack will have those as long as im successful with the 2D shader..

Thats why i think i should focus on renders for existing packs now.. and make them look as close as possible as the 2D drawings.. once it is done ill make lots of random girls as they wont be anything else to test if im able too..

Status:

1. 3D girl that looks close enough to 2D   ..ok
2. 3D girl that looks close enough to 2D but can integrate in a 2D BG  ..ok ( cook24 )
3. 90% of clothings build out of Dark ref pics (9/10  might need to make more or at least more variants)
4. 93% of actions required for full pack made out of Dark ref pics (53/57)
5. 3D girl that looks close enough to 2D but in a 3D room and result looks like 2D BG  .. +/- ok ( latest renders / migh use DOF for better results)
6. 3D girl that looks the most like 2D drawings as it will be mixed in existing packs ..  ( working on that now )
7. Making a lot more rooms.. only 1 done atm..
Title: Re: General Discussion
Post by: lamoli on June 23, 2015, 04:08:50 PM
Ermmm.. i had a Sakura pack but its gone.. can you link me the most recent you have.. and tell me the missing actions like for ST where some might be missing ( or need render as the image is so ugly everyone would delete it )
Title: Re: General Discussion
Post by: Xela on June 24, 2015, 01:22:46 AM
Ermmm.. i had a Sakura pack but its gone.. can you link me the most recent you have.. and tell me the missing actions like for ST where some might be missing ( or need render as the image is so ugly everyone would delete it )

http://www.pinkpetal.org/index.php?topic=3403.0

Did you try one from here?
Title: Re: General Discussion
Post by: DarkTl on June 24, 2015, 01:31:21 AM
and tell me the missing actions like for ST where some might be missing ( or need render as the image is so ugly everyone would delete it )
I can't say for sure, since our coders so far avoid coding ST system that I need  :D
I believe we need 2-3 pictures with tied character, pictures with spanked and whipped one, picture with forced dildo/vibrator while tied. And something that could be called torture. I'll find you examples from my packs.

Oh, and of course we need dungeon background.
Title: Re: General Discussion
Post by: DarkTl on June 24, 2015, 08:14:58 AM
I forgot to say, I love our new main menu screen.
Title: Re: General Discussion
Post by: lamoli on June 24, 2015, 03:28:37 PM
https://mon-partage.fr/f/GY8aE0es/ (https://mon-partage.fr/f/GY8aE0es/)

Here is the Sakura head that will render on all my latest poses ( except the 2D tryout shader ).. same as brown twintail girl but with Sakura morph/hair.

I dont know if it will be ok as it is.. since theres lots of 2D drawings already..

So far i didnt find the right settings to make it look like 2D and now looking bad as Xela commented on my 2D shader test....

Edit:
As usual i forgot to adjust the global lighting lol.. so dont worry if its too dark now.. result will be the same as the twintail girl..

Oh.. and if something need to be fixed let me know.. tomorrow ill do the last step so i can use it on any pose i want
Title: Re: General Discussion
Post by: Xela on June 24, 2015, 04:06:35 PM
It's better but the hair needs to be renders not like it's one single texture. I like a lot more than the v0 option from before :)
Title: Re: General Discussion
Post by: lamoli on June 24, 2015, 06:01:49 PM
https://mon-partage.fr/f/E8uvIgFf/ (https://mon-partage.fr/f/E8uvIgFf/)

I think combined get better result.. same lighting as V0 but still has hair texture.. without hair is too flat and looks bad.. ( i might have to add details to it in the future )

Let me know what you think of it..
Title: Re: General Discussion
Post by: lamoli on June 24, 2015, 06:04:39 PM
It's better but the hair needs to be renders not like it's one single texture. I like a lot more than the v0 option from before :)

Ill add more detail to the hair soon but Sakura in 90% of her picture has this type of hair if i add more strand it might look bad.. but ill do some tests..

as for Hair renders.. its a problem as it will look as a real 3d render im trying to avoid..

Edit:

i can do this type of hair:

http://vignette2.wikia.nocookie.net/dynastywarriors/images/2/28/Kasumi_Render_%28WO3U%29.jpg/revision/latest?cb=20140722031734 (http://vignette2.wikia.nocookie.net/dynastywarriors/images/2/28/Kasumi_Render_%28WO3U%29.jpg/revision/latest?cb=20140722031734)

Problem is with Sakura hair cut.. what is it gona look like... ???

Maybe ill do a higher poly like elf maid first..
Title: Re: General Discussion
Post by: lamoli on June 25, 2015, 04:15:27 AM
Since hair can be changed at anytime.. ill be working on it as everything progress..

But does the Sakura face model is good enough to be transformed into the pose able one ?
Title: Re: General Discussion
Post by: Xela on June 25, 2015, 08:18:38 AM
But does the Sakura face model is good enough to be transformed into the pose able one ?

I would say that the last version was good enough to work with.
Title: Re: General Discussion
Post by: Xela on June 25, 2015, 09:06:50 AM
@Dark:

I just downloaded your new pushes. Mobs are acting weird, Nami as a mage at level 52 kills 3 goblins at level 100+ with half a spell. I'll look into allowing to view mobs stats at different levels when I get a chance, but I don't know how to push that without breaking old jobs (unless dev team would no mind game to be without jobs for a while).
Title: Re: General Discussion
Post by: lamoli on June 25, 2015, 09:23:41 AM
https://mon-partage.fr/f/4F7XSlA8/ (https://mon-partage.fr/f/4F7XSlA8/)

Same twintail titjob pose render file but with sakura instead.. ( i forgot that render had bad lighting... but its the same as latest renders of her)

But it shows that the head morphs of sakura is as it should be.. ( now i can make her wear/do anything we need her too.. )
Title: Re: General Discussion
Post by: Xela on June 25, 2015, 09:47:41 AM
It's usable in my opinion. There is same kind of noise in this picture as in the one we discussed earlier. Especially in the area under the breasts. Maybe it would make sense to create new loading routines for these rendered packs like we discussed, with clothing/expressions options.

If you wanted to prove that unique packs can be 3D rendered at acceptable quality, I think this is proof enough, especially if you can clean it up a bit and maybe add some clothes to the images.

===
It is a good idea to wrap up some random packs first, it would make most sense for the game and gameplay.
Title: Re: General Discussion
Post by: lamoli on June 25, 2015, 11:05:07 AM
Yeah its same old file so there is no noise reduction but i can apply it..

As for clothing i got the 9 basic out of 10 Dark provided pics for: ( missing yukata i made it but not finished )

https://mon-partage.fr/f/0cCuZGiW/ (https://mon-partage.fr/f/0cCuZGiW/)

Those are old renders.. poor ambient lighting no scene lights either but you can see the clothings.. i made more recent renders with chr1/2 with 3 base pose for equipment BG ( dress up doll ) but didnt render all the clothing..

For Sakura i could adapt her own clothing when its needed..

But for now i guess its the random girls packs that needs renders.. ( 9 clothes for them might be too short.. i might need more examples.. )

I can change the clothes color in a few second.. same for the textile pattern if any ( dots / squares / stripes / or even more advanced ) whats needed is something to add to existing clothing or completely new ones.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2015, 11:16:51 AM
I forgot about mobs that I added recently, they don't have anything except pictures because I knew back then that we will rewrite them soon enough. So it will take a bit more time than I thought to make all mobs work.

I just downloaded your new pushes. Mobs are acting weird, Nami as a mage at level 52 kills 3 goblins at level 100+ with half a spell. I'll look into allowing to view mobs stats at different levels when I get a chance, but I don't know how to push that without breaking old jobs (unless dev team would no mind game to be without jobs for a while).
Do we even have a magic resistance of any kind, apart from elemental traits? I personally want something like defence/3 + (intelligence+magic)/2. Or simply (int+defence)/2.

And I don't understand spells damage mechanics deep enough. I mean, I know there are base effect and multiplier. But I don't know exact formulas. You explained it once, long time ago, but not detailed enough for me  :D
So spells themselves might be too powerful.

Finally, mobs are not ready yet for final balancing, but it cannot be done without tools allowing me to freely form a party of characters and mobs. Ideally via json, just like our testing dev mode json.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2015, 11:31:31 AM
But for now i guess its the random girls packs that needs renders.. ( 9 clothes for them might be too short.. i might need more examples.. )
Apart from specific clothes like maid every character needs casual clothes that will be used in most cases. You can use any clothes you like, or I can find a couple examples.

Tomorrow I'll also make a small pack of examples for ST. There already were some in my previous example pack, but just in case I'll make sure that we have everything we need for ST.
Title: Re: General Discussion
Post by: Xela on June 25, 2015, 11:31:45 AM
I see, it was still a bit weird but it could be something in test-battle setup code as well.

We need to do something about sprites placement as well. Right now mobs and characters are being positioned by pos (top left corner) which looks weird with some monsters and very misplaced when fighting different kinds of monsters.

We can either agree on some rules, placing all mobs/battle-sprites (for example) in a 250x250 area and leaving some space in all images empty. That would be easier to understand on userlevel but prolly harder to work with. Other good option is to position them differently somehow and maybe correct their placing in JSONs if needs be.

===
Does anyone actually play the game atm? Would it be ok for me to temporarily break the jobs with a push (1 - 2 weeks max, they'll be fixed by then)?
Title: Re: General Discussion
Post by: DarkTl on June 25, 2015, 11:43:52 AM
I'm afraid we will need more than that. Different mobs obviously have different size. Like goblin and dragon. We might need 3 sizes, like girls already have.
Top left corner is a bad idea anyway, it should be bottom one.

I mostly use the game to test packs, and I'll need about 2 weeks after mobs will be done to finish another one.
Title: Re: General Discussion
Post by: Xela on June 25, 2015, 01:35:21 PM
I'm afraid we will need more than that. Different mobs obviously have different size. Like goblin and dragon. We might need 3 sizes, like girls already have.
Top left corner is a bad idea anyway, it should be bottom one.

I mostly use the game to test packs, and I'll need about 2 weeks after mobs will be done to finish another one.

Top-Left is Ren'Pys default when positioning thing, anchor changes that setting.

Problem is that there are not just different sizes, there are also different relative positions, like you would want slime to appear on the ground and bats hovering in air. Different sizes I don't even know how to approach without special battle scenarios which are prolly the correct way to handle them. So larger than normal mobs might never be handled automatically.

Couple of things broke after my last pull, not sure why yet, going to take a look at that tonight if time permits.
Title: Re: General Discussion
Post by: lamoli on June 26, 2015, 05:12:03 PM
https://mon-partage.fr/f/T9pBLoDY/ (https://mon-partage.fr/f/T9pBLoDY/)

Changed light source positions.. reduced noise ( as lighting generate even more noise ) and tryed the Kasumi DoA5 hair render style.

Dunno if its good.. ( you can see that the hair that did not touch shoulder fell down or bended with gravity but half way.. it looks bad.. lol ).. well i can correct that by hand but let it as it was for now.

And for those kind of hair takes time to customize to something special like ( Sakura hair )
Title: Re: General Discussion
Post by: Xela on June 27, 2015, 02:15:47 AM
I like them both, the new render might be better for random girls, uniques will prolly look better with the old one because their hair is rarely so detailed in sources.
Title: Re: General Discussion
Post by: DarkTl on June 27, 2015, 08:27:29 AM
Here (https://mega.co.nz/#!6hcWEB7T!2meNxAIi-SLVjXOoN8WrUsXSI8dK961rsu8D_MC3Q_s) are examples for ST actions. I didn't included rape scenes, since they are the same as usual ones, but with girls sad/crying/angry.
Title: Re: General Discussion
Post by: lamoli on June 28, 2015, 10:06:46 AM
https://mon-partage.fr/f/tMifsxzE/ (https://mon-partage.fr/f/tMifsxzE/)

Hmm i guess.. who it is.. ( only preview no real render to check things out )

Might need to lower back-top hair and make the back-bottom layer 1/2 more wild..

Let me know if something need to be changer before i make a morph out of it.. ( only face/hair matters body will be trashed )

Of course end result shape will be the same but with more realistic nose/mouth ( more like base Sakura ) skin will be closer to latest Sakura as well

Edit:
Hmm face is too round ( like younger version of her ) might need to stretch it
Title: Re: General Discussion
Post by: Xela on June 28, 2015, 10:19:27 AM
https://mon-partage.fr/f/tMifsxzE/ (https://mon-partage.fr/f/tMifsxzE/)

Hmm i guess.. who it is.. ( only preview no real render to check things out )

Might need to lower back-top hair and make the back-bottom layer 1/2 more wild..

Let me know if something need to be changer before i make a morph out of it.. ( only face/hair matters body will be trashed )

Of course end result shape will be the same but with more realistic nose/mouth ( more like base Sakura ) skin will be closer to latest Sakura as well

Edit:
Hmm face is too round ( like younger version of her ) might need to stretch it

I don't know who the girl is but it's a good render.
Title: Re: General Discussion
Post by: lamoli on June 28, 2015, 10:35:29 AM
https://mon-partage.fr/f/KxhTxRXT/ (https://mon-partage.fr/f/KxhTxRXT/)

Ooops forgot that preview are more flat than real renders.. ( they are closer to ortho view.. its not big but its there and depends on focal angle )

Muv Luv Takamura Yui..

I might try the others like (Barchenowa Cryska) laters after the C.C i got as base for the face type i need for (Busujima Saeko)
Title: Re: General Discussion
Post by: DarkTl on June 28, 2015, 01:49:24 PM
Finally finished with mobs. Now I'll rename basic spells to FF ones, add alternative names for them, add a couple basic attacks like bite for example, and set all this to mobs. Still will take much less time than full rewriting that I just did.
Title: Re: General Discussion
Post by: DarkTl on June 30, 2015, 08:15:08 AM
Part 1 is done. I added more base attacks and made pictures for all existing attacks (those pictures of hitting that appear and slowly disappear when you attack).
Also restored FF names for base spells. Screw it, I rather add more new spells than waste my imagination to come up with alternative names for weakest spells in the game.

I know that sounds for new attacks need editing, I don't have that software on my laptop so I'll do it later at home.
Title: Re: General Discussion
Post by: Xela on June 30, 2015, 04:27:39 PM
Part 1 is done. I added more base attacks and made pictures for all existing attacks (those pictures of hitting that appear and slowly disappear when you attack).
Also restored FF names for base spells. Screw it, I rather add more new spells than waste my imagination to come up with alternative names for weakest spells in the game.

I know that sounds for new attacks need editing, I don't have that software on my laptop so I'll do it later at home.

Yeah, I like the new names a lot better, I also fixed tiny upkeep bug and killed some mobs in the arena, it's a lot more fun than before. There are some glitches in be (delays), I kinda expected them before but they never appeared, guess modern Ren'Py versions have better pause handling (I expected that added pauses cause them).

Anyway, we'll kill all of those when we get back to be code/structure, content seems appropriate for the next release.

Every time I add something to new loop in the jobs, 3 new things need to be fixed and one needs to be coded on. It'll take a bit longer still...
Title: Re: General Discussion
Post by: DarkTl on July 01, 2015, 09:32:13 AM
And part 2 done. Mobs have suitable attacks and spells, sounds for basic attacks have been edited.

I suppose it means back to packs and cutscenes, nothing else I can do at this point. I'll need to set new attacks types to some weapons though, but it's a matter of two minutes.
Title: Re: General Discussion
Post by: lamoli on July 03, 2015, 06:43:19 AM
I finished the modeling/pose-able chain that is affected by physics ( need to script it to get it done faster )

I got a good rope that i can bend how i like ( no physics on that one.. )

Can anyone provide me with BDSM rope knot types?...

Edit:
Maybe 1 of you know how to .py script for blender ?
Title: Re: General Discussion
Post by: Xela on July 03, 2015, 06:56:08 AM
No, but I could try and find out...
Title: Re: General Discussion
Post by: DarkTl on July 03, 2015, 10:49:53 AM
Can anyone provide me with BDSM rope knot types?...
I can only propose to google "BDSM rope knot types"  :)
I tried, there are plenty of results and pictures. Like this (http://www.autostraddle.com/wp-content/uploads/2013/09/5-6-rope-handcuff-wrap-bondage.jpg) one.
Title: Re: General Discussion
Post by: Xela on July 08, 2015, 10:15:40 AM
I've updated SF:
- Jobs are broken atm.
- Loads of code restructuring
- Loads of smaller updates/Fixes

*It's getting harder to exchange code without repo as Gismo updates the interface and needs codebits from my end so I decided to break jobs at the repo for now. Nothing will throw errors but the only jobs available atm are rest and testjob that report to all reports instead of buildings. Fighter Guild Jobs should still work assuming girls can be set to their values.
Title: Re: General Discussion
Post by: DarkTl on July 08, 2015, 01:08:46 PM
Tagger update time!  :)

- Text field that shows full name of the currently selected file is read only now. Less messy this way.
- The field is also updates itself now when you rename the picture, not only when you select it.
- File list now resizes too with application window to show more pictures names. Only height though, resizing width with all that gui next to it is very long and boring process. That's why I added the text box with file name in the first place, so even if name is too long for file list you still can see it.
- Added Up and Down buttons as another quick way to change the current picture during tagging. Sometimes you have only one hand available, so you cannot use keyboard and mouse at the same time (like when you eat  ::) ).

I suppose the tagger could use an optional ini file with settings like default window height and width, path to image editor to open for editing the current picture when needed, and so on. I'll add something like this another time.
Title: Re: General Discussion
Post by: Xela on July 08, 2015, 01:30:12 PM
Your time may prolly be better spent on content than on packs, but it's your call :)

Eliont coded a new battle system for Alkion he called Alkion raiders, it's a lot better than the old one. I threw it in my DB if you want to take a look.

*PyTFalls .rpyc files (after my last push) need to be destroyed before a game can be launched due to too many changes to code.
Title: Re: General Discussion
Post by: DarkTl on July 08, 2015, 02:11:45 PM
Improving tagger =/= packs making. Besides, I can't think of any possible new content except cutscenes at this point of coding. I can add items and traits indefinitely, but it's no better than making packs.

That new BE looks very good. That's almost exactly how I imagined SE+BE combined into one system as first person view+random maze in the beginning of the project, when we tried forest exploration. And those characters skills are what I want in our BE too.
Things look wierd during combat without a battle background though, but it's easy to change. Moving visible enemies at the map is controversial decision which leads to much more coding (compared to FF-style encounters) with no real value except hide-and-seek stuff.

Of course we cannot abandon our SE, it makes all warriors useful, not only those ones in your personal exploration team.
Title: Re: General Discussion
Post by: Xela on July 08, 2015, 02:46:11 PM
I like BE more than the card thing but exploration gets really tedious VERY, VERY fast. We can expand skills (even to that point I expects) but I like our system better.

Improving tagger =/= packs making. Besides, I can't think of any possible new content except cutscenes at this point of coding. I can add items and traits indefinitely, but it's no better than making packs.

You could take another look and recheck all girlsmeets, some crash the game atm, you could put some time into MC Setup, now that we have traits and know what the next release is going to be like more or less. Loads of room for creativity there.

You could try to figure out what we gonna do about the SE, Gismo created new interface but that demands ungodly amounts of new logic and content... maybe some middlegound can be reached.

You could create a couple events and/or quests or keep on working on storylines.

Loads of stuff to be done...
Title: Re: General Discussion
Post by: Gismo on July 08, 2015, 04:31:38 PM
New settings screen )  As usual, not the final version.

(http://s5.postimg.org/p4z9kpvsj/1111.png) (http://postimg.org/image/p4z9kpvsj/) (http://s5.postimg.org/4m8yte78z/1112.png) (http://postimg.org/image/4m8yte78z/) (http://s5.postimg.org/mqbze14xf/1113.png) (http://postimg.org/image/mqbze14xf/)
Title: Re: General Discussion
Post by: Xela on July 09, 2015, 03:42:23 AM
I've put together a short video with some of the latest features:

https://www.youtube.com/watch?v=VowPkYSq_6k&feature=youtu.be
Title: Re: General Discussion
Post by: DarkTl on July 09, 2015, 05:19:44 AM
I really could use actual bugs reports for a change instead of vague "some things there crashed the game"  :D
Many GMs were made not by me, but by Cherry, you and even other coders, like rts function. Especially rts function, since it works with both traits and occupations. Anything based on occupations must be one big crash now, when you rewrite classes stuff. I can fix checks, but not functions.

Also, if strings like
Quote
        if dice(int(round(hero.charisma*0.5))):
            $ chr.refinement += 1
are not supposed to work after refinement became skill, then crashes are not surprising.


About storyline, I wanted to move along our previous agreement about time temple, time magic resurrection and stuff. But it's pointless after you decided to remove it from the game, so I am at a loss how to build the story now.
Title: Re: General Discussion
Post by: Xela on July 09, 2015, 08:24:43 AM
I really could use actual bugs reports for a change instead of vague "some things there crashed the game"  :D
Many GMs were made not by me, but by Cherry, you and even other coders, like rts function. Especially rts function, since it works with both traits and occupations. Anything based on occupations must be one big crash now, when you rewrite classes stuff. I can fix checks, but not functions.

Ghm, I'll take a look at that myself when I get a change, I don't recall rtc func to do anything with occupations.

Also, if strings likeare not supposed to work after refinement became skill, then crashes are not surprising.

Sure it will... chr.refinement += 1 and/or chr.Refinement += 1 are the only correct ways to modify skills, effect may not be the same as you would prolly want to increase both refinements but it should not result in an error at all.

About storyline, I wanted to move along our previous agreement about time temple, time magic resurrection and stuff. But it's pointless after you decided to remove it from the game, so I am at a loss how to build the story now.

You could always add the temple itself as a location/make this something unique instead of a common part of the game.
Title: Re: General Discussion
Post by: Xela on July 09, 2015, 09:04:48 AM
BTW:

My old mega account may not have been banned due to violations of copyrights, now they say it was due to excess traffic/storage and to contact their support... but I have a new account now anyway.
Title: Re: General Discussion
Post by: DarkTl on July 09, 2015, 12:25:56 PM
I'm looking at made not by me parts of girlmeets now, and I see many occupations checks. I suppose we need to replace them based on "occupations" field that every class trait has. Mostly there used lines like
Quote
elif co("Prostitute"):
so you could just rewrite that co function to work differently. Rts function uses co function too, so we only need a new co, I believe.
Title: Re: General Discussion
Post by: Xela on July 09, 2015, 01:08:05 PM
I'm looking at made not by me parts of girlmeets now, and I see many occupations checks. I suppose we need to replace them based on "occupations" field that every class trait has. Mostly there used lines like so you could just rewrite that co function to work differently. Rts function uses co function too, so we only need a new co, I believe.

Ah ok, I'll do that tonight if time permits.
Title: Re: General Discussion
Post by: Xela on July 09, 2015, 04:44:11 PM
I'll push tomorrow, all of the interactions functions are broken... they don't throw error because they always return False or None. This is due to the updated traits code.
Title: Re: General Discussion
Post by: Xela on July 09, 2015, 05:14:11 PM
Ok, I think they should now work. Recheck girlsmeets when you get a chance, there are traits which you killed off there for example. Now they should cause crashes with key errors.
Title: Re: General Discussion
Post by: Xela on July 09, 2015, 05:46:53 PM
LoL

4th post in a row...

EOL (weird End of line error in rtc function is also due to a missing trait ("Magic Gift")). I have no idea why the f*ck it counts as end of the the line error (which is it clearly is NOT by any sensible definition) and it'll take another half an hour to investigate why Ren'Py or Python are BSing us (I am sure it's some form of a legitimate reason if you get deep (like colonoscopy deep) enough into the issue) but I am falling asleep and killing off all mentions of dead traits in the game is a good  and honorable goal, no matter who wrote the code that included them >:(
Title: Re: General Discussion
Post by: DarkTl on July 10, 2015, 04:38:04 AM
What
Quote
if dice(int(round(hero.charisma*0.5)))
string means?
Are strings like
Quote
if chr.status != "slave"
still correct?

- Since we use permanent traits as occupations, that interaction #8 in GM - chat.rpy where you ask a girl to change occupation cannot be used anymore in its current condition. If you want to rewrite it somehow to work with non permanent classes traits, go ahead. Otherwise I'll delete it (probably the best option, it's too simple to change even non permanent class via one dialogue).

- GM - go out.rpy contains Cherry's basic developments for dates in real time. I'm not sure how to build dates system (there are many ways), but that file is not enough to make something based on it. Just ignore it for now.

- In GM - proposition.rpy the label #3 handles hiring heavily based on occupations, giving an error for unknown ones. I fixed it for now based on existing occupations types, but it will give us more headache in the future. It should be changed to be based on level and social status (I don't know how  :D ).

- GM - shopping.rpy is a tough one. It handles shopping together with girl based on her occupation again, and I don't understand some parts there. I'm not sure also that we need it in its current super complex condition. We should allow autobuying system to select an item that the girl wants, and then buy it for her or not.

- Finally, I can't test stuff because
Quote
While running game code:
  File "game/script.rpy", line 243, in script call
    call testing
  File "game/library/testing.rpy", line 2, in script
    python:
  File "game/library/testing.rpy", line 16, in <module>
    testBrothel.upgrades['stripclub']['1']['active'] = True
KeyError: 'stripclub'
Title: Re: General Discussion
Post by: Gismo on July 10, 2015, 05:26:26 AM
- Finally, I can't test stuff because

I just exclude this line of code and so far everything works )
Title: Re: General Discussion
Post by: Xela on July 10, 2015, 08:03:45 AM
What  string means?

It's a line of code, I didn't find one declared as string (str(), "", '') but all it does is dividing mcs charisma by 2 and running dice function with a result (which is our case is not widely accepted dice x out of y but a kind of percentage where dice(100 and above are always true), dice(0 or below are always false), dice(10) means 10% chance of occurring, dice(0.1) means 1 in a 1000 chance of occurring and etc.)

Are strings like  still correct?

Yeap, these lines are still valid.


- Since we use permanent traits as occupations, that interaction #8 in GM - chat.rpy where you ask a girl to change occupation cannot be used anymore in its current condition. If you want to rewrite it somehow to work with non permanent classes traits, go ahead. Otherwise I'll delete it (probably the best option, it's too simple to change even non permanent class via one dialogue).

I'll rewrite this one myself, removing class traits is not a good idea but talking a girl into accepting a new one shouldn't be a big deal but that would require a good amount of changes and code.

- GM - go out.rpy contains Cherry's basic developments for dates in real time. I'm not sure how to build dates system (there are many ways), but that file is not enough to make something based on it. Just ignore it for now.

As you like, we'll stick a pin in it :) I am still in favor of AA2 type of dates btw, maybe with exceptions if someone likes coding them, because the last date scenario I've coded was a disaster (imo, I recall someone saying they liked it) and just changing background, fading to black and displaying a quick result would have been faster/smarter.

- In GM - proposition.rpy the label #3 handles hiring heavily based on occupations, giving an error for unknown ones. I fixed it for now based on existing occupations types, but it will give us more headache in the future. It should be changed to be based on level and social status (I don't know how  :D ).

I half expected that. Occupations have generalization fields like "SIW", "Warrior", "Servicer". I'll make check occupation work with them in the future in some smart way where we check these generalizations only for one or two base class traits and exact match for rest.

- Finally, I can't test stuff because

That file is up to you to maintain, so one developer does not mess up testing for everybody else but as a result, when core code is adjusted, some thing may no longer be valid...

Like Gismo said, just comment our all of those lines. I'll attach my own testing file just in case.
Title: Re: General Discussion
Post by: DarkTl on July 10, 2015, 10:25:44 AM
It's a line of code, I didn't find one declared as string (str(), "", '') but all it does is dividing mcs charisma by 2 and running dice function with a result
I know what dice is. And I figured that round rounds it. I don't know what int part does.

Btw can you actually use dice x out of y somehow?
Title: Re: General Discussion
Post by: Xela on July 10, 2015, 10:54:44 AM
I don't know what int part does.

It useless in this case I guess... int() is python buildin function that tries to turn something into integer, like int("1") will return 1, even though "1" is a string. But it does not round up as you expect it too if you know basic math (0.5 and above to the next integer and anything else to the one below, round does that better, even if still not perfect).

Btw can you actually use dice x out of y somehow?

No... at least not directly. You obviously can do something like: dice(50) (d1/2) or dice(100.0/6) (d1/6) but it will not return a number as you'd expect from a conventional dice function, just True/False.

But you can always just use:

Code: [Select]
randint(1, 6)
to get a number.
Title: Re: General Discussion
Post by: DarkTl on July 10, 2015, 03:00:41 PM
Girl_meets_abouther label made by Cherry in GM-chat creates a list of lines based on all available traits and occupations. I changed old occupations checks to "if co("Warrior"):", but now it gives me 
Quote
File "game/library/interactions/GM - chat.rpy", line 267, in script
    if co('Warrior'):
  File "game/library/interactions/GM - chat.rpy", line 267, in <module>
    if co('Warrior'):
  File "game/library/interactions/function - interactions (GM).rpy", line 66, in co
    return ct(list(args))
  File "game/library/interactions/function - interactions (GM).rpy", line 58, in ct
    l = list(traits for i in list(args))
  File "game/library/interactions/function - interactions (GM).rpy", line 58, in <genexpr>
    l = list(traits for i in list(args))
TypeError: unhashable type: 'list'
Title: Re: General Discussion
Post by: Xela on July 10, 2015, 03:59:19 PM
That is my bad, it was 3am when I wrote that code, I'll fix it soon.
Title: Re: General Discussion
Post by: Xela on July 10, 2015, 05:10:17 PM
Holy crap... one of the tracks we used was copyrighted (prolly all/most of them) but they already managed to block youtube video in Germany because if it  ???
Title: Re: General Discussion
Post by: DarkTl on July 10, 2015, 05:39:00 PM
All ingame music is from various games, and intro music is from upcoming Infinity War movie. Most girls pictures belong to minor artists, but music belongs to large corporations. Nothing we can do, music and sounds are even harder to create than pictures.
Title: Re: General Discussion
Post by: DarkTl on July 11, 2015, 06:51:12 AM
Alright, I have some progress. I noticed that now traits cannot change disposition directly giving an error instead (and in code it said that this is on purpose to not mess with GM), so I added a new effect (that will work together with other disposition effects) for Half-Sister trait.

Girl_meets_abouther label works now,  but I have a problem with rts function.
Quote
While running game code:
  File "game/library/interactions/GM - chat.rpy", line 374, in script
    $ line = rts(chr, {"Dandere": ["I sleep on my days off. ...Is that bad?"], "Athletic": ["Working out.", "Exercising", "Running laps"], "Dawdler": ["I spend my days just lying around. Isn't there anything to do around here?", "I like beach sports, y'know? Just watching, though."],
  File "game/library/interactions/GM - chat.rpy", line 379, in <module>
    "co('Server')": ["Best way to get the wine stains out. Do you know any?", "Chatting with strange customers at the bar.", "Keeping the bar running."], "default": ["Nothing special, really."]})
  File "game/library/interactions/function - interactions (GM).rpy", line 23, in rts
    if eval(trait, globals(), locals()): available.append(options[trait])
  File "game/library/interactions/function - interactions (GM).rpy", line 66, in co
    return ct(*args)
  File "game/library/interactions/function - interactions (GM).rpy", line 58, in ct
    l = list(traits for i in list(args))
  File "game/library/interactions/function - interactions (GM).rpy", line 58, in <genexpr>
    l = list(traits for i in list(args))
KeyError: 'SIW'
Title: Re: General Discussion
Post by: Xela on July 11, 2015, 07:00:40 AM
Are you using SIW as a trait? System does not expect that yet...
Title: Re: General Discussion
Post by: DarkTl on July 11, 2015, 07:03:44 AM
I use slightly changed construction you told me to use when we got rts function. While traits checked like "Dandere":[...], occupations checked like "co('Warrior')":[...].
It used to work before we switched to new co function.
Title: Re: General Discussion
Post by: Xela on July 11, 2015, 07:09:18 AM
But it says: KeyError: 'SIW'... I'll take a look a bit later, push and tell me how to replicate the error. co() is kinda useless now as well, since class traits are traits, co just calls the the ct function.
Title: Re: General Discussion
Post by: DarkTl on July 11, 2015, 07:46:42 AM
Wait a sec. We cannot check all existing class traits every time when we need to find out if the girl can fight or willing to have sex with anyone. Or rather we could, but it's stupid and time consuming.
That's why all class traits have "occupations" field which might have SIW, server, warrior, etc. occupations.

I figured co function checks occupation field, so I write lines like "co('SIW')":[...].

Cases when you need to check one specific class trait are very rare, and should be handled like ct("trait").
Title: Re: General Discussion
Post by: Xela on July 11, 2015, 01:19:05 PM
Wait a sec. We cannot check all existing class traits every time when we need to find out if the girl can fight or willing to have sex with anyone. Or rather we could, but it's stupid and time consuming.
That's why all class traits have "occupations" field which might have SIW, server, warrior, etc. occupations.

I figured co function checks occupation field, so I write lines like "co('SIW')":[...].

Cases when you need to check one specific class trait are very rare, and should be handled like ct("trait").

Ok, I'll rewrite the function. co() will only check for generalizations like "SIW" and "Serviser"... ct will check for actual traits.
Title: Re: General Discussion
Post by: Xela on July 11, 2015, 03:05:42 PM
Oki, co() will expects generalization trait tomorrow. ct() will expect specific traits. Prolly better and more sensible this way  :)
Title: Re: General Discussion
Post by: DarkTl on July 13, 2015, 10:29:23 AM
A small update for tagger. Now you can see how many files you have in the file list in the window title, and how many left before the end of the list. Also added progress bar during long precedures with automatic renaming to show that the application does not freeze.

C'mon Xela, I know you want to code co and ct for me  :)
Title: Re: General Discussion
Post by: Xela on July 13, 2015, 11:25:07 AM
C'mon Xela, I know you want to code co and ct for me  :)

Yeah, I'll do it tonight :)
Title: Re: General Discussion
Post by: DarkTl on July 13, 2015, 01:22:08 PM
Btw how to check if the character has an effect?
Title: Re: General Discussion
Post by: Xela on July 13, 2015, 01:42:58 PM
Btw how to check if the character has an effect?

All effects are still strings so:

Code: [Select]
if "Effect Name" in chr.effects:
    # do something

will do.
Title: Re: General Discussion
Post by: Xela on July 13, 2015, 04:26:54 PM
New function is called:

cgo("Server", "SIW")

Check General Occupation. It will check for generalizations like "Server"/"SIW"/"Warrior". I didn't want to use older co() for this to avoid confusion.
Title: Re: General Discussion
Post by: DarkTl on July 14, 2015, 09:20:53 AM
I dislike female disney characters, so I wasn't too impressed by Princess Trainer.
Now Akabur released Witch Trainer. It even has an extended version made by russian enthusiasts (pornolab has it). Amazing stuff.
Title: Re: General Discussion
Post by: Xela on July 14, 2015, 10:46:51 AM
I dislike female disney characters, so I wasn't too impressed by Princess Trainer.
Now Akabur released Witch Trainer. It even has an extended version made by russian enthusiasts (pornolab has it). Amazing stuff.

Consistent art and simple mechanics... it's a very good combination. I liked it a lot also, just for the record, it was released quite a while ago. Huntsmans team is also starting a huge project, closer to pytfall than to anything else. Seems like they are going to start with Unity this time.
Title: Re: General Discussion
Post by: DarkTl on July 14, 2015, 02:57:28 PM
Yeah, I read his blog... He wants to make money by doing h-games, and most likely in English. Though his ideas are even more epic than ours, with all that deep super roleplay and stuff. Either he will abandon it, or it will take 10 years.
Also making money without original only content might be difficult. I wonder if he's ready to hire artists (I don't think so).
Title: Re: General Discussion
Post by: Xela on July 14, 2015, 03:22:42 PM
Nope, no artists and I told him that it will be difficult without consistent art. Also Unity is obviously a far more powerful engine than Ren'Py and has GUI development interface but it is also faaaar more dev time intensive.

One good thing is that he has like 12 coders this time, I am pretty much useless even as a consultant with Unity being the engine but some of these guys have proven themselves... we'll live and see.

I should have most of the day free tomorrow so I'll take a stab at jobs if I can stay sober enough :)

Title: Re: General Discussion
Post by: DarkTl on July 14, 2015, 03:36:05 PM
I'm going to improve GM lines as much as I can at this point and add checks for negative effects, when the girl clearly does not want to talk (like food poisoning).
I think we need to finish brothels, GMs, arena and classes and release another stable version compatible with new retagged packs. Then we'll continue to improve stuff.
Title: Re: General Discussion
Post by: Xela on July 14, 2015, 05:35:57 PM
We could also fall back to older version of SE. It was fairly complete.

*Update Ren'Py to latest version, loading has been rewritten, it is now a LOT faster! Some other things as well.
Title: Re: General Discussion
Post by: MuteDay on July 14, 2015, 06:19:26 PM
man i can wait to see it when you release a playable version!!!!!!!!!!!!!!!!!!!
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 03:16:51 AM
All effects are still strings so:

if "Effect Name" in chr.effects:
    # do something

will do.
I don't think so, in this case checks are always true.
I tried some stuff, looks like this
Quote
if chr.effects["Food Poisoning"]['active']:
works as I need.
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 03:24:22 AM
Yeap, you're right. We can add another func for checks but I don't expect these effects check to be very common?
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 03:30:59 AM
I expect many interactions to be unavailable or different during major effects like drunk or food poisoning. It doesn't matter, I'll just use the full string.

GMs have greeting string based on traits and disposition. But all interactions start with "...", it should be changed. There should be greetings label in the very beginning of interaction, before you select any options.
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 06:35:07 AM
I'm not sure how to change gui myself...

- greetings label in the beginning of the interaction, just like our GMs have. It should be a new label, since greetings will be a bit different from GMs.
- current "about her" is about her job, actually. I suppose we need to rename it and add actual "about her" topic, where you can check mood, disposition and effects.
- all "go out" options are broken. I actually want to add more or less decent romance system after the next release, but we should remove those options from gui now. The only thing you can get there is an error  :)
- I want to add friend and lover labels now. We have very good lines for those propositions, and I could use such labels for many lines too.
I wonder what is the best way to do it. New effects maybe? Traits are too obvious for such things. Or we can set some kind of simple labels on characters? Since these effects will do nothing with stats, unlike existing effects.
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 08:06:39 AM
Which line is more correct?

$ pytfall.gm.img_generate('profile', 'happy')
or
$ pytfall.gm.img_generate("profile", "happy")

For some reason in GMs there is different syntax in different places.
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 10:19:35 AM
I'm not sure how to change gui myself...

- greetings label in the beginning of the interaction, just like our GMs have. It should be a new label, since greetings will be a bit different from GMs.
- current "about her" is about her job, actually. I suppose we need to rename it and add actual "about her" topic, where you can check mood, disposition and effects.
- all "go out" options are broken. I actually want to add more or less decent romance system after the next release, but we should remove those options from gui now. The only thing you can get there is an error  :)
- I want to add friend and lover labels now. We have very good lines for those propositions, and I could use such labels for many lines too.
I wonder what is the best way to do it. New effects maybe? Traits are too obvious for such things. Or we can set some kind of simple labels on characters? Since these effects will do nothing with stats, unlike existing effects.

I haven't looked at GM code for a long while, Thewlis was the last to mess with it. I will start coding soon, do you want me to take care of this or advance the jobs (is there a sense of urgency)?

Which line is more correct?

$ pytfall.gm.img_generate('profile', 'happy')
or
$ pytfall.gm.img_generate("profile", "happy")

For some reason in GMs there is different syntax in different places.

They are exactly the same, I don't believe there is a correct choice here. I plainly use "" everywhere because it became a habit, unless there is something that needs to be evaluated later like: "ct('Trait')", you cannot put "Trait" in there due to invalid syntax.

*Just a thought, if you have some free time, consider taking Python course at CodingAcademy. I don't think that was around when I started but a lot of people been saying good stuff about it. Python is really easy to learn and it'll be of use to you.
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 11:24:28 AM
I will start coding soon, do you want me to take care of this or advance the jobs (is there a sense of urgency)?
I'm afraid we'll forget about GMs if we postpone it for later. And I might forget ideas for GMs that I have now. I actually forgot about GMs once already, after I added lines from AA2 a couple months ago. I wanted to add more options, but was distracted by other modules  :)
I already added many new lines and checks today, but I need what I described to sort them out as intended.

I think I'll go with effects for friends stuff (I figured how to create them). Because we already have functions to work with them everywhere, unlike flags.
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 11:40:11 AM
- greetings label in the beginning of the interaction, just like our GMs have. It should be a new label, since greetings will be a bit different from GMs.

I'll take a look at how it is now, doesn't sound too difficult.

- current "about her" is about her job, actually. I suppose we need to rename it and add actual "about her" topic, where you can check mood, disposition and effects.

I though system was set up is such way that you could do it yourself, at least that was the plan. I'll take a look as well.

- all "go out" options are broken. I actually want to add more or less decent romance system after the next release, but we should remove those options from gui now. The only thing you can get there is an error  :)

Same as above, I'll take a look.

- I want to add friend and lover labels now. We have very good lines for those propositions, and I could use such labels for many lines too.

Ok, you can just add the labels and we'll add the logic later.

I wonder what is the best way to do it. New effects maybe? Traits are too obvious for such things. Or we can set some kind of simple labels on characters? Since these effects will do nothing with stats, unlike existing effects.

I think best (future proof) way is to add instances of character to sets like chr.friends, chr.enemies, chr.lovers and etc.  Then you can do checks like:
Code: [Select]
if char["Hinata"] in char["Sakura"].friends:
    # Do something.

in GM it will look like:

Code: [Select]
if hero in chr.friends:
    # Do something.

Without actually knowing what the relationship system will be like in the future, it's not easy to guess if we actually need a separate class for this. If relationship logic gets too intense, I'll have to move logic to a class. Right now, with a system as simple as you suggest, it is not really required.
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 11:41:19 AM
I'm afraid we'll forget about GMs if we postpone it for later. And I might forget ideas for GMs that I have now. I actually forgot about GMs once already, after I added lines from AA2 a couple months ago. I wanted to add more options, but was distracted by other modules  :)
I already added many new lines and checks today, but I need what I described to sort them out as intended.

I think I'll go with effects for friends stuff (I figured how to create them). Because we already have functions to work with them everywhere, unlike flags.

Effects is a bad bet for this, especially if we decide to extend this system between other characters at some point in the future.
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 11:52:27 AM
I though system was set up is such way that you could do it yourself, at least that was the plan. I'll take a look as well.
I don't know how to make buttons and add labels to them that lead to my lines. I expect it to be very different form Delphi  :D
I tried it today actually, but there were no comments about it at all, so I gave up and continued to add lines. You could just comment stuff to explain how to add options in gui, I suppose.

I think best (future proof) way is to add instances of character to sets like chr.friends, chr.enemies, chr.lovers and etc.  Then you can do checks like:

if char["Hinata"] in char["Sakura"].friends:
    # Do something.

in GM it will look like:
Ohhkey, how the code that adds MC to character's friend list will look like?
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 12:01:34 PM
I don't know how to make buttons and add labels to them that lead to my lines. I expect it to be very different form Delphi  :D

I think Thewlis recoded the GM in such way that menus are added automatically, maybe his explanation is on the forum somewhere if it is not in code. Otherwise I'll just have to follow the logical chain and see for myself.

Ohhkey, how the code that adds MC to character's friend list will look like?

I think you'd want to add both characters sets of each-other.

Code: [Select]
chr.friends.add(hero)
hero.friends.add(chr)

We can easily move that to a function btw. You just have to type in set_friends() or set_lovers(), since both variables are globals, you don't even need to provide the to the function.
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 12:04:52 PM
I already added many new lines and checks today, but I need what I described to sort them out as intended.

I figure you did not push? I just waited 10 mins for SF to tell me that there are no changes :) I guess their servers are slow today or my isp is having issues.
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 12:18:35 PM
Yup, I didn't. So far I expanded existing interations (general, about her, etc) by adding dozens new lines and fixing some old logic made by Cherry year ago. At the halfway I figured that major part of new lines should actually be a part of greetings lines to look more natural, and so I went to the forum and wrote about it  :)
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 12:37:01 PM
Yup, I didn't. So far I expanded existing interations (general, about her, etc) by adding dozens new lines and fixing some old logic made by Cherry year ago. At the halfway I figured that major part of new lines should actually be a part of greetings lines to look more natural, and so I went to the forum and wrote about it  :)

I am sorry, I don't get what you're asking me to do :(

There is already extensive GM - greetings.rpy file. Can you give me an example?
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 12:48:40 PM
Ah, my bad. I never noticed those short lines for interactions in the beginning, so I figured they were hardcoded  :D
In this case we only need to deal with adding new buttons (and renaming old ones).

Also don't forget about
Quote
- Since we use permanent traits as occupations, that interaction #8 in GM - chat.rpy where you ask a girl to change occupation cannot be used anymore in its current condition. If you want to rewrite it somehow to work with non permanent classes traits, go ahead. Otherwise I'll delete it (probably the best option, it's too simple to change even non permanent class via one dialogue).

- GM - shopping.rpy is a tough one. It handles shopping together with girl based on her occupation again, and I don't understand some parts there. I'm not sure also that we need it in its current super complex condition. We should allow autobuying system to select an item that the girl wants, and then buy it for her or not.
This is beyond my abilities anyway.
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 01:13:50 PM
Ok, I'll figure it all out either tonight or tomorrow morning.
Title: Re: General Discussion
Post by: DarkTl on July 15, 2015, 01:28:00 PM
This (http://www.pinkpetal.org/index.php?topic=1291.msg30834#msg30834) post explains some things about labels and GMs. But it doesn't answer my questions about adding new options and renaming old ones. Or maybe is does, but I don't understand it  :D
Title: Re: General Discussion
Post by: Xela on July 15, 2015, 06:24:46 PM
This (http://www.pinkpetal.org/index.php?topic=1291.msg30834#msg30834) post explains some things about labels and GMs. But it doesn't answer my questions about adding new options and renaming old ones. Or maybe is does, but I don't understand it  :D

You can take a look at the files he mentions, a lot of comments there. Menus are being built in label girl_interactions:, pretty straight forward.
Title: Re: General Discussion
Post by: DarkTl on July 16, 2015, 04:09:15 AM
I need to know how to compare stat with its max. I tried chr.mp >= chr.get_max("mp"), but it gives me an error, even though such things are used in screens rpy.
Title: Re: General Discussion
Post by: DarkTl on July 16, 2015, 05:05:05 AM
...Not sure what's wrong. I gave Mage class trait to one of characters for testing. It has Warrior and Caster occupations. Now when I check cgo("Warrior"), it works. When I check cgo("Caster"), it doesn't.
Title: Re: General Discussion
Post by: Xela on July 16, 2015, 09:00:32 AM
I need to know how to compare stat with its max. I tried chr.mp >= chr.get_max("mp"), but it gives me an error, even though such things are used in screens rpy.

What error? This looks perfect? It should not fail unless chr is not an instance of Character.

...Not sure what's wrong. I gave Mage class trait to one of characters for testing. It has Warrior and Caster occupations. Now when I check cgo("Warrior"), it works. When I check cgo("Caster"), it doesn't.

My guess would me that testing mage overwrites real mage trait. We need to either rename testing file to have it start with 0 for example or delete it/remove traits from there.

===
Code: [Select]
            "magic": [
                -5,
                -1
            ],

This may break the game, we'll see how it tests.

===
Have you figured out interaction menus? Or should I do it?
Title: Re: General Discussion
Post by: DarkTl on July 16, 2015, 09:24:13 AM
What error? This looks perfect? It should not fail unless chr is not an instance of Character.
While running game code:
  File "game/library/interactions/GM - chat.rpy", line 287, in script
    if chr.health < 40:
  File "game/library/interactions/GM - chat.rpy", line 289, in <module>
    elif chr.health >= chr.getmax("health") and not(chr.effects["Food Poisoning"]['active']) and not(chr.effects["Down with Cold"]['active']):
  File "game/library/characters/classes - characters.rpy", line 1070, in __getattr__
    raise AttributeError(msg % (key, self.__class__.__name__))
AttributeError: 'getmax' is neither a gamestat nor an attribute of Girl

My guess would me that testing mage overwrites real mage trait. We need to either rename testing file to have it start with 0 for example or delete it/remove traits from there.
Yup. After I deleted it, it started to work.

Have you figured out interaction menus? Or should I do it?
I think so. I didn't tried to change GM menu so far, but if there are no bugs in the code that handles labels, it should be possible too. I'll let you know if there will be issues with GM buttons.
Title: Re: General Discussion
Post by: oratorio on July 16, 2015, 10:24:23 AM
While running game code:
  File "game/library/interactions/GM - chat.rpy", line 287, in script
    if chr.health < 40:
  File "game/library/interactions/GM - chat.rpy", line 289, in <module>
    elif chr.health >= chr.getmax("health") and not(chr.effects["Food Poisoning"]['active']) and not(chr.effects["Down with Cold"]['active']):
  File "game/library/characters/classes - characters.rpy", line 1070, in __getattr__
    raise AttributeError(msg % (key, self.__class__.__name__))
AttributeError: 'getmax' is neither a gamestat nor an attribute of Girl


You have 'getmax' instead of 'get_max' as you showed in your previous post.
Title: Re: General Discussion
Post by: Xela on July 16, 2015, 12:06:18 PM

You have 'getmax' instead of 'get_max' as you showed in your previous post.

Yeap, that would do it...
Title: Re: General Discussion
Post by: DarkTl on July 16, 2015, 01:12:07 PM
Yup, my bad. I have multiple get_max checks, and I haven't noticed that only one of them is wrong, I thought they all are.
Title: Re: General Discussion
Post by: DarkTl on July 16, 2015, 03:27:41 PM
Sourceforge is down. Including the website  ::)
My push wll have to wait.
 
Title: Re: General Discussion
Post by: DarkTl on July 18, 2015, 11:14:04 AM
Not sure when sourceforge is going to work again. Or maybe it's not going to  :D

It's been more than a day, and they barely restored some very unimportant parts of the service, while all major ones are down, including all devs instruments. I wonder if they don't have a backup or something.
Title: Re: General Discussion
Post by: Xela on July 18, 2015, 11:16:39 AM
Not sure when sourceforge is going to work again. Or maybe it's not going to  :D

It's been more than a day, and they barely restored some very unimportant parts of the service, while all major ones are down, including all devs instruments. I wonder if they don't have a backup or something.

Well, my dev folder is backed up on dropbox, my desktop and laptop so loosing a repo may be inconvinient but still not that big of a deal. We can even leave entire history intact if we stay with mercurial. Lets give SF a couple more days.
Title: Re: General Discussion
Post by: DarkTl on July 18, 2015, 11:26:57 AM
Another (http://pornolab.net/forum/viewtopic.php?t=2026817) renpy game. A bit unusual BE, we could use some ideas. Also open sourced, gonna take some sprites and bgs  :)
Title: Re: General Discussion
Post by: Xela on July 18, 2015, 11:37:27 AM
Another (http://pornolab.net/forum/viewtopic.php?t=2026817) renpy game. A bit unusual BE, we could use some ideas. Also open sourced, gonna take some sprites and bgs  :)

Nyaatrap made it, we are both very active on lemma. This game has been around for a while now.

If SF doesn't come back online:

http://programmers.stackexchange.com/questions/164618/why-are-many-programmers-moving-their-code-to-github

Github software is very confusing but their servers are fast and together with Git Extensions, it's a very good option.
Title: Re: General Discussion
Post by: DarkTl on July 18, 2015, 11:50:17 AM
I may be wrong, but isn't it that sh#t that gave us ueof errors all the time?
Title: Re: General Discussion
Post by: Xela on July 18, 2015, 12:21:29 PM
I may be wrong, but isn't it that sh#t that gave us ueof errors all the time?

Not exactly. GitHub servers seem to be a LOT faster than SF servers (which we used with git also). We also used official git software... I failed to pull the DW repo using that, then I tried the native GitHub software... again a failure. Both would have worked fine if I went deeper in but I generally dislike everything that developers fail to make easy/intuitive to use while we know that making it so is perfectly possible.

So I asked wtf Saryj Ohotnik was using because while I dislike, he plainly hates all the advanced crap and he told me that they were using something called Git Extensions. Turned out to be really decent and I had no issue setting it up and pulling the repo in a matter of minutes. I added code, downloaded/uploaded for that game and never ran into any issues (except for minor bs that did not effect anything).

===
I am not saying that we should switch, I like mercurial better than git but server speed + slightly slower (in loading time) git extensions (compared to out HG) is definitely an option. It should not be nearly as crappy as the last time and they have a really decent bug/issue tracking system too. Ren'Py is developed on github as well.
Title: Re: General Discussion
Post by: DarkTl on July 18, 2015, 01:00:22 PM
Nyaatrap made it, we are both very active on lemma. This game has been around for a while now.
It has something in common with that new Alkion BE. I mean, skills have more stats than just damage and cost, it makes BE more complex and interesting.
Also the idea of battle APs which you need to restore sometimes in the battle to use any other actions might be decent if we'll manage to make it less intrusive.

I'm going to comment out tht section of GMs where you ask about hangouts. I believe it actually should tell you real places where you can find the character (and they are based on traits, or at least will be), and not just some random stuff.
Other than that, I continue to add new options and add more checks to old ones.
Title: Re: General Discussion
Post by: MuteDay on July 18, 2015, 09:03:14 PM
github rarely causes problems ifused right,  i used it for a while
Title: Re: General Discussion
Post by: Xela on July 18, 2015, 09:27:25 PM
ifused right

I f*cking hate those words :( Everything works great "ifused right". The trouble is that if figuring out wtf "ifused right" means takes more than a couple of hours, it's a problem in itself.

One would assume that using native github soft would be the best bet but not being able to figure it out "out of the box" while I know Windows (with most of console commands), Linux, 5 programming languages superficially and one down to it's core, not mentioning dozens of software implementations of all kinds that I can use without manuals, but not git... says worlds about git in itself.

We never had a glitch with Mercurial once, we had multiple with Git. Git doesn't win because it's a good and intuitive software, it plainly wins because it offers best servers and best selection of 3rd party soft for free. If that's what you meant by "used right", you're right!... but if we compare Mercurial to Git out of the box, Git in my book looses hands down. Yet reality rakes hold, if SF is not fixed by Monday, I'll move repo to GitHub and we'll hang around there :)
Title: Re: General Discussion
Post by: MuteDay on July 19, 2015, 12:25:01 AM
rofl


I never used the softwhere that came with git, i used other programs to push, if i remember corectly thier is a tortiose version for git
Title: Re: General Discussion
Post by: Xela on July 19, 2015, 02:26:18 AM
rofl


I never used the softwhere that came with git, i used other programs to push, if i remember corectly thier is a tortiose version for git

LoL

Yeah, and it is worse than any other tortoise version out there.

Still down:

https://www.reddit.com/r/programming/comments/3dm7rk/sourceforge_have_24_hours_down_and_nobody_cares/

People are really taking a dump at it :(
Title: Re: General Discussion
Post by: DarkTl on July 19, 2015, 04:26:07 AM
Yeah, I love these jokes  :D
Quote
The trainee probably used one of their installer to update their servers.
Trainee: "Next, next, next, Yes I agree..."
Trainee: "...Oh. Shit."
It's a reference to malwares that sourceforge seems to add into installers. Many people mention it btw.
Title: Re: General Discussion
Post by: DarkTl on July 19, 2015, 04:32:38 AM
About rts function, could it be possible (not now of course, but when we'll get a working repo) to make it return not only randomly selected line, but also trait/occupation that it decided to choose? This way different lines will have different outcome in terms of changing stats and disposition.
Title: Re: General Discussion
Post by: Xela on July 19, 2015, 04:39:09 AM
About rts function, could it be possible (not now of course, but when we'll get a working repo) to make it return not only randomly selected line, but also trait/occupation that it decided to choose? This way different lines will have different outcome in terms of changing stats and disposition.

Sure, we can return a list of a dict...
Title: Re: General Discussion
Post by: DarkTl on July 19, 2015, 08:03:25 AM
Does MC have all skills that girls could have? I mean, even if it's a male MC who cannot strip, he still could know the theory and teach girls. I ask because it's possible to compare skills in GMs and maybe rise a bit the less one if the difference is big enough.
Title: Re: General Discussion
Post by: Xela on July 19, 2015, 08:30:57 AM
Does MC have all skills that girls could have? I mean, even if it's a male MC who cannot strip, he still could know the theory and teach girls. I ask because it's possible to compare skills in GMs and maybe rise a bit the less one if the difference is big enough.

Yes, mc has all the skills.
Title: Re: General Discussion
Post by: DarkTl on July 19, 2015, 08:49:42 AM
Can we already run BE inside of a dialogue (MC vs the girl) and return victory or defeat?
Title: Re: General Discussion
Post by: Xela on July 19, 2015, 08:54:24 AM
Can we already run BE inside of a dialogue (MC vs the girl) and return victory or defeat?

It's not yet easy to setup but technically, yes.
Title: Re: General Discussion
Post by: DarkTl on July 20, 2015, 04:52:31 AM
I don't think it's possible to continue to use sourceforge. I read that a month ago such well known projects as notepad+ and gimp left it.
Even if they will restore servers after a week or so, such a huge downtime will not be tolerated by many coders who will move their projects to other places. As a result, without income SF will be closed.
Title: Re: General Discussion
Post by: Xela on July 20, 2015, 07:00:35 AM
Alternatives are:

1) https://mercurial.selenic.com/wiki/MercurialHosting
2) Plugin for Mercurial that converts to Git + GitHub servers.
3) GitHub (Biggest and best right now).
4) BitBucket (5 People max on the team for free).
5) SVN? :)
6) wait for SF to be back up (prolly midweek) and see what will happen, they still have loads and loads of code...
7) Other....?
Title: Re: General Discussion
Post by: DarkTl on July 20, 2015, 07:17:13 AM
I dunno, it seems like this downtime is the last straw. No eta even now indicates massive database failure. Who knows how often they made backups...
I suppose we could try GitHub if it actually allows to push and pull without errors.
Title: Re: General Discussion
Post by: Xela on July 20, 2015, 07:26:19 AM
I suppose we could try GitHub if it actually allows to push and pull without errors.

It did for me. I'll read their docs as well, maybe there is something useful there. But I think we'll use extensions...
Title: Re: General Discussion
Post by: DarkTl on July 20, 2015, 09:16:20 AM
Is it still a legit way to change location during GMs? That's how Cherry made it.
Quote
    python:
        renpy.scene()
        hs()
   
    show bg city_beach
    with fade
   
    "You take a walk on the beach. "
Also, how to return to the starting location after everything is finished?
Title: Re: General Discussion
Post by: lamoli on July 20, 2015, 01:59:10 PM
For random girls.. if sold at slaver.. what clothes should she wear ? ( do you already have in game slave clothes i could model on ) or need something else ?.. at first il use chains and iron fittings ( medieval theme.. could use ropes but takes more time so will do it later )..

If generated from game start is it her class ( subclass ) that defines what shes wearing or something else ?..

Also i think it would be a good idea to model every item that are in game so you can see the items you make your girl wear in the renders.. and later on when we want to add more items.. ill model them then ill make a small render of the item that you can use as item picture..
Title: Re: General Discussion
Post by: DarkTl on July 20, 2015, 02:31:53 PM
We do have rags, it's sr.png in game\content\items\body. Also we have some cuffs and collars. Collars are in items\amulet, handcuffs in feet folder and handcuffs in wrist folder.
Of course they also could be nakes + collar and cuffs, if rags will be too ugly or too complex. Btw our rags icon is pretty ugly already, but we were unable to find anything better for 2 (!) years. If you could render a better icon, that would helped.

That's for untrained ones. Trained ones, ie 100% loyal, wear usual clothes, just as free girls. And random free girls could use any clothes you like.

You are welcomed to try and render everything, but I imagine it might take a lot of time.
There is indeed a gap between how girls look and what they have equipped. I think it's unrealistic to render everything, currently we have about 250 clothing items (excluding weapons and consumables).
Title: Re: General Discussion
Post by: DarkTl on July 21, 2015, 12:04:06 PM
I tried
Quote
        $ chr.lovers.add(hero)
        $ hero.lovers.add(chr)
As I suspected, it gives an error that lovers is not a stat of a girl.
Title: Re: General Discussion
Post by: Xela on July 21, 2015, 12:26:42 PM
I tried As I suspected, it gives an error that lovers is not a stat of a girl.

Yeah, we discussed that after the repo went down so the code is not there yet :)
Title: Re: General Discussion
Post by: DarkTl on July 21, 2015, 12:37:13 PM
I have a question about days checks. We have some old code that checks if the character already did something today.
Quote
if d(80) and chr.flag("gm_stripped_today") != day
...
$chr.set_flag("gm_stripped_today", value=day)
I'd like to know the format of these days to make more complex checks. Like once per several days. Is it just a number of turn, and stuff like
Quote
if (day - chr.flag("gm_stripped_today")) > 7
will allow to check once per week?
Title: Re: General Discussion
Post by: Xela on July 21, 2015, 12:54:54 PM
I'd like to know the format of these days to make more complex checks. Like once per several days.

"day" is a global variable. It starts at 1 and is increased by 1 every time Next Day is clicked (at the end of calculations). Flags are basically like a local namespace for every characters that we use in order to not pollute the class.

Is it just a number of turn, and stuff like will allow to check once per week?

It would check if more 7 days have passed since girl stripped last. This does not ensure once per week, that would require more complicated calculations.
Title: Re: General Discussion
Post by: DarkTl on July 21, 2015, 01:30:21 PM
Alright, how to check if the character has specific images, ie tags?
Title: Re: General Discussion
Post by: Xela on July 21, 2015, 01:43:58 PM
Alright, how to check if the character has specific images, ie tags?

Code: [Select]
if chr.has_image(*tags, **kwargs):
    # Do something...

Like:

Code: [Select]
if chr.has_image("bunny"):
    # Do something...
Title: Re: General Discussion
Post by: DarkTl on July 21, 2015, 03:23:09 PM
Oki.
For the last days I added some new chat options and  improved old ones, added greetings for interactions, improved logic for friend and lover flags.

I want to make more interactive sex options, something like AA has. When you actually do various stuff at your discretion for some time as long as your partner wishes to continue and not instantly quit after the first pose. There is example of a simple dialogue in interactions

Quote
menu:                g "Would you like to see me naked?"
               
                "Hell Yeah":
                    g "You're weird... but I'm weird too ;) "
                    $pytfall.gm.change_img(chr.show("nude", "simple bg", type="first_default", exclude=main_sex_tags))
                    g "So, what do you think?"
                    $pytfall.gm.restore_img()
                    $chr.disposition += 10
                    $chr.set_flag("gm_stripped_today", value=day)
               
                "Yes!":
                    $pytfall.gm.change_img(chr.show("nude", "simple bg", type="first_default", exclude=main_sex_tags))
                    g "You like?"
                    $pytfall.gm.restore_img()
                    $chr.disposition += 5
                    $chr.set_flag("gm_stripped_today", value=day)
               
                "No":
                    g "Well, screw you then!"
                    $chr.disposition -= 20
I suppose it should work for me too.
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 05:07:03 AM
God damn it, this drives me crazy.
Quote
label interactions_fuck:
    if chr.has_image("sex", "simple bg", type="first_default", exclude=["rape", "angry", "in pain"]):
        "Where would you like to do it?"
        menu:
            "Beach" if chr.has_image("swimsuit", type="first_default", exclude=["sex", "sleeping", "angry", "in pain"]) or chr.has_image("sex", "swimsuit", type="first_default", exclude=["rape", "angry", "in pain", "indoors", "onsen", "pool", "stage", "dungeon"]):
                show bg city_beach with fade
                $chr.set_flag("s_bg", value="beach")
            "Park":
                show bg city_park with fade
                $chr.set_flag("s_bg", value="park")
            "Room":
                show bg girl_room with fade
                $chr.set_flag("s_bg", value="room")
    else:
        show bg girl_room with fade
        $chr.set_flag("s_bg", value="room")
    if chr.flag("s_bg") == "beach":
        if dice(50):
            $ pytfall.gm.img_generate("beach", "nude", "swimsuit", exclude=["sex", "sleeping", "angry", "in pain", "indoors", "onsen", "pool", "stage", "dungeon", "bathing"], type="first_default")
        else:
            $ pytfall.gm.img_generate("swimsuit", "nude", "simple bg",  exclude=["sex", "sleeping", "angry", "in pain", "indoors", "onsen", "pool", "stage", "dungeon", "bathing"], type="first_default")
    elif chr.flag("s_bg") == "park":
        if dice(50):
            $ pytfall.gm.img_generate("nature", "nude", exclude=["sex", "sleeping", "angry", "in pain", "indoors", "beach", "onsen", "pool", "stage", "dungeon", "bathing"], type="first_default")
        else:
            $ pytfall.gm.img_generate("nude", "simple bg", exclude=["sex", "sleeping", "angry", "in pain", "indoors", "beach", "onsen", "pool", "stage", "dungeon", "bathing"], type="first_default")
    else:
        if dice(30):
            $ pytfall.gm.img_generate("living", "nude", "lingerie", exclude=["sex", "sleeping", "angry", "in pain", "outdoors", "beach", "onsen", "pool", "stage", "dungeon", "public", "bathing"], type="first_default")
        elif dice(30):
            $ pytfall.gm.img_generate("living", "no clothes", exclude=["sleeping", "angry", "in pain", "outdoors", "beach", "onsen", "pool", "stage", "dungeon", "public", "bathing"], type="first_default")
        else:
            $ pytfall.gm.img_generate("nude", "no clothes", "simple bg", exclude=["sleeping", "angry", "in pain", "outdoors", "beach", "onsen", "pool", "stage", "dungeon", "public", "bathing"], type="first_default")
    $ sex_count = 0
    label after_menu:
        jump n_fuck
       
label n_fuck:
    "She slowly undresses. What would you like to do now?"
    menu:
        "Ask for blowjob" if chr.has_image("blowjob", "partnerhidden", exclude=["rape", "angry", "in pain"], type="first_default"):
            if chr.flag("s_bg") == "beach":
                $ pytfall.gm.img_generate("blowjob", "partnerhidden", "swimsuit", "beach", exclude=["rape", "angry", "in pain"], type="first_default")
                $ sex_count += 1
            elif chr.flag("s_bg") == "park":
                $ pytfall.gm.img_generate("blowjob", "partnerhidden", "nature", exclude=["rape", "angry", "in pain"], type="first_default")
                $ sex_count += 1
            else:
                $ pytfall.gm.img_generate("blowjob", "partnerhidden", "living", exclude=["rape", "angry", "in pain"], type="first_default")
                $ sex_count += 1
        "Ask for titsjob" if chr.has_image("titsjob", type="first_default", exclude=["rape", "angry", "in pain"]):
            if chr.flag("s_bg") == "beach":
                $ pytfall.gm.img_generate("titsjob", "swimsuit", "beach", exclude=["rape", "angry", "in pain"], type="first_default")
                $ sex_count += 1
        "Ask for handjob" if chr.has_image("handjob", type="first_default", exclude=["rape", "angry", "in pain"]):
            if chr.flag("s_bg") == "beach":
                $ pytfall.gm.img_generate("handjob", "partnerhidden", "swimsuit", "beach", exclude=["rape", "angry", "in pain"], type="first_default")
                $ sex_count += 1
The first part decides where you can go depending on tags. Works perfectly.
The second part decides what can you, depending on tags. NEVER WORKS despite being almost the the same in terms of syntax. It just skips the second menu entirely every damn time after "She slowly undresses. What would you like to do now?" line.
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 05:14:51 AM
Why do you have a label there:

Code: [Select]
    label after_menu:
        jump n_fuck

instead if just:

Code: [Select]
    jump n_fuck?

It is a very poor practice to declare labels in labels. As for the menu, any chance that menu is skipped because all choices are false? I am not sure what happens in such cases. You can also put the line in the menu itself, so player sees it while reading the menu.
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 05:27:12 AM
I added label hoping that it would help somehow, originaly I didn't have it. It didn't.

As for choices, after I removed
Quote
if chr.flag("s_bg") == "beach"
just in case,
Quote
"Ask for blowjob" if chr.has_image("blowjob", "partnerhidden", type="first_default", exclude=["rape", "angry", "in pain"]):
this one should check if the girl has blowjob+partner hidden. The girl which I use for testing has a dozen such pictures. And after that give me such a picture
Quote
$ pytfall.gm.img_generate("blowjob", "swimsuit", "beach", exclude=["rape", "angry", "in pain"], type="first_default")
Yet it skips again.
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 05:51:03 AM
I just tried
Quote
    menu:
        "Ask for blowjob" if chr.has_image("blowjob", type="first_default", exclude=["rape", "angry", "in pain"]):
            $ pytfall.gm.img_generate("blowjob", exclude=["rape", "angry", "in pain"], type="first_default")
Still nothing. Well excuse me, all packs have non-rape bj pictures, and they tagged as intended, just checked. I think it's a bug either in tags function or the engine. Guess I can't continue to work with GMs anymore until you fix it...

And sourceforge continues to prove its failureness. Midweek, no eta for devs functions, some of presumably restored functions don't work too judging by comments.
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 06:07:30 AM
I just triedStill nothing. Well excuse me, all packs have non-rape bj pictures, and they tagged as intended, just checked. I think it's a bug either in tags function or the engine. Guess I can't continue to work with GMs anymore until you fix it...

And sourceforge continues to prove its failureness. Midweek, no eta for devs functions, some of presumably restored functions don't work too judging by comments.

We do not have "blowjob" tag, 'sn': 'bc blowjob' is the translation that our dict does atm.
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 06:20:38 AM
Yeap. I copy-pasted old lines from sex rpy for these checks, and they used old system. I spent hour and a half trying to figure it out  :D
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 07:14:32 AM
I really could use type = all for chr.has_image to exclude options without perfect pictures.
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 07:15:57 AM
I really could use type = all for chr.has_image to exclude options without perfect pictures.

I don't quite follow...
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 07:19:45 AM
                     - normal = normal search behavior, try all tags first, then first tag + one of each tags taken from the end of taglist
                     - any = will try to find an image with any of the tags chosen at random
                     - first_default = will use first tag as a default instead of a profile and only than switch to profile
So if you need to check if there are bj+partner hidden+simple bg pictures, with all three tags mandatory and not just some of them, there is nothing you can do. If I'm not mistaken.
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 07:35:14 AM
                     - normal = normal search behavior, try all tags first, then first tag + one of each tags taken from the end of taglist
                     - any = will try to find an image with any of the tags chosen at random
                     - first_default = will use first tag as a default instead of a profile and only than switch to profile
So if you need to check if there are bj+partner hidden+simple bg pictures, with all three tags mandatory and not just some of them, there is nothing you can do. If I'm not mistaken.

But these are not even from the same method???

type is meaningless for has_image method, it is a fallback mechanism for show method. has_image takes tags as arguments and exclude=[tags] as positional argument. Nothing else, you can add anything there but it will have no meaning. show takes a whole mess of positional arguments like cache, label_cache, default, add_mood and etc.
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 07:43:15 AM
Well, either you code it for show method and as a result for has_image method, or there will be inconsistencies.
Quote
        "Ask for blowjob" if chr.has_image("bc blowjob", "partnerhidden", exclude=["rape", "angry", "in pain"], type="first_default"):
            if chr.flag("s_bg") == "beach":
                if dice(50):
                    $ pytfall.gm.img_generate("bc blowjob", "partnerhidden", "beach", exclude=["rape", "angry", "in pain", "indoors", "onsen", "pool", "stage", "dungeon", "bathing"], type="first_default")
                else:
                    $ pytfall.gm.img_generate("bc blowjob", "partnerhidden", "simple bg", exclude=["rape", "angry", "in pain", "indoors", "onsen", "pool", "stage", "dungeon", "bathing"], type="first_default")
This thing is supposed to not let you have bj option if there are no "bc blowjob" + "partnerhidden" pictures at all. Yet it's not unusual to see "bc blowjob" without "partnerhidden".
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 08:34:23 AM
You'll have to be more specific about the problem. Most if not all show-type lookups will first check for all tags (perfect scenario, first_default should do that at least). If such is not found, they fall back on different kinds of database searches for a fitting match instead.

I don't understand what you want from the method... if initial "all" lookup fails, what do you want to happen instead? Maybe you just need to put another has_image fork in the code...
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 09:20:09 AM
Falling back is just one of possibilities. Another option is to not allow some rare stuff, like footjob, appear in menu at all if the girl doen't have such pictures with hidden partner.

More importantly, we have cu tag (aka after sex) which is perfect for such cases. But I think it was added after you coded falling back system, so it doesn't use it. It is the most perfect default tag for many sex interactions. At least add it to the system. Or point me out where it is, maybe I can handle it.
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 12:33:38 PM
Falling back is just one of possibilities. Another option is to not allow some rare stuff, like footjob, appear in menu at all if the girl doen't have such pictures with hidden partner.

What do you mean by not appearing in the menu? Ren'Py menus have nothing to do with our images and you can exclude anything you like when you condition menu choices. If you need predefined lists, there are examples where in the past, we defined lists with tags and added them to exclude list.

More importantly, we have cu tag (aka after sex) which is perfect for such cases. But I think it was added after you coded falling back system, so it doesn't use it. It is the most perfect default tag for many sex interactions. At least add it to the system. Or point me out where it is, maybe I can handle it.

It's getting too complicated (again). For now use this:

Code: [Select]
$ pytfall.gm.img_generate("bc blowjob", "partnerhidden", "beach", exclude=["rape", "angry", "in pain", "indoors", "onsen", "pool", "stage", "dungeon", "bathing"], type="first_default", default=chr.select_image(chr.id, 'after_sex'))
The only issue atm is that right now it will fall back to No Image Found image in case if no image is found. I'll rewrite the func a bit later.

I'll improve it after we get our repo back or move somewhere. They promised to give us another update today but if you are ok with moving, we can move to GitHub (or at least start a repo there, they are in no way mutually exclusive (afaik)).
Title: Re: General Discussion
Post by: DarkTl on July 22, 2015, 12:57:42 PM
What do you mean by not appearing in the menu? Ren'Py menus have nothing to do with our images and you can exclude anything you like when you condition menu choices. If you need predefined lists, there are examples where in the past, we defined lists with tags and added them to exclude list.
Ok, I explain as detailed as English possibly can  :D

I made a menu where you select sex actions after the girl already agreed to have sex. Blowjob, anal, etc. Like in AA, you can do several options one after another as long as you and the girl have enough vitality and joy. Every option changes picture, like anal for anal sex. And they also have internal logic like checking oral skill for blowjob.

Now, "lesser" sex options that don't even have their own skill and are quite rare in terms of pictures, such as footjob or handjob, may or may not be presented in packs. Same goes for many lesbian options, they are very inconsistent. So instead of showing default pics for them we might as well cut them entirely. I mean ONLY lesser, rare ones. In this case the problem is to find out if the pack has them or not. I already have checks like I quoted before, so packs without footjob will not have footjob option.

But I can't possibly check footjob+hidden partner, which is more accurate in this case since it's MC having sex and not some customer. Because as long as there is at least one footjob picture, has_image method will return true even if it goes without hidden partner.
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 01:06:09 PM
But I can't possibly check footjob+hidden partner, which is more accurate in this case since it's MC having sex and not some customer. Because as long as there is at least one footjob picture, has_image method will return true even if it goes without hidden partner.

And I keep telling you that it's not the case!

Has image is separate from select_image which is usually used internally and show methods. It accesses tags database directly and gets the exact combination.

so if chr.has_image("footjob", "hidden partner") is checked, IT WILL NOT RETURN True if only one of the tags comes with an image, ONLY if there is an image with BOTH tags.

I'll be in the chatroom for the rest of the evening :)
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 05:20:05 PM
Oki, new git repo from the first try :)

Have fun! : https://github.com/Xela00/PyTFall.git

I figure we should use their issue tracking as well (it is automatically being updated when you push and link the issues!).

I will use Git Extensions for now, it's by far the most intuitive software available but even Mercurial HG has a build in plugin to use mercurial repo with git (google it).

So create account and submit pull requests!
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 05:32:02 PM
I see why github is beating everything else...

1) Login was automatically setup! No need to mess with it or enter password all the time.
2) Hints in the software when writing commit message.
3) Decent speed without errors.
4) Automatic GitHub plugin in extensions.
5) Very intuitive controls/issue tracking on website + software that seems simpler to use than Mercurial.
6)...
7 Profit :)

Just pushed some bs to see what's what... gonna do a readme files next.
Title: Re: General Discussion
Post by: Xela on July 22, 2015, 06:04:24 PM
Added readme.md and a couple of issues to the tracker, I think we can really make it work. I'd try wiki as well but don't have any strength left :(

Pull request is something entirely different, I'll try to figure out how to add new people to the project before I fall asleep.

Ok, I apparently missed the damn Settings button. I need your github logins...
Title: Re: General Discussion
Post by: Deathus on July 22, 2015, 11:42:54 PM
Pull request is something entirely different

It is just a means of preventing changes of questionable quality from being added primarily to the master branch, but it can be used for any branch. Once a pull request is created, someone from the core development team has to approve to the request before the changes are allowed to be applied. Typically, pull requests are only used if a project has an outside involvement or there are those who produce questionable work. Outside of that, the feature can be ignored.
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 01:08:19 AM
I need your github logins...
It's DarkTl of course. Link (https://github.com/DarkTl).
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 03:42:11 AM
It is just a means of preventing changes of questionable quality from being added primarily to the master branch, but it can be used for any branch. Once a pull request is created, someone from the core development team has to approve to the request before the changes are allowed to be applied. Typically, pull requests are only used if a project has an outside involvement or there are those who produce questionable work. Outside of that, the feature can be ignored.

Yeah, I figured that out after I stayed up late reading up on GitHub. Initially, I expected that to be a request to join the team.

It's DarkTl of course. Link (https://github.com/DarkTl).


Ok, I've added you to the project. Apparently this works differently from SF and right now we're working off a repo where only I have "admin" rights. If this presents any issues, we'll have to create a team and transfer ownership right for the project to it.

Have fun figuring out GitHub, I like their issue tracking service, it's faster than SF and way more intuitive. Wiki is also nice but I've only checked the interface without adding anything to it.
Title: Re: General Discussion
Post by: CherryWood on July 23, 2015, 04:31:54 AM
https://github.com/Cherry-Wood

Still alive  :) And I may even do something this weekend for a change  :D
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 04:46:03 AM
https://github.com/Cherry-Wood

Still alive  :) And I may even do something this weekend for a change  :D

Just added you to collaborators :)

You can start with figuring out GitHub and making sure new repo is working! BTW: SF promised to restore mercurial repositories today (I linked our repo to git and closed the old one but that action can be undone if we ever decide to move back).
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 05:53:43 AM
We might need to show vitality, joy and libido bars during interactive sex scenes in order for players to understand what they should and shouldn't do.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 05:58:58 AM
We might need to show vitality, joy and libido bars during interactive sex scenes in order for players to understand what they should and shouldn't do.

TMI.

Just try to make it intuitive...
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 06:15:53 AM
Btw this time you won't be able to evade my request about picking a partner for lesbian actions  :D

I almost finished straight sex scene. There will be bdsm (probably shorter, since based on existing pics), group (even more shorter because we don't store much info about groups) and lesbian scenes.

For lesbian you either pick a partner (checking if she wants to do it as well) and show their nude pics close to eath other, or allow girl to pick a random partner ie show usual lesbian picture. I don't know how to pick some another girl, check her disposition and show pics together.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 06:23:45 AM
Btw this time you won't be able to evade my request about picking a partner for lesbian actions  :D

I almost finished straight sex scene. There will be bdsm (probably shorter, since based on existing pics), group (even more shorter because we don't store much info about groups) and lesbian scenes.

For lesbian you either pick a partner (checking if she wants to do it as well) and show their nude pics close to eath other, or allow girl to pick a random partner ie show usual lesbian picture. I don't know how to pick some another girl, check her disposition and show pics together.

Start an issue on git ob this after you push.
Title: Re: General Discussion
Post by: Gismo on July 23, 2015, 10:48:11 AM
https://github.com/MoreinAI
Here is mine  :)
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 11:51:32 AM
https://github.com/MoreinAI
Here is mine  :)

All done!
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 12:31:10 PM
I think I successfully pushed all my changes. Interactions are far from being finished, but they are in a much better condition now.
You can test interactive sex scene, it's right in the chat menu, and doesn't have any conditions yet. Though you either need to use console a lot or play for some time (or just look at the code) to see all options.

I'll need to add results of the scene, meaning rip more lines from AA2 where girls have many lines about how did you do it. And it doesn't use limitations yet, like vitality and libido, though it already changes them all the time.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 12:55:53 PM
I think I successfully pushed all my changes. Interactions are far from being finished, but they are in a much better condition now.
You can test interactive sex scene, it's right in the chat menu, and doesn't have any conditions yet. Though you either need to use console a lot or play for some time (or just look at the code) to see all options.

I'll need to add results of the scene, meaning rip more lines from AA2 where girls have many lines about how did you do it. And it doesn't use limitations yet, like vitality and libido, though it already changes them all the time.

Ok, some random girl just agreed to do an H-Scene (fuck button) right off the bat. I'll take a look at the code later. also note that new skill would have to be added to schools (by you) and jobs (prolly by me) to be meaningful.

Edit: I need to look into better presentation of pictures. Also you forgot to reset the last pic to GM picture.
Title: Re: General Discussion
Post by: lamoli on July 23, 2015, 12:56:16 PM
https://mon-partage.fr/f/vVN1YgV1/ (https://mon-partage.fr/f/vVN1YgV1/)

Here 3 pictures of the new random girl im working on.. its 1 pose but at different state of mind ( against.. need to be forced, normal.. does it herself, desire.. when lust is high normal pose change to desire )

Those are quick renders no BG no chains or other prop than the ones on the girl.

Not sure if i need more items on the against.. as for normal/desire i just put some stockings with GB to tryout.. but i have lots of clothes now.. just have no idea what she should wear while training..

Let me know what you think of em..
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 01:06:43 PM
Let me know what you think of em..

They are awesome!

No items, we do not have a system that matches pictures to equipped items and that would be too much stuff to render anyway.

===
I just pushed small fixes of typos to interactions. They are really good!
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 01:10:35 PM
Like I said, there are no conditions for sex scene yet, anyone will agree. Because conditions are being a lover or have super high disposition, that's bad for testing.

Also you forgot to reset the last pic to GM picture.
Nope, I just wasn't sure how to do it because I don't know what kind of images GMs use now.

Let me know what you think of em..
They actually look very good! I don't think we need a better quality.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 01:26:40 PM
Nope, I just wasn't sure how to do it because I don't know what kind of images GMs use now.

I'll look into it, img_generate() method was supposed to be used just once, then a restore_img() should have been called to return to original and the process repeated.

Since you took different approach, we need a different setup. Either something to memorize the initial image or jump back to the original label resetting everything.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 01:30:48 PM
BTW: So far I am loving GitHub/GitExtensions :)
Title: Re: General Discussion
Post by: lamoli on July 23, 2015, 01:36:08 PM
They are awesome!

No items, we do not have a system that matches pictures to equipped items and that would be too much stuff to render anyway.

===
I just pushed small fixes of typos to interactions. They are really good!

Hmm i was planning on making all the wearable in game items but for jewelry i might only do a rough shape of em ( will save a lot of time then ill make the exact replica later on ).. with this we might be able to do a dress-up doll equipment upgrade later on.. but it will bugs me greatly if i dont have all the wearable in game items in the renders as its 1 of the goal of this system.. ( any pose you might think of or need for new action that was just implemented or new outfits in either dress-up doll inventory as rendered pics of the item while the rendered item will be shown on the girl in the background.. and also if the item is equipped it will be shown in the action render.. )

It might take some time but end result will be amazing and even if you dont want the full dress-up system.. i might come with a pytfall mod to do it later on..
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 01:44:07 PM
I did not say that we do not want one, I said that we do not have one :)

It's just that Otherworld had a somewhat similar system without that big of a merit... maybe you can single out the best matches for closing and render those instead of all options.
Title: Re: General Discussion
Post by: lamoli on July 23, 2015, 01:55:56 PM
I did not say that we do not want one, I said that we do not have one :)

It's just that Otherworld had a somewhat similar system without that big of a merit... maybe you can single out the best matches for closing and render those instead of all options.

Yeah i liked the Otherworld system but it was so limited and making new stuff was too hard.. ( if the shape of the body changed clothes woulnd adapt unless you v made lots of picture to adapt to all witch was a waist of time ) while with my system you make the 3d clothes and you will get ( the picture of the item, the wearable item on the girl in equipment screen and the item on the action you v chosen .. only 1 click to render all that as iv made templates files to do it really fast.. and best of all the clothes will adapt to any body poses/types on their own and once they are done ill add morphs to them so you could open them.. like open a blouse and strip it and so on.

Also im ready to make animations.. but single pictures / in game wearable items will come first.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 02:07:19 PM
Nope, I just wasn't sure how to do it because I don't know what kind of images GMs use now.

Ok, I looked over the code and there are two solutions:

1) Do the proper thing, instead of using pytfall.gm.generate() in new interactions and girls meets, use the more appropriate pytfall.gm.set_img() (*Same parameters). This way you can use the original image from cache when you go back to whereever you came from.

2) Finish the interaction after sex mode completely with pytfall.gm.end() But I think this is the lesser option.

- I will rename reassign pytfall.gm to gm because the latter was a sh!tty idea.
- I will adapt sex interactions to the new code, test it and push.
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 02:19:43 PM
Xela, ignore everything that goes after my interactive sex scene, I mean those single old sex options. I noticed that you fixed some things there, but I will rewrite them too, so it's not a good idea to make them work now  :)
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 03:04:01 PM
Xela, ignore everything that goes after my interactive sex scene, I mean those single old sex options. I noticed that you fixed some things there, but I will rewrite them too, so it's not a good idea to make them work now  :)

I changed some crap there as well... I don't remember what so I'll leave that as it is.

Do we need separate labels for interactions and gm sex options? Seems absurd, redundant and very hard to maintain :(

I fixed Gm code a bit, gonna test it and if everything is ok, push.


VERY IMPORTANT NOTE(s):

I will rename some of the gm methods!

gm.generate_img()

Should be used once upon entering new location where it is sensible to change the image! This will write to cache so we know what image to fall back to when the interaction ends and we go back to whereever we came from!

gm.set_img()

This just sets old image to a new one!

===
Try to always put a space in python oneliners (for code readability).

===
Code: [Select]
$ chr.set_flag("forced", value="false")
This line is not useful, in Python any string except for empty string will return True! So it should be: $ chr.set_flag("forced", value=False). Also consider using better flags like "interactions_sex_forced" because if someone calls all flags in the console, he's have no idea what this refers to.

You can also use 1 and 0, I even think it would be a few nanoseconds faster :D

===
Same thing counts for label names. You're using very plain label names for specific purposes, it's a horrible practice.

===
If you are commenting things out please try to do it with:
Code: [Select]
    # codeline
and not:

Code: [Select]
#    codeline
My editor hates that and it makes my life miserable :) I strongly suggest checking out JEdit, it's quire good.

===
Maybe also add some comments/spaces between logical codebits. It's not a requirement but would be nice to have.


*I fixed just the sex interactions (partly), flags and maybe some other stuff is still off.
Going to push that and the gm fixes.
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 03:50:08 PM
This line is not useful, in Python any string except for empty string will return True! So it should be: $ chr.set_flag("forced", value=False).
But then I check it like
Quote
if chr.flag("forced") == "true"
Are you telling me it still will return true if the flag is "false"?!  ???

Also, initially I wanted to use true and false, ie boolean values. It gives me the error that it does not know what is it when I checked the flag.

that and it makes my life miserable :) I strongly suggest checking out JEdit, it's quire good.
Oh? It cannot handle tabulation in the comments, yet you suggest it?
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 04:00:28 PM
But then I check it like Are you telling me it still will return true if the flag is "false"?!  ???

Also, initially I wanted to use true and false, ie boolean values. It gives me the error that it does not know what is it when I checked the flag.

No, that is fine. Still a weird and unnecessary practice.

The latter should not happen, what error do you get?

*Edit:
Basically:

Code: [Select]
chr.set_flag("flag", True)
Code: [Select]
if chr.flag("flag"):
    # Do something...

Is enough.

Code: [Select]
if chr.flag("flag") == True:
    # Do something...

is perfectly fine, it is redundant. If it returns True, code will run, if not (any kind of False is returned), it will go to the next logical statement.


Oh? It cannot handle tabulation in the comments, yet you suggest it?

Yes :)

It has a good syntax highlighting for Ren'Py.

Also, it's not that it cannot handle it, when collapsing logical code, it will break the collapse on these markers. Also original macro for commenting out it comes with does not work with this setup, although it does it with empty lines... now that I write this, it seems kinda offbase, I'll look for better macros in automatic updater.
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 04:03:31 PM
Do we need separate labels for interactions and gm sex options? Seems absurd, redundant and very hard to maintain :(
I can tell that some of the labels should be used in both GMs and interactions, while others only in one of the places. Current system supports it.

We need conditions for buttons in gui though. When for example warrior characters have sparring button (leading to BE), while others don't have such a button. Or SIW characters have option to hire them for sex, while others don't.

It has a good syntax highlighting for Ren'Py.
Notepad++ has it for almost any language, including python + you can tweak it freely.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 04:10:09 PM
I can tell that some of the labels should be used in both GMs and interactions, while others only in one of the places. Current system supports it.

We need conditions for buttons in gui though. When for example warrior characters have sparring button (leading to BE), while others don't have such a button. Or SIW characters have option to hire them for sex, while others don't.

Oki.

Can you elaborate on the second issue?

Notepad++ has it for almost any language, including python + you can tweak it freely.

Oki, I am not going to start an editor debate, to each his own. Just please try to keep to given guidelines.


*I've edited my previous post.
**I am working on friends/lovers. We should add enemies and rivals I think when that is sensible. For now I'll just add the former two to wherever sensible.
Title: Re: General Discussion
Post by: DarkTl on July 23, 2015, 04:30:08 PM
Elaborate? Not sure how you can elaborate something like that  :D
There are buttons in screen rpy that are tied to labels in interactions rpy. There should be option to give conditions for them, pretty much like you can do it for menus.
Quote
"Option 1":
....
"Option 2" if n>m:
....
I don't really see any other way. I cannot use checks in interactions the way that hire for sex option will not look out of place for managers. So it simply should be hidden for everyone but SIWs.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 05:13:33 PM
Elaborate? Not sure how you can elaborate something like that  :D
There are buttons in screen rpy that are tied to labels in interactions rpy. There should be option to give conditions for them, pretty much like you can do it for menus.I don't really see any other way. I cannot use checks in interactions the way that hire for sex option will not look out of place for managers. So it simply should be hidden for everyone but SIWs.

Yeah, it's late so I guess I am a bit slow :) Please start an issue on this, I'll look into it when I get a chance.

Edit: Thewlis took care of this.

===
Alpha code for friends is ready:

Code: [Select]
set_friends(hero, char["Hinata"], char["Sakura"])
Will set them as friends.

Code: [Select]
end_friends(hero, char["Sakura"])
Will end the relationship.
Code: [Select]
check_friends(hero, char["Hinata"])
will check if there is a valid relationship.

===
For Interactions module, it is obviously:
Code: [Select]
set_lovers(hero, chr)
and etc.

Will work on any amount of characters. Also if disposition between any character and mc will be terminated if disposition falls too low during the next day. I cannot do that for inter-characters relationships because we do not maintain dispositions between different characters, just between characters and mc.


I am not sure how to handle lesbo thing, there are too many variables involved :( Like if the other girl is doing an exploration run, if she is available otherwise, if she is in the same building (or mc and chr would have to have mental power in order to find any of the girls in the city/world) and etc...

We need to narrow this down somehow, I am not sure how (yet). Going to push and switch to laptop, if I have any strength left, will do something else. Otherwise it's the last push and tis been a good day :)
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 07:18:15 PM
Elaborate? Not sure how you can elaborate something like that  :D
There are buttons in screen rpy that are tied to labels in interactions rpy. There should be option to give conditions for them, pretty much like you can do it for menus.I don't really see any other way. I cannot use checks in interactions the way that hire for sex option will not look out of place for managers. So it simply should be hidden for everyone but SIWs.

Thewlis wrote a very odd bunch if classes like IFF and IFFOR and S to use as conditions for menus. What I don't get is how is that different from evaluating strings (which he also anticipated btw.).

In any case, this:

Code: [Select]
            pytfall.world_actions.gm_choice("Fuck", condition="chr.disposition > 200", index=(m, 7))
is one way to condition a button (without using Iff() class). I checked and it looks like it is working.
Title: Re: General Discussion
Post by: Xela on July 23, 2015, 08:35:24 PM
Ok, I've added like 30 new issues to the new Git Repo + pushed some small code updates :)

Also, it is prolly a good idea to set image cache upon entry to girls meets and not mess with gm.generate_img() at all. I think it makes perfect sense but it's late...

*Now = Sleep.
Title: Re: General Discussion
Post by: DarkTl on July 24, 2015, 01:13:23 AM
Also if disposition between any character and mc will be terminated if disposition falls too low during the next day. I cannot do that for inter-characters relationships because we do not maintain dispositions between different characters, just between characters and mc.
I think we'll need flags or something to maintain disposition between characters, because actual numeric disposition between everyone is too much information. Friendship gains when they live and work together (in one building) for some time depending on how similar their traits are, and lover is possible only with lesbian or bisexual traits involved. We also should limit max number of friends for girls (not including MC) based on traits.


I am not sure how to handle lesbo thing, there are too many variables involved :( Like if the other girl is doing an exploration run, if she is available otherwise, if she is in the same building (or mc and chr would have to have mental power in order to find any of the girls in the city/world) and etc...
Let's be realistic. You won't propose a girl to do lesbian action with someone on the other side of town. They should be in the same building (brothel, MC house in the future, etc).
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 03:18:55 AM
I think we'll need flags or something to maintain disposition between characters, because actual numeric disposition between everyone is too much information. Friendship gains when they live and work together (in one building) for some time depending on how similar their traits are, and lover is possible only with lesbian or bisexual traits involved. We also should limit max number of friends for girls (not including MC) based on traits.

Hmm, add an Issue with relationship module. Basically what you're suggesting can be best done with adding moar sets() like lovers/friends:

- rivals()
- enemies()
- allies()
- etc...

and etc. And counter flags for how long have the characters known eachother to go with their living/working/teaming up situations. You can flag it as long term because we'll need a number of other systems to make this work properly as well.

Let's be realistic. You won't propose a girl to do lesbian action with someone on the other side of town. They should be in the same building (brothel, MC house in the future, etc).

So it should appear only when you start interaction in the building atm? We can later expand it when everyone has living space I suppose... I'll take a look if we can trace if interaction was started from a building to enable this option in the menu.
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 03:21:57 AM
*Before I forget, Try to link points where we discussed relevant stuff to Issues on GitHub. We keep loosing/forgetting stuff we talked about and that would be a really good way to keep track of that.
Title: Re: General Discussion
Post by: DarkTl on July 24, 2015, 06:18:03 AM
In GM-greetings rpy there is a comment "Accessed through call rather then jump". I suppose it means that any lines from there could be quickly called from anywhere without the need to jump back. That's quite useful if it can be done not with greetings only.
It should look exactly like witten, ie
Quote
call girl_meets_greeting
?
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 06:24:50 AM
In GM-greetings rpy there is a comment "Accessed through call rather then jump". I suppose it means that any lines from there could be quickly called from anywhere without the need to jump back. That's quite useful if it can be done not with greetings only.

Yeap, called labels are added to "call_stack" and have to be returned from to statement from which they were called. Otherwise stack will be polluted (in case if you jump after call without returning).

It should look exactly like witten, ie ?

Code: [Select]
call girl_meets_greeting
If there is a label called girl_meets_greeting, than yes, just keep in mind that it's very desirable to return from that label or from any label you may call after that with a return statement.

If it's a variable containing a string:

Code: [Select]
call expression girl_meets_greeting
should be used.

Moar here: http://www.renpy.org/doc/html/label.html
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 07:42:20 AM
https://twitter.com/sfnet_ops?lang=en

SF Mercurial is finally back btw  ::)
Title: Re: General Discussion
Post by: DarkTl on July 24, 2015, 09:25:13 AM
It returned to me "authorization failed" just now when I tried to pull. Screw it, I like the new repo.
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 09:31:50 AM
Agreed, I just made a note* I feel a new surge of energy after moving to Hub.

===
I am going to take a look at the lesbo thing and if I figure that out, close the issue/push.
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 11:43:44 AM
Done, it needs work and maybe better checks but it'll do for now. I'll prolly pt some time into jobs or take a look at other Issues.
Title: Re: General Discussion
Post by: DarkTl on July 24, 2015, 04:00:03 PM
Phew, I spent all day including 8 working hours to improve sex scene and rip lines for it  :D
Though it can be improved indefinitely (like anything else in the game), now it has all I want right now except conditions for the scene beginning.

Next step is to finish chatting options and make shorter and smaller scenes for lesbian, group and bdsm.
After that I'll see what we can do with optional buttons like hire for sex for SIW.
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 04:10:49 PM
LoL

Well done. I am working on improving some code and advance jobs codebase. Slowgoing but but in the right direction :)
Title: Re: General Discussion
Post by: DarkTl on July 24, 2015, 04:26:04 PM
Can you not just return to the interaction menu after doing something, but actually exit interactions and go to the girl profile screen?
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 04:38:04 PM
Can you not just return to the interaction menu after doing something, but actually exit interactions and go the girl profile screen?

Very clumsily, I'll add a proper option with my next push.
Title: Re: General Discussion
Post by: DarkTl on July 24, 2015, 04:45:48 PM
It should work differently for unhired girls, since you can't see their profiles... Maybe return you to the place where you live, or simply to the city map.
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 04:53:41 PM
It should work differently for unhired girls, since you can't see their profiles... Maybe return you to the place where you live, or simply to the city map.

There is logic in place that will return you to whereever the hell you came from, regardless if it was interactions in profile or in the city (girlsmeets). I think that is quite reasonable. I'll push it right now, nothing is currently broken in my code, but you may (I am not sure if I changed enough) need my testing file again (will be attached to this post).

To end any interaction and return to original location:
Code: [Select]
jump girl_interactions_end
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 05:53:41 PM
Attention!

We broke one of the most important rules of Python/Ren'Py (or actually inherited that sh!t from Alkion almost three years ago).

We're using chr (short for character). That is also a Python builtin. It doesn't cause that many issues BUT new screen prediction algorithms (to make Ren'Py run faster), evaluate screens on startup of the game. that means that chr is counter as builtin before the game ever gets a chance to start, hence we cannot use new system in some places.

I am going to rename all references to char (our main container holding all characters to chars) and chr to char everywhere in the game! This will be my last push before I fall asleep...
Title: Re: General Discussion
Post by: Xela on July 24, 2015, 06:41:50 PM
Ok... I pushed, then fixed a bunch of related errors, then pushed again. There could still be issues since there were a couple of thousands of entries I auto-changed but it seems to be working well enough. We will kill rest of errors (if any) as we beta test :)
Title: Re: General Discussion
Post by: lamoli on July 25, 2015, 05:29:15 AM
I am going to make the new girl iv made a random character.. so i need to know what will be needed to do that ( the minimum tags/picture types needed for that ) when i see packs and check the gallery its a mess so i need at least pointers to the minimum needed by the game then and some randomness on the pose in the future.. or add more actions that the game needs as it develops.

Also does the girls have mood outside of training? like angry/sad/normal/happy/horny and does every picture need to reflect that mood ( if so its no problem as it wont take longer to do it just tell if needed )

Edit:

Ooops Dark basic actions might cover what i need at the start.. but needed to know if something changed.. as for the mood thing i still need to know.

hmm.. action still need to be defined better.. like.. anal ( thats a normal action ) while anal fingering ( thats more like the training one to get anal sex later on )
Title: Re: General Discussion
Post by: Xela on July 25, 2015, 05:54:22 AM
I do not believe anything has changed.

You can start with the most important images:

1) vnsprite.
2) 3 or 4 profile images with different closing (bikini, magic robes, casual).
3) battle sprite
4) resting
5) straight sex (vaginal and anal)
6) gay sex (lesbian)
7) blowjob
8) portraits with base emotions (one each if possible)
9) Combat image (different from battle sprite which is a smaller image to be used in BE, this one is used in training)
10) Nude (at least one nude image without sexual content)
11) Jobs images: Maid, Stripper, Prostitute (provocative), Warrior (combat image can be used here), Waitress, Manager (formal clothing I guess, can be a profile type image).

I this this will make a working pack, rest can be added later.

Maybe it would make sense to make all the image with transparent or simple background. Such a pack may look really good in the game.
Title: Re: General Discussion
Post by: lamoli on July 25, 2015, 05:58:07 AM
Ok i will render those as transparent first to see how its gonna look like and then we can decide what to do next with BG or randomness of poses..

Wats the sprites resolution needed for VN and Battle ?

Also for magic.. all kinds like oriental/Western (Miko/wizzard) outfits ?
Title: Re: General Discussion
Post by: DarkTl on July 25, 2015, 07:10:40 AM
Just got amazing idea for interactions from those concept documents you linked in the chat.
I'll make everything I can based on existing stats and traits. The more stats/flags we'll have, the more interactions options I will be able to create (like talk about hobbies if characters will get them at some point).
Title: Re: General Discussion
Post by: DarkTl on July 25, 2015, 07:22:16 AM
Wats the sprites resolution needed for VN and Battle ?

Also for magic.. all kinds like oriental/Western (Miko/wizzard) outfits ?
We don't have some fixed resolution because we can't control what kind of images packs have... Also we rarely show any pictures in full size except small ones like battle sprites and portraits. I personally resize all pictures and sprites to 1000x1000 if they are bigger. An average quest sprite is about 700x600 or something like that. Portraits are about 200x200 if possible, or smaller. Xela should know better than me about sizes of battle sprites, but they are quite small. Like 300x200 or something.

Magic tag assumes that a spell is being used by the character. Very often they do it in normal clothes. If you want to give them some ususual clothes, go ahead, but it's not mandatory.
Title: Re: General Discussion
Post by: Xela on July 25, 2015, 07:27:15 AM
Just got amazing idea for interactions from those concept documents you linked in the chat.
I'll make everything I can based on existing stats and traits. The more stats/flags we'll have, the more interactions options I will be able to create (like talk about hobbies if characters will get them at some point).

I am rewriting WhoreJob, restoring it to older format. We may need more flexibility than Thewlis upgrade allows. We may switch back to it at some point in the future.

---
About Interactions... Please keep track and document what you are doing. We may need to handle those flags elsewhere in code so it might be a decent idea to write a module to keep track of relationships.

I'll keep hacking at whore job for 30 more minutes and disappear for a few hours after that.
Title: Re: General Discussion
Post by: Xela on July 25, 2015, 07:28:29 AM
We don't have some fixed resolution because we can't control what kind of images packs have... Also we rarely show any pictures in full size except small ones like battle sprites and portraits. I personally resize all pictures and sprites to 1000x1000 if they are bigger. An average quest sprite is about 700x600 or something like that. Portraits are about 200x200 if possible, or smaller. Xela should know better than me about sizes of battle sprites, but they are quite small. Like 300x200 or something.

Magic tag assumes that a spell is being used by the character. Very often they do it in normal clothes. If you want to give them some ususual clothes, go ahead, but it's not mandatory.

We can resize... you can also take a look at the current sprites. One problem with battle sprites is that we still have not agreed on a specific format.
Title: Re: General Discussion
Post by: Xela on July 25, 2015, 07:31:47 AM
@Dark:

BTW: You created new sex skill ("sex"), which confuses the hell out of me. Is it a general skill that offsets all sex skills or something specific for skills that do not fit in other categories? If it's the latter, maybe we should rename it to kinkysex or something like that?

I need to know how to handle it in jobs...
Title: Re: General Discussion
Post by: DarkTl on July 25, 2015, 07:40:54 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
Title: Re: General Discussion
Post by: DarkTl on July 25, 2015, 07:46:53 AM
I cannot start the game even with your testing rpy.
Quote
While running game code:
  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 38, in <module>
    rgirls = rchar.keys()
NameError: name 'rchar' is not defined
Title: Re: General Discussion
Post by: Xela 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"?
Title: Re: General Discussion
Post by: Xela 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...
Title: Re: General Discussion
Post by: DarkTl 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.
Title: Re: General Discussion
Post by: DarkTl on July 25, 2015, 07:53:48 AM
*gb tag is a pure bukkake in groups. bc is cumcovered in bdsm.
Title: Re: General Discussion
Post by: DarkTl 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  ::)
Title: Re: General Discussion
Post by: Xela 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.
Title: Re: General Discussion
Post by: DarkTl 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.
Title: Re: General Discussion
Post by: DarkTl 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
Title: Re: General Discussion
Post by: Xela 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...
Title: Re: General Discussion
Post by: DarkTl 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.
Title: Re: General Discussion
Post by: Xela 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.
Title: Re: General Discussion
Post by: DarkTl 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).
Title: Re: General Discussion
Post by: Xela 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 :)
Title: Re: General Discussion
Post by: DarkTl 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.
Title: Re: General Discussion
Post by: Xela 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.
Title: Re: General Discussion
Post by: Xela on July 25, 2015, 05:26:40 PM
@CW, congrats with figuring out GitHub :)
Title: Re: General Discussion
Post by: DarkTl on July 25, 2015, 05:43:21 PM
- I suppose jsons will be useful.

- I can tell that even popular and known male characters don't have many pictures except those where they bang someone (a girl, if you lucky). I actually tried to make a pack for male npc, that's five times more difficult than girls packs.
Even though sexual content is a very important part of a pack, it still cannot exist without a decent number of profile and rest pictures.
Title: Re: General Discussion
Post by: Xela on July 25, 2015, 06:32:01 PM
I've seen more or less complete packs for other games. I don't think we will make them anyway (I'd really like to see Fairy Tail pack before anything else for example), players who may be bi or male gay can mess with those packs but unification of image-handling can at the very least lead to female MCs, maybe even before Alpha if there are people who go as far as submitting new content to GitHub. Especially the Pull requests are nice, we can handle merging ourselves and there is no need to add everyone to collaborators.
Title: Re: General Discussion
Post by: lamoli on July 26, 2015, 06:07:29 AM
Magic tag assumes that a spell is being used by the character. Very often they do it in normal clothes. If you want to give them some ususual clothes, go ahead, but it's not mandatory.

Hmm then maybe adding magic bonus to you magic type if you match your clothes with your magic type..
Title: Re: General Discussion
Post by: lamoli on July 26, 2015, 06:33:27 AM
Also is it ok to make Furniture/City looks like something between Medieval/Victorian style? and you would have to define what kind of technology they have like ( steam engine or man-animal moved / candles or oil lamps / caravel(or earlier ship type ) or ship of the line / and so on.. ) also things that usually use electricity that we might need could be using magic source instead of electricity..

That way i could make streets/indoors looks right for the game.
Title: Re: General Discussion
Post by: Xela on July 26, 2015, 07:04:50 AM
I think all of that is fine...
Title: Re: General Discussion
Post by: Xela on July 26, 2015, 08:56:32 AM
Ok... so yesterday I dreamed that we cannot continue the development without moar OOP in PyTFall so tonight I will try to do some more data modeling in order to ensure continued development without us (or me) drowning in inconsistent code :)

I also remembered Doc talking about SimPy module in his WM:A, I think that can add a lot to the game if I can figure out a way to use it effectively. But we will have renpy and simpy if I do :)
Title: Re: General Discussion
Post by: Xela on July 26, 2015, 08:59:38 AM
Nice landmark btw: (Read 300071 times)

 ::) ::) ::)
Title: Re: General Discussion
Post by: DarkTl on July 26, 2015, 09:40:39 AM
OOP? Wtf is that?  :D

I thought about adding flirt option in dialogues. During creating logic behind lines I figured that MC cannot oppose girls character stat.

MC and girls both have charisma, so having more charisma than a girl is possible and useful. But there is also strength of character, ie character stat. Looks like MC doesn't have it, or anything similar like willpower. So I can't check something against girls character stat, while this is obviously needed as a difference between flirting with tsundere and deredere.
Title: Re: General Discussion
Post by: DarkTl on July 26, 2015, 09:50:48 AM
Also is it ok to make Furniture/City looks like something between Medieval/Victorian style? and you would have to define what kind of technology they have like ( steam engine or man-animal moved / candles or oil lamps / caravel(or earlier ship type ) or ship of the line / and so on.. ) also things that usually use electricity that we might need could be using magic source instead of electricity..
In terms of lore and origin "events" of WM happened in the same world many years ago. That includes androids and other characters from advanced worlds that came from those multidimensional catacombs under Crossgate. It does not mean that there are electricity and digital devices everywhere, but it does mean that you shouldn't be surprised by such things, though of course they are still uncommon.
Title: Re: General Discussion
Post by: Xela on July 26, 2015, 10:50:33 AM
MC and girls both have charisma, so having more charisma than a girl is possible and useful. But there is also strength of character, ie character stat. Looks like MC doesn't have it, or anything similar like willpower. So I can't check something against girls character stat, while this is obviously needed as a difference between flirting with tsundere and deredere.

Right... well, we can always add it, just felt like one of those stats that MC should not have, like joy. I think MC just takes pytCharacters stats, so just add it to __init__ there. For every stat we add to MC, we also got to add logic that would allow MC to increase it. Meaning yet moar content :(
Title: Re: General Discussion
Post by: DarkTl on July 26, 2015, 11:34:05 AM
You know what, so many various MC father's backgrounds seriously limit game story. I'd like MC's father to play a major role in the story, but father-warrior will act very differently from father-brothel owner. I think we should avoid using father's occupation as a base for MC occupation.
Title: Re: General Discussion
Post by: Xela on July 26, 2015, 12:04:07 PM
Maybe it's best not to use MCs father in the main story at all? Someone may wish to create unique storyline later.

It's your call, just think of something else to put in the mc setup screen if you want to do it your way, I don't want to change that layout.
Title: Re: General Discussion
Post by: DarkTl on July 26, 2015, 12:33:52 PM
Someone may wish to create unique storyline later.
Yeah, right. Someone like me  ::)
Please don't tell me about third-party "writers". So far we had one writer that actually helped us with content, not just promised to (MrKlaus). And even he left.
Title: Re: General Discussion
Post by: Xela on July 26, 2015, 01:01:04 PM
 :D

Ok, knock yourself out. I just updated how we're handling locations. A lot of code would have to be updated but I'll do that gradually. I am going to take a look at SimPy now.
Title: Re: General Discussion
Post by: lamoli on July 26, 2015, 01:53:26 PM
God Eater anime gives nice references for 3d anime head model / expressions.. but their shader is a bit strange
Title: Re: General Discussion
Post by: DarkTl on July 26, 2015, 02:06:10 PM
In a neighboring thread Baltazaar wrote a small story with MC dreaming about events of the riot. I think it's an excellent base for a cutscene without telling any facts that we might want to change later.
And Alengthyname proposed another story where MC's mother was a slave (and she either died or disappeared later), that's why MC's father wasn't against slaves (but also didn't helped them) during the riot.

I think this + sinister star and terumi from my first cutscene are enough for chapter 1 story  :)

God Eater anime gives nice references for 3d anime head model / expressions.. but their shader is a bit strange
Yeah, they look a bit unrealistic there. Your previous examples were better in this regard.
Title: Re: General Discussion
Post by: DarkTl on July 26, 2015, 03:02:21 PM
I really could use a function that will run BE vs mobs at least (ideally characters too), where I set their levels and party. Not now, but before the next release.
Title: Re: General Discussion
Post by: Xela on July 26, 2015, 04:27:19 PM
I cannot figure out how to get SimPy to run in RenPy. It's pure python code but it just keeps throwing errors at me, tis first time that I am having an issue like this :( I asked for help but if that doesn't pan out, I guess that we will have to abandon this :(
Title: Re: General Discussion
Post by: DarkTl on July 27, 2015, 05:15:38 AM
Your function, that one which selects a female partner for a girl... It's able to select the girl herself as a partner for the girl... And then she kinda has lesbian action with herself  :D

I'm checking partners list like
Quote
if (check_lovers(i, hero) or check_lovers(char, i)) and not (i.vitality < 25 or i.health < 25) and not (i.disposition <= -50): # Last check is too make sure partner doesn't dislike the MC.
                willing_partners.add(i)
Ie ony girls lovers OR MC's lovers can be there.
I suppose there could be something wrong with lovers list too.
Title: Re: General Discussion
Post by: Xela on July 27, 2015, 05:29:23 AM
I'll take a look at it tonight...
Title: Re: General Discussion
Post by: DarkTl on July 27, 2015, 08:00:15 AM
Xela, close this (http://www.pinkpetal.org/index.php?topic=3545.0) thread. We don't need help with retagging anynore.
Title: Re: General Discussion
Post by: CherryWood on July 27, 2015, 08:25:39 AM
Hi, I started receiving a lot of emails which have title like this:

Re: [PyTFall] Upgrade to Jobs and Buildings Mudules (#1)

and there is a link to some "issue" page with a post? What that is?

Title: Re: General Discussion
Post by: Gismo on July 27, 2015, 08:41:14 AM
Personal settings > Notification center
Remove the check mark from the email )
Title: Re: General Discussion
Post by: Xela on July 27, 2015, 10:34:07 AM
# Thread Archived
# Disable Email notifications
# Correct  ::)

I am making some headway getting SimPy to work with Ren'Py. If time permits I'll try some data-modeling later.
Title: Re: General Discussion
Post by: Xela on July 27, 2015, 01:23:51 PM
# I'll need coffee...

Slept for three hours last night, at least I believe that I'll figured out what was wrong with SimPy.

I've added new Issue tags:

1) Priority: (Should be used if there is an issue that is holding up working on adding content/code to the game)
2) Conceptual: (To keep track of concept that we've agreed upon)
3) Conceptual Proposal: (Proposing a concept (feature, module, GUI improvement and etc.))

We can either link to threads in the forum or start using wiki.
Title: Re: General Discussion
Post by: DarkTl on July 27, 2015, 02:40:14 PM
Gismo, can you create backgrounds? Or maybe lamoli can render it?
I'm trying to find night forest camp background similar to that picture in our main menu for two years already. Without any people, just with forest, bonfire and tent.
Title: Re: General Discussion
Post by: Gismo on July 27, 2015, 03:16:44 PM
Gismo, can you create backgrounds? Or maybe lamoli can render it?
I'm trying to find night forest camp background similar to that picture in our main menu for two years already. Without any people, just with forest, bonfire and tent.

I crossed two images from chrono trigger and added everything else. Not exactly ideal proportions, but as a result is our main screen.

(http://s30.postimg.org/58mgo8k2l/chrono_Trigger_Cam123pfire_gavin_Li.jpg) (http://postimg.org/image/58mgo8k2l/) (http://s30.postimg.org/47m7z4331/chrono_Trigger_Campfire_gavin_Li.jpg) (http://postimg.org/image/47m7z4331/)

I can try to do something similar for you.

Title: Re: General Discussion
Post by: DarkTl on July 27, 2015, 03:33:27 PM
Yeah, we need camera close to bonfire, like at your second picture. Another  (http://img05.deviantart.net/a0f3/i/2013/193/f/0/magical_camping_by_blazi76-d6d53k2.jpg)example, though camera is pretty far there, but it has a tent.
I searched the entire deviantart and g.e-hentai.org (the latter one has tons of backgrounds from VN games), and still nothing. So easy to imagine yet so difficult to find...
Title: Re: General Discussion
Post by: Gismo on July 27, 2015, 03:58:22 PM
You can select all separately. One picture where you like the background, another where you like tent, campfire and trees.
If I'm going to see what you like, it will be much easier to create. The larger the image size, the better.
From this, I will dance and practice shamanism  :) or I can do everything on your own.
Title: Re: General Discussion
Post by: DarkTl on July 27, 2015, 04:34:36 PM
Let's see...
This (http://kureo95.deviantart.com/art/Riverside-Camp-299627712) is a very good one, I mean camera position and zoom. But it has huge people, might be difficult to get rid of them, and the whole image is kinda blurred.
Here (http://img06.deviantart.net/a740/i/2012/117/d/9/forest_by_diddleh-d4xn47b.jpg) is a very good background, but the tent is too modern.
That's (http://pre13.deviantart.net/1a28/th/pre/f/2008/050/6/9/ranger__s_tent_by_poopgoblyn.jpg) a good example of a tent.
And at your second picture there is a good bonfire.
Title: Re: General Discussion
Post by: Gismo on July 27, 2015, 04:45:12 PM
Good pictures, let's see what comes out, thanks)
Title: Re: General Discussion
Post by: Xela on July 27, 2015, 06:36:53 PM
New push:

- Fixed some tags issues for WJ
- Added SimPy package
- Added special report list for SimPy simulations of jobs
- Fixed tags
- Testing Primitive SimPy simulation

===
I am going to try and take out a couple of simpler issues and call it a night :)
Title: Re: General Discussion
Post by: Xela on July 27, 2015, 08:34:42 PM
SimPy is exactly what I was trying to create a 8 or 9 month back for 2 days but eventually gave up. First, very primitive simulation looks like this:

(http://s16.postimg.org/4zb8rmzch/screenshot0001.jpg) (http://postimg.org/image/4zb8rmzch/)

Video here: https://www.youtube.com/watch?v=Bk91DoAEcjY

They are very easy to improve and maintain! At some point, maybe even before the next version, we will be able to profile buildings, jobs, shopping functions and general life in PyTFall for hundreds of days in order to improve balancing. I'll also make sure that only useful information is exposed to the player and only developers/beta-testers can see full reports. Also, I think that it may be possible to add buttons to jump to specific events from the general report. Maybe we'll even turn text into buttons.

There is still a lot to learn about the module but it will work for us well! Cheers and Thanks to Doc for pointing out the module!

===
I've killed off three small Issues and refactored some code so I am gonna call it a night :)
Title: Re: General Discussion
Post by: Gismo on July 27, 2015, 09:33:35 PM
SimPy is exactly what I was trying to create a 8 or 9 month back for 2 days but eventually gave up. First, very primitive simulation looks like this:

Nice work )

Here are the first sketches of the camp in the Woods -
(http://s4.postimg.org/lb097lzah/campfire1.png) (http://postimg.org/image/lb097lzah/) (http://s4.postimg.org/uwttnwqg9/campfire2.png) (http://postimg.org/image/uwttnwqg9/)
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 02:45:35 AM
Nice work )

Likewise )

===
I've added moar to the loop. It reports events like refusal due to occupation, ending the job on health/AP/vitality issues and restores girls to the brothel after they are done with customer instead of just running every girl ones.

Coding this is FUN!
Title: Re: General Discussion
Post by: DarkTl on July 28, 2015, 05:05:37 AM
I remember how I struggled with compliment/insult options two years ago because I coudn't decided how it should work (definitely not pure dice). This time I actually googled how psychologists do it irl  :)

If I do it trait based, there will be dozens of dozens outcomes. So it should be stats/skills based.
That means we need to know not just stats/skills value, but how high/low they are compared to others.

I found some python code that works when you need to find 1 max stat.
Quote
    $ d=dict(x=char.charisma, y=char.character)
    $ list1 = max(d.items(), key=itemgetter(1))[0]
It does return the name of max stat, and not just value like max(). But it's not enough to find out how small or big stat is compared to others, ie what place it holds in stats top.
So in other worlds I need a list of chatacter stats names in descending order, with ability to check what stat at what place.

Here are the first sketches of the camp in the Woods
Oh yes. Those pictures are awesome!

I have one more request, if you have time and resourses. We could use background inside of a tent, ie a room with fabric walls similar to tent walls, and maybe a lamp like at this (https://www.dropbox.com/s/58e87grmllrsfjf/liv%20%285%29.jpg?dl=0) picture under the ceiling. The problem is that I cannot give decent examples. I suppose this (http://laeity.deviantart.com/art/Camping-Panic-1-387984510) could be an example if it had much, much better quality and no people.
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 05:25:36 AM
If I do it trait based, there will be dozens of dozens outcomes. So it should be stats/skills based.
That means we need to know not just stats/skills value, but how high/low they are compared to others.

Code: [Select]
    $ d=dict(x=char.charisma, y=char.character)
    $ list1 = max(d.items(), key=itemgetter(1))[0]

should be:

Code: [Select]
    $ characters = [hero, char, chars["Nami"]]
    $ char_with_the_highest_stat = max(characters, key=attrgetter("charisma"))
    $ mean_from_all_characters = sum(i.charisma for i in characters)/len(characters)
    # You can do a simple calculation on how highest stat compares to the average.

*Not tested but it should work fine.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2015, 06:52:10 AM
Well, that's useful, but it's not what I asked.
You compare two characters. I mean compare all stats of one character and find out how small is, let's say, charisma compared to the average.
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 07:16:04 AM
Well, that's useful, but it's not what I asked.
You compare two characters. I mean compare all stats of one character and find out how small is, let's say, charisma compared to the average.

You mean like every single stat that a character has? I am not entirely sure that is reasonable, what are you trying to compare (as in what info about the character you wish to acquire).
Title: Re: General Discussion
Post by: DarkTl on July 28, 2015, 07:22:13 AM
Of course not all of them. Charisma, intelligence, character, constitution. And separately all battle stats to find out what is the best battle stat. That's why I mentioned lists, to be able to control what we gonna compare.
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 07:30:21 AM
Of course not all of them. Charisma, intelligence, character, constitution. And separately all battle stats to find out what is the best battle stat. That's why I mentioned lists, to be able to control what we gonna compare.

Try:

Code: [Select]
stats = ["charisma", "intelligence", "character", "constitution"]
mean = sum(getattr(char, i) for i in stats)/len(stats)

My game is broken atm, so I cannot try this in console.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2015, 07:41:31 AM
Yup, it works.
And how to find out which of the characters stats in the list is max?
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 08:17:25 AM
Yup, it works.
And how to find out which of the characters stats in the list is max?

It's simpler to create a dict like you've originally planned :)

Code: [Select]
stats = ["charisma", "intelligence", "character", "constitution"]
stats = {s: getattr(char, s) for s in stats} # Creates a dictionary if "charisma": 200 and etc.
mean = sum(stats.itervalues())/len(stats)
stat_with_highest_value = max(stats.iteritems(), key=itemgetter(1))[0] # returns a string.
Title: Re: General Discussion
Post by: Gismo on July 28, 2015, 12:47:42 PM
Can not find something normal for a tent  :(

(http://s13.postimg.org/od7t4j5tv/campfirersd33rf.png) (http://postimg.org/image/od7t4j5tv/) (http://s13.postimg.org/bxb3aschv/campfirersdrf.png) (http://postimg.org/image/bxb3aschv/)
Title: Re: General Discussion
Post by: DarkTl on July 28, 2015, 01:11:32 PM
It's much better than nothing. I can use it.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2015, 01:46:09 PM
After every forced recompile I get new (or changed, not sure) files in the repo every time.
Quote
game/library/simpy/__init__.pyo
game/library/simpy/_compat.pyo
game/library/simpy/core.pyo
game/library/simpy/events.pyo
game/library/simpy/resources/__init__.pyo
game/library/simpy/resources/base.pyo
game/library/simpy/resources/container.pyo
game/library/simpy/resources/resource.pyo
game/library/simpy/resources/store.pyo
game/library/simpy/rt.pyo
I tried to ignore them via gitignore list, but it didn't helped. I googled it, it's probably because they are under version control already. I'm not sure, but I think they shouldn't be in repo at all. Xela?
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 02:19:56 PM
They are not useful for the repo, no. Feel free to get rid of them.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2015, 03:55:45 PM
Pushed new praise options... Algorithm will need some polishing, but it's enough for the next release.
Except boobs, this option is traits based, and will need a very different logic.

I will remove from gui all insult options until there actually will be a reason to make enemies from characters outside of ST.
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 04:19:55 PM
Oki, I did some moar simpy testing but not really in a sense that is useful to us atm.

I'll take a look at the state of auto-setups for the current BE-Encounter function and try to make it work properly with the new BE and call it a night.
Title: Re: General Discussion
Post by: DarkTl on July 28, 2015, 04:38:46 PM
I don't get how to reference issues from commits  :D
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 04:42:01 PM
I don't get how to reference issues from commits  :D

You just copy/paste the url of an issue to you commit.

I believe that if you fixed something, you can also add:

Fix: #12

to the commit and it will automatically close the issue and not just auto reference it.
Title: Re: General Discussion
Post by: Xela on July 28, 2015, 07:10:20 PM
Fixed a couple of small issues, there is no point in a func for be since it is too easy to setup without one. This is it for the night.
Title: Re: General Discussion
Post by: DarkTl on July 29, 2015, 02:10:46 AM
I need Praise menu to show up during GMs but not interactions. Usually it means to add mode="girl_meets", but it works only with buttons. When I try to add it to menu (which is pytfall.world_actions.menu(m, "Praise",  condition=_not_gt_mode)), I get an error.
I suppose it could be done somehow via conditions, but I don't know how to find out if the character is hired or not.
Title: Re: General Discussion
Post by: Xela on July 29, 2015, 02:48:55 AM
I need Praise menu to show up during GMs but not interactions. Usually it means to add mode="girl_meets", but it works only with buttons. When I try to add it to menu (which is pytfall.world_actions.menu(m, "Praise",  condition=_not_gt_mode)), I get an error.

Weird... if you can't fix it, start an issue on this.

I suppose it could be done somehow via conditions, but I don't know how to find out if the character is hired or not.

Code: [Select]
if char in hero.girls:
    # ...

or

Code: [Select]
"char in hero.girls"
as a delayed condition (string to be evaluated later).

This is the only sure way of knowing if a characters has been hired/acquired or not.
Title: Re: General Discussion
Post by: lamoli on July 29, 2015, 01:13:46 PM
https://mon-partage.fr/f/qJ9KKQzA/ (https://mon-partage.fr/f/qJ9KKQzA/)

Hmm i cant decide on whats best for Maids/Barmaid/Waitress.. now that i have lots of clothing items i can decide anything so i guess ill ask you to chose set or tell me to combine parts of em together.

I can add transparency on every part i want to get the lace effect that are shown on some of those quick renders same for color/fabric motif design type aswell.

All those are cloth set base assembled so we can use any sleeves/tops/skirts/aprons/etc.. from the others and make something new.. or even change the length of everything if needed.. i can do any custom modifications as well... i just dont know what to do lol..

for waitress in something like sleazy bar maybe ill use some lingerie with corset/or not..  or maybe some bunny girls..

Edit:
Forgot to make a render of my 1st original maid outfit design.. but if you have the old picture it would be the same but shaped on this char body
Title: Re: General Discussion
Post by: lamoli on July 29, 2015, 01:24:30 PM
Now.. what should a prostitute wear in pitfall ???

i got lots of lingerie/stockings/GB/sexy dress/skirt ( but all that is from now days.. ) are those good for that job ??

for Warrior i got full plates/half plates/leathers/armor parts(that can be assembled on leather fittings..  anything special that need to be done first ?

Formal should be of Now days(suit) or Victorian(robe) ?

I guess when we could combine clothing/armor parts for the item doll like system.. i just make everything and its up to anyone to mix what they want..
Title: Re: General Discussion
Post by: DarkTl on July 29, 2015, 02:47:19 PM
Hmm i cant decide on whats best for Maids/Barmaid/Waitress.. now that i have lots of clothing items i can decide anything so i guess ill ask you to chose set or tell me to combine parts of em together.
Actually, they all are great, it's hard to choose only one. I suppose different packs can use different maids clothes when you render them, unless it will be difficult for some reason.

Now.. what should a prostitute wear in pitfall ???

i got lots of lingerie/stockings/GB/sexy dress/skirt ( but all that is from now days.. ) are those good for that job ??
Yeap. Clothes should be revealing. We don't try to make the game look medieval in every aspect.

Formal should be of Now days(suit) or Victorian(robe) ?
Most of formal clothes in our packs are long evening dresses. Sometimes stuff like Miko clothes too, if the character doesn't wear them every day.

for Warrior i got full plates/half plates/leathers/armor parts(that can be assembled on leather fittings..  anything special that need to be done first ?
Well, we don't want characters to look like medieval knights in full plates or something, they won't look good  :)
Usually they make quite hot armor for females in games, even in non hentai ones.
I think we'll need at least two types of armor, light (leather) and heavy (metal). And mages could use some kind of robes.
Title: Re: General Discussion
Post by: Xela on July 29, 2015, 03:37:50 PM
Dark is right, maids working in different places may have different uniforms, it's not reasonable to expect one overwhelm all others.

I would avoid anything Victorian and it's also almost impossible to tell. I'd expect to see a level 100 prostitute working at the palace in the best part of the town to wear a different set of robes than a level 5 street whore in the slums, working in a shack with two rooms... we just do get too hang up on this things where we're making packs because the choices are limited to the pics we can find. I'd pick something in between.
Title: Re: General Discussion
Post by: Xela on July 29, 2015, 05:31:32 PM
@Dark:

You give money code was working fine, but I pushed an update with comments. Python deserves more credit than you give it and the way you're BSing it before you've had at least a few month of time messing with the language or went through a course at the Code Academy or at least read the Tutorials point section on it is plainly unfair :(
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 01:40:31 AM
Nah, I googled that strings are immutable there up to the point that you can't even int them during checks without using an intermediate variable. I can't see how int's limited functionality is useful to anyone except maybe less work for the creator of python.
In delphi you can StrToInt them anytime, freely. It creates a temp variable by itself when needed.
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 02:38:04 AM
Nah, I googled that strings are immutable there up to the point that you can't even int them during checks without using an intermediate variable. I can't see how int's limited functionality is useful to anyone except maybe less work for the creator of python.
In delphi you can StrToInt them anytime, freely. It creates a temp variable by itself when needed.

https://www.youtube.com/watch?v=OGsHshpYkiU

Did you even look at the code and comments that I pushed?  If you meant that a StrToInt() in Delphi does not just convert but also always overwrites temp variable to int while doing it, Python can do that as well if you write your own function, it's just that in my opinion, that would be far less desirable.

https://www.python.org/downloads/

Quote
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> temp = "124"
>>> 200 > int(temp)
True
>>> temp
'124'
>>> temp = int(temp)
>>> 100 > temp
False
>>>

You can download Python 2.7 and try these things, it's very convenient.

There are some holes in Python like in any language but this is not one of them.
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 03:50:45 AM
Oh yes, it's like instead of a = (b+c)*2 do
a = b+c
a = a*2

And no, StrToInt does not overwrite something. It creates a temporary variable to store results of convertion if you didn't do it by yourself like you have to in python, thus you can check if a > StrToInt(b) without issues and then forget about it forever without borrowing memory by intermediate variable.
Basically, python forces you to int something when it wants it, not when you want it.

I'm pretty sure I don't know enough to make my own functions in python like I do in delphi... Otherwise sex scene checks wouldn't be so huge and repeatable...
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 04:10:46 AM
Come to think of it, the lack of such a common thing as multiline comments in python except multi-line strings which are not even usable as comments in some cases speaks for itself. I enjoy spamming # so much.

They advice to use plugins that can do spamming automatically, or use if false (which is useless if the code throws an error). ffs  ::)
Title: Re: General Discussion
Post by: lamoli on July 30, 2015, 06:15:39 AM
Dark is right, maids working in different places may have different uniforms, it's not reasonable to expect one overwhelm all others.

I would avoid anything Victorian and it's also almost impossible to tell. I'd expect to see a level 100 prostitute working at the palace in the best part of the town to wear a different set of robes than a level 5 street whore in the slums, working in a shack with two rooms... we just do get too hang up on this things where we're making packs because the choices are limited to the pics we can find. I'd pick something in between.

I can render lots of lingerie/dress types with different fabric like jute/cotton look like.. or velvet/satin..

Maybe the prostitute rank will restrict the wearable items.. like if there s 10 ranks.. 1-5 cotton like fabric.. 5+ velvet/satin.. also they could have different shape even if they look different since the fabric type make em reflective or not..

If your ok that their shape is the same but fabric(reflectiveness) is different.. you could simply give lower stat/skill bonuses on the rank 1-5 cotton.. else ill try to make more kinds of shapes..

That way a low lvl prostitute could never wear what a high lvl can.. but with the option to have it look it like ( as shape not fabric.. like a cheap copy of the top class one ) or restrict completely some of them to high class only..
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 06:48:40 AM
Oh yes, it's like instead of a = (b+c)*2 do
a = b+c
a = a*2

And no, StrToInt does not overwrite something. It creates a temporary variable to store results of convertion if you didn't do it by yourself like you have to in python, thus you can check if a > StrToInt(b) without issues and then forget about it forever without borrowing memory by intermediate variable.
Basically, python forces you to int something when it wants it, not when you want it.

I'm pretty sure I don't know enough to make my own functions in python like I do in delphi... Otherwise sex scene checks wouldn't be so huge and repeatable...

LoL

Are you just messing with me? They works exactly the same :)

a > StrToInt(b) in Delphi

and

a > int(b)

in Python behave in exactly the same way... I've given clear examples of that in code and in my posts.

===
Oh yes, it's like instead of a = (b+c)*2 do
a = b+c
a = a*2

Oh no, this is perfectly "Pythonic" Python:

Code: [Select]
a = (b+c)*2
This is directly from Python interpreter I asked you to install:

Code: [Select]
>>> b = "Dark is messing "
>>> c = "with Xelas Mind! "
>>> a = (b+c)*2
>>> print a
Dark is messing with Xelas Mind! Dark is messing with Xelas Mind!
>>>

Just download it and try for yourself. Past this I can only try to explain this in Russian...
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 06:53:50 AM
Come to think of it, the lack of such a common thing as multiline comments in python except multi-line strings which are not even usable as comments in some cases speaks for itself. I enjoy spamming # so much.

They advice to use plugins that can do spamming automatically, or use if false (which is useless if the code throws an error). ffs  ::)

This part I don't understand,

"""
Comment Line 1
Comment Line 2
"""

are ml comments, they are not interpreted as strings.

===
I can render lots of lingerie/dress types with different fabric like jute/cotton look like.. or velvet/satin..

Maybe the prostitute rank will restrict the wearable items.. like if there s 10 ranks.. 1-5 cotton like fabric.. 5+ velvet/satin.. also they could have different shape even if they look different since the fabric type make em reflective or not..

If your ok that their shape is the same but fabric(reflectiveness) is different.. you could simply give lower stat/skill bonuses on the rank 1-5 cotton.. else ill try to make more kinds of shapes..

That way a low lvl prostitute could never wear what a high lvl can.. but with the option to have it look it like ( as shape not fabric.. like a cheap copy of the top class one ) or restrict completely some of them to high class only..

I don't like this idea, they should be able to wear what they please. It looks like the pack is going to be great in any case, just render whatever you see fit.
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 07:41:12 AM
LoL

Are you just messing with me? They works exactly the same :)

a > StrToInt(b) in Delphi

and

a > int(b)

in Python behave in exactly the same way... I've given clear examples of that in code and in my posts.
My initial code was
if hero.gold >= int(temp).
It didn't worked, throwing something about unicode strings and stuff, until I googled it and changed it to
$ python_BS = int(temp)
if hero.gold >= python_BS

Oh no, this is perfectly "Pythonic" Python:

Code: [Select]
a = (b+c)*2
And that was an analogy, not actual example.

This part I don't understand,

"""
Comment Line 1
Comment Line 2
"""

are ml comments, they are not interpreted as strings.
Nope. It's not comments, it's docstrings.
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 07:51:59 AM
My initial code was
if hero.gold >= int(temp).
It didn't worked, throwing something about unicode strings and stuff, until I googled it and changed it to
$ python_BS = int(temp)
if hero.gold >= python_BS

I'll need to see this error and the code that leads to it. This:
Code: [Select]
if hero.gold >= int(temp)
and/or
Code: [Select]
if hero.gold >= int("4342")
are perfectly fine. Always! You can count on this to work as long as your temp is assigned to something that can be converted to an integer.

And that was an analogy, not actual example.

There is no actual example... it works just like it does with Delphi. Internal rules when converting weird stuff like hexes are prolly different but behavior is the same.

Nope. It's not comments, it's docstrings.

Docstrings only if provided as the very first thing after declaration of a class, module or function. In all other cases, they are the very definition of multiline comment and are completely ignored by parsers and interpreters.

Edit: Keep in mind that those are Python so you cannot use it in Ren'Py script. You need to declare the multiple line comment to be Python.

Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 08:04:25 AM
The code is gone of course. It was "unsupported operand type(s) for -=: 'int' and 'unicode'" error.
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 08:14:53 AM
The code is gone of course. It was "unsupported operand type(s) for -=: 'int' and 'unicode'" error.

But that was not caused by the:

Code: [Select]
if hero.gold >= int(temp):
    # ...

You said yourself that Delphi would not have converted the variable with this line, so the next line:

Code: [Select]
hero.gold -= temp
was basically same as:

Code: [Select]
100000 -= "2000"
(for example).

When you reassigned the variable to be an integer, it was working but the error was caused by trying to extract string from an integer. That is not an acceptable operation.

You could have done:

Code: [Select]
hero.gold -= int(temp)
and it would have worked fine. Most languages work in a fairly similar way, I don't believe that you'd expect Delphi to act differently here either.
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 09:12:54 AM
Hm, if you say so. I don't remember the code, so I might missed int as you assumed, but as far as I remember, I didn't. We'll see when I recode give gold to free girls option based on free input without using your examples for a start.

You said once that the images function tries all tags first, then first tag + one of each tags taken from the end of taglist. Is it still true? Because it's not the best algorithm for more than 3 tags.
If you have gm.set_img("2c vaginal", "indoors", "partnerhidden", "gay") and you don't have indoors, you at least should try to show 2c vaginal+partnerhidden+gay.
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 11:12:36 AM
Depends on the situation, I'll see if I can write a new lookup option like you describe.
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 11:51:37 AM
https://github.com/Xela00/PyTFall/issues/50  8)  (https://github.com/Xela00/PyTFall/issues/50)
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 12:05:50 PM
How to call MC setup screen? I can't find it.
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 12:12:33 PM
Code: [Select]
call mc_setup
?
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 12:30:53 PM
Yeah, I forgot it, it's been awhile since I looked at the screen :)

Since you cannot change main classes, I propose:
- One mandatory battle class. We make sure MC can protect himself, and will not need additional scenarios for helpless ones.
- One mandatory non-battle class to be more useful than just a warrior. I will create separate classes for MC only, he can't really be a Prostitute :D
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 12:36:18 PM
No restrictions, pure manager mc should also be allowed as well as a pure warrior one.
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 12:37:33 PM
It restricts story. Pure manager cannot fight.
Title: Re: General Discussion
Post by: Xela on July 30, 2015, 12:45:44 PM
It restricts story. Pure manager cannot fight.

He'll be allowed a different story than. For now just roll with whatever you see fit but  will not put any restrictions in code. Obviously if there is not going to be a way pick an MC without a combat class, it's a restriction, but it will be there until we have enough content to add more options.
Title: Re: General Discussion
Post by: DarkTl on July 30, 2015, 12:55:04 PM
Not to mention that "manager" is a poor base for a decent description or not boring prehistory...

No battle class means that we cannot put MC in danger ever. Well, as long as he doesn't have a bodyguard ie warrior class girl that will fight instead. I cannot make a story without mandatory bodyguard or mandatory battle class, it means at least two ways to resolve conflict every single time, or even at least two different stories. Good luck with third party writers  ::)
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 02:03:35 AM
Existing classes:

Main: Prostitute
Sub: Anal, Oral, Stright, Mistress, Group

Main: Entertainer
Sub: Dancer, Stripper

Main: Maid
Sub: Cleaner, Waitress, Bartender,

Main: Manager
No subs

Main: Mage
Sub: Battle Mage, Healer

Main: Warrior
Sub: Defender, Shooter, Assassin

What does it mean:
- Allowing male MC to be a Maid, a Dancer or a Prostitute is very, very dubious decision. Not female maybe, but it's another question.
- At the current MC setup screen there is place for 4 main branches (I mean those major choices, merchant/warrior/mage/some another icon that looks like manager  :) ). If you want ANY girls class to be freely available (and that's already 6 branches, and will be more), we require another screen. I figured you want to keep the current one. Thus again ANY girl class is not an option.

- Unless you want MC to be oral prostitute, there are only 3 branches that we can use for him: Warrior, Mage, Manager. And manager is a poorly developed one, since we don't really have any means to develop it better. Management skill alone is not enough for this.
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 02:17:53 AM
Existing classes:

Main: Prostitute
Sub: Anal, Oral, Stright, Mistress, Group

Main: Entertainer
Sub: Dancer, Stripper

Main: Maid
Sub: Cleaner, Waitress, Bartender,

Main: Manager
No subs

Main: Mage
Sub: Battle Mage, Healer

Main: Warrior
Sub: Defender, Shooter, Assassin

Thanks, we should maintain lists like these somewhere like a wiki on the Hub, this is very useful.

What does it mean:
- Allowing male MC to be a Maid, a Dancer or a Prostitute is very, very dubious decision. Not female maybe, but it's another question.
- At the current MC setup screen there is place for 4 main branches (I mean those major choices, merchant/warrior/mage/some another icon that looks like manager  :) ).

I'll have to take a look at these classes to see if they can be meaningful, but you're prolly right.

If you want ANY girls class to be freely available (and that's already 6 branches, and will be more), we require another screen. I figured you want to keep the current one. Thus again ANY girl class is not an option.

- Unless you want MC to be oral prostitute, there are only 3 branches that we can use for him: Warrior, Mage, Manager. And manager is a poorly developed one, since we don't really have any means to develop it better. Management skill alone is not enough for this.

1) Possibly most important point, at no point of the development do I wish for the player to pick classes freely. Choices should be back-stories that have hints to what can be expected from the MC.

2) These choices should be supplemented by starting bonuses/maluses such as:
- Money
- Items
- Direct, none class related bonuses to stats and skills
- Existing relationships
- Events
- etc. and moar as we develop the game.

3) Manager class will be absurdly important very soon.
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 02:59:07 AM
- Oral prostitute MC == 100% free class selection. It's not like I have anything against it, I just will never ever select it, and most players probably too. Cause MC is kinda player's avatar in the game world, and who wants to be a MALE anal prostitute instead of assassin? (not female though  :D )
I suppose there are people who want to, but not many.  Thus any time we spend on obviously super unpopular choices will be wasted.

- Basically, casanova male = prostitute female. But it still means that MC cannot use prostitute classes and needs his own classes.

- Just because you cannot select something as a main class in the beginning doesn't mean that you cannot obtain it later as a secondary class.

- I cannot imagine meaningful subclasses for manager, no matter how important he will be. I suppose we can go to sex manager/service manager stuff, but to me it looks like artificial sophistication with no real need.
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 04:19:05 AM
- Oral prostitute MC == 100% free class selection. It's not like I have anything against it, I just will never ever select it, and most players probably too. Cause MC is kinda player's avatar in the game world, and who wants to be a MALE anal prostitute instead of assassin? (not female though  :D )
I suppose there are people who want to, but not many.  Thus any time we spend on obviously super unpopular choices will be wasted.

Do not waste time. Don't bother with these cases yet, just leave them completely out. They will make more sense later but we do not have time and resources to bother with it atm.

- Basically, casanova male = prostitute female. But it still means that MC cannot use prostitute classes and needs his own classes.

Partly, I figure Casanova should get insane charisma bonus, not as much sexual once.

- Just because you cannot select something as a main class in the beginning doesn't mean that you cannot obtain it later as a secondary class.

I cannot say how this should function, a lot is dependent on if we allow MC to participate in game world in the same capacity as any other character (as in do any job), we do not have enough content to make it happen atm anyway. So I am not even sure how MC is supposed to gain extra classes, I don't recall there being items that do that and those would be some weird items...

- I cannot imagine meaningful subclasses for manager, no matter how important he will be. I suppose we can go to sex manager/service manager stuff, but to me it looks like artificial sophistication with no real need.

That's my fault, I never explained where I wanted to take the manager as a concept, mostly because I've only recently figured that out myself (more or less):

Managers are either absent or have a somewhat limited role in most similar games, without having a lot of effects on mechanics. However in RL most business would go to hell without decent management while other would flourish with it. It's a vastly neglected topic.

We will be splitting management duties in three parts:

1) Efficiency.
This is prolly the simplest one to understand. If you looked at the proof of concept I've added to the game, it always says stuff like:

Code: [Select]
Client 1 came into Building at 0.
...
...

These are discrete time units. With the maximum of 100 for any business (would be practically impossible to reach) and a minimum of 20. Or at least this is what I am rolling with currently. Efficiency managers will be increasing these units, other options to increase the units will be Upgrades (more limited). This will prolly be adjusted with more jobs, better loops and moar testing.

2) Characters management
This is what matron basically does in WM. Making sure that worker are happy... most powerful thing, except for joy/stat/skills bonuses that I can imagine here is maybe giving the characters an extra AP or two...

3) Client management
This makes sure clients that came and did could not immediately be offered service, would wait or be redirected elsewhere (if a building has a bar, club or something similar). I am obviously planning to stray from former "almost infinite clients" policy because our previous jobs loop was somehow both, primitive and harder to manage that what I am working with atm.

====
Under new code, the whole thing will be guided by SimPy, to manage something like this under our old loop would be close to impossible (due to insane amount of flags and variable because it never used generators and there never was a real workflow). As you can imagine, not every job will deal with clients, some will require more characters managements. I am not sure if we need different skills or just different manager classes paired with checks of a class and management skill but I think this system has potential... we will not know until it actually works, I am hoping to put some good time into it tonight and tomorrow morning.
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 05:10:23 AM
The current mc setup screen is not meant to work with class traits. It changes stats directly, I think. And even though some options suggest additional items, there are no real examples of how it should work, ie how we give those (sometimes random) items to MC.

I seriously propose bodyguard system for cases when MC is not a warrior or a mage. Otherwise all stories and quests will be peaceful, boring and predictable because it forces us to never attack him.
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 05:23:00 AM
The current mc setup screen is not meant to work with class traits. It changes stats directly, I think. And even though some options suggest additional items, there are no real examples of how it should work, ie how we give those (sometimes random) items to MC.

You're right, it's not even with stats, there is no system in place period. Partly because Gismo created the interface in the same manner as the Fighters Guild, not to serve existing logic but to sere his own idea/concept of expansion of the said logic.

In case of MC screen however... there was no logic to model that on for Gismo or for me as that preceded the modern base-traits system.

I think we should do that in an extensive series of labels, each choice of the back-story/personal-story is mapped to a specific (sometimes reusable label). After Start Button is pressed, the said label is called. We can even place some images and expanded versions of the story and/or more advanced logic to allow choosing items/friends (for example).

I seriously propose bodyguard system for cases when MC is not a warrior or a mage. Otherwise all stories and quests will be peaceful, boring and predictable because it forces us to never attack him.

We'll have something like that, yes.
Title: Re: General Discussion
Post by: Baltazaar on July 31, 2015, 05:47:17 AM
Just an idea:

How about letting the player earn classes, perks and mali?

That way, you enhance the replay factor mightily.

here is how I would handle it.

I would say, the skill gain could be taken from Call of cthulu. You start out with a certain percentage in each skill, based on your attributes, and can increase it, but you never sink under what you can do with your attributes.

Thus, lets say, if the average joe MC player starts fresh, he would have strength 10, dexterity 10, constitution 10, and athleticism , which is (strength + dexterity + constitution/3) 10.

Now, I would say, as an example, he wants to train for the perk "athletic" ( gives the char a bonus to athletic actions).

He goes to the selection window, selects train for "athletic", and then just enjoys. This way, his athleticism will not lower, because he actively trains for it.

On the mechanical side, athleticism is added to his to train skills. Thus, if he does something that would let him use athletics ( lets say, help with deliveries), every time he does that, he gets a possibility to raise that.

It could ( remember, I am only a writer, so all I spoew is possibilities)  work like this:

Roll 1 d 100, and if you get over your current number, you get +0.1 to that skill.

Now, the same could be used to train for a feat. Athletics, for example, could say , every 5 trainings of athleticism, while having the skill over 25, roill 1d100 and try to come over ( traitvalue). If you do, you get the trait / feat/wossname.

Now, classes I would definie as allmost jobs, so you can use the same mechanics on girls.

Each class has a prequisite, so you can have player only classes ( lets say, baseball fan), and you can have Girls only classes ( pig-pet), just by allowing the class to check for the prequisite IsPlayer or IsGirl

Now, on to greener pastures.

I would ammend the classes with one variable, Time served as, that I would add as an incremental, invisible trait. Just so you can check for this, and go, ok, if you worked for a year as a guard, you can join the military.

If you now want to train for a class, select the class from the droip down menu that shows you all the classes you qualify for with your current stats.
If your class is not there, train more.

Now, as sooin as you select a class, you begin to train for this class. The required skills, attributes, and so forth are added to your "to train list", and you can now train the required skills a bit fater, and they do not degrade. Each other skill, that is not part of the class, can degrade, and is trainable a bit slower.

The rate of degradation / bonus training I would set in relevance to the number of skills that get trained at the same time. So, lets say you are training for the perk, athleticism and want to train as a guardsman.

Guardsman adds strength,m dexterity, coinstitution, intelligence, melee and paperwork to the to train list, athleticism adds athletics. seven things to train at the same time, should only be fair if you level up the individual skills slower then if you had a class that only added, lets say, strength.

I would say, for X skills, each skill progresses at (1/x) times the speed, seems fair. So, if you use the skill athletics, because you are still helping carry the mail in your offtime, the skill would train every 7 times you trained the skill. Of course, there is also the handy option to just do the CLASS JOB, which automatically trains all associated skills every time you do it.

benefits:

- open ended. If a class is defined as a collection of skills, that have to be at various levels before you can enter ( and maybe a few feats), creating new classes is easy and can be done in a pinch.

- girls and the MC can use the same system.

- checking the prequisites allows you to call the same class different things. For a male, it would be escort, just as for the woman, but you could also implement that the class buttler, if selected for a girl, is called maid.

- many funs.

drawbacks:

- most likely lots of work

- definition problems.

- classes would have to be added via packs. not neccesarily a bad idea, but could be worked.
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 06:24:22 AM
I'm not sure about degradation part, it might quickly become irritating if balanced poorly.
But as a system developed to gain new (secondary) classes for MC and characters, it's a great idea.
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 06:36:36 AM
My vacation starts from tomorrow. That means I'll have even more free time than usual for the next month  :)
I'm going to make a main story, we have enough ideas and texts now. It WILL be based on the fact that MC can defend himself, either via battle class or with the help of his battle party.

As for MC screen, even if we'll use labels, to make it work I will need to know:
- how to give MC main classes. I suppose it should be different from just adding traits.
- how to give him items AND equip them right after that when needed without access to gui
- how to add a character to MC's battle party without access to gui
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 06:39:02 AM
Just an idea:

It is (sadly) too late for these types of ideas with almost 100 000 lines of code and content written for the game (there are successful commercial games in Python with 50 000 - 80 000 lines for example). Ideas in regards to mechanics, require understanding of a current setup of characters and should built/expand that setup (we do not maintain a summary of mechanics, but plan to do so as time permits, right now those are scattered all over the forums without reference to whats old and whats new).

benefits:


benefits:

- open ended. If a class is defined as a collection of skills, that have to be at various levels before you can enter ( and maybe a few feats), creating new classes is easy and can be done in a pinch.

This is already the case.

- girls and the MC can use the same system.

This also is already the case, it is just not sensible at the moment, mostly because MC = Male and due to a lack of graphical and written content, cannot be used in a lot of jobs that are overwhelmingly aimed at female workers. There is little to none logical issues to allow multiple genders all over the game but there is noone to add the content and checks to account for male options in Interactions and the jobs.

- checking the prequisites allows you to call the same class different things. For a male, it would be escort, just as for the woman, but you could also implement that the class buttler, if selected for a girl, is called maid.

That can be done always, under any system imaginable.

- many funs.

We'll see how the current system holds up in that area and how it does after we expand it.

*****************

drawbacks:

- most likely lots of work

Not really.

- definition problems.

Like what?

- classes would have to be added via packs. not neccesarily a bad idea, but could be worked.

Not necessarily.


All and all, having stuff like: "Must serve as Guard for x days to be in the military" is a bad bet (not mentioning it is almost always other way around :D in rl and most stories). At the core it is a simulation game and mechanics need to be less restrictive as in a Job requires skills to be done properly, if a characters falls short, job is preformed poorly with all of the consequences.

Earning Traits, Updating them and their variations however is a VERY, VERY desirable feature. It is something that we should definitely consider at some point but building a tree, with a system as broad as ours before it takes coherent shape is not a good idea. We need a couple more releases before we can come up with a decent design for skill/stat/trait trees that can be properly executed by AI and players alike.
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 06:44:00 AM
My vacation starts from tomorrow. That means I'll have even more free time than usual for the next month  :)
I'm going to make a main story, we have enough ideas and texts now. It WILL be based on the fact that MC can defend himself, either via battle class or with the help of his battle party.

I'll prolly have less time :(

So the focus should be on giving you as much dev tools as possible. I'll look into the new type thing for the show method and MC labels tonight/tomorrow morning instead of the jobs.

You can do the story as you see fit, we'll see how it plays/where it leads. We can call beta release Warriors Path or something like that to point out that we do not have other, well developed options (yet).

As for MC screen, even if we'll use labels, to make it work I will need to know:
- how to give MC main classes. I suppose it should be different from just adding traits.
- how to give him items AND equip them right after that when needed without access to gui
- how to add a character to MC's battle party without access to gui

It is in a small way, even if I explained you how on forum, I would still have to code in the system that calls the labels in a proper order. So I'll do everything in the code with extensive comments.
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 08:11:56 AM
Hm. Characters have many portraits for various emotions. How to control which one is shown when they say something?
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 08:27:57 AM
Hm. Characters have many portraits for various emotions. How to control which one is shown when they say something?

I'll have to take a look, it should happen automatically or have a force_mood="mood" option (when not desirable) but that predated modern tags system so I expect that to be broken for normal pics. However I don't think that was extended to portraits because that requires a more complicated code accessing Ren'Pys classes or maybe a variable we control instead (I'll prototype the best approach later).
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 09:20:18 AM
Well, the problem is they don't have a "mood" before the game begins, ie in cutscenes. Also during cutscenes I expect to show various portraits depending on situation when they say something. Thus, we need to control portraits freely during cutscenes when needed.
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 10:30:58 AM
I wonder how renpy will work on recently released windows 10...
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 10:49:03 AM
Hm, if you say so. I don't remember the code, so I might missed int as you assumed, but as far as I remember, I didn't. We'll see when I recode give gold to free girls option based on free input without using your examples for a start.

You said once that the images function tries all tags first, then first tag + one of each tags taken from the end of taglist. Is it still true? Because it's not the best algorithm for more than 3 tags.
If you have gm.set_img("2c vaginal", "indoors", "partnerhidden", "gay") and you don't have indoors, you at least should try to show 2c vaginal+partnerhidden+gay.

Ok... you'll have to clarify on how you want to handle this sh!t. I've misread this post and added an issue where we try all tags first and then keep trying while keep popping last tag until one remains. But now that I've read your post again, this is not what you've asked for at all. In this case you can put these tags in order of: "gay", "2c vaginal", "partnerhidden", "indoors" and get a very good match with the "reduce" type that I will push soon but it may still not be a very good bet in some cases.

I feel like we should a complex lookup order where:

1) We pick a main category to be a default of such exists at all (they usually do):

    # Main Tags:
    'nn': 'sfw',
    'nd': 'nude', # Nude Main Tag (Used to be subtag)
    'sx': 'sex',
    'bs': 'battle_sprite',
    'po': 'portrait',
    'qs': 'vnsprite', # Used to be quest

2) We should be able to provide a set of fitting location as a separate list (undesired locations are simply added to exclude):

    # Locations:
    'l1': 'no bg',
    'l2': 'simple bg',
    'l3': 'outdoors',
    'l4': 'indoors',
    'l5': 'beach',
    'l6': 'onsen',
    'l7': 'pool',
    'l8': 'stage',
    'l9': 'urban',
    'la': 'wildness',
    'lb': 'suburb',
    'lc': 'nature',
    'ld': 'dungeon',
    'le': 'living',
    'lf': 'public',

3) Auto-Mood/emotions to be handled similarly to how it is done now.

4) Desirable clothing tags to be picked from a separate field, just like in locations:

    # Clothes:
    'c9': 'lingerie',
    'c8': 'no clothes',
    'c3': 'indoor',
    'c2': 'formal',
    'c1': 'everyday',
    'c7': 'transformed',
    'c6': 'cosplay',
    'c5': 'ripped',
    'c4': 'revealing',
    'ca': 'armor',
    'ck': 'cow',
    'cj': 'cat',
    'ci': 'bunny',
    'ch': 'yukata',
    'cm': 'ninja',
    'cl': 'dog',
    'cc': 'maid',
    'cb': 'swimsuit',
    'cg': 'sportswear',
    'cf': 'schoolgirl',
    'ce': 'nurse',
    'cd': 'miko',

5) Desirable time/season to be picked in the same way:
    'z1': 'evening',
    'z4': 'winter',
    'z2': 'night',
    'z3': 'autumn'

6) And as tags in a normal sense, we just add the actions or sexual actions/positions to serve as a core for a choice together with the main category tag.

That would require a (very) complex lookup method but I think that is manageable. Maybe not right now, but once we discussed it and as time permits, something like this could work as an ultimate lookup type?
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 10:50:07 AM
I wonder how renpy will work on recently released windows 10...

Someone tested it to work perfectly without any modifications but I cannot confirm that myself...
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 11:25:06 AM
Yeah, I struggled a lot with the sex scene to make sure we have the best picture available, and it still has a chance to show not the best possible picture, though a slim one. And checks are really huge too.
We could use that system (main tag, location, clothes, other). However,

1) If there is no desirable location, we immediately go to simple bg/no bg. Because it's much better than showing something random.
Only when we don't have simple bg/no bg too, we try other stuff (like indoors if we don't have living).

2) Partnerhidden should have high priority. It's better to show not perfect bg or clothes than to show random guy when you do have a picture with a hidden guy.

3) After sex tag should be default tag for any sex actions. I mean, no hanjob at all -> after sex. No titsjob at all -> after sex. Etc.
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 12:13:32 PM
Ok, I've added a new long term issue referencing the posts. That will not be easy to code.

I've also pushed the "reduce" lookup type and generally improved tags lookup code. Also issue with huge images appearing when starting a gm is now fixed.

General ==> Chat looks absurd at the moment because it changes the image without a good reason, sometimes twice. You're at the beach, girl is giving a normal answer and for some reason changes clothing fitting to location to something else. Keep an eye on that when you troubleshoot the Interactions. I gtg for a couple of hours but I'll try to get something else done later tonight.
Title: Re: General Discussion
Post by: DarkTl on July 31, 2015, 01:34:49 PM
Yeah, I know. I'm still playing with interactions, they are not ready  :)
Ideally, if we want to show any emotions during the answer, we should change her portrait, not picture. But we don't have such an option yet (that really surprised me, it's one of the most common options in VNs).
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 01:43:21 PM
Yeah, I know. I'm still playing with interactions, they are not ready  :)
Ideally, if we want to show any emotions during the answer, we should change her portrait, not picture. But we don't have such an option yet (that really surprised me, it's one of the most common options in VNs).

Yeah, one of the reasons we don't is that "common" VNs have a fixed/known amount of images they use with a limited amount of characters. Ren'Pys equivalent is ConditionSwitch() displayable set up as a portrait image. I think it will be easy to do even in our case.
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 05:57:04 PM
Ok.. so I took a stab at improving .show() method and the portraits tonight. It went slow for numerous reasons but I believe that there is a significant progress!

1) Auto-Mood finally works properly!!!

- It does no longer mess up jobs!
Problem here was a completely flawed approach, I tried just adding mood to the tags lookup but if that did not work with all tags and started removing them one by one, it would end up with just one or two tags and the correct mood tag, but that no longer reflected the job at all :( even when there was an exact match available (for example with neutral instead of happy).

- Now that is fixed and auto-tags are added like this:
- If mood tag is provided with normal tags request, auto-mood is disabled.
- add_mood=False also disables the auto-mood.
- When enabled, game will interpolate the mood from joy (and later a lot of other factors I expect) and try to do the following:
*Look for any tag and a mood tag before falling back to just any tag under "any" type
*Look for a perfect match of all tags + moodtag otherwise
*Look for the very last possible combination of tags adding moodtag there as well
*Final fallbacks such as "profile" and "last_default" will also be tried in combination with moodtag before falling back to just them

- Moods are now being updated in real time, in the past that could only happen after Next Day.

2) Auto-Mood has been added to Dialogue Window Portrait window, also to be updated in real time.
- In order to override the Portrait:

Code: [Select]
$ char.override_portrait("profile", "winter", exclude=["indoors"])
This should cause a tiny profile pic to appear instead of a portrait one.

Always remember to restore normal operations with:

Code: [Select]
$ char.restore_portrait()
Or it will be stuck :(

3) I've added a new check to the show method to weed out all calls without size parameters. When/if you get errors, I'll just need the first part to know what went wrong so don't post full traceback.
Title: Re: General Discussion
Post by: Xela on July 31, 2015, 06:12:35 PM
Hm, if you say so. I don't remember the code, so I might missed int as you assumed, but as far as I remember, I didn't. We'll see when I recode give gold to free girls option based on free input without using your examples for a start.

You said once that the images function tries all tags first, then first tag + one of each tags taken from the end of taglist. Is it still true? Because it's not the best algorithm for more than 3 tags.
If you have gm.set_img("2c vaginal", "indoors", "partnerhidden", "gay") and you don't have indoors, you at least should try to show 2c vaginal+partnerhidden+gay.

Ah, btw, I've started an issue on this but I want to add another idea to remember when I get around to that, mainly auto tags similar to mood for locations and clothing.

More often than not, clothing and location can be extrapolated from Action, Location, Last_Label and other factors if not specified from the get-go. I am sure that will not be easy to code but it may be worth it... especially when game code is more mature.
Title: Re: General Discussion
Post by: DarkTl on August 01, 2015, 06:04:12 AM
So basically when I need a sad portrait during scene, I write $ char.override_portrait("portrait", "sad")?

What about stuff like $ h = chars["Hinata"].say, when we tie char to letter and then write h "Now I can talk too!"?
Title: Re: General Discussion
Post by: Xela on August 01, 2015, 12:36:40 PM
So basically when I need a sad portrait during scene, I write $ char.override_portrait("portrait", "sad")?

What about stuff like $ h = chars["Hinata"].say, when we tie char to letter and then write h "Now I can talk too!"?

Same thing, portrait is shown by the Girl.say attribute. Normal assignment (g = Character(char.name)) will not show the portrait.
Title: Re: General Discussion
Post by: Xela on August 02, 2015, 10:01:55 AM
Well... F#ck... :)

I've added more comments to MC Setup code and updated it quite a bit in general. It can now also call labels for extra stories and to apply possible effects. If the labels do not exist, they will not be called.

One of the problems is that this system was designed from a perspective of Gismo (Graphics) with complete disregard to mechanics or content. That resulted in a very complicated code setup for something that looks innocent enough.

There are four "variables" that we work with:

1) Main General # Fathers Main Story.
2) Main Sub # Fathers Sub Story
3) MC General # MCs Main Story
4) MC Sub # MCs Sub Story

called in this order. Obviously Main General/Sub does not have to be a fathers story. Given a different Header and Texts, it can be anything at all. Same for MC... It can be anything at all as well.

There is currently no way of adding base classes because I am not even sure how to handle that, best way is prolly to bind one class to Main General and another to MC General. If both end up being the same, game will simply double up on the effects of the base class following the normal logic, but I wanted to ask if that is a sound idea before coding that in.

So, decisions to be made:

1) How do we handle main classes?
2) How do we handle potential level-ups?
- These two can be done only once by my code and cannot be processed in labels for a simple reason that we require base-class and a properly leveled character in order to apply other bonuses to it (stats, skills, items). Possible solution is to allow each of the four options to carry an optional "level" and "baseskills" fields or expect specific options to have such fields and throw errors if they do not.
3) What are base stats for the character? (like push normal stats to 50% of the maximum allowed automatically and apply bonuses in labels)
4) How do we handle possible collisions of contents set in different labels?
- It can be done by careful design of each tree maintaining complete freedom of content at cost of consistent design or by setting up guidelines of what each label is supposed to do doing the opposite.
5) Do we allow other (none based) traits (sensible traits) to be applied to the MC?
- This can be done in labels since normal trait effects are applied on per level basis retroactively.
6) Do we agree on any specific guidelines for maximum amount of bonuses allowed and some way to calculate that?
- This would be very difficult to do for everything... still this needs to be addressed.
7) ...anything else?
Title: Re: General Discussion
Post by: DarkTl on August 02, 2015, 11:09:18 AM
1) We can allow MC to freely (but for a fee/via quest or something) change main classes, unlike girls. Well, in the future, when there actually will be more classes than setup screen can handle.
Many games allow at some point to change your character's stats and skills in case if you messed up. Also in many games you cannot select any class in the beginning because some of them are much more powerful than others, and you need to unlock them during the game.

The gui is not perfect for existing classes, yeah. The worst thing is that branches are unbalanced. We have plenty battle classes, but two non battle. It will not look good at all.

2) If you mean level-ups during mc setup, there shouldn't be any. MC has lvl 1, that's all.

3) That's too simple. I'd say it should be from 25 to 50 % of the maximum allowed before bonuses in labels.

4)  We don't actually have that much space if you want to be able to select any class at all from the beginning. All the left part is for classes then, and it might be not enough eventually. So there will be very few bonuses that is simple to design without collisions.

5) I don't see space for it in gui, like at all... There should be 1-2 optional traits, yeah, but if at the left we select classes, all we have is 6 options at the right. That's not enough.
And actually I want to use the right part for quick selecting of initial equipment, so if you want traits for the next release, we'll need another screen or additional gui elements. Or we need a separate screen to select items.
Title: Re: General Discussion
Post by: DarkTl on August 02, 2015, 11:11:56 AM
That's why I proposed battle+non battle mandatory classes btw. In this case gui will work great.
Title: Re: General Discussion
Post by: Xela on August 02, 2015, 11:18:17 AM
*Any of the choices can carry a lot with it! Not just one basetrait or one item. That's the point of this design and why I've added labels.

I thought about it for a while and it's prolly the best bet to allow any choice do anything and simply leave it up to the content creators to create sensible trees preserving as much creative freedom as possible. If for some reason there is more than two baseclasses, I can have the gae picking two at random from the choices submitted.
Title: Re: General Discussion
Post by: DarkTl on August 02, 2015, 11:33:33 AM
Then it doesn't solve the logic of selecting one or two main classes, but not more.
Title: Re: General Discussion
Post by: Xela on August 02, 2015, 11:34:58 AM
Then it doesn't solve the logic of selecting one or two main classes, but not more.

Huh?
Title: Re: General Discussion
Post by: DarkTl on August 02, 2015, 11:44:10 AM
If any label can do anything, then it might as well try to give a main class. While other labels don't.
Title: Re: General Discussion
Post by: Xela on August 02, 2015, 11:52:13 AM
If any label can do anything, then it might as well try to give a main class. While other labels don't.

No it can't. It will either not work at worst and make a mess of thing at best. Main classes would have to be added as special clauses and applied before these labels are ran. I've pointed that out in my op.
Title: Re: General Discussion
Post by: DarkTl on August 02, 2015, 12:00:06 PM
Then I don't how to do it based on the current gui. It has nothing to do with this concept.

One of the options is to allow player to go though the mc setup screen twice, with the second selection to be optional. Thus, at first he selects one class, and then another one.
But in this case colllisions are unavoidable.
Title: Re: General Discussion
Post by: Xela on August 02, 2015, 12:30:42 PM
Yeah... maybe this could be a solution:

1)

and

3)

can both add one class each, labels are ignored unless we add more logic. 2) and 4) add special bonuses in labels. Whatever is chosen in one and three we display on the screen somewhere (name of the actual class may not correspond to the name of the choice or not be apparent from icons/images). If both choices are he same, we make it known that all of class bonuses could be doubled.

I think you initially suggested something along these lines but I understood what you meant just a few minutes ago (bit tired today).
Title: Re: General Discussion
Post by: DarkTl on August 02, 2015, 12:40:53 PM
I downloaded Machina of the Planet Tree game today, made based on the newest rpg maker. It has high quality resources, and I mean everything, from animation and bgs to sounds and music.

I pushed very tiny first step of the story. So far I only wasn't able to figure out how to play two sounds at the same time. Jump to story label is in the second starting menu, where you select how to set up MC. One sound stops other instantly, so I had to put pauses between them. But it's not a perfect solution, ideally both should play.
Title: Re: General Discussion
Post by: Xela on August 02, 2015, 01:19:31 PM
I downloaded Machina of the Planet Tree game today, made based on the newest rpg maker. It has high quality resources, and I mean everything, from animation and bgs to sounds and music.

"Newest" is not the right word here, it's quite old :) But the game is nice, judging from youtube videos. High Quality resources if managed properly are not a big issue for engines like RPG Maker or Ren'Py if managed properly.

I pushed very tiny first step of the story. So far I only wasn't able to figure out how to play two sounds at the same time. Jump to story label is in the second starting menu, where you select how to set up MC. One sound stops other instantly, so I had to put pauses between them. But it's not a perfect solution, ideally both should play.

We need more channels I guess, we already have a couple for events but those are bound to events folder in sfx (I think). I'll start a new issue and take a look at that later, it's very easy to do.
Title: Re: General Discussion
Post by: Xela on August 03, 2015, 12:43:28 AM
Pushed a tiny fix to tag lookups, left some stupid code there.

Also we do in fact already have extra channels for sound. Please take a look at how they are used in the SM event (they already have a path defined all the way to the sfx forlder I think). If they are acceptable, close the ticket. If not I'll add new once tonight (will be traveling for better part of the day so I'll be on android).
Title: Re: General Discussion
Post by: DarkTl on August 03, 2015, 07:07:09 AM
I thought about game plot for a some time. We will release game story bit by bit, with every new release. I also want to tie every part of story to a pack or a few small packs. Characters from those tied packs will play an important role in the main story.

So, the first part of story:

- is based on naruto characters. All our naruto packs are needed. All naruto characters (and some ninja-type characters from another, minor sources) will be in a separate location, Hidden Village (duh). Somewhere in the forest on the city map. It should be hidden from the beginning until you unlock it via quests. It will be just another usual location, like city streets, but with naruto chars, another bg and ninja tools in shop. I have no idea how to create locations, not to mention hiding and unlocking them. Also it means that those characters can be found only there until you hire them.

- MC will find Sakura (because she has the best picture for this type of event) and maybe someone else in the beginning. She won't be able to join or become a lover until later events, but he will know where to find her. That means system when you know where friends live.

- You need to do many things inside SE (that means fully working SE ) to finish quests. Like send a specific character to a specific location.

- There should be characters that will not join or become lovers before you finish some quest, no matter disposition and stuff.

- Your idea about new, custom buttons to initiate quest-related dialogues with girls is welcomed too.

- In BE there should be scripted battles when we give a custom party (consisting of one or more npcs) under player's control instead of MC and girls. This is for non-battle classes, when you looking for someone via optional quests to deal with danger instead of you.

It's not what I need now, I need time to build scenes based on already available tools anyway. But that's what I need to finish the story how I want to.
Title: Re: General Discussion
Post by: Baltazaar on August 03, 2015, 08:05:36 AM
^^ Liking the story so far.

Suggestion to get to know girls / lovers: ( only suggestion)

Make it basically a dating service, or some sort of lonely hearts agency.

The basic thing is, make it a mechanism where you randomly get some girls, or you can arrange for a second date, if it is a reoccuring char.

Each sort of date you have with them raises the sympathy meter, and at a certain point, the girl agrees to meet outside the agency, and hands you a small token of hers.

The hidden location popps up if you enter the main screen, and you have the token in your inventory.

The token of course can also be gathered as a quest reward. Of course, it would be favorable to have the token as a final stage of sympathy, where you are basically free to get her as a Girlfriend if you so choose to.

So, mechanically, it would look like this ( as an example).

1. Player pays the enrollment fee in "Lieutennant TI's lonely hearts club " ( now with a band).

2. Once per week, it holds social events. ( for example, going to the theatre, having a walk, small rowing boat day on a country side lake, feeding birds together, ect) You can go there with a date that you already know, or request a date from the regular random pool of girls.

3. The events are actually very small mini games, that give you the first sympathy bonus with the girl you go there with, and allow you to win small prizes. ( think a groupon for a dinner date for two)

4. If you go there with a regular girl, you basically have the ability to wine and dine her, and to eventually recruit her.

5. if you go there with a unique girl, you get special text. For example, lets say you have this sakura. Sakura will be pleasantly surprised that you do not try to bed her at once, and will confess that all the other guys in her village are idiots. That was why granny ( read: tsunade) told her to go to the lonely hearts club ball.

6. Bit by bit, in the dates, you get spoonfed the information you need to get into the story of the girl. ( storyphase) For example, sakura will show up in a nice dress for the second date, but will ask to sit the group activity out, because "she hurt her foot working". So, the two of you retreat to grab an icecream, and have a little chat. What was it again she was working as? Slowly but surely, the sympathy meter will go up.

7. At a certain point, you will notice someone following her. she is too busy chatting about her life ( for the first time, someone actually wants to hear what she has to say, and not just talk about ninja stuff) to notice, but you will. You now have Sakuras Minigame: Evade the tail. basically, a mini choose your own adventure game, where you have to get rid of a tail. Luckily, The ciuty is full of distracting stuff, and you can get rid of the tail very quickly.

8. If sakuras sympathy meter is high enough, ( lets say 25/100), she will smile, and get it out. she works as a ninja courier. BAM, you got a problem with that? The MC of course brings some horrendous flirting lines. He claims that he could do it as well, and it seems a much more fun way to date, so the two exchange tokens. from then on,. you ovcasionally get sakura bringing you some lunchbox, or inviting you to dine on some sort of rooftop, and the player gets shown the hidden village, and inside of it, sakuras home, because he has the key.

9. Sadly, sakura is insanely busy, because the ninja courrier agency is so swamped... it is allmostr as if someone is keeping her from dating the MC.

10. Could he perhaps talk to the other girl, that does the recruiting for hired hands? Bam, you can talk to Ino.

11. Ino is not convinced. After all, she likes sakura very much, but she thinks sakura is lazy, so she gets for guys that take all the work off her hands. The player does not even look like he can fight, or lift heavy things, or keep his own in a social convcersation.

12. After trhe sympathy meter is high enough, you get a letter of recommendation, and inos token, you can now woo ino. ( allthough, her idea of dating is basically, get a free pair of hands, and someone to share the break lunch with)

13. with the letter of recommendation, you get a visit from tsunade. She confirms she is really Sakuras Granny, but it is more of an adopted title. ... The poor girl, no taste in men....  For the first time, you get a decent overview, and she basically tells you, all the young men of age are busy going to streange cities, and according to customs, the girls are not allowed to follow them, so the girls decided, on their own, they would start to bring home dates as well. because, you know, we are just like sisters, and sisters do share a lot of things...
She herself would not mind sharing the player, because it was a long time since she dated last, but possibly the player does not have a thing for older women.... OOOps, what is this? Did she just flash you cleavage, and coincidentially loose her token?

14. over the next few dates with girls from the hidden village, you find out that the hidden village is kind of a family thing. The have to stay hidden, or else they will loose the air of mystery, so they rarely get the chance to date.... Envy as such is allmost unknown, because they are actually all related to some degree or an other, and keep the family business up, and why shouldn'*t you be happy when someone else finds happyness? Of course, why would it be a problem to have, lets say, two "ninja sisters" share a boyfriend? And they have been looking into more lucrative areas, so they would not be opposed at all trying out their ninja skills in a fighting party to see if adventuring pays better then delivery services^^

15. After the MC has helped the girls get rid of a couple of bigger cases, the caseload inexplicably lifghtens, and he gets taklen as a junior member of the ninja delivery service. meaning the dates now can go past first base, and only occasionally, he has to deal with a ninja or two, fighting him on the rooftops because of "what he has been doing to his sister..."

Does the idea work?

+ can be easily expanded. because with so many brothels around, lots of ladies will be looking for dates. I am thinking, it would not be far off to have weird dates with half the usual suspects.

+ allows to get past 3 stages. beginning to stage one, where you just meet up during the dates, stage one till stage two, where you gain acess to the other ones house, and can recruit them into parties, and stage two till stage three, where they will agree to work for you, or even move in with you.

+ gets you going, and allows youz to tie the acessibility to storyline items. Of course, each "set" of girls is tied to one storyline item. So, once you start dating sakura, you may get an earring of hers. Then, ino, you get a hairband of hers. Then, once you become a member of the ninja delivery service, you get a membershiop card, where your scores with each of the girls are noted down. This way, you keep the clutter low.
Title: Re: General Discussion
Post by: DarkTl on August 03, 2015, 09:00:51 AM
We want dating system, yeah, but not with the next release. This is because there are so many ways to build it based on ideas from similar games that we don't even know where and how to start... But yeah, that's how I want to do it too more or less.

Also I once saw a naruto parody comix where female ninjas had to undergo sexual training before going to any serious missions in order to not lose virginity while being captured and raped by enemies. It looks like a good side quest from Tsunade as the main village medic, ie make N minor characters from the village to lose Virgin trait  :D
Not by force, of course.

Btw we could use minor, simple, short quests for secondary characters from naruto pack. It's Karin, Konan, Kushina, Naruko, Temari, Tenten. If you could write them, that would be cool.
Title: Re: General Discussion
Post by: Baltazaar on August 03, 2015, 01:20:27 PM
Ok.

First quests in the secret village:

Pure delivery missions. Just a sort of Intro. You get told to accompany Sakura on her delivery missions.

Tsunade: "Ok... so, the cat dragged in a man... are you sure you want to work with us? To be quite frank, you will have to do a lot of grunt work, and such.... and the pay, at least for the grunt work, will not be good. But my, you are easy on the eyes, and I am sure we find some... Interesting tasks for you. "

If confirmed:

"Ok, traditionally, When the girlsd start in the business, they accompany a female ninja on some of the easier missions. I guess in your case.... You work well with Sakura? "

"I have eyes in my head, young man. Don't worry, it is nothing forbidden... But she hurt her foot on one of the last missions. Untill she is ready to work well again, she will have to do a few light deliveries. Nothing where I expect too much trouble, but she is dear to me. Your task will be to just act as her distraction. A ninja does depend a lot on their designated distraction, and they have a lot to do during the easy missions. "

If accepted:

"Very well. Think of this as an extended date. This is what you people do nowadays, right? good. Just help her out,. and when she needs a distraction, you step in. Don't do anything too weird, but make sure all eyes are on you when she needs it. "

The distraction missions are more then just easy. basically, a tutorial of sorts, that shows you the basic elements of the game, where to go, how to fight, and so on.

Examples could include:

- Sakura delivers some hot noodles to a few city guards. The guard captain comes around the corner, and she tells you to go and ask him silly, because the guards are not supposed to eat on duty. So, ask the increasingly suspicious guard captain about what to do in the guard, how to help out, and so on, while you "see" in the background Sakura hobbling up a wall, enter a window on the third floor, hand off the noodles, and come back down. It will bring the story closer to you, and explain that you can work for the guard / train there, and what the guard actually does.

- Sakura delivers some condoms to the daughter of the weaponsmith. All you need to do is to get a dagger from him, and he will do the rest, entranced about the possibility of measuring a dagger to a willing customer. In the meantime, you see sakura do a few ninja tricks, walk on the ceiling, and leave, soon after without her box of condoms. It shows you how to buy a weapon.

- Sakura has to deliver a porn mag to the son of the renters association president. The older woman will gladly show you what hoops you will have to jump through to buy property.

After the tutorial is finished, you get handed your card from the ninja delivery service. It also lists a compatability score with each of the ninjas.

Then, Tsunade has a second thing for you.

"Listen....  You are a strong, goodlooking young man, MC... I am working as the head medic for the village. As such, it is my position to watch over certain... customs. There is one....

Ok, I am bad at this. Listen, have you ever been with a girl?"

"Oh? That sounds.... not bad. Well, here in the hidden valley, we have an older custom. When a female ninja qualifies for the jobs above clearance C, there is a real danger that she gets captured. And while you are a man, you do know that females do get a "special treatment", right? "

"I know... It is uncomfortable to think about this. I mean, I personally.... Lets just say sometimes, I just happened to slip, and accidentially get captured, because I liked the way certain of the guards looked. Strong, well in shape, nice big hands.... What? I used to be a hormone crazed teenager once as well. And we are pretty good at training our girls how to escape allmost anything. Plus, women like me have urges as well..."

"Back in my days, we kept it in the family. Don't look at me like that. You usually had an older member of the family, that liked the young ninja a lot, and that agreed to , you know.... be their first. "

"Come on, drop that look, young man. It was not that horrible. I know, modern morals, but who do you want to be your first one? Some silly little goose that barely knows what she is doing, and that will do her best not to make your first time as horrible as possible... or some older, more.... Experienced woman, that can take care of you? "

"Well, I like to imagine, young man. Anyways, that was back then, but now, things are different... I have all the young girls, and each and everyone of them has their own head. I mean, they have brothers, uncles, friends of the family... Not bad looking, I assure you, and some of them quite experienced.... I would have taken my time, and my pick, trust me on that one.... But the problem is, they have all those "Modern" ideas, about finding love outside... "

"Listen. I am not asking you to rape them, or to force yourself on them. If you get idea, it would be a miracle if you survive the attempt. I am just afraid that they will... get hurt. Their first time should be with someone that they trust, someone that has shown them how beautifull a thing this can be. Not some slobbering pimply faced boy that has to drink his courage, pukes all over their dresses, and then can't get it up. "

"I can't force you to do anything here... I know, you had that idea as well, right? Despite me knowing a few mixtures, and powders, that would turn ou into a will less cockpuppet under my command, I am honest about my intentions. I want my girls to have a first time that will stay with them forever, and that will shield them against all the bad sex they will have. A girl, hell, even a woman can go through much if she has good memories. Good memories carry you through being imprisoned, captured, and a whole lot more. "

"I honestly don't know what I can offer you for this. But let's look at it that way: You are hormone crazed, they are hormone crazed, and you have the word of a head medical professional that these encounters will remain without consequence. Take as much or as little time as you need, and work your magic. "

"And lets say.... If you would like to... a few of the older ninjas would not be unwilling to help you out, Afterwards, if you catch my drift. I for example could teach you a few things about medicine, and I am sure if I have a word with the shopkeeper, there could be a discount for you... Others could help you train your skills with weapons, and I am sure the girls themselves would not be opposed to something longer, if you catch my drift. Just play your cards right, and I am sure that you will have a good time. So, do you want to give it a try?"

"Excellent. here, this is a folder with the girls that would need some help. I would suggest you learn all you can about them. "

Ok, and to finish up with a decent first short quest.,...

Tenmari.

Using your map of the hidden village, you make your way up to the training arena. Just near the corner, you see the Girl that is resting. her body is glittering with sweat, and for the umpteenth time, you ask yourself if the Ninjas of the village could wear any skimpyer outfits. She nods towards you.

"So, you are my mid day? "

"Ok, playing dumb.... Listen.... Tsunade is nice and all, but she is a bit... you know, traditional. "

"Let me be more blunt. I know she promised you money to be my first time. Don't act shocked, don't turn around... Yes, she is watching us, as we speak. "

"You honestly think... Ok. lets just go with this.... Are you any good with weapons? "

"Don't act surprised. I am supposed to be, according to her, a Tsundere. I don't know what this is, but she gets drunk, and calls me that. Stupid cow with her slurred accent is allmost not understandable. "

"The old hag is not very subtle, when she drinks, she is all teary eyed, and then she blabbers on about how traditions are important. It does not take two trips to the library to find out about their traditions. As if they  were anything special or unique..."

She gets ready, and grabs her big fan.

"Listen, I hate to break this to you, but I had a life before I was sent here. There are villages like that all over the countryside. Anyways, I have two baby brothers, and even when it would break the old hags heart, a girl can only take a bath with her baby brothers for so long untill she notices... "

"Ok, now, you act offended, face me. Good, you are a natural... She can not read your lips when you are facing that way. And I just raise my fan like that, wave wave, that's right you old holstein bitch, cry your heart out, no spying on people that could be your grandchildren. Anyways, I have tried it with my brothers, and I am not as inexperienced as most of the girls here anymore. Don't look so surprised, at least I didn't jump my father, like certain people. Now, we can do this one of two ways. Either, we pretend to argue a bit, I beat your clothes off of you, you beat my clothes off of me, and the winner drags the looser behind the bushes.... Or, since you know my secret, I could let you go, because you "did not want to", let the old hag spy on you untill you return, and then not hold back when I return to kick your ass for refusing me. Anyway, fighting is good for the figure, gets the blood going, and it's allmost foreplay. "

"Come on, I'll try to be gentle. Plus, If you are really want to know... there is a Boy that I have an eye for. But granny does not want to let me fight against him, and keeps him away from me. If I do her stuid little thing, she will no longer be able to keep sending him away when I have time off. So, yea... you would be helping me. Don't get your hopes up, but at least, let's enjoy the fight. "

*fight against Temari*

*fight against Temari, 2 days later, when she visits the player in his house, and insists on getting her share of the action now, demolishing parts of his living space. *

Afterwards, the two of you lie on the ground, your muscles hurting. Temari, now inexplicably calmer, rests your hand on your chest.

"It wasn't.... as bad as I expected it to be. You need to work on your weapons, you need to train to get rid of the flab, and even the fouryearolds in the village pose more of a challenge.
On the other side.... "

She smiles, and rests her head against your naked chest.

"You were pretty.... good with the groundwork and all. Nothing like my brothers, but.... does not mean bad. At all. "

She blushes a bit.

"I-... hope you did like it as well.... I mean, not that I particularely care, but.... I did not know it was possible to do it like this.... If you want to, I would like to train some more... at a later time.... "

She blushes harder, and stands up, a bit wobbly legged.

"And not that you get a big head because of this... But you are kind of cute, and I do not mind training with you at all. The next time, at first, I can teach you a bit more about fighting, and then you can teach me a bit more about groundwork.... No, get up, get dressed, here, you can have my water bottle, and don't worry about the scarcthes, you make it easy to forget that you are a civillian..."
Title: Re: General Discussion
Post by: Xela on August 03, 2015, 01:43:14 PM
I don't have any strength left to even read through the post :)

These stories should be written with mind that there will be more so an event/flag/personal flag trigger or a quest should be used for controls. I'll wrap up classes and MC stats tomorrow morning if I can, then I really want to put in some time into the jobs loops.
Title: Re: General Discussion
Post by: Baltazaar on August 03, 2015, 02:15:25 PM
Simple as this: You get what you request from me.

You requested a "simple quest", and I gave you a simple quest idea, with some sample text.

My quality falls and rises with the material available to me
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 04:32:52 AM
My quality falls and rises with the material available to me

I wonder if we should put in a couple of days into a wiki... I've seen a couple of setups that are very convenient on GitHub.

===
I'll add the classes to MC and build it setting stats to 35% of their maximums. I think randomization here is not desirable because MCs start should be static and differ on bonuses applied. If we do something like we discussed before (between 20-50%, player that picked extra intelligence for example can end up having less than someone who didn't but lucked out on the draw).
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 05:30:05 AM
Ok.

First quests in the secret village:
Yup, something like that, maybe even a bit shorter if it's hard to come up with. Try to do it for others too.
Title: Re: General Discussion
Post by: Baltazaar on August 04, 2015, 07:13:50 AM
Karin.

You walk through the villkage, as you flip through the files that you got from tsunade.

karin., You allways had a thing for readheads, and even more so for such fiery ones. Plus, intelligence?

It allmost comes as a surprise to when you notzice the feeling. You canb notz place it at first... Where is your Folder? With the files of the girls?

You turn around, and there she is. reading her own secret file. Oh oh.

"I am what? Obsessively in ...."

Following your first impulse, you try to snatch the files back from her, but she just steps aside, and you hit the floor.

"Cruel to a certain extent.... That's rich coming from her..."

She does not even look at you, just reads, but still, she seems to be just milimeters away from where you want to grip.

"Mock fight against karin, she just blocks, evades or uses similar tactics. If she is brought to 50 %, the storyline continues. "

Finally, she looks up, seemingly surprised you are still here. Sghe... she did not even get out of breath, right?

"Ok, listen, I know why you are here, so,m lets walk a bit. I can sense granny up there, and I don't want her to eavesdrop in. Here, I give you even the files back. Are you sure these are files? I mean, they seem to be like the sorthand some of the perverts would use.

Anyways, lets walk, let me grab your arm like this, and my head on your shoulder like that.... For the next time, could you use less agressive parfum? Or, if possible, I know where we will be undisturbed. "

She leads you to the hot springs.

in the mens section:

"It's not like anyone here would mind. Most of trhe men are away, and us women don't really like it here. First of all, little bit disappointed that you used that crap of a file on me. I mean, I would have just told you. It's not as if you would care anyways, most likely you just want to fuck and could care les about me ... "

"Well, in that situation, it's traditional to give you a quest, right? It's these crappy romance novels that granny reads. Oh, and then, whoe is he, he gathered a harem of willing cumdumpsters around him , and still, he lacks the moral fortitude.... By the way, she is watching us. The hot water obfuscates our lips, but she can see that these are bottles lavbeled with sake. her favorite sake, in fact, that she is not allowed to drink anymore, because she is now the head of the village, and used to get drunk and let people pull a train on her. Don't worry, it's actually lemonade, but in these conditions, lets see if she knows the difference. "

"Ok, so, I would do you right now, right here, but it's a bit... complicated. Not that I am a prude or anything...but I am very sensitive to chakra, as you may have read. for me, it's like a sixth sense, and mind you, you are pretty cute, but your chakra... lets just say you are a choirboy. "

"To change the chakra, all you need to do is wear things of an other ninja, and his chakra will overpower yours. "

"one of the only ones that has a chakra that could mix well with yours would be sasuke. Yes, I think that would e fair. get the stuff from sasuke, wear it, and you can have me. "

"What? It'll be just sex. I mean, you are not prude, I am not prude, there will be no messy afterthings.... Don't think this will be anything longer, though. You are just a stepping stone to sa... someone else. If you had at least a modestly interesting chakra, I could rethink that, but like this...."

*she stands up*

"take a good hard look at this body.... That will be wrapping itself around you, stroking you, crying out in passionate extasy as our chakras become one... these breasts... These legs..... Are you already feeling motivated enough? Then get me the things to spice up your bland chakra, and we will see just howe dry I can milk you. Here#s the key to his room, and come back.... i'll be waiting..."

*she leaves the bath, swaying her hips seductively, and not at least shy about her appearance. *

Unlocked new place: sasukes room, and hot springs.

sasukes room:

you follow karins directions to the room, and stand in front of the door. Breaking in was never a speciality of yours, but it was for a good cause. You allmost freeze as you hear the voice of the boy from behind you.

"You are the guy sasuke said would come, right? "

"Well, I am sasukes neighbor,. he tutors me in math sometimes. he said he was going away for a few weeks, and hgave me a packet to give to you. "

"Look, he wrote it down. "

*hands you a small note*

"Kid, there will be a guy looking by later. he willö have been to the baths reccently, but he will be from the city. he is looking for my packet. make it interesting for him. "

"sasuke is like that.- he is really, really smart, and he has all the girls that like him. it's like he knows what other people will do before they do. "

"Now, we can do this one of three ways. One, You fight me, and the winner pays for the loosers meal at the noodle shop. I don't have that much koney, so you will have to take the number six with extra duck. Two, you have a lot of money, so you give me the gold to get the toys in the toy shop. I don'*t need you to actually buy them for me, just the money. And three, you help me with my math homework. Deal?"

1. medium fight. make it clear that the kid has been training to be a ninja, and balance the fight accordingly. if the kid wins, he eats like a beast in the noodle shop, and the mill is medium ammount of gold. The fight can be repeated the next day, with a bit of a lesser difficulty because the kid was on a diet and uses the MC to pig out. If the MC wins, he gets the packet of clothes, and a note.

2. straight up exchange. a high ammount of gold for the clothes and the note.

3. several small math problems in exchange for the packet and the note.

The packet is a set of the training clothes. Surprised, you notivce that they are allmost precisely your size, and have been unwashed.

The note:

"Dear MC.

Thank you for being predictable. When you read this, In will be on a mission in some exotic land. My friend has suggested we check out the red light district. meh.
If I have my information right, this is part of the old rites that Granny wants to bring back. How boring!

My clothes should fit you. Karin is a bit weird. If she wants to bite, let her, and is she calls you sasuke, let her do that as well. I tried to talk her out of this, but it's really sad and predictable. She has topld me that she wants me, and things my aura smells nice, or something like that. How weird. I think she is perverted, and just likes me.

I left this with a friend, give him like a goldcoin. too much, and he will pig out at the noodle shop. he is on a diet.

Sasuke.

P.s. I hope you will not take advantage of our girls. As a wise man once said, we don't pay prostitutes to have sex, we pay them to go away afterwards. so, just go away afterwards, or at least don't be boring. "

MC can now dress in ninja training suit, and head back to the hot springs.

There, his suit will be torn off by karin, and he will basically jump his bones, not caring about anything, or uttering a single word.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 10:03:00 AM
These stories should be written with mind that there will be more so an event/flag/personal flag trigger or a quest should be used for controls.
That doesn't matter, I'll easily tie them to quests.
I pushed the first scene, that was quite fun  :) I suppose you could improve it like you did with the intro when you'll have time.


@Baltazaar (http://www.pinkpetal.org/index.php?action=profile;u=6448), I forgot about Hinata. She could use a quest too.
And if you don't know who's Naruko, it's basically a female version of Naruto that looks like his sexy transformation technique. Ie an alternative version of him from another world, where he didn't got an Y chromosome from parents.
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 10:19:28 AM
I asked quite a while back to leave Hinata out of quests/events so I figured thats why you didn't mention her :) I can pick someone else to script unique encounter for if you need all Naruto chars for this.
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 11:26:41 AM
Killer! :)

I think MCs init classes and stats are more or less ready. I'll push soon.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 11:37:37 AM
I need to know how to give an item to MC or a character. Or take.

And I need to know how to add locations to the map, unless it's so complex that you need to handle it personally.
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 11:57:02 AM
I need to know how to give an item to MC or a character. Or take.

Code: [Select]
hero.inventory.append(items["Excalibur"])
hero.inventory.remove(items["Excalibur"])

I'll make it easier and simplify with:

Code: [Select]
hero.add_item("Excalibur")
with the next push.

And I need to know how to add locations to the map, unless it's so complex that you need to handle it personally.

We still have three maps that player can choose from (small button at the left-bottom corner of main screen) :)

If you want it to be a proper location like all others, you'll have to crop out of all three maps in gimp or photoshop (unless we pick just the one and stick with it). If you want to add it oldstyle, like the Dark Forest entrance is added now, you can add:
Code: [Select]
        <forest_entrance name="Dark Forest"
              x="9" y="570" type="location"
              image="content/gfx/interface/buttons/blue_arrow_left.png"/>

Where forest_entrance is the name of the label, x and y are the coordinates on the map to place the icon ("content/gfx/interface/buttons/blue_arrow_left.png").  rx="40" ry="55" if I remember correctly resize the image if you are using an icon that is also used elsewhere and do not want to create one of a proper size for the map.

label forest_entrance should look like any other label, scene a background, show it's screen, run events and quests (or not run them). Check the locations, it should be simple enough to figure out.

If you want to crop, you just need to add new location to the same xml file, all other parameters are meaningless and if you do not provide an icon, game will expect a crop (better work is cut out I think) for whatever the map is in use by the game.

Code: [Select]
        <city_jail name="City Jail"
          x="0" y="0" type="location" rx="0" ry="0"
          image=""/>

This is an obvious location added by cutting out bits in maps.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 12:05:43 PM
Nah, it's too complex for a h-game to have 3 maps. Since we can add new objects freely at Gismo's map, we just should use it. Dark map will be used in the intro when we blow it up, and white one will be used in the future inside scenes.
But again, to navigate the city we should use Gismo's map, it's much easier to extend.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 12:08:06 PM
We however need logic to unlock locations on the map via quests.
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 12:12:27 PM
I think that locations would have to be recoded as well, it's not that difficult. But that will be a part of expansion where we will track characters movements and far keeper world simulation, for now this very old system we took from Alkion will do.

Next are the funcs for adding/removing items and adding an ability to view base classes for MC. I also want to take a stab at adding all the new info to girls profile properly, but that may take a while cause that is fairly complex sorting and a very complex screen.

We however need logic to unlock locations on the map via quests.

Start this as an issue. This part is most definitely not ready yet. I'll have to review map code and maybe move it off xml to json for consistency. I'll remove the other two maps as well as the change the map button.
Title: Re: General Discussion
Post by: Baltazaar on August 04, 2015, 12:46:57 PM
Ok, dudes.

Look at it that way:

What I am providing is entry level adventures.

I will not be pissed if my adventure does not get taken. All I do is take opportunity at the writing progression. Plus, I allways hope I do honor the individual character of the girl.

So, without further ado:

Hinata:

Looking for hinata is a bit strange. Basically, because you already found her.

You do have to get used to those ninja women, you remind yourself, as they have lots of practice in sneaking up on people.

"Are you... Are you... MC?"

You nodd, a bit unsure of what to say. Those eyes....

As her smaöll, gentle hand grips yours, you just let it happen., She is allmost pulling you along with her, towards the woods. You have to admit, you like women who know what they want.

After a while, she stops, and looks up to you.

For a while, you get lost in those eyes. Strange, they allmost seem blank. Both of you blush, allmost simultaneously, and for a whilem, you just decide to sit down on the trees, and listen to the mid day sounds.

"So... you know about tsunade as well? "

a shy nod. You have to wonder if you were the only one who did suspect tsunades plan to remain a secret?

"She drinks a lot... and then  gets sometimes loud.... "

Even the voice is cute. You nod empathically, and scoot over to her, testing carefully how close you can get. This is more like the things you imagined. Shy, nice, so cute, and very very young....

"I... I like to drink some tea sometimes... I made you some too, if you want....."

She reaches for her bag, and pulls out some tea, which she hands to you. You take it, and have a sip from the bamboo container, listening to her explain.

"And then she said, we would all get... she used some very confusing words, half of them I had to look up in the dictionary. "

You nodd. You yourself had some suspicions regarding the morals of such a woman like tsunade, though you would never have said so out loud.

"and while the others said things, I went over to the library, and ... had to look some of the words up. "

You very slowly smile, and understand why some of the japanese are very prone to cuteness. If someone had weaponized cuteness, this girl would be deadly.

"And then ..... "

You smile, and reach out. carefull, like petting a hurt doe, you stroke her hair. For the first time, she seems to twitch, yet hold her head in place. Allmost as if she was expecting to get hit.

"If I make you uncomfortable, you can say so, and leave. "

She looks up to you, and gets a bit redder. You smile. This is textbook. She finds me interesting, and different, and the hormones....

"you are not afraid of me, are you? because I w..."

The headshake comes a bit too fast, allmost as if you had expected it.... But the smile....

You have the strong idea that something is wrong.

"Would it be a smart question to ask why you are not afraid of me? "

She looks up at you, trembling... but the smile on her lips is still there.

"you... promise to not be angry? "

Very carefully, you shake your head. "I won't be angry...."

"I know I am not as strong as the other women, or as fast, or as brutal... I guess even I could even be captured by someone like you. But...."

You have very mixed feelings about her buts.

"because of the things in the books, I suspected that tsunade would bring someone here who would take us against our will, and hurt us, and do things to us with their members....

So, I prepared a slow acting nerve poison, that targets the brain and the spine.  "

Automatically, your eyes move towards the bottle of tea. That tasted so good. And you drank half of it in one sip.

As she grabs your hand, you feel a certain numbness.

"You have to understand, it's not you, it's me. I know you are a very special boy, that will one day make a girl, or an other boy feel very very special, but... There is this boy I like... I know him from when I was 12 years old. He allways was there for me, and helped me, and even when nobody else liked me, he made me feel special. I tried to end it all, and it was only his kindness that allowed me to continue. I want to give myself, out of my own free will, to him, when he wants me, not because Granny said I had to. because all of this, my work, my friends, my life now, I owe to his kindness. "

You can still only think of nerve poison. Was that tingle there before you had drunken it? or that numbness? You read somewhere that if you did not move a lot, the poison could not spread.

"And you remember how I said that I went to the library? It turns outr that the old customs that tsunade means said in the rolls that "I had to give my virginity to you, and you had to take it with kindness. "

Poison... why posion.... You would have preferred fighting... at least you would have seen it coming...

"It turns out they do not define virginity, so the poison I gave you was of my own design, and so I named it virginity. I offered it, you took it, and thus the spirit of the rules is not broken. "

... What?

"I want you to understand something. I do not like shouting, or hitting people, or being mean as much as the other girls. "

Could have fooled me.

"But I know about sex and all. I know why it is important. and I know that I want it to be my decision whom I have sex with. Nobody elses. And I understand that I sometimes have to be pushed in the right direction, and I know that sometimes, I need to have someone to tell me what to do, but my first time is mine alone to give away. "

You very carefully try a nodd. She gives you a most radiant smile.

"I knew you would understand! So, here is what we do. I stay here with you for a bit more, we have some tea, then I go off, and go to sleep, and then, after a while, you go. "

"Poison?" Your voice sounds horribly thin. You can already feel the poison coursing through your veins.

"Oh? well.... " She smiles, and puts her fingers together. A gesture that you know seconds ago would have allmost caused nosebleed because of excessive cuteness, and now has only a slightly psychotic tinge to it.

"I am a medicine ninja, yoiu know.... If you are very good and well behaved, and do not try anything.... strange, what you drank can be just as harmless as a tea of cinnamon and sugar and some sweat red bean paste, with a bit condensed milk. But if you try anything strange, against my will, I would not be able to stop you, but I will do my best to forget what I gave you, and confuse the words. You can ask anybody, I do that a lot. "

You carefully try to move again. Was it really just....

"What if someone asks? How... it was...."

She seems to think for a moment.

"I will tell them that it hurt a bit, but afterwards, it was nice. But I think I was too nervous to really enjoy it, and it still feels hurt. I will however say that you were a gentleman and were very kind to me. I guess you can make up something similar? "

Very carefully, you nodd, and try your best to not seem aggressive, and strange.

You spend 15 minutes more in the woods, sipping tea, and having thoughts about still waters that seem to run very very deep.

For a second, you want to ask her why the ruse, the poisoning, and all. But then you remember. These are girls that have been trained to kill. For her, it must have been as much of a hopmwork as walking for you.

And still... you are not able to shake the feeling that she could as well have fooled you. With those eyes, it is really hard to tell if she is lying or saying the truth. You decide to play it safe, and do nothing at all, just like she asked. Either, you just narrowly passed a horrible, painfull death, or you just got played on an epic scale. You feel sorry for the boy thjat she has decided for.
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 01:11:12 PM
Ok,

Code: [Select]
hero.add_item("Excalibur")
hero.remove_item("Excalibur")

Code: [Select]
char.add_item("Excalibur", 5)
with 5 being the amount of items will work as well.

Going to take leave remove the change the map button and make sure default is Gismos map. Then take a stab at girls profile screen.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 02:03:24 PM
Ok, dudes.

Look at it that way:

What I am providing is entry level adventures.

I will not be pissed if my adventure does not get taken. All I do is take opportunity at the writing progression. Plus, I allways hope I do honor the individual character of the girl.
No, you do very useful job. Writing takes a certain talent that me and Xela both lack. Quest making =/= writing. One thing is to come up with a general story as a sequence of events, and another is to write unique stories for characters, with unique dialogues and reactions.
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 02:06:17 PM
I have a lot of decent ideas for story lines of my own but I need to debug/write out a few thousands lines of code before I can get around to adding content :)
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 02:46:52 PM
with 5 being the amount of items will work as well.
Will there be an error if you'll try to take items they don't have?
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 02:51:13 PM
Will there be an error if you'll try to take items they don't have?

I don't think so. There will be an error if you try to take or add an item that doesn't exist.
Title: Re: General Discussion
Post by: Baltazaar on August 04, 2015, 03:07:11 PM
Ojk, lets put it like this:

Lets put down the basics of the hidden village story arc.

1. How I imagine the hidden village:

a watered down versuion of a ninja village. all the attractions from the series are stiull there, including the big landmarks, but the rest is more village like.

2. How to get to the hidden village?

perform one of these fisting finger formations, according to a scroll. If you did it right, you will suddenly be able to see the hidden village. If not, you will be able to walk through town square and not "get it. "

3. How do I gain acess to hidden village?

Sakura will, after soime misshaps with the player, admit that they make a good team, and ask him to trust her. Then, she will perform some hand motions, and will literally disappear.

It is up to the player to remember a short sequence of 3 hand signs, to gain entrance to the hidden village. If he does so, hge will be greeted by Tsunade, who thinks he is a cutie, and took way too long, Ino, who is annoyed, and sakura, who goes, "told you he would not just stare at my chest and get it. "

4. ok, what happens now?

Tsunade takes the player to her study, for a bit of tea with the girls.
She will explain that MC's eyes did not decieve him: all men from puberty to 50 are gone. She describes to him that the ninjas run a delivery service, since ancient times, and that the men had allways taken the long distance deliveriues, and the women the short distance ones. Thus, they were the first ones to hide their village in plain view, and cvhose to share it with the inventor of the shield over the city.

Then, tsunade will be straight forwards. The women have a whole load of deliveriesm, and would need some help. Of course, she could not trust MC to be a fighter  equal to her girls, but what is as importrant for the girls is a designated distraction.

What follows is a two parted tutorial, where they deliver to the game features. At first, in the hidden village, to get the mechanics straight, and to do a "dry run", and then in the real world. Bit by boit, the MC learns about how to be as distracting as possible, and fiunally also learns about the features of the game. Sakura will explain to him smiling that what they do here is what they givce childrenb of six years old, to get them to start training.

5. So... that is all in the hidden village?

Nope. basdically, it should have 3 attractions.
- the various shops and sights. I am counting a noodle shop, an arena, a bookstore, ect...
- the delivery service, and the mission central. For inner city short distance, and long distance missions.
- the card that tsunade gives him, that has portraits of the girls. Those are the girls of the village. After the beginning adventure, "In case of capture", you can get their sympathy. Bit by bit, you can unlock them for dating, training, and whatever else tickles your fancy.

6. really? That sounds.... Little.

Remember, you guys wanted to make it modular, small, and expandable. Thus, for example, a girl that is not yet ready would have headaches, or look extremely pissed. No man would approach that...

But once her scene is complete, you can implement it, and it goes life at the same place.

Plus, you can do so much more, but what you need first is a skelleton for what you want to happen in the village.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 03:17:39 PM
You are talking about life simulation already, not the village itself. When characters do stuff regardless of player, and he has to deal with that.
Of course we want to do it as well, and we will. Not just in the village, but everywhere.
Title: Re: General Discussion
Post by: Baltazaar on August 04, 2015, 03:53:27 PM
Ok.

lets put it that way.

I need some hints on what ki8nd of shit I should write for you, if you guys want me to write better / increasingly funny / character driven. At least give me the surrounding circumstances.

Like, "Ok, at this point, we need filler adventures, 2 steps tops, multiple endings supported, story wise it should not be too hard on the char, and it should be pretty realistically, because he will not have the mad super powers now. "

Just going "write an adventure for karin" leads to results like you saw above.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 04:01:01 PM
What's wrong with Karin event? Looks like a great quest to me, and easy to code too. Keep it up.
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 04:15:19 PM
I need some hints on what ki8nd of shit I should write for you, if you guys want me to write better / increasingly funny / character driven. At least give me the surrounding circumstances.

I guess just the ideas and writing, maybe even submitted in Ren'Py script to make Darks job easier would go a long way.

This is our first base line in the game so we'll all be learning from it. We'll have to find the best way to integrate it into the game, carefully managing what may happen if one of the characters dies somehow or if the character must be excluded from game world and MC control or can be a park of it with a very careful conditioning for progression of the story line.

So it's hard to impossible to say what is needed, I think that a series of subquests adding to some form of main, longterm quest with multiple ending will do the trick nicely. It would allow us to draw the most experience from it to allow more different storylines in the future.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 04:17:42 PM
*Btw Kushina cannot be a virgin for obvious reasons, thus cannot be a part of Tsunade's quest.
But she still could use a small quest of her own.

I guess just the ideas and writing, maybe even submitted in Ren'Py script to make Darks job easier would go a long way.
I feel like the need to work with renpy scares many people unfamiliar with coding. Better to have dialogues and code them than to have nothing  :D
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 04:29:37 PM
*Btw Kushina cannot be a virgin for obvious reasons, thus cannot be a part of Tsunade's quest.
But she still could use a small quest of her own.

We agreed not to adhere to canon when it doesn't suit us. So there is no need to go out of the way.

I feel like the need to work with renpy scares many people unfamiliar with coding. Better to have dialogues and code them than to have nothing  :D

Oki...

But Klaus knew absolutely nothing about coding and still managed to do well for a while.

g "Line"
mc "Line"
g2 "Line"

menu:
    "Choice 1"
    "Choice 2"

and jumps are not too difficult to figure out.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 04:40:17 PM
But Klaus knew absolutely nothing about coding and still managed to do well for a while.
What you describe is for dialogues only, anyone can do it for a minute (literally), so it's not worth it. But actual quests will require flags and checks, and even stuff that you'll need to code yet.

We agreed not to adhere to canon when it doesn't suit us. So there is no need to go out of the way.
I dunno, she is pretty hot as a milf already. While we don't have a canon, if it's not broke, don't fix it.
Title: Re: General Discussion
Post by: Baltazaar on August 04, 2015, 06:08:54 PM
Ok, to finish this before it starts.....

my plan would have been to put the female fporm of naruto as a "willing" accomplice.

Like, female naruto just happens to hang lazily back, gets a special chain from tsunade, and since she just happened to get caught in the female form, well, she is not on the list, but tsunade insists that female naruto gets the same treatment... Without using chakra

At first, naruto is squeamish, and goes, but I like girls, and tries to talk herself out of the situation....

But then, BAM, she sees the beauty of it.

The guy has to pay... but I am... OH... oh... OOOOOH, I am a girl.....

read, naruto gets wined, dined, and her quest is literally to just pick up her tab at the noodle shop.

Then, when it gets to celebrating her evening, the player can either delay the entire thing for a week, in which case, the event starts anew, or "Threaten to tell Granny".

naruto , seeing the possibilities to get out of this tries to change back, to give MC a "Crying game" moment, and kind of becomes very quiet when it is realized that this chain prevents the use of chakra. the last comment:

"Oh.... I guess... please be gentle? "

What was soft and like a breeze with the other girls is high and deep with naruho, and time seems to freeze as the two chakras mix.... and suddenly, the woman next to MC is Kushina, looking back at the player. She will ask how tsunade is doing, and comment that it is very lonely in here... so there is a possibility.

Either, mC fucks her, or her child ( no hint that female naruto is actually a male. ). If he fucks her, it will drain him a bit, but she would be very thankfull. She would make it spo her child does not remember a thing, and that it is very nice for her child.

If MC decides to just fuck female naruto, at a certain point, theree should be a chance that the chain comes off, and female naruto transfers to male naruto.

Either way, if the trust is high enough, and enough noodles have been bought, MC can tell naruto about his mother, and how she feels lonely inside.

naruto will consider this, but will go and onlöy consider the thing under three options.

One, he gets fed, wined and dined, and all of that like today.

Two, he gets to be female naruto, because seriously, no homo, and otherwise, it would be weird.

And three, his mother makes it so all he remembers is a pleasant dream.

And thus, usuing his sexy jutsu, and parts of his mothers chakra, the player has created Doictor jekyll and Mister hyde.


Thoughts on that?
Title: Re: General Discussion
Post by: Xela on August 04, 2015, 06:41:25 PM
Dark can decide on this story line. I've fixed a couple of bugs and updated girls profile screen a bit. Still loads of work to be done and maybe I can turn it into 3 screens instead of four for the general info, I'll think about that tomorrow.
Title: Re: General Discussion
Post by: DarkTl on August 04, 2015, 06:54:17 PM
Wow. I can safely claim that I would never came up with such a story  :D

It goes well enough until the point when we have two characters in one forever. While this makes sense in terms of pure story, in terms of gameplay it means that Kushina can never be used by player, or even exist, at the same time as Naruko, no matter what we do. What means that we have to code a lot just for one single unique case.

In other worlds, they have to be separated in the end. They still can have special events, like fuck two in one even after the quest is finished if player wishes to, but it shouldn't affect other systems, forcing us to change so many lines of code. We could say that she still has to return inside Naruko from time to time (for example when they sleep), but it shouldn't be two in one all the time.
Title: Re: General Discussion
Post by: Baltazaar on August 05, 2015, 05:20:36 AM
Wow. I can safely claim that I would never came up with such a story  :D

It goes well enough until the point when we have two characters in one forever. While this makes sense in terms of pure story, in terms of gameplay it means that Kushina can never be used by player, or even exist, at the same time as Naruko, no matter what we do. What means that we have to code a lot just for one single unique case.

In other worlds, they have to be separated in the end. They still can have special events, like fuck two in one even after the quest is finished if player wishes to, but it shouldn't affect other systems, forcing us to change so many lines of code. We could say that she still has to return inside Naruko from time to time (for example when they sleep), but it shouldn't be two in one all the time.

simple. From a mechanical standpoint, it looks as follows:

-When naruto is asleep, she can act.

- it becomes easier for hzer to put naruto to sleepo if naruto has been winded and dined properly. Naruto, during this time, just notrices he gets very very sleepy, because he ate too much, and so forth.

- if naruto is asleep, his mom can gain controll of the sexy jutsu, and can manipulate the image it creates just fine. ( she will of course choose her simple base form)

- Canon is kept ( rock lee can train / run while asleep just based on muscle memory whi8ch makes a force inside you controlling your jutsu more then explainable, naruto has allways been complimented on the size of his chakra, ect, and so forth. All you guys would be doing is to explain what is obvious a bit better ( the large life force is not totally that fox demon, it is also the spirit of his mother, )

- plus, we could involve tsunade in this a bit. as a medical ninja, it could be very easy for her to install a switch back.

- mechanically, just overfeed naruto. at a point, he will pass out, and his mother will take over. His mother vacates the premises if naruto is ready toi come back again, and will take good care of the body. So, you only have one character, and have a sort of semaphor that indicated which character it is. So, program one character, program 3 duifferent sets of stats, and use the semaphgor as an indication which character is up.

0= male naruto.
1= female naruto
2= his mother
Title: Re: General Discussion
Post by: DarkTl on August 05, 2015, 06:09:01 AM
- Every character has a unique id in the game.
- All pictures and stats are tied to this id.
- So I suspect that in order to gain free access to character's stats and pictures, and make it work everywhere in the game without any issues we need to replace Naruko's id with Kushina's id when they change, and vice versa.

We need to know how difficult it will be for Xela. The idea is original and fun, but if it means thousands lines of code just to make it work, well, he has many other things to code at this point too.

Added hire for sex option for SIW occupation. It uses the same internal logic, ie requires high disposition to remove virgin trait and checks skills in the same way. But you can initiate it with any prostitute regardless of disposition, if you have enough money.
Title: Re: General Discussion
Post by: Xela on August 05, 2015, 06:59:26 AM
- Every character has a unique id in the game.
- All pictures and stats are tied to this id.
- So I suspect that in order to gain free access to character's stats and pictures, and make it work everywhere in the game without any issues we need to replace Naruko's id with Kushina's id when they change, and vice versa.

We need to know how difficult it will be for Xela. The idea is original and fun, but if it means thousands lines of code just to make it work, well, he has many other things to code at this point too.

There is no changing ids, that will not get us anywhere except getting a different image base :)

Best way to substitute a character with another is when they are not busy, through custom interactions but game is not well prepared for that yet. I'll try to finish the girls profile screen tonight first, later prolly work on jobs if nothing pops up. You may want to throw a bit of mind control of some sort in the story instead, prolly bound to Ino, that is always a popular option.

Transformation is also a very popular option but there is not a lot to do for male Naruto in the game right now.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2015, 07:32:49 AM
If we'll add male characters at some point (like you wanted), we'll add male naruto too. For now we can use him outside of gameplay, only inside events, ' cause there is not much for him to do indeed. If it's not too hard to code a simple transformation system when we replace in the game world one character with another via interactions using custom dialogue, then let's do it. There are many such characters with double personalities and/or bodies.


I have an idea for the main quest for Ino's abilities, ie reading mind during interrogation. And I think it will be a good idea to have a side quest with Itachi, maybe as the leader of the village, to convince him to help you with boss battle (amaterasu  ::) ) if MC has no battle class or simply doesn't want to bother  :)
Title: Re: General Discussion
Post by: Baltazaar on August 05, 2015, 09:05:15 AM
dudes, I can write you all around that, no quiestions asked.

Just in a few episodes of naruto, I got the idea that if there was no actual contest, Naruto would be pretty much lazy.

So, since hanging with the older male ninjas sounded bad, and quite complicated, he decided to get out of it by using his sexcy jutsu, and masquerading as a girl m, while officially being "Locked" up in the hospital for having broken his leg.

The problem for him was, Tsunade saw right through that, and decided, let him have that lesson.

She captured him, as he out of boredom snooped around her underwear drawers, and gave him an opütion. Since he was so intent on masquerading as a girl, she would bet him that he would not even last a month as a girl, considering he relied too much on his masculine use of chi and chakra, and could not even think his way around using as much as possible.

Naruto agreed, since the other possibility was sending him naked to the male ninjas, and telling them what had happened.

Tsunade of course was not only old enough, but also wicked enough to plan this, so it would fall together with the "traditions" she wanted to revive.

So, naruto was under her direct care, and not allowed to get visitors, while naruho, a cousin of the boy, was visiting the village.

What tsunade expected to happen would be that by surrounding himself with female chakra, narutos imbalances would be lessened, and he would be,  at least for a time, manageable. ( plus, with the mixing of the chakras, the male chakra from MC would cause narutos chakra to upp the female chakra production...

She ensured that by giving him a collar. Any time he would use in a male way, the collar would get a little bit tighter.

What actually happened was that the upped female chakra awakened the trapped spirit of his mother in him. ( after all, his mothers and his fathers chakra mixed in him, so there are chakras from both in him. )

His mother, a longtime friend of Tsunade, agrees with the punishment, and has admitted to the fact that though she thinks naruto is good just the way he is, she kind of wanted a daughter.

mechanics:

If we do it story wise, the writiung for this is easdy.

if we do it in final fantasy style fighting, it gets a bitr harder, unless we recognise one thing:

The sexy jutsu is purely cosmetic.

It does not give naruto special powers, It does not change his stats, the person on the inside is still the same.

So, apart from a cosmetic change, and some dialogue rewriting, the actual process ( stats, attributes, skills ect ) does not change at all. That is why the form semaphor is just a hint for the story. becausde, female naruto would say different things then male, or even "mama" naruto.

would that work better? I did not find enough info on the sexy jutsu, but I believe it could be changed to that and no harm would be done.  ( allowing for genderbending versions for things like an april first joke...)
Title: Re: General Discussion
Post by: Xela on August 05, 2015, 09:19:46 AM
*New push:

I've cleaned up and updated a close to final version of girls profile screen, rewrote a lot of Gismos code to make more sense, at least in the areas I worked with.

Going to take a break and take a look at something else afterwards.
Title: Re: General Discussion
Post by: Xela on August 05, 2015, 10:00:26 AM
would that work better? I did not find enough info on the sexy jutsu, but I believe it could be changed to that and no harm would be done.  ( allowing for genderbending versions for things like an april first joke...)

It'll be easier to overwrite BE to take a different image than BE sprite than the former idea for sure.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2015, 10:41:28 AM
I can confirm that everything works on win10. I couldn't stand preinstalled win8 on my laptop anymore with its tablet interface  :D
I already noticed that the system now can play animated pictures without third party software (about time  ::) ).

So, apart from a cosmetic change, and some dialogue rewriting, the actual process ( stats, attributes, skills ect ) does not change at all. That is why the form semaphor is just a hint for the story. becausde, female naruto would say different things then male, or even "mama" naruto.

would that work better? I did not find enough info on the sexy jutsu, but I believe it could be changed to that and no harm would be done.  ( allowing for genderbending versions for things like an april first joke...)
Um, so you propose to change only pictures (naruto/naruko/kushina) and dialogues without changing the actual character?
Title: Re: General Discussion
Post by: DarkTl on August 05, 2015, 10:59:50 AM
@Cherry, may I have some male expressions from you db? I mean 00017000, 00017012, 222_char_34, 396_char_472, 545_Mgren02b, 1157_ch1157, chM0022, tc_b_oyaji_01_01a.
Title: Re: General Discussion
Post by: Baltazaar on August 05, 2015, 11:54:19 AM
Um, so you propose to change only pictures (naruto/naruko/kushina) and dialogues without changing the actual character?

Well, that is what modular design is about, correct?

You make sure that the ciore fuinctionality works, and where you know it needs a bit of work, you make sure it works in version 2, and as soon as you go into release, you go to version 2, and polish up.

But yea. I figured, since you talked side characters, and minor chracters, you would not mind if I treated everyone as a minor chracter first, and then when I had some ideas, reworked them.

For example, the easiest way for naruto would be:

version 1: male naruto is chained to a bed. Female naruto serves as a minor character, that can be wined, dined, and most enthusiastically fucked. ( minor quest)

version 2: we know of the existance of naruto mama. Naruto mamma wants her baby to have it good, but she herself has a few things left to do. So, in effect, female naruto, when we trigger the overeating, gets exchanged with mamma naruto. Stats, abilities and so on stay the same, just a bit more scripted replies, and perhaps 2-3 quests.

version 3: Mamma naruto becomes dateable. Female naruto has passed his punishment, and becomes male naruto for the first time in ages. He only uses it to pee against thjings, and then changes back, because he liked being female. Tsunade gets wind of what is happening, and gets the player for some research into the condition ( 2 medium quests added, 4 minor quests.

version 4: Tsunade wants to implement a force prism, that should lock off a tiny bit of narutos chakra, and allow naruto mamma to no longer use her sons body, but use one of the shadow clones, to form like her. Major story is added, major quest, a medium quest, and two minor ones, and at the culmination of all of them, Tsunade manages to unlock the chakra prism, with the effect that Mamma naruto manifests. what follows is a foursome, with naruho, mamma naruto, and tsunade, who enjoys the perverted nature of it, and would very much like to see more endings like this, with everyone just ending in a peacefull orgy. Female naruto, naruto and mamma naruto are now dateable and can be taken in the party, each with their fully fledged natures and topics.

Thus, do what you want inh each version, but make sure if you upodate the naruto storyline, you update it till the stepping stone. Thus, if you update, it does not feel incomplete, but instead makes sense.



Title: Re: General Discussion
Post by: DarkTl on August 05, 2015, 12:01:10 PM
Yeah, I like these 4 steps.
Title: Re: General Discussion
Post by: Xela on August 06, 2015, 03:43:26 AM
I've pushed a couple of updates. It's already possible to hide the locations, now I just need to add a simple way to unlock them (it's obviously perfectly possible right now, it's just that it requires writing inconvenient Python for loop to do it instead of a simple line of code I want to have in the future).

Also please start a bunch of small issues instead of large once, it's easier to work with, close and leave proper comments when work is split is small bits.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2015, 04:23:13 AM
I'm not sure how to handle this:
characters with unique quests should be unavailable for hiring and/or lover status and/or friendship status before you finish those quests. I suppose it means that every unique character with a quest should have flags that will prevent it until you disable those flags via quest?
Title: Re: General Discussion
Post by: Xela on August 06, 2015, 04:39:35 AM
I'm not sure how to handle this:
characters with unique quests should be unavailable for hiring and/or lover status and/or friendship status before you finish those quests. I suppose it means that every unique character with a quest should have flags that will prevent it until you disable those flags via quest?

If you're going to use a flag for this, make sure it's very unique so it can be found without collisions when we make an actual system for these things and adapt. You're right, at the moment, flag is prolly a way to go here. You should set them up in special labels I think, so we can keep JSON files nice and clean.
Title: Re: General Discussion
Post by: Xela on August 06, 2015, 05:11:59 AM
Locations can be locked/unlocked now. Check the Hub for moar info. You can look at the other locations and add new once copy/pasting and adjusting the code as required.

I will standardize the locations code in the future and I've starts an issue on that but it's very longterm with everything else that we need to take care of. I have a good idea on how to do that using code prototype I wrote for MoR a few days back but even that would require a huge expansion to work in PyTFall properly. For now we'll just have to live with a bunch of very similar code at every location.

I want to clear Items of inheriting from Structure class, that is a poor implementation we have since Alkion times.
Title: Re: General Discussion
Post by: CherryWood on August 06, 2015, 01:32:04 PM
@Cherry, may I have some male expressions from you db? I mean 00017000, 00017012, 222_char_34, 396_char_472, 545_Mgren02b, 1157_ch1157, chM0022, tc_b_oyaji_01_01a.
Here it is:
mega.co (https://mega.co.nz/#!4hknFDoY!SqwdpkQjqowvwOSzEq1wYQHprMsObkJMgpqtaAoYubM)


edit: sry, I never noticed it works like that... fixed this and some other bad links
Title: Re: General Discussion
Post by: DarkTl on August 06, 2015, 02:19:07 PM
It's not a valid link for me because it doesn't include encryption key. That's why it's so short, and as a result no one cannot access it, maybe except you.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2015, 03:03:46 PM
I need a proper way to show dizziness. I hoped to use blur, but surprisingly renpy doesn't have anything like that, probably because it might not work with old, weak cpus.
Also, this (https://github.com/XelaPy/PyTFall/issues/67)  :)
Title: Re: General Discussion
Post by: Xela on August 06, 2015, 04:11:12 PM
No idea about dizziness, I'll take a look, maybe there is something on lemma.

I'll take a look at the Issue as well.
Title: Re: General Discussion
Post by: Xela on August 06, 2015, 08:15:37 PM
Oki, last push for the night...

I need a proper way to show dizziness.

I've looked in into ways they display dizziness in VNs. Basically there are 3 approaches, I either found and fixed old code from Ren'Py or wrote it myself. Click on Examples button on main screen to view the effects and pick the one you like, I can prolly improve on it or at least make it more convenient.

1st way: Mirage effects, it crops the image into "lines" and applies zooming algorithms to them. You get kind of a heat haze effect out of it. This one is very, very demanding in terms of computing power.

2nd way: Creates another image with lower alpha channel, slightly displaces it and shows in quick succession. You get double vision effect.

3rd way: This one is by far the most common, it sizes down the image to 1/10th of it's size, restores it to the original size getting a blurry picture and shows it and the original in quick succession. You get an effects as if your vision was loosing focus. This one can also be improved a lot (I think) by creating 3 - 10 images of different quality this way and showing them in succession. For now it's just the one image.

Also, this (https://github.com/XelaPy/PyTFall/issues/67)  :)

1) We have a "world" music channel leading to sfx/music/world and "gamemusic" channel, leading to sfx/music. I will not redirect default music and sound mixers because they are used all over the game and in Ren'Py documentation with assumption that path starts at root. We can make add channels of you like.

2) I've added story folder, images there will be tagged with bg story, so:

Code: [Select]
show bg story night_forest
or
Code: [Select]
scene bg story night_forest
will do.

Also, keep in mind that it generally is a bad idea not to resize large images if you know their size in advance, Ren'Py will detect that and act appropriately, you may get performance improvements out of it, especially in areas where you use special effects and/or transitions over these images.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2015, 06:40:51 AM
It is worth mentioning that now the game will not run if you don't have a story folder, even empty one.

As for dizziness, I like a lot the second and third ones. I will use them in different circumstances.
The first one is more like a drunk effect. While it might be useful in the future, I suppose we cannot demand modern gaming pcs from players while building a sprites based game. It took about 15% of my pc's cpu time while other effects about 5%.
Title: Re: General Discussion
Post by: Xela on August 07, 2015, 07:29:55 AM
It is worth mentioning that now the game will not run if you don't have a story folder, even empty one.

It runs with an empty folder for me, there is also nothing in code that should prevent that. I just doesn't know how to push empty folders without checking with manuals.

As for dizziness, I like a lot the second and third ones. I will use them in different circumstances.
The first one is more like a drunk effect. While it might be useful in the future, I suppose we cannot demand modern gaming pcs from players while building a sprites based game. It took about 15% of my pc's cpu time while other effects about 5%.

I'll look into improving the latter two.

Code for the first one works off scanlines, it was written as a proof of concept that a game like the original Doom or Wolfenstein were possible in Ren'Py even without tapping into OpenGls 3D pipeline. Later it was adapted in some game to cause visual effect in the desert, where the image at distance gets distorted because of heated air. Later they created Mirage class. It's broken in modern Ren'Py but I've fixed it and added an option to change height of a line, original would only allow height of 1 pixel. I think it can be further improved, maybe even perfected but that would take me quite a while due to lack of experience, so it not worth at the moment.

Second one is just a part of knowledge database, I just changed two parameters. I actually want to know how it functions, it a very short code that works in a way I am not really accustomed to, may proof very useful for the future, unrelated matters.

Third one I wrote myself, I'll improve it so it takes just the one line of code instead of 10 or 15. It was more like an extra option they use in almost every other software adapted to work with Ren'Py.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2015, 09:18:24 AM
It doesn't work. I dropped a picture into the story folder and used show bg story slq with dissolve. It gives me IOError: Couldn't find file 'content/gfx/bg/locations/slq.jpg', meaning it tries to find it where we keep all other bgs.
Title: Re: General Discussion
Post by: Xela on August 07, 2015, 09:35:00 AM
It doesn't work. I dropped a picture into the story folder and used show bg story slq with dissolve. It gives me IOError: Couldn't find file 'content/gfx/bg/locations/slq.jpg', meaning it tries to find it where we keep all other bgs.

My bad, I copypasted without a proper check. Try it again. I've also pushed improved version of third dizzy effect, where vision gets worse with every new show. Also it is now possible to provide arguments to the second version, it can create really fun double vision effects. Arguments are:

Code: [Select]
double_vision_on(img, alpha=0.5, count=10, dist=7, delay=0.4)
where alpha is the alpha channel of the second image, count is the amount of images, dist is distance the images offset from the normal image and delay is how long the whole thing takes. Unless I misread the parameters, it is using Ren'Py classes that are now considered to be outdated so this type of code came before my time.
Title: Re: General Discussion
Post by: Xela on August 07, 2015, 09:44:51 AM
surprisingly renpy doesn't have anything like that, probably because it might not work with old, weak cpus.

Especially the last two version are actually really timid in a sense of requiring cpu power. I think that it's lacking this doesn't because there are too fecking many possibilities here and even within those possibilities, there are too many possible options. It was not difficult to code and even easier to tweak and in the future, maybe even parametrize to allow different behaviors from the same func.

PyTom promised perspective transforms in the next Ren'Py version, that I think will be really cool. But atm, I didn't see any relevant code to that on Ren'Pys GitHub page.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2015, 10:57:23 AM
I wonder, can't we disable everywhere the window for portrait when narrator speaks? It's empty anyway, and doesn't look good.
Title: Re: General Discussion
Post by: Xela on August 07, 2015, 11:20:23 AM
I wonder, can't we disable everywhere the window for portrait when narrator speaks? It's empty anyway, and doesn't look good.

Gismo and I decided that it was better this way... we can restyle but I don't see a reason to even bother with revisiting styles for it. Not before a next major cleanup of styles anyway.

Edit: It is one whole image btw, so it means even more work :( I think we'll just have to redo the dialogue window once or twice before it totally kicks ass. It's a still a LOT better than what I made for old Alpha.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2015, 02:24:13 PM
Btw Git Extensions knows how to move files between folders instead of deleting and reuploading files again, like our old repo did  :)
Title: Re: General Discussion
Post by: Xela on August 07, 2015, 03:08:25 PM
I know, noticed that twice when refactoring code already :)
Title: Re: General Discussion
Post by: Xela on August 07, 2015, 05:05:04 PM
Hgehe... now I had to delete all the .rpyc files because of your push :)

I'll try to get an early start tomorrow, maybe do some stuff for jobs so there will be no more pushes from me tonight.
Title: Re: General Discussion
Post by: Gismo on August 08, 2015, 06:03:36 AM
I wonder, can't we disable everywhere the window for portrait when narrator speaks? It's empty anyway, and doesn't look good.
We can divide them, but there is a frame with the name too.
First I just need to finish the screen "girl interactions" in terms of graphics. Then we can change the conversation frame.
Another week and I will have at least some free time  :(
Title: Re: General Discussion
Post by: DarkTl on August 08, 2015, 11:05:21 AM
I asked quite a while back to leave Hinata out of quests/events so I figured thats why you didn't mention her
Is it because you want to write your own events for her, or it's because she is used for testing in dev mode or something like that?
Title: Re: General Discussion
Post by: Xela on August 09, 2015, 12:57:08 AM
Is it because you want to write your own events for her

This, but I can use someone else or even better, it could be first practice of creating different story/meeting lines and system for them to avoid collisions.

Edit:
+ It may be a while will I can do so anyway...
Title: Re: General Discussion
Post by: DarkTl on August 09, 2015, 03:06:35 PM
We can divide them, but there is a frame with the name too.
Nah, I thought it's a matter of 1-2 lines of code. We might have a portrait for narrator too eventually, who knows.
Title: Re: General Discussion
Post by: DarkTl on August 09, 2015, 03:16:35 PM
I want to make a minigame (inside Ino's mind  ::) ), when we see two bgs, and one bg we see better than another depending on who wins currently. Can we show two bgs at once with 0.5 alphas, and change alphas if needed to show one bg more than another?
Title: Re: General Discussion
Post by: Xela on August 09, 2015, 03:26:34 PM
I want to make a minigame (inside Ino's mind  ::) ), when we see two bgs, and one bg we see better than another depending on who wins currently. Can we show two bgs at once with 0.5 alphas, and change alphas if needed to show one bg more than another?

What decides which bg is shown? If it's a menu, you can simply use something like:
Code: [Select]
show expression Transform("bg ino1", alpha=0.5) as bg1
show expression Transform("bg ino2", alpha=0.5) as bg2

Code: [Select]
menu:
    "choice 1""
        show expression Transform("bg ino1", alpha=0.75) as bg1
    "choice 2":
        show expression Transform("bg ino2", alpha=0.75) as bg2

Also, keep in mind that we also have two transform defined to show sprites with:

mid_left and mid_right

I think it looks a bit off when second girl is shown all the way at the left or right (Ren'Pys default).

===
BTW, if you minigame pans out, we can add gradual alpha change to it, like from 0.5 to 0.75 in 1 second. Might look a bit better.

Title: Re: General Discussion
Post by: DarkTl on August 09, 2015, 07:38:16 PM
Ok, done. Maybe I'll do something more complex for her personal quest, but for initial scene rock-paper-scissors concept is enough.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2015, 07:04:16 AM
Xela, what can you tell me about Konan's ability to turn into paper and fly away and vice versa? It means the same function you used for HitlerKaputt, but pieces should be white, and it means reverse order when she appears.
Title: Re: General Discussion
Post by: Xela on August 11, 2015, 09:14:21 AM
Xela, what can you tell me about Konan's ability to turn into paper and fly away and vice versa? It means the same function you used for HitlerKaputt, but pieces should be white, and it means reverse order when she appears.

I think about it but I doubt that there will be time for messing with UDDs until weekend. Till then I am just trying to advance jobs bit by bit whenever time permits.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2015, 04:17:40 AM
I never used so many labels in all my life... Even worse, they all are global, thus have to be unique and understandable. Pretty much any menu needs at least one label. That's inconvenient, ideally menus should have their own logic to handle multiple choices.
Title: Re: General Discussion
Post by: Xela on August 12, 2015, 05:44:47 AM
I never used so many labels in all my life... Even worse, they all are global, thus have to be unique and understandable. Pretty much any menu needs at least one label. That's inconvenient, ideally menus should have their own logic to handle multiple choices.

There are dozens of ways to handle scopes and namespaces in Python, global is a Ren'Py thing. You can create your own namespaces for your events or for each event like:

Code: [Select]
$ ie = object() # Ino's event.
$ ie.menu_1 = False
$ ie.read_mind = False

and so on. You could also write your own classes if you need complex logic or something like that. You can also set flags for unique characters and global flags (I think we should rename those to gf btw.)

Name collisions can become an issue in Ren'Py for sure but that's not something we really change, I just leaned to name sh!t correctly and delete the variables after they are no longer in use at the end of events.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2015, 06:14:35 AM
I have to use labels most of the time only to jump to the beginning of the current menu in order to select something else. If only renpy had something like "jump current_menu"...
Title: Re: General Discussion
Post by: Xela on August 12, 2015, 07:45:38 AM
I have to use labels most of the time only to jump to the beginning of the current menu in order to select something else. If only renpy had something like "jump current_menu"...
Code: [Select]
label main_label:
    $ show_some_menu = True
    while show_some_menu:
        menu:
            choices...

Code: [Select]
label main_label:
    texts...
    call my_menu #(or jump to it, you can return here if label was called)

label my_menu:
    menu:
        choice 1:
            jump my_menu

    return
Title: Re: General Discussion
Post by: DarkTl on August 12, 2015, 08:27:20 AM
What is the meaning of while? You propose to make it false when we need to exit the menu?
Title: Re: General Discussion
Post by: Xela on August 12, 2015, 08:36:41 AM
What is the meaning of while? You propose to make it false when we need to exit the menu?

Yeap, it is useful for one off choices, like in our explanation of Arena. If you flip it to false, it will continue with the script, if you jump away, the loop will be broken, if you call another label, you will return to the next iteration after returning from called label.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2015, 08:42:37 AM
I just leaned to name sh!t correctly and delete the variables after they are no longer in use at the end of events.
You can delete them? How?
Title: Re: General Discussion
Post by: Xela on August 12, 2015, 08:58:09 AM
Code: [Select]
$ del var_name
Title: Re: General Discussion
Post by: DarkTl on August 13, 2015, 12:45:55 PM
Can't we do pixel hunting minigames for quests without bothering with gimp and hotspots? Like, I don't know, just read cursor coordinates or use transparent buttons?
In delphi we used shaped buttons components, ie transparent irregular polygons defined by coordinates of vertices.

I want to make an investigation-like minigame, and with menu, when you already see all possible options, it's just not good at all.
And cutting images like we do with maps is a lot of work, especially with complex bgs.
Title: Re: General Discussion
Post by: Xela on August 14, 2015, 08:14:25 AM
You can do the same but I don't understand what you mean to use this for...
Title: Re: General Discussion
Post by: DarkTl on August 14, 2015, 08:31:18 AM
Well, an example: a wardrobe with drawers. Player clicks on every drawer and MC checks what's inside it. Now imagine if we have to cut every drawer in gimp, like with maps.
Title: Re: General Discussion
Post by: Xela on August 14, 2015, 08:35:48 AM
What makes you think that it'll take less time to write matrix with coordinates for complex shapes?
Title: Re: General Discussion
Post by: DarkTl on August 14, 2015, 08:43:41 AM
If you mean coordinates themselves, then there are rectangles with irregular angles most of the time, it's very simple to find coordinates of vertices since we already display cursor coordinates in dev mode.
And if you mean coding, I dunno, you tell me  :)
Title: Re: General Discussion
Post by: Xela on August 14, 2015, 08:54:34 AM
Can you make a json with a full matrix for some picture, preferably at least two different objects? I need to see what we work with.
Title: Re: General Discussion
Post by: DarkTl on August 14, 2015, 01:12:01 PM
For that we need to display cursor coordinates everywhere in dev mode. The moment you leave building/city screens and go to VN mode coordinates disappear too.
Title: Re: General Discussion
Post by: Xela on August 14, 2015, 01:39:43 PM
For that we need to display cursor coordinates everywhere in dev mode. The moment you leave building/city screens and go to VN mode coordinates disappear too.

No, they shouldn't, it's just a screen that is shown on top of all others. Maybe you're testing vn stuff before it is shown? Also you can resize the image to bg size and any decent viewer will display the coords as well.
Title: Re: General Discussion
Post by: DarkTl on August 14, 2015, 03:48:21 PM
Yeap, I run it via pregame menu because otherwise some elements of gui will remain on the screen if I run it from GMs for example.
I pushed coordinates json in library/events/StoryI. If you run intro_story label, you'll see a room bg. I used coordinates for the top drawer and the basket in the corner.
Title: Re: General Discussion
Post by: Xela on August 14, 2015, 05:14:17 PM
I'll try to take a look at it tomorrow.

Edit:

Code: [Select]
+    "id": "Drawer_1",
+    "xy": [[868, 286], [1021, 263], [1020, 312], [867, 327]]

What do these coordinates represent?
Title: Re: General Discussion
Post by: DarkTl on August 14, 2015, 07:43:05 PM
The top drawer in the cabinet.
Title: Re: General Discussion
Post by: Xela on August 14, 2015, 11:25:02 PM
I meant what do you want me to do with them, it would be nice to have more specific instructions. I thought that you will give me a matrix of all coordinates within some complex shape, these are probably just the corners or something like that.

Basically, what I need is a way to get all coordinates that focus the buttons when player hovers over them with a mouse. Also, instructions on how to make sure that something on the screen is focused (where to place some marker or animation or change of mouse cursor or etc.). So I either need a ready to use file or instructions how to get there from data you provided.
Title: Re: General Discussion
Post by: DarkTl on August 15, 2015, 04:18:35 AM
What? The drawer is a rectangle with 4 irregular angles. How many coordinates do you think it might need to be defined mathematically?
If there will be a polygon with more angles, then there will be more coordinates.

There shouldn't be any effects except changing the cursor.
Title: Re: General Discussion
Post by: Xela on August 15, 2015, 04:56:24 AM
What?

You make it sound like anyone should know how to do that offhand :) I for once have no idea where to start, calculating area of the polygon we leaned in school but that is useless for getting coordinates... I'll see if there are some ready to use module in Python where you could just throw the info in and get the result... otherwise we need a formula that can be converted in Python.
Title: Re: General Discussion
Post by: Xela on August 15, 2015, 05:24:51 AM
I think that I've found a formula, going to test if it works. What do we change cursor to, if that works?
Title: Re: General Discussion
Post by: DarkTl on August 15, 2015, 05:42:08 AM
It should be a loupe, I suppose. Like this (http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/images/PTDCPM/Gator-All/English/zoom_32x32.png). I'll make a better one, this is good enough for a placeholder.

You make it sound like anyone should know how to do that offhand :) I for once have no idea where to start, calculating area of the polygon we leaned in school but that is useless for getting coordinates...
It's hard for me to understand the problem because delphi builds buttons polygons based on coordinates by itself. I suppose this is a difference between free and paid/pirated engines  :)
Title: Re: General Discussion
Post by: Xela on August 15, 2015, 05:54:13 AM
It should be a loupe, I suppose. Like this (http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/images/PTDCPM/Gator-All/English/zoom_32x32.png). I'll make a better one, this is good enough for a placeholder.

Maybe we can make an animation of some kind, that would look cooler. I'll need to review how cursor is changed in Ren'Py, I know it's possible but this will be the first time I actually do it.

It's hard for me to understand the problem because delphi builds buttons polygons based on coordinates by itself. I suppose this is a difference between free and paid/pirated engines  :)

We're using VN engine... no way around that. I'll check btw, Devs promised custom shaped mouse areas/buttons but I do not recall reading that they've actually put the in.
Title: Re: General Discussion
Post by: DarkTl on August 15, 2015, 06:26:42 AM
I'm looking for ideas about simple spending time together options. I added eat together option, but we cannot use any other AA2 options, they will be out of place.
And in order to invite someone to home MC needs a better home, which is not going to happen before the next release.
Title: Re: General Discussion
Post by: Xela on August 15, 2015, 09:23:39 AM
I'm looking for ideas about simple spending time together options. I added eat together option, but we cannot use any other AA2 options, they will be out of place.
And in order to invite someone to home MC needs a better home, which is not going to happen before the next release.

*Walk at the Beach
*Walk at the Park
*Visit a match at the Arena
*Spend time at the Cafe (We have Cafe as a location)
*Watch a sunset?

There are plenty of options here...

===
I've just pushed a polymatrix function that should do what's required. It seems to change cursor, load boundaries for JSON and return id from JSON properly. I do not have the background to test it. There was no ready to use implementation in Ren'Py.

It will be very easy to add a tooltip as well, loading descriptions from JSON if required... there are lots of thing we can do here to make the system better.
Title: Re: General Discussion
Post by: DarkTl on August 15, 2015, 12:15:49 PM
Yup, works like a charm. Awesome.

*Spend time at the Cafe (We have Cafe as a location)
You can select the location when inviting to eat, including the cafe.
Other options are decent, yeah.

I'm not sure how to deal with Konan. We don't have to blow her into paper and vice versa, another option is to make a decent paper whirlwind around her based on Particles for example.
Title: Re: General Discussion
Post by: Xela on August 15, 2015, 12:31:19 PM
I'm not sure how to deal with Konan. We don't have to blow her into paper and vice versa, another option is to make a decent paper whirlwind around her based on Particles for example.

Maybe... these effects are very costly development wise, I'd rather forgo it all together.
Title: Re: General Discussion
Post by: DarkTl on August 16, 2015, 09:09:57 AM
Ok, I rewrote giving money to free characters. Now you can give any sum, and it checks against character's current gold. If the sum is way too small, it won't end well.
Also now you can ask for money, providing that disposition is high enough. They will give you a random sum based on their gold, but never more than 1000. And they won't give you anything if you are much richer.

All options use days flags, thus cannot be used every day.
Title: Re: General Discussion
Post by: DarkTl on August 16, 2015, 09:24:36 AM
There is one major thing considering win10. It doesn't support applocale, even the improved hongfire version, and never will because they changed api functions a lot. Locale Emulator seems to be the best alternative. They develop it at github too.
Title: Re: General Discussion
Post by: DarkTl on August 16, 2015, 12:55:01 PM
Xela, can you make this (http://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=5855) work? The code is almost ready for use, but I have no idea how to display the effect, it keeps telling me that it's not a displayable.
Title: Re: General Discussion
Post by: Xela on August 16, 2015, 01:59:37 PM
I'll take a look, I don't believe that they are doing it right...
Title: Re: General Discussion
Post by: Xela on August 16, 2015, 03:29:22 PM
Xela, can you make this (http://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=5855) work? The code is almost ready for use, but I have no idea how to display the effect, it keeps telling me that it's not a displayable.

What do you need this for btw?
Title: Re: General Discussion
Post by: DarkTl on August 16, 2015, 03:46:37 PM
I believe you can use any kind of pictures there to make effects for characters appearing and disappearing. Including paper.
Title: Re: General Discussion
Post by: Xela on August 16, 2015, 03:51:49 PM
I believe you can use any kind of pictures there to make effects for characters appearing and disappearing. Including paper.

So you need full vortex, not like the one in the YouTube video? Can't believe that you still didn't give up on damned effects for Konan, she is not even a major character...
Title: Re: General Discussion
Post by: DarkTl on August 16, 2015, 03:54:45 PM
Like I said, if you can use any pictures, it will be useful for many characters who appear with special effects. I don't really care how full it will be since anything is better than nothing.
Title: Re: General Discussion
Post by: Xela on August 16, 2015, 03:58:38 PM
I'll see what I can do, their code should work as well, you just need to declare it like:

Code: [Select]
image vortex = Particles(ExplodeParticle(*args, **kwargs))
I just don't know if it'll be faster to write ATL variant or making their code work.
Title: Re: General Discussion
Post by: DarkTl on August 16, 2015, 04:18:54 PM
I know, but it gave me
Quote
While running game code:
  File "game/library/events/StoryI/Konan_part.rpy", line 26, in script
    show expression (ExplodeParticle(theDisplayable = "content/items/quest/paper.png", timeDelay=0.1))
Exception: Not a displayable: <store.ExplodeParticle instance at 0x0CCEAB20>
Title: Re: General Discussion
Post by: Xela on August 16, 2015, 04:23:48 PM
I know, but it gave me

? There is no Particles() in that line (look at my post)... Those things are not Displayable, they are just classes with instructions, Particles() is the Displayable, there is a link in one of the posts to ancient Ren'Py wiki, it has instructions for ExplodingParticle or something like that. They are adapting that setup to work as a vortex.

I'll take a look at ATL + UDD combo instead, should be easier to work with....
Title: Re: General Discussion
Post by: Xela on August 16, 2015, 05:20:25 PM
There seems to be a bug in Ren'Py atm that prevents me from coding a decent UDD :( I'll report it to GitHub.
Title: Re: General Discussion
Post by: DarkTl on August 16, 2015, 05:25:46 PM
Quote
While running game code:
  File "game/library/events/StoryI/Konan_part.rpy", line 26, in script
    pause
  File "renpy/common/000statements.rpy", line 363, in execute_pause
    renpy.pause()
AttributeError: ExplodeParticle instance has no attribute 'create'
Why Particles don't work with pause?  ::)
Basically as long as I put pause after running the animation, it stops working.
 
Title: Re: General Discussion
Post by: Xela on August 16, 2015, 06:01:18 PM
Why Particles don't work with pause?  ::)
Basically as long as I put pause after running the animation, it stops working.

And it is working without the pause? I don't really know, Particles is a very old class, maybe it's a bug and something is broken or maybe we're not using it right.

Tracking Ren'Py issue here: https://github.com/renpy/renpy/issues/719

I have another idea...
Title: Re: General Discussion
Post by: Xela on August 17, 2015, 03:16:11 AM
I have another idea...

Just pushed, take a look and play with some settings when you get a chance. Our version is very easy to expand, improve and yada yada yada.

It will take integers or tuples which values will be use to get a uniform random between them. Angle is always random between 0 and 360, rest should be self evident, except for adjust_radius which if provided expects a tuple with two integers, it will get a random from those integers and add it to the step (step is a radius, divided by the amount of displayable, it will be a constant if not adjusted). Circles is the amount of circles displayable needs to make before disappearing, if tuple if provided, Vortex will get a uniform random between the two values (they can be floats).

Start an issue if you require it to do anything else.
Title: Re: General Discussion
Post by: DarkTl on August 17, 2015, 09:44:55 AM
How should I run story scenes inside the game apart from running labels before the game even begins? Because there are always elements of gui remaining on the screen.
Title: Re: General Discussion
Post by: Xela on August 17, 2015, 11:21:04 AM
Be more specific please, you can take a look at how example is run, you just need to hide one screen or something like that.
Title: Re: General Discussion
Post by: DarkTl on August 17, 2015, 11:39:20 AM
I mean from brothel screen. I found hide screen pyt_city_screen line for city map in other events, but not for brothel.
I mean cases when we need to run events after going to next turn, like they do in many games. That means either we run them and only then go to next turn, or do it right from the next day screen and then show it again.
Title: Re: General Discussion
Post by: Xela on August 17, 2015, 12:05:38 PM
I mean from brothel screen. I found hide screen pyt_city_screen line for city map in other events, but not for brothel.
I mean cases when we need to run events after going to next turn, like they do in many games.

Next turn is the next day screen, it's prolly simpler to do it from main screen at and adjust later.

We do not have this ability yet, start an issue, I'll add it after jobs.
Title: Re: General Discussion
Post by: Xela on August 17, 2015, 12:36:03 PM
About new locations... do we need a library? Maybe Academy or something like that will be a better fit?

Should we move jail outside the city? Or is it better where it is?

Do we have backgrounds? For the Village/Graveyard/Lib or Academy? I know I've seen them somewhere...
Title: Re: General Discussion
Post by: DarkTl on August 17, 2015, 12:47:10 PM
Well, the library could be a part of academy, like beach cafe is a part of beach. We have so many great bgs for library that it would be a waste to not use them somewhere.

I don't see any reasons to move jail, why should we?

Bgs for Village and Graveyard are already there, it's cemetery and hidden_village pictures in locations bgs folder. Most library pics are in my db, images/backgrounds/interior/public.
Title: Re: General Discussion
Post by: Xela on August 17, 2015, 12:55:16 PM
Well, the library could be a part of academy, like beach cafe is a part of beach. We have so many great bgs for library that it would be a waste to not use them somewhere.

Ok... I think general lore should be part of the tavern, no library. It's also weird to add locations just because we have bgs for them :)

I don't see any reasons to move jail, why should we?

For some reason... I though it was really, really off standing in the middle of the city, so I've asked Gismo to move it. He though it fit in the city well, just like you. We'll just leave it be.

Bgs for Village and Graveyard are already there, it's cemetery and hidden_village pictures in locations bgs folder. Most library pics are in my db, images/backgrounds/interior/public.

Oki

PS: How is the Vortex effect?
Title: Re: General Discussion
Post by: DarkTl on August 17, 2015, 01:02:02 PM
We have smart characters and characters with nerd trait. Strange is to meet them in a tavern or something instead of a library or an academy. And while in a library we at least can drop some books with lore to make the location useful, I'm not sure what are you going to do in an academy.

Vortex is great, yeah.
Title: Re: General Discussion
Post by: DarkTl on August 17, 2015, 01:44:00 PM
Funny, it's the first time I see how changes in json work immediatly after I save them. Matrix can see new coordinates without restarting the game.
Title: Re: General Discussion
Post by: Gismo on August 17, 2015, 01:55:07 PM
We have a school with all sorts of courses.
Can just rename it in the Academy. "School" ~=~ "Academy" but large libraries and all sorts of scientific topics are more suited to "Academy".
Title: Re: General Discussion
Post by: Xela on August 17, 2015, 02:15:19 PM
Funny, it's the first time I see how changes in json work immediatly after I save them. Matrix can see new coordinates without restarting the game.

I though that made sense... json is loaded every time screen function is executed or even screen is refreshed, don't remember which.
Title: Re: General Discussion
Post by: DarkTl on August 17, 2015, 02:35:56 PM
Hm. Ideally we need a small button somewhere to stop using matrix instead of asking after every click if you want to continue. Can it be done via the same rpy where I write the logic for the scene?
Though I suppose I can show another image somewhere and use its coordinates to quit tha matrix. But I wonder how difficult is to make an actual button.
Title: Re: General Discussion
Post by: Xela on August 17, 2015, 02:57:25 PM
Hm. Ideally we need a small button somewhere to stop using matrix instead of asking after every click if you want to continue. Can it be done via the same rpy where I write the logic for the scene?
Though I suppose I can show another image somewhere and use its coordinates to quit tha matrix. But I wonder how difficult is to make an actual button.

Start an issue or I'll just add it to the screen on condition when I get the chance. I'll also remove the function and make it a proper screen, it looks weird the way it is now.

It's done, we'll make the button pretty later. It's just one line of a code with a style and you can make it look like any button in the game.

Code: [Select]
    scene bg story dark_room with dissolve
    call screen poly_matrix("library/events/StoryI/coordinates.json", show_exit_button=(1.0, 1.0))
    "Result: [_return]"

This is proper Ren'Py way, but if you have a lot of code you do not want to change:

Code: [Select]
    scene bg story dark_room with dissolve
    $ result = renpy.show_screen(poly_matrix, "library/events/StoryI/coordinates.json", show_exit_button=(1.0, 1.0)))
    "Result: [result]"

will work just like before.

If a button is clicked False will be returned instead of a string so:

if not _return: # or result in the old code
    # Do something

Code: [Select]
if _return:
    menu:
        bla bla bla
# If False was returned label will simply continue...

You can wrap this sh!t in a nice while loop as well...

PS: Do not provide the button argument at all if you do not want to see the button.
Title: Re: General Discussion
Post by: DarkTl on August 18, 2015, 03:33:32 PM
Alright, with matrix and vortex the konan quest looks much better. Finally we are at the point of story when MC gets access to the village, so removing virginity quest kicks in  :)
Title: Re: General Discussion
Post by: Xela on August 18, 2015, 03:43:43 PM
Alright, with matrix and vortex the konan quest looks much better. Finally we are at the point of story when MC gets access to the village, so removing virginity quest kicks in  :)

LoL, the searching game is fun :P

I'll go over all special effects before release and improve whatever I can.
Title: Re: General Discussion
Post by: DarkTl on August 18, 2015, 03:48:51 PM
Yeap, it's simple to make yet fun to play. I expect to use it alot in the future.

I'm not sure about mind game with Ino though. I made a cool special effect when you fight her mind, but the logic of the fight is pretty meh (rock-paper-scissors).
Title: Re: General Discussion
Post by: DarkTl on August 18, 2015, 03:59:24 PM
Did you see Gismo's concept for SE? He uses stars there to show the difficulty of the area.
I think it might be a good way to show the level of skill too without showing its value in gui.
Title: Re: General Discussion
Post by: Xela on August 18, 2015, 04:06:14 PM
Did you see Gismo's concept for SE? He uses stars there to show the difficulty of the area.
I think it might be a good way to show the level of skill too without showing its value in gui.

Relative to what? Skills are limitless... maybe we should take the highest skill currently in the game and measure everything else to it?
Title: Re: General Discussion
Post by: DarkTl on August 18, 2015, 04:10:10 PM
If it won't be too difficult to code, then we could try. Otherwise it might be just some big enough value that can pass almost any check, 2-5 thousands.
Title: Re: General Discussion
Post by: Xela on August 18, 2015, 04:14:08 PM
Two or three lines of code.

I am trying to move existing test logic for SimPy to actual new style building classes, if I can get that done in the next two or three evening, it would be super... everything else should melt like butter afterwards and the most difficult issue for the next release would be toast in a few week :)
Title: Re: General Discussion
Post by: Xela on August 19, 2015, 03:34:30 AM
I expect to use it alot in the future.

If we ever decide to release for Android, we'll have to do this with the map as well. It will not work otherwise.

(just a thought)
Title: Re: General Discussion
Post by: DarkTl on August 19, 2015, 05:47:06 AM
Gismo said he added an academy and a graveyard to the map. A village is supposed to be hidden, so it could be just a small fragment of forest near the city.
Title: Re: General Discussion
Post by: Xela on August 19, 2015, 06:00:12 AM
Gismo said he added an academy and a graveyard to the map.

I know, there are not enabled yet as they do not have even the basic labels.

A village is supposed to be hidden, so it could be just a small fragment of forest near the city.

I'd really prefer it to be on a slide out window in form of an icon on the right side of the screen, we may have larger map in the future or too many locations to put them all on the map.

This way it will look cool (especially if I can find/Gismo can make decent frame) and we'll be able to expand it in the future as/if required.
Title: Re: General Discussion
Post by: Xela on August 19, 2015, 06:16:46 AM
Please read this: https://github.com/XelaPy/PyTFall/issues/74

If you agree with the proposal, I'll take out this issue tonight.
Title: Re: General Discussion
Post by: DarkTl on August 19, 2015, 07:22:23 AM
How can I show 3 characters vn sprites with dissolve at the same time, not one after another?
Title: Re: General Discussion
Post by: Xela on August 19, 2015, 07:42:17 AM
How can I show 3 characters vn sprites with dissolve at the same time, not one after another?

Code: [Select]
show sprite1
show sprite2
show sprite3
with dissolve
Title: Re: General Discussion
Post by: Xela on August 19, 2015, 12:32:17 PM
@Dark

Please don't use variable names like "string", it's one of Python modules.

Reserved names are:

http://www.renpy.org/doc/html/reserved.html

and

https://docs.python.org/2.5/ref/keywords.html

String is not there because one can do:

Code: [Select]
import string as something_else
instead of:

Code: [Select]
import string
but it's still not a very good practice.
Title: Re: General Discussion
Post by: DarkTl on August 19, 2015, 01:50:29 PM
...How should I know which words to not use if they are not even mentioned there (yes, I checked it before using, since delphi has this word as reserved one too) and not throwing any errors?
Title: Re: General Discussion
Post by: Xela on August 19, 2015, 02:25:46 PM
...How should I know which words to not use if they are not even mentioned there (yes, I checked it before using, since delphi has this word as reserved one too) and not throwing any errors?

Don't use words one may consider to be programming/technical terms I guess. Like I've said, it not like you broke something, it's just unexpected.

Python deals with it in a very simple way, all global variable names are written in all capitals. By conventions, no keyword, class, function on the other hand should be written in full capitals. I don't really like the practice myself (prolly cause I know all the reserved words) but that's the general rule.
Title: Re: General Discussion
Post by: Gismo on August 20, 2015, 05:57:03 PM
Some work on finalizing the town map (just an intermediate option).
- Add graveyard, hidden village and academy to maps.json (ids: "academy_town", "graveyard_town", "hiddenvillage_entrance").
- Frame with locations have a side scroll.

(http://s8.postimg.org/3y7nib2w1/image.png) (http://postimg.org/image/3y7nib2w1/) (http://s8.postimg.org/jkywvogo1/image.jpg) (http://postimg.org/image/jkywvogo1/)
Title: Re: General Discussion
Post by: Xela on August 21, 2015, 03:59:52 AM
It obviously looks and feels amazing but we may have overloaded the screen with content :(

It works a bit on the slow side, there maybe something in code or image prediction, will take a look at that when I can but these investigations take time. Two other things that have potential of (greatly) improving town screen performance are converting from Ren'Pys image focus to our own polymatrix and declaring whatever is sensible as constants. Assuming there is nothing wrong with the code, those three options (the two + enhanced image prediction mentioned earlier) have HUGE potential of improving screens performance but it'll take time to optimize it all.
Title: Re: General Discussion
Post by: DarkTl on August 21, 2015, 12:22:38 PM
Really? I didn't noticed anything slow, even though I don't have an ssd.
Title: Re: General Discussion
Post by: Xela on August 21, 2015, 01:20:58 PM
No idea... Gismo said the same. I get very visible delays when dissolving to the map screen, when I click on Window's X to close the software, when quickly moving the mouse over the new buttons with locations and etc.

It's not like it's unplayable, it's just annoying and it can be fixed. Plus I am not going to bother with it before moar important stuff is finished.
Title: Re: General Discussion
Post by: Pseudononymous on August 21, 2015, 01:25:58 PM
I'm just going to move myself to this thread to consolidate everything, no need to have you guys jumping back and forth to the other thread.

I cloned the project, threw in a few packs, launched it with renpy, and it loaded. I went to start a new game and got this jargon:


I'm sorry, but an uncaught exception occurred.


Code: [Select]
While running game code:
  File "game/script.rpy", line 80, in script
    python:
  File "game/script.rpy", line 86, in <module>
    chars = load_characters()
  File "game/library/functions - loading data.rpy", line 49, in load_characters
    dir = content_path('chars')
  File "game/library/functions - loading data.rpy", line 4, in content_path
    return renpy.loader.transfn('content/' + path)
Exception: Couldn't find file 'content/chars'.


-- Full Traceback ------------------------------------------------------------


Full traceback:
  File "game/script.rpy", line 80, in script
    python:
  File "C:\Users\Mason\Desktop\renpy-6.99.5-sdk\renpy\ast.py", line 797, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\Mason\Desktop\renpy-6.99.5-sdk\renpy\python.py", line 1448, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/script.rpy", line 86, in <module>
    chars = load_characters()
  File "game/library/functions - loading data.rpy", line 49, in load_characters
    dir = content_path('chars')
  File "game/library/functions - loading data.rpy", line 4, in content_path
    return renpy.loader.transfn('content/' + path)
  File "C:\Users\Mason\Desktop\renpy-6.99.5-sdk\renpy\loader.py", line 578, in transfn
    raise Exception("Couldn't find file '%s'." % name)
Exception: Couldn't find file 'content/chars'.


Windows-7-6.1.7601-SP1
Ren'Py 6.99.5.602
PyTFall 0.53 One thing at a time...

Every other button works (load game, credits, etc.) but when I attempt to launch into a new game that's what I get. That is more path errors than I care to discern for myself. Admittedly I wasn't sure where to put everything so I put it where it seemed to be appropriate. The girl packs (both their image folders and data files) I put in games/library/characters and the testing.rpy file Xela gave me I put in the top level (just in "game").

1.) Did I put everything in the right place?
2.) Am I missing something I should have?
3.) Is that error supposed to be there and has anyone gotten it before?

Sorry for all the "new guy" troubleshooting going on here. Once I get up to speed it'll be smooth sailing... Well, as smooth as it gets in game dev.
Title: Re: General Discussion
Post by: Xela on August 21, 2015, 01:32:50 PM
Sorry for all the "new guy" troubleshooting going on here.

We just need proper guides...

>>>

Unique characters go to:

Code: [Select]
game/content/chars/Naruto/*Image Folders + JSONS.
Random characters go to:

Code: [Select]
game/content/rchars/elfs/*Image Folders + JSONS.*elfs bit is not required, I just use it for better sorting.

If you managed to launch the game, rest should be perfectly fine. .rpy files can be thrown "whereever the hell" as long as it is above the "game/" folder.
Title: Re: General Discussion
Post by: DarkTl on August 21, 2015, 02:43:30 PM
No idea... Gismo said the same. I get very visible delays when dissolving to the map screen, when I click on Window's X to close the software, when quickly moving the mouse over the new buttons with locations and etc.
Nope, nothing like that.
Though I have no idea how to return to the brothel from the map  :D
Title: Re: General Discussion
Post by: Xela on August 21, 2015, 02:46:50 PM
There is a return to main screen button there :)
Title: Re: General Discussion
Post by: Gismo on August 21, 2015, 02:52:34 PM
Though I have no idea how to return to the brothel from the map  :D

For educational purposes, I removed the exit button.
Because we had two buttons with one functional  :)
Title: Re: General Discussion
Post by: DarkTl on August 21, 2015, 02:55:35 PM
Ah, I see. It has a tooltip "return to main screen", so I fugured it will lead me to the main menu.
Title: Re: General Discussion
Post by: Xela on August 21, 2015, 06:19:10 PM
I've managed to make some great progress on jobs/buildings tonight, there is still tons of work to be done but the system now works directly off buildings instead of stripped testing functions. I'll close the proof of concept issue, it's not officially proven :)

(http://s16.postimg.org/bq9n0qz4h/screenshot0001.jpg) (http://postimg.org/image/bq9n0qz4h/)
Title: Re: General Discussion
Post by: DarkTl on August 22, 2015, 06:50:15 PM
What is the value of nonexistent flag? Let's say I set "quest_no_sex" flag for all characters with unique quests, and as long as this flag is true, they will refuse to do it no matter what. But all others don't have it false, they simply don't have it at all.
Title: Re: General Discussion
Post by: Xela on August 22, 2015, 07:30:26 PM
It's None but proper python if the other option is true is:

Code: [Select]
if not char.flag("my_flag"):
    # Normal operations
else:
    # Refuse in case of True

It's actually kind if fun to have stuff like:

Code: [Select]
a = True
b = not a
b is False here.
Code: [Select]
b = not not a b would be True :)

I was away for the whole day so I didn't get anything done... going to push some code I wrote yesterday and fall asleep.
Title: Re: General Discussion
Post by: Pseudononymous on August 22, 2015, 07:46:25 PM
Question for anyone who knows:

If I have these girl packs installed in my dev game and I attempt a commit (my name on git is the same as it is here by the way) will it not commit those packs to the project?


Also, there was no "chars" or "rchars" folders inside of "content" in the project that I cloned from git, I added them and placed the girl packs within as instructed. Was this supposed to be as such, or was it intended to come with these folders and I simply cloned an incorrect version (I fail to see how that could happen, but stranger things have happened with git).


Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 03:45:49 AM
Question for anyone who knows:

If I have these girl packs installed in my dev game and I attempt a commit (my name on git is the same as it is here by the way) will it not commit those packs to the project?


Also, there was no "chars" or "rchars" folders inside of "content" in the project that I cloned from git, I added them and placed the girl packs within as instructed. Was this supposed to be as such, or was it intended to come with these folders and I simply cloned an incorrect version (I fail to see how that could happen, but stranger things have happened with git).

As far as I understand, it is intended. Currently the git only updates coding files, data files and a few (button type) small graphic files for functionality.

Perhaps this is for bandwidth issues, but either way the chars/rchars folders take up the largest amount of space by far, and normally get relatively few updates.
So, as far as I remember since the beginning of switching to git/sourceforge (from dropbox) they've had mega or some other download site take the hit for holding all the heavy media files.

And yes, it's more troublesome when you're just getting into it, but when we were using dropbox it seriously took forever trying to pull all that data when I first hopped in.


and as far as your question, I believe the ".gitignore" file is currently preventing that from uploading. (dont quote me on that, I'm not entirely sure how all that works),
but as long as it doesn't show the files marked in the left pane in Hg Workbench (when you're going in to commit), it shouldn't be trying to upload.

And yes, if the most recent update you have is from 2015-07-13 by Alex, titled Слияние. that should be correct. (revision 938)

or at least, that's the latest one I have.

update: looks like the last update was 11 hours ago.

haha, I look like a noob. don't even have the latest information. lol

Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 04:24:49 AM
I'm just going to move myself to this thread to consolidate everything, no need to have you guys jumping back and forth to the other thread.

I cloned the project, threw in a few packs, launched it with renpy, and it loaded. I went to start a new game and got this jargon:


I'm sorry, but an uncaught exception occurred.

...

Every other button works (load game, credits, etc.) but when I attempt to launch into a new game that's what I get. That is more path errors than I care to discern for myself. Admittedly I wasn't sure where to put everything so I put it where it seemed to be appropriate. The girl packs (both their image folders and data files) I put in games/library/characters and the testing.rpy file Xela gave me I put in the top level (just in "game").

1.) Did I put everything in the right place?
2.) Am I missing something I should have?
3.) Is that error supposed to be there and has anyone gotten it before?

Sorry for all the "new guy" troubleshooting going on here. Once I get up to speed it'll be smooth sailing... Well, as smooth as it gets in game dev.


I just realized you may still need help with this. Well, even if you aren't I'll post a few screenies and you can see if something's off.

and the parts of the path you care about is the ...\game\content\etc.

you need both \game\content\rchars and \game\content\chars
where chars is for named characters and rchars (r for random) is for generic ones

the game engine should be able to work without many of the folders as it goes through and checks for content.
but the girl packs should come with their own data_*.json files, you shouldn't need to do any of that yourself.

and as far as the garble-dee-gook picture names go, I think that's how we're doing the tagging now, which actually can be edited in game.
but for the most part, I wouldn't think most ppl wouldn't need to worry about that either.


We just need proper guides...

>>>

Are you talking about char and rchar folder management specifically? Or what kind of guides do you mean?

and sorry for the double post.

Title: Re: General Discussion
Post by: Xela on August 23, 2015, 05:17:58 AM
If I have these girl packs installed in my dev game and I attempt a commit (my name on git is the same as it is here by the way) will it not commit those packs to the project?

No, char and rchar folders are ignored at any depth, I've added you to collaborators (you now can push and pull and mes with Issues and etc.) but GitHub allows to propose merge requests so you can push even without any rights on the site, main difference is that someone would have to authorize every request for the latter.

Also, there was no "chars" or "rchars" folders inside of "content" in the project that I cloned from git, I added them and placed the girl packs within as instructed. Was this supposed to be as such, or was it intended to come with these folders and I simply cloned an incorrect version (I fail to see how that could happen, but stranger things have happened with git).

You should have the correct version. Those folders are setup to be ignored, everything inside of them is setup to be ignored and etc.

...

We've switched back to Git on GitHub which is faster and seems to be more reliable that SFs Git.
Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 05:32:14 AM
No, char and rchar folders are ignored at any depth, I've added you to collaborators (you now can push and pull and mes with Issues and etc.) but GitHub allows to propose merge requests so you can push even without any rights on the site, main difference is that someone would have to authorize every request for the latter.

You should have the correct version. Those folders are setup to be ignored, everything inside of them is setup to be ignored and etc.

We've switched back to Git on GitHub which is faster and seems to be more reliable that SFs Git.

Ok, so no more TortoiseHg and all that?

.... (LOADING)

nice, a quest log! wooo! and I like this new window icon better as well.

well, you were right, this program and this site are definitely easier to use.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 06:23:16 AM
Yup, we don't use it anymore. Personally, I read many bad things about it, even if we ignore its recent week of downtime which is already quite bad. Instructions for the new repo are here (http://www.pinkpetal.org/index.php?topic=3624.0).
Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 06:33:54 AM
Yup, we don't use it anymore. Personally, I read many bad things about it, even if we ignore its recent week of downtime which is already quite bad. Instructions for the new repo are here (http://www.pinkpetal.org/index.php?topic=3624.0).

Thanks guys. I got everything up and working. Only took like 10 minutes total. I remember spending a couple hours trying to figure out the tortoise one.

hmm, I guess the in-game tagger has been removed? or moved?
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 06:55:25 AM
It's still there but I've coded that as proof of concept, it was never really functional. Dark made a solid tagger, i don't know if it's posted anywhere since noone is working on tagging the packs off-team.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 07:17:07 AM
Of course it's posted (http://www.pinkpetal.org/index.php?topic=3533.msg32068#msg32068). There were people who helped us to retag stuff when we needed it.
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 07:19:57 AM
I didn't know if you were keeping this version up to date, or just the one at the DB.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 07:22:37 AM
It's the same thing. Links in that thread lead to my db, and db keeps links the same as long as you don't delete file but just replace it.
Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 07:39:39 AM
So ... is it still impossible to "acquire" girls through the meet girls option?

Or rather than impossible, if they need 500+ disposition and talking to them or other actions only give a few points each time.
am I wrong in thinking that it would take a month ingame at best to "get" one?
especially if the hero only has 3 ap a day, and the girls only have 2

plus the girl would probably move locations, so .... yeah ....

and while the disposition bar itself seems to be working, the girls aren't losing any AP.
and I have no idea what the "Points" are for,
all they seem to do is go 0 -> 2 -> 1 -> 0 and it just keeps repeating.

and I did notice on certain girls (not all girls), that the
Code: [Select]
$ char.override_portrait("portrait", "shy")
(line 180 in "GM - praise.rpy", for example)
doesn't work and shows the "no portrait" icon. shouldn't it be reverting back to the normal portrait if they don't have one?

again, I haven't been around in a while, but I guess I thought this was a pretty large part of the game itself. hmm.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 08:15:07 AM
Yup, intreractions are not balanced in this regard because it's to early to do, I still didn't added some major options. There are devs shortcuts in intimacy menu that can do anything.

Good catch with override_portrait, Xela will have to code it better  :)
Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 08:31:43 AM
Yup, intreractions are not balanced in this regard because it's to early to do, I still didn't added some major options. There are devs shortcuts in intimacy menu that can do anything.

Good catch with override_portrait, Xela will have to code it better  :)

hmm, you say "too early", but aren't we in version .53? at least according to the roadmap, isn't that where we address things like this? or have things changed? Is xela deciding all of this himself?

well, no worries. I was just making sure I wasn't doing it wrong. =P
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 08:35:21 AM
There are cases when the same image base could be used more than once for non random characters. Issue (https://github.com/XelaPy/PyTFall/issues/79).
Specifically, I was thinking about version of hinata from another world from one of big movies where she had confident and assertive personality. A cheap, but reliable way to increase the amount of characters and quests.

hmm, you say "too early", but aren't we in version .53? at least according to the roadmap, isn't that where we address things like this? or have things changed? Is xela deciding all of this himself?
If Xela wants to do it now, he is welcomed to. It's his roadmap, I have my own  :D
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 10:07:28 AM
Roadmap is largely obsolete, outdated and was written for a simpler game concept. We spend most of our free time writing code and content for the game, my plan is to update these forum blocks before the next release to avoid endless stream of questions, sadly I don't have time to both write the code and keep documentation, roadmaps, todos and etc up to date at the same time.

===
I'll start another issue with the portrait thing when I can.

===
Dark is right about it being to early, we're slowly advancing relationship concepts, writing more stuff for personality type, updating/rewriting code for jobs/locations and etc. Some things needs to take proper shape before we finalize interactions. Game is not written of a fixed concept, we're trying different things, testing, throwing stuff out/keeping it and etc. Writing accept to a job after that's done will take me an hour, writing it now and keeping it up to date every time I tweak the code or Dark tweaks the content can only result in time wasted.

>>>
It's development version, hence not a playable one, although keep debugging what you can! :) These are two new issues that need to be fixed regardless.
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 10:25:39 AM
Quote
When you're sure at least about the later, lets start with something simple: pytfall\game\content\gfx\interface\images\elements. In this folder are the icons we use for Elemental Alignments, if a character has more than one, we crop the image (vertically) and show one image made up of several of these icon. There are some issues with that so an you make sure these icons or of the same height/width and all have the exact same amount of transparent pixels between the image and it's boarders (or remove that spacing all together).

Do you need these to be the same size and resolution as well? There are larger and smaller pictures. Most elements are the same size, but the ice element is about half the size of the rest and the neutral element is about twice the size as the rest. Would it be helpful to resize them to be the same size as the rest?

------

Edit: I have resized all elemental images to be 200x200 with a resolution of 96 (neutral and ice included). The sizes are now standardized and the transparent pixel margins are also identical. I have not pushed the change yet, as I am not certain that this is what you actually wanted. But as far as I know it should make things much easier. As soon as I have the green light I'll commit > pull > solve/merge > push.
Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 10:41:53 AM
Roadmap is largely obsolete, outdated and was written for a simpler game concept. We spend most of our free time writing code and content for the game, my plan is to update these forum blocks before the next release to avoid endless stream of questions, sadly I don't have time to both write the code and keep documentation, roadmaps, todos and etc up to date at the same time.

===
I'll start another issue with the portrait thing when I can.

===
Dark is right about it being to early, we're slowly advancing relationship concepts, writing more stuff for personality type, updating/rewriting code for jobs/locations and etc. Some things needs to take proper shape before we finalize interactions. Game is not written of a fixed concept, we're trying different things, testing, throwing stuff out/keeping it and etc. Writing accept to a job after that's done will take me an hour, writing it now and keeping it up to date every time I tweak the code or Dark tweaks the content can only result in time wasted.

>>>
It's development version, hence not a playable one, although keep debugging what you can! :) These are two new issues that need to be fixed regardless.

It's no problem at all, I'm not expecting anyone to waste their time. I'm just clarifying the situation, because I still don't have a complete grasp of the "big picture" of the game.

So, to summarize. There are going to be multiple styles of play to "win".
and they include:

- making money via brothel and girls
- fighting in the arena
- exploring areas; forest/dungeon/etc

this can probably be shortened to: empire management and fighting, (or sim and rpg)

girls can be acquired via:

- slave market
- relationship building (girls meets)
- finding girls through exploration? (is this a part of the game now? like whore master?)
- (possibly events of some sort?)

are players expected to do a little bit of everything to progress? or can they choose only one and still manage to get by?

is this roughly similar to what's happening? or how far off is this?

Do you need these to be the same size and resolution as well? There are larger and smaller pictures. Most elements are the same size, but the ice element is about half the size of the rest and the neutral element is about twice the size as the rest. Would it be helpful to resize them to be the same size as the rest?

I don't mean to butt in, but I'm thinking that is exactly what he wants. not only same size and pixel resolution, but the same number of buffer alpha pixels so that when the pictures are cropped together, the total picture will still be a circle. like:

_____RRRR______
___RRRRRRRR____
__BBBBBBBBBB___
__BBBBBBBBBB___
___GGGGGGG____
_____GGG______

and not:

_____RRRR______
___RRRRRRRR____
_BBBBBBBBBB___
_BBBBBBBBBB___
_____GGGGGGG__
_______GGG____

or some variation

edit: now that I look at the "crop image vertically" my bad ASCII art might be a bit off, but same difference.
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 10:53:07 AM
I don't mean to butt in, but I'm thinking that is exactly what he wants. not only same size and pixel resolution, but the same number of buffer alpha pixels so that when the pictures are cropped together, the total picture will still be a circle. l


That's what I figured, I'd just like to validate it before I go and screw something up. As stated in my edit above, all elements are now standardized. I'm just waiting for the go ahead. And don't ever feel like your butting in if you like to speak to me, all intended aid is appreciated. You're good bro.
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 11:03:30 AM
...

Push and we'll see. You don't need to worry about it so much, reverting your changes is just one/two mouse clicks or one line of console code. What you describe is exactly what was needed, I need to pull your changes in order to check if it was done correctly (by adding all elements to any of the characters and see how Ren'Py crops the new pictures).
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 11:22:19 AM
So, to summarize. There are going to be multiple styles of play to "win".

Yes but I don't think we'll have "winning" at version 0.7 (Beta). I have a lot of plans like Economy/Politics/Clime and etc. modules that may also allow winning even without following an extensive story like but there is no way to get all of that coded and debugged for 0.7 release. As for a content driven (Story based) ending, Dark is working on that and I don't know all that much about his plans, so far he has a decent number of meeting scrips for Naruto Girls and some scripts for a story line based off a powerful Star weapon mentioned in the intro.

this can probably be shortened to: empire management and fighting, (or sim and rpg)

This part is right, we're trying to build a cross between sim/rpg game. It should be noted that game code is structured in such a way that it would be very easy to remove sim/rpg part if it becomes apparent that such a design cannot be managed. So far I believe that it is.

girls can be acquired via:

- slave market
- relationship building (girls meets)
- finding girls through exploration? (is this a part of the game now? like whore master?)
- (possibly events of some sort?)

Yes.

Exploration module has a working code but Gismo overwrote the interface with a mockup (preserving older, working code). We decided to keep the new design and update existing code but I have not even started working on that yet.

are players expected to do a little bit of everything to progress? or can they choose only one and still manage to get by?

Players should not be forced on any specific path unless they're a part of a quest/specific story line or have picked some specific form of MC setups (N/A atm).

is this roughly similar to what's happening? or how far off is this?

Game is supposed to be an open world environment with many things to do/paths to take/stories to follow. That's a premise I am working off right now.
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 11:28:09 AM
Push and we'll see. You don't need to worry about it so much, reverting your changes is just one/two mouse clicks or one line of console code. What you describe is exactly what was needed, I need to pull your changes in order to check if it was done correctly (by adding all elements to any of the characters and see how Ren'Py crops the new pictures).


Committed and pushed, but it isn't showing up on GitHub. It showed the changes, staged them, and pushed them, gave me the green check and "up to date" message, but I'm not seeing the update on the git repo.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 11:32:24 AM
Weird. Notepad+ built-in dictionary claims that I need to write "know each other" like "know eachother". Is it English neologism or something?
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 11:44:48 AM
Weird. Notepad+ built-in dictionary claims that I need to write "know each other" like "know eachother". Is it English neologism or something?


It's definitely an english thing, but it isn't new. We have plenty of words like that. Some where and somewhere, some thing and something. The dictionary is overly astute when it comes to these things.

It thinks of "each other" as in "This apple is green, but each other apple is red." and "eachother" as in "The apples collided with eachother."

In the first it references each subject as it's own entity, in the second both apples (subjects) are treated as one object. It's really superfluous, so don't worry about it. Everyone who knows basic English will still know what you mean, only literature and english snobs will snuff you for it really.
Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 11:49:50 AM
Game is supposed to be an open world environment with many things to do/paths to take/stories to follow. That's a premise I am working off right now.

Thank you for the reply, it really helps.

At the moment, I am really interested in making sure the girls meets way of acquiring girls is doable.

If you recall SIBR1x, a player could get 1 girl in a week through conversation (1 week was the time she was in the same place before moving) or roughly 5 days, assuming the player picked all the correct options (i.e. best case senario). and later in the game could get a girl in 1 - 2 days with super effective items and/or money.

I'm not saying this game should be similar. But my question would be: How many days should it take before acquiring a girl, through only conversation?
or is this not supposed to be possible?
Because currently this game also doesn't give a freebie girl at the beginning either (or will it?)

how many days via proper items?
how many days via money?
and then later in the game with more charisma and item effects, what the best possible time would be to get a girl?

if you aren't sure, it's no worries. I was just wondering if you had a rough idea of how much time you wanted.

or is it no longer supposed to be that simple? should it be over the course of multiple months and multiple strategies?
like do you want players to have to befriend them, then date them, then lovers, etc and basically use all the options before using "proposition"?

and finally, I'm wondering more about the "proposition" option.
perhaps ... will players have a "slums" area where it'll be easier to hire cheap, easy, low maintenance girls?
if the girls are desperate, shouldn't they be easier to get?
or is the slave market going to be the only source like that?



Committed and pushed, but it isn't showing up on GitHub. It showed the changes, staged them, and pushed them, gave me the green check and "up to date" message, but I'm not seeing the update on the git repo.

Yeah, I'm not seeing it either. Maybe it only did it locally? Github is new to me, but at SF you needed a username /password and the ssh link to push properly. Not sure if this one needs it or not.
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 12:04:51 PM

and finally, I'm wondering more about the "proposition" option.
perhaps ... will players have a "slums" area where it'll be easier to hire cheap, easy, low maintenance girls?
if the girls are desperate, shouldn't they be easier to get?
or is the slave market going to be the only source like that?


Yeah, I'm not seeing it either. Maybe it only did it locally? Github is new to me, but at SF you needed a username /password and the ssh link to push properly. Not sure if this one needs it or not.

I like that idea, makes logical sense. That's a back-end idea, near full release of a late version, but I agree with what your saying here, great idea.

Did the push again, went through. Everyone should be able to pull it now. Checked git and the update is posted. *thumbs up*
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 12:07:37 PM
There will be slave training as soon as Xela will code a base for it, probably after the next release. Like in SM, it will be possible to train and sell slaves.

I don't mean to butt in, but I'm thinking that is exactly what he wants. not only same size and pixel resolution, but the same number of buffer alpha pixels so that when the pictures are cropped together, the total picture will still be a circle. like:
Yup. That's how the original artist made them, I just removed background. They are not perfect circles, and it brings problems for multielemental characters when we take fragments of elemental icons and show them together.

In the first it references each subject as it's own entity, in the second both apples (subjects) are treated as one object. It's really superfluous, so don't worry about it. Everyone who knows basic English will still know what you mean, only literature and english snobs will snuff you for it really.
I see, thanks for the clarification.
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 12:16:47 PM
or is it no longer supposed to be that simple?

This...

and finally, I'm wondering more about the "proposition" option.
perhaps ... will players have a "slums" area where it'll be easier to hire cheap, easy, low maintenance girls?
if the girls are desperate, shouldn't they be easier to get?
or is the slave market going to be the only source like that?

And this.

>>>
Hiring process will depend a lot on the mcs level, stats and what kind of businesses he already owns + financial situation. Maybe on reputation/fame as well but we are not yet sure how to utilize those in the game properly.
Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 12:26:48 PM
This...

And this.

>>>
Hiring process will depend a lot on the mcs level, stats and what kind of businesses he already owns + financial situation. Maybe on reputation/fame as well but we are not yet sure how to utilize those in the game properly.

hmm, so this will all work late-game. But early game; isn't the player screwed unless they use the slave market?

also, I just went in there and saw that level 1 girls (beggars) are going for ~3k gold. holy expensive!
I thought a meal is ~10 gold.

edit: hmm, are slaves supposed to be getting paid? why would I pay my slave a wage?
edit2: it seems that when I switch a girls location, the action doesn't get reset, so I can have a girl "at home" but still "training" from another building's option
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 12:32:32 PM
At the moment, I am really interested in making sure the girls meets way of acquiring girls is doable.

If you recall SIBR1x, a player could get 1 girl in a week through conversation (1 week was the time she was in the same place before moving) or roughly 5 days, assuming the player picked all the correct options (i.e. best case senario). and later in the game could get a girl in 1 - 2 days with super effective items and/or money.

I'm not saying this game should be similar. But my question would be: How many days should it take before acquiring a girl, through only conversation?
or is this not supposed to be possible?
Because currently this game also doesn't give a freebie girl at the beginning either (or will it?)

how many days via proper items?
how many days via money?
and then later in the game with more charisma and item effects, what the best possible time would be to get a girl?
It's more complicated than it might seem.
- You need to use simple options at first, like chat. You cannot use complex, advanced options from the beginning because characters simply refuse without some base disposition.
With some basic disposition you can try more advanced stuff like eat together or give a gift, and they will give more disposition than simple ones.

- Disposition =/= hiring for work. I don't know if we will add social levels, but we can just check level and gold. Poor characters will be available with disposition close to 0.
Ideally, we could use social levels here, but they require a clear concept which we lack.

- It's very costly to quickly rise disposition via money. Every time the game checks how much money the girl already has. And if you propose not enough compared to her amount of cash, it won't work. They spend money little by little though, but basically it's just another option and not an independent way.
 
- We don't have enough gifts yet to make them important. We decided to use special items  that cannot be used or equipped as gifts, but we really could use at least 50 while currently we have 22.

Now, if by acquiring a girl you mean hiring, it should be based on many things and in the case of weak, low level characters rather simple.
And if you mean drag them to bed, that's a matter of 600-800 disposition depending on traits, or simply money if the character is working in sex industry.


Committed and pushed, but it isn't showing up on GitHub. It showed the changes, staged them, and pushed them, gave me the green check and "up to date" message, but I'm not seeing the update on the git repo.
I can see it on Github and my pc.
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 12:43:12 PM
Yep, push went through. Let me know if it works for you. It "should" but if not I don't know what more I could do in this case. It sounds as though you're simply merging spheres to make the mult-elem displays, which should all line up fine.

If that was handled properly, I'm ready for my next assignment.

Git:1
Pseudo:1

Time for a tie breaker. 
Title: Re: General Discussion
Post by: Armegetton on August 23, 2015, 12:51:31 PM
It's more complicated than it might seem.
- You need to use simple options at first, like chat. You cannot use complex, advanced options from the beginning because characters simply refuse without some base disposition.
With some basic disposition you can try more advanced stuff like eat together or give a gift, and they will give more disposition than simple ones.

- Disposition =/= hiring for work. I don't know if we will add social levels, but we can just check level and gold. Poor characters will be available with disposition close to 0.
Ideally, we could use social levels here, but they require a clear concept which we lack.

- It's very costly to quickly rise disposition via money. Every time the game checks how much money the girl already has. And if you propose not enough compared to her amount of cash, it won't work. They spend money little by little though, but basically it's just another option and not an independent way.
 
- We don't have enough gifts yet to make them important. We decided to use special items  that cannot be used or equipped as gifts, but we really could use at least 50 while currently we have 22.

Now, if by acquiring a girl you mean hiring, it should be based on many things and in the case of weak, low level characters rather simple.
And if you mean drag them to bed, that's a matter of 600-800 disposition depending on traits, or simply money if the character is working in sex industry.

I'm re-posting the comment I made from https://github.com/XelaPy/PyTFall/issues/72

Quote
I personally would like having a "social level". But for the main character instead of gold/level check, wouldn't it be better if it were affected by what items you are wearing, and maybe thresholds for intelligence and charisma? (or maybe just the items) that way, you could have events or checks for high "social level" as well as low "social level", to wear cheap clothes to maybe get into a shady area. just my thoughts.
and for the slaves it could be based on education levels (from taking classes or training) with bonuses from items.

basically, instead of every girl starting at social level 0, higher level girls can be found and perhaps they would come with higher training levels or even already equipped items. But they would be virtually impossible to hire/court unless the mc had similar or higher social level. (or could be lower with some event)

So, if hiring a low level girl doesn't need much disposition, maybe we could show her social level on the girls meets screen.
and if the mc is lacking social level at the time of hiring, the mc can use additional gold to offset the missing social level as a 'down payment' of sorts. (to a limit, of course)


the levels could be from 0 - 10 where 0 is beggar and 10 is the equivalent of royalty. players would start at 0 (or 1 maybe with certain pre-game choices?)
too simple? too complicated?



Yep, push went through. Let me know if it works for you. It "should" but if not I don't know what more I could do in this case. It sounds as though you're simply merging spheres to make the mult-elem displays, which should all line up fine.

If that was handled properly, I'm ready for my next assignment.

Git:1
Pseudo:1

Time for a tie breaker. 
Pull and update worked on this side.

Grats.


Title: Re: General Discussion
Post by: Xela on August 23, 2015, 01:07:32 PM
Did the push again, went through. Everyone should be able to pull it now. Checked git and the update is posted. *thumbs up*

Yey! (take a look at before after images)

hmm, so this will all work late-game. But early game; isn't the player screwed unless they use the slave market?

 ??? What? Why? Where? When? How?  ???

Interactions are means to establish a relationship and trust between characters, figuring out what a character is like, her (maybe his as well in the future) goals in life as well as running H scenes and etc. If a character is ok with working at one of your businesses, there will be no issues. They are free people, they work, get payed and live their lives otherwise. If a character actually wants to work for you will depend on a number of things (wage, buildings, neighborhoods, disposition, flags, charisma and etc.). So if you are known to be running a brothel for a couple of month/years or have some flag from a start of the game (like a son of brothel owner), they may be interested even if you just met them even if you still have limited resources. If they are not interested in working in a brothel at all (not just as prostitutes but not even as guards) it may not even be possible to recruit them at all. If your backstory is of a warrior origin it may be a whole different scenario.

===
Try think about the game in terms of a logical simulation of a city, with people (who have goals), businesses (maybe even AI ran businesses to compete with you), neighborhoods with different rules (crime infested Flee Bottom, decent Midtown, Corrupted/Rich/Kinky RichFord). There may be other cities in the future, politics module to change laws and etc. But that is what I would like to have in a couple of years. Also some form of exploration...

I have no idea how far we will get with this...

For now we are trying to set limited, manageable goals for the next release, most of them you can review as issues at GitHub. Mainly we're working on differentiating personality types with conversations/behavior, coming up with interface design, adding content and write code that can support the future plans without large modification (code that was written for Alpha could not). Also adding written content VN like special effects because even with a very decent simulation, game will be boring without it AND we promised some after previous release.

also, I just went in there and saw that level 1 girls (beggars) are going for ~3k gold. holy expensive!
I thought a meal is ~10 gold.

We'll review that as well, eventually I want a price of slaves to be determined by Economy Module, maybe I'll even code something simple in that department before the next release.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 01:20:23 PM
the levels could be from 0 - 10 where 0 is beggar and 10 is the equivalent of royalty. players would start at 0 (or 1 maybe with certain pre-game choices?)
too simple? too complicated?
If you want to build a concept, you will have to think through all details.

- Not just names for 0 and 10 levels, but names for all levels.
- Rough conditions for social levels. Level? Money? Something else?
- Ingame differences between the levels besides hiring process. Better rooms? Better food? Their effects? Income per day?

If that was handled properly, I'm ready for my next assignment.
If you want to work with graphics, I can link you our db folders and you can make some gifts items.
If you prefer to create new graphics, you could try to make unique icons for traits. But it won't be easy.
If you want to work with lines or interactions coding, I can tell how interactions and lines can be improved.
If you want to make packs, by all means go ahead and do any packs you want. You will need my tagger and some h-pictures sources, I can give links that I personally use for pack making.
If you want to do something related to pure coding, ask Xela  :)
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 01:33:31 PM
Yey! (take a look at before after images)


Critique: If the elements are not required to be parsed in any particular order for the multi-elem sphere I might suggest a new order because:

1.) It looks like the ice orb (second from the right) has a small bit jutting out, but that is just the graphic I assure you it is an identical size.

2.) The earth element at the end of the line, seems to be slightly cropped. I can lower the res to make it smaller if it has to fit within a certain window, but the neutral element was 416x416 or something like that and it fit fine before I lowered the res.

The rest of it looks fine. So I'd suggest swapping the ice and earth elements with some other two.
 
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 01:47:31 PM
If that was handled properly, I'm ready for my next assignment.

Gismo has put a lot of good time into design lately so in many areas we actually have more graphics than code (:D :D :D Damn that j*rk!  :D  :D  :D ).

I think Bestiary is a good bet. Broken after mobs rewrite, it needs design (did have one either, I just used colored frames and simple text). Mobs in PyTFall have the following attributes:

Code: [Select]
     {
        "name": "King Slime",
        "desc": "This slime became big enough to have rudiments of intelligence.",
        "front_row": 0,
        "battle_sprite": "content/npc/mobs/a.png",
        "portrait": "content/npc/mobs/a1.png",
        "race": "Slime",
        "locations": [],
        "min_lvl": 35,
        "basetraits": [
            "Juggernaut", "Mage"
        ],
        "stats": {
            "attack": 20,
            "defence": 50,
            "magic": 30,
            "agility": 40,
            "luck": 10,
            "charisma": 40
        },
        "skills": {},
        "traits": ["Water", "Slime"],
        "attack_skills": [
            "FistAttack"
        ],
        "magic_skills": [
            "Watera",
            "Waterga"
        ]
    },


Code: [Select]
    {
        "name": "Samurai",
        "desc": "A fast and agile swordsman.",
        "front_row": 1,
        "battle_sprite": "content/npc/mobs/g.png",
        "portrait": "content/npc/mobs/g1.png",
        "race": "Human",
        "locations": [],
        "min_lvl": 10,
        "basetraits": [
            "Assassin", "Warrior"
        ],
        "stats": {
            "attack": 30,
            "defence": 15,
            "magic": 15,
            "agility": 25,
            "luck": 15,
            "charisma": 15
        },
        "skills": {},
        "traits": ["Human", "Neutral"],
        "attack_skills": [
            "SwordAttack"
        ],
        "magic_skills": [
        ]
    },

Information on the screen should include:

- name
- description
- basetraits: Very important part. These determine what kind of an enemy this is and how it is leveled so this should have special place in the design. There can not be more than two!
- elements: These are part of traits but should be singled out!.
- race
- attack_skills
- magic_skills (could be absent)
- portrait (if sensible)
- sprite (maybe portrait)


We have loads of mobs, they can be put into a viewport, paging will be required otherwise. Design is up to you, it's prolly sensible to keep to the general themed Wood but if you have other ideas, go ahead with that.
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 02:00:06 PM

Critique: If the elements are not required to be parsed in any particular order for the multi-elem sphere I might suggest a new order because:

1.) It looks like the ice orb (second from the right) has a small bit jutting out, but that is just the graphic I assure you it is an identical size.

2.) The earth element at the end of the line, seems to be slightly cropped. I can lower the res to make it smaller if it has to fit within a certain window, but the neutral element was 416x416 or something like that and it fit fine before I lowered the res.

The rest of it looks fine. So I'd suggest swapping the ice and earth elements with some other two.

I'm perfectly happy with the result :)

I'll play with it tonight to see what's what but I what you're asking may not be easy to do, there can be many different combinations of these elements so unless we can come up with a simple way of sorting them as you prefer, it is simply not reasonable to spend time trying to make it perfect.

Edit:

1) Neutral element is always shown on it's own. It's sort of a lack of all other elements.
2) Earth element may be cropped by the way that frame is designed in Ren'Py, I just hacked my way through, it wasn't easy to work with differently sized pictures.
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 02:28:34 PM

If you want to work with graphics, I can link you our db folders and you can make some gifts items.
If you prefer to create new graphics, you could try to make unique icons for traits. But it won't be easy.
If you want to work with lines or interactions coding, I can tell how interactions and lines can be improved.
If you want to make packs, by all means go ahead and do any packs you want. You will need my tagger and some h-pictures sources, I can give links that I personally use for pack making.
If you want to do something related to pure coding, ask Xela  :)


Sure, link me.

I can work on new graphics too, easy isn't in my job description. I do what needs to be done really.

I can work on interaction lines if you'd like to explain how I could go about that.

I feel like enough people will make packs that it isn't really necessary for me to do so. Especially once the beta is released and the popularity picks up, players will make all sorts of packs.

Coding isn't really my thing, but if that's what you need the most help with now I'm sure I can run through the renpy tutorial and get to work on python, it doesn't seem like a difficult language. Whatever is a priority right now.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2015, 03:30:39 PM
One (https://www.dropbox.com/sh/octos1yqgpq2drf/AAB3_0ph9h9KH83Q53M8or5Ha?dl=0), two (https://www.dropbox.com/sh/7ccd9lvhxftv3xc/AAA8n0XTIytPAnBusMVyRYnMa?dl=0), three (https://www.dropbox.com/sh/q2u2ij9mieb1s18/AAD7Bo-xold4Dp-g3fUS8-bma?dl=0). I believe you can download the whole folder there. You can also instal dropbox and ask Xela to add you there. It will download everything by itself, but there is a lot of junk too.
Existing gifts are in game/contant/items/gift.

The idea was to have very different gifts that might or might not work depending on characters traits, and also some general-purpose ones that will work every time but won't be as effective. Gifts have a json with logics, it's game/contanet/db/gifts.json. It's outdated now, since at the beginning of the year we changed traits system a bit, but it might give you the overall picture.
All gifts cannot be used for anything, and simply disappear after you give them, increasing (or decreasing) disposition.

So if you want to do something simple (but still time consuming), you could try to come up with different gifts based on those icons in db and cut those icons like we did for all other items. Maybe write name and a short description in json if you feel like it. Of course you don't have to use only those icons in db, but we have so many that looking for new ones is probably an overkill.


Icons for traits are more complex and creative task. You saw our elemental icons and maybe also race and main personality icons too.
So the idea to to have smaller, less detailed but still understandable icons for all or most of the traits. Our traits are in game/contant/db, in jsons starting with "traits_".
To make an example, try to switch google into searching images mode and enter "boobs icons".

Since you have to search for decent pictures and edit them, it's obviously much more difficult than gifts. That's how I made main personality icons half a year ago.
Even in the case of boobs you will need 4 similar, yet different icons for all 4 traits.


Lines/interactions are based on imagination mostly. Writing skills are good too, but I managed to make them all with zero writing skills  :D
I don't want to force you into writing interactions, but if you want to, you could take a look at game/library/interactions/GM - go out.rpy, starting with label interactions_eattogether string (lines before it are commented out and never used). You cannot see the whole logic from the game, since there are many checks for very different cases.

At this point I would welcomed even concept without coding, I mean stuff like possible checks and events.
You can also come up with ideas and concepts for other types of spending time together options. It's 90% of imagination, 10% of coding. And I have problems with this kind of imagination lately, so...


If anyone is willing to come up with personal quest for Tenten, that would be cool too. I have ideas or ready quests for everyone else from naruto pack, but I stuck with her.
Title: Re: General Discussion
Post by: Xela on August 23, 2015, 03:45:30 PM
If anyone is willing to come up with personal quest for Tenten, that would be cool too. I have ideas or ready quests for everyone else from naruto pack, but I stuck with her.

She's a weapons nut, I would pursue something in that general direction like locating a new secret weapons maker.
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 04:34:34 PM
I'll get right on it right after I ask this, how do I open a .json file? I tried looking for an option through renpy and couldn't locate one.
Title: Re: General Discussion
Post by: Gismo on August 23, 2015, 04:40:06 PM
I'll get right on it right after I ask this, how do I open a .json file? I tried looking for an option through renpy and couldn't locate one.

Use notepad ++ (or any text editor)
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 04:45:27 PM
Use notepad ++ (or any text editor)


Ahah! Thanks Gismo, much appreciated. *thumbs up*
Title: Re: General Discussion
Post by: Pseudononymous on August 23, 2015, 05:27:19 PM


Icons for traits are more complex and creative task. You saw our elemental icons and maybe also race and main personality icons too.
So the idea to to have smaller, less detailed but still understandable icons for all or most of the traits. Our traits are in game/contant/db, in jsons starting with "traits_".
To make an example, try to switch google into searching images mode and enter "boobs icons".

Since you have to search for decent pictures and edit them, it's obviously much more difficult than gifts. That's how I made main personality icons half a year ago.
Even in the case of boobs you will need 4 similar, yet different icons for all 4 traits.


"Smaller, less detailed, but still understandable icons... how small are we talking? 100 x 100px... 200 x 200?
Title: Re: General Discussion
Post by: DarkTl on August 24, 2015, 12:37:53 PM
Smaller than other icons, I think 100x100 is enough. Of course we always can resize them ingame, so any larger size is acceptable.
Title: Re: General Discussion
Post by: MrKlaus on August 24, 2015, 02:35:21 PM
Hi, it was some time from my last visit.

If anyone is willing to come up with personal quest for Tenten, that would be cool too. I have ideas or ready quests for everyone else from naruto pack, but I stuck with her.

 Don't know if the guild thing and exploration is still in the game, but if they are...
I would propose maybe something like this for TenTen's potential scenarios:
 
1. We meet her in town. From chatting with her, MC gets the knowledge, that: She lost her scroll (she uses it to summon all the weapons she uses). To find it the MC would have to send search parties to the general areas around the city. After let's say 3 sweeps around town that would bring zero results the scroll could be purchasable in one of the shops. Return it to her, she joins you.
 
2. MC meets her while taking a stroll in the woods (some other general area). Quick chat and we get to know Tentens story. She got robbed while was taking brake in the woods after hours of training. When her guard was down, some bandits used sleeping gas to knock her out. After she woke up, her summoning scroll and all belongings are gone and she is penniless (maybe ad a rape to the mix if you would like more darker approach to the story).  The bandits can be in three explorable areas - send parties to find and fight the bandits, the scroll would be a onetime drop item.
 
3. After certain rep in the arena gained by the MC, she could be a random opponent in one of the dog fights. After losing to the player, she would approach explaining that her today performance was bad due "health issues" (sudden period, headache, lack of sleep - couple next door bang loudly all night) and demanding a rematch in a week or two if you are a honorable warrior. Beating her the second time would result in Tenten recognizing your strength and wanting to join your party.
 
4. Nothing much. Minor event in a bar/pub at night. You run into drunken TenTen, a brawl between her and MC starts. Or something lighter (anime like stupid thing), you trip + grab her boob and a fight starts. After the fight - the result wouldn't matter, she will join you - If you lose: some chat and employing her as your body guard. If you win: some chat and take her in as a role model/master, the winning option would result in not paying for her services.
 
 
Hope I gave you some ideas for a scenario/event.
 
Title: Re: General Discussion
Post by: DarkTl on August 24, 2015, 03:53:31 PM
Yup, you did, thanks. If you are interested in helping the project, there are other characters that could use ideas for small events/quests.
Title: Re: General Discussion
Post by: MrKlaus on August 24, 2015, 03:59:11 PM
Yup, you did, thanks. If you are interested in helping the project, there are other characters that could use ideas for small events/quests.

Gimme a name list  8)
Title: Re: General Discussion
Post by: DarkTl on August 24, 2015, 05:00:35 PM
Foremost Robin and Hancock from One Piece. But in general every unique character except the ones from naruto pack (since we had another writer who helped a bit there) could use a small quest when you meet them.

I suppose you have to be familiar with characters to make events without reading wiki or something like that, so you could take a look at mine/Cherry packs threads and see if there is anything familiar there.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2015, 05:04:48 AM
I wonder if we need interactions tracking system. I feel like disposition alone is not enough to make it interesting, so we could use AA system when the game remembers how many times you did something, and have checks based on it.
The thing is, I can do it by myself anytime based on flags. But if we'll have something more centralized eventually, it would be a waste of time.
Title: Re: General Discussion
Post by: Xela on August 25, 2015, 05:41:01 AM
We can wrote a flag manager later. Any system that we create would have to also account for inter characters relationships. it's not something I am looking forwards to designing and coding atm.
Title: Re: General Discussion
Post by: Pseudononymous on August 26, 2015, 01:20:48 AM
Question1: Does anyone mind if I update a few more of the npc graphics? (in particular, the which and the tailor shop... possibly the armor shop/forge girl as well)

Question2: Can I create custom icons for each of the shops instead of having the same "pointer" style icon for every one? I can also change the .json file to reflect this change, I've learned my way around them.

Question3: I see this layout for all items, what does it mean?


Code: [Select]

    {
    "id": "Exotic Bouquet",
    "icon": "content/items/gift/eb.png",
    "desc": "This tastefully-arranged bouquet is comprised of many types of flowers that usually only grow in faraway lands. It's colorful, it's gorgeous, and it shows that you're willing to spend a lot of money to impress.",
    "price": 300,
    "chance": 65,
    "dismod": 30,
    "cblock": 5,
    "infinite": false,
    "locations": ["General Store"],
    "traits": {"Ill-mannered": 40, "Not Human": 45, "Tomboy": -20, "Noble": 15}

Is there a manual somewhere that explains what all of this means? I assume the following:
id, icon, price,infinite and locations are all obvious
chance: odds of the item showing up in shop (out of 100) every week or day. (each time new items are generated)
dismod: no idea
cblock: no idea
traits: how much the item affects a certain trait (0 = trait loss, 100 = trait gain) OR how much it effects a slaves happiness based on the whether or not they have the trait

I'm looking to start designing the new gifts that are to be mostly based on their compatibility with traits so this info will be very helpful. Also, if this is the old format of how gifts are constructed, I'd like a heads up on the new one.

Question5: Because the game is free I assume it is ok to use well known/copyrighted girls for the npc updates? Correct me if I am wrong. Also, I may stash a few backups in case we run into an oddity with someone releasing a shopkeep in a girl pack or something. Or do we simply want to avoid implementing any girl that we might want to be a slave as a shopkeep (a.k.a. keep it generic)?


On an end note: I am currently working on making the smaller icons that correlate to traits, but I will switch off between all of this depending on if I get burnt out on one or the other. Always good to have a lot of things to do. Once I am done with a few trait icons, if I can't figure out how to implement them, I'll ask about that.
Title: Re: General Discussion
Post by: CherryWood on August 26, 2015, 02:05:00 AM
Question1: Does anyone mind if I update a few more of the npc graphics? (in particular, the which and the tailor shop... possibly the armor shop/forge girl as well)

Do not change the tailor and café girls please. I manage those. (something is wrong with them?)
Title: Re: General Discussion
Post by: Pseudononymous on August 26, 2015, 02:15:55 AM
Do not change the tailor and café girls please. I manage those. (something is wrong with them?)

Wrong, not necessarily, but the tailor girl in particular seems to be a bit behind the times. I simply feel that there are higher quality image choices out there. But hey, if it's your department I'll let you run it. This is why I ask rather than just going and changing things all willy-nilly. If that's you, keep it how you like sir. No change, no problem.
Title: Re: General Discussion
Post by: Xela on August 26, 2015, 02:16:35 AM
Question1: Does anyone mind if I update a few more of the npc graphics? (in particular, the which and the tailor shop... possibly the armor shop/forge girl as well)

Go ahead, almost everyone seems to want to replace them with sprites of their own choosing :) It's been done 2 or 3 times already.


Question2: Can I create custom icons for each of the shops instead of having the same "pointer" style icon for every one? I can also change the .json file to reflect this change, I've learned my way around them.

Sure.

Question3: I see this layout for all items, what does it mean?


Code: [Select]

    {
    "id": "Exotic Bouquet",
    "icon": "content/items/gift/eb.png",
    "desc": "This tastefully-arranged bouquet is comprised of many types of flowers that usually only grow in faraway lands. It's colorful, it's gorgeous, and it shows that you're willing to spend a lot of money to impress.",
    "price": 300,
    "chance": 65,
    "dismod": 30,
    "cblock": 5,
    "infinite": false,
    "locations": ["General Store"],
    "traits": {"Ill-mannered": 40, "Not Human": 45, "Tomboy": -20, "Noble": 15}

Is there a manual somewhere that explains what all of this means? I assume the following:
id, icon, price,infinite and locations are all obvious
chance: odds of the item showing up in shop (out of 100) every week or day. (each time new items are generated)
dismod: no idea
cblock: no idea
traits: how much the item affects a certain trait (0 = trait loss, 100 = trait gain) OR how much it effects a slaves happiness based on the whether or not they have the trait

I'm looking to start designing the new gifts that are to be mostly based on their compatibility with traits so this info will be very helpful. Also, if this is the old format of how gifts are constructed, I'd like a heads up on the new one.

There is a somewhat outdated explanation here:

http://www.pinkpetal.org/index.php?topic=1883.0

dismod stands for "disposition modifier" but we decided not to use it for now.

cblock blocks an item to be used again for the "5" amount of days in this case. It was not meant to be used with gifts, maybe we've agreed to use it in gift context to make gifts useless for the said amount of days but I do not recall writing actual code for that.

traits modify the disposition when gift is given and prolly also determine a response. Code may be broken atm, we've update core code a couple of times but not gifts interactions.

On an end note: I am currently working on making the smaller icons that correlate to traits, but I will switch off between all of this depending on if I get burnt out on one or the other. Always good to have a lot of things to do. Once I am done with a few trait icons, if I can't figure out how to implement them, I'll ask about that.

I'd keep gifts very, very simple. About the same as they are now... there is no point in over-complicating the design. I expect that some of the traits are gone by now unless Dark updated the file recently.

Simplest way to design them is to base traits bonuses off temperament, must have traits like body/breast/race/base. More specific modifications will require more work, there are too many traits in the game.
Title: Re: General Discussion
Post by: Xela on August 26, 2015, 02:21:00 AM
Do not change the tailor and café girls please. I manage those. (something is wrong with them?)

I forgot, you even changed music and wrote an event for the tailor :)
Title: Re: General Discussion
Post by: Pseudononymous on August 26, 2015, 02:35:39 AM
Cool cool.

Well there is a cblock on every gift item, some up to 30 days for high-ticket items. Should I implement cblock in the new ones or just leave it out? (If you and Dark need to discuss this just get back to me on it whenever you know what's up).

I'll do my best to keep it simple as you've suggested.


If he doesn't catch this (though I'm sure he will) I'll PM dark and ask about updating the trait file so that I know which are actually useful to consider for item development and which are not.

Any idea where the code for gift interactions lives? (what location in the repo?) I may be able to unbreak it and get it back on track. Looking to do any specific improvements/modifications to the basic system of gift interactions? (If I can figure my way to fixing it I may be able to implement some of the new ideas). I'm not talking any unique cases here, just the universally applied cases. 


Title: Re: General Discussion
Post by: CherryWood on August 26, 2015, 05:49:07 AM
Wrong, not necessarily, but the tailor girl in particular seems to be a bit behind the times. I simply feel that there are higher quality image choices out there.
...sorry, you mean that assistant schoolgirl, you can replace her freely, she's just a relic from first version I guess. Just keep tha tailor lady be.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 06:12:31 AM
dismod stands for "disposition modifier" but we decided not to use it for now.
Wrong, we decided to not use it for usual items. For gifts it is the base value for changing disposition.

So in the case of Exotic Bouquet we have "dismod": 30, ie + 30 disposition.
Then we look at "traits": {"Ill-mannered": 40, "Not Human": 45, "Tomboy": -20, "Noble": 15}, ie 30-20 = 10 disposition if Tomboy trait is there, or 30 - 20 + 15 = 25 if Tomboy and Noble traits are there. Of course we don't have these traits anymore, since we made gifts like 2 years ago, even before we introduced MPTrait system, and since then we were focused on other modules  :)

Also there are fields like "occupations": {"Warrior": 30} which used to work with occupations before we made them class traits. I suppose we will need to code a new field for such things now.

cblock blocks an item to be used again for the "5" amount of days in this case. It was not meant to be used with gifts, maybe we've agreed to use it in gift context to make gifts useless for the said amount of days but I do not recall writing actual code for that.
Yup, we had such an agreement.

Question5: Because the game is free I assume it is ok to use well known/copyrighted girls for the npc updates? Correct me if I am wrong. Also, I may stash a few backups in case we run into an oddity with someone releasing a shopkeep in a girl pack or something. Or do we simply want to avoid implementing any girl that we might want to be a slave as a shopkeep (a.k.a. keep it generic)?
Yeap, we don't care about copyright. Sometimes I even delete copyrighting signs from images if they are too big and noticeable for my taste.
Ideally as shopkeeps we should use characters that don't have enough images to make a pack, or original characters ie not from some game or show (it's basically the same, they usually don't have enough pictures for a pack too).

Well there is a cblock on every gift item, some up to 30 days for high-ticket items. Should I implement cblock in the new ones or just leave it out? (If you and Dark need to discuss this just get back to me on it whenever you know what's up).
I figured that we shouldn't allow players to spam the same gift over and over, and cblock was the only way to prevent it back then. I still believe that we shouldn't allow spamming gifts. You or Xela could code another way instead of cblock if you don't like it  :)
Title: Re: General Discussion
Post by: Xela on August 26, 2015, 08:02:20 AM
Wrong, we decided to not use it for usual items. For gifts it is the base value for changing disposition.

I see... this sort of means "universal gifts" which I wanted to avoid, it should be used with a lot of reservation... Most gifts should prolly have this set to 0.

Also there are fields like "occupations": {"Warrior": 30} which used to work with occupations before we made them class traits. I suppose we will need to code a new field

We should move specific occupations to "traits" field and leave normal "occupations" field for generalization strings such as "SIW", "Server" and "Warrior". It will make a lot of sense if done this way.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 10:18:15 AM
Yup, forgot about general occupations.

this sort of means "universal gifts" which I wanted to avoid, it should be used with a lot of reservation... Most gifts should prolly have this set to 0.
Yes, we'll have to balance it too, but it's not so bad when we actively use cblock. Such gifts simply can have weeks of cooldown.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 10:27:53 AM
Xela, I recall you mentioned something about custom buttons that appear in gui during quests or something like that. I suppose we'll need them to actually make my quests work, because I cannot think of a better way to advance in many cases.
Title: Re: General Discussion
Post by: Xela on August 26, 2015, 10:49:10 AM
Xela, I recall you mentioned something about custom buttons that appear in gui during quests or something like that. I suppose we'll need them to actually make my quests work, because I cannot think of a better way to advance in many cases.

Looks at Namis/Frogs quests, they ARE custom buttons, both Nami and the frog. What I was talking about is to allow placing those buttons into NPCs usual menus because it looks really bad when button is just hovering there instead of being a part of NPCs usual talking choices.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 11:08:39 AM
I mean buttons inside GMs too, not just hovering somewhere. I'm actually going to use matrix inside village to search for quests, but when you already found a quest, I want buttons to advance through it.
Title: Re: General Discussion
Post by: Pseudononymous on August 26, 2015, 11:24:22 AM
...sorry, you mean that assistant schoolgirl, you can replace her freely, she's just a relic from first version I guess. Just keep tha tailor lady be.

I don't think we're on the same page here, I mean the lady with the pink hair, with the scissors, in the tailor shop "tailor_kayo" is the name of the file. Not the cafe assistant in the maid uniform with the white hair or the tailor assistant in the school girl uniform with the brown hair. I'm pretty sure I mean the one you want left alone.

However, I'm not replacing anything at the cafe or tailor, you said that was your department and whether or not you prefer to keep it as is or update it I respect your decision. I don't like to go messing around with other people's active department. I'll leave it to you sir, but let me know if you want any help with alterations if you decide on any.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 11:41:54 AM
Since we took some traits names directly from wm resources, I'm afraid we made the same mistake by using double n in "Exhibitionnist"  ::)
Gonna use autoreplacment function to fix it.
Title: Re: General Discussion
Post by: Pseudononymous on August 26, 2015, 11:47:57 AM
I figured that we shouldn't allow players to spam the same gift over and over, and cblock was the only way to prevent it back then. I still believe that we shouldn't allow spamming gifts. You or Xela could code another way instead of cblock if you don't like it  :)


Nope, that works for me.

But I'm not seeing the problem with the "dismod" method. Xela said it makes it them "universal gifts" meaning it affects all girls and so to avoid this he said most dismods will be set to 0 so that only traits affect it's disposition bonus, which makes sense. Still I'm not seeing the problem with universal gifts, they'll take more balancing, but I think the simplicity of the system is agreeable. Either way you'd have a simpler system with more complex balancing or a more complex system with simpler balancing.

In any case, are the trait files (the .jsons listing all of the traits) up to date? Because if some have been removed and it simply hasn't been updated yet I'd rather not waste time making icons for traits that are no longer going to be implemented. Also, I would need accurate one's for gift creation.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 12:16:16 PM
Yup, they are up to date. You can ignore traits_testing and traits_training, they are for testing and using in special cases. Also traits_class_mobs and traits_class jsons, they contain classes traits which will be handled differently.

That leaves traits_body, traits_modificators and traits_skill. At very least try to make icons for the first two, I expect the last one to be rather difficult.
Title: Re: General Discussion
Post by: Xela on August 26, 2015, 01:26:25 PM
I mean buttons inside GMs too, not just hovering somewhere. I'm actually going to use matrix inside village to search for quests, but when you already found a quest, I want buttons to advance through it.

What do you need exactly? It's prolly possible to do with an existing system, it's just not documented how.

But I'm not seeing the problem with the "dismod" method. Xela said it makes it them "universal gifts" meaning it affects all girls and so to avoid this he said most dismods will be set to 0 so that only traits affect it's disposition bonus, which makes sense. Still I'm not seeing the problem with universal gifts, they'll take more balancing, but I think the simplicity of the system is agreeable. Either way you'd have a simpler system with more complex balancing or a more complex system with simpler balancing.

I don't mind as long as it's well designed. Last I tested the system, almost any characters seemed to respond well to almost any gift, it wasn't how I imagined this feature to work. I'd prefer a wider variety of responses from them so there would be an intensive to learn something about the character first, before flooding them with gifts to gain disposition.

There are other ways we can balance it out, price vs current disposition for example... so design it as you see fit.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 02:02:27 PM
I'm not even sure how we check if the gift will be accepted or not, I don't have any such checks in my files... So I suppose you coded it  :)

For quests, when you accepted personal character's quest and fulfilled its current conditions, there should be a (custom?) button inside GMs that will allow you advance to the next stage of the quest. Another case is when you accepted personal character's quest to do something unique together with the character N times, there should be a button in GMs allowing to do it.
Title: Re: General Discussion
Post by: Pseudononymous on August 26, 2015, 02:14:16 PM
Yup, they are up to date. You can ignore traits_testing and traits_training, they are for testing and using in special cases. Also traits_class_mobs and traits_class jsons, they contain classes traits which will be handled differently.

That leaves traits_body, traits_modificators and traits_skill. At very least try to make icons for the first two, I expect the last one to be rather difficult.


On it boss.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 03:00:16 PM
Should I fix old traits in commented out sections too? Like def create_customer(self, name="") section in classes - unique buildings.rpy for example, favtraits are commented out.
Title: Re: General Discussion
Post by: Pseudononymous on August 26, 2015, 03:26:56 PM
Should I fix old traits in commented out sections too? Like def create_customer(self, name="") section in classes - unique buildings.rpy for example, favtraits are commented out.


I assume that question is meant for Xela, because I have no idea.
Title: Re: General Discussion
Post by: Xela on August 26, 2015, 05:34:46 PM
For quests, when you accepted personal character's quest and fulfilled its current conditions, there should be a (custom?) button inside GMs that will allow you advance to the next stage of the quest. Another case is when you accepted personal character's quest to do something unique together with the character N times, there should be a button in GMs allowing to do it.

We have that in place and you know how to work it... I know that you've edited all levels of Interaction menus!

It's just putting two and two together:

1) Player accepted a quest and fulfilled some of its conditions. At the end of such quest, you set some flag to a character.

2) You add a new button to interactions menus and condition it off that characters flag, it will obviously only work for that characters instance.

3) You have game jump to a label of your choosing from that menu to continue the quest.

===

Thewlis is logging in to FP but he never writes anything or answers to PMs. Even if I dive into his code, I doubt that I can come up with a better solution. Maybe I can help in a sense of generalizing the approach like writing a line of conditioning code that will check if a character has any True flag that starts with "event_to_interactions" and we agree on a MAX of one label for a character called for example:

Code: [Select]
label event_to_interaction:
and rest is handled from within that label. That way any modder can use it but since we have no modders atm that are capable of writing that level of quests, it may not (yet) be required.

Should I fix old traits in commented out sections too? Like def create_customer(self, name="") section in classes - unique buildings.rpy for example, favtraits are commented out.

No, that I will delete soon, you've already tagged all traits with special properties (basetrait, sexual, body, race, character and so on), new code will use that instead of strings.

I may ask you to help with vase patterns for characters but we are not there yet.
Title: Re: General Discussion
Post by: DarkTl on August 26, 2015, 06:06:07 PM
We have that in place and you know how to work it... I know that you've edited all levels of Interaction menus!
Yes, I can. It means however that every single personal quest for every single character will require a new modification of pyt - screens - interactions file. Sometimes more than just one. It hardly could be called a good solution for modding or even developing, the file will become messy very quickly.
What I mean is a system when there are hidden buttons at GM screen that become visible when a character has a quest flag, they lead to the labels you want, they have custom names that you can set somewhere without modding the main screen rpy file.

Basically, we check if there are quests that require buttons for the current character when we enter her GM, and if needed we make visible special buttons with custom names that you can set inside the quest logic.
Title: Re: General Discussion
Post by: Xela on August 26, 2015, 11:41:45 PM
Yes, I can. It means however that every single personal quest for every single character will require a new modification of pyt - screens - interactions file. Sometimes more than just one. It hardly could be called a good solution for modding or even developing, the file will become messy very quickly.
What I mean is a system when there are hidden buttons at GM screen that become visible when a character has a quest flag, they lead to the labels you want, they have custom names that you can set somewhere without modding the main screen rpy file.

Basically, we check if there are quests that require buttons for the current character when we enter her GM, and if needed we make visible special buttons with custom names that you can set inside the quest logic.


Thewlis is logging in to FP but he never writes anything or answers to PMs. Even if I dive into his code, I doubt that I can come up with a better solution. Maybe I can help in a sense of generalizing the approach like writing a line of conditioning code that will check if a character has any True flag that starts with "event_to_interactions" and we agree on a MAX of one label for a character called for example:

Code: [Select]
label event_to_interaction:
and rest is handled from within that label. That way any modder can use it but since we have no modders atm that are capable of writing that level of quests, it may not (yet) be required.


This...?
Title: Re: General Discussion
Post by: DarkTl on August 27, 2015, 06:28:28 AM
Well, you proposition is a bit vague. How I imagine it exactly:
- Either new submenu for quest buttons (called events for example) that is hidden when there are no quest options available, or simply buttons that have a different color. This way players will immediately notice quest options in GMs.
- If character has a True flag starting with event_to_interactions, a quest button appears inside GMs that will lead to specific label, for example label event_to_interactions_lbl_"name of that true flag without "event_to_interactions" part". That will allow us to use multiple buttons.
- The difficult part here is to use custom names for those quest buttons. I'm not even sure if it's possible or where to set those names in the code to make it work.
Title: Re: General Discussion
Post by: Xela on August 27, 2015, 07:02:11 AM
I have a decent idea, for both, button name and conditioning that will work like you describe. Actually coded exactly like you described :)

Gonna try adding it tonight.
Title: Re: General Discussion
Post by: Gismo on August 27, 2015, 07:27:05 AM
I have a question.
There are too many screens with items (hero_profile - Eqipment (with doll) ... girl_equip (with doll) ... items_transfer (from hero to one girl) ... items_transfer (from one girl to another) and they are all in different places.
Much confusion, the player must remember that dress up items on the hero can only be in his profile > same to girl but in girl profile > you can transfer items from hero to girl with only from her profile screen (top strip button) > and transfer items from girl to girl only at brothel_management screen.

How about we make one screen instead of so many?
- the buttons will be in hero_profile and girl_profile
- all the right buttons to transfer items will also be here
- you can equip as a hero and a girl from this screen (with different dolls)

I can try to make it.
Title: Re: General Discussion
Post by: Xela on August 27, 2015, 08:17:44 AM
So you suggest:

1) Use current girls equip screen to equip anyone.
2) Use transfer items screen to transfer to anyone who is available by default (from any screen) or to between sensible range of characters when calling it, for example from a building.

===
It makes some sense but unique eq screen for MC is also kinda cool. Items transfer is handled logically on per location basis (between chars in a building for example, those are not "all" girls as you stated).

I don't mind either way, lets see what others have to say...
Title: Re: General Discussion
Post by: DarkTl on August 27, 2015, 10:06:36 AM
Yes, we need it. I played many games, and we have the most confusing items gui I ever saw (not the most inconvenient though). I know how to find all options only because I asked on the forum  :)
Title: Re: General Discussion
Post by: Xela on August 27, 2015, 10:24:39 AM
Confusing how? Due to multiple equipment screens or buttons that lead to them or buttons that lead to items transfer?
Title: Re: General Discussion
Post by: DarkTl on August 27, 2015, 11:36:30 AM
Well, usually there is a huge "Items" or "Equipment" button in one single place (and in most games you can very quickly press it, though not everywhere unfortunately) that will lead you to menu where you can do everything or almost everything with items, including looking at them, discarding, equipping and transferring to another character.
Only in some cases, when there is a craft of some kind in the game, they sometimes make a separate button for it.


Well sh#t, I wanted to test some stuff, but you cannot buy MC house (or anything else) anymore  :)
Quote
While running game code:
  File "game/library/screens/locations/pyt - screen - realtor.rpy", line 46, in script
    $ market_buildings = sorted(set(chain(brothels.values(), buildings.values())) - set(hero.buildings), key = lambda x: x.id)
  File "game/library/screens/locations/pyt - screen - realtor.rpy", line 46, in <module>
    $ market_buildings = sorted(set(chain(brothels.values(), buildings.values())) - set(hero.buildings), key = lambda x: x.id)
AttributeError: 'RevertableList' object has no attribute 'values'
Title: Re: General Discussion
Post by: DarkTl on August 27, 2015, 12:24:42 PM
My propositions:
- if you want, you can keep the button for item transferring screen in buildings. But there should be another button leading to that screen, and it should be somewhere in characters inventory or profile. Because otherwise you have a long way to go between screens.
- add a way to transfer items using MC's storage. Meaning that every character will have an access to MC's items storage (not free of course, just for transferring items). And the button to access it should be in characters (and MC's) inventories.
- at the current small items transfer screen between a girl and MC you can see either her or his inventory. Why? There is a lot of space for both inventories, and it's more convenient too. We do have both inventories at the main transfer screen after all, so why not here?
- current MC equipment screen, when there are those moving panels instead of a separate solid screen like girls have, is really bad.

*btw we don't have discard item option. That might be not the most popular option, but it is needed.
Title: Re: General Discussion
Post by: Xela on August 27, 2015, 02:23:01 PM
I'll think about and start a new issue tomorrow... I though MCs slide outs were a nice touch :)

We can work out the MC eq screen... we can add dropdowns for moar options when calling the items transfer screen and etc. I wanted to add drag&drop to items as well but that's gonna be a bit tricky so prolly best left for better times.
Title: Re: General Discussion
Post by: DarkTl on August 27, 2015, 02:52:51 PM
MC profile screen is in a real mess compared to girls screens. When you slide out even more stuff, it becomes unbearable.

Not the best example, but did you noticed how I hide one group of traits flags when I need to show another one in my tagger? If you want equipment to slide out, you will need to hide something, otherwise we have information overload.
Also mini inventory that slides out is way too small to be convenient.
Title: Re: General Discussion
Post by: Xela on August 27, 2015, 07:49:54 PM
Well, you proposition is a bit vague. How I imagine it exactly:
- Either new submenu for quest buttons (called events for example) that is hidden when there are no quest options available, or simply buttons that have a different color. This way players will immediately notice quest options in GMs.
- If character has a True flag starting with event_to_interactions, a quest button appears inside GMs that will lead to specific label, for example label event_to_interactions_lbl_"name of that true flag without "event_to_interactions" part". That will allow us to use multiple buttons.
- The difficult part here is to use custom names for those quest buttons. I'm not even sure if it's possible or where to set those names in the code to make it work.

Took me 2 hours to figure out how to get Thewlises WAM to update itself and 10 mins to write the code for this... hopefully nothing is broken, I've started a new Issue (super long term) to merge all world interactions modules but I am not looking towards rewriting so much code any time soon...

There is an example of how to use this subsystem in temp_logic.rpy, some maor comments in the interactions file, but it should be self-evident...

I'll try to go through Thewlises code, there are some things there we are not using that may help the development out. There is a good chance that something like this was coded already and I simply couldn't find it.
Title: Re: General Discussion
Post by: DarkTl on August 27, 2015, 07:56:39 PM
Tagger update!  :)
I added support for ini files. In the tagger thread you can find an example of ini file. It should be in the same folder as the tagger. The file is optional, without it the tagger will work as usual.

"Path" means default initial path that opens when you try to open a folder, "height" and "width" are window sizes (can't be less than 690x1250, otherwise ignored), colors options freely set colors for elements of gui using RGB format.
Title: Re: General Discussion
Post by: DarkTl on August 28, 2015, 10:27:11 AM
How can I set some flag to all characters in the game at once?
Title: Re: General Discussion
Post by: Pseudononymous on August 28, 2015, 11:09:12 AM
Here are some mock-up icons for the breast size trait. Any questions, comments, and/or critique?

I can change the colors, forms, everything pretty easily. If you don't like it or wanted a front view or something I can start the search again.


Also, once they are finished, should I just hand them off to someone or is it simple enough to take a swing at implementing them myself then pushing it? I have a backup for my backup so I'm not worried about breaking anything. Wouldn't dream of pushing unless everything was on the up and up.
Title: Re: General Discussion
Post by: DarkTl on August 28, 2015, 11:39:00 AM
Yes, they actually look very nice!
However, icons should be closer to squares than rectangles, otherwise they will take too much space in gui. I'm afraid we'll have to cut either the head or the torso a bit.

When they will be finished, you can just create a folder for them in game\content\gfx\interface\images (other icons have folders there too) and push it to the repo. Files names don't matter, we tie icons to traits manually in traits jsons.
Title: Re: General Discussion
Post by: Pseudononymous on August 28, 2015, 12:24:23 PM
Yes, they actually look very nice!
However, icons should be closer to squares than rectangles, otherwise they will take too much space in gui. I'm afraid we'll have to cut either the head or the torso a bit.

When they will be finished, you can just create a folder for them in game\content\gfx\interface\images (other icons have folders there too) and push it to the repo. Files names don't matter, we tie icons to traits manually in traits jsons.


Question: Should I keep the white background or make it a PNG with alpha so that it is the same color as the background on which it is placed?
Title: Re: General Discussion
Post by: DarkTl on August 28, 2015, 12:34:27 PM
Keep it, traits gui background is not very suitable for transparent icons.
Title: Re: General Discussion
Post by: Pseudononymous on August 28, 2015, 01:59:57 PM
Keep it, traits gui background is not very suitable for transparent icons.


Gotcha, well, rather than cropping them I just stretched them horizontally a bit, still looks good from my perspective. Perhaps better actually, made the female figures a little more curvy and added a small gradation from dark (bottom) to light (top) to add some weight to the image. I forgot to mention that it is the "images" for the first 4 body traits in the push comment but you get the picture. Push was successful and all of the body traits are going to be in the "body" folder in the interface>images>body path.

Can't wait to see it implemented, going to get to work on another set soon. *thumbs up*
Title: Re: General Discussion
Post by: DarkTl on August 28, 2015, 02:16:00 PM
Xela, I don't understand some stuff about pytfall.world_actions.add that you used to add actions at several locations screens.

For example, pytfall.world_actions.add("angelica", "Find Angelica", Jump("angelica_menu"), condition=Iff(global_flag_complex("met_angelica"))). I figured that "Find Angelica" is the name of the button, Jump("angelica_menu") is where we jump when we press it,  condition is obvious. What is "angelica" part then?

Title: Re: General Discussion
Post by: deadkingblue on August 28, 2015, 02:32:41 PM
QQ is this game still under dev and the latest version is hidden in the 300+ pages or is the dev of this game stopped?
Title: Re: General Discussion
Post by: Pseudononymous on August 28, 2015, 02:36:35 PM
QQ is this game still under dev and the latest version is hidden in the 300+ pages or is the dev of this game stopped?

Game is totally under dev. We've got Xela, Dark, Cherry, Gismo, myself, and a few others on it. Latest version (dev version) is updated via Git, through pulling. Latest stable version is the alpha that was release some time ago, if you need the link I can grab it for you.
Title: Re: General Discussion
Post by: deadkingblue on August 28, 2015, 02:39:41 PM
No i know where the latest alpha is, but i just wanted to make sure that this really cool game is still under dev and not abandoned :P  i guess i could have read the recent posts here but i kinda got lazy.
Title: Re: General Discussion
Post by: Pseudononymous on August 28, 2015, 02:42:06 PM
No i know where the latest alpha is, but i just wanted to make sure that this really cool game is still under dev and not abandoned :P  i guess i could have read the recent posts here but i kinda got lazy.

Yeah, if you just read this page that we're posting on it's pretty obvious that it is still under development, everyday new things are being implemented/altered. I do not approve of lazy Q.Qers, just read a few posts and everything is solved. XD
Title: Re: General Discussion
Post by: DarkTl on August 28, 2015, 04:54:22 PM
Alright, I'm tired of fighting with errors I've never even seen before  :D

I made village location and added matrix there. The idea is to run either a scene or GM with a certain character once you select a specific building.
Scenes are fine, but I cannot make GMs work. The idea is to replace village bg with some another bg and then run GMs there with specific character using her vnsprite. And after GMs are finished, return to the village screen.
Title: Re: General Discussion
Post by: Xela on August 28, 2015, 07:13:58 PM
How can I set some flag to all characters in the game at once?

Why... you need to iterate over the chars container but I would like to avoid setting flags to all chars, lack of such a flag is usually the same as a flag.


Question: Should I keep the white background or make it a PNG with alpha so that it is the same color as the background on which it is placed?

Shouldn't they look like other trait icons? We should have some standard, I don't really know where to place this in GUI.

Xela, I don't understand some stuff about pytfall.world_actions.add that you used to add actions at several locations screens.

For example, pytfall.world_actions.add("angelica", "Find Angelica", Jump("angelica_menu"), condition=Iff(global_flag_complex("met_angelica"))). I figured that "Find Angelica" is the name of the button, Jump("angelica_menu") is where we jump when we press it,  condition is obvious. What is "angelica" part then?

It's an index, you can write practically anything there. Since those menus are simple, one level menus, tuples are not required. Otherwise you can build whole menus like Interactions that have many levels and indexes.

Alright, I'm tired of fighting with errors I've never even seen before  :D

I made village location and added matrix there. The idea is to run either a scene or GM with a certain character once you select a specific building.
Scenes are fine, but I cannot make GMs work. The idea is to replace village bg with some another bg and then run GMs there with specific character using her vnsprite. And after GMs are finished, return to the village screen.

May be tricky, I know once I see the code...
Title: Re: General Discussion
Post by: Pseudononymous on August 28, 2015, 08:15:12 PM
.
Shouldn't they look like other trait icons? We should have some standard, I don't really know where to place this in GUI.


Yep, but the thing is, they are the first of the trait icons, so they will likely determine what the remainder will look like.. and even that will likely change after more are made and better options are discovered for the "feel" we're looking for. I assume they'll go next to the listed traits on the girl's pages? But idk, because that is rather small.

Example: Big Breasts (small square image of woman)
               Adventurer (small square image of sword or treasure)
               Not Human (small square image of devil tail or halo)
               Construct   (small square image of robot-ish thing, or statue or something)


like so... but I don't even know if you will be able to discern what the images are at the size they would have to be to fit inside the labels with the words.
                                                               _
They would appear about the size of this > l_l literally, but a little shorter, think square rather than rectangle. and that will be about its literal size. If it goes where I think it's going, if it is at that location (and that size). I'm not actually sure they are worth having, as they will likely not be fully discernible from one another if given similar images such as the breast size one's that have already been developed. Thoughts?
Title: Re: General Discussion
Post by: Xela on August 29, 2015, 06:29:13 AM

Yep, but the thing is, they are the first of the trait icons

They aren't really as Personality, Race and Elements are also traits and have icons.

Example: Big Breasts (small square image of woman)
               Adventurer (small square image of sword or treasure)
               Not Human (small square image of devil tail or halo)
               Construct   (small square image of robot-ish thing, or statue or something)


like so... but I don't even know if you will be able to discern what the images are at the size they would have to be to fit inside the labels with the words.
                                                               _
They would appear about the size of this > l_l literally, but a little shorter, think square rather than rectangle. and that will be about its literal size. If it goes where I think it's going, if it is at that location (and that size). I'm not actually sure they are worth having, as they will likely not be fully discernible from one another if given similar images such as the breast size one's that have already been developed. Thoughts?

It's too much work without a large benefit so I don't think that they are worth having. In some distant future, we may add a development tree for the traits like in SimBro 1x/JasBro where a Character would get points on leveling up and unlock new traits for better and cooler bonuses. When we do that, such a tree would be worth drawing. Current traits are perfectly fine as buttons, maybe we can add larger variety of buttons by splitting them into combat, normal, sexual traits and etc.?

It does make sense to make icons for Body and Breast traits for a simple reason of one of those traits being a requirement for any character. Maybe even male icons as well for the future but not for every single trait in the game!
Title: Re: General Discussion
Post by: DarkTl on August 29, 2015, 06:41:59 AM
Why... you need to iterate over the chars container but I would like to avoid setting flags to all chars, lack of such a flag is usually the same as a flag.
Well, not really all chars, more like all chars with the same origin. For example, to forbid certain actions with characters from one specific pack until you complete their personal quests. I can make it manually one by one, but it's messy.

Shouldn't they look like other trait icons? We should have some standard, I don't really know where to place this in GUI.
I personally want to see small traits icons next to their names in gui.

They aren't really as Personality, Race and Elements are also traits and have icons.
Yup, these are special cases. For other traits we could use simplier and smaller icons.

It does make sense to make icons for Body and Breast traits for a simple reason of one of those traits being a requirement for any character. Maybe even male icons as well for the future but not for every single trait in the game!
I can say that we unlikely will see many new major traits. You should know by now how it's difficult to maintain too many traits.
There will be new traits, but most of them will be minor, and won't need icons.
Title: Re: General Discussion
Post by: Xela on August 29, 2015, 06:57:50 AM
Well, not really all chars, more like all chars with the same origin. For example, to forbid certain actions with characters from one specific pack until you complete their personal quests. I can make it manually one by one, but it's messy.

That is perfectly reasonable:

for c in chars:
    if c.origin = "From Outer Space":
        c.set_flag("Doesnt_like_to_mingle_with_mere_earthlings")

I personally want to see small traits icons next to their names in gui.
Yup, these are special cases. For other traits we could use simplier and smaller icons.

Even so, it's not any sort of a priority right now and those icons would still have to be a lot smaller... also new traits will require them as well and if all artists will be busy/disappear, we'd be screwed (it'd take me the same time to draw the icons Pseudo did as to write and debug a few hundred lines of code). Special cases can be covered... rest can wait until better days unless it's something Pseudo actually interested in doing and those icons need to be small to fit on button, shouldn't they? Like Gismos locations in the city map.

I can say that we unlikely will see many new major traits. You should know by now how it's difficult to maintain too many traits.
There will be new traits, but most of them will be minor, and won't need icons.

Depends... we'll have a lot of new occupation traits after the next release (maybe even before) and a bunch of support traits will be required as well. Traits are not difficult to maintain in the code as long as they can be well sorted. If you need help maintaining JSONs, we can try recruiting some people or you can as CW who more often than not can take out tasks quickly if they are clearly explained.
Title: Re: General Discussion
Post by: DarkTl on August 29, 2015, 07:05:51 AM
Even so, it's not any sort of a priority right now and those icons would still have to be a lot smaller... also new traits will require them as well and if all artists will be busy/disappear, we'd be screwed
Why should we bother with size if we can resize pics ingame? Also, they are quite simple right now, you basically take a picture you like and replace one part with one color and other part with another color. This way even without artists it's totally possible to quickly make them.
As for priority, it's not like you or me doing it. If Pseudo wants to make icons, why should we forbid him to?  :)

Depends... we'll have a lot of new occupation traits after the next release (maybe even before) and a bunch of support traits will be required as well. Traits are not difficult to maintain in the code as long as they can be well sorted. If you need help maintaining JSONs, we can try recruiting some people or you can as CW who more often than not can take out tasks quickly if they are clearly explained.
I never even considered to make icons for classes traits. I mean traits from body and modificatiors traits jsons mostly.
Title: Re: General Discussion
Post by: DarkTl on August 29, 2015, 07:23:02 AM
About running GMs when I need it... It's another side of that system from this (https://github.com/XelaPy/PyTFall/issues/58) issue, when you can go to character house and talk to her anytime.
However, that system should be used for chars that don't have a personal story and location.

I want to make a new story (and a small location if needed) with every new release based on some pack or packs. Many chars with personal quests will have a place where you can find them and talk to them. It means that, unless they are slaves or dead, you can go there and run either GMs or interactions screen with custom background and probably vnsprite.
Title: Re: General Discussion
Post by: Pseudononymous on August 29, 2015, 08:29:19 AM
I don't mind working on traits in the slightest, but I prefer to work on things of priority. If traits are not necessarily important right now then I can place them on the back burner.

Suggestion: Hey Dark, how about when you get some spare time (who am I kidding) you implement the first few trait images that are in the body folder and we'll see how it looks. If we do it some time soon that should give me enough time to think it over and determine if there is a better way to display them in the gui assuming we keep them, or decide if it really isn't worth putting them in. But you seem to know exactly where you want them and how to resize them as appropriate so I will defer to you in this matter.


Is there anything (graphically) of "notable" priority, something that "needs" to be done for the next release? That's what I'd like to work on, what we need.
If there isn't anything like that I will construct a roadmap for myself from what has already been mentioned (items, traits, etc.) and go about completing it.
Title: Re: General Discussion
Post by: Xela on August 29, 2015, 09:34:23 AM
Is there anything (graphically) of "notable" priority, something that "needs" to be done for the next release? That's what I'd like to work on, what we need.
If there isn't anything like that I will construct a roadmap for myself from what has already been mentioned (items, traits, etc.) and go about completing it.

Yes! :)

I would conciser the following to be a priority (in no particular order):

1) Bestiary screen (I left a detailed explanation earlier).

2) Slide out Win/Loose graphics for the Arena:

- Two 1280x360 pretty frames.
- "Slots" frames for individual fighters that would size well, currently we're using 3 but we may decide to allow larger parties in the future.

3) Traits icons but only for one off, must have traits, those are:

- Elements
- Body (gender dependent)
- Breasts (gender dependent)
- Personality

and:

- Occupations:

These need to be buttons, Text with the name of the trait will be provided by the game! So just the general shape (for background) and the picture, preferable separately from one another.

*One for Combat oriented occupations (reddish background)
*One for Service oriented occupations (blueish background)
*One for Management oriented occupations (whitish or blackish background)
*One for Sexual oriented occupations (pinkish background)
**Moar in the future...

===
There is more... right now these are a priority because it would be really, really weird to release the game with placeholder while all other graphics are custom made. Gismo is usually taking these out but he wants to generalize the items eq/transfer next and take a crack at the world map (the latter is a huge project).
Title: Re: General Discussion
Post by: Xela on August 29, 2015, 09:40:20 AM
About running GMs when I need it... It's another side of that system from this (https://github.com/XelaPy/PyTFall/issues/58) issue, when you can go to character house and talk to her anytime.
However, that system should be used for chars that don't have a personal story and location.

I want to make a new story (and a small location if needed) with every new release based on some pack or packs. Many chars with personal quests will have a place where you can find them and talk to them. It means that, unless they are slaves or dead, you can go there and run either GMs or interactions screen with custom background and probably vnsprite.

Do you need me to take this out tonight? My plan was to put 3 or 4 hours into jobs/buildings again. You can just prepare the content and we'll make it work later. If you need this, I'll take this issue out tonight instead.
Title: Re: General Discussion
Post by: DarkTl on August 29, 2015, 09:57:22 AM
You usually can ignore Xela when he says that we don't need this or that as long as you have a result in terms of new content. He said the same thing when I was making icons for other traits or additional spells for BE. Guess what, now they are in game and look pretty good  :)

Graphically you can also do:
- icons for gifts, with names and descriptions. Without any logic like traits and cblock, since we discussed before possible change of gifts logics.
- Items in general. It's very simple, and we always can use more.
- New packs. Personally, I make packs from time to time not because we need them a lot, but because I enjoy it, and they always will be useful no matter what.
- Spells for BE. It's not hard as well, and will be useful no matter what even if we change how they work.
Gifts are priority, other stuff is not.

Do you need me to take this out tonight? My plan was to put 3 or 4 hours into jobs/buildings again. You can just prepare the content and we'll make it work later. If you need this, I'll take this issue out tonight instead.
I'm now not so sure that we need that system allowing to find a girl anywhere. It sounds too simple, and we also could use matrix or something else to do it... Don't do anything about it for now, I'll think about it more.

I can say for sure though that I have to use GMs and interactions freely, ie run them anywhere, with any character and bg, and usually using vnsprite.
Ideally the game should check by itself if the character is hired ot not, and run interactions instead of GMs for hired ones. But if it will require a lot of time, it could wait of course until you finish with jobs.

Also I need to check somehow if the character is dead or not. Should I just check for health <=0?
Title: Re: General Discussion
Post by: Xela on August 29, 2015, 11:46:17 AM
You usually can ignore Xela when he says that we don't need this or that as long as you have a result in terms of new content. He said the same thing when I was making icons for other traits or additional spells for BE. Guess what, now they are in game and look pretty good  :)

Graphically you can also do:
- icons for gifts, with names and descriptions. Without any logic like traits and cblock, since we discussed before possible change of gifts logics.
- Items in general. It's very simple, and we always can use more.
- New packs. Personally, I make packs from time to time not because we need them a lot, but because I enjoy it, and they always will be useful no matter what.
- Spells for BE. It's not hard as well, and will be useful no matter what even if we change how they work.
Gifts are priority, other stuff is not.
I'm now not so sure that we need that system allowing to find a girl anywhere. It sounds too simple, and we also could use matrix or something else to do it... Don't do anything about it for now, I'll think about it more.

But we have gifts already, we could add a couple more but that does not require a graphics tech/designer... You've may have added spells but they are still outside of the general content, we could have released with 4 spells per element and maybe some unique spells/attacks for specific chars and it would be just as fun.

You're way off-base with this post... if someone just wants to make a pack/items sets/spells/etc. specifically and we're telling him/her to do something else out of nowhere, that would be a bit f*cked up. Pseudo asked what the priority was for graphics... you or I can fix gifts, try making an interface like Gismo did...

I can say for sure though that I have to use GMs and interactions freely, ie run them anywhere, with any character and bg, and usually using vnsprite.
Ideally the game should check by itself if the character is hired ot not, and run interactions instead of GMs for hired ones. But if it will require a lot of time, it could wait of course until you finish with jobs.

I'll take a look tonight then, chances are Thewlis or I made it easier when coding the module.

Also I need to check somehow if the character is dead or not. Should I just check for health <=0?

I doubt that it will work...

Code: [Select]
if not char.alive:
    # Character is dead...

Should. If you need to and that to string conditions: "char.alive" will make sure that the event/button will only appear if character is alive.

*I'll look into a possibility of preventing dead chars from interacting with the open world, there should already be some of these checks in place.
Title: Re: General Discussion
Post by: Xela on August 29, 2015, 12:04:03 PM

Code: [Select]
if not char.alive:
    # Character is dead...

Should. If you need to and that to string conditions: "char.alive" will make sure that the event/button will only appear if character is alive.

*I'll look into a possibility of preventing dead chars from interacting with the open world, there should already be some of these checks in place.

Actually, don't use that... I'll add a new property:

Code: [Select]
char.is_available
with my next push. We'll condition that properly as we develop the game, alive character, may still be exploring some cave miles away for examples.
Title: Re: General Discussion
Post by: DarkTl on August 29, 2015, 12:21:02 PM
Doesn't making interface require a fair bit of coding? I've seen Gismo's pushes, it's 10 times more complex than anything related to pure content.
Title: Re: General Discussion
Post by: Xela on August 29, 2015, 12:25:11 PM
Doesn't making interface require a fair bit of coding? I've seen Gismo's pushes, it's 10 times more complex than anything related to pure content.

Well, I had to fix 90% of his code at first but he got good at it eventually. I need graphical elements at the very least... Ren'Pys gui code is not hard to write.

*Can you drop into the chatroom? I need to know what you want from the Interaction module.
Title: Re: General Discussion
Post by: DarkTl on August 30, 2015, 08:42:51 AM
I hoped to not use dozens new global flags, so I made quest like
    if _return == "House_5":
        if pytfall.world_quests.get("Sixth Sense").stage < 1:
            $ renpy.hide_screen("pyt_hiddenVillage_entrance")
            $ pytfall.world_quests.get("Sixth Sense").stage = 1
ie when you do it in matrix for the first time, you set quest stage to 1.

And then I made
register_event("karin_first_meeting", quest="Sixth Sense", dice=None, run_conditions=["pytfall.world_quests.get('Sixth Sense').stage = 1"], max_runs=1)
ie that event should run when quest stage is 1.

Of course that doesn't work.
I know that $ pytfall.world_quests.get("Sixth Sense").stage = 1 works, because I have else line after it that leads to normal GMs. And after you click the second time, you run GMs indeed.
Meaning quest cannot see its own stage. Wtf? It was supposed to work with any conditions, not only with those that I don't want to use  :D
Title: Re: General Discussion
Post by: DarkTl on August 30, 2015, 10:49:18 AM
That is perfectly reasonable:

for c in chars:
    if c.origin = "From Outer Space":
        c.set_flag("Doesnt_like_to_mingle_with_mere_earthlings")
That doesn't work btw.
Title: Re: General Discussion
Post by: Xela on August 30, 2015, 10:50:41 AM
That doesn't work btw.

Should be == instead of =.
Title: Re: General Discussion
Post by: DarkTl on August 30, 2015, 10:54:48 AM
I know. It doesn't work either way.

without python:

File "game/library/events/StoryI/forest_meeting.rpy", line 20: expected statement.
    for c in chars:

with python:

While running game code:
  File "game/library/events/StoryI/forest_meeting.rpy", line 20, in script
    python:
  File "game/library/events/StoryI/forest_meeting.rpy", line 22, in <module>
    if c.origin == "Naruto":
AttributeError: 'unicode' object has no attribute 'origin'
Title: Re: General Discussion
Post by: Xela on August 30, 2015, 12:58:15 PM
in char.values ()

I am on Android.
Title: Re: General Discussion
Post by: DarkTl on August 30, 2015, 01:20:12 PM
'NoneType' object has no attribute 'values'...
This is stupid. Just try it yourself when you will have time.

Also, I need to run events after the next day. I can do it via $ register_event_in_label("reflection_quest_part_two", quest="Settling in the city", locations=["mainscreen"], run_conditions=["hero.gold >= 3000"], dice=100, max_runs=1)
but during it brothel interface prevents me from seeing anything that is going on in the event. So I need to know how to hide it.
Title: Re: General Discussion
Post by: DarkTl on August 30, 2015, 01:39:45 PM
I think I'll make what I can with existing tools, and then will push a text file with description of how events should work in reality. Then you will add all needed options at once.

Of course I still will need a working option for giving flags to chars with the same origin in the near future   :D
Title: Re: General Discussion
Post by: Xela on August 30, 2015, 02:31:23 PM
'NoneType' object has no attribute 'values'...
This is stupid. Just try it yourself when you will have time.

It's not that complicated:

Code: [Select]
for i in chars.values():
    if i.origin == "Some Origin":
        i.set_glag("Some Flag")

Also, I need to run events after the next day. I can do it via $ register_event_in_label("reflection_quest_part_two", quest="Settling in the city", locations=["mainscreen"], run_conditions=["hero.gold >= 3000"], dice=100, max_runs=1)
but during it brothel interface prevents me from seeing anything that is going on in the event. So I need to know how to hide it.

Find out what the brothel screen is called and hide it. Maybe hs() funciton will work as well. "mainscreen" is not brothel interface btw.
Title: Re: General Discussion
Post by: DarkTl on August 30, 2015, 03:17:02 PM
The game doesn't show where it jumps when you go to brothel screen, unlike any other jumps we have...
I don't know why, but mainscreen works right after next day for me as well.

So far conditions system for quests is vague as hell. Some simply don't work at all ("pytfall.world_quests.get('Sixth Sense').stage = 1"). I have to use trigger_type="auto" and jump to needed events directly using checks outside of quests checks.

I wonder how well Thewlis tested this stuff...
Title: Re: General Discussion
Post by: Xela on August 30, 2015, 04:01:22 PM
The game doesn't show where it jumps when you go to brothel screen, unlike any other jumps we have...
I don't know why, but mainscreen works right after next day for me as well.

So far conditions system for quests is vague as hell. Some simply don't work at all ("pytfall.world_quests.get('Sixth Sense').stage = 1"). I have to use trigger_type="auto" and jump to needed events directly using checks outside of quests checks.

I wonder how well Thewlis tested this stuff...

I'll need to see the code and you'll have to tell me exactly what you're trying to do. I am not even sure we check for events and quests before/after next day... I recall that we check for them in the mainscreen.

Edit: I fixed some minor issues with Karins quest.
Title: Re: General Discussion
Post by: DarkTl on August 31, 2015, 10:30:18 AM
Thanks to the new quest buttons system chars can have unique options if you will never delete the button label. That's pretty cool.

I don't know, maybe I do it wrong... You can change quest stage manually like  $ pytfall.world_quests.get("Sixth Sense").stage = 1, I know this for sure. Stages change indeed.
Why stuff like register_event("karin_first_meeting", quest="Sixth Sense", dice=None, run_conditions=["pytfall.world_quests.get('Sixth Sense').stage = 1"], max_runs=1) doesn't work? Maybe something is wrong with triggers, or I must specify location?
Using quest stages like that will allow us to not use global flags in quests most of the time!
Title: Re: General Discussion
Post by: Xela on August 31, 2015, 10:36:56 AM
.stage = 1

Maybe == instead of =?

And make sure event is destroyed after it executed, if your quest is canceled/finished and event remains with this condition, game will crash. I'll add a failsafe option if I don't forget tonight.
Title: Re: General Discussion
Post by: DarkTl on August 31, 2015, 10:41:39 AM
Btw I need to check if a quest was finished/cancaled or not. Obviously I can use intermediate flags, but it will be messy without a reason.
That will allow to make chains of quests.
Title: Re: General Discussion
Post by: Xela on August 31, 2015, 10:44:14 AM
I'll take a look at it tonight, I don't have access to code atm.
Title: Re: General Discussion
Post by: DarkTl on August 31, 2015, 11:49:10 AM
Quote
if pytfall.world_quests.get("Sixth Sense")
What does this check do?
Title: Re: General Discussion
Post by: Xela on August 31, 2015, 12:07:47 PM
What does this check do?

It makes sure there is a quest with such a name still active, basically, if that is not a fact (at some point you are bound to finish it) and you do the normal check of it's stage, chances are that you'll be screwed and crash the game because it will return None and try to do this:

Code: [Select]
None.stage > 1
None obviously does have such an attribute (or any attribute at all) so it's game over, maybe even without possibility to skip through.

We need a simpler and safer check for stages, MAYBE there is already such a thing coded by Thewlis and I don't know about it... In any case, it is VERY simple to code a perfectly safe check for this, I just need some time.
Title: Re: General Discussion
Post by: DarkTl on August 31, 2015, 12:14:51 PM
You need to add
Quote
    python:
        for i in chars.values():
            if i.origin == "Naruto":
                i.set_flag("quest_cannot_be_hired", True)
                i.set_flag("quest_cannot_be_fucked", True)
                i.set_flag("quest_cannot_be_lover", True)
to your testing json if you want quests working as intended. These flags will prevent related events inside all interactions and GMs if needed until char quest will be finished.
In fact, they should be in forest intro, but we skip it right now.

You were right about the typo, but it still doesn't work.
register_event("karin_first_meeting", quest="Sixth Sense", dice=None, run_conditions=["pytfall.world_quests.get('Sixth Sense').stage == 1"], max_runs=1) for quest and $ pytfall.world_quests.get("Sixth Sense").stage = 1 for running it do nothing.

Maybe it's impossible for quests to check themselves? I even checked via console, its stage is 1 after $ line, and it was 0 before. Wtf...
Title: Re: General Discussion
Post by: DarkTl on August 31, 2015, 12:35:50 PM
Ah, I found it.
Quote
        def has_failed(self, quest):
            """
            Whether a quest has been failed.
            """
            if isinstance(quest, str): quest = self.get(quest)
            return quest in self.failed
       
        def is_active(self, quest):
            """
            Whether a quest is active.
            """
            if isinstance(quest, str): quest = self.get(quest)
            return quest in self.active
       
        def is_complete(self, quest):
            """
            Whether a quest is complete.
            """
            if isinstance(quest, str): quest = self.get(quest)
            return quest in self.complete
So if I want check if the quest was finished, it should be like if is_complete(pytfall.world_quests.get('Sixth Sense') )? Or simply is_complete ('Sixth Sense')?
Title: Re: General Discussion
Post by: DarkTl on August 31, 2015, 12:39:42 PM
And this is supposed to check stages, I think.
Quote
        def check(self, stage, strict, *flags):
            """
            Checks whether the quest is at a certain state.
            Used for easy checking through WorldEvent.run_conditions.
            """
            if strict and self.stage != stage: return False
            if not strict and self.stage < stage: return False
            for i in flags:
                if i not in self: return False
But I don't understand how to use it, the way of writing functions in python is very different from what I get used to  :)
Title: Re: General Discussion
Post by: Xela on August 31, 2015, 12:41:11 PM
I think you need to have quests instance for this... but it's not very useful if you get a None instead... same cr@p will apply, I need to take a look at the code. The method is second posts checks flags I think, not stages.
Title: Re: General Discussion
Post by: DarkTl on August 31, 2015, 02:47:56 PM
And another condition in quest refuses to work... Do they even work at all, aside from those in the idol example?

I pushed it.

$ register_event_in_label("karin_finish_quest", quest="Sixth Sense", locations=["hiddenVillage_entrance"], run_conditions=["not('Virgin' in chars['Karin'].traits)"], trigger_type="auto", max_runs=1)
Ie when you go to location hiddenVillage_entrance it should start the label if she doesn't have a trait. Of course it doesn't work just as I suspected. I f###ing give up, I need clear instructions how this stuff works.
Title: Re: General Discussion
Post by: Xela on August 31, 2015, 05:51:36 PM
And another condition in quest refuses to work... Do they even work at all, aside from those in the idol example?

I pushed it.

$ register_event_in_label("karin_finish_quest", quest="Sixth Sense", locations=["hiddenVillage_entrance"], run_conditions=["not('Virgin' in chars['Karin'].traits)"], trigger_type="auto", max_runs=1)
Ie when you go to location hiddenVillage_entrance it should start the label if she doesn't have a trait. Of course it doesn't work just as I suspected. I f###ing give up, I need clear instructions how this stuff works.

I've added check_stage method to the quests manager which should be safe to use (I didn't test it). Been one heck of a day for me so I am just gonna call it a night.

if pytfall.world_quests.check_stage("Quest Name", 1):
    This should return True if Quest is at stage one or above and None (same as False in this context) if quest is not active or stage is below 1.

===
I took a quick look at you code. I don't think that you need to register a single event, this was already discussed on the chat a bit. Events are smart ways to execute code in labels, you however handle that perfectly fine just by entering Karens house... so all the event registration is absolutely redundant. In fact I do not think it is even working at all since most of your event registration is without any conditioning or even places where you wish conditions to be checked...

I think you need to get rid of all the useless event registers and just register the quest, check the current quest level upon entering Karen's building and advance the quest in that label accordingly.

In any case, right now it seems like a mess :(

===
You can also try testing out events and quests system by coming up with some simple, short events/quests of your own, maybe even without unique girls, just some bonuses to MC and maybe finding a couple of items. Maybe that'll give you a better grasp on how those systems work.

I'll test all quests events before release... I know that at least one thing in frogs quest is off for example. Namis quests is still a bit of a mess as well.
Title: Re: General Discussion
Post by: DarkTl on September 01, 2015, 12:41:25 AM
Yeah, whenever I use events with conditions that are different from those in the idol example, they don't work. My guess is it wasn't tested properly (just like schools, but I tested them and Thewlis fixed them).
Of course there is also a chance that the system is so complex that it requires a very deep understanding in order to make it work. But it's not good too.

For example, stuff like quest=event.quest didn't worked for me so far. With it you in theory don't need to write the name of the quest inside the event that is a part of that quest.
Title: Re: General Discussion
Post by: Xela on September 01, 2015, 02:01:32 AM
Yeah, whenever I use events with conditions that are different from those in the idol example, they don't work. My guess is it wasn't tested properly (just like schools, but I tested them and Thewlis fixed them).
Of course there is also a chance that the system is so complex that it requires a very deep understanding in order to make it work. But it's not good too.

Events system is mostly my own design, except for the quests integration part and I've tested it fairly well. I know for a fact that it executes complex conditioning properly, that a very complex "times per days" system is working, that dice is working, that events are being queued as expected and that garbage collection for the events is working. That the simpler days tracking works also.

For example, stuff like quest=event.quest didn't worked for me so far. With it you in theory don't need to write the name of the quest inside the event that is a part of that quest.

Not sure what this is and where you write this line. I'll check it when I can... but:

1) You're creating a new instance of WorldEvent.
2) You are providing event.quest as an argument to the new event.
- This means that there MUST be an instance of older event, that was a part of the same quest, that is bound to event variable.
- That is by no means guaranteed... maybe Thewlis coded mapping of the event variable to global namespace whenever event is executed or you are in a called, parameterized label but those are both assumptions.

You do always know the Quest you're creating the new event for, so you can just provide the name of a quest...
Title: Re: General Discussion
Post by: DarkTl on September 01, 2015, 02:03:57 AM
A fresh example. I register a quest.

    qtest = register_quest("Test Quest")
    register_event("testq", quest="Test Quest", locations=["hiddenVillage_entrance"], dice=100, trigger_type="auto", max_runs=1, start_day=1)

label testq:
    "U r one cheeky bugger m8 I swear!"
    $ pytfall.world_quests.get("Test Quest").next_in_label("1v1 me irl")
    $ pytfall.world_events.kill_event("testq")

It's just like the last stage of the idol was made. Guess what, I have

Quote
  File "game/library/events/StoryI/Karin_part.rpy", line 8, in script
    label testq:
  File "C:\Pytfall\RenPy\renpy\ast.py", line 743, in execute
    values = apply_arguments(self.parameters, renpy.store._args, renpy.store._kwargs)
  File "C:\Pytfall\RenPy\renpy\ast.py", line 144, in apply_arguments
    raise Exception("Arguments supplied, but parameter list not present")
Exception: Arguments supplied, but parameter list not present
even though I literally copied it from the idol quest.
Title: Re: General Discussion
Post by: Xela on September 01, 2015, 02:05:57 AM
*Also don't expect events to execute right after you created them*

Next Day must run once before new events are properly registered and absorbed by the game. I may update that at some point to allow instant registration and absorption but right now that is not a case.
Title: Re: General Discussion
Post by: Xela on September 01, 2015, 02:10:29 AM
A fresh example. I register a quest.

    qtest = register_quest("Test Quest")
    register_event("testq", quest="Test Quest", locations=["hiddenVillage_entrance"], dice=100, trigger_type="auto", max_runs=1, start_day=1)

label testq:
    "U r one cheeky bugger m8 I swear!"
    $ pytfall.world_quests.get("Test Quest").next_in_label("1v1 me irl")
    $ pytfall.world_events.kill_event("testq")

It's just like the last stage of the idol was made. Guess what, I have
even though I literally copied it from the idol quest.

Ghm... try adding:

jump=True

to the registration line, like so:

Code: [Select]
register_event("testq", quest="Test Quest", locations=["hiddenVillage_entrance"], dice=100, trigger_type="auto", jump=True, max_runs=1, start_day=1)
Error means that a parameterized label is expected, it's likely that an event is either called or maybe even called in a new context. You most likely want to jump to the label. Also note that you cannot return from a label you jumped to... you'll have to jump somewhere when the event is over, like hidden village or mainscreen.
Title: Re: General Discussion
Post by: DarkTl on September 01, 2015, 12:01:46 PM
Yeah, I just removed all registrations and used simple conditions for jumping. Works perfectly.

As a not a python coder I can say that the events tracking system is too complex for people such as myself compared to anything else I did for the game. I feel like I have to code the whole game in order to understand the ins and outs. Without such a deep knowledge about the game you have to fight errors constantly, it's a waste of time.
Title: Re: General Discussion
Post by: DarkTl on September 01, 2015, 01:43:42 PM
I got nice little infinite loops when I finish quests while exit to the village screen  :)
To avoid it I need to know how to check if a quest was finished or not.

Tagger update. I added a button that opens the folder of the currently selected picture in windows explorer and selects that file there. Might be useful for quick editing.
Title: Re: General Discussion
Post by: Xela on September 01, 2015, 03:48:39 PM
if pytfall.world_quests.is_complete("Quest Name"):
   # DO something

===
I've told you in the chat that you should have used just the quests system for Karin...
Title: Re: General Discussion
Post by: Gismo on September 01, 2015, 05:05:40 PM
Here is some work with hero profile screen. If you like, then tomorrow will push, still have to finish the heroes sprites.

Old

(http://s29.postimg.org/d5cs3qn5v/image.jpg) (http://postimg.org/image/d5cs3qn5v/)


New

(http://s22.postimg.org/ech2ffnkd/image.jpg) (http://postimg.org/image/ech2ffnkd/)

Items transfer and hero equipment left old, still working on them.
Title: Re: General Discussion
Post by: Xela on September 01, 2015, 06:01:38 PM
Looks good!
Title: Re: General Discussion
Post by: Pseudononymous on September 02, 2015, 12:21:38 AM
Hey gents, sorry for my absence, I've been busy reconstructing my resume, applying to jobs, and remodeling part of my house. I found your post about the bestiary page design/layout back on 372 and I'll get to work on that soon. (Tomorrow) Is there are specific time that we need it by?
Title: Re: General Discussion
Post by: DarkTl on September 02, 2015, 05:10:24 AM
Gismo, don't forget about a place for elements icons. Currently MC doesn't have them in profile, but he should have them too.

Is there are specific time that we need it by?
We never set a time frame because it's a hobby, not a job  :)
As long as it won't take many months or years, there is nothing to worry about.
Title: Re: General Discussion
Post by: Gismo on September 02, 2015, 05:32:13 AM
Gismo, don't forget about a place for elements icons. Currently MC doesn't have them in profile, but he should have them too.

I have prepared a place for this in the lower-left corner.
BG can be generally easy to change, very good fit all sorts of interiors (depending on the purchased home player).

Screen went not too dark?
Title: Re: General Discussion
Post by: DarkTl on September 02, 2015, 05:45:31 AM
No, it's awesome. And that background is great too.

My only concern is that black field where you wrote "Welcome to MC profile screen". It does not fit with the rest of gui elements. I think even our old brown filed or a transparent field will be better.
Title: Re: General Discussion
Post by: CherryWood on September 02, 2015, 05:57:55 AM
Tagger update. I added a button that opens the folder of the currently selected picture in windows explorer and selects that file there. Might be useful for quick editing.
This will be useful, I do that alot  :) Thanks
I also grow accustomed to using masks and other stuff you added (arrows...) and it's really nice to have all those functions, GJ!

--
I finally get to play that Old Hunsmann's ST game so I finally understand some of the old posts here. It's really good.
Title: Re: General Discussion
Post by: DarkTl on September 02, 2015, 06:03:34 AM
You can just tell me if you have any ideas about improving the tagger.
Title: Re: General Discussion
Post by: DarkTl on September 02, 2015, 12:05:31 PM
Fixed a small issue when file name text field didn't updated itself when you deleted a picture. It bothered me for a long time, but I kept forgetting about it  :)
Also now you can reload the picture by clicking on it. I mean the image itself, not the file list.

I finally get to play that Old Hunsmann's ST game so I finally understand some of the old posts here. It's really good.
All his games are extremely cruel though. At some point I decided that there is too much gore and cannibalism for me, and stopped playing his games.
Title: Re: General Discussion
Post by: Xela on September 02, 2015, 02:39:04 PM
Hey gents, sorry for my absence, I've been busy reconstructing my resume, applying to jobs, and remodeling part of my house. I found your post about the bestiary page design/layout back on 372 and I'll get to work on that soon. (Tomorrow) Is there are specific time that we need it by?

Sure, take you time. Just like Dark said, as long as it gets done within a reasonable time-frame.

All his games are extremely cruel though. At some point I decided that there is too much gore and cannibalism for me, and stopped playing his games.

Yeap... problem is that it's a part of the gameworld, I'd prefer that to be unlockable, unique content... so it can be skipped if not desirable. Final couple of updates really brought the game down (imo). Maybe English crew filters it somehow.
Title: Re: General Discussion
Post by: Xela on September 02, 2015, 03:50:41 PM
Should we rename pytfall.world_quests and pytfall.world_events to wq and we? It's a bit inconvenient to call methods/properties from 3 namespaces across...
Title: Re: General Discussion
Post by: DarkTl on September 02, 2015, 04:19:35 PM
We could if you think that this is safe. I mean, it's not safe to use single letters, and doubles are not that different.
Title: Re: General Discussion
Post by: DarkTl on September 02, 2015, 04:23:16 PM
Speaking of single letters, in the idol quest there is stuff like q = register_quest("Strange Idol") in init. I use it too just in case.
But after that we never use that q anymore, we use "Strange Idol" name directly. So why do we even do it?
Title: Re: General Discussion
Post by: Gismo on September 02, 2015, 04:43:38 PM
Here is my push. (done with hero sprites...)
- New Hero profile screen
- Changed the brightness of many elements and screens under one common style (not yet all redone)
- Add circle hero portraits (tag - cportrait)
- Add hero profile picture (tag - sprofile)
Title: Re: General Discussion
Post by: Xela on September 02, 2015, 05:21:54 PM
Speaking of single letters, in the idol quest there it stuff like q = register_quest("Strange Idol") in init. I use it too just in case.
But after that we never use that q anymore, we use "Strange Idol" name directly. So why do we even do it?

No idea, my guess would be that register_quest("Strange Idol") function call and string to the event registration would do the same thing. It doesn't hurt, maybe Thewlis didn't allow strings at first and used that for testing before he coded in a lookup.

Here is my push. (done with hero sprites...)
- New Hero profile screen
- Changed the brightness of many elements and screens under one common style (not yet all redone)
- Add circle hero portraits (tag - cportrait)
- Add hero profile picture (tag - sprofile)

Bunch of errors and some off behaviour. I'll take a look for the next 30 mins and call it a night. Some are prolly code, but I get missing image error when entering the quests manager for example right off the bat.
Title: Re: General Discussion
Post by: DarkTl on September 03, 2015, 01:44:05 PM
I took a day off from writing interactions and events today, and finally finished the second touhou pack, without chars data files yet. It's really relaxing to just tag stuff and don't think about anything  :D

I have to say, touhou packs and their quests should always be optional, and not be a part of the main release. This time 5 chars took 1.5 GB and 4000 pics, you need a good internet connection (not to mention disk space) for this stuff.
But it's a pleasure to work with a lot of high quality material nevertheless, unlike some other chars that barely cover main categories.
Title: Re: General Discussion
Post by: Pseudononymous on September 03, 2015, 04:07:19 PM
Question: Are mobs going to be encountered randomly, only in the arena, in the arena and randomly in certain areas, or in the arena and in specific outside events/locations?


I'm trying to figure if I should use different backgrounds for different monsters/beasts based on the location in which they are encountered in the game. If all of them are just in the arena, then I can stick with one background for the entire bestiary. Aye?
Title: Re: General Discussion
Post by: DarkTl on September 03, 2015, 04:16:22 PM
That's complicated...
They in theory could be encountered inside SE (simulated exploration, where you send parties to explore lands around the city). But you don't actually SEE them in action, since you cannot send MC to SE. And all fights in SE go off-screen, inside the code.

So you can encounter them in arena and certain areas inside SE, but you can SEE them in arena only. Well, at least for now. I can't add events with BE until Xela will make a simpler function for it, but I will. And then there will be events too.
Title: Re: General Discussion
Post by: Pseudononymous on September 03, 2015, 05:09:05 PM
That's complicated...
They in theory could be encountered inside SE (simulated exploration, where you send parties to explore lands around the city). But you don't actually SEE them in action, since you cannot send MC to SE. And all fights in SE go off-screen, inside the code.

So you can encounter them in arena and certain areas inside SE, but you can SEE them in arena only. Well, at least for now. I can't add events with BE until Xela will make a simpler function for it, but I will. And then there will be events too.


Gotcha, thanks for the heads up.
Title: Re: General Discussion
Post by: DarkTl on September 04, 2015, 02:29:51 AM
I created a page for the tagger using github wiki  :)
I'm not brave enough to write there about tags since it's clearly NSFW. I think I'll just add all info in the tagger, or maybe give a link to the forum thread.
Title: Re: General Discussion
Post by: DarkTl on September 04, 2015, 04:02:36 PM
Quote
Yeah, quests seem to work as usual without that init part. I'll remove it.
No, I was wrong. It worked because I had the same init part in two places. Once I deleted all inits, quests stopped working.
So you have to register_quest before using it.

I wonder if it's safe to use q everywhere, or it's better to come up with unique names.
Title: Re: General Discussion
Post by: Xela on September 04, 2015, 05:09:02 PM
I wonder if it's safe to use q everywhere, or it's better to come up with unique names.

It is perfectly safe. Quest should not stop working if the first thing you do is register them in labels, there is a special func for that with an appropriate name.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2015, 02:57:10 PM
Another major issue with quests, awesome  ::)

I use checks like
Quote
if not(pytfall.world_quests.check_stage("Uzumaki Clan", 1)):
to start scenes when needed. And it works pretty good until you go to the next day.
I just noticed it, checks like that one start to work again every time you go to the next day. Meaning stage resets to 0 every day, effectively destroying my quest structure. Ffs  :(
Title: Re: General Discussion
Post by: Xela on September 05, 2015, 05:43:22 PM
That is consistent with my post on that method and the docsting:

Code: [Select]
            """Safe way of checking a stage of a quest.
           
            Will return None if quest is not active stage is below the requested stage value and True if it equals or above.
            """

Nothing is destroyed or reset. I'll rewrite the method to return None if the stage is above and below the argument provided.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2015, 05:49:40 PM
Consistent? How?
Quote
not(pytfall.world_quests.check_stage("Uzumaki Clan", 1)):
should return true as long as stage is 0 (or none) and false if it's 1 or higher. And does it as long as you won't go to the next day.
The moment you go to the next day it begins to return true again, while quest stage is (in theory) 1 or higher. But it works as long as you don't go to the next day.

I don't really see any logic here.
Title: Re: General Discussion
Post by: Xela on September 05, 2015, 05:57:28 PM
...

I expected you'll be checking is a quest is active and checking them from top stage to the bottom one. Why I though that I have no idea. It's been a hectic week, next week will be the same... I am trying to do at least one small task every night but I am usually both tired and unfocused :(

It should work properly now.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2015, 06:07:43 PM
Wait-wait-wait. I'm perfectly fine with check_stage function, it does what I expect it to do. Though a function that checks self.get(quest).stage == stage will be welcomed too, but it's not a problem, I can write it myself based on yours.

I'm talking about quest system itself. Judging by stuff I see in the game, when checks that are supposed to work only at stage 0 can work again with every next day, I believe that somehow quests don't save their stages after going to the next day, resetting to 0 every time.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2015, 06:12:32 PM
An example:
Quote
...
elif _return == "House_2":
        if not(pytfall.world_quests.check_stage("Uzumaki Clan", 1)):
            jump naruko_first_meeting

label naruko_first_meeting:
...
$ pytfall.world_quests.get("Uzumaki Clan").next_in_label("quest stage description")
As you see, at stage 0 or none we run naruko_first_meeting, where eventually quest stage becomes 1. After that the check should never ever work again in theory. And it never works indeed. Until you go to the next day, even if you finished the quest already.
Title: Re: General Discussion
Post by: Xela on September 05, 2015, 07:57:02 PM
if not(pytfall.world_quests.check_stage("Uzumaki Clan", 1))

I am not sure what you want to do with this. This condition means:

Jump to label if quest is not active or it's current stage is below 1.

if pytfall.world_quests.check_stage("Uzumaki Clan", 1)):

Condition would mean jump to the label if the quest is active and it's stage is 1 or bigger than 1.
===
I do not share your hunch about the next day resetting quests stages although that system is untested... If you get a chance, when you believe that a quest has reset itself, open console and:

pytfall.world_manager.get("Quest Name").stage

to check if it is indeed correct. I'll update the quest methods again to make more sense and call it a night.
Title: Re: General Discussion
Post by: Xela on September 05, 2015, 08:08:38 PM
Code: [Select]
        def check_stage(self, quest, stage):
            """Safe way of checking a stage of a quest.
           
            Will return True if quest is at the requested stage and active, False otherwise.
            """
            if self.is_active(quest) and self.get(quest).stage == stage:
                return True
            else:
                return False
               
        def stage_goe(self, quest, stage):
            """Safe way of checking a stage of a quest.
           
            Will return True if quest is active and it's stage equals/above the current stage, False otherwise.
            """
            if self.is_active(quest) and self.get(quest).stage >= stage:
                return True
            else:
                return False

Try this, it should be easier to read and make more sense.
Title: Re: General Discussion
Post by: Pseudononymous on September 06, 2015, 12:10:35 AM
New

(http://s22.postimg.org/ech2ffnkd/image.jpg) (http://postimg.org/image/ech2ffnkd/)


I'm designing the bestiary page layout at the moment and I'm having difficulty locating some of the buttons and frames you've used here. I'd like to make the layout there in a similar style to this page, just to keep everything copacetic.


I've checked the gfx > frames and gfx > interface > buttons folders. I assume you've used mostly things from these to locations with some manipulations applied. Should I just play around with them until I get a similar look/feel or do you have an easier/more direct way that I could go about this?
Title: Re: General Discussion
Post by: Pseudononymous on September 06, 2015, 12:42:15 AM
Calling it a night, didn't get much done tonight, but I got a good start. Here are two previews of the layout that I just started. One with a red/gold scheme and one where I tried to incorporate the old bg for the bestiary.

Any pointers?
Title: Re: General Discussion
Post by: DarkTl on September 06, 2015, 04:52:18 AM
I do not share your hunch about the next day resetting quests stages although that system is untested... If you get a chance, when you believe that a quest has reset itself, open console and:

pytfall.world_manager.get("Quest Name").stage

to check if it is indeed correct. I'll update the quest methods again to make more sense and call it a night.
I believe the correct line should be pytfall.world_quests.get('Sixth Sense').stage.
Are you aware that console doesn't work well after the first day btw? At the first day it works fine, but at the second, third, etc. when I press shift+o the game freezes for ~10-20 seconds before showing the console.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2015, 05:01:35 AM
I've checked the gfx > frames and gfx > interface > buttons folders.
Other elements of gui are in gfx/frame.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2015, 06:17:22 AM
I did some testing, looks like it's not about quest stage, it's about quest status.

For example, I made a function
Quote
        def check_quest_finished(self, quest):
            """Safe way of checking a quest.
           
            Will return True if quest is completed or failed, False otherwise.
            """
            if self.is_complete(quest) or self.has_failed(quest):
                return True
            else:
                return False
which should be false as long as quest is not completed or failed. That would allow me to avoid running the same quest again and again.
And for some reason after quest stage became 1 (but it wasn't finished or failed yet), that function started to give True.

I think self.is_active(quest) part that you used in your functions could mess with my checks as well...
Title: Re: General Discussion
Post by: Xela on September 06, 2015, 06:23:21 AM
when I press shift+o the game freezes for ~10-20 seconds before showing the console.

Can't even begin to guess wtf this is...

I did some testing, looks like it's not about quest stage, it's about quest status.

For example, I made a function which should be false as long as quest is not completed or failed. That would allow me to avoid running the same quest again and again.
And for some reason after quest stage became 1 (but it wasn't finished or failed yet), that function started to give True.

I think self.is_active(quest) part that you used in your functions could mess with my checks as well...

I'll try take a look at this tonight.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2015, 07:22:35 AM
Can't even begin to guess wtf this is...
A memory leak or something.
Before shift+o it took about 420'000 KB of ram. When it freezes, it goes up to 720'000 KB. After showing the console it goes down to 520'000 KB.
Oh, and it also takes all cpu time of one cpu core when it freezes.
Title: Re: General Discussion
Post by: Gismo on September 06, 2015, 07:27:03 AM
I've checked the gfx > frames and gfx > interface > buttons folders. I assume you've used mostly things from these to locations with some manipulations applied. Should I just play around with them until I get a similar look/feel or do you have an easier/more direct way that I could go about this?

I painted almost entirely hero_profile screen in Photoshop, then divided it into two layers.
-The bottom layer is a framework on which all information
-The upper layer - frame of the screen and all the framework under which it must be something to hide.

Put in dropbox my source of hero_profile in .PSD, there you can take the styles for the frames.
With them you can create a new frames for bestiary.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2015, 01:02:20 PM
One more thing, when I call the console at the brothel screen, after the freeze it becomes black. And it stays black until I close the console.
But at the first day it doesn't become black.

Console also stops animation (gold coin) at the city map, but not at the first day.
Title: Re: General Discussion
Post by: Xela on September 06, 2015, 01:26:23 PM
A memory leak or something.
Before shift+o it took about 420'000 KB of ram. When it freezes, it goes up to 720'000 KB. After showing the console it goes down to 520'000 KB.
Oh, and it also takes all cpu time of one cpu core when it freezes.

One more thing, when I call the console at the brothel screen, after the freeze it becomes black. And it stays black until I close the console.
But at the first day it doesn't become black.

Console also stops animation (gold coin) at the city map, but not at the first day.

It's the SimPy/Ren'Py bitching about each other, prolly some crappy Ren'Py code that makes a mess of loops. Not sure what to do about it, even on an off chance that deleting all SimPy resources from memory after ND is calculated helps, I wanted to have procedural SE and I cannot delete it there...

I'll try a couple of simple things but if nothing works, say screw it and take a look at the quests. Investigating this properly will take at least 5 - 6 hours, even if I had that, I'd rather sink it into jobs code.
Title: Re: General Discussion
Post by: Xela on September 06, 2015, 06:01:57 PM
I ended up trying to track the console thing. I think it's something within the last 5 or 6 smaller Ren'Py upgrades but I was unable to track it down precisely or figure out if it has an effect on anything else in the game.

===
And just as I expected, saving system is f#cked up as well... I am not even sure if it is reasonable to spend time updating jobs until I get to the button of it.
Title: Re: General Discussion
Post by: Xela on September 06, 2015, 11:21:54 PM
I've ended up staying up all night trying to figure out wtf is wrong with the console/saving system.

There is sadly no fix for this, unless devs can explain why the heck saving doesn't work even after all SimPy objects are destroyed we can forget about SimPy all together. All the work and excitement for nothing :( I "think" most of the work done can still be salvaged but I am not sure yet. At the very least we can keep the new Buildings/Upgrades system...
Title: Re: General Discussion
Post by: DarkTl on September 07, 2015, 12:43:16 AM
Now, now, it's too early to give up after just one single night. When I worked as a coder, I had weeks of sleepless nights before making stuff work perfectly  :D

 SimPy has a repo at bitbucket with issues and stuff, but I think you should ask PyTom why renpy doesn't work with it, since it clearly works in many other cases.
I believe no one ever tried to use them together, at the renpy forum the only "simpy" you can find is "simply" with a typo  :)
Title: Re: General Discussion
Post by: Xela on September 07, 2015, 01:53:34 AM
Well, I chatted with PyTom and Shadow yesterday, they both said the same thing (which I already knew): the generators cannot be pickled. I was hoping that it could be done after they are destroyed but that is not a case, not in Ren'Py anyway.

That means that we can use them for jobs exactly like I've coded them (and I wasn't crazy, they worked before somehow), I just need to figure out how these generators are leaking to store in the current code...

===
It will not be possible to code the SE as I planned, but there should be a workaround there as well.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2015, 02:13:39 AM
Since I'm not sure about the level of quest system's adequacy right now, thus cannot make events, I'm going to learn some python via codeacademy.
Title: Re: General Discussion
Post by: Xela on September 07, 2015, 02:21:07 AM
Since I'm not sure about the level of quest system's adequacy right now, thus cannot make events, I'm going to learn some python via codeacademy.

Oki, have fun. I'll try to take a look at the quests tonight if I get a chance. I pushed a quickfix for the console/save thing. Seems to be working just like before. Gotta work now.
Title: Re: General Discussion
Post by: lamoli on September 07, 2015, 04:24:07 AM
Im back but i have a lot of work now.. so to advance on what i was working before i would need someone to give me concept art for the clothing (like the stuff you see online) but with your pick that would match Pytfall clothing ( or even if drawn by hand then scanned is good for me ) its just to get the idea on how if should look like.. front view is a minimum but if you have side and back as well ill replicate it perfectly and faster as well since i woulnd waste time on trial errors..

I did try to make those for a few days before i left for vacation but its going nowhere.. so with the little time i have now its best if someone provide me with the concept art and ill make it a wearable in game clothing.

Im after those clothing design first:

1 Prostitute ( dressed ) need a few concept on those.. maybe 3 to start
2 Strippers ( something else to remove till get to under wear ) somehow almost all the pics iv seen they are already in underwear >.<
3 Formal ( i still have no idea on how it should look like... )
4 Barmaid ( nothing there atm ) might need a difference from normal cafe and night club like for the waitress
5 Clothing while not working ( could go from normal outfit when going out to sleeping one ) how does normal looks like in Pytfall lol
6 gambling hall girls ( bunny / card handler like in the anime Rio? ) or something Pytfall like
7 Waitress ( i have some maid outfits i could color and add fabric patterns to make look like 1 ) then again a Pytfall concept art would be better (Also might be different if night club waitress)
8 Nurses ( i got the typical outfits you sell in most anime ) but might need something more Pytfall like
9 Maids ( i got a few common concept there ) but something more Pytfall like coulnd hurt as well as new ideas.

With a few concepts from 1-5 i could make random girls pack as other than clothing almost everything is ready.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2015, 08:40:13 AM
You worry too much about matching clothes. Remember, people can make a pack for any character, thus there could be any clothes, even futuristic ones. Also when you make a pack, you cannot know for sure what kind of images the character will have, thus many types of clothes are acceptable for a tag.
Of course we should avoid futuristic stuff when possible, but other than that, there is no a certain, detailed and strict pattern.

1-2. Strippers and prostitutes don't have a certain uniform. They could use revealing clothes more freely, yeah, but they don't have a special, working clothes. When we show them at work, it means any pics with sex. Examples of revealing clothes from my last pack: one (https://www.dropbox.com/s/j2aedue8ibl8tvt/02F0-nn-eb-c4-l2-a5.jpg?dl=0), two (https://www.dropbox.com/s/04w9mxc0hi8s4jx/0522-nn-ee-c4-l3-lc-pr.jpg?dl=0).

3. Formal are usually dress that is too fancy to wear it every day. More examples: one (https://www.dropbox.com/s/vqnm1gts3sxs30p/029A-nn-e2-e5-c2-l2-pr.jpg?dl=0), two (https://www.dropbox.com/s/6yf9avzo2vf4t54/04EF-nn-e2-ec-c2-c4-l3-lb-lc-pr-pa.jpg?dl=0).

4. Barmaid pictures are so rare that in all my packs there are like 2 pictures that could be considered as barmaids. We used to have this tag, but eventually gave up and removed it. So even if you render barmaid pictures in your packs, pretty much all other packs won't have them anyway. And of course it also means that we don't have a decent examples to render it in the first place, so just give up on it.

5. Clothes that are normal = not formal, not revealing. In some cases they even could be unique, like maid or miko, if the character wears them 99% of the time.
You pretty much can take any clothes, from neptunia or deviantart for example, and call them normal for one single character pack. I'll say it again, we don't have a strict example that you must follow. In existing random packs many characters simply use schoolgirl uniform as normal one. Or similar clothes like this (https://www.dropbox.com/s/ivylt8zoyzm6k2x/03E3-nn-e1-c1-l3-l9-pb-a8.jpg?dl=0). Another (https://www.dropbox.com/s/15hkxofzc8cu23e/0784-nn-e5-c1-c4-l2-pr-pa.jpg?dl=0) example, and one more (https://www.dropbox.com/s/ryb9h1ikioye81q/0117-nn-e2-ec-c1-l4-le-pr.jpg?dl=0). As you can see, we take any casual clothes as normal ones, trying to avoid futuristic ones if possible.

6. Gambling tags are based on suitable background (https://www.dropbox.com/s/46gipm6rc6g4fhy/02BC-nn-e2-ec-cc-l4-lf-a9.jpg?dl=0), ie casino with any clothes. When we don't have it, we begin to use bunny pictures. Another way is to add cards or casino chips to the picture.

7. Waitress is an action. It's not based on clothes, it means a girl (not nude or close to it) that works as a waitress. In many cases she also has maid dress, but not always, far from that in fact. Example in normal clothes. (https://www.dropbox.com/s/c9skgzi8mxc07vn/04C2-nn-ec-c1-l2-aj.jpg?dl=0)

8. No strict concept, but there is a difference between nurse and healing, I want to tell it just in case. Healing is something like this (https://www.dropbox.com/s/hwv761gu3xxa5dw/007A-nn-eb-c4-ce-l4-pr-aa.jpg?dl=0), ie she is not stripping or having sex or sleeping, etc.

9. Your maid clothes are perfect, there is no a "Pytfall concept". I can, however, give an example (https://www.dropbox.com/s/njmykwkijfcuq7s/0084-nn-e6-c4-cc-l2-pr.jpg?dl=0) of night club waitress, basically revealing maid clothes.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2015, 01:44:26 PM
Tagger update. I rewrote function that generates mask. Before it made masks like *tag1*tag2*, and in some cases it gave wrong images if first two tags in the mask formed an existing index. Now it makes masks like *-tag1*-tag2*, excluding matches with indexes.
Title: Re: General Discussion
Post by: Xela on September 07, 2015, 02:28:57 PM
Have you considered stereotypes for random girls? Like "Maid", "Miko", "Archer" and etc.? With the main difference of profile, vn, battle sprite and portrait being consistently stereotypical. Same with clothes ripped and undressing/stripping. Other clothing as sensible. That will be kinda cool... like in bunny black. Also it will be possible to create at least 70% of all randoms with correct patterns... other 30% at random just for the fun of it.
Title: Re: General Discussion
Post by: DarkTl on September 08, 2015, 01:06:23 PM
This part
Quote
        def next_day(self):
            """
            Fails quests that have no valid events.
            """
            garbage = list()
           
            # Find incomplete quests with no existing events
            for i in self.active:
                for j in pytfall.world_events.events_cache:
                    if j.quest == i.name:
                        break
               
                else:
                    if not i.manual: garbage.append(i)
           
            while len(garbage) > 0:
                devlog.warning("Garbage Quest found! \"%s\" was failed."%garbage[0].name)
                self.fail_quest(garbage.pop())
should be bad for existing quest structure because I don't use events since they are too tricky. However I never had that message about garbage quests, weird.

Yeap, quests become failed after next day, even though we don't see that in journal. Console shows it.
Meaning it's a double issue (https://github.com/XelaPy/PyTFall/issues/90). We don't see them failed while they are, and they shouldn't be failed in the first place.
Title: Re: General Discussion
Post by: DarkTl on September 08, 2015, 02:58:54 PM
Yup, removing that system makes quests work as intended. I disabled that system, you will need to rewrite it if you want to use it somehow.
Title: Re: General Discussion
Post by: Xela on September 08, 2015, 03:00:55 PM
Noted, maybe there is a "manual" argument that we don't use... according to the code you posted, quests will not be thrown in garbage if manual returns some form of True.

===
I wanna try to wrap up and test menu extension today, it's a cool feature that is almost ready + some stuff about it is still in my head since last night. Once that's done, I'll cook up some testing testing code for quests and see what's what.
Title: Re: General Discussion
Post by: Xela on September 08, 2015, 03:05:51 PM
Yup, removing that system makes quests work as intended. I disabled that system, you will need to rewrite it if you want to use it somehow.

Code: [Select]
def __init__(self, name, auto=None, manual=None):
Quote
manual = Whether the quest will be manually updated, instead of by event. Prevents garbage failing.

Could you please try enabling that code and adding manual=True to quest registration?
Title: Re: General Discussion
Post by: Xela on September 08, 2015, 03:08:50 PM
@Dark

Another question, what do you think about the new interface brightness? Gismo changed most of the elements in GUI to make them darker with more vivid colors, to me it seems a bit of an overkill. We need another opinion (or two if anyone else reads this).
Title: Re: General Discussion
Post by: DarkTl on September 08, 2015, 03:19:15 PM
Yeap, manual=True worked too.
I'm totally fine with new dark gui. That's why I have "dark" in my account name  :)

I don't understand the difference between double quest functions, like register_quest and register_quest_in_label.
I mean, why would you want to register a quest in label when you can do it in init?
Title: Re: General Discussion
Post by: Xela on September 08, 2015, 03:27:08 PM
I don't understand the difference between double quest functions, like register_quest and register_quest_in_label.
I mean, why would you want to register a quest in label when you can do it in init?

Several reasons... Quests in init will not be added to the game but will be created every time you start Ren'Py... If you are expanding your quests and want to enable that addon without forcing everyone to start a new game, you can also do that only from labels. Loads of reasons I guess... I can't think of a few other reasons as well but it's not important, if you want to do that in init, do so :)
Title: Re: General Discussion
Post by: Xela on September 08, 2015, 06:12:24 PM
Menu extensions are ready! They'll have a new cool blueish button (actually I just could come up with a better color to stand out from normal choices  ::) ). Also there is a new minor effect to all menus buttons where buttons are being slightly zoomed in on hover.

I haven't documented them yet but tested well enough in the frog quest:

(http://s4.postimg.org/hocld0ovt/screenshot0001.jpg) (http://postimg.org/image/hocld0ovt/)

No more need for ugly, randomly placed next to NPCs onscreen buttons and issue #33 is Fixed :)
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 12:33:42 AM
Yes, about menus... Why menu buttons are so huge even when we have short options like "Yes"/"No"? Ideally they should be a bit larger than the longest line in menu, in your case than the second line asking to teach spells. When you have a short option with a huge button, it's not very pretty.
There (http://fuckyeahrenpy.tumblr.com/post/84954131323/tutorial-easily-changing-the-style-of-in-game) is something about menu styles.
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 01:01:07 AM
Yes, about menus... Why menu buttons are so huge even when we have short options like "Yes"/"No"? Ideally they should be a bit larger than the longest line in menu, in your case than the second line asking to teach spells. When you have a short option with a huge button, it's not very pretty.
There (http://fuckyeahrenpy.tumblr.com/post/84954131323/tutorial-easily-changing-the-style-of-in-game) is something about menu styles.

It's shouldn't be too hard to fix... I kinda like consistent size, even with short choices. I think Menu in your example is defined in a way very similar to ours, just with older syntax and without a background.
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 01:13:45 AM
===
Just pushed, can't say that I like it. I'll look into adding padding and push again, maybe it'll be better...

===
Just pushed...
Yeap, a bit better, slightly increased horizontal zoom now also looks more appropriate. I'll leave it as it is unless you/Gismo want to add something else. Gotta work now, I'll check in a bit later.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 02:26:05 AM
Yeap, I like it. Now buttons no longer overlap background more than necessarily.

No wonder I had issues with checking quest stage before btw. The function also checked if the quest is active, and failed =/= active.
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 05:56:33 AM
Kewl :)

I'll put some time into jobs tonight if I got any fight left in me by then, otherwise it's code refactoring or some simpler issue like quick friends/lovers access.

We'll have a chain of remarks after release I think, Gismo likes this menu design from some other game but it does look like the hover button size is simply f*cked :) Two people PMed me about that after youtube demo was posted. It will take some time for that design to sink into player minds, took me couple of weeks to get used to it.

===
On the quests front, it looks like it's in an ok shape (judging from the Frogs quest anyway). I've actually used manual control there and simply forgot, the idea was to make sure Thewlises code worked. Method checked if stage is active because if you just try to check stage of a dead quest, game will crash (aka None.stage > 1 Error you posted couple of days ago). It'll take some time to get used to the system, I'll refactor it at some point in the future but for now, it should be sufficient, we'll never get it perfect for every possibility so it's a matter of understanding it through reading it's code or trial/error.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 06:32:53 AM
Well, the automatic events system expects many very different arguments in various cases. Like that recent "jump=true" out of nowhere for example.
If there will be more functions with more narrow purpose instead of one multi-purpose, I think it will be easier to understand and use.

Basically, you need to know how exactly events work in order to use the automatic system right now. That's not how it should work if you expect modders to do stuff.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 07:00:13 AM
*Also I rewrote stage checking because I need to check stage like ==, not >=. That might break existing quests, I'm afraid  :)

I think we do it wrong. Stage checking function should return the number of the current quest stage instead of true/false. And for example -1 for non active quests. This way you can check anything with just one function.
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 07:11:30 AM
*Also I rewrote stage checking because I need to check stage like ==, not >=. That might break existing quests, I'm afraid  :)

I think we do it wrong. Stage checking function should return the number of the current quest stage instead of true/false. And for example -1 for non active quests. This way you can check anything with just one function.

Don't rewrite existing code, you can just add your own methods. I don't recall a single quest that checks stages except for your quests but if you mess up a method that may be sued by the system internally, it will be very difficult to track errors in the future.

You can write safe_stage() method that returns stages as you describe...
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 08:04:20 AM
How can I use jump inside a function? When I try usual renpy's jump place where place is an argument, it gives a syntax error.


Wait. Is it even possible, I wonder? Seems like pure python doesn't have such stuff at all. Now I'm surprised  ???
We jump to locations and events in renpy all the time, but python team doesn't support jumps to labels. Lol.
 
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 09:17:45 AM
renpy.jump("label_name")

is the direct Python equivalent. Alkions:

jump("label_name")

is a safe way to make a jump where nothing happens if a label you try to jump to doesn't exist. You may still be notified about it in the left, top corner of the screen.
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 09:44:53 AM
Calling it a night, didn't get much done tonight, but I got a good start. Here are two previews of the layout that I just started. One with a red/gold scheme and one where I tried to incorporate the old bg for the bestiary.

Any pointers?

***
I made a screenshot of old bestiary from Alpha release, this one was made without graphics, just Solids with tweaked Alpha channel and default font. I think that the second version of your design looks better but graphics are too detached from one another making it look like it is thrown together rather than carefully designed. If you don't have time to think about/create a whole new screen, there should be many simpler, cleaner tasks.

(http://s8.postimg.org/6qzhg48yp/screenshot0001.jpg) (http://postimg.org/image/6qzhg48yp/)
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 09:54:00 AM
Xela, I recall you promised a function that will check if a character is available.
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 10:48:44 AM
Property, not a func. char.is_availible will return true or false. For now it just checks life. We will expand it in the future.

ima on andoid atm  :(

===
Edit from a normal PC:

Code: [Select]
if char.is_available:
    # Do something

(there was a typo before)

I want this to mean physical accessibility of a character to interact with the game world. If a character was sent to a distant quest, exploring some far away area, presently taking active part in some event/quest and etc. This should prolly return True is char is low on health/vitality... I am not sure, maybe we'll add another property to include those two into checks.

Right now it just checks if the character is alive, I will most definitely add a check for a distant location exploration as well before the next release but that code is not ready atm due to refactoring.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 12:42:16 PM
Method checked if stage is active because if you just try to check stage of a dead quest, game will crash (aka None.stage > 1 Error you posted couple of days ago).
I don't think it works like this. I made a function that returns stage of the quest or -1 if it's not active.

Even if quest exists and works perfectly, it's not active until you start it in the game. It has stage 0, unlike quests that don't exist (obviously they don't have a stage).
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 12:57:18 PM
Ok, whatever you think is useful will do.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 01:32:52 PM
I mean, if you want to check if the quest exists, it's useless to check if it's active. You could check stage >=0 with try/except for example (I'm not gonna to, all my quests exist so far).
It's also useless to check if a quest active in the first place when you could check stage instead (==0 for non active).

I also made interactions_run_gm_anywhere function, it's supposed to run either gms or interactions (if hired) in the character house, and do neither if the character is a slave or not available.
I want it to use backgrounds based on social status eventually, for now I set them manually.
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 01:53:03 PM
I mean, if you want to check if the quest exists, it's useless to check if it's active. You could check stage >=0 with try/except for example (I'm not gonna to, all my quests exist so far).
It's also useless to check if a quest active in the first place when you could check stage instead (==0 for non active).

I also made interactions_run_gm_anywhere function, it's supposed to run either gms or interactions (if hired) in the character house, and do neither if the character is a slave or not available.
I want it to use backgrounds based on social status eventually, for now I set them manually.

Maybe, I need to encounter this issues to understand it... like I've said, whatever makes sense to you.

Code: [Select]
$ chars["Naruko_Uzumaki"].set_flag("naruko_eat", value=chars["Naruko_Uzumaki"].flag("naruko_eat")+1)
I am going to rewrite flags a bit so they can be safely inherited but this is the same as:

$ chars["Naruko_Uzumaki"].mod_flag("naruko_eat", 1)

right now, in the current code. I think that I'll expand this method so if the flag is not found when modding, it would be set to 0 + value and written to log instead of nothing happening and logging the fact that a flag has not been preciously setup.

Edit: I'll change the logic but the methods will stay exactly the same* So nothing will change in the game, just in the internal code cause copy-pasting the same code all over the game instead of inheriting from Flags is tiresome.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 02:07:20 PM
This should prolly return True is char is low on health/vitality... I am not sure, maybe we'll add another property to include those two into checks.
I check this before giving an access to most interactions via interactions_check_for_bad_stuff and interactions_check_for_minor_bad_stuff labels.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2015, 03:45:41 PM
In order for all village quests to work as intended we need two systems. SE, where you could unlock locations and find quest items, and BE, where you could set any battle you want. Those two parts have issues already.

There are more things I'd like to have for other packs. First are unusable items that can only be possessed or sold, and not equipped or consumed. In fact, gems that I created some time ago which you should be able to find in SE and sell should be unusable (currently they are miscs that do nothing).
Second are special items. I mean items that have a label in json. You can use them (not equip on consume), and when you do it, we jump to that label from json. That would allow us to activate or progress a quest using special items. Or create unique items with very complex logic. Example: a capsule with android that you need to repair before she will join you.

Also, iirc you created logic for quest items that cannot be sold and, if I'm not mistaken, even transfered. I'm afraid I forgot how to create such items  :)
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 03:50:08 PM
Can you drop into chatroom for 15 mins?
Title: Re: General Discussion
Post by: Xela on September 09, 2015, 04:17:10 PM
In order for all village quests to work as intended we need two systems. SE, where you could unlock locations and find quest items, and BE, where you could set any battle you want. Those two parts have issues already.

- SE is afk due to Gismos new interface.
- I am not aware of any issues with battles other than adding moar stuff to the engine.

There are more things I'd like to have for other packs.

It may be a better bet to work on a story, maybe with a couple of endings...

First are unusable items that can only be possessed or sold, and not equipped or consumed. In fact, gems that I created some time ago which you should be able to find in SE and sell should be unusable (currently they are miscs that do nothing).

I'll have to revisit items system for this, add an issue to github.

Second are special items. I mean items that have a label in json. You can use them (not equip on consume), and when you do it, we jump to that label from json.

Same as above.

Also, iirc you created logic for quest items that cannot be sold and, if I'm not mistaken, even transfered. I'm afraid I forgot how to create such items  :)

They should have "quest" as a slot, it shouldn't be possible to sell, equip or transfer them but I am not sure that we've ever tested that.

*I need to update other parts of items as well:

- Review the code
- Update auto-methods
- Update the way traits are applied (should not be per "gender", not just for instances of Girl class)
- Generalize more functions (transfer/auto and etc.)

(this should also be added to the issue)

This will prolly take a while when I get around to it.

===
I wanted to discuss showing items effects in the equipment screen as well. Gismo wants to show real applicable effects, that is prolly doable for direct stats (although even that may turn out to be a somewhat tricky calculation), but calculating effects of traits application/removal would be a freaking nightmare... We on the other hand discussed several options from not showing any bonuses at all but hinting to them in descriptions, show limited information about an item, show detailed information, something in between and etc...

I'll see if I can refactor something else tonight... don't have any focus left for jobs.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2015, 12:48:59 AM
Can you drop into chatroom for 15 mins?
Too late, I wanted to get enough sleep before work at least once per week, and went to sleep at that time  :)

I am not aware of any issues with battles other than adding moar stuff to the engine.
I mean a function allowing to quickly run BE with arbitrary characters and mobs. Even without MC when needed.
Like be_run(party[char1:front_row, char2:back_row], enemy:[mob1:front_row, mob2:front_row, char3:back_row]) that will return true if player won.

I'm sure I won't be able to balance BE without such a function.

It may be a better bet to work on a story, maybe with a couple of endings...
I told you, I want to tie packs to story one by one.
Also, I'm still waiting for npc class, so without it I pretty much have to use chars instead.

I wanted to discuss showing items effects in the equipment screen as well. Gismo wants to show real applicable effects, that is prolly doable for direct stats (although even that may turn out to be a somewhat tricky calculation), but calculating effects of traits application/removal would be a freaking nightmare... We on the other hand discussed several options from not showing any bonuses at all but hinting to them in descriptions, show limited information about an item, show detailed information, something in between and etc...
I'd prefer to show description with limited info, without concrete numbers (numbers are too tricky with no real benefit). Effects don't have descriptions though, we'll need to add it.
Title: Re: General Discussion
Post by: Xela on September 10, 2015, 02:31:11 AM
Too late, I wanted to get enough sleep before work at least once per week, and went to sleep at that time  :)

NP, I just wanted to quickly discuss items info directly exposed to the player. I am glad that at least someone got some sleep :)

I mean a function allowing to quickly run BE with arbitrary characters and mobs. Even without MC when needed.
Like be_run(party[char1:front_row, char2:back_row], enemy:[mob1:front_row, mob2:front_row, char3:back_row]) that will return true if player won.

I'm sure I won't be able to balance BE without such a function.

You missed my post after last discussion on this topic. After I've looked into this at your request, I couldn't find a good reason to have a function. In the past it was inevitable since actors had to be reconstructed in Jake's BE, now there is nothing for the function to do. Take a look at a setup someplace with updated code (Frogs event (simplest to find I think), battle simulation, arena and etc.).

I'd prefer to show description with limited info, without concrete numbers (numbers are too tricky with no real benefit). Effects don't have descriptions though, we'll need to add it.

Gismo wont be happy about it, he want to show the exact effects items cause to an actor. It's pretty hard to put together (if we want it to be done right), but I had some ideas yesterday.

I told you, I want to tie packs to story one by one.
Also, I'm still waiting for npc class, so without it I pretty much have to use chars instead.

They do not require a special class... I just need to know how we're going to handle the images. It would be really great if we could use tags system for NPCs (for as many actors as possible actually) but it would mean a bit more work.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2015, 02:38:24 AM
You missed my post after last discussion on this topic. After I've looked into this at your request, I couldn't find a good reason to have a function.
Don't you always use MC's party vs mobs? I mean cases when you can have any party under command, not MC+his party.

Gismo wont be happy about it, he want to show the exact effects items cause to an actor. It's pretty hard to put together (if we want it to be done right), but I had some ideas yesterday.
Oh, I don't mind. I just don't think that it's possible to do for all effects. They have a complex logic, and in the future there could be even more complex effects.

They do not require a special class... I just need to know how we're going to handle the images. It would be really great if we could use tags system for NPCs (for as many actors as possible actually) but it would mean a bit more work.
We could. I don't even think I need to change something in the tagger, they can use the same tags.
Title: Re: General Discussion
Post by: Xela on September 10, 2015, 03:04:45 AM
Don't you always use MC's party vs mobs? I mean cases when you can have any party under command, not MC+his party.

Take a look @ the code, you'll see that a party doesn't matter. We do have party vs party in the arena btw.

Oh, I don't mind. I just don't think that it's possible to do for all effects. They have a complex logic, and in the future there could be even more complex effects.

True...

We could. I don't even think I need to change something in the tagger, they can use the same tags.

Yeap, I don't remember if we have this as an issue already.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2015, 03:06:58 AM
It may be a better bet to work on a story, maybe with a couple of endings...
I'm a bit hesitant to make global stories with endings after you mentioned politics system of some kind. I feel like major events should be tied to it. I will make my own story for the next release, yeah, but it probably won't be a core story.

I created issues for items.
Title: Re: General Discussion
Post by: Xela on September 10, 2015, 03:20:53 AM
One does not exclude the other... Politics are pretty far away on the horizon. I'll be knocking out these issues as time permits :)
Title: Re: General Discussion
Post by: DarkTl on September 10, 2015, 07:05:11 AM
Do unhired chars restore hp, mp and vitality over time?
Title: Re: General Discussion
Post by: Xela on September 10, 2015, 07:55:07 AM
Yes, possibly even instantly, every day. I don't remember for sure.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2015, 10:04:15 AM
Can I add tagger source code to the repo, or it could confuse the game or something?
Title: Re: General Discussion
Post by: Xela on September 10, 2015, 12:05:32 PM
It should make any difference and you can always create a new branch for the project. I think a proper way would be to create a new "group" account and transfer PyTFall right to it. Lets wait until Saturday, we should do it properly this time, GitHub is way different from SF in this regard.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2015, 04:30:30 PM
We can change slave/free status freely ingame when needed for quests, yes? Like when you should choose via menu who will become a slave from two free characters.
Title: Re: General Discussion
Post by: Xela on September 10, 2015, 09:54:41 PM
Sure, nothing should break, right not it's just a string, if we move to social status system, we'll have to update quests and events.

===
I followed your example from last night and turned in early. Now I got an hour and a half before dawn so I'll start messing with NPCs loading code. It's gonna another busy day and it doesn't look like this pace will come to an end any time soon :(

It's fine while we have smaller issues to knock out but I need to come up with a routine to work on jobs/SE as well, otherwise they'll never get done :(
Title: Re: General Discussion
Post by: Xela on September 10, 2015, 11:55:13 PM
NPCs are done. I've added color and what_color to JSONs, they represent name color and text colors to be used when the characters speaks. We have a list of color names in colors.rpy but any hex color code should do the trick. Defaults are ivory and white.

Shopkeeper Abby the Witch was reconstructed by me as NPC and code was update accordingly. I prolly should have simply used "profile" category for the VN sprite so game would fall back to it no matter what pic is called, but that haven't occurred to me before writing this post.

===
Everything else seems to be working otherwise, NPCs are bound to npcs dict on global namespace (example in the code).
Title: Re: General Discussion
Post by: DarkTl on September 11, 2015, 04:23:50 AM
Alright, you asked for this...  :)

- $ enemy_team = Team(name="Enemy Team", max_size=3)
Max size is not hardcoded? BE supports up to 3 chars currently, so why we set it here in the first place?

- How to control rows? I don't understand how to place a certain mob or char to a certain row.

- Transition from vn mode to battle screen is too fast. It's basically instantaneous. In existing games with separated BEs there is always a special effect of some kind when they run BE.
Title: Re: General Discussion
Post by: Xela on September 11, 2015, 06:27:31 AM
From Android.

Maxsize is optional. It defaults to 3.

I'll look into transitions.

Each char has a front_row property. True for front row and false for back row.
Title: Re: General Discussion
Post by: DarkTl on September 11, 2015, 07:36:35 AM
There is another issue. When you fight against a character, she doesn't have any battle AI. The game allows you to control her instead.
Title: Re: General Discussion
Post by: Xela on September 11, 2015, 10:10:13 AM
See if you can change the controler. There should be Examples of that in code. I am still on Android.
Title: Re: General Discussion
Post by: DarkTl on September 11, 2015, 10:56:42 AM
Yes.
Quote
            for member in team:
                member.controller = BE_AI(member)
My code
Quote
            $ enemy_team = Team(name="Enemy Team", max_size=1)
            $ your_team = Team(name="Your Team", max_size=1)
            $ enemy_team.add(t)
            $ for member in enemy_team:
                $ member.controller = BE_AI(member)
Quote
File "game/library/events/StoryI/Temari_part.rpy", line 64: Line is indented, but the preceding one-line python statement statement does not expect a block. Please check this line's indentation.
    $ member.controller = BE_AI(member)
::)
Title: Re: General Discussion
Post by: Xela on September 11, 2015, 11:33:48 AM
Use python statement.  One liner means one liner. Statement must start and end on the same line.
Title: Re: General Discussion
Post by: DarkTl on September 11, 2015, 12:38:22 PM
How does it work? Should I change the controller back after the fight to avoid issues when she will be hired and used in BE again?
Title: Re: General Discussion
Post by: Xela on September 11, 2015, 01:54:54 PM
How does it work? Should I change the controller back after the fight to avoid issues when she will be hired and used in BE again?

Auto-Combat should set the controller every turn, even if it doesn't, it most definitely should. Tis been one f*cked day so I am not going to do anything tonight. Tomorrow I'll take a stab at jobs if I have any energy for focused coding, otherwise I'll know out a couple of items issues as those are easier to deal with.
Title: Re: General Discussion
Post by: DarkTl on September 11, 2015, 02:18:44 PM
Gismo pmed me that he's going to add buttons for quest items filter and disposing while he redraws items screens to take care of issue 86. So don't do anything about issues 93 and 94 yet, it's better to handle everything at once.
Title: Re: General Discussion
Post by: DarkTl on September 12, 2015, 01:35:15 PM
Here we go  :) https://github.com/DarkTl/PyTFall-DarkTagger (https://github.com/DarkTl/PyTFall-DarkTagger)
I think anyone can download it, but there is no point to do so unless you know Delphi. I'll continue to distribute it via dropbox, I just need a backup.
Title: Re: General Discussion
Post by: DarkTl on September 13, 2015, 03:30:40 PM
I tried some things but couldn't make it work. It's not something I need here and now, more like before the release.

When we give a quest to increase some MC's (or char's) skill or stat to N, we need to track it somehow everywhere (or at least during next day) in order to update the quest when it will be done.
This is especially important for skills because we probably won't show skill number in gui, so updating quest is the only way to tell that the skill is high enough.
Title: Re: General Discussion
Post by: Xela on September 13, 2015, 03:50:10 PM
That's what the event system is for, isn't it?
Title: Re: General Discussion
Post by: DarkTl on September 13, 2015, 04:09:50 PM
Ok, show me how to track sex skill >= 200 everywhere with the help of the system  :D
Title: Re: General Discussion
Post by: Xela on September 13, 2015, 05:00:27 PM
Something like this?:

Code: [Select]
init -9 python:
    register_event("check_skill_yada_yada_yada_event", trigger_type="auto", locations=["all"], run_conditions=["hero.get_skill('sex') >= 200"], priority=101, dice=0, restore_priority=0, max_runs=1)

label check_skill_yada_yada_yada_event(event):
    "Have some moar zex!"
    $ hero.Sex += 200
    return

Remember that events are reevaluated on next day, you'll need to click ND before the event triggers.
Title: Re: General Discussion
Post by: DarkTl on September 14, 2015, 01:16:50 PM
Quote
register_event("intro_storyi_entervillage", quest="Medic's Request", trigger_type="auto", locations=["hiddenVillage_entrance"], dice=100, max_runs=1)
Works as soon as you enter the village.

Quote
register_event("intro_storyi_entervillage", quest="Medic's Request", trigger_type="auto", locations=["forest_entrance"], dice=100, max_runs=1)
Works only after you enter the forest the second time.

Both after the next day.
Wtf?
Title: Re: General Discussion
Post by: Xela on September 14, 2015, 01:24:18 PM
Wtf?

System runs one event at a time to avoid confusion, collision and sideeffects if we try and run more than one event on entry. That's what the priority is for, if you feel that your event should be more important, increase it's priority, if you're are ok with it to be run a couple of entries later, leave it as it is.

No system will be perfect, too many parameters will result in even more confusing code and more complicated system, just roll with how it is. We'll prolly add chained processing at some point but I don't want to deal with that right now.
Title: Re: General Discussion
Post by: DarkTl on September 14, 2015, 01:29:22 PM
But there is no event when you enter the forest for the first time. At least I don't see anything.
Title: Re: General Discussion
Post by: Xela on September 14, 2015, 01:32:45 PM
But there is no event when you enter the forest for the first time. At least I don't see anything.

Events system put the frog on the screen... some event may also run silently, although I do not recall anyone coding a silent event (yet).
Title: Re: General Discussion
Post by: DarkTl on September 14, 2015, 01:53:29 PM
Yeah, it's a bit confusing that you need to wait for a day before the next auto event will become available...
Title: Re: General Discussion
Post by: DarkTl on September 14, 2015, 02:03:44 PM
Auto-Combat should set the controller every turn, even if it doesn't, it most definitely should. Tis been one f*cked day so I am not going to do anything tonight. Tomorrow I'll take a stab at jobs if I have any energy for focused coding, otherwise I'll know out a couple of items issues as those are easier to deal with.
Lol, just as I thought. They keep fighting on their own even being on your side if you messed up with the controller before  :D


Though I don't mind if all allies will fight automatically in the future while you only can give general directions. There are pretty good jrpg games with such a system.
But it will require a very good AI, of course.

I added graveyard. I won't be able to make it work on my own, ie show somehow dead chars.
Title: Re: General Discussion
Post by: DarkTl on September 14, 2015, 02:37:44 PM
I'll try to make a simple gui for the graveyard tomorrow. But I will need help with making a list of dead chars and showing them.
Title: Re: General Discussion
Post by: Xela on September 14, 2015, 04:12:58 PM
Yeah, it's a bit confusing that you need to wait for a day before the next auto event will become available...

If you can confirm this behavior, start an issue cause it's a bug. If the event was evaluated and added to waiting list, it should activate upon next entry to the location, next day should have nothing to do with it.

Basically:

1) It becomes possible for an event conditions to be evaluated as True.
2) When ND is started, all such events are added to active queue, from that queue game will check location, other conditions and reevaluate all events that were placed as active during next day.
3) They are executed upon entering a correct location and other checks. Highest priority first, afterwards you should be able to renter the location and see the second/third event without triggering next day.

Lol, just as I thought. They keep fighting on their own even being on your side if you messed up with the controller before  :D


Though I don't mind if all allies will fight automatically in the future while you only can give general directions. There are pretty good jrpg games with such a system.
But it will require a very good AI, of course.

I added graveyard. I won't be able to make it work on my own, ie show somehow dead chars.

I'd still prefer dead to stay dead unless handled in unique events...
Title: Re: General Discussion
Post by: DarkTl on September 14, 2015, 04:19:40 PM
They will stay dead. I wanted to show names and portraits, unless you want to delete them from the game completely to free some memory.


I have a function that checks if a quest is completed or not.
Quote
        def check_quest_not_finished(self, quest):
            """           
            Will return False if quest is completed or failed, True otherwise.
            """
            if self.is_complete(quest) or self.has_failed(quest):
                return False
            else:
                return True
Can it be rewritten to take any amount of quests names and return True as long as they all are not finished/completed?
Title: Re: General Discussion
Post by: Xela on September 14, 2015, 04:37:50 PM
They will stay dead. I wanted to show names and portraits, unless you want to delete them from the game completely to free some memory.


I have a function that checks if a quest is completed or not.Can it be rewritten to take any amount of quests names and return True as long as they all are not finished/completed?

Portraits shouldn't be an issue.

Try:

Code: [Select]
        def check_quest_not_finished(self, *quests):
            """           
            Will return False if quest is completed or failed, True otherwise.
            """
            for quest in quests:
                if self.is_complete(quest) or self.has_failed(quest):
                    return False
            return True
Title: Re: General Discussion
Post by: Xela on September 15, 2015, 02:38:32 AM
That func is not going to work. I'll see if I can write one later that does.
Title: Re: General Discussion
Post by: DarkTl on September 15, 2015, 05:58:09 AM
For graveyard I mean something like this (https://www.dropbox.com/s/buhafk670x2aucu/example.png?dl=0). I found a more or less decent tombstone and also edited existing panels for chars names that we use in gui, making them a bit darker and grayer, they are in the repo. Above names panels there should be character's portrait in grayscale.
One name panel is for the name, other for the date (we do have calendar  :) ).


So when you go to the graveyard and select the option to check dead ones, you see that tombstone and can use arrows to look at other characters.
I suppose only chars with disposition>0 or hired chars should be added into that list.

For now it's just for fun. Eventually we might find a more practical use for dead chars (not resurrection).
Title: Re: General Discussion
Post by: DarkTl on September 15, 2015, 02:16:13 PM
I wonder what is the best way to show big amounts of text in library. Our usual means are not an option.
Title: Re: General Discussion
Post by: Xela on September 15, 2015, 04:31:46 PM
I wonder what is the best way to show big amounts of text in library. Our usual means are not an option.

There are too many good ways, prolly not one you may call "best".

1) You can bind text to a variable like:

temp = "Some really long string"
show expression Text(temp, **google renpy text properties/style for a lot of options)

2) Screens are a very easy/convenient way:

screen show_text():
    text temp size 15 color black yada, yada, yada (parameters again)

This will be the easiest way of you need a cool background as well. You can use add/frame/window for that.

3) NVL Sayer, that works ok as well, we had an example of Nigerian Spam letter at some point if you still remember presented in that way :)

===
There are prolly more but these three are definitely the best Ren'Py has to offer. Other options are prolly class/func but that would be an overkill.
Title: Re: General Discussion
Post by: Xela on September 15, 2015, 07:01:21 PM
I've knocked out a few issues, see the comments for more specific info.
Title: Re: General Discussion
Post by: DarkTl on September 16, 2015, 02:54:18 AM
I'm sorry to say it, but it's not how I need quest checking function to work  :)

 Currently it returns False as long as at least one is completed/failed. I need it to return False when all quests were failed or completed, and True otherwise.

Basically, I need to use it to check if all miniquests that are parts of some big quest were finished or not, and if they are, advance that big one to the next stage. And when I do it for every single quest separately, checks become really huge and confusing.
Title: Re: General Discussion
Post by: Xela on September 16, 2015, 03:36:17 AM
I see... Ok, I'll rewrite the function again when time permits.
Title: Re: General Discussion
Post by: DarkTl on September 16, 2015, 06:32:27 AM
I'm not sure how to deal with paragraphs. Strings usually cannot contain the sign of the transition to the next line. There are types of data that can, but I'm not sure that renpy supports them.
Title: Re: General Discussion
Post by: DarkTl on September 16, 2015, 07:28:32 AM
We have a russian spammer in general discussion  ::)
Title: Re: General Discussion
Post by: Xela on September 16, 2015, 11:50:50 AM
I'm not sure how to deal with paragraphs. Strings usually cannot contain the sign of the transition to the next line. There are types of data that can, but I'm not sure that renpy supports them.

Take a look at \n in python strings. You can also form a list of an OrderedDict and analyze it. This thing starts with setting up some parameters on what's required.
Title: Re: General Discussion
Post by: DarkTl on September 16, 2015, 02:16:25 PM
I don't understand how to keep a screen on the screen, so to speak  :)
I built a testing screen with a button that will close it and return you where you need to be. When I call that screen as soon as I enter the location (show screen), it works. But when I call it via matrix, I return to the main menu.

I suppose this is because we also have this part in all locations
Quote
        while True:

            result = ui.interact()

            if result[0] == 'jump':
                gm.start_gm(result[1])
            if result[0] == 'control':
                renpy.hide_screen("pyt_academy_town_entrance")
                if result[1] == 'return':
                    break
which I don't quite understand.
Title: Re: General Discussion
Post by: Xela on September 16, 2015, 02:37:11 PM
You don't have to do this for simpler screens, there are other ways that can be used depending in circumstances.

The ui.interact loop is one of the more complicated ways, basically it's a command cycle, screens use Return() action to return lists of strings through the ui.interact so basically, this:

Code: [Select]
while 1:
    $ result = ui.interact()

Means wait for something to Return() a value. Game is obviously paused with this automatically and will wait for such a return indefinitely.

Code: [Select]
if result[0] == "something":
Then we just analyze the result which from screens actions Return(["something", "action_1"]) for example so:


Code: [Select]
if result[0] == "something":
    if result[1] == "action_1":
        # Execute some code

After the code is executed and in case you do not jump/somewhere or return to a called label, while loop will got to the next iteration and ui.interact will pause the game again.


===
This is the most complicated command cycle you may need to build in Ren'Py, it's usually a huge overkill for simpler stuff.
Title: Re: General Discussion
Post by: DarkTl on September 16, 2015, 03:01:14 PM
Hm. I don't understand how to place a text inside a frame. I mean, I have an image and I need to output text within its borders.
Title: Re: General Discussion
Post by: Xela on September 16, 2015, 03:12:49 PM
You can look for code in other places where we place texts in frames, like tooltips/quests/next day reports.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 04:09:01 AM
Viewport has a scrollbar. When I try to add it, it appears right in the center. When I try to use side "tr" or side "r", nothing really happens. I have run out of ideas. It already should be at right by default, no idea why it likes center so much.
Quote
    viewport:
        mousewheel True
        draggable True
        scrollbars "vertical":
            side "tr"
        xpos 303
        ypos 30
        xysize (675, 670)
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 04:29:04 AM
I'd have to see the whole code, maybe some container is misplacing it. Side is a container in itself so you cannot use it like you're trying. You can declare a side with two positions and put a viewport and scrollbar in it separately.

But your way should be workable as well.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 04:31:36 AM
Quote
screen library_show_text(orly):
    $ strer = "A huge string."
    add "content/gfx/frame/library_page.jpg" at truecenter
    textbutton "Enough with it" action (Hide("library_show_text", transition=dissolve), Jump("library_read_matrix"))
    viewport:
        mousewheel True
        draggable True
        scrollbars "vertical" xpos 978
        xpos 303
        ypos 30
        xysize (675, 670)
        if orly == 1:
            text "%s" %strer size 14 color black
I tried to add at right to scrollbar, it ignores it too.

 
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 04:49:31 AM
I tried to add at right to scrollbar, it ignores it too.

It looks fine, did you try it without xpos? I would not even expect this code to run at all, xpos after the scrollbars will be inherited by the viewport, not the bar, so you have two and that's usually an error.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 04:53:13 AM
Yeah, you can ignore that xpos 978, I just tried to do something about scrollbar position but nothing worked. The screen looks like this (https://www.dropbox.com/s/8jtw8d9wd618g22/123.jpg?dl=0). I suppose it could be a renpy bug.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 05:43:16 AM
Such an irony, it's so hard to add a scrollbar to text in renpy, and the only component that has it already is not working properly.

Well, I need a scrollbar anyway, that's why I used viewport. If it doesn't work, it should be coded manually. I googled it a bit, it's a pretty complex stuff. I will leave it to you.
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 06:10:53 AM
Remove it, just leave the Viewport. I'll figure out the bar later.
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 07:17:56 AM
Code: [Select]
    $ strer = "A huge string."
    frame:
        background Solid("#FFFFFF")
        xysize (600, 620)
        xalign 0.5
        has viewport:
            xysize (580, 620)
            scrollbars "vertical"
            draggable True
            mousewheel True
            text "[strer]" size 14 color "#000000"

Try something like this, apparently it needs a container to align the bar properly, best best is prolly a side like you've tried but it should contain a viewport, not be a part of it.

Still, since we have a background, we might as well use a frame. This works on a fresh project, you'll have to replace background with the pergament image. If it doesn't size itself properly, use:

Code: [Select]
    frame:
        background Frame("path_to_image", 10, 10)
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 07:29:16 AM
Yup, now it works. I don't want a frame though, so I used viewport inside viewport.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 07:54:48 AM
I found some info about text formatting inside strings, like {b}{/b}. But nothing about text alignment. Is there any way to control it, besides centered function which will output everything at center (and I need only one string)?
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 09:17:59 AM
You should use fixed or side. Two viewports are Wierd. I am not sure about texts, maybe styles could be used or RenPy could have { } options for it.

We need to set paramiters for what is required.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 10:27:49 AM
Weird is the need in two containers only because one cannot handle its own scrollbar without a clear reason, even though it's not mentioned in manuals. If you are concerned, report it as a bug.

I actually find stuff like side or xalign hard to understand so far, since delphi manipulates only coordinates and size of elements when you build a gui. And frame is not invisible, I don't need it on my background.
You can recode it as you like as long as functionality will remain.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 10:49:33 AM
Small tagger update, now all buttons and the click on the picture that reloads it will return focus to file list. Thus keyboard arrows could be used to select another picture all the time.
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 12:31:14 PM
Weird is the need in two containers only because one cannot handle its own scrollbar without a clear reason, even though it's not mentioned in manuals. If you are concerned, report it as a bug.

I posted this on forums, since I am not sure that I can understand the documentation on this properly, it may not even be a bug.

I actually find stuff like side or xalign hard to understand so far, since delphi manipulates only coordinates and size of elements when you build a gui. And frame is not invisible, I don't need it on my background.
You can recode it as you like as long as functionality will remain.

Invisible frame is called "fixed". You can also set background of a frame to Null() but that is usually a weird way of doing things.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 12:46:37 PM
I am not sure about texts, maybe styles could be used or RenPy could have { } options for it.
Sadly, no. I found a PyTom post that you have to display text with different align separately. It's not worth it, I'll just use spaces when I need it in center.

We have a library now, and there are plenty of bookshelves for moar huge texts if there will be decent writers  :)
Don't delete EBGaramond-Regular font in the future, I used it there and it looks very good.

I'll wait for replies to your post before changing something in gui.
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 12:56:50 PM
Sadly, no. I found a PyTom post that you have to display text with different align separately. It's not worth it, I'll just use spaces when I need it in center.

You can make one book and I could write a really simple class that can build strings and align them appropriately in auto mode. I just need to see one book (any book) with all required formats.

I'll wait for replies to your post before changing something in gui.

You can use older way with a side and YScrollBars like in the example in screen language. That will definitely work (so does an extra container btw.).
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 01:18:01 PM
You can make one book and I could write a really simple class that can build strings and align them appropriately in auto mode. I just need to see one book (any book) with all required formats.
Well, pull and go to academy. There is only library for now, since I have no idea how else we could use academy without a huge amount of coding.
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 01:37:01 PM
Prolly tomorrow. If it's reasonable, I'll write a class.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 01:49:31 PM
You can use older way with a side and YScrollBars like in the example in screen language. That will definitely work
You mean something like
Quote
    side "c r":
        viewport id "lib_text":
            xpos 306
            ypos 30
            xysize (675, 670)
            mousewheel True
            draggable True
            text "%s" %string_to_show size 15 color black font "Fonts\EBGaramond-Regular.ttf"
        vbar value YScrollValue("lib_text")
?
Because it doesn't work as intended too.
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 04:11:43 PM
Works for me...

Code: [Select]
screen testing_vp():
    add Solid("#FFFFFF", xsize=600) xalign 0.5
    side "c r":
        xsize 600
        xalign 0.5
        viewport id "lib_text":
            xsize 600
            draggable True
            mousewheel True
            text "Some Really Long String "*1000 size 14 color "#000000"
        vbar value YScrollValue("lib_text")
       
label start:
    call screen testing_vp
Title: Re: General Discussion
Post by: DarkTl on September 17, 2015, 04:20:56 PM
Quote
    add "content/gfx/frame/library_page.jpg" at truecenter
    textbutton "Enough with it" action (Hide("library_show_text", transition=dissolve), Jump("library_read_matrix")):
        xalign 1.0
        yalign 1.0
    side "c r":
        viewport id "lib_text":
            xpos 306
            ypos 30
            xysize (675, 670)
            text "%s" %string_to_show size 15 color black font "Fonts\EBGaramond-Regular.ttf"
        vbar value YScrollValue("lib_text")
If by "works" you mean usual "scrollbar at the freaking center", then it works for me too, I guess...
Title: Re: General Discussion
Post by: Xela on September 17, 2015, 04:25:15 PM
Add the xysize to side as well. Move positioning to it and remove it from viewport.
Title: Re: General Discussion
Post by: DarkTl on September 18, 2015, 04:40:54 AM
Seeing how many posts there remain without an answer, you probably should report bugs by creating issues at the renpy repo.

I have to say, screen language is pretty complex since it doesn't have examples. Well, almost. There is like 1 example per 20 functions  :)
Unlike python, which has tons of examples for every possible case.
Title: Re: General Discussion
Post by: Xela on September 18, 2015, 05:28:43 AM
Yeah... you're not the one to say this, OldHuntsman has the exact same complain about Ren'Py SL, at first I told him that there are guides but it turns out that there aren't any that explain the whole thing properly. There are guides for bits and pieces but even those are mostly outdated. I ended up explaining the basics over skype.

We have a lot of examples in the code but those are usually either very complex or require understanding of data structure in the game, still, a lot of stuff can be found in the code.

===
The trouble with highest level scripts such as SL and ATL is that they offer too many options and possibilities for very few lines of code, that is usually close to impossible to document. We had a discussion about that on lemma, where I provided examples where even the Ren'Py devs couldn't immediately give me the best advice for more complex stuff and suggested more complicated solutions instead of using higher level scrips.
Title: Re: General Discussion
Post by: Xela on September 18, 2015, 08:48:31 AM
I've cleaned up library code a bit, we now have a simple class and a func. Class methods that add headers and text also take all properties that Ren'Py text does so it is possible to overwrite and customize every single header/paragraph separately. {} inside of the texts should also work.
Title: Re: General Discussion
Post by: DarkTl on September 18, 2015, 01:29:47 PM
Where is the code that decides what you can find while looking around? It's not unusual to have rare and expensive items, that's clearly an overkill.

I think it might use items with "exploration" location. But they are supposed to be well guarded by mobs, not just lie around in random city location.
Title: Re: General Discussion
Post by: Xela on September 18, 2015, 02:08:53 PM
Where is the code that decides what you can find while looking around? It's not unusual to have rare and expensive items, that's clearly an overkill.

I think it might use items with "exploration" location. But they are supposed to be well guarded by mobs, not just lie around in random city location.

In the base events.rpy file. It's a very old code that predates any kind of exploration, the fact that I wrote it in 5 mins very soon before the release doesn't help either :) I just felt like a couple of random events were appropriate.
Title: Re: General Discussion
Post by: DarkTl on September 18, 2015, 02:13:21 PM
Oh, great. It could be any item at all.
I'll add a new location to items for looking around option.
Title: Re: General Discussion
Post by: Xela on September 18, 2015, 05:36:09 PM
Yeap. At @ release, we would not have cared since it was extremely unlikely a low level player getting a decent item at all.

We'll obviously have to recode it for the beta.
Title: Re: General Discussion
Post by: DarkTl on September 20, 2015, 06:43:36 AM
Alright, so how do I form a list of items with "Look around" location?
Title: Re: General Discussion
Post by: Xela on September 20, 2015, 09:40:11 AM
Depends on how you want it to work, you can come up with some guidelines and I'll update it myself.
Title: Re: General Discussion
Post by: DarkTl on September 20, 2015, 09:48:08 AM
Well, actually I was referring to your code where you check items_pool = list(item for item in items.values() if item.price <= amount). So I suppose it should be  if "Look around" in item.location() or something?
Title: Re: General Discussion
Post by: Xela on September 20, 2015, 09:56:39 AM
Well, actually I was referring to your code where you check items_pool = list(item for item in items.values() if item.price <= amount). So I suppose it should be  if "Look around" in item.location() or something?

If you are planning to add "Look around" as a string to locations than yes, but prolly: if "some_string" in item.locations

Definitely without the braces.
Title: Re: General Discussion
Post by: DarkTl on September 20, 2015, 02:18:52 PM
It's been some time since I actually run the game to play and not to test something new  :)
The game becomes unstable after you look at fonts, but I suppose it doesn't matter since there won't be such a thing in non-dev version.

My major concern is gui in some places.
- First of all, MC team is quite meh. We have a decent gui for team members at the fighters guild, we can just take it from there.
- Finance screen is a big no. That light blue thing should be replaced by pretty much anything.
- MC equipment screen should be build precisely in the same way as girls screens. You may keep sliding if you like it, but currently it's inconvenient as hell if you actually want to do something there, not just take a look at it.
- Filters at the girls screen look like a mess. There are so many of them, and there will be even more. We cannot keep them as they are.
Title: Re: General Discussion
Post by: Xela on September 20, 2015, 02:31:15 PM
Gismo is working on the equipment screen, new version prototype looks really good and has the same type of filters. I am aware of the rest of the issues.
Title: Re: General Discussion
Post by: DarkTl on September 20, 2015, 02:57:09 PM
I found another commercial renpy VN game at rutracker, Roommates. It has very good music and icons (packed in rpa archives, but there is a software for this at the lemma). Music is especially good, I will add it to some places.
Title: Re: General Discussion
Post by: Xela on September 20, 2015, 08:18:42 PM
Couldn't fall asleep so there are couple of decent updated tonight, two minor issues cleared and I refactored main map screen + made sure "hidden" also works for the buttons.

It's been some time since I actually run the game to play and not to test something new  :)
The game becomes unstable after you look at fonts, but I suppose it doesn't matter since there won't be such a thing in non-dev version.

My major concern is gui in some places.
- First of all, MC team is quite meh. We have a decent gui for team members at the fighters guild, we can just take it from there.
- Finance screen is a big no. That light blue thing should be replaced by pretty much anything.
- MC equipment screen should be build precisely in the same way as girls screens. You may keep sliding if you like it, but currently it's inconvenient as hell if you actually want to do something there, not just take a look at it.
- Filters at the girls screen look like a mess. There are so many of them, and there will be even more. We cannot keep them as they are.

You should start issues for these things, stuff like this gets lost/forgotten otherwise.
Title: Re: General Discussion
Post by: DarkTl on September 21, 2015, 06:09:55 AM
I think something is wrong. I tried a line  $ gm.enter_location(goodtraits=["Psychic"], occupations=["Caster"]) for the magic tower. Meaning there should be chars with Psychic trait or Caster occupation (that includes all mages classes).
So far I met two Psychics, zero mages and tons of Prostitutes. That's hardly working as intended  :D
Title: Re: General Discussion
Post by: Xela on September 21, 2015, 11:57:11 AM
It's not my last update. Your mage trait is being overwritten by my testing version from testing json, so caster is not even a thing. There are also other priorities like picking an unique girl over random one for one if the slots. If you talked to someone and increased disposition, that will also give character a priority. It's also possible that a game is simple not creating enough of random chars or not creating them appropriately... It's a fairly complex system at this point, I am pretty sure that the code in GMSlot is sound, I'll be updating rest of the code as we go, but it's a part of GM characters generation so it's a different issue.

Main problem here is the testing JSON I think (feel free to get rid of it and test a properly named file), I recall that your traits had some illegal values but I could be mistaken. My testing traits never had a "Caster" general occupation. Anyway, I had 3 hours of sleep last night, so I am turning in early tonight :)
Title: Re: General Discussion
Post by: Xela on September 21, 2015, 05:38:41 PM
I've added transitions to the BE, use:
Code: [Select]
battle = BE_Core(Image("content/gfx/bg/be/b_forest_1.png"), music="content/sfx/music/be/battle (14).ogg", start_sfx=dissolve, end_sfx=dissolve)
This is a simple example, but it should take any transition (not tested).

===
Angelica will now teach Ice and Thunder magic. If we agree that healing spells can only be leaned from items, we can close the case spells issue.

We also need solid limitation to elemental alignments that she can add, it seems to simple... maybe even higher prices or a lock for a max elements she can add per game per character and maximum per x amount of days for any character. But that is prolly port next release.
Title: Re: General Discussion
Post by: DarkTl on September 22, 2015, 12:53:23 AM
Right, let's clarify something.
- All mages have Caster general occupation, as you can see in classes traits json. So when I write occupations=["Caster"], I mean all classes traits with that occupation. We already have this check for GMs.
- I cannot remove testing json, since the game stops working.
Quote
  File "game/script.rpy", line 6, in script
    python:
  File "game/script.rpy", line 70, in <module>
    temp = [TestingJob(), WhoreJob(), StripJob(), ServiceJob()]
  File "game/library/businesses&buildings/classes - jobs.rpy", line 1906, in __init__
    self.occupation_traits = [traits["Service"]] # Corresponing traits...
KeyError: 'Service'
I suppose you rely too much on testing traits.
Title: Re: General Discussion
Post by: Xela on September 22, 2015, 07:41:15 PM
I've got rid of the testing file, when I was working on it, there was nothing else to rely on.

===
We need to do something about the map, for some reason Gismo cut some of the locations all weird so now if you hover next to them (like beach and etc.) they keep loosing and gaining focus. Either they need to be recut or we need a matrix for them...

There is also a small update to giving gifts interface.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 01:46:04 AM
Still no...
Maybe I do it wrong, or there is a problem with rchars code?

I changed rchar json like "occupations": ["Mage", "Healer"], and used $ gm.enter_location(goodtraits=["Psychic"], occupations=["Caster"]). Both Mage and Healer have Caster general occupation.
And I've never ever seen any mages, only prostitutes and Psychics.

Then I tried to add ["Mage", 100] to traits, that should guarantee that the character will be a mage. Still no.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 01:56:08 AM
Now I tried to change it to $ gm.enter_location(goodtraits=["Healer", "Mage"], occupations=["Caster"]). After a week I finally met one mage who also was a prostitute. I think the prostitute part was the reason I met her at all.
And I never met a pure Caster no mater what I tried, even though I have 3 Caster rchars (mage, healer, battle mage).

Then I made a unique character with Mage occuption. Unique ones should have a higher priority than random ones. I went to tower and met 3 prostitutes.
Then I added Mage trait directly, and FINALLY I met that unique mage character (still zero random mages).

But wait, what if we change it like $ gm.enter_location(goodtraits=["Healer"], occupations=["Caster"])? It still should return all casters, including our unique mage.
Well, the answer is no, you will never meet her there.

I'm 100% sure that it doesn't work as intended. At very least something is wrong with random chars, and occupation field doesn't work too.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 03:01:24 AM
At very least something is wrong with random chars

Until this:

https://github.com/XelaPy/PyTFall/issues/11

is cleared, it's useless to expect rchars to be properly added to game world without interventions. For example, for all the jobs testing that I do rchars are created and setup in my testing file as required.

Then I made a unique character with Mage occuption. Unique ones should have a higher priority than random ones. I went to tower and met 3 prostitutes.
Then I added Mage trait directly, and FINALLY I met that unique mage character (still zero random mages).

But wait, what if we change it like $ gm.enter_location(goodtraits=["Healer"], occupations=["Caster"])? It still should return all casters, including our unique mage.
Well, the answer is no, you will never meet her there.

... and occupation field doesn't work too.

This is a problem, I'll try take a look at it right now unless something urgent comes up.


=========
Yeah, what goes wrong basically is that Mages that were added to the priority list are being thrown out of it because they are not Healers.

It still should return all casters

I am not sure that's how we planned it when the system was written, in fact I recall suggesting to be very careful when using this priorities. I am reluctant of rewriting the class before major GM upgrade. So just use Caster if you any Caster and add Healer if you wish only healers to be singled out.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 03:41:17 AM
Do we even need occupation field in chars jsons now, when occupations are almost traits?
Title: Re: General Discussion
Post by: Gismo on September 23, 2015, 03:45:28 AM
===
We need to do something about the map, for some reason Gismo cut some of the locations all weird so now if you hover next to them (like beach and etc.) they keep loosing and gaining focus. Either they need to be recut or we need a matrix for them...

I recut them. Push with equipment screen, when finish it.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 03:59:40 AM
Do we even need occupation field in chars jsons now, when occupations are almost traits?

Yes, super bonuses from basetraits will not be applied if they are added as mere traits.

I recut them. Push with equipment screen, when finish it.

It's either that someone needs to make a matrix so I can make it work with the map.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 04:03:33 AM
I recut them. Push with equipment screen, when finish it.

Dark pushed something like that btw! Lets test that first.

Edit: Seems to be working just fine, the insane focus thing is gone.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 04:31:02 AM
No, something is wrong with the system.
The only way to meet a Mage is to give her Mage trait directly and check for $ gm.enter_location(goodtraits=["Mage"]). If you give her Mage class trait as occupation, not as a trait, you won't meet her. If you try to check for  $ gm.enter_location(occupations=["Caster"]), you will never meet her too.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 04:34:24 AM
But wait, what if we change it like $ gm.enter_location(goodtraits=["Healer"], occupations=["Caster"])? It still should return all casters, including our unique mage.

It bugged me so I rewrote this... now "Caster"s will (should) not be thrown out just because they are not Healers. I think the final variant should have three or four layers for really good sorting but I am not even sure that a final version should have a strict limit of just the three girls per location... It's a matter for a post next release discussion anyway.

===
Notes:

1) badtraits are still really powerful and work only on preferred list. I am thinking that maybe it is a good idea to make bad-traits absolute and leave the location empty instead of just applying them to preference list?

2) I don't know if any of you remember it but we always check for "Curious" trait to place ALL characters with it on priority list, that can throw the system off a bit as well and was Dark's idea (I think). (aka: any girl with a Curious trait gets the same priority as any goodtrait/occupation).


No, something is wrong with the system.
The only way to meet a Mage is to give her Mage trait directly and check for $ gm.enter_location(goodtraits=["Mage"]). If you give her Mage class trait as occupation, not as a trait, you won't meet her. If you try to check for  $ gm.enter_location(occupations=["Caster"]), you will never meet her too.

New or old code???
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 05:00:24 AM
Do we even need occupation field in chars jsons now, when occupations are almost traits?

BTW: I've made a note of that before but in modern code occupation was replaced with basetraits* (since there could be two).
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 11:05:53 AM
You mean like "basetraits": "Mage"? Just tested that string instead of occupation string on Karin without testing json, she is a prostitute in the game. Looks like the game does not implement base traits.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 11:20:55 AM
Well, it goes out of control. With the new code I can no longer see her even with  $ gm.enter_location(goodtraits=["Mage"]) and "Mage" trat.

So basically,
- so far there is no reason to believe that basetraits field works, they are still prostitutes instead of mages if you try to make them mages. I'm talking about unique chars.

But even if I force Mage trait by adding it as a normal trait, not as a base one:
- girlmeets system is afk. Instead of one mage who should have absolute priority in a game without any other mages I get random chars (meaning not rchar, but different set of chars and rchars every time I run the game), and they are not even Curious. Before you last update  $ gm.enter_location(goodtraits=["Mage"]) + "Mage" trat worked every time, but not anymore.

Just try it and see for yourself. I used my small Arcana_Heart pack for testing, there is only one character.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 12:16:40 PM
Just try it and see for yourself. I used my small Arcana_Heart pack for testing, there is only one character.

Yeah, you're right... it doesn't work (like at all). I don't remember seeing anything at all to cause a f*ckup like this in the code, unless I find it, I'll have to rewrite the whole constructor.

===
Even thought a game does (or at least should) fix technical errors in JSON datafiles, it doesn't mean that you have to make them. At least our own packs should be (puurfectly) well made. At current code, without any modifications, your girl should (*could) look something like this:

Code: [Select]
[
    {
        "id": "Lilica_Felchenerow",
        "fullname": "Lilica Felchenerow",
        "name": "Lilica",
        "desc": "A half-demon, half-human. She loves playing pranks on people and has very little patience for things that don't interest her.",
        "gender": "female",
        "origin": "Arcana Heart",
        "base_race": "Demon",
        "personality": "Bokukko",
        "breasts": "Average Boobs",
        "race": "Half-demon",
        "arena_willing": false,
        "location": "city",
        "status": "free",
        "level": 5,
        "height": "short",
        "gold": 200,
       
        "stats": {
            "charisma": 15,
            "constitution": 60,
            "luck": 20,
            "character": 60,
            "intelligence": 20,
            "attack": 35,
            "magic": 20,
            "defence": 40,
            "agility": 60,
            "mp": 10
        },
        "skills": {
            "dancing": 10,
            "exploration": 15
        },
       
        "btraits": [],
        "ab_traits": [],
       
        "basetraits": [
            "Mage"
        ],
        "elements": [
            "Fire"
        ],
        "traits": [
            "Virgin",
            "Lolita",
            "Energetic",
            "Not Human",
            "Indifferent",
            "Alien"
        ],
       
        "battle_skills": [
            "FistAttack"
        ],
        "magic_skills": [
            "Fire",
            "Fira"
        ]
    }
]

You can obviously throw elements and special traits (personality, body, boob size) into traits as well. Gender and some other fields are not really needed. In your current code, you for once have "slave" in the "city", I think that I wrote code to straiten that out, but as I've said, we should try to try to make out own JSONs as clear as possible. *Note: I may have omitted one or two fields, can't say for sure, I am testing new fields with Hinata and that is all she had.

===
Anyway... GM sorting code beware! I am coming for you!  :D
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 12:55:36 PM
Yeah, I didn't updated jsons for some time, since there might be even more changes in their structure in the future. Actually, there must be changes, since we'll need a complete control over character location for quests, we have an issue for that.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 01:07:15 PM
Yeah, I didn't updated jsons for some time, since there might be even more changes in their structure in the future. Actually, there must be changes, since we'll need a complete control over character location for quests, we have an issue for that.

(atm I don't remember what this is about)

Gonna dig up the issue and take it out after gifts code is working properly. Some work was done on that last night but just for the interface.

===
Anyway... GM sorting code beware! I am coming for you!  :D

I think I've killed it  ::)


Any thoughts on:

1) badtraits are still really powerful and work only on preferred list. I am thinking that maybe it is a good idea to make bad-traits absolute and leave the location empty instead of just applying them to preference list?

2) I don't know if any of you remember it but we always check for "Curious" trait to place ALL characters with it on priority list, that can throw the system off a bit as well and was Dark's idea (I think). (aka: any girl with a Curious trait gets the same priority as any goodtrait/occupation).

I should have called these questions instead of notes. 2) I've fixed by adding curious_priority field, example in the mages tower.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 02:23:04 PM
Yeap, I'd prefer to have an empty location for bad traits.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 02:30:55 PM
I've fixed by adding curious_priority field, example in the mages tower.
I don't see any changes in the tower json.

I think I've killed it  ::)
Did you tested it?
I personally don't see any changes, still whores and strippers around the tower.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 02:38:29 PM
I tried to add a char for testing via console with hero.add_girl, but got
Quote
   File "game/library/screens/pyt - screens - mainscreen.rpy", line 43, in script call
   $ result = ui.interact()
  File "renpy/common/00console.rpy", line 650, in script
    python in _console:
  File "renpy/common/00console.rpy", line 651, in <module>
    console.interact()
  File "renpy/common/00console.rpy", line 247, in interact
    line = ui.interact()
  File "game/library/screens/pyt - screens - mainscreen.rpy", line 72, in execute
    screen pyt_mainscreen():
  File "game/library/screens/pyt - screens - mainscreen.rpy", line 80, in execute
    frame:
  File "game/library/screens/pyt - screens - mainscreen.rpy", line 93, in execute
    vbox:
  File "game/library/screens/pyt - screens - mainscreen.rpy", line 98, in execute
    textbutton "Girls":
  File "game/library/screens/pyt - screens - mainscreen.rpy", line 98, in keywords
    textbutton "Girls":
  File "game/library/classes - gui logic.rpy", line 173, in __init__
    self.sorted = list(girl for girl in hero.girls if girl.action != "Exploring")
  File "game/library/classes - gui logic.rpy", line 173, in <genexpr>
    self.sorted = list(girl for girl in hero.girls if girl.action != "Exploring")
AttributeError: 'str' object has no attribute 'action'
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 02:49:07 PM
Yeap, I'd prefer to have an empty location for bad traits.

Ok, I'll make them absolute with my next push.

===
I don't see any changes in the tower json.

Code: [Select]
$ gm.enter_location(goodtraits=["Mage"], occupations=["Caster"], curious_priority=False)
===
Did you tested it?
I personally don't see any changes, still whores and strippers around the tower.

Yes... I did. Are you sure that you have any properly setup mages in the game? It seems to be working for me perfectly.

===
I tried to add a char for testing via console with hero.add_girl, but got

Error suggest that you did something like:

Code: [Select]
hero.add_girl("Hinata")
instead of:

Code: [Select]
hero.add_girl(chars["Hinata"])
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 03:05:31 PM
Do class traits work? Or should they at all?

For testing I changed char json, adding "basetraits": "Mage", and then added her to the hero. She is a prostitute.
Another try, I removed occupation and added Mage trait directly. She's a prostitute and doesn't even have a Mage trait at all. That's clearly broken.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 03:15:48 PM
Do class traits work? Or should they at all?

For testing I changed char json, adding "basetraits": "Mage", and then added her to the hero. She is a prostitute.
Another try, I removed occupation and added Mage trait directly. She's a prostitute and doesn't even have a Mage trait at all. That's clearly broken.

Could you please work off the example I've posted in one of the above posts? Or maybe even copy/paste it to other chars you are testing?

Some of the missing fields are still:

"body": "Body Type"
"color": "blue for example" *This is the color of a name when char is talking.
"what_color": "black for example" *This is the color of text when char is talking.

prolly others... I just remembered these ones...
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 03:29:51 PM
Ah, I see what's going on. I was under impression that  "basetraits": "Mage" will work just as "basetraits": ["Mage"] for single value, but it's not.

Yeah, looks like now GM sorting works as intended.

There is another issue though that I noticed while testing. Race traits are not supposed to show names in gui, only icon. Some of them have long names, like Demonic Creature. And there is not enough space for such long names.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 03:39:38 PM
There is another issue though that I noticed while testing. Race traits are not supposed to show names in gui, only icon. Some of them have long names, like Demonic Creature. And there is not enough space for such long names.

Oki, I'll remove name from race and personality, maybe add them to tooltip.

Races do not have descriptions btw..
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 03:42:14 PM
Yup, because too different chars can use them. I simply don't know how to write them to always be suitable for everyone no matter the actual race.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2015, 03:59:57 PM
(atm I don't remember what this is about)
I mean issue 59, with my comment at it.
For quest cases we probably need to control chars location freely, maybe instead of "city" it could be "Dark_Forest" to specify where exactly you can find her no matter the traits.
And there should be "None" location too if the character should be unavailable for GMs except quest cases.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 05:24:55 PM
I mean issue 59, with my comment at it.
For quest cases we probably need to control chars location freely, maybe instead of "city" it could be "Dark_Forest" to specify where exactly you can find her no matter the traits.
And there should be "None" location too if the character should be unavailable for GMs except quest cases.

Ok, I conciser the issue fixed.

If a character has a location set as one of the location labels (aka: "mages_tower" for example), they will have an absolute priority over anything.

If chars are not to appear in any location, location can be set as "unspecified" but in fact, any string except "city", "girl_meets_quest" or "slave_market" and all the valid location labels will do. So if you want to make it perfectly clear, you can name it "excluded_from_the_game_until_an_event" or something along those lines.

Rest of the requests in the issue are to be handled through events, ask me how if you can't figure out some specific case.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 09:21:58 PM
Oki, I've cleared a lot of issues tonight, there are too many to list properly, mostly those were code improvements/enhancements.

If something is not understood from reading github code/comments, ask here.

In order to get any specific image:

Code: [Select]
char.show("0000-bs.png", resize=(300, 300))
One cool thing that also came out of this update is that we now store just the image names... This seems to be working well so far. So we've removed 20k of "content/chars/Naruto/Hinata" and etc. from database, path to the file is now stored separately and can be accessed through char.path_to_imgfolder property.

===
Gift items have some illegal traits in them so they are crashing the game after I've fixed the code.
Title: Re: General Discussion
Post by: Xela on September 23, 2015, 09:46:34 PM
And the last push for tonight, I've fixed a small but and added a simple way to randomly image dissolve into BE. It looks really cool, especially with some masks.
Title: Re: General Discussion
Post by: DarkTl on September 24, 2015, 12:57:47 AM
So, it's possible to change character location in game freely, yes? Like, chars["Karin"].location = "Dark_Forest".
Title: Re: General Discussion
Post by: Xela on September 24, 2015, 01:01:49 AM
So, it's possible to change character location in game freely, yes? Like, chars["Karin"].location = "Dark_Forest".

Technically yeah, we obviously do not have a "Dark_Forest" location but you can do this for any existing location label.
Title: Re: General Discussion
Post by: DarkTl on September 24, 2015, 02:32:53 AM
I'm not sure what happened, but hidden village location suddenly disappeared from the list at the map.
Title: Re: General Discussion
Post by: Xela on September 24, 2015, 04:11:25 AM
I thoughts you've hidden it as part of the design but there was a typo in code.
Title: Re: General Discussion
Post by: DarkTl on September 24, 2015, 07:04:22 AM
No, I never hided locations so far. I think you mentioned that you did it some time ago to show how it works, but it wasn't hidden all this time, even yesterday, so I figured it's not finished yet.
So how and where do you do it?
Title: Re: General Discussion
Post by: Xela on September 24, 2015, 07:24:30 AM
Didn't we cover it already?

I think you just have to add:

Code: [Select]
"hidden": true
to the maps JSON. Then use:

Code: [Select]
pytfall.maps.unlock("mapname", "locname")
or

Code: [Select]
pytfall.maps.lock("mapname", "locname")
when you wish to hide/show the location.
Title: Re: General Discussion
Post by: DarkTl on September 24, 2015, 07:29:16 AM
I cannot find the commit where you added it.

I just searched via notepad+ for "hidden": true and then for pytfall.maps.lock in all jsons and rpys.
Zero results for pytfall.maps.lock, and "hidden": true we have only for items.
Title: Re: General Discussion
Post by: Xela on September 24, 2015, 07:47:04 AM
I cannot find the commit where you added it.

I just searched via notepad+ for "hidden": true and then for pytfall.maps.lock in all jsons and rpys.
Zero results for pytfall.maps.lock, and "hidden": true we have only for items.

Here:

https://github.com/XelaPy/PyTFall/commit/b05710e95ea828083664d2c333cee0cb001fffd3
https://github.com/XelaPy/PyTFall/issues/57
Title: Re: General Discussion
Post by: DarkTl on September 24, 2015, 08:12:45 AM
Ok, it doesn't change the fact that I don't see where it was locked  :)
Just searched again in rpy, json and just in case xml, there is no maps.lock anywhere.
Could it be because it has "hidden" part in its name or something?
Title: Re: General Discussion
Post by: DarkTl on September 24, 2015, 08:14:53 AM
In maps json we have
Quote
        {
            "id": "hiddenvillage_entrance",
            "name": "Hidden Village"
        },
Nothing about hidden: true again.
Title: Re: General Discussion
Post by: Xela on September 24, 2015, 01:51:12 PM
Does it work? I thought that I've testing this before pushing...
Title: Re: General Discussion
Post by: DarkTl on September 24, 2015, 02:23:19 PM
All I know is until recently it wasn't hidden, I never hided it, and I don't see any traces of hiding it by you in the code  :D
Title: Re: General Discussion
Post by: Xela on September 24, 2015, 10:12:22 PM
I thoughts you've hidden it as part of the design but there was a typo in code.

It wasn't hidden, there was a capital letter in checklist and village does not have onscreen image yet. I noticed that it was missing couple of days ago but figured that you were updating conditions for your quests so I didn't check for errors.

===
I've spent some time updating styles, we had loads of dead ones and many clones. I think that we still have the grey button cloned needlessly but I am too sleepy to check that...
Title: Re: General Discussion
Post by: DarkTl on September 25, 2015, 02:23:13 AM
Yeah, and removing that capital letter also broke village screens and all events there, so I had to fix all that this morning  :D
I thought it was intentional capital letter.
Title: Re: General Discussion
Post by: Xela on September 25, 2015, 02:54:11 AM
Yeah, and removing that capital letter also broke village screens and all events there, so I had to fix all that this morning  :D
I thought it was intentional capital letter.

Damn...

I would never have deviated from lowercase letters for locations, we do not have a single loc with a cap in it except for that one, was mass renaming not possible? It was perfectly possible to keep it and change JSON instead, we would have ended up with unconventional location name but it's not that big of a deal.
Title: Re: General Discussion
Post by: DarkTl on September 25, 2015, 03:10:16 AM
There also was an issue with GMs in new locations. Currently GMs system that I copied from other locations expects background picture name = location label name, so I had to rename pictures.
Title: Re: General Discussion
Post by: DarkTl on September 25, 2015, 06:55:18 AM
I think we will need to handle base traits for rchars a bit differently than other stuff. If we'll use our usual "healer:30 mage:30 warrior:30", there will be a huge disbalance in classes. Since a char can only have 2 base traits, those possible traits that go after first two traits in rchar json will be much rarer than the first two.
And it also will lead to very high chance of double base traits, with the chance to have one single base trait close to 0.

I suppose it should be something like our rts function for GMs that selects a random value independently from others, no matter their order. And there probably should be either hardcoded or tunable chance of having only 1 base trait.
Title: Re: General Discussion
Post by: Xela on September 25, 2015, 03:41:25 PM
I doubt that it's gonna be that simple. I'll let you know when I get to world mech review.
Title: Re: General Discussion
Post by: DarkTl on September 26, 2015, 05:44:46 AM
Thanks to git ability to see edits in any files, not just text ones, I was able to delete all third party tags from our sound/music files without replacing them.
Title: Re: General Discussion
Post by: Xela on September 26, 2015, 07:56:47 AM
Thanks to git ability to see edits in any files, not just text ones, I was able to delete all third party tags from our sound/music files without replacing them.

What does it mean? Can't say that I like the damn guitar sound you've added :(
Title: Re: General Discussion
Post by: DarkTl on September 26, 2015, 11:17:51 AM
It means removing all traces of copyright, even hashsum. All modern audio players and even windows itself can show tags and images included in music files. But now they are removed.

I mostly added new music for the village, and I didn't know where to put that guitar so I just added it to the main screen. You can rename it if you don't like it, I don't want to delete it since it might be useful in the future.
Title: Re: General Discussion
Post by: DarkTl on September 26, 2015, 12:37:42 PM
Xela, you do know that gui is broken, right? Player's girls are unavailable.
Quote
While running game code:
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 12, in script
    $ result = ui.interact()
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 12, in <module>
    $ result = ui.interact()
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 141, in execute
    screen pyt_girl_profile():
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 155, in execute
    if girls:
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 213, in execute
    frame:
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 219, in execute
    has vbox
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 339, in execute
    vbox:
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 344, in execute
    if stats_display == "main":
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 379, in execute
    fixed:
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 393, in execute
    $ img = ProportionalScale(trait.icon, 100, 100)
  File "game/library/screens/pyt - screens - girlprofile.rpy", line 393, in <module>
    $ img = ProportionalScale(trait.icon, 100, 100)
AttributeError: 'unicode' object has no attribute 'icon'
Title: Re: General Discussion
Post by: Xela on September 26, 2015, 02:39:17 PM
Works for me... try getting rid of rpyc files.
Title: Re: General Discussion
Post by: DarkTl on September 26, 2015, 03:05:47 PM
Of course I tried it. Clarification: you need to click on portrait of any random character in the building.
Title: Re: General Discussion
Post by: Xela on September 26, 2015, 03:14:18 PM
Of course I tried it. Clarification: you need to click on portrait of any random character in the building.

What building? If you are talking about the girls list, it is working for me... maybe I've unknowingly fixed it, I recall messing with the stuff that gives you the error but I've pushed like 9 or 10 times since :(

I'll try to push tonight, I've been working on something really complicated for equipment screen...
Title: Re: General Discussion
Post by: DarkTl on September 26, 2015, 03:20:39 PM
Yeah, I mean the case when you click on char portrait to get access to her personal screen with girl control, equipment, etc. It works for unique chars, so I suppose something is wrong with reading stuff from random chars data files.
Title: Re: General Discussion
Post by: DarkTl on September 26, 2015, 03:31:59 PM
Anyway, for the last few days I finished another random char, but I cannot test her properly right now because of the error.

And Janmaba made for us final fantasy 13 pack, though I want to polish it a bit uploading.
Title: Re: General Discussion
Post by: Xela on September 26, 2015, 04:44:13 PM
Ok, I'll try to stay up late tonight to finish applied items effects predictions... and push around 4/5 am regardless if that is ready or not.
Title: Re: General Discussion
Post by: DarkTl on September 27, 2015, 03:24:46 AM
Still an error with rchar. Maybe you should force recompile to have it?
Title: Re: General Discussion
Post by: Xela on September 27, 2015, 04:59:09 AM
No... still nothing. It's prolly your testing file. There is a minor error in eq screen but it's completely unrelated, I gtg now and will fix it tonight.

Turns out that I gtg later :)

I'll attach my testing file to this post and fix the eq screen thing.
Title: Re: General Discussion
Post by: DarkTl on September 27, 2015, 05:57:10 AM
I already have the link to your testing file in dropbox, so it's not the cause.

I tried to remove "race": "Human" from one of rchar jsons, and the game stopped crashing with that rchar.
Title: Re: General Discussion
Post by: DarkTl on September 27, 2015, 06:01:38 AM
To clarify, there is race traits, and there is race name. They are completely unrelated.
So as long as I remove race field from rchar json, that rchar stops crashing. But race field is a totally legit field, it contains name of the race (as a string). So I suppose you have different, maybe outdated jsons for rchars.
Title: Re: General Discussion
Post by: Xela on September 27, 2015, 06:09:41 AM
I already have the link to your testing file in dropbox, so it's not the cause.

I tried to remove "race": "Human" from one of rchar jsons, and the game stopped crashing with that rchar.

No idea...

Code: [Select]
"race": "Sylph",
"base_race": "Half-Elf",

I have stuff like this in several JSONs, this isn't even supposed to work since neither is a valid trait for the game. I have not looked at rchars in a while, they seem to be working ok for testing so there wasn't any need.

Edit:
Looks like all rchars in my game have "Unknown" as their race, that's why it's working. I don't really know why my checks fall back to it and yours do not. But nothing crashes the game at my end.
Title: Re: General Discussion
Post by: DarkTl on September 27, 2015, 06:17:54 AM
Before instead of base_race I used Human trait with 100% probability, and it worked for rchars, though crashed the game if I used race field too.

I just tried
Quote
    "race": "Human",
    "base_race": "Human",
for rchar. She has Unknown race with these strings instead of Human, but no crashes.

I conclude that reading data from rchars jsons is broken atm.

BTW I don't see race string anywhere in gui, even for unique characters. Obviously, we should show race string somewhere.
Title: Re: General Discussion
Post by: DarkTl on September 27, 2015, 06:35:31 AM
Actually, I recall how I tried to use base_race field and it didn't worked, unlike giving race trait directly, so I figured that I should use traits instead of fields for rchars.
Title: Re: General Discussion
Post by: Xela on September 27, 2015, 07:11:16 AM
I'll fix it when the time comes. base_race = Trait, race=Some String, right?
Title: Re: General Discussion
Post by: DarkTl on September 27, 2015, 08:37:51 AM
I created issues for that stuff.
Title: Re: General Discussion
Post by: Xela on September 27, 2015, 10:46:23 PM
Oki.

This one is yours: https://github.com/XelaPy/PyTFall/issues/109
Title: Re: General Discussion
Post by: DarkTl on September 28, 2015, 12:41:43 AM
My bad. I figured battle stats work like skills, ie with no limits.
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 01:07:51 AM
My bad. I figured battle stats work like skills, ie with no limits.

That is the main purpose of base traits, they are the only thing in the game that can change lvl_max except for scripted events.

Edit: If I knew you could just change -5 to -2, I'd done it myself, I thought more redesigning would be required for cases like Warrior/Mage/Battle Mage and etc. :)
Title: Re: General Discussion
Post by: DarkTl on September 28, 2015, 01:32:19 AM
Do you think there will be new fields in chars data files before the next release?
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 02:56:47 AM
In unique chars, it's not likely but I can't say that with certainty.

===
Did you check your latest traits designs? Large Boobs and above are like a damnation for forcing agility to 0... until much higher levels. That doesn't seem right.

I've forced the minimum max levels to 10 to see what's that is gonna feel like and fixed an important bug where stats were forced down by negative maximums, out system has gotten really, really complicated :(

I've asked to try not to make traits that push max below 0 but that seems too difficult to avoid even with one trait, forget possible combinations of several, hopefully this new update will work around all of it.

===
Still, -100 max agility penalty for Abnormally Large Boobs is freaking insane, at best it should be something like -15...
Title: Re: General Discussion
Post by: DarkTl on September 28, 2015, 03:01:51 AM
Well, if you imagine large boobs (not just big ones), it's a perfectly legit thing for them to destroy agility.

If I'll use mod field, it could be easily offsetted by training. That's not how it should work, boobs are still there, they should prevent characters from having the same agility as flat chars no matter how hard they train, unless there is a major gap in levels.
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 03:29:52 AM
Depends on the source... but still, -100 mod is a powerful tool against agility growing too fast, -100 max is something that f*cks the character up needlessly. I would not call any of the chars like Tsunade/Rangiku particularly slow and most definitely not describe them as having their agility destroyed.

It should not be that extreme, I would have not added any kind of penalty at all and maybe added a separate trait that is blocked by smaller boob sizes.
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 03:32:02 AM
If I'll use mod field, it could be easily overcame by training. That's not how it should work, boobs are still there, they should prevent characters from having the same agility as flat chars no matter how hard they train, unless there is a major gap in levels.

I think that you're over-applying rl logic to the game...
Title: Re: General Discussion
Post by: DarkTl on September 28, 2015, 03:35:32 AM
You know, it's very hard for me to imagine -100 mod since it works in percentages every 5 or 10 levels, I don't even remember. I'd rather have mod working by level, ie mod -10 means -10 per level.
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 03:50:36 AM
You know, it's very hard for me to imagine -100 mod since it works in percentages every 5 or 10 levels, I don't even remember. I'd rather have mod working by level, ie mod -10 means -10 per level.

No idea... it should not be too difficult to change, I have not looked at the stats/traits code before today for a long time. Gismo and I just notices frecked up gui bars/characters.

But:

Regardless of what we do, permanent, not occupational traits should no carry any form of extreme effects with them. I recall that we've already discussed it and agreed that these even if these traits are to have effects, those should be mild (like very mild).

You are destroying canon characters by applying RL logic to them, all of them, at once. It will give an off feeling to gameplay and to personal favorites and the worst thing is that there is no f*cking way to remove these traits...

Edit:
For puns and canon chars that suffer from boob size, special trait can be created, maybe even a unique one for that special char. But that should not be game wide, it is a really, really bad idea to try and apply this type of logic to a game.
Title: Re: General Discussion
Post by: DarkTl on September 28, 2015, 04:46:51 AM
This is because we apply all max fields immediately, unlike mod fields. If we'll have a field that will change max with every level (like our base traits do), there won't be need in huge max penalties or bonuses.
I'll create an issue for this.
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 05:08:47 AM
Ok, that should not be too difficult to do.

But still:

Body/Boobs/Personality/Race == No significant mods. These should be markers for in game checks, not deciding traits. Characters are too different and world is too advanced in order to apply rl logic. By the same thought pattern large body types should be stringer than small body types, these concepts are too foreign and incomplete for PyTFall. If such things have to be reflected, other traits must carry them, not the once that are fixed for a char. Occupation can be changed in data file by any player, these traits cannot be changed due to a fixed picture base.
Title: Re: General Discussion
Post by: DarkTl on September 28, 2015, 10:04:08 AM
You do know that currently clicking on any item in inventory at MC personal screen crashes the game, right?
Quote
  File "game/library/items/pyt - screens - chars equipment.rpy", line 77, in script
    python:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 83, in <module>
    result = ui.interact()
  File "game/library/items/pyt - screens - chars equipment.rpy", line 253, in execute
    screen pyt_char_equip():
  File "game/library/items/pyt - screens - chars equipment.rpy", line 449, in execute
    vbox:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 451, in execute
    fixed:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 454, in execute
    vbox:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 474, in execute
    frame:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 485, in execute
    if dummy:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 487, in execute
    vbox:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 492, in execute
    viewport:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 494, in execute
    has vbox
  File "game/library/items/pyt - screens - chars equipment.rpy", line 496, in execute
    python:
  File "game/library/items/pyt - screens - chars equipment.rpy", line 498, in <module>
    for effect in eqtarget.effects:
  File "game/library/characters/classes - characters.rpy", line 1106, in __getattr__
    raise AttributeError(msg % (key, self.__class__.__name__))
AttributeError: 'effects' is neither a gamestat nor an attribute of Player
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 06:39:30 PM
You do know that currently clicking on any item in inventory at MC personal screen crashes the game, right?

No m8, I had no idea. The last bit of the code was fairly complicated and I was just happy that it worked with normal chars :) It never occurred to me to test it with the MC before pushing.

It's just one extra check that I expected to be extended to MC automatically. I'll fix it for now and traits/effects for MC would have to wait their review time. I wanna take it easy and clear a couple of simpler issues tonight.
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 09:50:16 PM
This is because we apply all max fields immediately, unlike mod fields. If we'll have a field that will change max with every level (like our base traits do), there won't be need in huge max penalties or bonuses.
I'll create an issue for this.

I have serious problems with this issue...

1) Basetraits need to be special, adding similar logic to traits makes them less so.

2) Basetraits are supposed to decide most stats effects for the characters, normal traits are supposed to be for checks, behavior, responses and little stats support.

3)
Quote
Currently mod field works in a very strange way, applying 1/10 of it's value every 5 or 10 levels, iirc. This is very confusing without a reason, it's hard to imagine how it will work at a certain level.

The idea is that a lvl 100 character should get a full bonus from the trait, lvl 200 char gets 2x the bonus and etc. What is confusing?

This was not a feature or an update to the system, I've wrote that code to mitigate the effect where traits applied at level 0 maxed out every stat. The idea was not to change the system or for you to update anything at all, old values were perfectly fine, they were simply supposed to apply 100% of the full effect at level 50 and keep working the further you got into the game so this:

Code: [Select]
<trait
id="Abnormally Large Boobs"
desc="Those things are like miniature moons..."
temp='0'>

<mod charisma = '20' />
<max charisma = '20' />
<min charisma = '20' />
<mod agility = '-20' />
<max agility = '-20' />
<mod strip = '-15' />
<max strip = '20' />

<blocks name = 'Big Boobs' />
<blocks name = 'Average Boobs' />
<blocks name = 'Small Boobs' />
</trait>

which I considered to be a great trait, was never supposed to become this:

Code: [Select]
[code]    "id": "Abnormally Large Boobs",
    "desc": "One wonders how she keeps her balance. Those things are like miniature moons...",
    "block_traits": ["Big Boobs", "Average Boobs", "Small Boobs"],
    "mod": {"charisma": 30, "agility": -80},
    "min": {"charisma": 10},
    "max": {"charisma": 100, "agility": -80},
    "mod_skills": {"strip": [-0.08, 0, 0.1], "dance": [-0.1, 0, -0.1]},
    "breasts": true
    },
[/code]

which has absolutely insane effects for any none base trait, not mentioning that these kinds of traits could be plainly left without effects at all because ALB do not make characters more charismatic or less agile in a lot of the sources and yet this is one of the traits-types we FORCE upon all character.

Most of your designs were really good in the @ release, but now you're dashing around huge values for items that cost 3 to 5k of Gold and simple traits. I don't know what has happened here :(

===
In any case, at least the mod: {mod_stats: [value, per_level]} idea is a good thing because the per 100 levels thing was a quick workaround. I am reluctant to do the same for max values without further discussion.

I''ll remove "mod" from the logic and replace it with mod_stats.
Title: Re: General Discussion
Post by: Xela on September 28, 2015, 10:42:42 PM
Ok, it should work with my next push, keep in mind that upkeep and disposition are still being applied once on traits application. Don't update traits until we had a chance to brush up upon concepts/fields.

I have left mod in for now.
Title: Re: General Discussion
Post by: DarkTl on September 29, 2015, 01:09:30 AM
The idea is that a lvl 100 character should get a full bonus from the trait, lvl 200 char gets 2x the bonus and etc. What is confusing?
100 lvl is an abstraction, so to speak. We can't say how much time you will need to get it, or how high it will be compared to endgame levels.

which has absolutely insane effects for any none base trait, not mentioning that these kinds of traits could be plainly left without effects at all because ALB do not make characters more charismatic or less agile in a lot of the sources and yet this is one of the traits-types we FORCE upon all character.
It makes them different from each other even without different occupations. +/-20 charisma is nothing at 50 lvl.

Most of your designs were really good in the @ release, but now you're dashing around huge values for items that cost 3 to 5k of Gold and simple traits. I don't know what has happened here
I'm not sure what do you mean by that. Prices were more or less the same all the time.
Title: Re: General Discussion
Post by: DarkTl on September 29, 2015, 01:18:27 AM
Ok, it should work with my next push, keep in mind that upkeep and disposition are still being applied once on traits application. Don't update traits until we
Disposition doesn't work like that. When I tried to test Half-Sister trait a few months ago, it game me an error. I looked at the code and found out that you disabled it in traits because it messes up with GMs somehow. So I had to change the trait, giving it effect that increases disposition changes and works together with other similar effects instead of simple disposition bonus.
Title: Re: General Discussion
Post by: Xela on September 29, 2015, 02:08:37 AM
100 lvl is an abstraction, so to speak. We can't say how much time you will need to get it, or how high it will be compared to endgame levels.

As I've said, it was rigged to reach the bonus value specified in json at level 100, it's not an obstruction, it's a poor workaround. I've already recoded mod_stats system as you've suggested. Just haven't pushed yet, I barely slept last night, there were some serious issues with the dummy I make for getting eq screen effects, I hope that there are now solved, it's also a decent way to look at how items really effect characters.

It makes them different from each other even without different occupations. +/-20 charisma is nothing at 50 lvl.

Yes, it is. It's a minor trait, a combination of +20 to max and +20 to stat is very considerable for it. Otherwise all the hours I've put into making the system sound is f*cked by traits.

I'm not sure what do you mean by that. Prices were more or less the same all the time.

Odd... Well, this needs to be reviewed, it doesn't feel right.

Disposition doesn't work like that. When I tried to test Half-Sister trait a few months ago, it game me an error. I looked at the code and found out that you disabled it in traits because it messes up with GMs somehow. So I had to change the trait, giving it effect that increases disposition changes and works together with other similar effects instead of simple disposition bonus.

No idea, that shouldn't be possible... disposition bonus or penalty should be applied once when the trait is applied and removed under the same rules. I'll need a test case for this to investigate if that isn't true.

===
I've added the Full Race to GUI. It will show only if the full_race is different from the race.

So in JSON data file:

"full_race": "Any String",
"race": "Must be a valid trait id or will default to Unknown"

This works just for the chars atm. I (still) have not pushed.
Title: Re: General Discussion
Post by: DarkTl on September 29, 2015, 02:41:35 AM
classes - characters.rpy:
Quote
#We prevent disposition from being changed by the traits or it will mess with girl_meets:
::)
Title: Re: General Discussion
Post by: DarkTl on September 29, 2015, 02:47:38 AM
Odd... Well, this needs to be reviewed, it doesn't feel right.
It's a simple progression. If a short sword that gives + 20 max attack costs 150G, then Angelic Blade which gives + 150 max attack should be about 8000G.
However, it costs 2500, so there is a huge discount already.

Yes, it is. It's a minor trait, a combination of +20 to max and +20 to stat is very considerable for it. Otherwise all the hours I've put into making the system sound is f*cked by traits.
If we talking about minor traits in general, it's true. If we talking about boobs traits in h-game, they are not minor.

If we'll have, let's say, +2 to max charisma and -2 to max agility every 10 levels for ALBoobs, it won't break anything but will be different from -2 max charisma +2 max agility for small ones.

As I've said, it was rigged to reach the bonus value specified in json at level 100, it's not an obstruction, it's a poor workaround.
You asked me how it's confusing. It's confusing when you try to figure out values that are supposed to be at lvl 100. You never tried to balance or create traits, so you don't know about it.
Title: Re: General Discussion
Post by: Xela on September 29, 2015, 03:10:32 AM
classes - characters.rpy: ::)

No idea:

Code: [Select]
                # We prevent disposition from being changed by the traits or it will mess with girl_meets:
                if key == "disposition":
                    stats.disposition += trait.mod_stats[key][0]

This does even mean anything, I'd expect this to crash the game with a trait that has disposition while it looks like disposition should be applied.

I'll allow it for now until I figure out how and why this messed with girlsmeets.
Title: Re: General Discussion
Post by: Xela on September 29, 2015, 03:41:43 AM
It's a simple progression. If a short sword that gives + 20 max attack costs 150G, then Angelic Blade which gives + 150 max attack should be about 8000G.
However, it costs 2500, so there is a huge discount already.

I hate it in items... feels like a very high quality sword should be 10 - 20x more expensive. Really HighQ sword 50x more expensive or something like that. We have items that ravage stats and don't cost much at all. Maybe I just lost track of Gold value in the game...

If we talking about minor traits in general, it's true. If we talking about boobs traits in h-game, they are not minor.

If we'll have, let's say, +2 to max charisma and -2 to max agility every 10 levels for ALBoobs, it won't break anything but will be different from -2 max charisma +2 max agility for small ones.

They should be in stats sense, it gotta be an event thing, I am telling you that these mods to charisma and agility are bogus, especially at levels that high.

Which is exactly the same as your traits value in @!

+/-20 at level 100 is EXACTLY what you should have gotten... We cannot allow per level max stat mods, they will obliterate all the work that I've done on the system (combination of 1 or 2 traits on top of the base traits can easily prevent a character from even going above 0 even at level 1000) and would be very difficult to balance. And I am also very afraid that they will be abused.

I've added max to traits and items not to be abused like they are now, couple of traits and an item and max level is not even useful anymore, only lvl_max remains in play.

You asked me how it's confusing. It's confusing when you try to figure out values that are supposed to be at lvl 100. You never tried to balance or create traits, so you don't know about it.

Set a girl to a level of 100 to find out, assume that she'll a bit more max and relevant stats closer to max due to work/training.
Title: Re: General Discussion
Post by: DarkTl on September 29, 2015, 04:36:03 AM
I hate it in items... feels like a very high quality sword should be 10 - 20x more expensive. Really HighQ sword 50x more expensive or something like that. We have items that ravage stats and don't cost much at all. Maybe I just lost track of Gold value in the game...
You should give me actual examples, I cannot justify the cost of an abstract item.
If you want to, you could calculate prices for items automatically based on their characteristics and rarity.

+/-20 at level 100 is EXACTLY what you should have gotten
There will be more levels after 100.

And it will hurt low level characters a lot in the very beginning, just like you feared. Less than -80, but still.
But if it will be applied gradually, it won't hurt them so much.

Set a girl to a level of 100 to find out, assume that she'll a bit more max and relevant stats closer to max due to work/training.
That's additional work for me  :D
With mod fields working as I described I don't need that because everything will be clear as it is.
Title: Re: General Discussion
Post by: Xela on September 29, 2015, 05:19:45 AM
You should give me actual examples, I cannot justify the cost of an abstract item.

Actually, while digging for examples I found that there is a good consistency in prices  ??? I guess that purchasing power of Gold in the game got messed up in my head somewhere.

If you want to, you could calculate prices for items automatically based on their characteristics and rarity.
There will be more levels after 100.

That'll prolly make stuff worse.

And it will hurt low level characters a lot in the very beginning, just like you feared. Less than -80, but still.
But if it will be applied gradually, it won't hurt them so much.

I agree, but not for max values, that's why I've added stats_max functionality you've proposed. They already go up every level just when leveling up, are supposed to be guided by base traits, many items offer huge bonuses to them, PLEASE lets not add normal traits to the mix, mild and direct on application increases will do just fine...

Just adding to a stat ever so often on level-up is already HUGE advantage, normal level addons and items advantages and the basetraits should be more than enough to provide good max range for those increases and even leave room for training.

That's additional work for me  :D
With mod fields working as I described I don't need that because everything will be clear as it is.

Really? So you will be able to tell how a combination of 1 or 2 basetraits with leveling up and with the combination of x amount of normal traits and with the possible items (which they will often auto-buy + auto-equip), training, events and game progression will effect the character at x level?   :o

That sounds bogus to me and I know that system from inside out...

===
I am going to take a look at items issues tonight, since Gismo has finished with the designs and I have already took out at least 3 difficult "sub"issues while adding functionality to his GUI.
Title: Re: General Discussion
Post by: DarkTl on September 29, 2015, 06:34:54 AM
Really? So you will be able to tell how a combination of 1 or 2 basetraits with leveling up and with the combination of x amount of normal traits and with the possible items (which they will often auto-buy + auto-equip), training, events and game progression will effect the character at x level?   :o
Yup. Since I don't have to use 100 level, I could use 10-20 levels instead, and these calculations are more simple. All our bonuses fit into first 10-20 levels, we don't have stuff that begins to work at lvl 100 or something. At least yet.

In fact, with new mod field it will be rather simple to avoid too high stats because we can apply them little by little.

Of course if you give a character all existing traits that don't block each other (I think it's an impossible scenario for actually existing characters) and all top items with the chance of obtaining 1%, stats will be maxed out for the first 500 levels or so.

That reminds me, can I use the chance less than 1? In many games really powerful items have really low chances of dropping.

Just adding to a stat ever so often on level-up is already HUGE advantage, normal level addons and items advantages and the basetraits should be more than enough to provide good max range for those increases and even leave room for training.
I don't see the difference between +20 max in the beginning and +1 max per level for first 20 levels for example. We already allow all traits to increase max values. How making it gradual could make things worse? It's the same thing in the end, but better balanced for low levels. If it could break the game, usual max fields could do it as well, and we should get rid of them.

I'm preparing existing packs for the release meanwhile, without jsons yet. I got rid of doubles already, now I check if there are unclean sprites and images and clean them if needed/when possible. It won't take long, about 2-3 days.
Title: Re: General Discussion
Post by: Xela on September 29, 2015, 07:04:17 AM
That reminds me, can I use the chance less than 1? In many games really powerful items have really low chances of dropping.

Yes, that should work, I think that it just runs the dice and that can take floats.

I don't see the difference between +20 max in the beginning and +1 max per level for first 20 levels for example. We already allow all traits to increase max values. How making it gradual could make things worse? It's the same thing in the end, but better balanced for low levels. If it could break the game, usual max fields could do it as well, and we should get rid of them.

I don't follow... how are you planning to stop max going up after first 20 levels? Or is it another thing I have to code in? Usual max fields are meant to have moderate effects, per level effects are a lot more difficult to control.
Title: Re: General Discussion
Post by: DarkTl on September 29, 2015, 02:00:39 PM
Nah, I'm tired of this dispute. I'll do it like you proposed.

So what about disposition changing via traits? Currently it successfully crashes the game.
I vaguely recall how you mentioned something about possible issues with events if we'll use disposition on traits, because if an event requires 100 disposition and trait gives + 200, there is a high chance that it will never be triggered, or at least will be triggered not when you expected it to.
Title: Re: General Discussion
Post by: DarkTl on September 29, 2015, 02:08:33 PM
About gifts and their issue, currently they are way too effective, assuming that you know correct gifts. I propose to get rid of all disposition values and dismod field, and use hardcoded bonuses and penalties to disposition.
And use fields like goodtrait, badtrait, goodoccupation, badoccupation.
Other fields like cbloack will remain.

If there are more good traits than bad ones, it will be a perfect gift, and a bad one otherwise. If they are equal or close to it, it will be an ok gift.
Title: Re: General Discussion
Post by: Xela on September 29, 2015, 11:10:49 PM
Nah, I'm tired of this dispute. I'll do it like you proposed.

So what about disposition changing via traits? Currently it successfully crashes the game.
I vaguely recall how you mentioned something about possible issues with events if we'll use disposition on traits, because if an event requires 100 disposition and trait gives + 200, there is a high chance that it will never be triggered, or at least will be triggered not when you expected it to.

I think that I am starting to remember, it weren't the events. Interactions would have at some point to be bound to a counter of some kind and conditioned of those counters and disposition. But we can work around that if we assume that disposition can be increased outside of interaction, which it already can be... Maybe I had something else in mind but I can't think of anything atm.

One thing is that we need to make sure these traits can be added/removed by equippables, that will mess up the game a little bit.

About gifts and their issue, currently they are way too effective, assuming that you know correct gifts. I propose to get rid of all disposition values and dismod field, and use hardcoded bonuses and penalties to disposition.
And use fields like goodtrait, badtrait, goodoccupation, badoccupation.
Other fields like cbloack will remain.

If there are more good traits than bad ones, it will be a perfect gift, and a bad one otherwise. If they are equal or close to it, it will be an ok gift.

Equal? Wouldn't that be rare with so many traits in the game? It doesn't sound as good as our current system.

I think that I could hardcode maximum bonus values that gifts can offer, if the resulting bonus is above, it will be capped. Also, a bit more difficult thing to do, but we could add counters, making gifts less effective or even undesirable but I am not sure if we should do that for the next release.
Title: Re: General Discussion
Post by: DarkTl on September 30, 2015, 01:06:47 AM
Equal? Wouldn't that be rare with so many traits in the game? It doesn't sound as good as our current system.
I'm not sure either way how to decide if a gift will be good or bad. I suppose we could make it bad if there are no good traits, but there also should be a difference between good and perfect ones.
Title: Re: General Discussion
Post by: DarkTl on September 30, 2015, 03:15:13 AM
At some point I had an idea to use generalizations. For example, there are traits that like "cute" gifts, and there are "cute" gifts.
So if most of character traits prefer "cute" gifts, it become her favorite type.

Such system is especially useful for saving time when you create new gifts or traits. You don't need to update everything.
Title: Re: General Discussion
Post by: Xela on September 30, 2015, 04:20:20 AM
Updates will be required as the game advances... no way around that. I like our old system, it worked well enough except for the too large bonuses which we can cap. If you have another system in mind, let hear a concrete proposal and I'll code it in, whole code for the gifts analysis is just 20 - 30 lines if I recall correctly so it's not a big loss either way.

I don't think gifts have bad/good occupations but it can be arranged with extra 8 - 12 lines.
Title: Re: General Discussion
Post by: DarkTl on September 30, 2015, 04:49:38 AM
We had a field for our old occupations, now it has to be changed to general occupations field (like SIW).

Iirc, currently the gift is normal if there are no good or bad traits, and in this case it uses dismod field. If there is one or more good or bad traits, then the game calculates the outcome based on those good/bad traits disposition values, summarizing them.
But I don't remember what happens afterwards. Does it summarize the result of traits values with dismod or not?
Title: Re: General Discussion
Post by: Xela on September 30, 2015, 05:07:37 AM
By the looks of the code, it doesn't have bad/good, it just has the traits and occupations which you can set to positive or negative values. Dismod is only used if a total value from negative and positive traits and occs is 0 or there were no changes.
Title: Re: General Discussion
Post by: DarkTl on September 30, 2015, 05:29:25 AM
We have 3 outcomes in terms of dialogue lines. I'm not sure it the game uses them right now, but it supposed to.
Title: Re: General Discussion
Post by: Xela on September 30, 2015, 06:20:31 AM
We have 3 outcomes in terms of dialogue lines. I'm not sure it the game uses them right now, but it supposed to.

Yeap, code is really short and straight-forward, you can take a look for yourself:

Code: [Select]
        elif result[0] == "gift":
            python:
                # Show menu:
                if result[1] is True:
                    gm.show_menu = False
                    gm.show_menu_givegift = True
               
                # Hide menu:
                elif result[1] is None:
                    gm.show_menu = True
                    gm.show_menu_givegift = False
           
                # Give gift:
                else:
                    item = result[1]
                    dismod = 0
                   
                    if hasattr(item, "traits"):
                        for t in item.traits:
                            if traits[t] in char.traits:
                                dismod += item.traits[t]
                         
                    if hasattr(item, "occupations"):
                        for occ in item.occupations:
                            if char.occupations.intersection([occ]):
                                dismod += item.occupations[occ]
                     
                    if not dismod:
                        dismod = item.dismod
                     
                    hero.inventory.remove(item)
                    char.disposition += dismod
                    setattr(gm, "show_menu", True)
                    setattr(gm, "show_menu_givegift", False)
                     
                    if dismod < 0:
                        gm.jump("badgift")
                    elif dismod < 50:
                        gm.jump("goodgift")
                    else:
                        gm.jump("perfectgift")
Title: Re: General Discussion
Post by: Xela on September 30, 2015, 09:01:20 AM
I've cleared a bunch of items issues, slots and remaining refactoring are still on TODO list but it now should work (for the most part).

I've decided to keep sell/transfer/use+equip rules as they are, "quest" is still a slot to hold the dummy items required for quests, I've decided not to make that an extra property as suggested but instead I've added new fields:

sellable: true/false
usable: true/false
transferable: true/false

to any item to override normal behavior so now any item can be made with special rules and appropriate description. I still have not checked if logic in the transfer screen needs updating, that will be a part of the refactoring.
Title: Re: General Discussion
Post by: DarkTl on September 30, 2015, 10:57:45 AM
I'm not sure that we'll have time to use these fields before the next release, that's why it was marked as a long time  :)

Packs refreshing goes fast, I finished and uploaded all unique ones except Naruto today. Sprites are more clean, no (or at very least much less) doubles, some low quality pics removes, a few dozens good pics added.

That's basically packs release, nothing more can be added or improved atm, at least not by me.
Title: Re: General Discussion
Post by: DarkTl on October 01, 2015, 12:20:55 PM
Random ones are done too. I really hope there won't be need to touch those packs again, and I can focus instead on new content of any kind.
Naruto pack remains, since I need to add there some pics I found for last few months.
Just make sure you delete old packs first, not just copy new ones. Otherwise some old pics will remain.

The last pack will not take much time, so I will rebalance traits too tomorrow. I still have doubts about gifts system though.
Title: Re: General Discussion
Post by: DarkTl on October 02, 2015, 04:18:19 AM
Alright, so how the new mod field should look in jsons? You never gave me an example.
Title: Re: General Discussion
Post by: Xela on October 02, 2015, 06:48:01 AM
Alright, so how the new mod field should look in jsons? You never gave me an example.

As you've described... I'll try to take a look and create a JSON with all possible fields tonight if time permits.
Title: Re: General Discussion
Post by: DarkTl on October 02, 2015, 06:54:37 AM
What are you gonna do with the old mod field?
And what should we do with classes traits? There are init_mod fields, do they work like mod, I mean gradually?

Should I use the new mod field for classes?
Title: Re: General Discussion
Post by: DarkTl on October 02, 2015, 10:57:56 AM
Alright, let's clarify some stuff, in case if something has changed.

- I need to know lvl_max for all stats at lvl 1. Including health and mp. We don't have it in gui, and I have no idea where to look in the code.
- Are you sure it's a good idea to not increase at all mp with level up unless there is a mage class?
- Luck is still from -50 to 50?
- Vitality max can be changed by traits without issues in the game, right? I hope so, at least. Some of traits do it, assuming that it will make character more or less enduring.
If so, I want to now its level_max (if it exists).
Title: Re: General Discussion
Post by: Xela on October 03, 2015, 09:01:01 AM
What are you gonna do with the old mod field?

Get rid of it.

And what should we do with classes traits? There are init_mod fields, do they work like mod, I mean gradually?

No, stats with init are applied once on character creation. Only init_skills matter on leveling up.

Should I use the new mod field for classes?

Yes, use it as you see fit.
Title: Re: General Discussion
Post by: Xela on October 03, 2015, 09:07:45 AM
- I need to know lvl_max for all stats at lvl 1. Including health and mp. We don't have it in gui, and I have no idea where to look in the code.

Code: [Select]
            stats = {
                'charisma': [0, 0, 100, 60],
                'libido': [0, 0, 100, 100],
                'constitution': [0, 0, 60, 40],
                'joy': [0, 0, 100, 200],
                'character': [0, 0, 100, 60],
                'reputation': [0, 0, 100, 100],
                'health': [100, 0, 100, 200],
                'fame': [0, 0, 100, 60],
                'mood': [0, 0, 1000, 1000],
                'disposition': [0, -1000, 1000, 1000],
                'vitality': [300, 0, 300, 500],
                'intelligence': [0, 0, 100, 60],

                'luck': [0, -50, 50, 50],

                'attack': [0, 0, 60, 40],
                'magic': [0, 0, 40, 30],
                'defence': [0, 0, 50, 40],
                'agility': [0, 0, 35, 25],
                'mp': [0, 0, 40, 30]
            }

Last value is the lvl_max. It is further modified by the class traits.

- Are you sure it's a good idea to not increase at all mp with level up unless there is a mage class?

There are being increased (or at least they should) just like all other stats. Mages just get far greater bonuses and warriors get penalties to set them apart.

- Luck is still from -50 to 50?

Yes.

- Vitality max can be changed by traits without issues in the game, right? I hope so, at least. Some of traits do it, assuming that it will make character more or less enduring.

Yes... but not with class traits I think, vitality is one the FIXED_MAX stats that is not supposed to differ between character significantly.
Title: Re: General Discussion
Post by: DarkTl on October 03, 2015, 10:52:23 AM
The moment I tried to use a line like
Quote
"mod_stats": {"charisma": [-4, 2], "agility": [2, 2]},
I got
Quote
  File "game/script.rpy", line 98, in script
    python:
  File "game/script.rpy", line 104, in <module>
    chars = load_characters("chars", Char)
  File "game/library/functions - loading data.rpy", line 128, in load_characters
    char.apply_trait(traits[trait])
  File "game/library/characters/classes - characters.rpy", line 1904, in apply_trait
    self.traits.apply(trait, truetrait=truetrait)
  File "game/library/characters/classes - characters.rpy", line 218, in apply
    char.stats.apply_traits_mod_on_levelup()
  File "game/library/characters/classes - characters.rpy", line 916, in apply_traits_mod_on_levelup
    if not self.level%trait.mod[key][1]:
KeyError: u'charisma'
Title: Re: General Discussion
Post by: CherryWood on October 03, 2015, 11:13:03 AM
I just noticed that the new tagger doesn't allow to use :deapthroat: without :blowjob: tag.
Is that a rule? I'm sure I used them separately until now so I have to fix it on older packs If that's how it's supposed to be. That's np at all, but are there more required combinations like that?


And may I ask about the plans for SE? I'm a bit confused with the new screen that removed the access to the old content.
Title: Re: General Discussion
Post by: DarkTl on October 03, 2015, 11:29:19 AM
I don't think one can do dt without doing bj of some kind. It's like a subcategory for bj which Xela asked as to add to the system.

I'm afraid the tagger never could write dt without bj, it always checked if there is also bj tag enabled, and if it wasn't, it ignored dt tag. The change in gui logics reflects its normal behavior, making it more obvious.
So you'll have to check if there are pics with missing bj tags. It probably won't take too much time with the help of masks.
Title: Re: General Discussion
Post by: DarkTl on October 03, 2015, 11:31:29 AM
And may I ask about the plans for SE? I'm a bit confused with the new screen that removed the access to the old content.
Yes, we have an awesome gui and concept made by Gismo, but currently it lacks actual logic behind it  :D
When Xela will finish jobs and stuff, he will code new logic for new SE.
Title: Re: General Discussion
Post by: CherryWood on October 03, 2015, 12:43:54 PM
Oki, I needed to reupload some stuff anyway


Yes, we have an awesome gui and concept made by Gismo, but currently it lacks actual logic behind it  :D
When Xela will finish jobs and stuff, he will code new logic for new SE.
Great, I'm definitely interested in making some content for that. Especially if we allow the scripted mini-events to happen and be displayed in text report.


I also think that the gui is great. Only I would maybe propose to add a selectable autosell checkbox for items for convenience?
Title: Re: General Discussion
Post by: Xela on October 03, 2015, 01:15:38 PM
The moment I tried to use a line likeI got

Try it again, this should be fixed with the last update.
Title: Re: General Discussion
Post by: DarkTl on October 03, 2015, 01:58:06 PM
Yes, it works now, thus I was able to test it. I picked a mage with big boobs trait and set her charisma and agility modifications to 0 in json.
And only boobs traits have the new mod field so far. So,

Lvl1: charisma 5 agility 5. Works as intended.
Lvl2: charisma 5 agility 5. Weird. Big boobs have line like "mod_stats": {"charisma": [2, 2], "agility": [-1, 2]}, so it should begin to work already since it's a second level.
Lvl3: charisma 5 agility 5. Looks like it doesn't work...
Lvl4: charisma 7 agility 5. Wtf? Agility is at its minimum, so it's not surprising that it never changed. But why she got +2 to charisma at lvl4? By level 4 she should have charisma 9 already. Mages don't have any penalties to charisma.
Even if you don't count the first level, it should be 7 at lvl3, not 4.

Then I wanted to test agility, but encountered a weird behavior.
Numbers for stats in json are supposed to be percents. If I write agility 50, it means that the character will have 50% of possible agility. So I wrote in json "agility":50 and started testing it.
Lvl 1: charisma 5 agility 12/25. Works as intended, it's about 50% indeed
Lvl 2:charisma 5 agility 20/30. Wtf? It should be 15/30 even if mod_stats doesn't work as intended.
Title: Re: General Discussion
Post by: DarkTl on October 03, 2015, 02:35:32 PM
The more I test, the more confusing it becomes.
I removed all side traits, only race and body ones remained. And removed charisma field from json.
Lvl1: charisma 5/60.
Lvl2: charisma 17/65. 17? I honestly have no idea how to explain it.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 12:11:02 AM
I'll try to figure out what's going on...
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 04:44:48 AM
I don't know m8... I need the exact setups that fail or confuse you, we went to great length to make systems interesting and less linear than before, a lot of thing could be going on, that's why I did not believe you when you said you could work the system easily.

So far all my tests suggest that the system is working as intended, you erratic increases are most likely due to max/lvl_max increases paired with the new traits, I am almost 100% sure of that...
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 05:07:41 AM
Let's see...
I've attached a json I used for testing. It's not exactly written by the rules, but it's probably not the cause. Another file is a bit modified body traits json. I only changed boobs traits there, adding new mod fields instead of old ones and decreased max bonuses.

When I test, I change character level in json and run the game.
So for charisma:
lvl 1: 5/60
lvl 2: 17/65 - why suddenly 17? It makes no sense.
lvl 3: 5/70
lvl 4: 27/75 - wtf?
lvl 5: 7/80 -  :o
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 05:10:53 AM
Thanks, I'll take a look.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 05:15:13 AM
Then I added to char json "charisma": 50, nothing more.
For charisma:
Lvl 1: 30/60 - correct
Lvl 2: 49/65 - ???
Lvl 3: 40/70 - in theory it should be 70/2 + 2 from boobs trait = 37... But let's say it was a bit randomized or something.
Lvl 4: 64/75 - ???
Even levels always look especially weird for some reason. Odd levels are more or less ok, though their logic is a bit vague. But even ones break progression on spot.
 
Title: Re: General Discussion
Post by: Tyrgalon on October 04, 2015, 06:10:04 AM
I read something about a new demo? Got the o.45 alpha version myself, haven´t seen anything more recent around.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 06:15:28 AM
Then I added to char json "charisma": 50, nothing more.
For charisma:
Lvl 1: 30/60 - correct
Lvl 2: 49/65 - ???
Lvl 3: 40/70 - in theory it should be 70/2 + 2 from boobs trait = 37... But let's say it was a bit randomized or something.
Lvl 4: 64/75 - ???
Even levels always look especially weird for some reason. Odd levels are more or less ok, though their logic is a bit vague. But even ones break progression on spot.

How the hell are you testing? Are you just changing the level in data file??? Because that is not the same as leveling up. I'll take a look at the leveling func later but you should just add experience to character, leveling up function is NOT meant to mimic leveling in gameplay, at least not atm.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 06:16:29 AM
I read something about a new demo? Got the o.45 alpha version myself, haven´t seen anything more recent around.

No, there was a video on youtube showing some of the new gui and features but no new releases.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 06:26:42 AM
Is it possible to use clipboard when using console? Ctrl+v doesn't seem to work, and writing long strings every time is very inconvenient.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 06:39:15 AM
Not really, it might be technically possible but that would be fairly hard to code and would require overwriting Ren'Pys base code.

You just need to enter the console in girls profile and write: char.exp += 1000 (or a proper amount)
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 07:13:19 AM
Ok, new test, same conditions, leveling via console from lvl1, no stats fields in json.
Lvl1: charisma 5 agility 0
Lvl2: 5/0 <- WRONG
Lvl3: 5/0
Lvl4: 7/0
It skipped level 2. I believe it doesn't work as intended in the case when there is no stat field in json.
But those fields are optional, it should work without them.

Let's add charisma:50 and agility:50 to json.
Lvl1: 30/12. Perfectly normal.
Lvl2: 32/11. Perfectly normal.
Lvl3: 32/11. Perfectly normal.
Lvl4: 34/10. Perfectly normal.

With charisma:0 and agility:0
Lvl1: charisma 5 agility 0
Lvl2: 7/0
Lvl3: 7/0
Lvl4: 9/0

Further testing might have issues with existing old mod field, so it's useless to continue until I get rid of it. I mean with levels higher than 4. From 1 to 4 level there should be no issues at all.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 08:29:19 AM
Lvl2: 5/0 <- WRONG
It skipped level 2. I believe it doesn't work as intended in the case when there is no stat field in json.

Dark, I cannot investigate every possible scenario for you with a system this complex, if you want to see how barebone system is working, you'll have to create a test file with 0 effect traits and basetraits and work from there but that will not give you a good impression of the system (although there could still be random factors involved 2 char creation and with levels over 50).

The whole idea was to make sure characters are not linear and not the same and that different combinations of traits make them to a point unique. The only thing you should be careful with is not to create traits that can obliterate the whole systems logic/progression.

One point per level or two points per two levels is VERY generous for a non class trait like we've talked about earlier and should only be used for testing.

As to the issue in your post, Big Boobs have this:

Code: [Select]
    {
    "id": "Big Boobs",
    "desc": "This girl really has knockers.",
    "block_traits": ["Abnormally Large Boobs", "Average Boobs", "Small Boobs"],
    "min": {"charisma": 5},

"min": {"charisma": 5} means that a character is not capable of stating with charisma below 5, even if the real stat value and items mod value are both at -100 each. Do note that smallest max at the time that you've tested it was 10, I'll prolly change that back to 0 and push...
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 10:17:46 AM
The only thing I don't understand is leveling system when you set level in json. It gives crazy stats to characters, and not even randomized, just crazy and illogical. Everything else is pretty clear.

I don't understand nevertheless how min charisma 5 that you mentioned prevents the game in the first test from giving +2 to charisma at level 2 as intended, making it 7. By level 4 it should be 9 already, instead it's only 7 for some reason. But once I add "charisma":0 to json, it suddenly works as it should. I suppose you misunderstood me.

In fact, stats fields in json are a very powerful thing, and should be used only when necessarily. So if the game begins to work weird without them, it's a bug.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 11:30:49 AM
The only thing I don't understand is leveling system when you set level in json. It gives crazy stats to characters, and not even randomized, just crazy and illogical. Everything else is pretty clear.

It is not crazy or illogical, it is a normalization routine. If you do some crazy sh1t like:

Let's see...
I've attached a json I used for testing. It's not exactly written by the rules

the game will try to fill in the blanks but after the character was created and leveled up. You need either to create a character by the rules or expect loss of control.

I don't understand nevertheless how min charisma 5 that you mentioned prevents the game in the first test from giving +2 to charisma at level 2 as intended, making it 7. By level 4 it should be 9 already, instead it's only 7 for some reason. But once I add "charisma":0 to json, it suddenly works as it should. I suppose you misunderstood me.

I think we'll need a stat normalization routine for this, I'll try to come up with one. What happens here is a trait that does not change a charisma directly on application application sets a minimum. That results in primary layer of stats ending up below the minimum layer.

In fact, stats fields in json are a very powerful thing, and should be used only when necessarily. So if the game begins to work weird without them, it's a bug.

They are percentages of the maximum possible. Levels ups should work in the same way. We used to have low random values for stats that are not provided in JSONS but you didn't like that, so it was removed.

===
I'll see what I can do for normalization, maybe it's even a sound idea to add it during any stats retrieval...
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 11:51:58 AM
It is not crazy or illogical, it is a normalization routine. If you do some crazy sh1t like:
Stats are completely different for even and odd levels, as I demonstrated before. It's like there are different algorithms for odd and even levels. Charisma at lvl2 is much higher than at lvl3.

What happens here is a trait that does not change a charisma directly on application application sets a minimum. That results in primary layer of stats ending up below the minimum layer.
Are you telling me it's possible to have min charisma 5, while actual charisma is less then 5, thus when you try to increase it, it doesn't change?  ???
That's not how should work in any case, current charisma should always be >= min charisma.

They are percentages of the maximum possible. Levels ups should work in the same way. We used to have low random values for stats that are not provided in JSONS but you didn't like that, so it was removed.
I know all that. I'm not sure why are you telling me that. As I mentioned, with "charima:0" everything works as intended, without charisma field new mod field doesn't give stat at lvl 2. Even if there is a normalization of any kind, it still should not prevent traits logic from working as intended.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 12:01:36 PM
Stats are completely different for even and odd levels, as I demonstrated before. It's like there are different algorithms for odd and even levels. Charisma at lvl2 is much higher than at lvl3.

I need a real example, with a properly setup character so I can explain what is happening in that particular case. I do not however believe that this particular field is broken.

Are you telling me it's possible to have min charisma 5, while actual charisma is less then 5, thus when you try to increase it, it doesn't change?  ???
That's not how should work in any case, current charisma should always be >= min charisma.

It was before, it's should no longer be possible with my last push about 10 mins ago.

I know all that. I'm not sure why are you telling me that. As I mentioned, with "charima:0" everything works as intended, without charisma field new mod field doesn't give stat at lvl 2. Even if there is a normalization of any kind, it still should not prevent traits logic from working as intended.

Sadly, it does. It's the order in which normalization currently takes place... Characters will be normalized only after they are created as the very last thing, that means all of the "must have" traits will be added post percentage bonuses that you get from stats field in characters JSON.

I suggest that you create a real character with as many fields preset as possible and test with it if you want to see the real game application. If you just want to follow the logic, you'll have to create dummy traits for all "must haves" and set them to your testing char (or read the admittedly complicated code even for someone versed in Python).
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 12:51:29 PM
Wait a sec. You wrote recently that
Quote
This can actually modify the amounts by which stats increase of levelups. Be VERY careful with this, at the time that I write this, every level-up increases max by 2 and lvl_max by 5.
But every time I level up character in the game, her charisma, constitution, etc. max levels in gui increase by 5. So you show in gui lvl_max instead of max? Because according to you max should be changed by 2, not 5. Are you sure it's done on purpose? It means you cannot see max, only lvl_max.
Either we should show both, or only max, because lvl_max alone will be super confusing.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 02:02:57 PM
...

Neither is shown all the time, it is a minimum out of the two that is being used. At first LVL_MAX is more limited, it is the only way we prevent low level character from being capable of using the greatest items in the game to their full capacity, as LVL_MAX is preventing MAX bonuses from items to dash out their full effects.

You can torture the game mechanics in such a way that first few levelups give +5 to real max but that is a huge f*ckup in game design and shouldn't happen if traits are designed properly. But even in such case, game will balance itself out soon enough.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 02:25:08 PM
I see. It gives super confusing results when you test traits if you don't know about this feature of gui  :D

Looks like leveling works now as intended, at least at low levels.

But not leveling function when you set level in json. With "charisma":0 and big boobs aka min charisma 5 you still will have 5 charisma at lvl2 and 7 charisma at lvl 4. The same problem as normal leveling used to have before your last push.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 02:28:49 PM
But not leveling function when you set level in json. With "charisma":0 and big boobs aka min charisma 5 you still will have 5 charisma at lvl2 and 7 charisma at lvl 4. The same problem as normal leveling used to have before your last push.

That sounds perfectly normal, what's wrong with it?
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 02:34:10 PM
If you level character with big boobs normally, she will have 7 charisma at level 2 and 9 at level 4, because they give "mod_stats": {"charisma": [2, 2], "agility": [-1, 2]} currently for testing.
But if you level her from json, she will have 5 at level 2 and 7 at level 4, which is impossible in game unless you somehow reduced stats.
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 02:45:06 PM
I can't really see how you can get anything other than 5 if you set "charisma": 0 in stats in chars JSON.

Your level-up error is valid, I need to normalize stats on every traits application... Give me a sec to push another fix...
Title: Re: General Discussion
Post by: Xela on October 04, 2015, 03:05:14 PM
Oki, I am going to get some sleep. My last push should normalize the stats on every trait application. Hopefully, this will fix leveling from JSON issue.

Have a good night.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2015, 03:10:09 PM
Yeah, it fixed all weird behavior, including issues with odd and even levels during level up from json.
Title: Re: General Discussion
Post by: DarkTl on October 05, 2015, 10:03:36 AM
Btw naruto pack was updated too, new version can be downloaded already.

We still have trails of removed libido stat here and there. Except GM - sex.rpy, there libido is an internal stat based on usual stats that determines duration of sex scene.
Title: Re: General Discussion
Post by: DarkTl on October 05, 2015, 12:43:27 PM
Traits were rebalanced, except for classes, I'll push them later. There were some incorrect fields, like old refinement stat or bonus to max upkeep, I fixed them too.

Anyway, I need to know for sure which stats will be useful for specific jobs (skills aside, of course). Classes are too powerful. They should be based on info from your code, not just my imagination.

Also we cannot remove mod field completely right now since it modifies upkeep. One of the options is to replace it with another field exclusively for upkeep.
Title: Re: General Discussion
Post by: Xela on October 06, 2015, 01:41:38 AM
I am thinking about what to do with the jobs (in a sense if they could be made modular). Logic and order is in fairly good shape now, all issues with SimPy also seem to be solved. I just need 5 - 10 hours of uninterrupted work to completely straighten out the system making expanding it with new content easy. For now I'll be taking out smaller issues from Hub/Code, god knows that we have enough of those.

===
We could plainly leave mod field for disposition and upkeep... I'll just rewrite it a bit.
Title: Re: General Discussion
Post by: DarkTl on October 06, 2015, 03:00:16 AM
Quote
classes - jobs.tpy:
        The class that solves whoring jobs.
        @ Abandoned until 1.0 due to complexity of adding new content.
You have plans to do something major with existing jobs past 1.0?

Also, I searched in all jobs rpys for "charisma" and haven't found a single match. You don't use it for whore jobs? Or they are not ready for that yet?
Title: Re: General Discussion
Post by: Xela on October 06, 2015, 03:52:14 AM
You have plans to do something major with existing jobs past 1.0?

Maybe, it's not like it's a different setup or anything like that, Thewlis recoded WhoreJob and turned it in an over-complicated container and a set of classes... I found that too inconvenient to work with so I turned it off, the idea right now is to have a code that is easy to modify and expand. His option may still come useful but only after we know for 100% what jobs are going to be like.

Also, I searched in all jobs rpys for "charisma" and haven't found a single match. You don't use it for whore jobs? Or they are not ready for that yet?

I may make jobs and their checks dynamic, not sure yet but there are over 30 entries for charisma in jobs files, you may have misspelled it when searching.
Title: Re: General Discussion
Post by: DarkTl on October 06, 2015, 04:21:33 AM
Looks like by default anyone can edit wiki on github. You probably need to disable that function in repo settings, I don't think users can add something there, and we have a forum anyway.
Title: Re: General Discussion
Post by: Xela on October 06, 2015, 07:24:07 AM
Oki, now only collaborators should be able to edit it.
Title: Re: General Discussion
Post by: DarkTl on October 06, 2015, 07:44:51 AM
Today I tried to write an article about data files at wiki. I have to say, it's pretty confusing when you write about it, even though I know it first hand.
We probably need character editor, not to make character creation simplier, but to make it less confusing.
Title: Re: General Discussion
Post by: DarkTl on October 06, 2015, 09:25:04 AM
Forgot to say, you need to help with writing that article too. I have no idea what btraits is, and location field's logic is a bit complex, so I'm not sure how to write it. You probably can improve other parts too.
Title: Re: General Discussion
Post by: Xela on October 06, 2015, 12:06:40 PM
Ok, I'll take a look when I can.
Title: Re: General Discussion
Post by: DarkTl on October 06, 2015, 12:42:25 PM
Delphi has built-in module to work with jsons. But I never tried to work with it before (unlike all those modules I used in the tagger), so if I try to write character editor, it might take some time. On the other hand, the game already had a working module to read jsons, so it only needs another module to write them.
Title: Re: General Discussion
Post by: Xela on October 06, 2015, 01:46:41 PM
It reads/writes (Python's json module I mean). You may recall my proof of concept for the tagger in Ren'Py.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2015, 01:49:08 AM
Alright, back to stories. I need to show 3 layers of images at once: background, characters sprites, prison bars (as a big png with bars and transparency between them).
Bars should always be on the top, obviously.
Title: Re: General Discussion
Post by: Xela on October 07, 2015, 02:01:10 AM
Look for :on_layer:, :behind: and general description of layers in Ren'Py, maybe also just the screens. There are advantages/disadvantages to every approach.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2015, 12:53:49 PM
How to change row in MC's team? I see how you can add and remove chars and rename the team, but nothing about rows.
Title: Re: General Discussion
Post by: Xela on October 07, 2015, 01:32:44 PM
You can't for MC, Gismo never added that option, other chars rows can be set in their profiles (Control). We may look into setting the row in the team screen as well.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2015, 02:43:18 PM
I wonder, what will happen if in BE you form identical parties using the same characters (not mobs)? Will it work as usual? Or killing enemy party will kill characters in your team after the battle?
Title: Re: General Discussion
Post by: Xela on October 08, 2015, 01:11:05 AM
identical parties using the same characters (not mobs)

It is not going to work, identical/same is not a useful option since a lot of BE data is bound to characters themselves. Some form of copies would have to be made.
Title: Re: General Discussion
Post by: DarkTl on October 08, 2015, 05:26:12 AM
Finally found a decent blueprint. I'm going to make a small exploration-type event based on simple blueprint and matrix.

Ideally there should be an option to change party members and formation during the event without actual access to MC screen. And not to include any hired character into the team, like usual, but to select only from the characters that you found during this event. Or, generally speaking, to select team from a freely changable pool of characters.
It could be easily but clumsily done via usual menus, when we just ask how the party should be built step by step. But if you can code something better closer to the release, it will look better.
Title: Re: General Discussion
Post by: DarkTl on October 08, 2015, 12:07:02 PM
Why do we have that reload option in the dev mode? What does it do, exactly? I mean R button in the left bottom corner.
Title: Re: General Discussion
Post by: Xela on October 08, 2015, 01:05:22 PM
Reloads the game... it's very useful when developing screens and testing new code. It does the exactly same thing as Shift+R.
Title: Re: General Discussion
Post by: DarkTl on October 08, 2015, 03:01:00 PM
So it does the same as closing and running again the game?
Title: Re: General Discussion
Post by: Xela on October 08, 2015, 03:05:48 PM
So it does the same as closing and running again the game?

Not exactly but close enough.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2015, 04:16:55 AM
For some reason matrix works weird. Old maskes that worked before still work as intended, though coordinates of objects are a bit different from coordinates in jsons.
But when I try to create new coordinates json, matrix objects do not match objects on the screen.

If I have to guess, it has something to do with screen size or resolution. Do you know of any limitations there?
Title: Re: General Discussion
Post by: Xela on October 09, 2015, 04:57:01 AM
If I have to guess, it has something to do with screen size or resolution. Do you know of any limitations there?

From technical point of view, it should work perfectly. Are you sure that the window from which you're drawing coords is at true size/full screen? You can enter Gismos preferences screen and see if Window button is selected, if not, window is not @ true size.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2015, 05:31:21 AM
Yeah, it is at true size accoring to the settings. I even tried to write coordinates in full screen mode, they were different and still didn't match objects.
I tried at two different pcs, still the same. But they both are not my usual pcs though.

So either something was broken at some point, or you need a very specific resolution and screen size. I'll try it at home on my usual pcs later, it will make everything clear.
Title: Re: General Discussion
Post by: Xela on October 09, 2015, 09:42:29 AM
PC shouldn't really matter. There could be something wrong with the code...
Title: Re: General Discussion
Post by: DarkTl on October 09, 2015, 10:19:09 AM
Matrix is a very sensitive thing, I already know that I should always keep default size of window to write correct coordinates, so it's not surprising that it might have issues when the game for example scales down the window.

I tried to write matrix at work, a pc had 1280x1024 resolution, a laptop had 1280x720.
At home I have 1920x1080 for pc and 1360x768 for laptop, and matrix coordinates still work as intended for them. So I suppose big screens and resolutions are must have for making matrix. At least atm.

It's not a problem for players though. Once written correctly, matrix works everywhere. I think  :D
Title: Re: General Discussion
Post by: Xela on October 09, 2015, 11:08:34 AM
I'd expect it to work on any computer and with any window size once it was setup properly. There are also normalization options in newer Ren'Py versions that I haven't looked into yet. It's odd that there are machines that mess up your mapping effort while Ren'Py reports true window size, that shouldn't be possible with sound code.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2015, 11:36:41 AM
I've noticed that coordinates were a bit odd. Currently max x is 1279 and max y is 719, as expected. But at pcs where I couldn't write correct matrix max values were much less, even though the window had default size in theory.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2015, 11:43:03 AM
Actually, it's very simple to emulate on any pc. Just tried to set low resolution, and max matrix coordinates decreasing depending on how low it is. And it effectively kills any attempts to write correct matrix.
Title: Re: General Discussion
Post by: Xela on October 09, 2015, 12:33:45 PM
Ok, but you did name one resolution that was lower than the true size of 1280x720. If the res of your monitor is smaller than that, there could be issues.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2015, 12:52:23 PM
Not exactly. If you have 1280x720 or slightly more, you have to use full screen mode, otherwise it still won't be enough to get true coordinates.
Title: Re: General Discussion
Post by: Xela on October 09, 2015, 01:53:12 PM
You can push the game outside of the screen, it should still report proper coords, but fullscreen/window on large res is definitely more convenient.
Title: Re: General Discussion
Post by: DarkTl on October 10, 2015, 04:59:18 AM
I don't know why you told Pseudo back then that we have enough gifts, we have only 20, and many of them are general, ie cannot be very positive or negative (like rings). It's not nearly enough for the system to work as intended. MPtraits alone require 20-30 different gifts to be interesting and complex enough, and there are other traits too.
Title: Re: General Discussion
Post by: Xela on October 10, 2015, 01:06:53 PM
I thought that tasks given to him were more important, we have a good amount of icons of all kinds to make more gifts (I think).
Title: Re: General Discussion
Post by: DarkTl on October 11, 2015, 11:05:29 AM
Xela, I need a function that organizes random fights using mobs from a list of mobs that you can set somewhere, with mobs levels of course.
It should randomly select how many mobs there will be (from 1 to 3) and which mobs there will be (using the ones from the list).
Title: Re: General Discussion
Post by: Xela on October 11, 2015, 12:04:35 PM
Do we really need functions for things like these? It's one or two extra lines of code in addition to normal combat setup, I can write you example of the code if you like but this is something you should be able to do on your own if you went through the python academy (you never said if you finished that btw.).
Title: Re: General Discussion
Post by: DarkTl on October 11, 2015, 12:27:08 PM
I'm not asking you to write a function, I would prefer an example indeed  :D

I finished the academy. It's not as good as you may think, since we work not with a pure python, but also with renpy.

I have a huge book about Delphi with 1,5 thousands pages that covers most of its aspects. Compare it to academy, where they give a few dozens simple, similar tasks.
Title: Re: General Discussion
Post by: Xela on October 11, 2015, 01:30:38 PM
Well, you know how to create mobs and setup a combat scenario, so the only thing you need is a list and two or three random elements from it:

Code: [Select]
rand_mobs = ["Goblin", "Giraffe", "Slimeball"]
enemy_team = Team(name="Enemy Team")
for i in range(randint(1, 2)):
    mob = build_mob(id=choice(rand_mobs), level=randint(50, 55))
    mob.controller = BE_AI(mob)
    enemy_team.add(mob)

Something like this should work...
Title: Re: General Discussion
Post by: DarkTl on October 11, 2015, 01:47:29 PM
I wanted to quickly use a mob portrait in dialogue without making an npc, and wrote it like
Quote
init
    $ enemy_soldier = Character("Guard", color=white, what_color=white, show_two_window=True, show_side_image="content/npc/mobs/ct1.png")
...
enemy_soldier "Who the hell are you?!"
Surprisingly, the game did not resized his portrait to fit into the portrait window (it's too big for the window), so I had to use  show_side_image=ProportionalScale("content/npc/mobs/ct1.png", 120, 120) instead.
Is it a normal behavior? Shouldn't the game resize them by itself?
Title: Re: General Discussion
Post by: Xela on October 11, 2015, 01:58:47 PM
I wanted to quickly use a mob portrait in dialogue without making an npc, and wrote it likeSurprisingly, the game did not resized his portrait to fit into the portrait window (it's too big for the window), so I had to use  show_side_image=ProportionalScale("content/npc/mobs/ct1.png", 120, 120) instead.
Is it a normal behavior? Shouldn't the game resize them by itself?

That's perfectly normal, we did have automatic re-sizing in the past but that was commented out:

Code: [Select]
    if side_image:
        # We supply this here since it's always the same value for all characters. This can easiely be moved to the declararion of classes.
        # add ProportionalScale(side_image, 120, 120) xalign 0.138 yalign 0.968 #1.0
        add side_image xalign 0.138 yalign 0.968
    else:
        add SideImage() xalign 0.0 yalign 1.0

I don't remember why but there was a reason, most likely we show none-image like displayable as portraits somewhere which will crash the game with the commented out code. It wouldn't be hard to write a transform resize than can resize anything but that's prolly an overkill.
Title: Re: General Discussion
Post by: DarkTl on October 12, 2015, 03:58:59 AM
When I try to run function
Quote
    def storyi_randomfight():
        enemy_team = Team(name="Enemy Team", max_size=3)
        your_team = Team(name="Your Team", max_size=3)
        rand_mobs = ["Infantryman", "Archer", "Soldier"]
        for i in range(randint(1, 3)):
            mob = build_mob(id=choice(rand_mobs), level=randint(1, 2))
            mob.controller = BE_AI(mob)
            enemy_team.add(mob)
        your_team.add(k)
        for member in your_team:
            member.controller = BE_AI(member)
        # your_team.add(hero)
        battle = BE_Core(Image("content/gfx/bg/be/dungeon.jpg"), music="content/sfx/music/be/battle (14).ogg", start_sfx=get_random_image_dissolve(1.5), end_sfx=dissolve)
        battle.teams.append(your_team)
        battle.teams.append(enemy_team)
        battle.start_battle()
        your_team.reset_controller()
        if battle.winner != your_team:
            renpy.jump("game_over")
I get
Quote
  File "game/library/events/StoryI/prison_break.rpy", line 57, in script
    $ storyi_randomfight()
  File "game/library/events/StoryI/prison_break.rpy", line 57, in <module>
    $ storyi_randomfight()
  File "game/library/events/StoryI/prison_break.rpy", line 22, in storyi_randomfight
    battle.start_battle()
  File "game/library/be/core.rpy", line 122, in start_battle
    self.main_loop()
  File "game/library/be/core.rpy", line 71, in main_loop
    ev.controller()
  File "game/library/be/core.rpy", line 777, in __call__
    skills = self.get_skills()
  File "game/library/be/core.rpy", line 807, in get_skills
    t = skill.get_targets(source=self.source)
  File "game/library/be/core.rpy", line 417, in get_targets
    l = battle.get_fighters()
NameError: global name 'battle' is not defined
I know it works via calling a label, but I'd prefer to do it via function.
Title: Re: General Discussion
Post by: DarkTl on October 12, 2015, 06:04:46 AM
Besides, how should I use that "char.show("0000-bs.png", resize=(300, 300))" from fix #77? When I try something like chars["Sakura"].show(...), I have an error.
Title: Re: General Discussion
Post by: Alex250 on October 12, 2015, 10:29:15 AM
It eems the error happens in the start_battle() function of battle and you try to use battle.get_fighters(). Shouldn't you use self.get_fighters() since you are in a member function?
Title: Re: General Discussion
Post by: DarkTl on October 12, 2015, 11:12:03 AM
No idea... I tried everything I could think of, and end up with calling all battle parts outside of the function via call, since it keeps giving various errors about battle (yeah, they are various, depending on how I try it to avoid it, amazing  :D ).
Title: Re: General Discussion
Post by: Xela on October 12, 2015, 01:21:48 PM
When I try to run functionI getI know it works via calling a label, but I'd prefer to do it via function.

BE code has never been reviewed or refactored or cleaned up (not once). Battle is presently expected to be a global variable, so:

Code: [Select]
    def storyi_randomfight():
        enemy_team = Team(name="Enemy Team", max_size=3)
        your_team = Team(name="Your Team", max_size=3)
        rand_mobs = ["Infantryman", "Archer", "Soldier"]
        for i in range(randint(1, 3)):
            mob = build_mob(id=choice(rand_mobs), level=randint(1, 2))
            mob.controller = BE_AI(mob)
            enemy_team.add(mob)
        your_team.add(k)
        for member in your_team:
            member.controller = BE_AI(member)
        # your_team.add(hero)

        # Use this instead:
        store.battle = BE_Core(Image("content/gfx/bg/be/dungeon.jpg"), music="content/sfx/music/be/battle (14).ogg", start_sfx=get_random_image_dissolve(1.5), end_sfx=dissolve)
        battle = store.battle

        battle.teams.append(your_team)
        battle.teams.append(enemy_team)
        battle.start_battle()
        your_team.reset_controller()
        if battle.winner != your_team:
            renpy.jump("game_over")

and it should work. You can also use:

Code: [Select]
global battle
if you like, it should result in exactly the same thing.
Title: Re: General Discussion
Post by: Xela on October 12, 2015, 01:34:23 PM
I'll be in chat for a couple of hours if anything needs to be discussed*
Title: Re: General Discussion
Post by: DarkTl on October 12, 2015, 01:47:08 PM
I slept poorly last night, so I cannot afford to use chat today, it always ends up with staying up late  :D
I just need to clarify for tomorrow how to call a specific image from issue #77. You mentioned it like char.show(image name, size), but stuff like chars["character id"].show(...) doesn't work no matter what.
Title: Re: General Discussion
Post by: Xela on October 12, 2015, 01:49:06 PM
I slept poorly last night, so I cannot afford to use chat today, it always ends up with staying up late  :D
I just need to clarify for tomorrow how to call a specific image from issue #77. You mentioned it like char.show(image name, size), but stuff like chars["character id"].show(...) doesn't work no matter what.

I find that hard to accept... there should be no difference between the two. I'll try it myself tonight, maybe I've messed something up like writing char instead of self in the method.

===
Code: [Select]
char.show("0000-bs.png", resize=(120, 120))
chars["Hinata"].show("0000-bs.png", resize=(120, 120))

Console returns exactly the same thing in both cases (I tried calling Hinata from chars when char was set to a random girl as well). You'll have to be a bit more specific about the error you get.
Title: Re: General Discussion
Post by: DarkTl on October 12, 2015, 02:00:36 PM
I don't get an error, I don't see a picture on the screen.

$ s = chars["Sakura"]
$ s.show("002D-sx-ea-ee-c8-l4-ld-ma-m4-m8-bd-b2-b7.jpg", resize=(800, 600))
Title: Re: General Discussion
Post by: Xela on October 12, 2015, 02:18:01 PM
I slept poorly last night,

No kidding...

This is your code from when you were awake:

Title: Re: General Discussion
Post by: DarkTl on October 12, 2015, 02:29:29 PM
Ah, expression. My bad. Until tomorrow then  :)
Title: Re: General Discussion
Post by: Alex250 on October 12, 2015, 07:35:22 PM
I will not push the .gitignore change we talked about in the other thread. I made that because I was frustrated, it took me a good hour before I could run the game. Once you know how it works the current system is easy and safe to work with while with .gitignore in the folders you risk accidentally deleting it and adding all of your images to the repo if you are not careful.

I am working on restoring Xenoa. I moved her interraction under a label ("find_xenoa") and removed the global flag it was using. It works and I could push it now, but I want to know if it is alright with you to have a new label, I don't know if it can cause issues in other parts of the code.

Also, how do you add a girl to your team? I want to make a girl train with Xenoa. In the alpha there used to be a bug/exploit there, I want to see if I can fix it if it hasn't already.
Title: Re: General Discussion
Post by: Xela on October 13, 2015, 12:21:18 AM
I am working on restoring Xenoa. I moved her interraction under a label ("find_xenoa") and removed the global flag it was using.

1) Her name should be Xeona.

2) I am not sure what you mean by "moved interaction". She is supposed to greet the player once upon entry to the Arena Outside and then she can be found using the Find Xeona button.

It works and I could push it now, but I want to know if it is alright with you to have a new label, I don't know if it can cause issues in other parts of the code.

I don't think that it can cause issues in this code, renaming labels can most definitely cause issues in other places but usually those are game gui screens or Interactions labels and not NPC labels.

Also, how do you add a girl to your team? I want to make a girl train with Xenoa. In the alpha there used to be a bug/exploit there, I want to see if I can fix it if it hasn't already.

Use console or a button in girls profile (it's an icon on the left side of the top stripe).
Title: Re: General Discussion
Post by: Alex250 on October 13, 2015, 02:22:47 AM
1) Her name should be Xeona.

2) I am not sure what you mean by "moved interaction".

1) Thanks

2) I moved the code of her interaction out of the arena_outside label to a new label in the same file. She still acts the same, offers training and arena permit.


I found the button and did my test, the exploit is still there. Making a girl train with Xeona gives her XP based on MC's level and gives stats to MC. Training cost is correctly based on girl's level. I'll try to fix it tomorrow but it might be too complex for me, if it is I will make a Git Issue.

edit: I corrected my label and it broke my save. When I use a saved game which has spoken to Xeona while her interaction was Under the faulty label then speaking to her again makes an error: cannot find label "find_xenoa". Why is this saved? Is it a Renpy feature? Is that what you were warning me about when you said renaming labels caused problems?
I'm just curious, everything still works and the transition from old to new causes no problem.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2015, 10:05:59 AM
In my experience, saves are not a perfectly reliable way to test changes in the code, they don't take into account many things. Usually it's better to start a new game and, if needed, run the label you want to test from the console.

Also, when you change the code a lot, sometimes you have to force recompile the game, there is an option for that in renpy launcher.
Title: Re: General Discussion
Post by: Xela on October 13, 2015, 11:03:36 AM
edit: I corrected my label and it broke my save. When I use a saved game which has spoken to Xeona while her interaction was Under the faulty label then speaking to her again makes an error: cannot find label "find_xenoa".

If you had saved while being inside of that label, changed the name of the label and loaded that old save file, you'll get an error. It's not exactly a feature, it's the very core of the engine saving mechanism:

Ren'Py saves the last finished Ren'Py Script statement, label name where the said statement resides is a part of that save. Basically:

Code: [Select]
$ h = chars["Hinata"] # <== Single Ren'Py Script Statement.
"[h.fullname]" # <==  Single Ren'Py Script Statement.
show expression h.show("profile", resize=(500, 500)) # <==  Single Ren'Py Script Statement.
h.say "My name is Hinata" # <==  Single Ren'Py Script Statement.

Code: [Select]
python:
    # 10 000 000 lines of code...  # <==  STILL A Single Ren'Py Script Statement (meaning that only the previous statement will be saved until python block is finished).


Is that what you were warning me about when you said renaming labels caused problems?

Not at all, everyone who really worked with Ren'Py knows and expect that. What I meant was not usual Ren'Py behavior at all. In PyTFall we track a callback "last_label", it is a tricky way to remember where we came from while jumping labels when calling them is not really the best option for whatever reason. last_label callback is also used in Events and Quests. There is also a label_cache argument to Char.show() method for example, developer can ensure a behavior of a fixed image being returned while calling any constant set of tags from within any specific label. There are also a bunch of labels in interactions that expect specific naming, this has nothing to do with the callback, it's just expected naming rules.

None of that applies to NPCs in general, same for most of the unique content. It's something that is used by Interactions, Events and a couple of screens internally.

In my experience, saves are not a perfectly reliable way to test changes in the code, they don't take into account many things. Usually it's better to start a new game and, if needed, run the label you want to test from the console.

Also, when you change the code a lot, sometimes you have to force recompile the game, there is an option for that in renpy launcher.

You can test changes in the code using save/loading system, problem is that setting such an option in a game this complex requires too much work/concentration when writing code.

Recompiling is usually required when label names/file names have changed and Ren'Py doesn't notice that to trigger an auto-recompile for whatever reason. Those errors are less frequent since 6.18.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2015, 11:54:35 AM
I'd like to create and use in dialogues a random character. Assuming that this is possible at this point. I can create and add one to the hero, but when I try to use her in dialogues like
Quote
    $ new_random_girl = build_rc("Angel")
    new_random_girl "..."
I get an error.
Title: Re: General Discussion
Post by: Alex250 on October 13, 2015, 01:49:27 PM
Ren'Py saves the last finished Ren'Py Script statement, label name where the said statement resides is a part of that save.

I don't think this is the problem I had. I had returned to the arena_outside label and to the main menu after saving, plenty of labels had passed. I could use the saved game normally, it only crashed when I tried to speak to Xeona, as if it had memorized that her button was leading to the label that was changed.
Title: Re: General Discussion
Post by: Xela on October 13, 2015, 03:50:34 PM
I don't think this is the problem I had. I had returned to the arena_outside label and to the main menu after saving, plenty of labels had passed. I could use the saved game normally, it only crashed when I tried to speak to Xeona, as if it had memorized that her button was leading to the label that was changed.

Maybe... there is a chance that Xeonas label is bound to our custom menu system or something.
Title: Re: General Discussion
Post by: Xela on October 13, 2015, 03:56:15 PM
I'd like to create and use in dialogues a random character. Assuming that this is possible at this point. I can create and add one to the hero, but when I try to use her in dialogues likeI get an error.

Someone should nuke that python academy thing, it seems useless... You're creating an object like any other character, there is no need to add it to hero, they should explain how to pwn objects in python, since everything in the pl is an object.

You just do the same thing as you've done over 300 times before (see attachment). Other cool stuff that may be useful is:

Code: [Select]
$ nr = new_random_girl.say
nr "..."

You can do that with anything, even with functions:

Code: [Select]
python:
    def start_special_battle_scenario():
        # bla bla bla

$ ssbc = start_special_battle_scenario
$ ssbc()


===
I've seen some of your new scripts btw, you're still using:

Code: [Select]
label some_label:
     # loads of code:
     label another_label:

Please don't and fix the existing script. It will be a nightmare for me to fix otherwise. All labels should be on the base indent.
Title: Re: General Discussion
Post by: DarkTl on October 14, 2015, 01:08:55 AM
Someone should nuke that python academy thing, it seems useless...
All their tasks are about inputting some variables, do some basic math and logic with them and then outputting them using complex strings with %. They also explain how to create classes and functions and use them in the same manner.

We basically never use direct input and output, except a few very specific cases.

In this case, however, I had a moment of retardancy  :)   I often forget about say, but then fix it when get an error. In this case I thought it's not about say, but about random character.

I've seen some of your new scripts btw, you're still using:

Code: [Select]
label some_label:
     # loads of code:
     label another_label:

Please don't and fix the existing script. It will be a nightmare for me to fix otherwise. All labels should be on the base indent.
But I don't share irrational hatred of python developers for freely jumping to labels when needed.
Title: Re: General Discussion
Post by: Alex250 on October 14, 2015, 02:27:39 AM
But I don't share irrational hatred of python developers for freely jumping to labels when needed.
(http://imgs.xkcd.com/comics/goto.png)
source: xkcd (https://xkcd.com/292/)

Freely jumping to labels doesn't create problems (do you need to delete pointers in python?). The problem is that there are other developers working with you and there will be more coming after you to maintain you code. Jumping to labels everywhere makes their job harder. It is easier for you to take good practices than for us to cleanup after you. (this sounds a bit rash but no offense is intended)


What tool are you using to code? I am using a text editor but I would really like to have a program with helpful features like autocomplete and search trough all files.
Title: Re: General Discussion
Post by: DarkTl on October 14, 2015, 03:52:08 AM
Well, I think the most complex script that uses jump to label is sex scene.

At first player selects action from the menu. Then we check if there are pictures available for specific action. If they are, we jump to actual scene with checks. After it finished, we jump to menu of actions again.

I can include scene with checks into functions. But it won't change the whole structure. Instead of jumping to scene labels we'll "jump" to scene functions.
And if I try to avoid jumping to the menu of actions with the help of while, like I can do for short and simple dialogues, it will make stuff even more confusing, because there will be many dozens strings in while, not just 4-5.

What tool are you using to code? I am using a text editor but I would really like to have a program with helpful features like autocomplete and search trough all files.
I use notepad++. It can do anything, providing that you know how to use it.
Title: Re: General Discussion
Post by: DarkTl on October 14, 2015, 04:17:55 AM
Why do we def adjust_exp twice?  In classes - characters and functions - characters.
Title: Re: General Discussion
Post by: Xela on October 14, 2015, 04:59:08 AM
Why do we def adjust_exp twice?  In classes - characters and functions - characters.

Prolly a mistake during refactoring, the one with the highest init/filename will be used.

===
I am not asking you to rewrite your code, just make sure that all label declarations are on the base indent, this has nothing to do with coding practices, just code readability. I've never seen anyone who were serious about developing their game declaring labels in labels because it's pointless and should not carry any advantages while making a mess in code.

Edit (all I am asking is keeping the code clean and readable):

For Python:
https://www.python.org/dev/peps/pep-0008/
http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html
https://google-styleguide.googlecode.com/svn/trunk/pyguide.html

For Ren'Py:
Example novel and Tutorial that came with the engine.

Code: [Select]
label intro_story_konan_room:
    stop music
    stop world
    $ k = chars["Konan"]
    $ k_spr = chars["Konan"].get_vnsprite()
    $ konan_orig = 0
    $ konan_ling = 0
    $ konan_protector = 0
    $ a = 0
    $ b = 0
    $ c = 0
    $ d = 0
    $ e = 0
    $ f = 0
    $ sc = 0
    hide screen pyt_city_screen
    play world "Dungeon2.ogg" fadein 2.0 loop
    scene bg story dark_room with dissolve
    "This is the place where lived the kunoichi, a small room in a dirty, old hotel. You should examine it, maybe there are some clues left."
    label konan_room_search:
    call screen poly_matrix("library/events/StoryI/coordinates.json", show_exit_button=(1.0, 1.0))

Code: [Select]
label intro_story_konan_room:
    stop music
    stop world
    hide screen pyt_city_screen
    $ k = chars["Konan"]
    $ k_spr = chars["Konan"].get_vnsprite()
    $ konan_orig = konan_ling = konan_protector = a = b = c = d = e = f = sc = 0
   
    play world "Dungeon2.ogg" fadein 2.0 loop
    scene bg story dark_room with dissolve

    "This is the place where lived the kunoichi, a small room in a dirty, old hotel. You should examine it, maybe there are some clues left."

label konan_room_search:
    call screen poly_matrix("library/events/StoryI/coordinates.json", show_exit_button=(1.0, 1.0))
Title: Re: General Discussion
Post by: DarkTl on October 14, 2015, 05:41:50 AM
I am not asking you to rewrite your code, just make sure that all label declarations are on the base indent, this has nothing to do with coding practices, just code readability.
For complex things it's the same thing as rewriting them  :D
Whatever, I'll rewrite all scripts.
Title: Re: General Discussion
Post by: Xela on October 14, 2015, 06:07:44 AM
There is difference between rewriting and reviewing :D This is not even refactoring, there should be no need to change the code to any significance.
Title: Re: General Discussion
Post by: DarkTl on October 14, 2015, 06:27:42 AM
Btw in your example you looking at my first attempt to use matrix. It's not a good idea, this script is for trying matrix out, it won't be used in the game, since I have a much better idea how to use both matrix and Konan (prison_break.rpy).


In sex scene for example I created at first a label for normal sex options that includes all checks and scenes. Then, much later, added hire fox sex option that uses the same scenes but not the same checks. Thus I jump past normal checks directly to the scenes.

In order to avoid it I'll need to separate all interactions and scenes completely.
Title: Re: General Discussion
Post by: Xela on October 14, 2015, 07:09:57 AM
Btw in your example you looking at my first attempt to use matrix. It's not a good idea, this script is for trying matrix out, it won't be used in the game, since I have a much better idea how to use both matrix and Konan (prison_break.rpy).


That was the first instance of label declarations I've found.

In sex scene for example I created at first a label for normal sex options that includes all checks and scenes. Then, much later, added hire fox sex option that uses the same scenes but not the same checks. Thus I jump past normal checks directly to the scenes.

In order to avoid it I'll need to separate all interactions and scenes completely.

What file are we talking about?
Title: Re: General Discussion
Post by: DarkTl on October 14, 2015, 07:10:45 AM
GM - sex.rpy
Title: Re: General Discussion
Post by: Xela on October 14, 2015, 07:34:38 AM
GM - sex.rpy

There is nothing there that cannot be indented to first indent either.

Code: [Select]
label l1:
    # code

label l2:
    # code

and
Code: [Select]
label l1:
    # code
    label l2:
        # code

are the exact same thing.

In the first case, when the label code runs out, it just goes to the label directly below it... I don't think that you can come up with a variant of this where you'd have to rewrite one line of code. All I am asking is that you indent properly and put some spacing between labels and logical groups of statement so I can read your code better and anyone can see what guidelines to follow. (If notepad++ doesn't have multi-line indent adjustment, leave it to me, it'll take too long to do this like by line).
Title: Re: General Discussion
Post by: Alex250 on October 14, 2015, 11:48:28 AM
(codes) are the exact same thing.

Code: [Select]
label_loop:
    newVar = 0
    while newVar < 7
        label_action:
            # complex action
        newVar++

In this code, when I jump to label_action:
- will I reach newVar++?
- if I use newVar im my complex action, will I get en error?
- - If not, what would be its value?

Of course this code is bad, it would be better to make a function for the complex action and pass newVar as a parameter if needed. I just want to know how this would be handled.



Can I pass functions as variables? Example:
Code: [Select]
def function (self, param)
    # code

# later
object.action = function
object.action(value)



I am starting to look into the items code for Issue #95.
Quote from: DarkTI
•Review the code
•Update auto-methods
•Update the way traits are applied (should not be per "gender", not just for instances of Girl class)
•Generalize more functions (transfer/auto and etc.)
2: What do you mean, auto-methods? methods for auto-equip?
3: If I understand correctly, Traits from items are applied to Girls only and you want to extend that to all characters, right?
4: What do you mean, generalize? Make the function handle correctly more items?


Title: Re: General Discussion
Post by: Xela on October 14, 2015, 12:50:39 PM
Code: [Select]
label_loop:
    newVar = 0
    while newVar < 7
        label_action:
            # complex action
        newVar++

In this code, when I jump to label_action:
- will I reach newVar++?
- if I use newVar im my complex action, will I get en error?
- - If not, what would be its value?

Of course this code is bad, it would be better to make a function for the complex action and pass newVar as a parameter if needed. I just want to know how this would be handled.

I am not sure, my guess would be an error because newVar is defined prior to label. Ren'Py is not meant to work in the manner, all labels should be declared on first indent, they can be called if they need to be reusable, it's also possible to pass arguments to them similar to how those are passed to function. It's all in the section of Ren'Py Docs on labels.

Some notes:

1) In Python, var names are declared lowercase (Looks at the PEP in previous post).
2) new_var += 1
3) That is kewl for Ren'Py script, but when you're in pure python:

Code: [Select]
python:
    for i in xrange(7):
        # complex action

Can I pass functions as variables? Example:
Code: [Select]
def function (self, param)
    # code

# later
object.action = function
object.action(value)

I never tried, prolly not because I've seen complex binding methods coded elsewhere, you can always give it a try.

I am starting to look into the items code for Issue #95.2: What do you mean, auto-methods? methods for auto-equip?
3: If I understand correctly, Traits from items are applied to Girls only and you want to extend that to all characters, right?
4: What do you mean, generalize? Make the function handle correctly more items?

2) Auto-Equip and Auto Buy. In order to get those right, class (base) traits need to be properly integrated first... Maybe the methods themselves should also be simplified. This is a pretty complex issue... with lots of confusing code.
3) I think that I've already did. All traits need to be tagged with "female"/"male" sexes, right now they default to "unisex".
4) Exactly that, but I've done that as well I believe. I have put quite a bit of time into this issue back when I was fixing new Equipment screen.
Title: Re: General Discussion
Post by: DarkTl on October 14, 2015, 02:38:33 PM
Traits base also changed quite a lot since then. For example, classes should be taken into account for autoequip.
Good and bad traits fields are much rarer than in the beginning. And items have type fields that could help too.
Title: Re: General Discussion
Post by: DarkTl on October 15, 2015, 04:01:03 AM
Let's talk about tags substitution again. Today I'm working on that huge sex scene script (which is very simple to review  :D ), and once again look at huge checks that I had to come up with to make sure we show the best possible picture. How should it really work:

Partner_hidden logic:
1) If we use partner_hidden, it should have greater priority than location. Ie if we don't have partner_hidden+wildness, and we don't have that combination, we should try to show partner_hidden+simple_bg OR partner_hidden+no_bg.

2) If there are NO partner_hidden pictures with proper action and simple/no bg, then we try to show after_sex instead with proper location, or simple bg/no bg if there is no a proper location picture.

3) If we don't have even them, we have no choice but ignore partner_hidden tag, and show best possible pictures without it.

Location and actions logic:
1) If we don't have needed location, we should try to show simple_bg OR no_bg with needed actions.

2) For actions that don't have a picture (usually foot and handjob, but there could be more for rare chars) we show after_sex with needed location instead.

3) If there are no perfect location pictures, or even simple_bg/no_bg pictures, we should try to show after_sex with needed location, and if we don't have them, after_sex + no_bg/simple_bg.

5) Finally, if we don't have even pictures from 3),  we show closest possible location, ie if we have indoors+living room+anal, let's try to show indoors+anal at very least.

This is complex as hell, but it should provide the best possible sex picture. Currently function that does it is far from showing the best possible one.
Title: Re: General Discussion
Post by: CherryWood on October 15, 2015, 06:41:09 AM
A thing to consider is that we only need to check for available pictures once per girl per gameplay, cause those don't change. It would be wasteful to do that in every case again and again if that would be a part of show function somehow...
Title: Re: General Discussion
Post by: Xela on October 15, 2015, 07:01:57 AM
Are you asking if that is a sound concept or do you want me to write a func for it?

a part of show function somehow...

I'd suggest a separate function, show method is getting too long and confusing.
Title: Re: General Discussion
Post by: DarkTl on October 15, 2015, 08:03:50 AM
It is a working concept of a separate function for showing sex pictures that I tested for some time using sex scenes. It gives much better results than usual showing functions.
I'd try to write it myself, but it might be used everywhere, not only during interactions. So you probably should do it to make it as fast as possible.

Eventually I removed some parts to keep interactions file clean, because even a short version of checks is about 250 long lines. And even it gives much better results than usual simple showing.
Title: Re: General Discussion
Post by: CherryWood on October 15, 2015, 09:22:07 AM
I don't think I ever used no_bg tag... But I have a lot of pics with just outdoor tag, those that only have sky on them. They're used in girlmeets atm.


I also have a lot of profile pics without mood, will those work?
Title: Re: General Discussion
Post by: DarkTl on October 15, 2015, 09:43:16 AM
Good no_bg pics are very rare, but still exist, I use them sometimes. I don't cut background on purpose of course, I just use them if I can find them.

Profile pics without mood might be unavailable in the game, since the game already looks for mood tags based on character joy. I can tag mood myself if you are unsure how to tag them.
Title: Re: General Discussion
Post by: CherryWood on October 15, 2015, 10:28:12 AM
Profile pics without mood might be unavailable in the game, since the game already looks for mood tags based on character joy.
Wouldn't that mean that all other expressions like confident, shy, suggestive etc. are out too?

If that's true for standard girl profile pics, then It kinda bothers me to limit the selection this much. I think we should only exclude unsuitable moods (no "sad" pics when joy is high) there.
This joy-mood selection seems great for girl list portraits though.
Title: Re: General Discussion
Post by: DarkTl on October 15, 2015, 11:12:10 AM
Other expressions will require more advanced, flags-based system in addition to joy. But pictures without emotions are difficult to use no matter the system.
Title: Re: General Discussion
Post by: Xela on October 15, 2015, 11:15:42 AM
I think we should just have a func that creates required amount of perfect scenarios as lists, searches them with has_image method and returns the show if has_image pays off. Otherwise it should use normal lookup process that is the best suited.
Title: Re: General Discussion
Post by: DarkTl on October 15, 2015, 11:46:38 AM
Normal lookup process is far from perfect too. If there is no a perfect match, it only returns picture with two required tags. It's not useful enough without additional checks.

Ideally, it should try to return as many correct tags as possible, starting from first tags. Ie if there is no a picture with (tag1, tag2, tag3, tag4), it should try to return (tag1, tag2, tag3), then (tag1, tag2), then (tag1).
Title: Re: General Discussion
Post by: Xela on October 15, 2015, 12:05:35 PM
Ideally, it should try to return as many correct tags as possible, starting from first tags. Ie if there is no a picture with (tag1, tag2, tag3, tag4), it should try to return (tag1, tag2, tag3), then (tag1, tag2), then (tag1).

It does work like that.

Normal lookup should be the last resort for the func.
Title: Re: General Discussion
Post by: DarkTl on October 15, 2015, 12:11:27 PM
Are you sure? I have these written in a txt in order to not forget:
Quote
                     - normal = normal search behavior, try all tags first, then first tag + one of each tags taken from the end of taglist
                     - any = will try to find an image with any of the tags chosen at random
                     - first_default = will use first tag as a default instead of a profile and only than switch to profile
It doesn't look like I described.
Title: Re: General Discussion
Post by: Xela on October 15, 2015, 01:02:32 PM
There is a reduce lookup order that does what you wrote but it may not be finished. I'll take a look.

This:
- reduce = try all tags first, if that fails, pop the last tag and try without it. Repeat until no tags remain and fall back to profile or default.
Title: Re: General Discussion
Post by: Vii on October 17, 2015, 04:50:26 PM
Soooo, umm.. Im a bit confused, what's the latest version? The alpha from the alpha thread, the git version or what?
Title: Re: General Discussion
Post by: Xela on October 17, 2015, 07:01:50 PM
Let's talk about tags substitution again. Today I'm working on that huge sex scene script (which is very simple to review  :D ), and once again look at huge checks that I had to come up with to make sure we show the best possible picture. How should it really work:

Partner_hidden logic:
1) If we use partner_hidden, it should have greater priority than location. Ie if we don't have partner_hidden+wildness, and we don't have that combination, we should try to show partner_hidden+simple_bg OR partner_hidden+no_bg.

2) If there are NO partner_hidden pictures with proper action and simple/no bg, then we try to show after_sex instead with proper location, or simple bg/no bg if there is no a proper location picture.

3) If we don't have even them, we have no choice but ignore partner_hidden tag, and show best possible pictures without it.

Location and actions logic:
1) If we don't have needed location, we should try to show simple_bg OR no_bg with needed actions.

2) For actions that don't have a picture (usually foot and handjob, but there could be more for rare chars) we show after_sex with needed location instead.

3) If there are no perfect location pictures, or even simple_bg/no_bg pictures, we should try to show after_sex with needed location, and if we don't have them, after_sex + no_bg/simple_bg.

5) Finally, if we don't have even pictures from 3),  we show closest possible location, ie if we have indoors+living room+anal, let's try to show indoors+anal at very least.

This is complex as hell, but it should provide the best possible sex picture. Currently function that does it is far from showing the best possible one.

This sh!t takes too long and I am not even sure if I am understanding all of it properly. In any case:

1) I've assumed that locations tags are all tags that start with "l" in tagger.

2) I have no idea which sex action tags you want to be included in:

Quote
(usually foot and handjob, but there could be more for rare chars)

So I left this: sex_action_tags list open for you in tags_dict.rpy. Add there whatever you see fit. Feel free to change the list of loc_tags to whatever you consider sensible if my variant is wrong.

3)
Quote
5) Finally, if we don't have even pictures from 3),  we show closest possible location, ie if we have indoors+living room+anal, let's try to show indoors+anal at very least.

This I couldn't understand properly, I'll need some lists from you:

If items in list 1) are in the tags, we take out all items from tags that are in list 2) and leave items that are in list 3). In your example:

1) ["living_room", "indoors"]
2) ["living_room"]
3) ["indoors"]

4) I assume that for actions I will be able to use whatever you put in sex_actions_list, if not, I'll need another list of all actions that can be used here.

===
Even without the last fallback (5), this function needs intense testing, either trough console or script... you can tweak it as you see fit.


Soooo, umm.. Im a bit confused, what's the latest version? The alpha from the alpha thread, the git version or what?

Alpha is the latest playable.
Title: Re: General Discussion
Post by: DarkTl on October 18, 2015, 01:13:43 PM
3)
This I couldn't understand properly, I'll need some lists from you:
It's nothing too complex, all it's based on tagged structure:

1. We drop nature first if needed:
1) ["outdoors", "urban", "wildness", "suburb", "nature"]
2) ["nature"]
3) ["urban", "wildness", "suburb"]

2. Outdoors tags fall to outdoors.
1) ["urban", "wildness", "suburb"]
2) ["urban", "wildness", "suburb"]
3) ["outdoors"]

3. Indoors tags fall to indoors.
1) ["dungeon", "living", "public"]
2) ["dungeon", "living", "public"]
3) ["indoors"]

4. If we don't have both indoors and outdoors, we fall to simple/no bg:
1) ["indoors", "outdoors"]
2) ["indoors", "outdoors"]
3) ["simple bg", "no bg"]

5. Special tags fall to  to simple/no bg directly.
1) ["beach", "onsen", "pool", "stage"]
2) ["beach", "onsen", "pool", "stage"]
3) ["simple bg", "no bg"]

4) I assume that for actions I will be able to use whatever you put in sex_actions_list, if not, I'll need another list of all actions that can be used here.
Yup, ideally it should work for any sex actions. I don't try to set a perfect match for poses or actions.
So, any "straight" actions fall to "after sex" if we don't have them. Any "gay" (aka lesbian) actions fall to "nude". Any masturbation actions also fall to nude.
After sex fall to nude too if we don't have them.

I don't touch group and bdsm for now, since they will require entirely different approach. We most likely will have to check what kind of group and bdsm images the character has (if there are any), and then based on it do something. But I don't know yet how to do it anyway.
Title: Re: General Discussion
Post by: DarkTl on October 19, 2015, 09:46:02 AM
I'd like to change stats (and set prices for hiring) during sex scene in the same manner as you do for whore jobs. There are so many jobs rpys, where should I look for this stuff?
Title: Re: General Discussion
Post by: Xela on October 19, 2015, 03:44:28 PM
I'd like to change stats (and set prices for hiring) during sex scene in the same manner as you do for whore jobs. There are so many jobs rpys, where should I look for this stuff?

Nowhere atm. I've set all values to 1000/100 because old system used too many old concepts and it was premature to fix them (and not sensible without discussing how it should work first).
Title: Re: General Discussion
Post by: Xela on October 19, 2015, 04:28:47 PM
Ok, I've update the image searching func again, some things are still not completely clear and confusing to me but it should work as you described.
Title: Re: General Discussion
Post by: DarkTl on October 20, 2015, 12:57:57 PM
I replaced char.show with return gm.set_img, it's more suitable for gms anyway. Looks like it works. I'll need to test it to find out how well.
Title: Re: General Discussion
Post by: DarkTl on October 20, 2015, 01:59:08 PM
I want sex and strip scenes to use the same logic in terms of changing stats, skills and vitality as ingame events during jobs. Otherwise it might be illogical and even overpowered.
Thus some parts of sex scene logic will remain intact until we clarify this topic.

I'm going to switch to gifts making atm, we have a major shortage of them.
Title: Re: General Discussion
Post by: DarkTl on October 20, 2015, 02:17:22 PM
Do you have any specific route of thoughts for issue 121, or any ideas are good?  :)
Title: Re: General Discussion
Post by: Alex250 on October 21, 2015, 03:32:57 AM
Here are some ideas:

customer_wealth_mod: dépends on the building's Reputation.
Customer pays: job_base_cost * relevant_stats_skills * customer_wealth_mod
customer_satisfaction: job_base_appreciation * mean_relevant_stats + customer_requests_fulfilled - building_reputation
Building Reputation increase: job_base_reputation * customer_satisfaction
Customer tips: job_base_tip * min(customer_satisfaction, 0)


base_upkeep: (base_cost + for_each_skill(skill_base_cost * skill) + fight_base_cost * total_fight_stats + base_stats_cost * total_base_stats)

Slave upkeep: base_upkeep * (1 + character/100) * (3 - devotion/500)

Feature idea, if it isn't there already: Stats/Skills decay. This would allow you to reduce the upkeep of slaves by letting unused stats decay.

Employe wage: max( base_upkeep, (base_cost + job_base_wage * relevant_stats_skills) * (1 + character/100) * (1 - devotion/1500))

Unlike the slave, you pay free workers for what they actually do, not for everything they are able to do. There is still a minimum so you can't put your Fighter on Cleaning duty to avoid paying them but it is lower than an average slave (it's in fact the lowest upkeed a slave with the same stats can have).
Title: Re: General Discussion
Post by: Xela on October 21, 2015, 06:53:05 AM
Do you have any specific route of thoughts for issue 121, or any ideas are good?  :)

Any ideas, I am thinking a simpler Economy module to hold and manage all related variables but maybe we can come up with something simpler that can be mutated into that later.
Title: Re: General Discussion
Post by: Xela on October 21, 2015, 07:22:28 AM
BTW: What you did in the image searching func changing shwo to set_img most definetly messes it up. I'll try to restore original functionality with set_img tonight.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2015, 08:13:17 AM
BTW: What you did in the image searching func changing shwo to set_img most definetly messes it up.
Well, I didn't noticed anything weird during testing. Char.show should do pretty much the same thing as gm.set_img, but also requires image size, which is useless in our case, since we use the function in gms, and they use one size all the time.
Title: Re: General Discussion
Post by: Xela on October 21, 2015, 03:17:51 PM
Char.show should do pretty much the same thing as gm.set_img

No... Char.show() returns an instance of PS while gm.set_img consistently return None, no matter what you do or how. The difference in context of the new image func is that every time a no_bg/simple_bg image tags are checked, their result is guaranteed to be skipped and ignored while using gm.set_img and will work as intended using Char.show. It is by no means difficult to fix, I am spent tonight but I'll try to update the func tomorrow morning, it should be easy to adjust the func to gm.set_img which made more sense in the first place, I have just entered another cycle of full workload in rl so while I still have an hour or two every night for the project, I am usually too tired to think straight. If that persists, plan is to switch to coding in really early mornings, that worked for me in the past.
Title: Re: General Discussion
Post by: alien69 on October 23, 2015, 05:15:09 PM
Hi
I know it is silly question but how to employ bodyguards for your borthel???
Title: Re: General Discussion
Post by: Alex250 on October 23, 2015, 08:29:49 PM
I assume you are playing the latest playable version, Alpha 0.45.

I'm pretty sure you cannot employ Slaves as Guards, you will need to seduce a Free girl. Some girls you can Hire as Warrior; most girls around the Arena will have Warrior as their initial job. You can assign Warriors to Guard duty.

If you want to change the job of a Free girl you already employ, you need to Interract with her with 950+ Disposition.

Your Main Character also acts as a Guard if he has AP left and you end the day. He will not raise the Security Rating but he will stop fights and abuses in the building he is assigned to.

Does that answers your question?
Title: Re: General Discussion
Post by: lamoli on October 25, 2015, 11:54:16 AM
Do you have a stable version other than the alpha who is way too old for the gui ?.. i already half modded Jack o nine tails into mine but would like something that works as good as the alpha but more recent lol.
Title: Re: General Discussion
Post by: lamoli on October 25, 2015, 01:43:13 PM
The general idea is..

You send your girl/slave to the dungeon.. there you could train her obedience so she will accept to train some ST skill/attributes/traits ( they have nothing to do with the ones in the main game ) but if you trained her like ( nurse/secretary she might unlock the matron job for example in the real game )

The system will be the same as Jack o nine tails.. no lvlups or stats with numbers but Attributes/skills you can train from 0 to 5 with color from red to green but at first i will simplify everything..

I will use some of the original game logic:

Attribute*: ( 0 to 5 )
As the original 0-1 10xp 1-2 20xp 2-3 40xp 3-4 60 xp 4-5 80 xp

Job skills*: ( 0 to 5 )
We could either use the same system as attribute or what original game had but its hard to grasp when you will be lvling up that skill..

Sex skills*: ( 0 to 5 )
like jobs but increase by training their sub skills like ( petting has 4 sub skills of 5 point each.. so to max petting you need to get those 20 points )

Traits:
Bruise/scars from when she fights back or when you punish her ( will reduce her AP and her mood ) and hidden traits like nympho ( bonus to sex train in general.. that you can discover by either doing that kind of training and hoping it uncovers or by talking to her )

Mood: (from -5 to 0 to 5 )
If positive will reduce the girl to training resistance and will increase the xp she gains training.. if negative will do the opposite + if depressed too long it will reduce her psy attributes like Nature/Temper

Psy:
A simplified version will check her Nature/Temper/Pride and if score is below 2 she will be mind broken and like originnal game nature/temper is not easy to train.. but pride you can lower it fast making her do nasty things..

Rules:
will affect her mood by choosing where she will be sleeping, the diet will control her appearance ( if needed for a job.. but if you want her as milk cow let her go fat.. ) but if underfed her endurance will drop and since you get AP from her endurance it could be really bad.. behaving rules can train her passively to obey.. become a pet/maid/escort.. increase her sex skills/lust.. as long as she follows the rules..

Fear: ( from 0 to 5 )
Will increase as you force/rape torture her and will make her do things as it adds up to her obedience buy will lower her mood and could end mind breaking her

Quilt: ( from -5 to 0 to 5 )
I also did not like the proper reward/punishment from original game but i will keep that system as i can improve her mood who is really important when you reward her or improving her temper/nature if you fail to punish her.. i will not add the soiling system at this point.. but rest should work as it should.

Cleanness: ( from -5 to 0 )
Like original will affect her mood and train her skills..

Make her do:
She could do a lot of things ( but not worked on those so far as i dont know if we will use the MC in here or not for mood/libido/skill )

Force her to:
Like taking drugs or raping her.. will reduce her obedience and increase her fear ( if she is afraid of that action ) so in the long run.. you can but not too much

Items:
Like original i will add a few items to passively train her like rules do.

*All skill lvlup check her obedience + fear(if any) + mood + your skill in that training type + her trait(if any useful for that training revealed) - distaste form that training + difficulty increase to train it growing each rank + attributes like ( pride/temper/nature for some skills ) to see if she agrees to train then if the check passed.. ex: (-5 + 4 + -1 + 5 + (2)) - (2 + 1 + (x) )
Her mood + gear bonus + your skill on that training + cleanness + her trait.. ex (-2+4+5-1+(2)) 8xp

I made your skill to train a 5.. but in original game you should lvl your own skill in the major areas.. but until i know if MC can be used it will stay like this.

A few screen shots...

https://mon-partage.fr/f/i7UEu2Fx/ (https://mon-partage.fr/f/i7UEu2Fx/)

Edit:
Original game had against value that would increase if you forced the girl.. but at first ill try with the minimum vars, so against,awareness,taming,habit,devotion,spoiling wont be added at this time.

As for girl trarting attributes/skill.. we can round up those value for the 0-5 rank system.. ( if its a unique girl ) or random values ( if random girl )
Title: Re: General Discussion
Post by: Gismo on October 25, 2015, 03:10:07 PM
Sketches for the screen Victory and Defeat after the fight.

(http://s15.postimg.org/8cpjphwg7/defeat2.png) (http://postimg.org/image/8cpjphwg7/) (http://s15.postimg.org/kfuvd27if/victory2.png) (http://postimg.org/image/kfuvd27if/)
Title: Re: General Discussion
Post by: DarkTl on October 26, 2015, 11:41:23 AM
Do you have a stable version other than the alpha who is way too old for the gui ?.. i already half modded Jack o nine tails into mine but would like something that works as good as the alpha but more recent lol.
The current dev version is stable enough to not crush, I suppose :)
You can always download it from the repo, we don't hide it.

ST skill/attributes/traits ( they have nothing to do with the ones in the main game )
I don't understand this part. I understand special traits like scars or nympho. But I don't get what do you mean by different skills/attributes.

After all, we should be able to transform slaves to free characters and vice versa when needed. So their systems should be more or less compatible, or at least have some algorithm to transform slave attributes to free chars attributes and vice versa.
Title: Re: General Discussion
Post by: DarkTl on October 26, 2015, 11:43:02 AM
Sketches for the screen Victory and Defeat after the fight.
They already look awesome  :)
Title: Re: General Discussion
Post by: alien69 on October 26, 2015, 03:24:26 PM
To be fair atm game is just not fun to play .As starter u just buy cheapest brothel employ 2 girls and wait to go broke with cash :D
i hope it would be more balance in future beacouse girls upkeep is just to high or income to low anyway good try
Title: Re: General Discussion
Post by: lamoli on October 26, 2015, 03:35:41 PM
To be fair atm game is just not fun to play .As starter u just buy cheapest brothel employ 2 girls and wait to go broke with cash :D
i hope it would be more balance in future beacouse girls upkeep is just to high or income to low anyway good try

Even with alpha and the taxes on its easy if you know how to do it.. as for upkeep.. remember your girl ask to be paid 1 time per day while she earns up to 3 times her work price at 35 constitution ( 3 AP ) and rank her up as soon as you can so she will earn even more / AP.. but the tax on slave thats a bit too mutch since their upkeep is like the free girl wages..

to reduce upkeep lower refinement to 0 using items.. but when your girl is ready to rank up as prostitute add the required refinement using items.. also its a good idea to max charisma with items if you can..
Title: Re: General Discussion
Post by: lamoli on October 26, 2015, 05:20:29 PM
After all, we should be able to transform slaves to free characters and vice versa when needed. So their systems should be more or less compatible, or at least have some algorithm to transform slave attributes to free chars attributes and vice versa.

This system is close to what you have in place with your current ST.. but instead of letting a trainer or you choosing a course and pressing next turn ( boorring and not even working >.< ) so i decided to make a active training system.. it would be like jack o nine tails to train her.. but her own real stats from unique char or random char will be as it was before entering that training.. and will be the same when you leave the Dungeon ( but you might earn the obedient trait that slave could require or a free girl job trait like matron ) in short its like a game module to unlock traits or professions..

and of course her attribute/skills/traits/arch type will be converted to a 0-5 basis so when you train her she would be as her personality should be.. same for random girls it will use what the game generated for her..

Ex: you wand a unique girl you like who has lots of temper/pride(attributes/traits/arch type ) those value will make her hard to train.. like a pet but if you succeed without mind breaking her then you could tel her to act as one in the ST module or main game if its needed for a job/slave market lol.. so when you free her from the dungeon she would have earned that pet trait.. and you could do something with her.. but everything else should be as she entered.. ( maybe the AP you earned training her could be as it was in the dungeon.. after all you spend so many of your AP/days to rank her endurance to the lvl she ended with and as reward her AP should be the same outside of the Dungeon )

And unlocking jobs/traits would require you to train specific attributes/skills to unnock them ( but i havent decided on the combinations )

I will be using the Alpha 0.45 as its easier to mod since nothing will change over time.. so that way i can only send the files i changed and not the whole game for you to use .. and i wont get errors because someone decided to change something in the code..
Title: Re: General Discussion
Post by: alien69 on October 27, 2015, 11:25:03 AM
Even with alpha and the taxes on its easy if you know how to do it.. as for upkeep.. remember your girl ask to be paid 1 time per day while she earns up to 3 times her work price at 35 constitution ( 3 AP ) and rank her up as soon as you can so she will earn even more / AP.. but the tax on slave thats a bit too mutch since their upkeep is like the free girl wages..

to reduce upkeep lower refinement to 0 using items.. but when your girl is ready to rank up as prostitute add the required refinement using items.. also its a good idea to max charisma with items if you can..


Like I said to much complication on start of game...not fun to play at all for me but game got potential in future
Title: Re: General Discussion
Post by: lamoli on October 27, 2015, 03:06:48 PM
How does the check on equipped items works ?? do you check item slots or there is a list of equipped items ? in 0.45

here is what i got so far and works like a charm..

                #################################################################
                elif result[1] == 'Analsex':
                #################################################################
                    if chr.AP > 0:                                                                                                  # AP DRAIN if ANY
                        chr.AP -= 1                                                                                                 #
                                        ######################
                        moodinfo = chr.stsskillmood['m%d' % (chr.moodrank)]                            #
                        cleaninfo = chr.stsskillbodycl['m%d' % (chr.bodyclrank)]                          #
                        #equipinfo =                                                                                             #                                           
                        moodval= moodinfo['valmood']                                                                 # CALCULATE XP GAIN
                        cleanval = cleaninfo['valclean']                                                                 #
                        #equipval = equipinfo                                                                              #
                        if ct("Nymphomaniac"):                                                                             #
                            traitval = 2                                                                                           #
                        else:                                                                                                        #
                            traitval = 0                                                                                          #
                        xpvalue = moodval+5+cleanval+traitval#+equipval                               #
                                        ######################
                        targetrank = chr.analsexrank                                                                 #
                        if targetrank <= 5:                                                                                 #
                            rankinfo = chr.stskillanalsex['p%d' % (chr.analsexrank+1)]              # ANAL SEX XP
                            targetrankxp = rankinfo['exp']                                                           #
                            chr.analsexrankxp += xpvalue
                                        ######################
                            if chr.analsexrankxp >= targetrankxp:                                              #
                                chr.analsexrank += 1                                                                    # ANAL SEX RANK UP
                                chr.analsexrankxp = 0                                                                  #
                                        ######################
                        renpy.hide_screen("pyt_girl_interactionsTrain")                                  #
                        renpy.hide_screen("pyt_girltraining")                                                  #
                        renpy.with_statement(dissolve)                                                          # IMG TXT SCREEN JUMP
                        renpy.jump('stinteract_anal')                                                               #
                    else:               ######################
                        renpy.show_screen("pyt_girl_interactionoutofap"), With(dissolve)    # OUT OF AP
                #########################################################################

copy past does not work well lol..

Atm im nearly done with interfaces.. as for the code i kept it like you see no function to parametter changes if needed and when its done ill clean it up..
rank up works as it should for:
increase 0-1 10xp 1-2 20xp 2-3 40xp 3-4 60xp 4-5 80xp ( ex: if you train Athletics.. his xp and endurance xp will increase at the same time )
decrease 1-0 10xp 2-1 20xp 3-2 40xp 4-3 60xp 5-4 80xp ( like lowering pride or counter effect from your training )
Or if you train job Pet ( pet xp will increase while pride xp decrease ) and so on..

AP regenerate every turn and match your endurance(only in the dungeon.. outside its the same AP value ( 3ap for 35con ))

I got a basic interaction screen for any action ( just changed yours to do what i needed )

the check for xp gain works as planned checking ( mood,your skill,cleanness,trait ) but im missing equipment check could you explain how its works ???

once i got equipment check on i can rar the files and let you test it :p
Title: Re: General Discussion
Post by: DarkTl on October 27, 2015, 03:57:21 PM
How does the check on equipped items works ?? do you check item slots or there is a list of equipped items ? in 0.45
I'm not sure it's possible to do directly atm. You can ask Xela to code it, it's not difficult.

If you want to check for special items, there is also another way: for example, for handcuffs you can create a "handcuffed" trait and make handcuffs apply it when they are equipped. Thus you check for handcuffed trait instead of slot.

Like I said to much complication on start of game...not fun to play at all for me but game got potential in future
I'm surprised there were people who actually enjoyed it, considering how many systems were unfinished back then  :)
Title: Re: General Discussion
Post by: lamoli on October 27, 2015, 04:05:06 PM
hmm as trait i know how to get them but it would be best if they are not showing in trait window..
unless you want to see ( leather dress effect +2 sex training, or tabi shoes + 2 gladiatrix training.. and so on.. )
Title: Re: General Discussion
Post by: DarkTl on October 27, 2015, 04:16:20 PM
Many traits have unique fields, like "elemental": true, which help to sort them out and control traits logic. You can come up with some new field, like "slavetraining": true, and in the future we just won't show such traits in gui.
Title: Re: General Discussion
Post by: lamoli on October 27, 2015, 04:26:18 PM
Ahh 0.45 does not have that option.. but ill try to see what i can do.. and if unsuccessful ill wait Xela response.
Title: Re: General Discussion
Post by: lamoli on October 27, 2015, 05:09:10 PM
Arf looks like the traits from equipment does not work in 0.45..
unless good traits are hidden and thus does not work on my trait check.

Edit: yeah my mistake.. needed to be <addtrait name =

now it works for item that gives traits and add the equipment xp on my calcul for xp gain..

i even made item sets.. 1/2 or 2/2 give 2xp but if you get 1/2 and 2/2 you get 4xp bonus on equip for that training.
Title: Re: General Discussion
Post by: Xela on October 27, 2015, 06:00:43 PM
Sorry, I am still very busy so only now had the time to read all the posts.

@lamoli
I hate JoNT/SM systems for PyTFall and in general. Anything where a character gradually builds up obedience is prolly not a very good idea. We've discussed this a couple of times already since your thread and decided not to go with it. Also ST module is not planned with the next release.

You also cannot use original stats/skills/traits from JoNT in PyTFall, our own system is complex as hell and cannot be converted to it/from it.

You can code something like an offshoot game or something like that but PyTFalls ST will be a lot different, there will be no "obedience" training in ST/JoNT sense, a simple phase of talking to a char/trying to break if talking fails by imprisonment, deprivation and/or threats will take place. If that succeeds, char can be trained similar to how schools work with options to provide personal training. Options of jobs/sex/kinky stuff will be unlocked, usually in bulk on conversing/punishment. There will most definitely not be a system where you unlock chars actions little by little.

===
Code: [Select]
[i for i in char.eqslots.values() if i]
will return a list of all item objects equipped at any time.

Code: [Select]
if item in char.eqslots.values()
will check if item is presently equipped. This will also expect an object, not a string with item id.




Like I said to much complication on start of game...not fun to play at all for me but game got potential in future

A lot of people liked the complexity, we'll add difficulties and more coherent starts at some point.

Title: Re: General Discussion
Post by: lamoli on October 27, 2015, 06:06:54 PM
Alright but since most of the code is done can i make it a mod for 0.45 alpha ?

Ill make a warning screen ( this will not reflect the Pytfall ST system ) its just a user mod :p
Title: Re: General Discussion
Post by: Xela on October 27, 2015, 06:08:07 PM
Alright but since most of the code is done can i make it a mod for 0.45 alpha ?

Sure thing!
Title: Re: General Discussion
Post by: lamoli on October 27, 2015, 06:10:46 PM
ATM i dont have a lot of time and since nothing moved on ST i made this.. that way it will make me want to invest some time on rendered pack.. and i can tell you now i want every action to have 1 or more renders for both chars or rchars..
Title: Re: General Discussion
Post by: Xela on October 27, 2015, 06:15:51 PM
Oki

I need to try and find some time to wrap up new jobs code as well. That should finalize new traits/skills/jobs/businesses system for the Beta and clarify how to proceed with wrapping up rest of the code.
Title: Re: General Discussion
Post by: lamoli on October 27, 2015, 11:03:28 PM
OK.. you can test it now..

https://mon-partage.fr/f/8O7mTi7G/ (https://mon-partage.fr/f/8O7mTi7G/)

Copy paste it on a clean 0.45 alpha

Its in Dev mode so you get the basic One Piece girls right away.. ( i cleaned 1 no bg for each )

On girl list if you click location it will change to dungeon then enter or from girl profile i added a dungeon button..

Rules screen if made and values are registered but i need to work on next day code to make those rules work..

On training you can use BJ Sex Anal.. other wont have a screen yet.. i just wanted to test xp/item bonus/trais and so on so not finished yet..

If you want more AP mass click on athletics ( it will rank us with endurance who adds AP ) and the AP will match endurance next day if your out of AP..

If you click Pet training pet rank will increase while pride decrease.. ( again just some logic tests )

Tomorrow i will make mood,cleanness drop and rise as they should but atm its fixed on a lower lvl ( logic test again )

Mistress boots and leather lingerie will give +2 xp on sex skills train and if you wear both its +4 xp ( oops forgot to add modded files in packadge for that. but works on my mod )

And dont freak out about the code iv let it that way for now but will clean it up once everything works..

I did not remove hero/chr skill/xp increase in the label interaction.. maybe i could leave it like that to get some benefits in the main game..

( i need to think witch value from current game will affect the ones i use to make char with correct values on my 0-5 system.. any suggestions ? )
Title: Re: General Discussion
Post by: DarkTl on October 28, 2015, 04:52:01 AM
I hate JoNT/SM systems for PyTFall and in general. Anything where a character gradually builds up obedience is prolly not a very good idea. We've discussed this a couple of times already since your thread and decided not to go with it.
I'm not sure yet how to build an interesting, original (taking JoNT system is obviously not original) and not oversimplified ST system. I have some ideas about training options, but not about system logic  :)

You also cannot use original stats/skills/traits from JoNT in PyTFall, our own system is complex as hell and cannot be converted to it/from it.
On the other hand, slaves inside ST definitely can use minor stats like hunger or cleanliness which just disappear when you free them, since they can take care of themselves outside of ST.

ATM i dont have a lot of time and since nothing moved on ST i made this.. that way it will make me want to invest some time on rendered pack..
No matter the system, the more ideas, ie content we have for training/rules/punishments/etc, the better, since we can adapt them to any system. You found a really cool background too btw.
Title: Re: General Discussion
Post by: lamoli on October 28, 2015, 05:18:58 AM
My ultimate goal would be to make a Pytfall JoNT AA2 Love Girl combo in UE4.. all i need is logic and ST concepts as i can make the rest...
But first step ( and less time consuming will be making packs out of 3D rendered girls and 3D rendered BG i could use in UE4 while a develop a ST user mod system and get content for my mod or Pytfall in general)
Title: Re: General Discussion
Post by: lamoli on October 28, 2015, 05:34:59 AM
You also cannot use original stats/skills/traits from JoNT in PyTFall, our own system is complex as hell and cannot be converted to it/from it.

I never planned to do so as everything in That ST mod stays there.. well on current mod i did let the skill/xp gain the original label interaction.. what im after is the opposit.. find some relation between girl values from Pytfall and convert to the 0-5 system so when your in that dungeon you will see the right attribute/skills/traits and so on..

You can code something like an offshoot game or something like that but PyTFalls ST will be a lot different, there will be no "obedience" training in ST/JoNT sense, a simple phase of talking to a char/trying to break if talking fails by imprisonment, deprivation and/or threats will take place. If that succeeds, char can be trained similar to how schools work with options to provide personal training. Options of jobs/sex/kinky stuff will be unlocked, usually in bulk on conversing/punishment. There will most definitely not be a system where you unlock chars actions little by little.

In this system unlike SM where your progress is.. ( linear ?? ) but like JoNT you dont have to unlock little by little.. you can force em to do it now but you will get penalty.. like fear/against increase.. or endurance/moral drop unless they got masochist trait or other relater stuff like those.. that will reduce penalty
And true there is obedience.. but is impaired by a lo of stuff so you will have to manage those thing.. even a max obedience she could refuse you if you did not manage the other things as well.. and obedience can drop too..
She could end completly in a broken state at some point.. but unlike JoNT i wont butcher/kill her.. ill just add some potion that you will need to make with alchemy to reset her to her original stats or just remove the broken state..
Title: Re: General Discussion
Post by: lamoli on October 28, 2015, 05:45:06 AM
Dark.. maybe you got a link to a website where i could find what each unique girl traits or basic stats/skills are?
Title: Re: General Discussion
Post by: lamoli on October 28, 2015, 06:05:21 AM
Xela does the stats in Pytfall individually increase by a fixed amount each lvl or not ?

if so it will be easy to convert from Pytfall to my mod.. like lvl1 Boa:
17/60 charisma.. 2/5 Beauty
60/60 character.. could give 5/5 temper and 5/5 nature and 5/5 pride but her traits/arch type could reduce some of those numbers..
16/40 constitution.. 2/5 endurance..
6/60 intel.. 1/5 intel..
2/35 refinement.. 1/5 sensitivity..
dispo amount / something to give base obedience..

and so on..

i would just have to find a formula that compare the current skill with max skill and round them up or down for a 0-5 basis.. and that would work at and character lvl..
and it will only work 1 way.. Pytfall (unique/random)girls -> ST module.. every time they enter the dungeon.. that way the girl you send in will be the girl you worked on in Pytfall and not some predefined ( crap ) lol

I dont know if you had plans to sell slaves you trained to npcs or even slave markets but this could be 1 result of my ST mod.. and earn $$ in real game
Second ( on my mod ) would be to make her gain traits for the main Ptyfall after she met the requirement in ST module
Title: Re: General Discussion
Post by: DarkTl on October 28, 2015, 08:14:21 AM
And true there is obedience.. but is impaired by a lo of stuff so you will have to manage those thing.. even a max obedience she could refuse you if you did not manage the other things as well.. and obedience can drop too..
Again, we can assume that once the slave was trained and removed from ST module, she was trained properly and will not refuse any reasonable request (not any request at all, that would require mind control or something). Thus once training is successfully finished, we assume that her obedience is max and always will be max, and simply remove it from her stats.

But inside ST module nothing prevents us from adding obedience stat, and make one of ST goals to raise it.

Dark.. maybe you got a link to a website where i could find what each unique girl traits or basic stats/skills are?
We have this (http://www.pinkpetal.org/index.php?topic=3504.0) old thread that has some info, but it's quite outdated.

We have now charisma, constitution, character, intelligence, luck, agility, attack, defense, magic, health, vitality, mp as stats.

These are our skills:
Quote
SKILLS = set(["vaginal", "anal", "oral", "sex", "strip", "service", "refinement", "group", "bdsm", "dancing",
                               "bartending", "cleaning", "waiting", "management", "exploration", "teaching"])

For traits you need json files from db folder starting with "traits_". I can upload them somewhere if you have troubles with obtaining them from the repo.

does the stats in Pytfall individually increase by a fixed amount each lvl or not ?
I'm afraid it's a very complex matter. We changed traits logic in the dev version. Now you can write there something like "mod_stats": {"charisma": [1, 4]}, and the girl will have +1 to charisma every 4 levels. Thus depending on traits characters may or may not have bonuses per level.

At the same time by fixed amount we raise max levels of stats. +2 to max and +5 to absolute max per level. Absolute max is the max that cannot be exceeded no matter what. Normal max can be increased via items and training, until it will hit absolute max.

The system is complex, that's why it's so difficult to convert stats.
Title: Re: General Discussion
Post by: lamoli on October 28, 2015, 08:53:08 AM
I'm afraid it's a very complex matter. We changed traits logic in the dev version. Now you can write there something like "mod_stats": {"charisma": [1, 4]}, and the girl will have +1 to charisma every 4 levels. Thus depending on traits characters may or may not have bonuses per level.

At the same time by fixed amount we raise max levels of stats. +2 to max and +5 to absolute max per level. Absolute max is the max that cannot be exceeded no matter what. Normal max can be increased via items and training, until it will hit absolute max.

The system is complex, that's why it's so difficult to convert stats.

OK but does the stats showing in girl profile have all those modifier on.. like she had 30 con lvl stat + 5 con from item to cap at 35 max lvl stat ( does girl profile will show 35 ? )
Title: Re: General Discussion
Post by: Xela on October 28, 2015, 09:39:21 AM
I'm not sure yet how to build an interesting, original (taking JoNT system is obviously not original) and not oversimplified ST system. I have some ideas about training options, but not about system logic  :)

In this system unlike SM where your progress is.. ( linear ?? ) but like JoNT you dont have to unlock little by little.. you can force em to do it now but you will get penalty.. like fear/against increase.. or endurance/moral drop unless they got masochist trait or other relater stuff like those.. that will reduce penalty
And true there is obedience.. but is impaired by a lo of stuff so you will have to manage those thing.. even a max obedience she could refuse you if you did not manage the other things as well.. and obedience can drop too..
She could end completly in a broken state at some point.. but unlike JoNT i wont butcher/kill her.. ill just add some potion that you will need to make with alchemy to reset her to her original stats or just remove the broken state..

I have thought about it quite a bit and have a bunch of ideas that would take too long to properly put into a clear concept, main points and some simple examples are:

1) Getting an actor (*any character) to accept slavery and actual training are two separate things.

2) Most actors just fall into line or require a bit of persuasion (promise of release in 10/20 years of loyal service (not relevant to gameplay since it's unlikely that someone will play for so long)), promise to be allowed to have a family, small wage or rather keep a small percentage of profits with promise that an actor will be able to buy freedom.

3) If 2) fails, imprisonment/torture, if that fails as well and doesn't result in escape/mindbreak/death (in very extreme cases) ==> Sale to work in the mines (close to death sentence) or some rural area (where slaves are being systematically mistreated by uneducated serfs that just take their anger on someone who's below even themselves).

===
The general concept is closer to how it was in reality in ancient times, many educated/skilled slaves lead a much better lives than any surf (and cost up to 20x more than uneducated/unskilled once), in major cities, it was perfectly normal to free slaves and in Roman Empire, by law, masters had to provide freed slaves with a trade of their on some other source of income as well. Most people put into such a position would plainly fall in line.

JoNT/SM systems are f*cked up in this regard and while they do serve in a game that is solely based on ST (and you don't think about the content too much, just about the gameplay), they serve well. PyTFall is a broader concept and I don't see system like that working there.


I had a few ideas on training itself as well:

1) First possibility is training similar to schools.

2) Second possibility is to have auto-training similar to schools and a fun personal training that may be hard to make where an actor takes a requested action and MC, based on own relevant skills/stats can offer suggestion from a menu on how to an actor can be improved. Options here are almost limitless, system can start really oversimplified and gradually improve. This paired with a decent GUI, some animation, decent tag control can be fun as hell.


Also I am not opposed to adding a separate dungeon/some form of a torture chamber for player to play with as a mod or even main part of the game, I just don't want that to be directly related to ST.





My ultimate goal would be to make a Pytfall JoNT AA2 Love Girl combo in UE4.. all i need is logic and ST concepts as i can make the rest...
But first step ( and less time consuming will be making packs out of 3D rendered girls and 3D rendered BG i could use in UE4 while a develop a ST user mod system and get content for my mod or Pytfall in general)

I generally don't believe in indie 3D games of this scale, many have tried, not many succeeded and those who did usually modded an existing game like Elderscrolls/Fallout or something similar but starting with a 2D prototype is a great idea regardless.

Xela does the stats in Pytfall individually increase by a fixed amount each lvl or not ?

Depends on the version, in dev version they might. In Alpha max/lvl_max would increase on leveling up, I don't believe that extends to stats themselves. Health/MP/Agility are all maxed on on every level-up.

if so it will be easy to convert from Pytfall to my mod.. like lvl1 Boa:
17/60 charisma.. 2/5 Beauty
60/60 character.. could give 5/5 temper and 5/5 nature and 5/5 pride but her traits/arch type could reduce some of those numbers..
16/40 constitution.. 2/5 endurance..
6/60 intel.. 1/5 intel..
2/35 refinement.. 1/5 sensitivity..
dispo amount / something to give base obedience..

and so on..

i would just have to find a formula that compare the current skill with max skill and round them up or down for a 0-5 basis.. and that would work at and character lvl..
and it will only work 1 way.. Pytfall (unique/random)girls -> ST module.. every time they enter the dungeon.. that way the girl you send in will be the girl you worked on in Pytfall and not some predefined ( crap ) lol

http://stackoverflow.com/questions/929103/convert-a-number-range-to-another-range-maintaining-ratio

You can create a dict with stats {"st_intelligence": "intelligence", "st_beauty": "charisma"} and overwrite Girl.__setattr__/__getattr__ accordingly so the system works automatically.

I dont know if you had plans to sell slaves you trained to npcs or even slave markets but this could be 1 result of my ST mod.. and earn $$ in real game
Second ( on my mod ) would be to make her gain traits for the main Ptyfall after she met the requirement in ST module

Yeah, the trouble is that we scale a game a lot differently (time-wise) from JoNT as well. Training an actor in any skill properly may take an year or so, the way I wanted that to work is by making MC to look for skilled slaves, train them further/make sure that they are obedient and maybe resell them.

In new dev version we've introduced new "Base" (or class)-traits concept. Any actor can have up to two of these traits and they determine talents and occupation better than any other trait might to help with that system. I try to keep all the plans that can fit in my head and develop finalized versions of stats/traits/skills systems with those plans in mind...





OK but does the stats showing in girl profile have all those modifier on.. like she had 30 con lvl stat + 5 con from item to cap at 35 max lvl stat ( does girl profile will show 35 ? )

Yes, profile screen should show final values for stats and skills. As I've mentioned above, you can overwrite getattr/setattr special methods to convert your JoNT st stats directly on the fly so you'll always have the correct values. __getattr__ can be used to return proper values for JoNT module while __setattr__ can mod the PyTFall values directly if PyTFall stats are used and convert from JoNT to PyTFall (modding real PyTFall values) on the fly if you want to be able to increase JoNT values directly. This will work both really fast and convenient...
Title: Re: General Discussion
Post by: DarkTl on October 28, 2015, 10:22:51 AM
The general concept is closer to how it was in reality in ancient times, many educated/skilled slaves lead a much better lives than any surf (and cost up to 20x more than uneducated/unskilled once), in major cities, it was perfectly normal to free slaves and in Roman Empire, by law, masters had to provide freed slaves with a trade of their on some other source of income as well. Most people put into such a position would plainly fall in line.
I'm ok with other stuff, but prices...

I believe education or special skills per se were quite rare at that time. If we use this concept in ST, we take for granted that skills and education are just as rare in Pytfall as they were in Roman Empire 1500-2000 years ago, where they didn't have androids or magic (hopefully  :) ), that's a bit weird.

AND we don't have classless chars. They all have a class and can do something useful. Thus this concept is not believable, since we don't actually have many uneducated people in the city.
Title: Re: General Discussion
Post by: Xela on October 28, 2015, 11:49:44 AM
I'm ok with other stuff, but prices...

I believe education or special skills per se were quite rare at that time. If we use this concept in ST, we take for granted that skills and education are just as rare in Pytfall as they were in Roman Empire 1500-2000 years ago, where they didn't have androids or magic (hopefully  :) ), that's a bit weird.

I wouldn't call that weird, Androids are foreign to PyTFall and are not a part of city/world design (aka they are not created/manufactured there). There could be portals to other worlds or other cities with different systems but I've wrote already that literacy should become a large part of gameplay design after ST training is introduced, in fact I recall writing that as part of a huge post similar to the one above (but prolly more detailed). Magic was a popular thing in Roman times, accepted or outlawed depending on the period, I don't recall anything about it's effects on literacy and cannot see how even "real" magic concept used in PyTFall is supposed to effect it.

AND we don't have classless chars. They all have a class and can do something useful. Thus this concept is not believable, since we don't actually have many uneducated people in the city.

Holy cr@p... how many times can we discuss the same thing over and over again until we are synced on the concept... even in the last post:

In new dev version we've introduced new "Base" (or class)-traits concept. Any actor can have up to two of these traits and they determine talents and occupation better than any other trait might to help with that system.

"talents" and "occupation", base traits do not guarantee that an actor is educated to do the job, at low levels and skills it simply means that the said actor is willing to do the job and has a talent for it (as in ability to gain relevant skills at faster rate and be allowed to push max stat levels faster). An actor with Warrior and Mage as the two main base traits, can still have up to four other basetraits but without super effects applied so such an actor can be Maid or a Prostitute as well but that would be a stupid and sh1tty setup which will never result in anything good because any actor with proper traits will be able to do those jobs better.

- In the same sense a lvl1 Warrior sent to a high level SE area may not even return...
- A lvl1 Prostitute with low skills will not be able to satisfy Customers and will end up causing you income especially in high end Brothels.
- A low skills craftsman of any kind when we'll have them will not be able to craft a damn thing (once we have them).

and etc.

You need to separate those things in your mind. I didn't want any actor to be able to become anything at all, neither did I want them all to be the same/have the same stats. Our system covers most of such concerns and does that well (I hope so at least, we need to finish it first).
Title: Re: General Discussion
Post by: DarkTl on October 28, 2015, 12:14:40 PM
The influx of residents from other worlds brings moar technology and knowledge. Meanwhile Roman Empire hardly had a good opportunity to learn something new from other countries as one of the most developed countries at that time.
The very fact that people from worlds where they know how build an android come to the Pytfall world in appreciable quantities inevitably raises the quality of education little by little.

base traits do not guarantee that an actor is educated to do the job
It's not true, classes also have good initial bonuses by design. Init_skills, init_mod, mod fields which you allowed for me to use there.
Title: Re: General Discussion
Post by: lamoli on October 28, 2015, 12:19:35 PM

Yes, profile screen should show final values for stats and skills. As I've mentioned above, you can overwrite getattr/setattr special methods to convert your JoNT st stats directly on the fly so you'll always have the correct values. __getattr__ can be used to return proper values for JoNT module while __setattr__ can mod the PyTFall values directly if PyTFall stats are used and convert from JoNT to PyTFall (modding real PyTFall values) on the fly if you want to be able to increase JoNT values directly. This will work both really fast and convenient...

Im rather new to python so if its not too much trouble could you show me a code example with chr(self).charisma ( from pytfall ) to chr(self).baeurank (My Mod)

class Girl(PytCharacter):
    def __getattr__(self, key):
        ??? ???
    def __setattr__(self, key, value):
        ??? ???

I tryed the code from ( http://stackoverflow.com (http://stackoverflow.com) ) and worked perfectly on IDLE 3.4 ( i just need something to round up or down.. and a example with __getattr__ __setattr__

atm in using this " chr.baeurank = remap(chr.charisma, 0, chr.get_max("charisma"), 1, 5) " inside girl_sttraining and works well.. but know that you mentioned __getattr__ __setattr__ im curious on how it work as it would clean my code a lot
Title: Re: General Discussion
Post by: lamoli on October 28, 2015, 05:20:36 PM
Update..

https://mon-partage.fr/f/dug5oQyJ/ (https://mon-partage.fr/f/dug5oQyJ/)

Now rules does something that can train your girl passively and her mood / cleanness will drop as they should be ( missing a lots of pictures so iv let nearly all the training actions without ( pictures / text and will increase rank each click.. test mode ) but your girls get her stats skills from the main game now.

There is 1 thing you will notice.. if you do not visit her daily her passive training wont progress.. ( neither her mood/cleanness drop over time )
so you can let her be there for a few days if you want then resume her training later.

And this time Leather Lingerie and Mistress Boots will give you +2xp each or 4 as a set..
Title: Re: General Discussion
Post by: Xela on October 28, 2015, 05:27:53 PM
...

You're nitpicking... please stop.

The influx of residents from other worlds brings moar technology and knowledge. Meanwhile Roman Empire hardly had a good opportunity to learn something new from other countries as one of the most developed countries at that time.
The very fact that people from worlds where they know how build an android come to the Pytfall world in appreciable quantities inevitably raises the quality of education little by little.

So what? What can the best microchips engineer from our time do with tech from 200 years ago? Not a damn thing... tech and manufacturing infrastructure required to utilize that know-how is not realistic to introduce in that time period, it would have to be done little by little based on knowledge of one mortal man.

Also literacy depends on public education that is free and obligatory, not the level of knowledge or technology. Some backgrounds in the game do suggest a mixed world from tech/magic but we do not specify the levels or origin of that, at least not yet.

We can do with literacy whatever we like, even in rl world, there are many countries with really low literacy ratios.

It's not true, classes also have good initial bonuses by design. Init_skills, init_mod, mod fields which you allowed for me to use there.

Yeah but that's not educated for the task, if you are adding skills in high hundreds and stats in 4/5 dozens as init bonuses, you're designing them very, very wrong. Those init bonuses are there not to make sure that a character can do the job with ease at level one.

I'll come up with a good setups for characters so the world is not populated just with the level 1 but I can do that only after I can see the working system clearly.
Title: Re: General Discussion
Post by: Xela on October 28, 2015, 05:47:10 PM
Im rather new to python so if its not too much trouble could you show me a code example with chr(self).charisma ( from pytfall ) to chr(self).baeurank (My Mod)

class Girl(PytCharacter):
    def __getattr__(self, key):
        ??? ???
    def __setattr__(self, key, value):
        ??? ???

I tryed the code from ( http://stackoverflow.com (http://stackoverflow.com) ) and worked perfectly on IDLE 3.4 ( i just need something to round up or down.. and a example with __getattr__ __setattr__

atm in using this " chr.baeurank = remap(chr.charisma, 0, chr.get_max("charisma"), 1, 5) " inside girl_sttraining and works well.. but know that you mentioned __getattr__ __setattr__ im curious on how it work as it would clean my code a lot

I don't have access to Alpha code right now so I cannot write the correct code that is guaranteed to work.

The idea is:

Code: [Select]
class Girl(PytCharacter):
   
    ST_STATS = {"st_intelligence": "intelligence", "st_beauty": "charisma"}

    def __getattr__(self, key):
        if key in self.ST_STATS:
            return convert_from_pytfall_to_jont(self.ST_STATS[key], *any_args_you_may_require)
    def __setattr__(self, key, value):
        if key in self.ST_STATS:
            pkey = self.ST_STATS[key]
            value = convert_from_jont_to_pytfall(pkey, *any_args_you_may_require)
            setattr(self, pkey, value)

The idea is to have getattr returning the on the fly converted values whenever requested and setattr to modify just the pytfall stats. This way you don't even need to maintain values for JoNT at all, just he PyTFall once and two conversion functions.

This is a prototype and may not work properly since special methods are tricky but it should most definitely be possible to get it to work this way.
Title: Re: General Discussion
Post by: felinow on October 28, 2015, 10:36:13 PM
Hi everyone, only wanted to say I love the proyect and I'm really interesed in this, as DarkTl say in another response I downloaded the repository to test the game and look at it, I'm a amateur developer on renpy so of course I'm curious about the code.


I wanted to help but after two days of read coding I got to the conclusion that this more complex that I can help, Anyway, I liked to let you know that i'm on GitHub looking at the repository, This game got me some ideas to try next time.


This moment I'm "working" (at a really low pace) on a game based on the old sim dates, at first the idea was simple but as you expect the game became a "little" complicated, as you can see think about the feaures is easy, the hard part is make it work.


But I'm not here to talk about it, for now I want to try make a game where I can generate generic npc and make a dinamic gameplay.
¿Any suggestion about it? (on the coding aspect)
Title: Re: General Discussion
Post by: DarkTl on October 29, 2015, 02:40:40 AM
You're nitpicking... please stop.
I can't ignore flaws in lore logic like you do  ::)

So what? What can the best microchips engineer from our time do with tech from 200 years ago? Not a damn thing... tech and manufacturing infrastructure required to utilize that know-how is not realistic to introduce in that time period, it would have to be done little by little based on knowledge of one mortal man.
Ah, but we talking not about microchips. We talking about basic education and skills. You can't expect the same level of education as 2000 freaking years ago when there are hundreds if not thousands educated characters coming from portals for years since WM.

We stop using portals from parallel worlds as universal excuse if you want people to be uneducated.

We can do with literacy whatever we like, even in rl world, there are many countries with really low literacy ratios.
Let's talk about it after these countries  will have a steady flow of educated people with nowhere to go.

Yeah but that's not educated for the task, if you are adding skills in high hundreds and stats in 4/5 dozens as init bonuses, you're designing them very, very wrong. Those init bonuses are there not to make sure that a character can do the job with ease at level one.
I'm afraid the difference between 50 anal and 500 anal is a bit vague for me, especially since skills are not limited by anything. Stats at least have max levels, so it's more obvious for them.
Title: Re: General Discussion
Post by: DarkTl on October 29, 2015, 03:24:39 AM
But I'm not here to talk about it, for now I want to try make a game where I can generate generic npc and make a dinamic gameplay.
¿Any suggestion about it? (on the coding aspect)
We have random characters, they are pretty close to your idea of generating npcs.
Title: Re: General Discussion
Post by: Xela on October 29, 2015, 04:42:37 AM
I can't ignore flaws in lore logic like you do  ::)

Those are not flaws (as I've pointed out). You're just coming up with some bs arguments :(

Ah, but we talking not about microchips. We talking about basic education and skills. You can't expect the same level of education as 2000 freaking years ago when there are hundreds if not thousands educated characters coming from portals for years since WM.

We stop using portals from parallel worlds as universal excuse if you want people to be uneducated.

No, we don't have to. As I've said, literacy ratio and accessibility of knowledge/technology levels are two completely different things, see details in my previous post.

Let's talk about it after these countries  will have a steady flow of educated people with nowhere to go.

But there are always educated people... we're not talking about the whole city not being able to read or write (we do have a library/academy). People are not falling into PyTFalls dimension by thousands, we've agreed that most chars are local with similarities in their traits/skills to how they are in the original sources.

Even if educated people are falling in through the portals:

1) There knowledge may not even be useful in context of the dimension that is new to them.

2) There is no guarantee that laws of nature (physics/biology/magic) are the same.

3) Most games skip this part, but they are not even supposed to speak the local languages right off the bat.

4) In order to survive, they need to learn about local world, customs and etc. instead of keep talking how great their worlds might be.

5) They have no rights in the new dimension and are very likely to become slaves, further curtailing their ability to teach masses.


I can't understand your arguments here... I've said that literacy ratio among population is very, very different from the level of education/knowledge/skills of some individuals, you're ignoring that and saying that we're not talking about microchips?

Post 1:
Quote
Also literacy depends on public education that is free and obligatory, not the level of knowledge or technology.

Post 2:
Quote
Ah, but we talking not about microchips. We talking about basic education and skills.

How is this a discussion? Microchips were simply an example of how very advanced knowledge from someone who comes from a very different world could be absolutely useless not just in a different world, but in the same world just a little bit out of time... I offered that example to explain my view on:

The influx of residents from other worlds brings moar technology and knowledge. Meanwhile Roman Empire hardly had a good opportunity to learn something new from other countries as one of the most developed countries at that time.
The very fact that people from worlds where they know how build an android come to the Pytfall world in appreciable quantities inevitably raises the quality of education little by little.

and I do not consider it to be relevant for reasons stated in precious post and more detailed here.

I am hopefully making my views on the matter clear, if you disagree, stop nitpicking on small issues and offer alternatives or explanations on why there should be a high literacy ratio in a world/city where slavery, prostitution, combat and bloody slave revolts are huge things instead of industrialization, technology, research and etc.

I'm afraid the difference between 50 anal and 500 anal is a bit vague for me, especially since skills are not limited by anything. Stats at least have max levels, so it's more obvious for them.

I think we can count on a normal increase of true skill point per day (per skill, anal/sex for example can go up 1 each). 2 skill points should be a very generous increase, 2.5 - 3 the maximum outside of events/items/traits. Minimum range will be 0 and for maximum I'll prolly take a mean of 10 highest values in the generated world per skill unless that proves to difficult to manage.
Title: Re: General Discussion
Post by: Xela on October 29, 2015, 05:10:34 AM
Hi everyone, only wanted to say I love the proyect and I'm really interesed in this, as DarkTl say in another response I downloaded the repository to test the game and look at it, I'm a amateur developer on renpy so of course I'm curious about the code.

Hello.

This moment I'm "working" (at a really low pace) on a game based on the old sim dates, at first the idea was simple but as you expect the game became a "little" complicated, as you can see think about the feaures is easy, the hard part is make it work.

The more you advance the concept and ideas, the harder it becomes to code and to maintain the code and those concepts. Simple datesim however should not be too difficult.

But I'm not here to talk about it, for now I want to try make a game where I can generate generic npc and make a dinamic gameplay.
¿Any suggestion about it? (on the coding aspect)

No specifics with so little details provided. I can mention general conclusions I came to while coding for PyTFall where we, as Dark mentioned have, have randomly generated characters to interact with.

1) You'll need a class with characters data holding stuff like equipment, stats, traits, flags and etc. etc. I usually like to start with one huge class and split it once that becomes to difficult to manage. I did that with our Char class once that got to 2800 lines (creating parent class common to all actors, not just the actors that can be interacted with or employed, moved stats to separate class, moved Traits to a separate class, refactored some stuff), once refactored it was less that 1000 lines. Usually devs make small classes from the get go but I like having everything at one place until system is more or less setup.

That may be not relevant to you, I don't think that I've ever seen SimDate game with large character classes.

2) Either a factory method/class/func or a simple func (like we use in PyTFall)/classmthod to generate that random character(s). They will all do the same thing with various degrees of convenience.

3) Interactions (talking/actions) we put in labels and fork based on personalty/traits/stats and etc. That is actually very convenient and proper coding for Ren'Py. One main label calls a normal or custom menu with choices for actions/interactions, rest are just normal jumps or calls.

4) Maybe one last small tip is the GerericNPC.say = Character("Name", **kwargs) that we are using, this way you can customize and bind Ren'Py Sayer class to your NPC directly, that is very useful.


This is an excellent setup that will never fail or crap out on your (prolly the best for Ren'Py) and is easy to code in (you can come up with a simplified version in a day (or a couple of hours if you did something like that before)). Problem with it that it can be expanded indefinitely so where you calling it quits (enough for your game) is up to you :)
Title: Re: General Discussion
Post by: Xela on October 29, 2015, 05:39:36 AM
...

Oh, and I forgot one very important trick I picked up from Eliont, when you create your random NPCs to interact with, if you are planning to keep them and allow interaction later, you can do this:


Code: [Select]
init python:
    class GerericNPC(object):
        def __init__(self, id, *args, **kwargs):
            self.id = id # Must always be unique! We use a lot of random names and surnames from simple txt files, since there are hundreds/thousands of them, collisions are not likely but you can always check for them if you like.
            # Rest of the code...

label start:
    $ chars = {}
    python:
        for i in range(100):
            char = GerericNPC(generate_random_id(), *args, **kwargs)
            chars[char.id] = char

This way your renpy.store is cleaner and you can access characters using their ids for testing and other stuff. This is even more useful if you even decide to add unique characters.
   
   
Title: Re: General Discussion
Post by: DarkTl on October 29, 2015, 05:59:16 AM
we're not talking about the whole city not being able to read or write (we do have a library/academy).
You mentioned many times that slaves capable of reading and writing were very expensive. I figured we have the same situation, when even such skills are rare.

3) Most games skip this part, but they are not even supposed to speak the local languages right off the bat.
Damn. It's a good point, I kinda forgot about the language barrier, it makes education from other worlds quite useless  :D

We can use this stuff in ST module, when slaves with specific traits should also be taught the language in order to understand you.
Title: Re: General Discussion
Post by: Xela on October 29, 2015, 06:39:00 AM
You mentioned many times that slaves capable of reading and writing were very expensive. I figured we have the same situation, when even such skills are rare.

Yeap, but your figured correctly. I think it was Augustus who caused major uproar when he replaced corrupt private tax collectors with those appointed by the state (himself). Funny thing is that major part of those he appointed were literate slaves which he considered loyal to him (freed for the task ofcource)... another famous example is some Roman entrepreneur buying out all slaves (scribes) that he could find and putting them to work copying books (which were ridiculously expensive at the time). Price of the books soon fell like 50 times but he still made a killing :)

Damn. It's a good point, I kinda forgot about the language barrier, it makes education from other worlds quite useless  :D

We can use this stuff in ST module, when slaves with specific traits should also be taught the language in order to understand you.

I am planning to :) This will be a unique system that can be a lot of fun if implemented properly along with all the other ideas. Language thing should be a flag unique to those who are caught during the exploration and some rarer cases in the Market.


I put such an emphasis on difference between knowledge and education (more specifically literacy) because I was always really good with number almost effortlessly acing math, physics and economics. Once I came across a book (modernized from papyrus or something like that) from something like 2500 years ago and holy crap... it was (proper) math I couldn't understand without reference guides even when I was still studying and prolly wouldn't understand now even with the guides, at least not immediately.

They already had insane amount of knowledge and used a lot of it to build incredible things and advance their tech but that didn't really reflect in high literacy ratio among the general populous. So I figure that scribes should (or at the very least can) be a demanded profession in PyTFall, there is also a lot to learn there like multiple languages or proper handwriting so it can be a skill as well.
Title: Re: General Discussion
Post by: lamoli on October 29, 2015, 08:29:26 AM
does renpy have something like real time interactions or its just img/img
Title: Re: General Discussion
Post by: lamoli on October 29, 2015, 09:32:45 AM
I need more interaction.. i have a few ideas but to do so it would require some kind of active interaction in Renpy..
and m still missing something so maybe i will add..

GK mod ( Girl Kidnapper mod )

Its fine to buy a slave and make her work in your brothel.. or ask a free girl to work for you as long as you can get her to what? ( 800-900 disposition.. >.< )
But what if you met a girl around the city and decided i want her to work for me now..
Of course i could just send her to your brothel.. but where is the fun in that.. so here i will propose:

Changes in:

Location.. (from current Dev map) Areas around:
    Richford would have [ high security / 3-4 guards ]
    Midtown would have [ med security / 2-3 guards ]
    flee bottom would have [ low security / 1-2 guards ]
    forest( or areas far from city ) would have [ no security / 0-1 npc ](ex: traveler who decided to help a damsel in distress)

    of course the spawning chance of girls in no/low security will be low

Interaction.. ( as usual ) with..
    offer a drink ( if you have some kind of alcohol with you.. but will require some disposition first or refuse )
        if success ( girl will get drunk flag )
    kidnap..
        Check area security.. ( will inform you of the number of guard in the area and this number will reduce the chance factor )
        Grab her [x%chance] ( chance of 100%-area security+your skill at kidnapping )
            if fail ( 100%-x%chance guards will show up and you will need to fight )(number of guard are determined by area security )
            if success ( interaction screen where you need to make the girl submit to either knock her out or chloroform her )
                if fail (she will run away and you wont be able to interact with her for a number of days)
                if success (she will be send to the dungeon where she will learn how to behave as a slave)

Submition screen..

Girl will start with a resistance value that will increase each time you act
Her body will be divided into areas you can act on.. and this will lower her resistance.. ( dunno if there is a active mode in Renpy but could be done with hidden square areas if not )
if you press the same area twice the effect has (50%-your domination skill) chance to be lower or equal than her rise point
if you press a different area the effect has (50%+your domination skill) chance to be higher or equal than her rise point
every 10 resistance the image will switch showing your progress

Girl resistance 0-30 ( depending on [ her traits / the location it happened / her character ] she will get a base number ) could also reduce number if you made her drunk by interactions
Girl resistance increase ( depending on [ her traits / her character ] )

Success: you can either;
        knock her out ( will add bruises on her and lower her mood/xp gain while training later until they self heal )
        chloroform her ( she will go unconscious but you will need to have 1 of those bottles in your inventory )
Fail: (she will run away and you wont be able to interact with her for a number of days)


Hero..
will have kidnapping/domination and other skill to make her submit in either this kidnapping phase or dungeon training

Of course it needs to be refined a lot but could be a start.
Title: Re: General Discussion
Post by: DarkTl on October 29, 2015, 10:22:44 AM
You talk about menus with checks.

You can write stuff like
Quote
menu:
"What would you like to do?"
    "Offer a drink" if location == "bar":
        if dice(50):
           jump girl_gets_drunk
        else:
            "She is not in the mood"
    "Try to attack her":
        $ i = 1
        while i == 1:
            menu:
                "Check area security":
                     <checks for security>
                "Grab her":
                    if dice(40):
                         "Success!"
                         $ i=0
                    else:
                         "She runs away. Sux 2 b u m8"
                          $ i=0
Title: Re: General Discussion
Post by: lamoli on October 29, 2015, 10:29:56 AM
Yes but real problem will be the submission screen.. so far iv never seen something real time actions like a counter that goes from 10-0 while doing nothing or selection areas other than square shaped..

but as iv said for that screen its possible with those but.. if there was a more active part in renpy i could do a lo more ( as interactivity with girls/BG )
Title: Re: General Discussion
Post by: DarkTl on October 29, 2015, 11:00:11 AM
Yeah, that probably would require some work with screen language. Xela can help with it, not me.
Title: Re: General Discussion
Post by: Xela on October 29, 2015, 02:53:49 PM
does renpy have something like real time interactions or its just img/img

Yes, Ren'Py has functionality like this but don't forget that Ren'Py has nearly the full functionality of Python which has abundance of "real time" modules, offering pretty much anything you could imagine.

Yes but real problem will be the submission screen.. so far iv never seen something real time actions like a counter that goes from 10-0 while doing nothing or selection areas other than square shaped..

but as iv said for that screen its possible with those but.. if there was a more active part in renpy i could do a lo more ( as interactivity with girls/BG )

Yeah, that probably would require some work with screen language. Xela can help with it, not me.

Dark is right, the very simplest way to make a counter from ten to one (assuming those are seconds) is a screen timer (http://www.renpy.org/doc/html/screens.html#timer). There are many other options in Ren'Py and Python (it is even possible to run a timer in a separate thread) but there can be no plainer/simpler way than the use of onscreen timer.
Title: Re: General Discussion
Post by: Xela on October 29, 2015, 06:15:24 PM
@Dark

Last I've checked a few month back there were a lot of comments with what had to be done for your events, now there are a couple of mentions of SE and that seems to be it? I've fixed some code (just for better syntax) and slightly better English in Ino/Sakura file (which someone else could have done better).

I guess that you've solved all the technical stuff and issue I've start is useless?
Title: Re: General Discussion
Post by: DarkTl on October 30, 2015, 04:19:18 AM
We always could use better vortex function. Or, rather, a universal teleportation animation (if you can think of a better one than the vortex) that will suit anyone. Like, I don't know, take character sprite, slowly make it black/gray/any other color depending on settings and split into pieces that disappear while flying away. And vice versa too, when the sprite appears. And with ability to control how fast all this is going on.

I also want a better (prettier than via menus) way to change party members outside of usual gui, ie during vn scenes.

Other than that, I just need better triggers to run labels for events and advance/finish quests, right after next day for example.

And of course we need SE. A good SE.
Title: Re: General Discussion
Post by: lamoli on October 30, 2015, 08:33:20 AM
Here.. i got closer to anime character shader for my rchar or unique char

https://mon-partage.fr/f/7Z7UMbMT/ (https://mon-partage.fr/f/7Z7UMbMT/)

Too bad camera/light is not positioned as original picture but you can see the result..
of course this test is V1 ( 1 color for body.. i need to add genitals details and blush/makeup overlay ) but with this render you could think its hand drawn :D

once its perfected i could remake all the unique girl pack without any troubles and finally erase those ugly pictures and normalize how the girl looks like for each action..

Edit:
Need to swap the hair type to get anime result ( as the result is bad with this hair type using that shader )
I also forgot to change the irons to anime look like but not a issue.
Title: Re: General Discussion
Post by: DarkTl on October 30, 2015, 10:34:56 AM
You don't have to remake popular packs like touhou/DOA/one piece/etc though, there are many hundreds and even thousands of very high quality pictures.

On the other hand, you can actually add there more characters that don't have enough pictures to be in packs.
Title: Re: General Discussion
Post by: lamoli on October 30, 2015, 02:53:32 PM
Update v1->v2

https://mon-partage.fr/f/3M4ktLXl/ (https://mon-partage.fr/f/3M4ktLXl/)

BTW do you think its good enough.. i mean its a render done really quickly without edits.. so compared to some artist its simple..
But in the future when i have more time i might enhance the end quality result.. unless you know someone who wants to edit those..
Title: Re: General Discussion
Post by: lamoli on October 30, 2015, 03:04:21 PM
You don't have to remake popular packs like touhou/DOA/one piece/etc though, there are many hundreds and even thousands of very high quality pictures.

On the other hand, you can actually add there more characters that don't have enough pictures to be in packs.

Im afraid i will have to do a lot of those.. because each artist have their own style making those girls.. and it shocks me when they suddenly goes from slim normal boobs size to fat with humongous boobs ( personal preference of the artist but not mine lol )
Title: Re: General Discussion
Post by: DarkTl on October 30, 2015, 03:29:45 PM
I like your previous renders much more. These last two look weird.

Personally, I do not mind non-anime packs if they look good. After all, there are even packs with real life porn actors in WM.
Title: Re: General Discussion
Post by: Xela on October 30, 2015, 03:37:31 PM
Previous 3D did look a bit better. One thing to consider that for slightly authentic Anime look, you may want to add lines to make it look more like it was drawn:

(http://s24.postimg.org/4xt62ndzl/chr1againstexposed1.png) (http://postimg.org/image/4xt62ndzl/)  (http://s24.postimg.org/cp9w17i4x/chr1againstexposed1animev2.png) (http://postimg.org/image/cp9w17i4x/)

You also may want to post them using a more appropriate image hosting service, your archives create nothing but clutter in downloads folder and take time to unpack/enter password without any reason at all.
Title: Re: General Discussion
Post by: lamoli on October 30, 2015, 04:31:36 PM
You also may want to post them using a more appropriate image hosting service, your archives create nothing but clutter in downloads folder and take time to unpack/enter password without any reason at all.

Id like to but no idea how to link them here as images
Title: Re: General Discussion
Post by: lamoli on October 30, 2015, 04:33:15 PM
I like your previous renders much more. These last two look weird.

Personally, I do not mind non-anime packs if they look good. After all, there are even packs with real life porn actors in WM.

If i want to redo some unique girl packs i need the last 2 result cuz more like 2d drawings than 3d textured rendering
Title: Re: General Discussion
Post by: Xela on October 30, 2015, 04:43:12 PM
Id like to but no idea how to link them here as images

You pick any service that allows hosting adult pics (there are like a million of them) and upload the images there, it's usually a really simple two - three mouse clicks process. Once uploaded, you will get ready to use, properly formatted code that you can paste in your post like:

Code: [Select]
[url=http://postimg.org/image/4xt62ndzl/][img]http://s24.postimg.org/4xt62ndzl/chr1againstexposed1.jpg[/img][/url]
Title: Re: General Discussion
Post by: lamoli on October 30, 2015, 06:12:11 PM
Ok lets try to post a img...

(http://s20.postimg.org/jlux9p4e1/chr1againsttied1animev2.jpg) (http://postimg.org/image/jlux9p4e1/)

Ok its working..

(http://postimg.org/image/jlux9p4e1/)
Title: Re: General Discussion
Post by: Xela on October 30, 2015, 06:45:18 PM
Quality seems a bit low and it still needs more lines to justify this "anime" variant over previous 3D renders (which were really good).

I finally managed to advance jobs a bit (rl is killing me), I'll be busy tomorrow but Sunday might actually be a day when I can put in some serious time into jobs.

Gnight.
Title: Re: General Discussion
Post by: Xela on October 30, 2015, 06:49:38 PM
Ok lets try to post a img...

(http://s20.postimg.org/jlux9p4e1/chr1againsttied1animev2.jpg) (http://postimg.org/image/jlux9p4e1/)

Ok its working..

(http://postimg.org/image/jlux9p4e1/)

Another thing, besides the lines it is the lack of expression that looks really off in the "anime" variant. When artists draw their art, it takes a long time/lots of effort so they usually make the faces look more "alive". In 3D variant lack of clear contours/better lining and simpler faces never bother, prolly because that is more or less expected from 3D art.
Title: Re: General Discussion
Post by: lamoli on October 30, 2015, 07:22:19 PM
Ok like i said its not finished i need to put more work on that shader to be able to do unique girls.. but i could do random chars with my previous renders i guess..
Title: Re: General Discussion
Post by: Baal on October 31, 2015, 03:39:55 AM
Might help, take a look at Artificial Academy it's all about 3D with anime influence for example this might help you

http://gelbooru.com/index.php?page=post&s=view&id=2883339 (http://gelbooru.com/index.php?page=post&s=view&id=2883339) check the tag for Artificial Academy 2
Title: Re: General Discussion
Post by: lamoli on October 31, 2015, 07:03:14 AM
Yeah i know about it but they does not look like hand drawn unique girls.. until i perfect my shader ill stick with more 3d look like..


(http://s20.postimg.org/3vo34o67t/chr1blowjob_V1.jpg) (http://postimg.org/image/3vo34o67t/) (http://s20.postimg.org/8r9swrtrt/doggy.jpg) (http://postimg.org/image/8r9swrtrt/) (http://s20.postimg.org/gcm0jq3jt/footjob.jpg) (http://postimg.org/image/gcm0jq3jt/) (http://s20.postimg.org/h3eqpi5x5/handjob.jpg) (http://postimg.org/image/h3eqpi5x5/) (http://s20.postimg.org/rrn3235a1/onside.jpg) (http://postimg.org/image/rrn3235a1/) (http://s20.postimg.org/aothy23cp/ontop.jpg) (http://postimg.org/image/aothy23cp/) (http://s20.postimg.org/kwgmo7eyh/rape_MF.jpg) (http://postimg.org/image/kwgmo7eyh/) (http://s20.postimg.org/elg0lj33t/rimming.jpg) (http://postimg.org/image/elg0lj33t/) (http://s20.postimg.org/cshpay7ax/titjob.jpg) (http://postimg.org/image/cshpay7ax/) (http://s20.postimg.org/nj5bwmkxl/sitting.jpg) (http://postimg.org/image/nj5bwmkxl/) (http://s20.postimg.org/re44lgepl/chr1againstexposed1.jpg) (http://postimg.org/image/re44lgepl/) (http://s20.postimg.org/6ihua7iih/chr1desireexposed1.jpg) (http://postimg.org/image/6ihua7iih/) (http://s20.postimg.org/vr2o3vng9/chr1normalexposed1.jpg) (http://postimg.org/image/vr2o3vng9/)

Not highest quality but alright for 10 min rendering..
And with a little work i could animate them.. but i guess its best to have only 1 picture / action.. then make 3 variants for mood then animation..
Sorry if you dont like expressions.. i just got no imagination.. so unless i see how it should be there is almost now way i could make those right.
Title: Re: General Discussion
Post by: DarkTl on October 31, 2015, 01:28:08 PM
Yup, I like these ones.
Title: Re: General Discussion
Post by: lamoli on October 31, 2015, 01:53:20 PM
Now someone draws me slave rags that would conform to pytfall theme .. even by hand and ill make that girl wear it..
Title: Re: General Discussion
Post by: Xela on October 31, 2015, 02:25:20 PM
I am not good with drawing, neither is Dark. You can take a look at the beggar girl NPC, er clothing will do. Rags are however not a very important part of the game anyway, so we can do without them.
Title: Re: General Discussion
Post by: lamoli on October 31, 2015, 05:03:10 PM
Ermm.. if Pytfall was for only Asian slave that beggar rags would do.. i need something neutral, something she would wear inside a prison ( and not get too cold )
Title: Re: General Discussion
Post by: lamoli on November 01, 2015, 07:57:43 PM
A try for slave garments..


(http://s20.postimg.org/dvgqj8ha1/rags1.jpg) (http://postimg.org/image/dvgqj8ha1/) (http://s20.postimg.org/3mo9det89/rags2.jpg) (http://postimg.org/image/3mo9det89/)

I used small ropes to attach the top parts around the shoulders so if you need to whip her back you untie them then the top back part will fall down till the rope.. ( seen that thing in a movie i think )
Maybe it need to be ragged on sides and top part as well.. if you have ideas to improve it let me know..
Title: Re: General Discussion
Post by: Xela on November 02, 2015, 05:43:29 AM
Excellent, it's more than great. As I've already said, rags are prolly not the most important clothing but this can be useful on occasion.

===
I've sneaked in a bit of an update to Jobs/Businesses. Loads of cleanups that really got in the way of proper development, I will still be hacking at it for a while I expect but this is a huge break through because now I can work on it one hour at a time without getting confused by dozens on lines of old and now useless code. Main loops for two Job types "Personal Service" (Whore Job type) and "Public Service" (Club/Bar type) are getting better, more mature and steamlined all the time. Soon I'll add last time which should be the simplest "Task Type" (Building) and "Management Type". Then I'll prolly take care of interface and other required logic for new businesses and explain how everything works. Later we can come up with cool upgrades for them.
Title: Re: General Discussion
Post by: DarkTl on November 02, 2015, 08:06:33 AM
It looks good enough. I would appropriate if you render the first picture without a character, I could use it as an icon for rags item.
Title: Re: General Discussion
Post by: lamoli on November 02, 2015, 10:20:34 AM
On that picture i forgot to correct freestyle on the eyebrows so they look really strange..

I will make a rendering template to turn clothing into icons.. that way i can process them all with 1 file.. once its done you will have them.
1 thing i noticed is the icon size goes from 446x446 to 120x120.. you have a preferred resolution ? ( higher work best for resize in general.. i think )
Title: Re: General Discussion
Post by: DarkTl on November 02, 2015, 11:07:36 AM
Yeah, we use any good icons we can find since we cannot afford to draw them all, and I manually resize only really huge ones. I think 200x200 would be a perfect size.
Title: Re: General Discussion
Post by: Xela on November 02, 2015, 11:13:26 AM
We should massresize all items icons to 200x200 or smaller. There is no point in loading larger files into memory and that will cause delays even after I normalize image prediction.
Title: Re: General Discussion
Post by: DarkTl on November 02, 2015, 12:43:50 PM
Done. Prepare for a huge push  :)
Btw I noticed that we don't support light and dark background for items any longer. Is it intentional?
Title: Re: General Discussion
Post by: Xela on November 02, 2015, 01:02:10 PM
Btw I noticed that we don't support light and dark background for items any longer. Is it intentional?

Yeah, Gismo hated that so he came up with something in between and told us not to use any icons that may look bad with it :)
Title: Re: General Discussion
Post by: Gismo on November 02, 2015, 05:50:56 PM
Btw I noticed that we don't support light and dark background for items any longer. Is it intentional?
Yeah, Gismo hated that so he came up with something in between and told us not to use any icons that may look bad with it :)

Different backgrounds looks really bad. This decision most affected category - weapons.
In many games developers differently approached this problem or simply refused badly looking items.
It is better to abandon such items. But I have a few ideas of how it can be solved with us, we just have to try )
Title: Re: General Discussion
Post by: lamoli on November 03, 2015, 07:29:19 PM
Hmm...

(http://s20.postimg.org/rjnlgxawp/Gym_Clothes.jpg) (http://postimg.org/image/rjnlgxawp/) (http://s20.postimg.org/hetj53hq1/Gym_Full.jpg) (http://postimg.org/image/hetj53hq1/) (http://s20.postimg.org/id5atn5o9/Sporty_Clothes.jpg) (http://postimg.org/image/id5atn5o9/) (http://s20.postimg.org/jxf85s3g9/School_Swimsuit.jpg) (http://postimg.org/image/jxf85s3g9/) (http://s20.postimg.org/a1e564xo9/Ninja.jpg) (http://postimg.org/image/a1e564xo9/) (http://s20.postimg.org/e6p1s1vg9/Ninja_Full.jpg) (http://postimg.org/image/e6p1s1vg9/) (http://s20.postimg.org/bb7d7g22h/Slave_Rags.jpg) (http://postimg.org/image/bb7d7g22h/) (http://s20.postimg.org/czb3zu5bt/Mikoaverageview.jpg) (http://postimg.org/image/czb3zu5bt/) (http://s20.postimg.org/3q8xppwft/Miko_Normal.jpg) (http://postimg.org/image/3q8xppwft/) (http://s20.postimg.org/pbe0dbt6h/Miko_Full.jpg) (http://postimg.org/image/pbe0dbt6h/) (http://s20.postimg.org/udvc842gp/Bikini.jpg) (http://postimg.org/image/udvc842gp/) (http://s20.postimg.org/6o5wjf43d/Rope.jpg) (http://postimg.org/image/6o5wjf43d/)


Should i refocus camera so clothing use the maximum space ?
About the ones who got more than body item.. should i render them on same icon or if theyr boots ill render them as separate icon for boot..
And some clothes are huge like miko dress and it has 3 clothing layer.. how do we proceed there ?
Title: Re: General Discussion
Post by: Xela on November 04, 2015, 12:28:16 AM
It would be a bit more work, but matching sets of items are fun. One day we may even code special bonuses for them. I'd split at lease some of these into sets.
Title: Re: General Discussion
Post by: Xela on November 04, 2015, 03:49:04 AM
I've killed a bunch of older issues and made new proper once for Jobs/Businesses and related stuff. We'll expand them when/if discussion move forward in the new thread.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2015, 07:19:23 AM
They look awesome. We could use another camera to show some of them closer and use the maximum space, yeah. And boots, if they are a part of clothes, should be rendered separately.

For huge clothes like miko we have no choice but show only a part of them, like at the first miko picture.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2015, 07:46:03 AM
Basically, when I create usable items, I'm limited by the game mechanics. By now we have hundreds of potions/books/etc in dropbox, but at this point we don't have enough stats and skills to make them useful.

We also have tons of icons for armor. Boots, body, gloves, helmets.

But when I create any clothes/dresses, no matter the slot, I'm limited by icons. It's very difficult to find an icon for miko clothes or school uniform, for example. For a few clothes that we have I had to cut images manually.
So we could use any clothes icons you willing to render, for all equipment slots.
Title: Re: General Discussion
Post by: lamoli on November 04, 2015, 09:21:41 AM
Well i did want to make all items from game as 3D model so i could render them for icons/itemdoll clothing/action render clothing/battle sprites.. they will be done little by little..
Title: Re: General Discussion
Post by: DarkTl on November 04, 2015, 01:10:14 PM
Yeah, that's the problem. The base game only has those non-armor items which have decent icons. I still remember how I struggled for weeks trying to find more or less suitable icons for those few long dresses that we have at the moment.

If you can render any clothes icons, I can give you examples of clothes from my packs, and then I'll add them to the game as items after icons will be finished.
Title: Re: General Discussion
Post by: lamoli on November 04, 2015, 01:22:46 PM
Make me a package containing the items you want as icons ( i need to see the full item since need to make it ) then render what we need.
Title: Re: General Discussion
Post by: lamoli on November 04, 2015, 01:27:42 PM
Here the random char im working on for equipdoll ( equipment screen ) used resolution of the re size that was used 288x400..


(http://s20.postimg.org/tyhb6umwp/Against.jpg) (http://postimg.org/image/tyhb6umwp/) (http://s20.postimg.org/w4bm1cqd5/Against_SMRopes.jpg) (http://postimg.org/image/w4bm1cqd5/) (http://s20.postimg.org/ylrymcznd/Against_Slave.jpg) (http://postimg.org/image/ylrymcznd/) (http://s20.postimg.org/gf0h158xl/Against_Bikini.jpg) (http://postimg.org/image/gf0h158xl/) (http://s20.postimg.org/kpf4wqe0p/Against_Schoolswim.jpg) (http://postimg.org/image/kpf4wqe0p/)
(http://s20.postimg.org/s1kl29w8p/Normal.jpg) (http://postimg.org/image/s1kl29w8p/) (http://s20.postimg.org/4m79ao1vd/Normal_SMRopes.jpg) (http://postimg.org/image/4m79ao1vd/) (http://s20.postimg.org/z4x1vmr21/Normal_Slave.jpg) (http://postimg.org/image/z4x1vmr21/) (http://s20.postimg.org/5e5bw4gop/Normal_Bikini.jpg) (http://postimg.org/image/5e5bw4gop/) (http://s20.postimg.org/qu6na2649/Normal_Schoolswim.jpg) (http://postimg.org/image/qu6na2649/)
(http://s20.postimg.org/hnocms0vt/Shy.jpg) (http://postimg.org/image/hnocms0vt/) (http://s20.postimg.org/as8phevsp/Shy_SMRopes.jpg) (http://postimg.org/image/as8phevsp/) (http://s20.postimg.org/uyc7garg9/Shy_Slave.jpg) (http://postimg.org/image/uyc7garg9/) (http://s20.postimg.org/wov8hs8zd/Shy_Bikini.jpg) (http://postimg.org/image/wov8hs8zd/) (http://s20.postimg.org/euv52r0jd/Shy_Schoolswim.jpg) (http://postimg.org/image/euv52r0jd/)


Same rchar that can have different poses depending on her mood ( only against/normal/shy ).. well was made for my old ST but could be adapted to the equipment screen then would require other moods as well


And if your not gona add more item slots like underwear under main clothing and so on.. it will be easier for me to render all other items that goes above/part under clothing like amulets/rings/weapons/.. ( as transparent image to put on top of the ones you see for the main body )


In fact i could do it with everything.. from naked body.. i add a transparent image of clothing over it to dress her ( some shadow might be lost but there is a way to render the casted shadows as well if you really need em )
Title: Re: General Discussion
Post by: Xela on November 04, 2015, 03:37:22 PM
Looks good. My only concern is that this will require insane amount of images to cover everything.
Title: Re: General Discussion
Post by: deadkingblue on November 04, 2015, 06:55:07 PM
if ur worried about image space requirements, then try lower quality smaller images with better compression, or a paperdoll system like hhs or otherworld.(both have inactive devs btw)
Title: Re: General Discussion
Post by: lamoli on November 04, 2015, 07:48:31 PM
Basically im doing what Otherworld did.. naked body then you add clothing on as layer with transparency.. the thing is its game has a lot of item to cover lol..
Title: Re: General Discussion
Post by: lamoli on November 05, 2015, 01:30:50 AM
Looks good. My only concern is that this will require insane amount of images to cover everything.

You mean you do not want to manage all that amount of image ( as storage space or code wise to handle them.. and making them appear when they should ? ) or the fact that if we goes that way i will have too much image to do and your afraid i wont push img updates ?
Title: Re: General Discussion
Post by: Xela on November 05, 2015, 08:51:48 AM
or the fact that if we goes that way i will have too much image to do and your afraid i wont push img updates ?

This.

Similar thing happened in Otherworld, there were not enough new characters for new content. Someone even made Hinata but never shared the doll.

Another issue that workload for you when we're talking about creating 10 - 20 random characters (to justify equipment doll code/other changes to image lookup) is also insane.
Title: Re: General Discussion
Post by: lamoli on November 05, 2015, 09:40:55 AM
For the images Workload i could give you my files and free programs needed to use them and the configuration setting to import/export from each other.. after that all depends on your skills with those programs.. so if you want to make content faster you could do it.. and if im away for some reason someone else could continue it..
Most of my files are template based so you just need to load the template for ( icons / equdoll clothing / action clothing / and so on.. ) so its like make an item or mod a existing one load it in the template then render and its done..

For the code i noticed a few lines in the Dev version with "pyt_eqdoll" and after looking up the code.. i was thinking cool already thinking for the future and preparing stuff there..
but of course its not implemented a equipment doll system now but since those lines where there i decided to move things on my side so you would get content when its ready..
( and for me to mod something on the latest version for my rchar since i want her to swap clothes and be able to see the change in either equipment screen or rendered actions )

As for the numbers of rchars it does not matter.. once every template is done it will be like morphing the char face/swapping hair style/adjusting body type.. ( i got a large content library to do so.. or mod something that you want.. ) all done i a few minutes with sliders.. and you will get another char.. then its around 3-10min to render 1 image for that new char ( and im only using cpu render witch is slower than gpu renders )
Title: Re: General Discussion
Post by: DarkTl on November 05, 2015, 09:46:43 AM
I browsed my packs today and found some clothes we could add to the game. Here (https://mega.nz/#!aoUn0CrY!QaJtW-SLbul3sSOO0gSM5qOKvveueNTGXlarAezuoNY) are examples. They don't have to be exactly the same, and they don't have to be very detailed, since it's just quite small icons. Of course your previous icons with closer camera are welcomed as well. I'll make items as soon as you render them  :)

Underwear slot is problematic. I'd like to add it eventually, but it's close to impossible to find icons or detailed pictures (usually it's just something monotonous and simple). You can easily find photos, but they make pure icons most of the time.
Title: Re: General Discussion
Post by: DarkTl on November 05, 2015, 12:47:43 PM
Documented items fields using repo wiki  :)
Title: Re: General Discussion
Post by: lamoli on November 05, 2015, 03:38:42 PM
Sailor First..


(http://s20.postimg.org/6b30wvud5/Sailor_Equiped.jpg) (http://postimg.org/image/6b30wvud5/) (http://s20.postimg.org/f4txdzhbt/Sailor.jpg) (http://postimg.org/image/f4txdzhbt/) (http://s20.postimg.org/4thklbpmh/Sailor_Full.jpg) (http://postimg.org/image/4thklbpmh/)


Let me know if something is wrong
Title: Re: General Discussion
Post by: DarkTl on November 06, 2015, 06:21:50 AM
Nope, it's perfect.
Title: Re: General Discussion
Post by: lamoli on November 06, 2015, 12:48:18 PM
The Alternate sailor from your pictures..


(http://s20.postimg.org/grpkigeih/Sailor_Alt1_Equiped.jpg) (http://postimg.org/image/grpkigeih/) (http://s20.postimg.org/klj0rlvuh/Sailor_Alt1.jpg) (http://postimg.org/image/klj0rlvuh/) (http://s20.postimg.org/yt8pg98jd/Sailor_Alt1_Full.jpg) (http://postimg.org/image/yt8pg98jd/)


Ok fixed sizes
Title: Re: General Discussion
Post by: DarkTl on November 06, 2015, 02:15:04 PM
Nice, I added both as items.
Title: Re: General Discussion
Post by: Xela on November 06, 2015, 03:38:10 PM
For the images Workload i could give you my files and free programs needed to use them and the configuration setting to import/export from each other.. after that all depends on your skills with those programs.. so if you want to make content faster you could do it.. and if im away for some reason someone else could continue it..
Most of my files are template based so you just need to load the template for ( icons / equdoll clothing / action clothing / and so on.. ) so its like make an item or mod a existing one load it in the template then render and its done..

If paired with (very) limited guide, this could be useful if you have a system setup, even without any serious skills, someone could continue. You'd also have to write a simple step-by-step guide on how you add new items/character or perhaps better yes, provide links that helped you get there. This was at the very least the system will not be 101% dependent solely on your input.

For the code i noticed a few lines in the Dev version with "pyt_eqdoll" and after looking up the code.. i was thinking cool already thinking for the future and preparing stuff there..
but of course its not implemented a equipment doll system now but since those lines where there i decided to move things on my side so you would get content when its ready..
( and for me to mod something on the latest version for my rchar since i want her to swap clothes and be able to see the change in either equipment screen or rendered actions )

No, equip doll is plainly the sprite we add to the equipment screen paired with positioned slots. To change the clothing on sprite or to change the sprite based on equipped item simple function would have to be written paired with adding new fields to items data file(s) and relevant loading func. Depending on complexity of design, whole thing can take from 10 mins to 10 hours but I doubt it'll be more than that (the only way that it will is if we decide to build OW like doll which will require careful positioning of clothing, possible re-sizing and layers), such system is still not very hard to code in but will take time to get write through trail and error.

As for the numbers of rchars it does not matter.. once every template is done it will be like morphing the char face/swapping hair style/adjusting body type.. ( i got a large content library to do so.. or mod something that you want.. ) all done i a few minutes with sliders.. and you will get another char.. then its around 3-10min to render 1 image for that new char ( and im only using cpu render witch is slower than gpu renders )

Well, if it's like you describe, it can be very cool indeed. Just out of curiosity, how hard would it be to render body (skin), eyes (pupils) and hair separately for each pose/sprite for 5 or 6 random chars? Of recolored in Ren'Py, they could also offer a bunch of options...

===
Sailor First..


(http://s20.postimg.org/6b30wvud5/Sailor_Equiped.jpg) (http://postimg.org/image/6b30wvud5/) (http://s20.postimg.org/f4txdzhbt/Sailor.jpg) (http://postimg.org/image/f4txdzhbt/) (http://s20.postimg.org/4thklbpmh/Sailor_Full.jpg) (http://postimg.org/image/4thklbpmh/)


Let me know if something is wrong

Didn't we decide to split the suits into bits? This is excellent regardless of that :)
Title: Re: General Discussion
Post by: lamoli on November 06, 2015, 07:31:30 PM
Here Another one..


(http://s20.postimg.org/72fyr4m0p/Minitopskirt.jpg) (http://postimg.org/image/72fyr4m0p/) (http://s20.postimg.org/w9vg54eih/Minitopskirt_ICO.jpg) (http://postimg.org/image/w9vg54eih/)


Ineed to work more on the belt...
And since you do not have a slot for bra(underwear) i combined it into the item
Title: Re: General Discussion
Post by: lamoli on November 06, 2015, 07:41:12 PM
Didn't we decide to split the suits into bits? This is excellent regardless of that :)


What do you mean by bits ?.. like top and skirt separate ? leggings/shoes always are separate but i show them in full render when i decide to add them.. ( but can be done later on )
Title: Re: General Discussion
Post by: lamoli on November 06, 2015, 07:46:03 PM
No, equip doll is plainly the sprite we add to the equipment screen paired with positioned slots. To change the clothing on sprite or to change the sprite based on equipped item simple function would have to be written paired with adding new fields to items data file(s) and relevant loading func. Depending on complexity of design, whole thing can take from 10 mins to 10 hours but I doubt it'll be more than that (the only way that it will is if we decide to build OW like doll which will require careful positioning of clothing, possible re-sizing and layers), such system is still not very hard to code in but will take time to get write through trail and error.


I already tryed the layer system.. you just add the clothing image on top of the body thats all.. ( no positioning or resize needed )


Use this as base..


(http://s20.postimg.org/uw3t9tf95/Against.jpg) (http://postimg.org/image/uw3t9tf95/)


Then with gimp or other program to add layer on.. use either ones..


(http://s20.postimg.org/c51vznkop/Cleanedropes.jpg) (http://postimg.org/image/c51vznkop/) (http://s20.postimg.org/jmb3eva7t/Schoolswimsuit_Against_Cleaned.jpg) (http://postimg.org/image/jmb3eva7t/)


Of course the clothing image is not perfect and sometimes get transparency problems.. but its fully automated.. the result you see is made by pressing a button.. so with little work with editing manually they could be perfect.. unless i improve my automated method..


Same will work for every pytfall item once i make/render them.. you just past them on top ( but you might need to set some items to specific layer like cloak above all else.. while some goes under others and so on..
Title: Re: General Discussion
Post by: Xela on November 07, 2015, 12:29:21 AM

What do you mean by bits ?.. like top and skirt separate ? leggings/shoes always are separate but i show them in full render when i decide to add them.. ( but can be done later on )

Yeah, I meant splitting top from bottom. Maybe stockings as well (I don't think that we have a eq spot for this), shoes most definite.


I already tryed the layer system.. you just add the clothing image on top of the body thats all.. ( no positioning or resize needed )


Use this as base..


(http://s20.postimg.org/uw3t9tf95/Against.jpg) (http://postimg.org/image/uw3t9tf95/)


Then with gimp or other program to add layer on.. use either ones..


(http://s20.postimg.org/c51vznkop/Cleanedropes.jpg) (http://postimg.org/image/c51vznkop/) (http://s20.postimg.org/jmb3eva7t/Schoolswimsuit_Against_Cleaned.jpg) (http://postimg.org/image/jmb3eva7t/)


Of course the clothing image is not perfect and sometimes get transparency problems.. but its fully automated.. the result you see is made by pressing a button.. so with little work with editing manually they could be perfect.. unless i improve my automated method..


Same will work for every pytfall item once i make/render them.. you just past them on top ( but you might need to set some items to specific layer like cloak above all else.. while some goes under others and so on..

I am afk for most of the day again :(

Maybe I'll be able to cook something up tonight, at least with those images.
Title: Re: General Discussion
Post by: lamoli on November 07, 2015, 07:37:24 AM
Next..


(http://s20.postimg.org/adwe8ddo9/Ttop_Micro_Short.jpg) (http://postimg.org/image/adwe8ddo9/) (http://s20.postimg.org/v9e35vkhl/Ttop_Micro_Short_ICO.jpg) (http://postimg.org/image/v9e35vkhl/)
Title: Re: General Discussion
Post by: DarkTl on November 07, 2015, 02:22:38 PM
Didn't we decide to split the suits into bits?
We (you and me) did not, at least yet  :)

You see, too many clothes could not be split into top and bottom even in theory. So there will be top/bottom ones and undivided ones (like in sims  :D ), which will lead to advanced coding from your side and confusing concept.

Boots and gloves should be made separately, sure.

Maybe stockings as well (I don't think that we have a eq spot for this), shoes most definite.
The problem with underwear and stockings slots is that they are quite situational. When you wear a full plate armor, they don't matter, and you probably can't even wear stockings properly (I think). Also the only way to get many icons for these slots is to render them, they are way too rare without rendering.

Stockings could be a part of boots slot though, when combined with shoes.
Title: Re: General Discussion
Post by: Xela on November 07, 2015, 03:45:41 PM
I don't care either way until we have enough content or way to create more content on our own at exceptable speed... Both item options (single peace or separate) will work with the current system and they both look great for it.
Title: Re: General Discussion
Post by: Xela on November 07, 2015, 04:12:56 PM
...

(http://s16.postimg.org/axkln1rxd/screenshot0001.png) (http://postimg.org/image/axkln1rxd/) (http://s16.postimg.org/my61nrzc1/screenshot0002.png) (http://postimg.org/image/my61nrzc1/)

Loaded into Ren'Py using the simplest of screens. If you can put enough time into it to make enough content for a few decent setups, I'll write the code for custom control of color, layer order, alpha channel, hue, brightness, subpixel positioning and etc. to use inside of the game. This is a simple variant using just five lines of code (absolute total, including screens and label declarations) at any time:

(http://s28.postimg.org/y5zac5qbd/screenshot0007.png) (http://postimg.org/image/y5zac5qbd/) (http://s28.postimg.org/gddq4a92x/screenshot0008.png) (http://postimg.org/image/gddq4a92x/) (http://s28.postimg.org/ul3esxlrt/screenshot0009.png) (http://postimg.org/image/ul3esxlrt/)

===
We'll have to add a lot of new tags for this, since we do not have any tags that can separate clothing from the body, but I don't think that it will be a difficult task either, just add a new extra tag called something like "pure clothing"... we can work out details once we have enough content.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2015, 12:05:27 PM
Hm. Where are formulas for calculating damage and stuff inside BE?
Title: Re: General Discussion
Post by: Xela on November 08, 2015, 12:33:33 PM
Hm. Where are formulas for calculating damage and stuff inside BE?

Code: [Select]
        def effects_resolver(self, targets):
            """
            Logical effect of the action. More often than not, it calculates the damage.
            Expects a list or tuple with targets.
            This should return it's results through PytCharacters property called damage so the show_gfx method can be adjusted accordingly.
            But it is this method that writes to the log to be displayed later... (But you can change even this :D)
            """

Mostly here but there could be other references. It's possible for every individual attack to overwrite this so we may be doing that as well sometimes.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2015, 12:45:22 PM
Yeah, I'm trying to balance it a bit atm.
Title: Re: General Discussion
Post by: DarkTl on November 10, 2015, 06:05:06 AM
Are you sure it's ok to have two effects_resolver functions (one of them is not global, and used for poison only)?
Title: Re: General Discussion
Post by: Xela on November 10, 2015, 07:17:33 AM
Are you sure it's ok to have two effects_resolver functions (one of them is not global, and used for poison only)?

Yes, I arrange it that way so each attack could be truly unique and would not have to interfere with general mechanics (as in Poison). None of them are global by the way, function that are bound to classes are called methods, children can access methods of their parents if needs be.
Title: Re: General Discussion
Post by: DarkTl on November 10, 2015, 08:57:44 AM
How can I access specific fields of equipped weapons during calculations, like type?

Also, how double weapons work at the moment? You still select which one to use, like it used to be?
Title: Re: General Discussion
Post by: Xela on November 10, 2015, 09:35:24 AM
How can I access specific fields of equipped weapons during calculations, like type?

Code: [Select]
char.eqslots["weapon"].type
char.eqslots["smallweapon"].type

Also, how double weapons work at the moment? You still select which one to use, like it used to be?

If they both have skills as most if not all weapons do, you'll get a choice out of the two skills under attack.
Title: Re: General Discussion
Post by: lamoli on November 10, 2015, 09:49:00 PM
Almost 2 new clothing.. but was stuck on this..


(http://s20.postimg.org/r1zdr7zw9/Asian_Long.jpg) (http://postimg.org/image/r1zdr7zw9/)


And im still not happy lol..

( the 288x400 resolution for inventory ) real render has normal quality you have already seen..


Edit: for Dark who provided base image.. i know shoes are missing..
Title: Re: General Discussion
Post by: DarkTl on November 11, 2015, 12:58:50 AM
I dunno, looks great. Though if you want to render boots and gloves too (you don't have to), they should have separated icons.
Title: Re: General Discussion
Post by: lamoli on November 11, 2015, 05:17:37 AM
Yeah i know everything is separate i just combined then on that render..


Now as icon.. it should show the top/center part of the dress like the other ones or full dress ( without gloves and leggings ) ?


Title: Re: General Discussion
Post by: DarkTl on November 11, 2015, 05:29:08 AM
I think it's too long to be showed fully. Try to show at least the upper half or 2/3.
Title: Re: General Discussion
Post by: DarkTl on November 12, 2015, 07:14:18 AM
Hey lamoli, there was an icon for the last dress in your previous post, but not anymore. I didn't saved it on hdd yesterday, since I was planning to add it today. Could you restore it?
Title: Re: General Discussion
Post by: Xela on November 12, 2015, 03:16:34 PM
@Dark:

Code: [Select]
+                        if name == "CrossbowAttack":  #different weapons have different power of crit
+                            multiplier += 0.2
+                        elif name == "KnifeAttack":
+                            multiplier += 1.0
+                        elif name == "ClawAttack":
+                            multiplier += 0.4
+                        elif name == "FistAttack":
+                            multiplier -= 0.4
+                        elif name == "CannonAttack":
+                            multiplier -= 0.6
+                        elif name == "RodAttack":
+                            multiplier -= 1.1
+                        elif name == "AxeAttack":
+                            multiplier -= 0.2
+                        elif name == "BiteAttack":
+                            multiplier += 0.5
+                        elif name == "GunAttack":
+                            multiplier += 0.3
+                        elif name == "ScytheAttack":
+                            multiplier += 0.6
+                        elif name == "SprayAttack":
+                            multiplier -= 0.7
+                        elif name == "ThrowAttack":
+                            multiplier -= 0.1
+                        elif name == "WhipAttack":
+                            multiplier += 0.4

I'd appreciate adding such properties and handing them through class attributes and never through if/else forks, it's cleaner and better manageable.
Title: Re: General Discussion
Post by: lamoli on November 12, 2015, 04:44:16 PM
Other clothes..

(http://s20.postimg.org/woyjkh8jd/Asiandresss_Long_ICO.jpg) (http://postimg.org/image/woyjkh8jd/) (http://s20.postimg.org/4at40lkzd/Asiandresss_Longfull_ICO.jpg) (http://postimg.org/image/4at40lkzd/)

(http://s20.postimg.org/rmh7poz95/Asiandressshort.jpg) (http://postimg.org/image/rmh7poz95/) (http://s20.postimg.org/3q9hk62d5/Asiandressshort_ICO.jpg) (http://postimg.org/image/3q9hk62d5/)

(http://s20.postimg.org/95msyvjax/Bunny.jpg) (http://postimg.org/image/95msyvjax/) (http://s20.postimg.org/gx3ixfng9/Bunny_ICO.jpg) (http://postimg.org/image/gx3ixfng9/) (http://s20.postimg.org/3ro0rbtkp/Bunnyfull_ICO.jpg) (http://postimg.org/image/3ro0rbtkp/)


Now i think i got them right .. let me know if something is wrong
Title: Re: General Discussion
Post by: Xela on November 13, 2015, 02:09:09 AM
...

Looks awesome!

@Dark:

In addition to that, why are the -ja attacks carry less power/cost less than their -ga counterparts? They are supposed to be moar elite.
Title: Re: General Discussion
Post by: DarkTl on November 13, 2015, 04:30:53 AM
In addition to that, why are the -ja attacks carry less power/cost less than their -ga counterparts? They are supposed to be moar elite.
Atm spells are balanced around their tier and area of effect, not around names. In case if you don't know, in most FF games the weakest and the strongest spells target one enemy, and all others target all enemies.

In our case spells can target one, any one, all, all in the first row. If you insist on exact copying of FF spells, our system will be much simpler than it can be thanks to the rows.

Moreover, FF games already have less elemental spells than we, so they can afford a rapid increase in spell power, while we cannot.
Title: Re: General Discussion
Post by: DarkTl on November 13, 2015, 04:45:15 AM
Possible solution is to allow player to select aoe for most spell freely. Then spells should be balanced around power only, and power will be divided by the number of targets.

Since I want to add special effects to all spells eventually anyway, they will be unique even with changeable aoe.
Title: Re: General Discussion
Post by: Xela on November 13, 2015, 01:45:28 PM
Easy to do... but your approach is sound. As you explain the logic, it is perfectly acceptable and easy to explain to the players. You solution is easy to implement but I am not sure that  a "solution" is required. It will work just fine as, it's just not what we went with in the past.
Title: Re: General Discussion
Post by: DarkTl on November 23, 2015, 06:45:00 AM
I'd like to use tags to determine in some cases characters that you can find in location. Specifically, I have in mind school location where you only can meet characters with school uniform+girlmeets tag, and use only school uniform+girlmeets pictures there too, obviously.
Title: Re: General Discussion
Post by: Xela on November 23, 2015, 07:15:28 AM
You could try but it'd prolly be clumsy...
Title: Re: General Discussion
Post by: DarkTl on November 23, 2015, 12:14:42 PM
It will ignore other limitations like traits, since otherwise there will be only a few pictures. It's a shame to have many pics with specific clothes but don't use them centrally. Might be useful for beach+swimsuit too.
Title: Re: General Discussion
Post by: Xela on November 24, 2015, 03:06:18 AM
I am on Android traveling atm.

Main problem with your idea is that our concept of chars hanging around locations based on their interests instead of what pics they may have is plainly better. I don't like adding more confusion to it and to the code.
Title: Re: General Discussion
Post by: DarkTl on November 24, 2015, 05:51:48 AM
Hm. Alright, I'll only change tags for locations pictures then. Thankfully, we can customize GM pics as much as we want already.
Title: Re: General Discussion
Post by: Xela on November 24, 2015, 06:56:29 AM
Yeap, that will be useful :)

I got an hour off so I am trying to debug some stuff in Bar job. Sim'Py is difficult to debug because it has it's own error reporting mechanism, I have not yet looked into how to make it work with Ren'Py better than it does by default... prolly cause I expect that it'll be very complicated cr@p to take care off and may not be worth the effort.
Title: Re: General Discussion
Post by: DarkTl on November 25, 2015, 12:48:26 PM
We have some non-sprite backgroundless pictures, with no bg tag. They could use a white background whenever we show them instead of the current black one.
Title: Re: General Discussion
Post by: Xela on November 27, 2015, 03:38:55 AM
Small things like this we can fix after everything else is done.
Title: Re: General Discussion
Post by: DarkTl on November 27, 2015, 09:36:08 AM
Well, there is not much I can do at this point rather than testing the game or building packs, so I test it to find even small issues and work on another random char. Because

- Moar quests mean SE
- Classes should be synchronized with actually existing, coded jobs before I'll begin to use them actively without the fear of them being removed from the game
- Matrix-based exploration requires a way to change party members from an arbitrary pool of characters without access to MC screen
Title: Re: General Discussion
Post by: Xela on November 27, 2015, 01:57:29 PM
SE is just a way of acquiring items/moving quests to next step, they should not prevent anything.

Classes you can take care of yourself if you like, we at the very least need a better normalization routine when assigning them.

You'll have to clarify on the click-and-point exploration cause I don't really understand why party change screen is required there.

==
And there is a lot more you can do, for once you can offer more opinions on what jobs should be like.
Title: Re: General Discussion
Post by: DarkTl on November 28, 2015, 08:40:55 AM
SE is just a way of acquiring items/moving quests to next step, they should not prevent anything.
I mean I cannot finish existing ones properly atm.

Classes you can take care of yourself if you like, we at the very least need a better normalization routine when assigning them.
I dunno. Let's say we have a dancer class, but in fact there will be no dancing at all, except maybe for striptease, and that job has strippers already. So dancer class will be quite useless.

You'll have to clarify on the click-and-point exploration cause I don't really understand why party change screen is required there.
- we cannot guarantee that MC is able to fight. Moreover he might or might not be able to fight regardless of class, it's up to players. Sure, a warrior will do it better, but non-warrior still could or could not be used in BE.
- as you find new chars during exploration, you could add them to your party, replacing those with low health for example.
Title: Re: General Discussion
Post by: Xela on November 28, 2015, 08:46:39 AM
I dunno. Let's say we have a dancer class, but in fact there will be no dancing at all, except maybe for striptease, and that job has strippers already. So dancer class will be quite useless.

That's what I meant as part of jobs discussion, what jobs will have have and how far will we take them...?

- we cannot guarantee that MC is able to fight. Moreover he might or might not be able to fight regardless of class, it's up to players. Sure, a warrior will do it better, but non-warrior still could or could not be used in BE.
- as you find new chars during exploration, you could add them to your party, replacing those with low health for example.

I think that is a bit clumsy, there are plenty of games where changing teammembers in combat areas/without returning to base is not possible.

Lets keep things simple! We are working on too much already.
Title: Re: General Discussion
Post by: DarkTl on November 28, 2015, 09:43:09 AM
Ok, I'll take a look at jobs code for a start. All jobs are in classes - jobs rpy, right?
Title: Re: General Discussion
Post by: Xela on November 28, 2015, 11:09:00 AM
Ok, I'll take a look at jobs code for a start. All jobs are in classes - jobs rpy, right?

It's scattered at the moment, but all of it should be in jobs folder.
Title: Re: General Discussion
Post by: DarkTl on November 29, 2015, 05:31:21 AM
Quote
            # Lesbian Act
            elif self.client.act == 'lesbian':
               
                self.skill = "vaginal" # May be overwriten!...
It's too simple. Checked skill should be based on selected picture (dunno how to do it in terms of code, you show pics after you select skill there).
Also in some cases we could use several skills to check (lesbian group for example), but it could wait for next release. Lesbian actions however cannot.

This (https://github.com/XelaPy/PyTFall/issues/135) too.
Title: Re: General Discussion
Post by: DarkTl on November 29, 2015, 06:55:03 AM
Atm only bar brawls require guards? Clients never attack whores, don't try to rape someone?
Title: Re: General Discussion
Post by: DarkTl on November 29, 2015, 06:59:11 AM
I recall we had various actions during rest depending on girl traits in the very beginning. Not anymore though. What happened to them?
Title: Re: General Discussion
Post by: Xela on November 29, 2015, 10:57:01 AM
It's too simple. Checked skill should be based on selected picture (dunno how to do it in terms of code, you show pics after you select skill there).
Also in some cases we could use several skills to check (lesbian group for example), but it could wait for next release. Lesbian actions however cannot.

Why is it too simple? I also complete disagree that mechanics should be guided by content, that will create a cluster f*ck in code and gameplay. We cannot think that way...

This (https://github.com/XelaPy/PyTFall/issues/135) too.

Messy... but prolly doable. These checks are very costly in terms of code clarity :( I'll take a look at it.

Atm only bar brawls require guards? Clients never attack whores, don't try to rape someone?

ATM, it's neither, I want to have normal BE calculate the combat. It'll require a lot of coding so events are not working atm. Maybe I'll restore old events first, I am not sure yet.

I recall we had various actions during rest depending on girl traits in the very beginning. Not anymore though. What happened to them?

Removed for now. Most traits we checked are now gone, some were replaced with base-traits that are not named in the same way. Rest now is also working differently.

===
Jobs/Businesses have been completely rewritten. That opens a lot of possibilities but I still don't have the loops perfected (yet). General logic seems to be working really well.
Title: Re: General Discussion
Post by: DarkTl on November 29, 2015, 01:57:01 PM
Why is it too simple? I also complete disagree that mechanics should be guided by content, that will create a cluster f*ck in code and gameplay. We cannot think that way...
Lesbian actions are much more varied then others. What if there is strapon+anal or 69 action, yet we keep checking vaginal for everything?

Removed for now. Most traits we checked are now gone, some were replaced with base-traits that are not named in the same way. Rest now is also working differently.
I don't see them even in comments. Doesn't matter, I'll recreate them using available pics instead, like issue 136 says.
Title: Re: General Discussion
Post by: Xela on November 29, 2015, 02:26:31 PM
Lesbian actions are much more varied then others. What if there is strapon+anal or 69 action, yet we keep checking vaginal for everything?

That's true, we keep checking "lesbian" for everything but what you ask will require another rewrite... maybe I can figure out something in between.

I don't see them even in comments. Doesn't matter, I'll recreate them using available pics instead, like issue 136 says.

Code: [Select]
        # REST JOB:
It's in the old_code._rpy file in backups folder. I put things we will likely use but are not using atm there when they get in a way.

===
I prolly need to split the code into more files again...
Title: Re: General Discussion
Post by: DarkTl on November 29, 2015, 02:37:29 PM
We could check vaginal+oral+sex for all lesbian actions, assuming they use everything at once  :)
Title: Re: General Discussion
Post by: Xela on November 29, 2015, 02:44:50 PM
I think I know how... at least in theory. Do we do that per character or per business?
Title: Re: General Discussion
Post by: DarkTl on November 30, 2015, 02:08:24 AM
I'm not really sure what do you mean by that question  :D

In my opinion, general sex skill should be a bit useful for all sex checks, but only a bit. Except for lesbian, where it should play a greater role. But I can do it myself, something like round(vaginal*0.75 + sex*0.25) for straight vaginal for example.

Also there should be checks for customer gender and character traits like lesbian and bisexual. I'm not saying straight ones should refuse to do it, but at very least they could enjoy it less and higher skills should be required to do it successfully. Besides, a female customer probably should prefer lesbian and bisexual traits by default, picking straight ones only in rare cases.

Dunno where you handle customers preferences, but checks for job I can write myself if you show me how to check for customer gender.
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 03:24:07 AM
I'm not really sure what do you mean by that question  :D

I mean:

Option One: Just like in WM, we set preferences in building to be applied to all characters in it.

Option Two: We set these preferences in workers (characters) preferences so they can be set individually.

Option Three: We do both.

Both means double amount of work, for first and second are the same codewise. Option three = double workload.

...

I'll have to write base code myself and leave comments so you can fine-tune the system. I'll try to have at least the Whore-Job be ready for fine-tuning and well commented this week if time permits. But some stuff you can try to balance already, I'll try to leave you marked comments when I can.
Title: Re: General Discussion
Post by: DarkTl on November 30, 2015, 04:35:52 AM
I can balance skills levels. But we should decide what to do about skills for a start. I mean this (http://www.pinkpetal.org/index.php?topic=3703.0) thread, where I proposed effective skills levels.

As for preferences, I suppose setting them by character will give the system much more flexibility, allowing to control the business better.
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 05:04:50 AM
I can balance skills levels. But we should decide what to do about skills for a start. I mean this (http://www.pinkpetal.org/index.php?topic=3703.0) thread, where I proposed effective skills levels.

Well, I am much more inclined to add your system with a flexible max which is the same for all characters with gaining skills becoming increasingly harder the closer the skill is to the max. Flexible because we just might add a couple of meaningful events to the game to change it using some city or even world wide events.

As for preferences, I suppose setting them by character will give the system much more flexibility, allowing to control the business better.

Ok, some work has been done for that (GUI-wise), it's just commented out atm. I'll try to come up with the best way to handle clients, as far as I recall, in WM clients are not lost when disabling these options, however that is not reasonable, especially in our system where we simulate stuff properly. If you forbid a character to perform certain actions, clients that come there for such an action and cannot find a worker should just leave (be lost).
Title: Re: General Discussion
Post by: DarkTl on November 30, 2015, 06:54:20 AM
So I wanted to make some rest events, but turns out class Rest(NewStyleJob) is not used atm. Looks like warriors guild has its own resting class, and in brothel you cannot set chars to rest, only to do nothing. Wtf?  :D
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 07:00:12 AM
So I wanted to make some rest events, but turns out class Rest(NewStyleJob) is not used atm. Looks like warriors guild has its own resting class, and in brothel you cannot set chars to rest, only to do nothing. Wtf?  :D

class Rest(NewStyleJob) is (should be) used, it is impossible to set because it should no longer be bound to place of work but place of residence (home) and I am yet to integrate that logic into GUI and some other places in code.

Guild will require a very thorough rewrite so don't mind that right now. Same Rest class will be used in the future (prolly, unless we'll have special buildings that modify it completely (in some way that cannot be handled with if'elif or is too messy when handled like that) like some magical resting spa or something along those lines). You can add code to set some chars vitality to 0 if you like, should already be the case with Nami, I used her for testing.

=== Edit:
So to clarify, I want Rest to be bound to specialized building and/or residence, to be added when available. Chars that live on the street/in bad conditions will not have a Rest option, instead None will be used as a bad default of doing nothing while not really resting properly and loosing joy/health. That is not ready yet but Rest itself is working, at least it was last I checked.

It should make more sense once it's done once way or another, my hope is that once the system is up and working, we'll have a cool gameplay in place with loads of way to expand and enrich it exactly the way we want. Our last code setup was written for a much simpler game and was reaching it's limits... new setup is becoming more and more mature but it is still not integrated into GUI/gameplay properly, I do most of the stuff/testing setups using code right now.

Edit 2:
Rest should now be available in dropdown menu always (for testing purposes). Feel free to add some events there but conciser the new logic and try using char flags to pass around data may that be required, I am not planning to create unique instances for all actions for every character, right now we have just the once instance for all jobs that are working so far, possible exceptions will be jobs like Exploration but even then... I'll prolly use team flags to stay in sync with general design.
Title: Re: General Discussion
Post by: DarkTl on November 30, 2015, 07:28:57 AM
The game does not show refusing images correctly. It tries to show profile+angry, but returns "no image available" stuff for chars who don't have angry pics.

Now
Quote
self.img = char.show("profile", "angry", exclude=["happy"], resize=(740, 685), type="first_default")
fixes it and works. But when I try
Quote
self.img = char.show("profile", "angry", exclude=["happy"], resize=(740, 685), type="reduce")
I get
Quote
File "game/library/screens/pyt - screens - nextday.rpy", line 41, in script
    $ building.run_nd()
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core buildings.rpy", line 554, in run_nd
    self.env.run(until=100)
Exception: (UnboundLocalError("local variable 'mood_tag' referenced before assignment",), UnboundLocalError("local variable 'mood_tag' referenced before assignment",))
Why?
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 07:33:34 AM
Why?

Bug, most likely... I'll take a look.
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 07:42:04 AM
It's fixed. I tried to force adding an automated mood tag when just the one last tag remains from reduce, for now I just commented out the code, if such a system is desirable, it will be easy to fix.
Title: Re: General Discussion
Post by: DarkTl on November 30, 2015, 07:58:13 AM
How did it worked? If for profile+angry only profile remained, what did it tried to add?
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 08:12:35 AM
How did it worked? If for profile+angry only profile remained, what did it tried to add?

Once all tags except for the very first one were reduced, it should have tried to add automatic mood tag, right now it is based on joy but we'll have overwrites and special flags for better control in the future (char may be mad at you for x amount of days even with high joy for example). The game is not ready yet for the latter so it usually tries adding automatic mood tag if no mood tag exists within tags.

The system can be turned off by adding char.show(*tags, add_mood=False, **kwargs). There are couple of place where it is always turned off, usually when it is not compatible with lookup method.
Title: Re: General Discussion
Post by: DarkTl on November 30, 2015, 09:30:45 AM
There is rest option now, yeah. But I don't see reports about resting. It should give
Quote
self.txt.append(choice(["{} is resting.".format(self.worker.name),
                                                 "{} is taking a break to recover.".format(self.worker.name)]))
somewhere, but I don't see it anywhere.
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 10:10:09 AM
Look under ALL reports in next day screen.
Title: Re: General Discussion
Post by: DarkTl on November 30, 2015, 01:47:17 PM
Nope, still nothing but usual warning about her not doing something useful + "she had some strength left so she spent some time having fun" with profile picture. No rest pictures, while they should be because self.img = self.worker.show("rest", resize=(740, 685))
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 01:48:10 PM
Works for me...
Title: Re: General Discussion
Post by: DarkTl on November 30, 2015, 02:28:08 PM
My bad, it doesn't work for fighting guild. Didn't noticed that the testing girl is there.
Cannot test my changes for pics logic  :(


===
Edited by Xela per accident:

Code: [Select]
available += "stage"
should be:

Code: [Select]
available.append("stage")
at the very least. You can take a look at the testing.rpy, there is a line there that is commented out. Uncomment StripClub and add comments to Bar locally.
Title: Re: General Discussion
Post by: Xela on November 30, 2015, 02:33:53 PM
My bad, it doesn't work for fighting guild. Didn't noticed that the testing girl is there.
Damn, we don't have strippers job available too, surprisingly. Cannot test my changes for pics logic  :(

I removed it to test Bar, there is little point in both at the same time.

At the buildings screen you cannot open upgrades for test building, and if you try to open transfer item screen, you get

Minor bugs, not even worth fixing at the moment.
Title: Re: General Discussion
Post by: DarkTl on December 01, 2015, 04:15:47 AM
Alright, I improved strip pics and found a possible issue.
There is not enough randomness in showing images. If you set stripping+simple bg, you will get the very same picture for a character over and over every turn, even though there is a dozen or more stripping+simple bg pictures in her pack.

It's a waste of good pictures.
Title: Re: General Discussion
Post by: Xela on December 01, 2015, 04:21:27 AM
Alright, I improved strip pics and found a possible issue.
There is not enough randomness in showing images. If you set stripping+simple bg, you will get the very same picture for a character over and over every turn, even though there is a dozen or more stripping+simple bg pictures in her pack.

It's a waste of good pictures.

Recheck the tags, I don't really believe that it can be a case. System is too old and always got pictures at random...

In fact, lookup order does not matter here much, when requesting an image from db, it always creates a pool of all matches and draws from it randomly, there is no way around that and I don't think that we store these pics anywhere.
Title: Re: General Discussion
Post by: DarkTl on December 01, 2015, 04:42:52 AM
The code
 
Quote
          available = list()
            if self.worker.has_image("stripping", "stage", exclude=["sad", "angry", "in pain"]):
                available.append("stage")
            if self.worker.has_image("stripping", "simple bg", exclude=["sad", "angry", "in pain"]):
                available.append("simple bg")
            if self.worker.has_image("stripping", "no bg", exclude=["sad", "angry", "in pain"]):
                available.append("no bg")
            if available:
                self.img = self.worker.show("stripping", choice(available), resize=(740, 685), type="first_default")
            elif self.worker.has_image("stripping", "indoors"):
                self.img = self.worker.show("stripping", "indoors", exclude=["sad", "angry", "in pain"], resize=(740, 685), type="first_default")
            else:
                self.img = self.worker.show("stripping", exclude=["sad", "angry", "in pain"], resize=(740, 685), type="first_default")
I tested it with multiple chars, but let's take Warrior random girl as example. She has 7 stripping+simple bg pics. Seven.
Yet the game ALWAYS shows only one picture, 00B7-nd-e2-e5-c1-ca-l2-a1.jpg. It has nothing special about it compared to others. And others don't have negative emotions I excluded.
Title: Re: General Discussion
Post by: Xela on December 01, 2015, 05:04:30 AM
The code
  I tested it with multiple chars, but let's take Warrior random girl as example. She has 7 stripping+simple bg pics. Seven.
Yet the game ALWAYS shows only one picture, 00B7-nd-e2-e5-c1-ca-l2-a1.jpg. It has nothing special about it compared to others. And others don't have negative emotions I excluded.

Maybe it's auto_mood, your new code looks solid... and she looks happy here: 00B7-nd-e2-e5-c1-ca-l2-a1.jpg. (high joy = happy pic)

Try:

Code: [Select]
            if available:
                self.img = self.worker.show("stripping", choice(available), resize=(740, 685), type="first_default", add_mood=False)
            elif self.worker.has_image("stripping", "indoors"):
                self.img = self.worker.show("stripping", "indoors", exclude=["sad", "angry", "in pain"], resize=(740, 685), type="first_default", add_mood=False)
            else:
                self.img = self.worker.show("stripping", exclude=["sad", "angry", "in pain"], resize=(740, 685), type="first_default", add_mood=False)

and see if that does anything useful...
Title: Re: General Discussion
Post by: DarkTl on December 01, 2015, 05:10:11 AM
Yup, it's auto_mood  :)

I'm trying to be moderate with excluding pics by background or emotions to provide enough variety. Otherwise good players (with always happy girls) will be punished by seeing only happy pics, and not confident, suggestive or indifferent.
Title: Re: General Discussion
Post by: Xela on December 01, 2015, 05:14:49 AM
By the way, there is a neat trick in Python:

Code: [Select]
            kwargs = dict(exclude=["sad", "angry", "in pain"], resize=(740, 685), type="first_default", add_mood=False)

            if available:
                self.img = self.worker.show("stripping", choice(available), **kwargs)
            elif self.worker.has_image("stripping", "indoors"):
                self.img = self.worker.show("stripping", "indoors", **kwargs)
            else:
                self.img = self.worker.show("stripping", **kwargs)

It does the same thing but offers better code readability and convenience, it's useful when you are working with loads of functions where you need to pass the same args over and over again. Saves time required to mass-rename stuff in editor.

Yup, it's auto_mood  :)

I'm trying to be moderate with excluding pics by background or emotions to provide enough variety. Otherwise good players (with always happy girls) will be punished by seeing only happy pics, and not confident, suggestive or indifferent.

Yeah.. it's definitely a good idea to automatically disable automood is there are mood pics in the exclude. automood is already auto-disabled when there is at least one mood tag requested...

Or maybe it's even wiser to disable auto-mood by default and only use it when specifically requested in the function... I am not sure about this one.

Edit:

Quote
Or maybe it's even wiser to disable auto-mood by default and only use it when specifically requested in the function...

is prolly a better idea, I often get too hang up on trying to get the best image and forget that variety is sometimes more preferable. If you are ok with this, I'll change it. On the other hand it's nice to get correct moods in many places... since you have been working on tags more than I, it's your call.
Title: Re: General Discussion
Post by: DarkTl on December 01, 2015, 05:31:55 AM
Nah, let it be as it is. We just will need to improve it a bit in the future, like happy ≈ confident with a certain probability.
Title: Re: General Discussion
Post by: DarkTl on December 01, 2015, 06:24:57 AM
I don't understand how this works.
Quote
def get_act(self, tags):
            acts = list()
            for t in tags:
                if isinstance(t, tuple):
                    if self.worker.has_image(*t):
                        acts.append(t)
                   elif isinstance(t, dict):
                    if self.worker.has_image(*t.get("tags", []), exclude=t.get("exclude", [])) and dice(t.get("dice", 100)):
                        acts.append(t)
I understand that you check if the girl has images with has_image.

Why do you check for types with isinstance?
What (*t.get("tags", []), exclude=t.get("exclude", [])) and dice(t.get("dice", 100)) means?
               
Title: Re: General Discussion
Post by: Xela on December 01, 2015, 01:39:35 PM
I don't understand how this works.

I understand that you check if the girl has images with has_image.

Data (from def acts(self):):
Code: [Select]
              tags = (("gay", '2c lickpussy'),
                            ("gay", "bc lickpussy"),
                            ("gay", "2c lickanus"),
                            ("gay", "bc lickanus"),
                            ("gay", "2c vaginalfingering"),
                            ("gay", "bc vagnalhandjob"), # @Inconsistent tagnames!
                            ("gay", "2c analfingering"),
                            ("gay", "bc analhandjob"),  # @Inconsistent tagnames!
                            ("gay", "2c caresstits"),
                            ("gay", "bc caresstits"),
                            ("gay", "bc hug", "2c hug"),
                            ("gay", "2c vaginal"),
                            ("gay", "bc vaginal"),
                            ("gay", "2c anal"),
                            ("gay", "bc anal"),
                            ("gay", "2c vaginaltoy"),
                            ("gay", "bc toypussy"),  # @Inconsistent tagnames!
                            ("gay", "2c analtoy"),
                            ("gay", "bc toyanal"),  # @Inconsistent tagnames!
                            {"tags": ["gay"], "exclude": ["2c vaginal", "2c vaginaltoy"]}
                    )

That data is then passed to the method you mentioned and we try to figure out which acts have pictures.

Why do you check for types with isinstance?

Because the data has tuples (just tags) and dictionaries (that can have exclude and dice() as well as tags). Once we know what type of the data we are checking at the moment, we can act accordingly.

What (*t.get("tags", []), exclude=t.get("exclude", [])) and dice(t.get("dice", 100)) means?

Code: [Select]
*t.get("tags", []),
* here means unpack a tuple or list. I just provided an example of unpacking a dictionary to any func/class a few post back using **.

Code: [Select]
for t in some_container:
    # ...

Plain for loop like an any other programming language, since we checked to make sure t is a dictionary, we know what we work with here:

Code: [Select]
dict.get("key", some_default)
is a very cool thing in Python, we request a key from any dictionary, if such a key exist: we plainly get it's value, if there is no key: we use a provided default instead.

So:

Data: {tags: ("profile", "happy"), exclude=["nude"], dice=90}

becomes:

Code: [Select]
if dice(90):
   if self.worker.has_image("profile", "happy", exclude=["nude"]):
       # Add tag to the pool to randomly choose from.

Dice will default to 100 if we don't prove one (and will not be checked under my code if there is no image with provided tags found since it is following "and" (meaning that there are no extra delays)), exclude will default to an empty list and tags also default to an empty list (although that is stupid since such request would not be even remotely useful, but juse in case...).
Title: Re: General Discussion
Post by: DarkTl on December 02, 2015, 01:47:17 AM
Get_tag returns available image of position as act, then we show it via self.img = self.worker.show(*act, **kwargs).

I'd like to check what kind of image we actually show here, ie what kind of tags it has besides position tags.
This way we could add additional text based on background for example. I suppose I could modify show function to return image path too if needed, but I dunno how to get tags from image path.
Title: Re: General Discussion
Post by: Xela on December 02, 2015, 04:47:02 AM
Get_tag returns available image of position as act, then we show it via self.img = self.worker.show(*act, **kwargs).

I'd like to check what kind of image we actually show here, ie what kind of tags it has besides position tags.
This way we could add additional text based on background for example. I suppose I could modify show function to return image path too if needed, but I dunno how to get tags from image path.

I honestly have no idea but I'll dig around in ProportionalScale's guts a little bit to figure out what's what... We never did it this way before because it is quite similar to describing an image, which is not reasonable in most cases. Previously we always allowed logic to write reports.
Title: Re: General Discussion
Post by: DarkTl on December 02, 2015, 05:17:46 AM
It can be done like you describe for sure. Like, if we have vaginal, we begin to check if we have vaginal + indoors, then vaginal+no bg, then vaginal + beach, etc. Then make another list with existing locations. Then pick one from the list randomly, and based on the picked one add description before giving it to show function.
But it means tons of confusing and excessive code at least for two jobs, whores and rest. Because we don't care where they do it, yet describing the place would be nice.

As I said, we could make show function return not only ProportionalScale(imgpath, maxw, maxh), but also imgpath. The problem is to figure out tags based on image path.
Title: Re: General Discussion
Post by: Xela on December 02, 2015, 05:55:44 AM
Get_tag returns available image of position as act, then we show it via self.img = self.worker.show(*act, **kwargs).

Done.

image_tags = self.img.get_image_tags() will now return a list of proper tags :) We plainly get the image name from PropScale and convert it to proper tags.
Title: Re: General Discussion
Post by: Xela on December 02, 2015, 07:06:44 AM
It can be done like you describe for sure. Like, if we have vaginal, we begin to check if we have vaginal + indoors, then vaginal+no bg, then vaginal + beach, etc. Then make another list with existing locations. Then pick one from the list randomly, and based on the picked one add description before giving it to show function.
But it means tons of confusing and excessive code at least for two jobs, whores and rest. Because we don't care where they do it, yet describing the place would be nice.

BTW: That is not what I meant, at least not exactly. My approach would be to put as much logic into the reports as possible such as:

1) Did the client like the workers for traits. (should prolly be passed from Building through flags).
2) Were there any building upgrades that effected the action (Job) and how.
3) Any special events that took place.
4) Special logic like a worker becoming clients favorite.

and etc.

Most of that is not ready yet but all of that may get in the way of proper reports... or conflicts could be created. Basically I favor a logic driven approach even if we get incorrect pictures from time to time. If you base descriptions and/or draw acts from pics, there could be problems:

1) Inconsistency with logic.
2) You fall into a trap of plainly describing what where is on the image, which is not reasonable.

===
In my mind:

1) Clients walks into your building which can have a number of businesses/upgrades.
2) Client has a specific action/act in mind.
3) If there is a room and workers available:
- Client finds a worker he/she likes or pics one at random if none is found.
- We check for events, figure out the cost of the service and tips if applicable.
- Run the Job. Important Note: Job plainly writes a report on what has already happened, that is not true in our case yet because ACT is picked inside of a job, I don't like that but there seems to be no harm in it at the moment.
- Clients and Worker are freed for more actions.
4) If there is no room or workers available:
- Clients may wish to wait.
- Client may visit a different upgrade (Bar/Club).
- Client may plainly leave.
Managers can help here... but that code is far from done.
5) We check if client is done for the day or still wishes to do something else...

===
The system is really powerful due to SimPy, even after a while, I still struggle often with it and get confused but it's getting clearer and clearer with every week of coding :) One of the main problems is that the system is not linear any more, there can be dozens if not hundreds of process be alive simultaneously, we did not have that anywhere in the game before SimPy. A fact that I don't have as much time as before doesn't help either, coding for jobs unlike small bits like I did for PopScale or forum posts require proper time and concentration.

We'll get it done, just by taking one step at a time and coordinating properly. You can work on texts/events for jobs, just keep in mind what I am working on as well.
Title: Re: General Discussion
Post by: DarkTl on December 02, 2015, 09:45:35 AM
Ok, but I still can do pretty much anything with rest job, unless you somehow want to emulate even simple, non interactive resting  :)
Title: Re: General Discussion
Post by: Xela on December 02, 2015, 10:20:27 AM
Sure, you can do a lot all over the place, I just want to be sure that we're on the same page. There is a weird displacement after a Ren'Py update in hero stats screen, maybe it was there for a while after I fixed the frames, gonna clear that tonight.
Title: Re: General Discussion
Post by: DarkTl on December 04, 2015, 09:42:56 AM
I'm not sure if autobuying system is working atm, probably not. But we could include it into rest process to send characters to buy something at free time and report about it.
Title: Re: General Discussion
Post by: Xela on December 04, 2015, 10:17:20 AM
I'm not sure if autobuying system is working atm, probably not. But we could include it into rest process to send characters to buy something at free time and report about it.

It does (just click next day 1x or so and check free chars inventories). The problem is that it is not updated to work with the new classes or traits, at least I don't remember doing that.
Title: Re: General Discussion
Post by: DarkTl on December 05, 2015, 04:23:50 AM
Yeah, looks like they buy stuff from time to time. Where is the code for that? I might be able to improve it.
Title: Re: General Discussion
Post by: Xela on December 05, 2015, 04:31:33 AM
Yeah, looks like they buy stuff from time to time. Where is the code for that? I might be able to improve it.

Search for auto_buy. Classes need to be entered there as well as jobs. Maybe the code itself needs a review but it's not the simplest method we have in PyTFall :(

Same for auto_equip (or whatever it's called), but that is even more complex.
Title: Re: General Discussion
Post by: DarkTl on December 05, 2015, 05:38:52 AM
I'm more interested in the algorithm rather than the code itself...
Even if it's too complex to code, at very least I can find ways to improve logic, since I know more about items than you  :)
Title: Re: General Discussion
Post by: Xela on December 06, 2015, 04:14:19 AM
I've update FilmStrip, removed prediction from AnimateFromList and extended pause on Cataclysm a little bit. It's one of my favs and it was working sh!tty.

I'll think about how/if it is possible to setup prediction for BE properly... Before there was a very noticeable delay when Ren'Py was loading all 50 or so images to memory right before the attack. That is obviously not an acceptable solution + no prediction at all seems to be working almost flawless in comparison.
Title: Re: General Discussion
Post by: Xela on December 06, 2015, 09:11:36 AM
Finally added testing for new easing equations that have recently been added to Ren'Py. I've been planning to do that for quite a while. Some of them are mildly amusing, although not immediately useful to us. Not all testes are correct as well, some of those are not meant to be used with linear movement (I think).
Title: Re: General Discussion
Post by: Xela on December 06, 2015, 01:06:40 PM
Code: [Select]
            Do we get the most needlessly complicated skills system award? :)
            Maybe we'll simplify this greatly in the future...

 :D

Should be ready (I hope). Skills now have two global vars:

SKILLS_MAX
SKILLS_THRESHOLD

When a total, final, full skill level exceeds threshold, skill becomes harder to gain. Effect should be linear, the closer we get to MAX the harder, it will never be less than 10% of the total value gained. With this we got a decent, fairly easy to explain but needlessly complicated in code system. MAXes are currently all set to 5000, THRESHOLDs at 2000.

Under current system, skills cannot be lost, only gained (just like it was before). Nothing prevents that in code I think but it's the general party line.
Title: Re: General Discussion
Post by: DarkTl on December 06, 2015, 02:01:48 PM
Alright, then we need to decide how fast skills will grow without using powerful items. I believe you mentioned something like 1-2 per day at best, which means 5.5 years for 2000 and 13.5 years for 5000.
Are you sure about it?
Title: Re: General Discussion
Post by: Xela on December 06, 2015, 02:15:08 PM
Alright, then we need to decide how fast skills will grow without using powerful items. I believe you mentioned something like 1-2 per day at best, which means 5.5 years for 2000 and 13.5 years for 5000.
Are you sure about it?

I'd prefer 4 years without traits/items to 2000... I don't think it's too much of a stretch. Class traits should speed that up along with some normal traits + items should have effect as well.

We should have many chars in the game that are already skilled and expensive to hire/buy. Training should not be doable in a couple of month, at least not proper training.
Title: Re: General Discussion
Post by: DarkTl on December 06, 2015, 02:35:01 PM
You have pretty low checks inside jobs then...

Not sure what to do with lesbian either. We cannot keep using vaginal for everything. I suppose I could make it use skills depending on selected action, unless you have a better idea.
Title: Re: General Discussion
Post by: Xela on December 06, 2015, 03:15:26 PM
We'll fix the levels.

On the acts front, I think those would have to be separated to their own method and called/passes from the building.
Title: Re: General Discussion
Post by: Xela on December 06, 2015, 04:32:52 PM
I found more broken VBoxes in the Arena (pretty much all of them in ladders and etc.). The one on the city map screen is now fixed!

Arena should now also be fixed, if there are more, I haven't found them yet. This is it for the day...
Title: Re: General Discussion
Post by: DarkTl on December 07, 2015, 03:00:46 AM
Code: [Select]
            Do we get the most needlessly complicated skills system award?
            Maybe we'll simplify this greatly in the future...
C'mon, it's not nearly as complicated as in some other games  8)

For example in Sims skills there have their own small traits gained if you do something related to the skill many times. In our case it would be something like "Master of Anal" for anal skill if the character did it 500 times, which increases income and joy bonus for anal sex.
Title: Re: General Discussion
Post by: Xela on December 07, 2015, 03:09:39 AM
We'll prolly have that as well, it's traits/jobs, not really skill related.
Title: Re: General Discussion
Post by: DarkTl on December 07, 2015, 07:57:03 AM
I'm not sure how to do it properly.
Quote
if self.inventory:
                    hasitems = set(list(items for i in self.inventory))
                else:
                    hasitems = set()
                for key in self.eqslots:
                    if self.eqslots[key]:
                        hasitems.add(self.eqslots[key])
This is your code that returns a list of existing items in character inventory.

How to check if there is at least one item with "body" slot in the list?
Title: Re: General Discussion
Post by: Xela on December 07, 2015, 08:19:43 AM
You have an error in that code, items for i in self.inventory will not build a useful set.

Otherwise, to check (after we got hasitems set):

Code: [Select]
if any([i for i in hasitems if i.slot == "body"]):
    # We have at least one item with body slot.

in 99% if all cases we work with objects, that is usually bloody useful, fast and convenient.
Title: Re: General Discussion
Post by: DarkTl on December 07, 2015, 08:38:54 AM
You have that comment there, "This assumes that a free! girl! is buying". Is there anything that prevents us from allowing trained slaves to use shops if you give them money, like in SM?
Title: Re: General Discussion
Post by: Xela on December 07, 2015, 08:44:42 AM
You have that comment there, "This assumes that a free! girl! is buying". Is there anything that prevents us from allowing trained slaves to use shops if you give them money, like in SM?

I don't think so but there is no check against weapons. Before politics module wish can be used to change rules of the game, we assume that slaves are not allow to carry weapons.

It may be weird if a "bazooka" is bought in such a context.
Title: Re: General Discussion
Post by: DarkTl on December 07, 2015, 12:26:08 PM
Alright, I reworked autobuying. See if you can optimize it, some checks are quite long.
It's even ready for slaves, though they for a start require a rules screen like the one SM has, where you can decide if they can go to shops or not.

Also it's possible to make it smarter by buying needed consumables, like with low health they tend to buy health restoring items. If you think it's needed, you can show me how to check if an item has a positive "health" value in its mod  :)
Title: Re: General Discussion
Post by: Xela on December 07, 2015, 12:52:57 PM
I'll take a look :)

Edit:

Looks alright. I've fixed some stuff so it runs a tiny bit faster but nothing stood out logic wise except for one bit where I left you comments (self.occupation is almost always longer than one element because even just the "Warrior" will add two elements there: traits["Warrior"] (object) and "Warrior" (string (generalization for simple checks))). set.intersection is generally faster than my old "&" and we no longer convert anything to sets which is a lot faster.

Small things but I've seen decent code improving execution speed by 4 times (simple improvements, using code that is executed in C and etc.). In one case it was a whooping 20 times (in PyTFall) but that was an example of really poor coding on my part (complex calculation that only had to be done once found it's way in a long, double for loop).
Title: Re: General Discussion
Post by: DarkTl on December 07, 2015, 02:22:25 PM
I don't like how all characters follow the same pattern, visiting shops strictly if self.flag("day_since_shopping") > 5. It probably could be trait based.

Is there any difference in terms of speed between if ((a>b) and (c>d)) and if all(a>b, c>d)?

Title: Re: General Discussion
Post by: Xela on December 07, 2015, 03:07:34 PM
I don't like how all characters follow the same pattern, visiting shops strictly if self.flag("day_since_shopping") > 5. It probably could be trait based.

I try to randomize the days as much as possible so they are not shopping on the same day. Shopping should also not activate when chars are working. You can tweak and twist that as you want, we'll may even introduce shopping events in the future :)

Is there any difference in terms of speed between if ((a>b) and (c>d)) and if all(a>b, c>d)?

Code: [Select]
if a>b and c>d:
    # Do something...

is faster for sure. I actually think that any()/all() are only faster when you have a prepared container for them to work with, otherwise they would have to build generators/containers before execution and that will always take some time. The reason I use sometimes use them is better readability and in places where we don't give a sh!t about speed (stuff that just runs during gameplay in labels is close to impossible to overload with logic on modern machines and old machines :D). Anything during the Next Day is the most brutal... In future we can sneak some calculations while the player is just playing the game (move them from ND) but that kind of optimization is in distant future.

===
But this will not matter a lot in this case. Best improvements are when you can fix plainly bad coding and/or move stuff to modules that are executed in C which is always much faster.
Title: Re: General Discussion
Post by: DarkTl on December 08, 2015, 07:20:12 AM
About speed, to shuffle quite big lists when we need just to randomly pick a few different elements from them seems unreasonable. I wonder if there is a better way.
Title: Re: General Discussion
Post by: DarkTl on December 08, 2015, 07:28:50 AM
Quote
source: list of inventories to draw from (We assume that only consumable items are to be equipped from other inventory than that of an instance of self)
I don't understand this one in context of autoequipping.
Do you allow chars to share consumables or something?
Title: Re: General Discussion
Post by: Xela on December 08, 2015, 07:34:42 AM
I don't understand this one in context of autoequipping.
Do you allow chars to share consumables or something?

Exactly that, I wrote that bit for old SE. Imagine one teammember getting beat up/out of MP bad and finding herself out of potions. If teammembers have them available, why not allow sharing between teammates?
Title: Re: General Discussion
Post by: Xela on December 08, 2015, 07:49:45 AM
About speed, to shuffle quite big lists when we need just to randomly pick a few different elements from them seems unreasonable. I wonder if there is a better way.

Nope, what we use is generally the best, most "pythonic" and fastest way.

Alternative is:
Code: [Select]
list.pop(random.randrange(len(list)))
But it looks sh!tty and will get slower really fast in comparison with:

Code: [Select]
shuffle(list)
list.pop() # as many times as needed.

I've researched this one couple of years ago, it has to do with how arrays are implemented in Python, removing/returning any item from middle of the list is a very expensive operation compared to getting one from the end of the same list. If you need to do it once, alternative is prolly a better option, if you need to do that a number of times, what we use quickly becomes a lot faster.
Title: Re: General Discussion
Post by: DarkTl on December 08, 2015, 12:26:28 PM
That's a lot of removed code. Don't tell me you gave up on that simpy thing.
Title: Re: General Discussion
Post by: Xela on December 08, 2015, 12:31:54 PM
That's a lot of removed code. Don't tell me you gave up on that simpy thing.

Jobs would have immediately stopped working and fall apart if I did. That bit of coding was me partially rewriting SimPy when I couldn't get it to work initially with Ren'Py (there were a couple of serious obstacles there), now that they cooperate, that code is prolly completely useless. SimPy itself is pure python loaded as a module.
Title: Re: General Discussion
Post by: DarkTl on December 08, 2015, 01:00:31 PM
$ auto_buy_items = [item for item in shop_items if item.usable and not item.jump_to_label]

What item.usable means?
Title: Re: General Discussion
Post by: Xela on December 08, 2015, 01:12:08 PM
$ auto_buy_items = [item for item in shop_items if item.usable and not item.jump_to_label]

What item.usable means?


Code: [Select]
        NOT_USABLE = set(["gift", "quest", "loot"])
        NOT_TRANSFERABLE = set(["gift", "quest", "loot"])
        NOT_SELLABLE = set(["quest"])
        CONS_AND_MISC = set(['consumable', 'misc'])

bound directly to item's class. Basically means that such a item cannot be consumed or equiped.
Title: Re: General Discussion
Post by: DarkTl on December 09, 2015, 03:21:12 AM
Quote
        def equip_for(self, purpose):
            """
            This method will auto-equip slot items on per purpose basis!
            """
            returns = list()
            if purpose == "Combat":
                if self.eqslots["weapon"]:
                    self.unequip(self.eqslots["weapon"])
                for slot in self.eqslots:
                    if slot.startswith("ring"):
                        slot = "ring"
                    if slot != "consumable":
Why do you unequip weapon here?
Title: Re: General Discussion
Post by: Xela on December 09, 2015, 03:41:29 AM
Not sure... it was a long time ago.

Maybe because I wanted to include the equipped item to choices when reeuipping or I wanted to clear stats so it would be easier to pick the best item... if it's the latter, it may actually not be a bad idea to unequip all items except for misc...
Title: Re: General Discussion
Post by: DarkTl on December 09, 2015, 04:19:56 AM
It's weird because you unequip only weapon, and you do it for all purposes including combat. So it cannot be a measure against equipping big weapons by non warriors, and at the same time you don't touch other slots  :)

You have that comment
Quote
            # The idea is to increase any particular stat to it's maximum
            # Maximum raising should be coded in at some point as well
and then this code
Quote
# We do the same thing for max stats:
                    for stat in item.max:
                        if stat in self.stats: # Not useful?
                            if item.max[stat] > 0:
                                possible_bonus += item.max[stat]
                                if stat in target_stats:
                                    # This is not perfect, but it shouldn't matter (max at the game start issue)
                                    if self.stats.max[stat] + item.max[stat] < self.stats.lvl_max[stat]:
                                        bonus += max(0, item.max[stat])
                                        # For equippables, we want this to triple as being extra useful!
                                        if slot not in ["misc", "consumable"]:
                                            bonus = bonus + item.max[stat] * 2
                                    else:
                                        bonus += max(0, self.stats.max[stat] - self.stats.lvl_max[stat])
                            else:                               
                                if stat in exclude_on_stats:
                                    penalty += item.max[stat]
So max is properly coded atm after all?

I believe autoequipping requires some optimization too, at very least you use there & instead of intersections.

Also, I suppose we could use a separate algorithm and a function to take care about restoring health, mp, vitality and joy. Since we don't have to increase max or use the best possible one there.
 
Title: Re: General Discussion
Post by: Xela on December 09, 2015, 04:51:14 AM
So max is properly coded atm after all?

"properly" is not the right word here :( It's taken into consideration... the best way it could be done at acceptable speed.

The trouble with a system as complicated as ours is that there is no good + fast way of prioritizing items by code. The only perfect way of doing that is what I use in equipment screen but that is very, very slow and absolutely unexceptable for a method that we may run during next day.

If not by hand, I do have one more idea on how to improve it... but I'll have to do it myself.

===
So we compromise, somewhat poorly... but it should work well enough. Other option is to do that by hand, assigning "levels" to items and using just that. That would be the fastest way. Consumables are simpler to work with and even right now we usually get them right.

I believe autoequipping requires some optimization too, at very least you use there & instead of intersections.

Lots... but from what I've read from professionals, the idea is to write the code, make sure it is working ok and rewrite as many times as required. My original version was too slow but this one seemed fine. I obviously go over old code every now and again trying to improve it when I don't have enough time to write new code.

Also, I suppose we could use a separate algorithm and a function to take care about restoring health, mp, vitality and joy. Since we don't have to increase max or use the best possible one there.

I think it already works like that... at least it is supposed to.
Title: Re: General Discussion
Post by: DarkTl on December 09, 2015, 06:15:09 AM
I think it already works like that... at least it is supposed to.
I don't think so... For a start, I don't see where you exclude restoring items from max part for example.
Besides I don't see a single mention of joy in the code, while some items have a great impact on it, yet its mechanics are close to vitality.



Also there is a difference between using consumable stuff such as makeups for increasing charisma and restoring health.
There is no reason for us to not use temp consumables like makeups unless  current charisma=max possible charisma already. More charisma always means more income in theory.

But if we have 99/100 health, it would be wise to ignore it. It's ok to have not 100% of health all the time, not to mention vitality or mp. In general we don't have to try to restore them completely, 85-90% should be enough.
 
If we have 80/100 health, it would be wise to use some food to restore it. If we have 70/100, it would be wise to use a small potion which restores 25 points or food. If we have 40/100 health, we use should try to use medium or two small ones before using better ones. If we have 1/1000, it would be wise to use ultimate healing potion.

I'm writing it because I'm not able to code it on my own, of course  :D
Title: Re: General Discussion
Post by: Xela on December 09, 2015, 08:53:13 AM
I'll try to take a look at that tonight if time allows.

Edit: I am too tired for a method this complicated :( Gonna read it through a couple of times and make more comments, I'll prolly be busy for the next couple of days as well.
Title: Re: General Discussion
Post by: Xela on December 09, 2015, 04:04:46 PM
I tweaked the method best I could for now...

I don't think so... For a start, I don't see where you exclude restoring items from max part for example.
Besides I don't see a single mention of joy in the code, while some items have a great impact on it, yet its mechanics are close to vitality.

We don't exclude restoring items based on max, I am not sure why would we want to.

Stats are provided to the method, that's why you do not see them mentioned internally.

Also there is a difference between using consumable stuff such as makeups for increasing charisma and restoring health.
There is no reason for us to not use temp consumables like makeups unless  current charisma=max possible charisma already. More charisma always means more income in theory.

There is... and logic for that seems decent.

But if we have 99/100 health, it would be wise to ignore it. It's ok to have not 100% of health all the time, not to mention vitality or mp. In general we don't have to try to restore them completely, 85-90% should be enough.

It worked fine with my tests and I've tested this method extensively but this can be easily added.

If we have 80/100 health, it would be wise to use some food to restore it. If we have 70/100, it would be wise to use a small potion which restores 25 points or food. If we have 40/100 health, we use should try to use medium or two small ones before using better ones. If we have 1/1000, it would be wise to use ultimate healing potion.

It already works this way. Maybe I even managed to improve it a little bit but it seemed to be working flawlessly even before that.

===
I'll push a bit later.
Title: Re: General Discussion
Post by: DarkTl on December 10, 2015, 02:35:42 AM
Can I modify skills and stats checks and lines for them inside jobs?
Or you have some simpy-related plans for them?

We don't exclude restoring items based on max, I am not sure why would we want to.
If we want to heal the character and call the autoequipment function with self.auto_equip(["health"]), we follow the usual algorithm which:
1) includes finding the best max too, not just make current health close to max health
2) is not limited to restore and food items types

And both things are useless for restoring health, so turns out we do useless calculations. I suppose at very least auto_equip function could use not just slot, but also a list of items types as arguments, even if finding max will remain because you want it  :)

Stats are provided to the method, that's why you do not see them mentioned internally.
Quote
                        l = list()
                        if item.statmax:
                            for s in item.mod:
                                if s in self.stats:
                                    if s not in ["vitality", "health", "mp", "gold", "exp"]:
                                        if self.stats < item.statmax:
                                            l.append(True)
                                            break
Here you have a list of excluded stats. I believe joy should be here too, unless I misunderstood something.
Title: Re: General Discussion
Post by: Xela on December 10, 2015, 03:32:52 AM
Can I modify skills and stats checks and lines for them inside jobs?
Or you have some simpy-related plans for them?

Sure, go ahead.

If we want to heal the character and call the autoequipment function with self.auto_equip(["health"]), we follow the usual algorithm which:
1) includes finding the best max too, not just make current health close to max health
2) is not limited to restore and food items types

I am not convinced that it's a bad thing. The system seems to work perfectly fine, it can be improved but prolly not in the direction you're suggesting.

And both things are useless for restoring health, so turns out we do useless calculations. I suppose at very least auto_equip function could use not just slot, but also a list of items types as arguments, even if finding max will remain because you want it  :)

Once again.... why? You'll have to give me an example where this goes wrong.

Here you have a list of excluded stats. I believe joy should be here too, unless I misunderstood something.

Joy can be prolly added there as well.
Title: Re: General Discussion
Post by: DarkTl on December 10, 2015, 04:01:17 AM
Isn't there a difference in terms of speed between filtering out non restore non food items and have 27 to look for mod health, and don't filter them out and have 77 items?
Also, assuming that we'll have drugs and alcohol, it might be useful to set cases when characters begin to use these types of consumables via auto equipment more strictly.

Btw when you run
Quote
                if self.health < 60:
                    l.extend(self.auto_equip(["health"]))
during next day calculations, it's wiser to limit it to consumables and maybe miscs, unless you want to equip items that increase max health too.
Title: Re: General Discussion
Post by: Xela on December 10, 2015, 09:23:10 AM
Isn't there a difference in terms of speed between filtering out non restore non food items and have 27 to look for mod health, and don't filter them out and have 77 items?
Also, assuming that we'll have drugs and alcohol, it might be useful to set cases when characters begin to use these types of consumables via auto equipment more strictly.

Btw when you run during next day calculations, it's wiser to limit it to consumables and maybe miscs, unless you want to equip items that increase max health too.

Ok, I'll try to come up with an adaptive way to provide more fields for sorting...
Title: Re: General Discussion
Post by: DarkTl on December 10, 2015, 11:10:40 AM
To clarify, autoequipment already has slot argument. But I'm not sure if it works like I think it does, because comment for it is "slot: slot"  :)
Title: Re: General Discussion
Post by: Xela on December 10, 2015, 11:28:14 AM
To clarify, autoequipment already has slot argument. But I'm not sure if it works like I think it does, because comment for it is "slot: slot"  :)

It works on "per slot" basis, so when you call the method, you provide just the one slot, all other items are being filtered out. I wanted to make one method for all slots eventually, but code got too confusing and it was working very slow, prolly due to too many nested loops. I can prolly do better now but the method is already fairly complicated.
Title: Re: General Discussion
Post by: DarkTl on December 10, 2015, 01:52:18 PM
Ahh. I thought it can take as many slots as needed, and was wondering why sometimes this opportunity is not used in the code.
It's not a problem, of course.
Title: Re: General Discussion
Post by: DarkTl on December 10, 2015, 02:57:05 PM
Eh. You make skill checks by passing name of skill as a single string. That excludes using more than one skill per job and different formulas, I'll have to rewrite it.
Title: Re: General Discussion
Post by: Xela on December 11, 2015, 03:47:05 AM
I don't remember, feel free to adjust the code, I will not have a lot of time before evening...
Title: Re: General Discussion
Post by: DarkTl on December 11, 2015, 05:24:54 AM
Usually we check traits like if "Shy" in char.traits. But inside jobs you check it like if traits["Virgin"] in self.worker.traits.

I'm confused about traits[] part, why you didn't used if "Virgin" in self.worker.traits?
Title: Re: General Discussion
Post by: Xela on December 11, 2015, 07:21:28 AM
Usually we check traits like if "Shy" in char.traits. But inside jobs you check it like if traits["Virgin"] in self.worker.traits.

I'm confused about traits[] part, why you didn't used if "Virgin" in self.worker.traits?

At first we worked just with strings, later I rewrote the system and switched to object so for a while it was impossible to check for string. Now I've added extra check through special method overrides, if we check for string, object will be created internally. Basically both options are perfectly fine now.
Title: Re: General Discussion
Post by: DarkTl on December 11, 2015, 12:21:41 PM
I can't believe python doesn't have case switchers because the devs feel like they are not needed, unlike other languages...

Together with the lack of labels support it loves to lead me into making super long and complex elif checks  ::)
Title: Re: General Discussion
Post by: Xela on December 12, 2015, 05:16:58 AM
I can't believe python doesn't have case switchers because the devs feel like they are not needed, unlike other languages...

Together with the lack of labels support it loves to lead me into making super long and complex elif checks  ::)

Yeah, screw those guys  :D

You can write a bunch of function/custom class to work as switches, if/elif/else will work as well obviously. If you are not doing it for the jobs (any Python code), you can use Ren'Py's labels to a similar effect.

===
I finally have some free time today, maybe like 5 or 6 hours if nothing comes up like it always does... I'll try to hack on jobs for a bit and maybe start working on SE or continue with BE if I get sick with it. I have a lot of stuff to change/improve in the BE and nothing's been done n the new SE yet (old one was working perfectly thought)...

Edit:
Well, something came up but I have managed some nice cleanup + renaming + refactoring of the business code. This is a very important step towards improving the execution. I'll try to put a few more hours into in tonight.
Title: Re: General Discussion
Post by: DarkTl on December 12, 2015, 11:33:19 AM
Do you think simpy can handle dates as well in the future? Something like SE, but with other types of events and checks.
Title: Re: General Discussion
Post by: Xela on December 12, 2015, 12:06:17 PM
Do you think simpy can handle dates as well in the future? Something like SE, but with other types of events and checks.

That may not be useful. There is one major limitation in SimPy/Ren'Py combo:

- We cannot keep any instance related to SimPy between Ren'Py statements. That is due to limitations of Ren'Py, there may be a way around that but I did not have yet the time to test it yet.

===
That said, I am not sure what advantage we'll gain by using SimPy during dates. SimPy greatest advantage is ability to run any number of processes at the same time. In jobs advantage is obvious, while previously we had plain and linear execution like in all other games (that I've read code for), now we have processes for handing client movement in the building between businesses, client process within every individual business within one building, workers processes when required and businesses management processes when required. Everything SimPy does was possible to achieve with while/for/if/elif/else but that would require thouthands of lines of unmanageable code (I've tried that approach wasting 2 full days of coding on it, just to realize that even if I get it right, it will be impossible to properly work such a shitty system that would have taken me many month to complete).

SimPy does that in a really simple and convenient manner, but it's coding style takes getting use to because I've only worked with linear progression in the past.

In BE, SimPy can handle the graphics better. In SE SimPy really shines because I couldn't even manage coming back after an exploration run code before (all traveling time was taken off at the beginning) without really, really sh!tty code. That is something SimPy does by default and without any issues, other cool stuff like teams helping each other out when exploring in the same area is also now possible without too much fuss.

Dates on the other hand are linear, you have no one competing against you and no one dating at the same time so what/how SimPy can be of any help there is unclear to me.
Title: Re: General Discussion
Post by: DarkTl on December 12, 2015, 12:34:35 PM
Everything SimPy does was possible to achieve with while/for/if/elif/else but that would require thouthands of lines of unmanageable code (I've tried that approach wasting 2 full days of coding on it, just to realize that even if I get it right, it will be impossible to properly work such a shitty system that would have taken me many month to complete).
That's what I mean. I figured simpy also makes checks for multiple events simpler.
Title: Re: General Discussion
Post by: Xela on December 12, 2015, 01:42:04 PM
That's what I mean. I figured simpy also makes checks for multiple events simpler.

No, not that.

As I've said before, custom class for logic might be required if your code gets too long/complex, but that is not SimPy related.
Title: Re: General Discussion
Post by: DarkTl on December 12, 2015, 02:01:50 PM
Ohhkey, every time I try to get rid of the system when you for some reason pass skill for further checks as a string, I get various errors related to "game/library/businesses&buildings/classes - core buildings.rpy", line 553, in run_nd
    self.env.run(until=100). I have no choice but to ignore lines like self.skill = "vaginal" and add a new variable skill = self.worker.get_skill("vaginal"), and then pass it to checks instead of self.skill.
Title: Re: General Discussion
Post by: Xela on December 12, 2015, 02:10:18 PM
I have no choice but to ignore lines like self.skill = "vaginal" and add a new variable skill = self.worker.get_skill("vaginal"), and then pass it to checks instead of self.skill.

This is the only correct way of doing it. self.skill is not a good option under new design, it's just something that was there (prolly) from the old code. I am not sure why it is causing you trouble, but it is not even preferable at this point so feel free to get rid of it.
Title: Re: General Discussion
Post by: Xela on December 12, 2015, 02:25:23 PM
Oki... I am gonna call it a night. Tomorrow I'll try to improve sprite positioning in BE a little bit and maybe look into adding SimPy to the mix or adding that "Area Attack" we talked about.
Title: Re: General Discussion
Post by: DarkTl on December 12, 2015, 02:40:40 PM
When I removed all references to old system, I got
Quote
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in script
    $ building.run_nd()
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core buildings.rpy", line 553, in run_nd
    self.env.run(until=100)
Exception: (AttributeError("'WhoreJob' object has no attribute 'skill'",), AttributeError("'WhoreJob' object has no attribute 'skill'",))
We have tones of "lower" checks in various places, that's not something I can remove by myself. I'll create an issue for that.
Title: Re: General Discussion
Post by: Xela on December 12, 2015, 03:05:36 PM
When I removed all references to old system, I gotWe have tones of "lower" checks in various places, that's not something I can remove by myself. I'll create an issue for that.

Quote
However, deleting any old " self.skill =" lines results in errors during next day.

I don't believe you ;)

Without you pushing the code, I cannot tell where but the error plainly states that you have not deleted all self.skill lines inside of the class. You either need to push the broken code or do a search just over the WhoreJob class for "self.skill", whatever remains is the issue, if nothing remains in some very unlikely event, I need to see your broken code before I can fix it.
Title: Re: General Discussion
Post by: DarkTl on December 12, 2015, 03:28:18 PM
Damn, it's because I copypasted wrong traceback  :D
Quote
While running game code:
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in script
    $ building.run_nd()
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core buildings.rpy", line 553, in run_nd
    self.env.run(until=100)
Exception: (AttributeError("'float' object has no attribute 'lower'",), AttributeError("'float' object has no attribute 'lower'",))
I pushed it. Have fun with debugging lower stuff  8)
Title: Re: General Discussion
Post by: Xela on December 12, 2015, 05:55:25 PM
I pushed it. Have fun with debugging lower stuff  8)

It's usually clear to me since I am the once who wrote the code :) SimPy has it's own error reporting system that is used for logic and not just to report errors... that's why we cannot get the exact line where the code fails.

This:

Code: [Select]
self.loggs(skill, sexmod)
Since you are binding skill to a float now, logging a change (increase for doing the job) does expect a specification of which skill to increase. skill here needs to be something like "sex" or something align those lines. I'll just add "sex" there for now.
Title: Re: General Discussion
Post by: Xela on December 13, 2015, 09:53:20 AM
You generally don't have to copy-paste this:

Code: [Select]
+                        self.loggs("sex", sexmod1)
+                        self.loggs("oral", sexmod2)
+                        self.loggs("anal", sexmod3)

over and over again. You should be able to do something like:

Code: [Select]
if "sexmod" in locals():
    self.loggs("sex", sexmod)
if "oralmod" in locals():
    self.loggs("oral", oralmod)
if "analmod" in locals():
    self.loggs("anal", analmod)

at the end of the method (and naming vars appropriately). It's better and clearer code, you don't have to change the method but on refactoring and when handling other stuff this is something to keep in mind.

===
I am going to take a look at BE today, I wanna see what can be done there with SimPy and how difficult it would be to restructure the code to run logically (without graphics).
Title: Re: General Discussion
Post by: DarkTl on December 13, 2015, 11:50:35 AM
What's the difference between bartenders and waitresses jobs? We discussed its logic once a long time ago, but I don't remember that conversation well enough.
I mean, they both distribute food and drinks, so there should be a major difference in mechanics.

Also, I see you still use both reputation and fame in some new jobs like bartender. Can you clarify the difference between them? I recall you even wanted to remove one of them because of their meaningless for the game logic.
Title: Re: General Discussion
Post by: Xela on December 13, 2015, 12:06:12 PM
What's the difference between bartenders and waitresses jobs? We discussed its logic once a long time ago, but I don't remember that conversation well enough.
I mean, they both distribute food and drinks, so there should be a major difference in mechanics.

I don't think those are ready yet but logic for those will be more or less the same. I guess that for bartender charisma is more important and for waiter refinement. Also different skill if we have them. If we ever go with more complex business management, restaurant would also have more jobs (like cook) and not just the waiters. Right now only club and bar are active and they momentarily work off the same logic. I'll write more as time permits overwriting default methods and making them more unique, jobs are obviously different.

Also, I see you still use both reputation and fame in some new jobs like bartender. Can you clarify the difference between them? I recall you even wanted to remove one of them because of their meaningless for the game logic.

For building or workers? We wanted to remove those for workers because it would be weird if those remained when changing jobs... so it would either have to be tacked on per job basic (in which case it is prolly smarter to plainly count days a worker spent doing any specific job and use that as modifiers) or be removed all together.

For buildings, I've started a detailed thread for discussing that but didn't get much feedback, for now I haven't even decided if each business within a building should track frame/rep or just the building itself... but in my design, difference is this:

Fame: Plainly attracts more costumers.
Rep: Attacks better customers + in the future will help to create returning customers.

===
I'd like to keep the design as simple as possible, without a lot of vars that would make it harder to keep track of. It's not a sound design to make sh!t needlessly complex.
Title: Re: General Discussion
Post by: Xela on December 13, 2015, 12:59:07 PM
===
I'd like to keep the design as simple as possible, without a lot of vars that would make it harder to keep track of. It's not a sound design to make sh!t needlessly complex.

BE can now be execute logically (without GFX/SFX)!

I'll try to do something else but after a couple of beers I may not be good for anything except adding if checks :D
Title: Re: General Discussion
Post by: DarkTl on December 13, 2015, 01:39:13 PM
I don't think those are ready yet but logic for those will be more or less the same. I guess that for bartender charisma is more important and for waiter refinement. Also different skill if we have them.
In theory, one bartender can serve much more customers than one waitress, but multiple waitresses provide better service. So it should be more profitable to hire bartenders in the beginning, and then gradually add waitresses as you get more demanding customers (but without firing bartenders, since they will stay useful).

For building or workers? We wanted to remove those for workers because it would be weird if those remained when changing jobs...
Dunno, I'm looking at them in classes-jobs.rpy. Since you use them, I thought maybe I should too.

For buildings, I've started a detailed thread for discussing that but didn't get much feedback, for now I haven't even decided if each business within a building should track frame/rep or just the building itself... but in my design, difference is this

Fame: Plainly attracts more costumers.
Rep: Attacks better customers + in the future will help to create returning customers.
Makes sense. Stuff like brawling will decrease reputation, but not necessary fame.
Title: Re: General Discussion
Post by: Xela on December 13, 2015, 01:48:14 PM
In theory, one bartender can serve much more customers than one waitress, but multiple waitresses provide better service. So it should be more profitable to hire bartenders in the beginning, and then gradually add waitresses as you get more demanding customers (but without firing bartenders, since they will stay useful).

They work in different businesses so they don't interlap (at least not right now).

Dunno, I'm looking at them in classes-jobs.rpy. Since you use them, I thought maybe I should too.

I am not sure, I'd skip that for now. loggs logs for workers, logloc logs for building, we need the latter no matter what... regardless what form the system will take.
Title: Re: General Discussion
Post by: DarkTl on December 13, 2015, 02:03:24 PM
Yeah, there are loggs for fame and reputation everywhere. Maybe I just will delete them all?
Title: Re: General Discussion
Post by: Xela on December 13, 2015, 02:04:28 PM
Yeah, there are loggs for fame and reputation everywhere. Maybe I just will delete them all?

Prolly a good idea, I couldn't get rid of fame/rep as actor stats because we still try to mod them in a couple of places.
Title: Re: General Discussion
Post by: Xela on December 13, 2015, 02:56:23 PM
There are some really messed up issues with AI during the auto-fights, I am adding proper log to figure out wtf is going on. Created an issue as well.

Also, I am no longer sure how to handle sprite positioning properly, I thought I was using some weird way and wanted to change that to put bottom-middle of the image in a predetermined position. Comments say that it is already working like that :(

If we mix mobs, they end up all over the place. There are couple of options but I have no idea which one is best atm:

1) We add transparent empty space and have all images at exactly the same size. For unique mobs, we use unique conditioning.
2) We use "containers" and extend the size of sprites that are not "up-to-specs".
3) We simply take care of the combat design and don't mix mobs that do not fit well together.

===
There are also some minor issue with normal, non-mob sprites, some look clearly bigger than other misrepresenting characters... That is mostly due to stances :(

Maybe special conditions when creating chars/sprites will be required, I need to think about that for a while. For now I'll try to look into wtf is causing everyone to heal everyone in logical combat resulting in endless loop. For some odd reason, they don't seem to even run out of MP...
Title: Re: General Discussion
Post by: DarkTl on December 13, 2015, 03:42:52 PM
We cannot be picky, good highres mobs icons are not common at all...
Big rare enemies like dragons will need unique settings anyway.

If needed, I could manually set conditions for everyone if you provide exhaustive examples.
Title: Re: General Discussion
Post by: Xela on December 13, 2015, 03:55:55 PM
I need to think about it, maybe do some research on how it can be done properly.

===
You'll have to sort out classes basepatterns for creation of of random girls and we'll need to think how to combine new classes system with auto-equip.
Title: Re: General Discussion
Post by: Xela on December 13, 2015, 07:06:26 PM
Well, last update for tonight!

I've knocked down all major bugs, rewrote code for speed and time-tested our BE at it's full capacity without any GFX/SFX. It was a bit on the slow side at first (because we didn't give a damn about milliseconds during actual combat while just for pure logic over a few dozen scenarios, it really adds-up) but now it seems perfectly fine + other optimizations are possible. This a huge win because we were using a simple "add stats together and compare them" function and that did not take into consideration classes, skills, magic and etc.

Now it will all be properly simulated! :)
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 12:18:50 AM
I told you before, all non battle classes should be based on jobs, not the other way around. Current classes are something like a demo.
We should know which stats and skills precisely needed for a job before creating a class for it.

For example, for manager I added int, character, management skill and very small bonuses to teaching and refinement. But I have no idea how useful it will be for the job in reality, aside from management skill of course.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 01:42:14 AM
I told you before, all non battle classes should be based on jobs, not the other way around. Current classes are something like a demo.
We should know which stats and skills precisely needed for a job before creating a class for it.

For example, for manager I added int, character, management skill and very small bonuses to teaching and refinement. But I have no idea how useful it will be for the job in reality, aside from management skill of course.

I was talking about creation patterns, not classes themselves. Like what groups we can sort the classes by and how to create reasonable characters from those groups.
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 03:25:31 AM
Alright, classes overview for a start.

- Prostitute is the base class for brothels. Though I personally don't like the name, it's kinda too formal. I'd prefer harlot or even fancy girl. But as not a native English speaker, I'm not really sure how well those names will work  :)

Then we have oral, ana, etc. prostitute subclasses.

- Entertainer is supposed to be the base class for strippers, dancers and singers. I added it mainly because we do have dancing and singing tags. And it has stripper and dancer subclasses.
Here things become tricky because ingame we only have strippers so far. But on the other hand I cannot just include strippers into prostitutes. Even if they are more uninhibited (thus do have SIW occupation), they still do not do it with everyone.

So we probably should add actual dancers and maybe singers jobs to make the Entertainer class look better.

- Then we have Maid which is the base class for servers. It has cleaner, waitress and bartender subclasses.

- And finally we have Manager, a special class with a special base occupation. It's hard to come up with useful subclasses here, perhaps this type of classes, with Specialist general occupation, just shouldn't have any subclasses.

- For battle classes it's much simpler. There are Mages with Battle Mage and Healer subclasses. And there are Warriors with Defender, Shooter and Assassin subclasses.

So, while we allow players to combine classes in any way since there are various unique characters, random generation should be more logical.

- Any double classes should be uncommon, maybe 1.5-2 times more rare than single classes. Because chars with single class  get more bonuses from class traits, so are quite useful. This is true for both battle and non battle classes.

- Non-battle subclasses will be only available together with their classes. In order to be a cleaner, the character should be a maid too.
This is because characters like cleaner + anal prostitute will be way too narrowly specialized to be useful compared to others. And even pure anal prostitute will be meh.

- Meanwhile all battle subclasses are at least useful for BE and self protection during events, so they don't have this limitation, and you can get a healer maid or something.
But at the same time battle + non battle class should be rare too. Maybe 1.5-2 times more rare than non battle dual classes (and, respectively2.25-4 times more rare than single classes). I mean, maid assassin sounds kinda cool, but not if there are no normal maids at all.

- Pure battle classes have almost the same algorithm. Double classes should be 2-3 times more rare.
But they don't have the other limitation, when when you have to be a mage to be a healer. You can get any combination of battle classes, like healer defender, or shooter assassin.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 06:00:28 AM
it's kinda too formal.

A lot in the game is formal atm... even some of the sex description and dialogues. We can address that when we start writing proper texts everywhere, maybe with more people on board. Right now it will look out of place.


So, while we allow players to combine classes in any way since there are various unique characters, random generation should be more logical.

===>>>

- Any double classes should be uncommon, maybe 1.5-2 times more rare than single classes. Because chars with single class  get more bonuses from class traits, so are quite useful. This is true for both battle and non battle classes.

I disagree, they can be perfectly common as long as they make sense. Especially the once that work on similar (or same) stats/skills.

- Non-battle subclasses will be only available together with their classes. In order to be a cleaner, the character should be a maid too.
This is because characters like cleaner + anal prostitute will be way too narrowly specialized to be useful compared to others. And even pure anal prostitute will be meh.

This is extra code (logic) as well as design since it is something we need to check on application but we do need this.

- Meanwhile all battle subclasses are at least useful for BE and self protection during events, so they don't have this limitation, and you can get a healer maid or something.
But at the same time battle + non battle class should be rare too. Maybe 1.5-2 times more rare than non battle dual classes (and, respectively2.25-4 times more rare than single classes). I mean, maid assassin sounds kinda cool, but not if there are no normal maids at all.

Solid!

- Pure battle classes have almost the same algorithm. Double classes should be 2-3 times more rare.
But they don't have the other limitation, when when you have to be a mage to be a healer. You can get any combination of battle classes, like healer defender, or shooter assassin.

I disagree here again, I see no problems with combos here at all, they all work on similar stats and combinations would be great as long as they are though through.

===
I am thinking Parent --> Child flags for some traits and something like a dict for combinations, or we can make one huge if/elif/else block again instead of the dict(s) :)
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 06:18:04 AM
LoL

I am on Desktop now and just figured out that code optimizations for logical BE scenarios I did on laptop yesterday now run 6 - 10 times faster :)

===
We still have a long way to go :D
https://www.python.org/doc/essays/list2str/
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 07:00:12 AM
You should be able to do something like:

Code: [Select]
if "sexmod" in locals():
    self.loggs("sex", sexmod)
if "oralmod" in locals():
    self.loggs("oral", oralmod)
if "analmod" in locals():
    self.loggs("anal", analmod)
I did as you suggested and got this one.
Quote
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in script
    $ building.run_nd()
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core buildings.rpy", line 553, in run_nd
    self.env.run(until=100)
Exception: (TypeError("object of type 'bool' has no len()",), TypeError("object of type 'bool' has no len()",))
Prepare for debugging  :)
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 07:05:16 AM
I did as you suggested and got this one.Prepare for debugging  :)

I'll admit to never using locals() before but I know exactly how they work... it is very strange for this code to be causing such an Exception...
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 07:09:43 AM
I cannot push now, but I can upload jobs file here.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 07:13:53 AM
I cannot push now, but I can upload jobs file here.

This works perfectly fine for me, I ran it for 20 days twice and reports were built properly.

===
Tested it again and reviewed the code, everything is great so it's pushed to GitHub now :)
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 07:22:52 AM
Must be changes in testing rpy then... I'll figure it out at home.

I disagree, they can be perfectly common as long as they make sense. Especially the once that work on similar (or same) stats/skills.
I'm afraid that without additional means pure classes will be too rare. Though I suppose it's not a big deal.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 07:43:42 AM
Must be changes in testing rpy then... I'll figure it out at home.

Error plainly means that:

Code: [Select]
len(True)
# or
len(False)

is ran somewhere. It's not something anyone would normally write so you most likely changed something that used to be a container to a bool somehow.

I'm afraid that without additional means pure classes will be too rare. Though I suppose it's not a big deal.

It all depends on the logic/data, we can have chances for each combo or even chances and defaults if all fails, something like:

Code: [Select]
{
"General Pattern Name": {
"Specific Patten Name": {chance: 100, "Possible Subclasses": {"C1": 50, "C2":20}, default: True},
"Specific Patten Name 2": {chance: 100, "default: True"},
"Specific Patten Name 2":  {chance: 50}
},
"General Pattern Name 2": {...}
}

And so on (this is just a prototype off the top of my head, we can do it differently (Simpler container setup/More complex class to manage containers/Function with loads of if/else/elifs and so on)).

===>>
We also need a new pattern management for auto-equipping... I am not sure yet how or if we can combine the two somehow.

Edit:
===>>
Note 2self: Rows are messed up during logical combat, prolly a similar thing to the now fixed constant healing issue. Gonna take a look at that tonight.
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 09:56:12 AM
Yup, it was testing.rpy. IIRC when I tested how modified jobs refusing will work, I changed it a bit to make everyone whores only, and also added rest job option. For some reason after recent pushes those changes stopped working, so I reverted it to your version.

We also need a new pattern management for auto-equipping... I am not sure yet how or if we can combine the two somehow.
You mean for dual classes? I suppose it should be based on the current job then.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 10:30:40 AM
You mean for dual classes? I suppose it should be based on the current job then.

That's an option... but I still need to figure out a good way of handing "Combat" option at the very least, our classes are no longer straightforward and magic stat may be utterly useless for warrior just as attack for a mage. Both for a combination of both, maybe I can do that using generalization Caster/Warrior, it's yet another thing to think about... but it'll prolly be simple in the end :)
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 11:00:06 AM
Ok, I am going to look into row thing during logical combat, that is likely to require a small rewrite and will prolly be the last bug related to logical/real issues ever (all new code will be written with that in mind).

I just noticed another thing: Unless new Ren'Py upgrade messed something up, our attacks execution may be CPU speed dependent while it shouldn't be. I'll check this for sure when I get to laptop where Cataclysm worked perfectly last because slightly faster CPU on desktop does seems to be terminating animation before it ran the last few frames. This is something we should be able to fix no matter what's the case.

===>>>
I've also looked into using SimPy in the BE but I am yet to find a way around one simple fact:

SimPy = Perfect and easy manageable animations but at the cost of always having to see them... right now it is possible to skip the animations bit by bit, I am not sure yet how to do that using SimPy (because it manages it's own loops and generators). I'll keep hacking at it as well, I have some ideas on how to get it to work even without SimPy.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 01:04:38 PM
We cannot be picky, good highres mobs icons are not common at all...

One thing that I cannot work with in this case is inconsistency, some sprites plainly have empty space that warps their positioning and size... counts both for Actors and Mobs. Even my usual testing case with Hinata/Nami has this issue (Nami's BE Sprite). After I removed the empty space, it got a bit better.

It's either one or the other... either we try to make sprites consistent with transparent space or not. Both is impossible to work with or even theorize. For flying/hovering cr@p like bats we'll have to add a special case: default_offset. I think that may work in general or at least be better manageable.

Last thing is targeting weird sprites (Once where hair/drawn weapon take 1/2 of the sprite), it's not too bad but positioning is targeting is off. System I designed for us can target 9 points of the sprite image and add any offset in pixels to hose positions, that however is not meaningful with weird sprites... so we can either get rid of those or add more parameters to handle proper offset values to find middle/top/bottom.

===>
My last few attempts to remove empty space do improve the last issue quite a bit, maybe no action will be required.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 01:14:15 PM
Ok, I am going to look into row thing during logical combat

Is gone forever, code is now a lot better too :) (although we do not care about it's speed for player-guided battles). I'll see if anything else can be done tonight!
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 01:43:02 PM
LoL

I wanted to check something during Peevish event but instead got this:

(http://s3.postimg.org/l2atw46j3/2015_12_14_20_37_18.jpg) (http://postimg.org/image/l2atw46j3/)

Sadly I rush-clicked thought the conversation so I was pretty much F*cked without looking up the answer in code ;) This is like an endless loop if you are stupid enough to get this far without paying attention. There got to be a way of saying: Screw you guys, I am going home! :)
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 02:29:20 PM
SimPy = Perfect and easy manageable animations but at the cost of always having to see them... right now it is possible to skip the animations bit by bit, I am not sure yet how to do that using SimPy (because it manages it's own loops and generators). I'll keep hacking at it as well, I have some ideas on how to get it to work even without SimPy.
I recall players used skipping function inside BE a lot during the first release. We cannot drop it no matter what, I'm afraid.

One thing that I cannot work with in this case is inconsistency, some sprites plainly have empty space that warps their positioning and size... counts both for Actors and Mobs. Even my usual testing case with Hinata/Nami has this issue (Nami's BE Sprite). After I removed the empty space, it got a bit better.
Maybe you should download updated packs then, hmm? I bet you have the version right after our global retagging, but since then I improved all sprites, cleaned many images and added some new ones for all my existing packs. Just make sure you completely delete old ones at first.
You are right about mobs though, I forgot to do the same for them. I'll fix it.

I was pretty much F*cked without looking up the answer in code ;) This is like an endless loop if you are stupid enough to get this far without paying attention. There got to be a way of saying: Screw you guys, I am going home! :)
Lol  :D
It's more like a placeholder, since I want the password to be found in SE eventually. I was wondering how hard it is to do such a thing in renpy as password entering from a set of options.
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 02:39:29 PM
Btw don't forget, characters have height to determine size of sprites. It probably should work inside BE too.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 02:56:15 PM
Btw don't forget, characters have height to determine size of sprites. It probably should work inside BE too.

It is, it is in fact the very first thing we consider before applying any other "BS" or special considerations, we get a sprite from the corresponding method and work with it for the entire BE scenario (for purely logical execution we obviously do not give a sh!t so it's not even called once).
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 03:10:59 PM
I recall players used skipping function inside BE a lot during the first release. We cannot drop it no matter what, I'm afraid.

SimPy might not be very good bet for BE in this case... it is still the ONLY perfect way of handing jobs and SE :)

Every movement, every animation or ANYTHING you see happening on the screen during BE in such a case is a matter of proper control and management of gameflow. SimPy takes that over and I am not sure atm how we can handle it so it works with Ren'Py internal skipping. I know that SimPy has it's own overrides we can work with but so far I was unable to get that to work in real time scenarios, I'll keep hacking at it as I've said.

Maybe you should download updated packs then, hmm? I bet you have the version right after our global retagging, but since then I improved all sprites, cleaned many images and added some new ones for all my existing packs. Just make sure you completely delete old ones at first.

My packs are prolly very old :(

You are right about mobs though, I forgot to do the same for them. I'll fix it.

Oki :)

Lol  :D
It's more like a placeholder, since I want the password to be found in SE eventually. I was wondering how hard it is to do such a thing in renpy as password entering from a set of options.

Got it! I am just not used to new Events that were not coded by me or Thewlis :D It was a weird surprise. In fact I once already went through the event but could not remember the actual sequence  :'( Since I have seen the label once already, Ren'Py allowed me to fast skip this time based off persistent feature which I did in no way expect!
Title: Re: General Discussion
Post by: DarkTl on December 14, 2015, 03:19:43 PM
There is another option... For those who don't want special effects inside BE we could add an option in settings to disable all effects once and for all.

I'm going to make a big push with cleared mobs sprites. I removed blank space, and also resized them, since some were waaay too big for BE.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 03:31:31 PM
There is another option... For those who don't want special effects inside BE we could add an option in settings to disable all effects once and for all.

I'll think about it but I am not sure that it's a reasonable option, it's not like Transitions that Ren'Py 101% handles for you automatically (which you can turn on/off), so writing double logic for this may not be a good option (but it is still an option as you've said obviously).

I'm going to make a big push with cleared mobs sprites. I removed blank space, and also resized them, since some were waaay too big for BE.

Oki, size doesn't matter much in this case, we plainly resize the images. There are some large items icons as well but I doubt that it matters much as long as we predict the images well.

I removed blank space

This however is awesome because once I can count on all sprites working under the same rules, I can try out new stuff to account for inconsistencies.  It's just almost impossible when you have some wise sprites adding 30% extra horizontal space for no apparent reason.

Edit ===>>>
There are still some frecked up MC images I think, but it's no longer frequent event that I cross one of those (i resized some of those myself in the past).
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 05:21:16 PM
Got to Laptop: GFX in BE are CPU (or maybe GPU) dependent :(

It'll prolly take me a while to figure out why exactly but that is a must... I've also managed to get single (all targets) attack skill working to acceptable effect, I'll look into getting one P2P version of it to work and push, if not tonight, then tomorrow.
Title: Re: General Discussion
Post by: Xela on December 14, 2015, 06:54:07 PM
And last update for tonight :D

I've added two new magical "areal" attack types. Instead of one animation per target, we now aim at the middle of target party (always in between of
center front and back enemy position, even if there is just one enemy on the other end...).

I've ran Cataclysm under new code and Ion Storm (which looks a LOT better this way). P2P attacks are messed up at the moment and will require some rewriting (animation times that I wanted to handle with SimPy before). This has nothing to do with tonight's update, it was broken before... and plainly needs to be fixed.
Title: Re: General Discussion
Post by: DarkTl on December 15, 2015, 04:16:39 AM
There are some large items icons as well but I doubt that it matters much as long as we predict the images well.
It's not true. I resized all items icons to 200x200 a long time ago, with the exception of a few special items which may or may not stay in the game, and even they are not much bigger than 200x200.

And redownload all packs already instead of fixing girls sprites by yourself, thus repeating my job  :D
I'm not planning to improve existing ones any more, unless there will be a major error or another global retagging, so it's pretty safe to download them at this point. Characters data files aside of course, but they are not a part of packs archives.

This however is awesome because once I can count on all sprites working under the same rules, I can try out new stuff to account for inconsistencies.
Some mobs should obviously be larger than others. I suppose mobs could use size string or something, like height for characters.

There are still some frecked up MC images I think, but it's no longer frequent event that I cross one of those (i resized some of those myself in the past).
I'll take a look tonight.

2P attacks are messed up at the moment and will require some rewriting (animation times that I wanted to handle with SimPy before).
Also iirc p2p attacks don't support sprites shaking.
Title: Re: General Discussion
Post by: Xela on December 15, 2015, 04:27:36 AM
It's not true. I resized all items icons to 200x200 a long time ago, with the exception of a few special items which may or may not stay in the game, and even they are not much bigger than 200x200.

And redownload all packs already instead of fixing girls sprites by yourself, thus repeating my job  :D
I'm not planning to improve existing ones any more, unless there will be a major error or another global retagging, so it's pretty safe to download them at this point. Characters data files aside of course, but they are not a part of packs archives.

Forgot about that item files were already resized appropriately.

I'll get the packs.

Some mobs should obviously be larger than others. I suppose mobs could use size string or something, like height for characters.

Maybe, first a plan is needed that will take care of as many issues as possible. Then mobs can be updated properly for the release.

Also iirc p2p attacks don't support sprites shaking.

I want to write proper, reusable code for all attacks but first thing on the list for tonight is to figure out why attacks are CPU dependent, I already have an idea. Maybe laptop (really good hyper-threaded quad) is actually faster then desktop (hyper-threaded duo). There may be a small, easy to fix flaw in my UDD design for Animation. If not it's the calculation but once we use there are so simple the should take nano-seconds which should not effect anything at all.
Title: Re: General Discussion
Post by: DarkTl on December 15, 2015, 04:29:12 AM
In some jobs you have this stuff:
Quote
            for stat in self.locmod:
                if stat == 'fame':
                    self.loc.modfame(self.locmod[stat]) 
which (probably) should increase fame of the building.

In other jobs you do it like self.locmod['fame'] += choice([0, 1, 1]), which increases building fame for sure.

Should I change it to locmod everywhere?
Title: Re: General Discussion
Post by: Xela on December 15, 2015, 04:37:13 AM
In some jobs you have this stuff:which (probably) should increase fame of the building.

In other jobs you do it like self.locmod['fame'] += choice([0, 1, 1]), which increases building fame for sure.

Should I change it to locmod everywhere?

That may not work everywhere... I don't remember how the code is setup but from my most recent update dict should no longer be preset.

Code: [Select]
self.logloc("fame", choice([0, 1, 1]))
is the new "correct" way although it's a bit slower due to function call. Fastest way is prolly:

Code: [Select]
self.locmod["fame"] = self.girlmod.get("fame", 0) + value
but it's a pain to copy-paste it everywhere for actor and building stats. loggs and logloc methods do the very same thing and look better.
Title: Re: General Discussion
Post by: DarkTl on December 15, 2015, 06:43:49 AM
We probably check database too much... Every sex act checks for multiple tags combinations every time. And I do it in interactive sex scene too, though it's not so bad compared to jobs.

I suppose we should check all needed combinations once and make a dict with existing ones or something.
Title: Re: General Discussion
Post by: Xela on December 15, 2015, 07:00:47 AM
I suppose we should check all needed combinations once and make a dict with existing ones or something.

We could, I even wrote some base code for that but it's simpler the way we do it now. Also those checks are really, really fast. We'll do it as you say eventually, but now there is stuff of higher priority.

Edit: Code was for a system we no longer use/have, but it is a straightforward dict so it's not a big deal.
Title: Re: General Discussion
Post by: DarkTl on December 15, 2015, 07:37:54 AM
What's the difference between self.worker.refinement and self.worker.get_skill("refinement")?
Title: Re: General Discussion
Post by: Xela on December 15, 2015, 08:39:57 AM
What's the difference between self.worker.refinement and self.worker.get_skill("refinement")?

self.worker.get_skill("refinement") will return the true, final skill with all logic applied.

self.worker.refinement This is just the action part without any mods.
Title: Re: General Discussion
Post by: DarkTl on December 15, 2015, 12:42:35 PM
Alright, the whore job is close to be finished. I want to add group actions as well, but that requires actual logic at the level of customers, when they either form a group or come as a group.

Since we never did anything about changing strings depending on genders (only talked about it once), I ended up with passing customer gender to checking function, and then selecting line depending on it.
Title: Re: General Discussion
Post by: Xela on December 15, 2015, 12:58:25 PM
Alright, the whore job is close to be finished. I want to add group actions as well, but that requires actual logic at the level of customers, when they either form a group or come as a group.

Since we never did anything about changing strings depending on genders (only talked about it once), I ended up with passing customer gender to checking function, and then selecting line depending on it.

self.client.gender returns the proper gender. As you've prolly noticed, all clients are male atm. They now all have names as well. (there are no issues with female once, they are just not created right now).

Edit:
Too tired for proper coding tonight, I'll take a look at CPU BE thing, it's not the graphics themselves, I know that now.
Title: Re: General Discussion
Post by: DarkTl on December 15, 2015, 01:05:30 PM
We do have lesbian acts, which are hard to imagine without females involved  :D

Edit: 555s commit is mine  8)
Title: Re: General Discussion
Post by: Xela on December 15, 2015, 10:12:19 PM
We do have lesbian acts, which are hard to imagine without females involved  :D

I know, code for creating female customers should be complete, it's not hard to add the to actual generation. I just didn't care about that much before coming up with actual, conditioned costumer generation.

Edit: 555s commit is mine  8)

Congrats, I played around with BE a bit but was too tired to get anything done for real.
Title: Re: General Discussion
Post by: Xela on December 16, 2015, 04:39:06 AM
After a lot of useless messing with SimPy/loops and/or timers I've prolly have figured out a decent way (more like a coding concept) to manage it all. I'll try to make it all work tonight and standardize the code across all attacks.
Title: Re: General Discussion
Post by: DarkTl on December 16, 2015, 04:56:55 AM
If customers already pick characters depending on preferences, you should add it to reports too because it's kinda interesting.

We could use more texts for various sex actions to use with choice ("wrapping around so tight...", etc), but it's not something I can do, I always was bad with THAT kind of texts no matter the language  :D
And in wm lines are a bit comical and surreal, so I'm not sure where to look for this stuff.

I also created an issue for customers generation. Bdsm will wait for adding ST, but groups we already can add.
Title: Re: General Discussion
Post by: Xela on December 16, 2015, 05:01:18 AM
If customers already pick characters depending on preferences, you should add it to reports too because it's kinda interesting.

I have... it's being reported to the main report, we should prolly move that through flags to detailed report later.

I also created an issue for customers generation. Bdsm will wait for adding ST, but groups we already can add.

Oki, I'll add that first when I can (it's an easy operation for female but groups require a bit of thinking through so that'll have to wait, it's not that it's difficult or anything like that, it's just that we do not currently have a system setup for that).
Title: Re: General Discussion
Post by: DarkTl on December 16, 2015, 01:52:34 PM
Found another renpy game in development, rogue-like evolution. It's more like a VN, but it uses a similar interaction menu, which means I can borrow some ideas and lines.

I found "cured of greed" version, but in fact the game hosts at patreon, and the developer makes 1000$ per month just for giving access to his work in progress. Unbelievable  :D
Title: Re: General Discussion
Post by: Xela on December 16, 2015, 07:13:34 PM
Oki, I've threw in some female clients for testing, you can increase the percentage if you need more. I think for beta I'll write a system that advertises based on target audience, so it should be possible to run a brothel mostly for female clients (if I decide to take that direction).

I've to go with this for BE GFX:

1) We will still have to calc pauses but Only for start of animation.
2) Each sequence will be moved it's own func/method and hiding or stuff between those animations will be put on new CPU threads.
3) At the end of show_gfx method we'll set all sprites to correct positions.

There are two issues that I can foresee but it is still less than with any other design. Also those issues are not guaranteed to cause problems and there are ways of solving them even if they do (although with clumsy code). There are many other ways but this seems the best so far, normally this would not even be a concern because in most BEs of similar complexity it is impossible to skip GFX, but we can prolly afford to allow that :)
Title: Re: General Discussion
Post by: DarkTl on December 17, 2015, 03:19:50 AM
Doesn't renpy use GPU for animations?
Title: Re: General Discussion
Post by: DarkTl on December 17, 2015, 03:56:16 AM
As for groups...
We could or could not have a certain number of people in the group action. So in some cases we know for sure how many people do it, and we even know their genders. And in some cases we can write anything, and it won't be contrary to the picture.
So we kinda generate customers groups depending on tags, not the other way around. Unlike all other acts.
Title: Re: General Discussion
Post by: Xela on December 17, 2015, 04:20:27 AM
Doesn't renpy use GPU for animations?

Yeah, but the problem is control, not animations themselves. Because we need a lot of stuff happening at very specific times, calculating the right pause before every next animation is really, really tedious (and getting close to impossible the more stuff we add to attacks + I wanna have even moar in the future :) ).

So since just pausing is getting too complicated, we need to manage the graphics show/hide stuff better, options as I see them:

1) Sim'Py.
- This can take over gameflow and manage every little thing separately at a cost of not being able to skip animations without too much extra coding. There are no limits here beside this one.

2) Timers.
- We add normal Ren'Py timers for delayed/conditioned execution of GFX events. We still have to use a lot of pauses because timers not actually stop game progression (by default, they need to be expanded for that with a while loop (clumsy code again)).

3) New CPU threads.
- CPU Threads will allow us to pause the flow of any particular animation sequence without interfering with the main thread. This means less pauses and somewhat better control.

4) So what Jake did, have each action request pause and have a general manager but his design seemed really linear unless I misunderstood something. In any case, this is something I'd prolly like to avoid.

===
I am going with a combination of 2 and 3 for now. First tests seem to run ok, I got a really weird Ren'Py error once but it never came back. I'll know if it's a final solution once I manage to find time to generalize GFX over all classes and see how new system manages the more complicated once.


As for groups...
We could or could not have a certain number of people in the group action. So in some cases we know for sure how many people do it, and we even know their genders. And in some cases we can write anything, and it won't be contrary to the picture.
So we kinda generate customers groups depending on tags, not the other way around. Unlike all other acts.

I have no idea how to handle that without "cheating" atm. Maybe it'll get better after I add "negotiation" with customers before Job is executed.
Title: Re: General Discussion
Post by: DarkTl on December 17, 2015, 04:32:38 AM
I have no idea how to handle that without "cheating" atm. Maybe it'll get better after I add "negotiation" with customers before Job is executed.
Why? Atm we check what kind of suitable tags combinations character has before picking one of them randomly and proceed with text and skills manipulations.

So for groups we check what kind of suitable groups pictures have all available characters in the current building before attaching customers, and act based on results of that check. Might be slow, but on the other hand groups events are supposed to be rare, well paid and exhausting.

Title: Re: General Discussion
Post by: Xela on December 17, 2015, 04:55:22 AM
Why? Atm we check what kind of suitable tags combinations character has before picking one of them randomly and proceed with text and skills manipulations.

We need to check before we call the main body of the job, client should come in with expectations and demands which can or cannot be realized by the business/workers.

So for groups we check what kind of suitable groups pictures have all available characters in the current building before attaching customers, and act based on results of that check. Might be slow, but on the other hand groups events are supposed to be rare, well paid and exhausting.

You see... that is f*cked up because we cannot have content of packs guiding logic progression in a Sim game, it the most ridiculous, hard to balance, sh!tty idea ever and will prolly be hard to compensate. For any act, we'll have to revert to default pics if the "main" act is missing. In Jobs them selves we can settle specifics but general acts have to be ran as long as there are clients/workers and business generally permits it.

I am very much against basing a Sim game on unpredictable factors like images/tags that we have 0 control of. Our usual approach of running the code trying to find the best pic and reverting to some default if none is found is much better.
Title: Re: General Discussion
Post by: DarkTl on December 17, 2015, 05:30:52 AM
Speaking of reverting to default pics, the game doesn't do it by itself. Recently I tried to show not nude rest picture, and one of small random packs didn't have one. So it showed me a huge "no image found" picture instead, which is really not an option as long as we have at least one profile picture.

I'll try to find some kind of default replacers for all actions that won't show character directly, thus will be suitable every time.
But at very least a random profile picture is better than that huge black message in any case I can think of.

I am very much against basing a Sim game on unpredictable factors like images/tags that we have 0 control of.
Another solution is to add groups as a special type (maybe even gender) of customers, that are rare and have much more money than single customers. But don't have a specific number of members when we don't want it.
Title: Re: General Discussion
Post by: Xela on December 17, 2015, 07:05:07 AM
No idea, there are prolly some special rules in play there, you should have gotten the profile pic...

Edit: Logical targeting seems to be messed up :( prolly because I moved the calc methods, need to check that sh!t...
Title: Re: General Discussion
Post by: DarkTl on December 17, 2015, 10:59:29 AM
I happened to notice that if min stat becomes > max stat, the stat becomes 0/0. It's not an issue, but I wonder if it's intentional.
Title: Re: General Discussion
Post by: Xela on December 17, 2015, 11:21:54 AM
I happened to notice that if min stat becomes > max stat, the stat becomes 0/0. It's not an issue, but I wonder if it's intentional.

Yes, that was intended (not exactly like that but still).
Title: Re: General Discussion
Post by: DarkTl on December 18, 2015, 06:50:55 AM
Possibly decent ideas from that renpy game above:

- Character can be submissive or self-confident. Submissive ones need less disposition to do stuff, but usually don't act on their own. Self-confident ones have higher checks, but can propose MC to do something (like another pose) instead of simply follow his orders.
This system uses two stats for some reason, in our case it's just character stat.

- Girls are limited only by vitality, but MC has a limited amount of libido tied to, well, capacity. No liquid = no cumming, kinda makes sense.
Maximum can be upgraded there via traits, value restores over time.

- It has drugs system. It uses two stats, one shows how quickly increases the need for fix over time, another one shows the current need for fix. The more the need, the more character is willing to do to reduce it.
Title: Re: General Discussion
Post by: Xela on December 18, 2015, 07:50:23 AM
Possibly decent ideas from that renpy game above:

- Character can be submissive or self-confident. Submissive ones need less disposition to do stuff, but usually don't act on their own. Self-confident ones have higher checks, but can propose MC to do something (like another pose) instead of simply follow his orders.
This system uses two stats for some reason, in our case it's just character stat.

Can you add a link? I couldn't find it by name.

We have traits for this, paired with character stat (through automatic normalization system), it will do, possibly better.

- Girls are limited only by vitality, but MC has a limited amount of libido tied to, well, capacity. No liquid = no cumming, kinda makes sense.
Maximum can be upgraded there via traits, value restores over time.

It's a fairly simple feature we can add at any time.

- It has drugs system. It uses two stats, one shows how quickly increases the need for fix over time, another one shows the current need for fix. The more the need, the more character is willing to do to reduce it.

We talked about something like that but it's not that much of a priority either.
Title: Re: General Discussion
Post by: DarkTl on December 18, 2015, 08:59:17 AM
Can you add a link? I couldn't find it by name.
Do you have an account at pornolab (http://pornolab.net/forum/viewtopic.php?t=2101451)? If not, time to make it  :)
The game doesn't have much except good ideas and original art/lines though. I seriously can't believe that someone can achieve so little for two years of development and get away with it while getting 1000$ per month (https://www.patreon.com/posts/rogue-like-beta-1912375)  ::)

We talked about something like that but it's not that much of a priority either.
We never discusses possible concepts though. The idea is more interesting than in wm for instance.
Title: Re: General Discussion
Post by: Xela on December 18, 2015, 09:10:44 AM
...

Primitive gameplay + consistent art. That always seems to work well.

We never discusses possible concepts though. The idea is more interesting than in wm for instance.

We have and I thought that through a lot myself but it's not a priority, we don't even discuss jobs much which are far more important :)
Title: Re: General Discussion
Post by: DarkTl on December 18, 2015, 03:35:22 PM
We have and I thought that through a lot myself but it's not a priority, we don't even discuss jobs much which are far more important :)
I don't remember...
I doubt I can understand sympy logic without long explanations, and the rest of the jobs code in rpy doesn't need discussions, it needs quite simple improvements on my part and potent writers for moar lines  :)
Title: Re: General Discussion
Post by: DarkTl on December 18, 2015, 03:40:45 PM
Hm. Not all MCs have sprofile pictures. Or, rather, they use the very same picture as both battle sprite and profile, but with different names. That's a waste of space, the game should do so without it when needed.
Title: Re: General Discussion
Post by: Xela on December 18, 2015, 04:21:30 PM
I doubt I can understand sympy logic without long explanations, and the rest of the jobs code in rpy doesn't need discussions, it needs quite simple improvements on my part and potent writers for moar lines  :)

Oki, gonna keep hacking at logic, i actually had a list of questions about jobs but the post prolly never went through...

Hm. Not all MCs have sprofile pictures. Or, rather, they use the very same picture as both battle sprite and profile, but with different names. That's a waste of space, the game should do so without it when needed.

You can create an issue if you like, this does not seem important + we planned to generalize tagging systems so tagging db is used everywhere + that will ulock the road to even better logic.
Title: Re: General Discussion
Post by: Xela on December 18, 2015, 08:51:57 PM
We might have to rewrite BE Skills declarations a little bit (for the last time). I'll try to work with what we got but it's confusing and incomplete system, especially if we want to have the best management for general attack types (custom types can obviously do anything at all at cost of extra code).

===
New MC sprites look a LOT better, I still didn't get a chance to grab new packs though :(
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 05:26:13 AM
I put in a couple of hours into ironing out BE gfx this morning, there are a few kinks to work out and generalization across all classes is needed but I will try my best to finish that part today :)

Zero Prism looks totally awesome with a properly timed sprite shatter effect I am running right now, I can't stop running the attack over and over again. Gtg for an hour or two but I'll have another 5 - 6 hours to hack at it tonight.
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 05:45:15 AM
Do you think we can afford now to add small special effects to all spells, like in that last Eliont's game? Like, ice reduces agility or something.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 06:49:06 AM
Do you think we can afford now to add small special effects to all spells, like in that last Eliont's game? Like, ice reduces agility or something.

Effects themselves have nothing to do with what I am doing right now, at best it will be simpler to add gfx representations of those effects. If you want to mess with that before next release, we can always add another issue but we already have a lot of those :)
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 06:51:18 AM
You did mentioned rewriting skills. Might as well add effects, if it's simple to code.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 07:01:22 AM
You did mentioned rewriting skills. Might as well add effects, if it's simple to code.

We can do it though events and add to calculations as modifiers and it's not hard but we'll need graphical icons if we want to do it properly... it just feels too early with everything else currently on the plate.

I need 3 - 4 hours more for gfx normalization + there is one huge and complicated bug there that I only know how to get past by in theory (because it's very rare and occurs only during skipping, making my theories even harder to test). Once that is done, if you insist on modifiers bound to attacks, I'll code that in and show you how to use them with a proper, well commented example (I can find an icon or two on google or I even recall some in my resources/DB).

If not, if there is still time/will left, I'll add a couple new gfx effects.
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 07:11:47 AM
Nah, I need to think properly about the concept first.

I added another new issue instead  :)
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 07:57:32 AM
I added another new issue instead  :)

Quote
Advanced portraits logic #147

It's not a good idea to pollute general access methods with logic like that, I'd much rather see indifferent (or even random) instead of in pain if sad is missing (for example). Same for shy > scared thing and couple of others. You obviously see thing differently, if we ask someone else, it can be a whole different opinion.

I want general access methods/funcs to obey plain, common rules with as little overrides as possible, if you want it to work like that during your events, I can have the portrait method have special "Dark Events Mode" rules override :)
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 08:05:01 AM
===
Yeah, I am gonna rewrite the declarations, it'll take another couple of hours but it'll be worth it in the end...
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 09:00:40 AM
"Dark Events Mode"
:D

You misunderstood, it works in one direction. Sad can replace in pain and tired, tired can replace in pain, in pain cannot replace anything.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 09:09:54 AM
You misunderstood, it works in one direction. Sad can replace in pain and tired, tired can replace in pain, in pain cannot replace anything.

LoL

Code: [Select]
Happy<>Confident
Sad<>Tired<>In Pain
Angry<>Defiant
Shy<>Uncertain<>Scared
Ecstatic<>Suggestive

it should have been:

Quote
Happy>Confident

then. It makes more sense... it's still unorthodox but we can roll with it none the less.
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 09:16:02 AM
Yeap, my bad -_-

I'm telling it based on my pack maker experience. Sad ones are much more common than tired, and tired ones are much more common than in pain.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 10:35:10 AM
I am rewriting declaration, did you like "wing it" when you first added them?  :-\

Some aims are declared really, really oddly  :D
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 10:38:23 AM
I don't understand what are you talking about. I manually checked every spell inside BE back then, in the testing mode with goblins.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 10:44:03 AM
I don't understand what are you talking about. I manually checked every spell inside BE back then, in the testing mode with goblins.

Weird aim can have side-effects when fighting different opponents, you're aiming spells that should hit dead center of the enemy at bottom-center, then add offset and odd anchor (which will be relative to Goblin sprite if you're using them for target practice but may not hit the right spot with other mobs. Proper aim doesn't give a sh!t what mob you're aiming at, it will hit proper coordinates relative to true size of mobs sprite and than add offset/anchor if those are overwritten. You prolly misunderstood the system and tried aiming using offset/anchor instead with some attacks). I know it was working vs goblins because I've tried all the attacks many times but they were sometimes off vs other mobs in the arena, at least now I know why :)

I'll rewrite the code first and then re-declare all attacks properly one by one leaving better comments for future references.

===
That said, even with proper aim, we still may add sprite offsets directly to Fighters. Some sprites plainly focus the body of the sprite poorly when compared to the most normal sprites that position it at center.
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 10:58:30 AM
Goblins sprites also had a lot of blank space before I removed it. Back then I thought the game ignores blank space for sprites anyway.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 11:02:28 AM
We'll figure it out, it's tricky to work with sprites from multiple sources... I am trying to write a code that will allow testing both old and new skill declaration at the same time.
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 01:58:31 PM
Where do you calculate payment for jobs? I didn't noticed anything related to it in classes-jobs when rewrote whore job.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 02:01:26 PM
Where do you calculate payment for jobs? I didn't noticed anything related to it in classes-jobs when rewrote whore job.

It's in buildings/businesses. I wanted to generalize that as well, but it'll take a lot of time. If you want, you can write your own logic for Whore Job for now.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 02:53:05 PM
This f*cking gfx system is so f*cking demanding, been at it for 2 + 8 hours without breaks and I am still not done :( What's worse, i am not even sure that it'll work properly since it cannot be tested using incomplete code... still, it's based on previous data so it prolly should...
Title: Re: General Discussion
Post by: DarkTl on December 19, 2015, 03:19:40 PM
 :D

What do you mean by "It may be a good idea to split the job in 4 logical parts." in issue 44?
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 03:35:20 PM
What do you mean by "It may be a good idea to split the job in 4 logical parts." in issue 44?

GayWhore, AnalWhore, StraightWhore and one more. I dropped the idea for now, it's just for code clarity and unimportant for design.
Title: Re: General Discussion
Post by: Xela on December 19, 2015, 04:50:58 PM
I am done for the night, BE is broken in many places + one line in Ren'Py needs to be modded for it to work properly atm anyway so there is no point in testing it...

===
Ok... another couple of hours left me with no choice but to abandon the current threading approach. It would seem that Ren'Py is not build to accept graphic input from multiple threads at a time or something else is going on I don't understand (or care to). It's back to SimPy or some other option. In either case, most of the new code is sound and usable even if the system failed as a whole.
Title: Re: General Discussion
Post by: DarkTl on December 20, 2015, 01:40:27 AM
About portraits...

Happy>Confident
Happy>(Suggestive<>Ecstatic)
Shy<>Uncertain
Indifferent>anything that is not happy, confident, suggestive or ecstatic.

Without such a system we are at risk of keep showing Happy when we need In Pain.
Title: Re: General Discussion
Post by: Xela on December 20, 2015, 06:50:46 AM
You can write the func yourself if you like:

Code: [Select]
if self.has_image("portrait", "happy"):
    tags = ("portrait", "happy")

and etc. I gotta figure out what to do with BE next.
Title: Re: General Discussion
Post by: DarkTl on December 20, 2015, 06:55:37 AM
I know I can. But I will include it into char.override_portrait, so I want to make sure you are not against the idea.
Title: Re: General Discussion
Post by: Xela on December 20, 2015, 07:42:01 AM
I know I can. But I will include it into char.override_portrait, so I want to make sure you are not against the idea.

We can always move that later if we wish this functionality whenever portrait is called.

I am still deciding what the best approach of handing GFX in BE would be...
Title: Re: General Discussion
Post by: DarkTl on December 20, 2015, 08:07:55 AM
Couldn't you ask at renpy forum about multiple threads?
Title: Re: General Discussion
Post by: Xela on December 20, 2015, 08:37:41 AM
Couldn't you ask at renpy forum about multiple threads?

Because I did more testing this morning on a fresh head and now convinced that it plainly not meant to work like that in Ren'Py. Even if we rewrite the engine internally, we'd have to update it every time new update comes out, I've plainly tried something that was a bad idea in the first place and did not work out, it's not like that was the first time.

80% of the new code that I wrote will be used in any system, it's just a more appropriate handing of gfx events.
Title: Re: General Discussion
Post by: Xela on December 20, 2015, 09:03:09 AM
I think I've got it! I'll just calculate all time base values before execution, bind them to a dict vs correct, curried function and call them one by one, pausing in between from a list of sorted keys! That should work perfectly without any fuss and under normal Ren'Py operations! Plus it will allow step by step skipping just like before!

It's not cool or advanced but it's super simple and easy to work with (which is usually an advantage), I just prototyped it with a simple setup and it worked perfectly! I gtg now for an hour or two, gonna try this for real when I get back.

==>
Something came up so I didn't get much done tonight save the initial concept testing, gonna hack at it for another 1 or 2 hours and call it a night.
Title: Re: General Discussion
Post by: DarkTl on December 20, 2015, 02:16:09 PM
Well sh#t, I know now why the game didn't worked with my previous testing rpy. I'm rewriting stripping job, and I wanted to tested it, so I commented out Bar upgrade and returned StripClub upgrade. And here we go, infamous bool error immediately.
Quote
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in script
    $ building.run_nd()
  File "game/library/screens/pyt - screens - nextday.rpy", line 41, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core buildings.rpy", line 556, in run_nd
    self.env.run(until=100)
Exception: (TypeError("object of type 'bool' has no len()",), TypeError("object of type 'bool' has no len()",))
I suppose it has something to do with len_clients = len(self.clients) lines in multiple places, which were there before me.

I'm not really sure how to rewrite these parts correctly, so I stop remaining jobs rewriting until they become available  ::)
Title: Re: General Discussion
Post by: krakr on December 21, 2015, 11:23:11 AM
Got a quick issue I'd like to bring up that's been bugging me for a while.
Most of the game has a brown wood grainy background. I guess I'm getting color blind in my old age, I have to struggle to see all the blue text when it's on the brown bg.
It's due to the darkness of that particular blue.
No issues with any of the other text colors though.
Sorry to interrupt the conversation.
Title: Re: General Discussion
Post by: DarkTl on December 21, 2015, 12:18:12 PM
Which version do you mean? Alpha or the current one?

I mean, I don't really see much of blue text in the current version, so I suspect it's alpha. I don't remember how it looked like, we released it a long time ago.
Title: Re: General Discussion
Post by: krakr on December 21, 2015, 01:04:13 PM
Which version do you mean? Alpha or the current one?

I mean, I don't really see much of blue text in the current version, so I suspect it's alpha. I don't remember how it looked like, we released it a long time ago.
The current one Here's an example of the blue I just found:



(http://s14.postimg.org/52chdod1d/screenshot0012.png)


It's not on the brown background, but it is dark. I saw another screenshot that showed what I was talking about better, but can't find it now.
That's the particular blue that gives me trouble though. Even on this background it looks a little fuzzy to my eyes.
Title: Re: General Discussion
Post by: DarkTl on December 21, 2015, 01:07:41 PM
Ah, you meant exploration module. It should and will be rewritten of course, including gui.
Title: Re: General Discussion
Post by: Xela on December 21, 2015, 03:44:58 PM
(http://s14.postimg.org/52chdod1d/screenshot0012.png)

This is older design that we prolly do not have anymore... although it was a 100% working one :)

===
I've created a new issue, got a bit sick so I couldn't work on anything today. I should have a lot more time for this at any rate during the holiday seasons :)
Title: Re: General Discussion
Post by: Bloodly on December 22, 2015, 07:19:42 AM
...Let me see if I understand the situation.

There is a 'alpha', which is downloadable, moddable, etc.  It is also very out-of-date.

There is a 'Development version', which you are discussing and improving, but also not distributing.

Is that the gist of how things stand, currently?


-


I wonder why recovery is '25 health, roughly, if you have any AP spare' rather than 'roughly 25 per AP'?
Title: Re: General Discussion
Post by: DarkTl on December 22, 2015, 09:33:26 AM
There is a 'alpha', which is downloadable, moddable, etc.  It is also very out-of-date.

There is a 'Development version', which you are discussing and improving, but also not distributing.
Yeap. The dev version has new features, better gui, better packs, etc. but it's not ready for actual playing because of unfinished parts of the code, so it's pointless to distribute it atm.

I wonder why recovery is '25 health, roughly, if you have any AP spare' rather than 'roughly 25 per AP'?
Where is it from?
Title: Re: General Discussion
Post by: Bloodly on December 22, 2015, 10:15:23 AM
Normal healing per day, and it's slightly worse than I stated: it's up to 25, based on AP you have left.  This is in the Alpha that is downloadable.

The only other option, currently, is potions.  Then there's taxes, too.  I wonder when I'm supposed to train girls and get them ranks to make them earn more money to help pay the taxes? 

I have two: a slave and someone I charmed after about 2 month's work on it.  Working on a third(Started on her, then the other turned up).  Basically living by the skin of our teeth in terms of money, mostly via Arena.  Living in House 2.
Title: Re: General Discussion
Post by: DarkTl on December 22, 2015, 11:54:11 AM
We got feedback from multiple forums, but even here we have a thread made by alpha testers, here (http://www.pinkpetal.org/index.php?topic=3414.0). They have some tips about the gameplay.
Title: Re: General Discussion
Post by: Xela on December 22, 2015, 02:48:50 PM
Normal healing per day, and it's slightly worse than I stated: it's up to 25, based on AP you have left.  This is in the Alpha that is downloadable.

The only other option, currently, is potions.  Then there's taxes, too.  I wonder when I'm supposed to train girls and get them ranks to make them earn more money to help pay the taxes? 

I have two: a slave and someone I charmed after about 2 month's work on it.  Working on a third(Started on her, then the other turned up).  Basically living by the skin of our teeth in terms of money, mostly via Arena.  Living in House 2.

Following should be noted:

- Getting hurt while doing a none combat job is a relatively rare event and is close to impossible with proper security.
- The idea was not to launch the game with 0 lvl population... it was a design for a much simpler SimBro clone that I've started and that was dropped after Dark and CW joined the dev team as content creators and Jaeke as a proper beta tester. Also a decent amount of code was contributed by rudi, longint, eliont and several others. So Alpha was somewhere in between of two concepts...
- A number if possible starts have been explored and confirmed to be playable in Alpha. Simplest one seems to be a two good Slaves ==> Training ==> Work option. That setups proper cashflow income and allows expansion of business.

===
In Beta we want the following:

- Events and Quests to enrich the game play.
- Better moddability.
- Simulated exploration module that explores unstable regions near the city for cash and quests.
- Far more interaction options and friend/lovers system.
- More advanced businesses mechanics.
- Better Stats/Skills Management.
- (Now) better texts.
- Better graphics, GUI and general SFX (Also related logic, it is now possible to see the common effects of items before they are equipped *which was not easy to set up under a system as advanced as ours).
- Cooler Battle Engine that was already rewritten 100% and now even further improved + It is now also already possible to put all fights through battle engine while in Alpha there was just a lame function comparing battle stats of two parties...
- More content in general, like spells, NPCs and etc.
- Introduction to quarters
- Prolly moar...

===
For official release:

- Quarters Module
- Gang warfare in Fleebottom quarter, corruption vs economy in better quarters
- Crafting
- Better Arena integration.
- Politics module (which will allow to influence taxes, laws (slaves participating in combat, slave trade, drugs, whoring and etc.))
- Politician Module where player is playing a role of a Noble, setting his trusted workers/allies at key positions and managing city - continent wide stuff.
- More interaction and a more complete interactions module.
- More content and etc.


Post Official Release:

- Gang module in
- Proper Economy module (inflation, competition on a global scale, demand/supply simulation + event driven mods)
- Player guided Exploration (Some form of Dungeon crawler)
- Moar content (hopefully by a modders instead of the dev team)
- More minigames


==>>>
At least that is the plan for now, we're working on it bit by bit clearing a number of issues/obstacles. The idea is to create a game with complex mechanics which can be played in local as well as global layers. At this point, we are still working solely on local part and wrapping up some other designs...
Title: Re: General Discussion
Post by: Bloodly on December 22, 2015, 03:26:58 PM
You have big plans.  The question is if all these glorious massive ideas is...necessary. 

The biggest problem with these big projects is they get bogged down because they're trying to do too much, everyone gets tired, and they die slow.

It seems....the heart of the game isn't in place, nor does it...sound...like you're clear what the heart of the game even is. 

I mean: What are 'you' trying to do/achieve that would require such a massive framework, shooting up into global politics and grand strategy territory to do?


It sounds like you want 5 different games in 1.  That's not impossible, but it's very tricky.
Title: Re: General Discussion
Post by: Xela on December 22, 2015, 04:03:02 PM
You have big plans.  The question is if all these glorious massive ideas is...necessary. 

No, none if it is "necessary", nothing bad will happen to anyone on the dev team or in general if we just quit or do less.


The biggest problem with these big projects is they get bogged down because they're trying to do too much, everyone gets tired, and they die slow.

We've been at it for almost three years. Projects die when people with unsteady RL or those who don't have a slightest ideas of what they are getting into start making insane plans.

It seems....the heart of the game isn't in place, nor does it...sound...like you're clear what the heart of the game even is. 

I recon that heart, brains, spleen, intestines and a lot of other organs are just in the right place, you're ofcourse welcome to your own opinion ;)

I mean: What are 'you' trying to do/achieve that would require such a massive framework, shooting up into global politics and grand strategy territory to do?

To create one decent game that does exactly what you said above. God knows that there are plenty of games out there that offer good art (+ simple logic) or same general art (as we do) but with half-baked logic. So "I" am trying to get one major title rolling that would be worth playing and could pull off a more or less complete world simulation from "under"/overview, what others whom contributed to the project want, you'll have to ask them :)

It sounds like you want 5 different games in 1.  That's not impossible, but it's very tricky.

Well, noone ever said it'd be easy.

===>>>
We're not planning on doing all of that "cr@p" at once. For beta we have very modest goals and nothing that can get in a way of that except lack of time/will/manpower. Each of those modules along with proper balancing may take a good deal of time but by the same reasoning:

Why make 5 games that are just a little bit different from what's already out there instead of making one open world game that can take include it all, as long as we take it one step at a time. Alpha was already well received, Beta should be a lot better, we will get that far at least, what we do afterwards (keep hacking at PyTFall/Start something new/Combination of both/Quit all together) we'll discuss after the release :)
Title: Re: General Discussion
Post by: Bloodly on December 22, 2015, 06:04:35 PM

To create one decent game that does exactly what you said above. God knows that there are plenty of games out there that offer good art (+ simple logic) or same general art (as we do) but with half-baked logic. So "I" am trying to get one major title rolling that would be worth playing and could pull off a more or less complete world simulation from "under"/overview, what others whom contributed to the project want, you'll have to ask them :)

When I said 'you' I meant 'you the character'.  What the heck is gonna drive a player to take the world stage from a simple brothel owner, even if they somehow have buckets of money and God-girls...beyond 'because it's there', which is always there.
Title: Re: General Discussion
Post by: Xela on December 22, 2015, 07:27:40 PM
When I said 'you' I meant 'you the character'.  What the heck is gonna drive a player to take the world stage from a simple brothel owner, even if they somehow have buckets of money and God-girls...beyond 'because it's there', which is always there.

How is this even a question? + it'll prolly not be possible to do everything in one gameplay once we get that far.
Title: Re: General Discussion
Post by: DarkTl on December 23, 2015, 02:47:32 AM
I mean: What are 'you' trying to do/achieve that would require such a massive framework, shooting up into global politics and grand strategy territory to do?
Quests and story, obviously.

a player to take the world stage from a simple brothel owner
A player doesn't have to be a brothel owner btw.
Title: Re: General Discussion
Post by: Xela on December 23, 2015, 04:01:06 AM
And yet another super-busy day before the holidays for me... I'll try to do something small tonight if possible.
Title: Re: General Discussion
Post by: DarkTl on December 23, 2015, 05:11:29 AM
You can start with enabling stripper job without CTDs, if it's not a big deal. This way I will be able to rewrite it properly.
Title: Re: General Discussion
Post by: Xela on December 23, 2015, 02:14:09 PM
stripper job without CTDs

Need more info, last I've checked, it was working for me.

Edit, no... seems broken somehow for me as well.

===>>>
Edit2:

I've fixed it, maybe some code was lost during refactoring because it could not have been coded like that before. It should work for now but requires some major updates, especially to how skills/stats are handled.
Title: Re: General Discussion
Post by: DarkTl on December 24, 2015, 01:41:04 PM
Do you think it worth it to try to move picture closer during hugging/kissing interactions? That's how it's done on that game I mentioned before.

On the other hand, we might not know where character face is, so it might lead to weird effects. We could also enlarge portrait a bit during scene, it's probably safer.
Title: Re: General Discussion
Post by: Xela on December 24, 2015, 03:08:56 PM
On the other hand, we might not know where character face is, so it might lead to weird effects. We could also enlarge portrait a bit during scene, it's probably safer.

I think you've answered this one yourself. We can add SFX + some general GFX effects (which can be made pretty cool as well) but not zoom-ins for specific parts of the image. Not outside of unique events anyway.
Title: Re: General Discussion
Post by: DarkTl on December 25, 2015, 12:58:45 AM
I have to ask how do you see the logic of refusing because of wrong profession, because I'm not sure how to handle it.

Let's say we have a cleaner and a waitress. They both are servers, as general occupation. Should there be any issues when you try to make a cleaner to work as waitress and vice versa, aside from obvious lack of required skills?
Title: Re: General Discussion
Post by: Xela on December 25, 2015, 07:53:24 AM
I have to ask how do you see the logic of refusing because of wrong profession, because I'm not sure how to handle it.

Let's say we have a cleaner and a waitress. They both are servers, as general occupation. Should there be any issues when you try to make a cleaner to work as waitress and vice versa, aside from obvious lack of required skills?

Plan is: First we check Job assignment, then pure occupation, then general occupation. We may add more controls over it but only after the system is working properly. We do not check this in check_occupation method, it is checked by the business class directly. Job.check_occupation is meant to discard workers that were placed to do a job but not willing OR modify their stats if they are willing but not wanting.

I am also considering adding those checks during assignment, so we don't have to deal with unwanting, but I am not 100% sure if that is the right way.
Title: Re: General Discussion
Post by: Xela on December 25, 2015, 11:33:24 AM
Finished the core update to BE GFX method! Works perfectly this time!

Number of attacks are messed up and almost all attacks are incomplete (new code allows better handling of gfx effects and now timed death and shake effects are possible). There is still much to do like proper inheritance through all classes, proper defaults (I messed both of these up writing previous code fur to stupid mistake) + a rewrite for more advanced spells. Maybe another refactoring but that can wait...
Title: Re: General Discussion
Post by: DarkTl on December 25, 2015, 12:51:47 PM
Well, testing BE mode is messed up completely for sure :D

I am also considering adding those checks during assignment, so we don't have to deal with unwanting, but I am not 100% sure if that is the right way.
Hmmm. I like the idea. Such characters might lose joy and vitality much faster instead of constant chance to refuse which could be irritating for player.
Title: Re: General Discussion
Post by: Xela on December 25, 2015, 01:11:20 PM
Well, testing BE mode is messed up completely for sure :D

I haven't pushed yet :) still hacking at it:

- Rewrote some parts of the code.
- Arranged for proper inheritance/passing of args.
- Refactored code so it's simpler to use in other methods (finishing up now).
- Fixed a couple of bugs.
- Added more control over gfx effects.

Still to do:
- More complicated attacks update.
- Proper handing of defaults.
- Docs/Comments

- Update all attacks (but I'll push long before that). We can slowly do this over time.
- Add moar gfx/sfx.

Hmmm. I like the idea. Such characters might lose joy and vitality much faster instead of constant chance to refuse which could be irritating for player.

It's just matter of moving code from check_occupation to assignment screen.
Title: Re: General Discussion
Post by: DarkTl on December 25, 2015, 01:29:17 PM
No, not entirely... If we check disposition to find out if the character agrees to work at wrong job in the first place, then we cannot decrease it every turn anymore because we don't check it every turn any longer.
Instead they could waste more AP, joy and vitality than normally.
Title: Re: General Discussion
Post by: DarkTl on December 25, 2015, 01:41:43 PM
Hm. In the Eliont game all spells also have recharge time, in turns. Might be useful too for us.
Title: Re: General Discussion
Post by: Xela on December 25, 2015, 01:44:07 PM
Hm. In the Eliont game all spells also have recharge time, in turns. Might be useful too for us.

I am not doing logic atm, just sfx.

===>
Pushed first bit of code, base + first four fire spells. Without comments and more complex spells for now.

I'll prolly have to flip cataclysm into FilmStrip or add image prediction, it never works well on the first try even with ("would be") perfect timings we have now. Accessing ==> Loading ==> Displaying 55 files in real time in super quick succession just doesn't work without proper measures...
Title: Re: General Discussion
Post by: Xela on December 25, 2015, 06:15:37 PM
It's so awesome to work with a functioning system once everything is more or less set to work properly :D

P2P Magical Attack is working now!

It's Areal counterpart is next. Then it's just the Arrows left + major spell timings update and new gfx.
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 06:08:43 AM
I'll prolly have to flip cataclysm into FilmStrip
It won't be simple. I tried to find a plugin which can combine layers into film strip, but unsuccessfully.
On the other hand, plugins for gimp are made in python, so you probably can write one by yourself  :)
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 06:24:32 AM
It won't be simple. I tried to find a plugin which can combine layers into film strip, but unsuccessfully.

I think it was a gif initially, it was you who pointed out that we can just convert gifs to filmstrips. I tracked the issue down to death effect with dissolve, my animation class somehow doesn't like when dissolve is running at the same time as it. Spells/Death all work really well now, I am going to test them on faster PC soon just to make sure. Maybe a rewrite of Animation class is also a good idea, we could simply force it to show correct images at the correct time instead of trying to time them using renpy.redraws, it's not too hard and should solve the animation overshoot issue (I just hope that it will not create a new one where frames are skipped, but even if it does, that will be a lot harder to notice).

In any case, I am still testing, tweaking and updating some spells. I wanna try projectile spell that hits three targets with individual attacks, that should be possible now :)

On the other hand, plugins for gimp are made in python, so you probably can write one by yourself  :)

I didn't know that but I don't have Gimp atm...
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 06:34:35 AM
I think it was a gif initially, it was you who pointed out that we can just convert gifs to filmstrips.
All tools I've seen convert animations into filmstrips, not separate images. That's why all spells added by me are filmstrips. I dunno how you even managed to convert a gif into 55 images -_-
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 07:59:08 AM
All tools I've seen convert animations into filmstrips, not separate images. That's why all spells added by me are filmstrips. I dunno how you even managed to convert a gif into 55 images -_-

LoL

And all tools I've initially found split gifs into individual images :)

Both turned out to be very common... I am not entirely sure if it's a better idea to cut one file with a huge resolution or load 55 files one by one. My filmstrip code works along the same lines as the Animation but somehow, so far, it is doing a better job. Maybe because it is used mostly with simpler RPG Maker frames. I'll take a look at how Ren'Py default methods handle these things.

I managed a couple of new updates but couldn't push to GitHub, gonna try that again...
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 08:50:27 AM
I wanna try projectile spell that hits three targets with individual attacks, that should be possible now :)

Seems to be working! Although does not look as cool as I've hoped.

I tracked the issue down to death effect with dissolve

I think that I know now what's causing this, it is likely that dissolve is forcing animation to continue for as long as it is alive. I'll take a look at how that can be solved.
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 09:19:02 AM
Mmm, you do know that Solar Flash does CTD, right?
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 09:31:10 AM
Mmm, you do know that Solar Flash does CTD, right?

Ofcourse, I am still updating spells. For now just trying to make sure that nothing crashes the game...

Oki, I pushed another update, there shouldn't be any more crashes. Many spells are still not updated to new code or not timed perfectly. I got to take care of some rl stuff now, gonna try more stuff later.
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 12:09:43 PM
I am tired of messing with spells and timing, gonna try to clean up my Ren'Py projects folder and maybe toy with some basic saturation/tinting/brightness manipulations and see if there some feature for BE in that area (like maybe new damage effect)...
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 02:04:54 PM
You mean stuff like color filters? For example, make the whole screen a big red during Cataclysm?
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 02:09:33 PM
toy with some basic saturation/tinting/brightness manipulations and see if there some feature for BE in that area (like maybe new damage effect)...

 8)  :o 8) And we have a new damage to sprite effect! ;D  :o ;D

Pretty basic for now but it looks good enough.

===>>>
it is likely that dissolve is forcing animation to continue for as long as it is alive. I'll take a look at how that can be solved.

Fuck (yeah, without the * censor) dissolve (and other transitions while in BE mode as well)... we're switching to alpha transform :)
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 02:10:04 PM
You mean stuff like color filters? For example, make the whole screen a big red during Cataclysm?

Hold on, I'll push. Check out Firaga :)
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 02:23:26 PM
Ahh, yeah, they do it often in jrpgs  :)

I suppose massive spells could use full screen color change for 0.5-1 second when they strike the ground. If it will look good enough.
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 02:27:00 PM
Ahh, yeah, they do it often in jrpgs  :)

I suppose massive spells could use full screen color change for 0.5-1 second when they strike the ground. If it will look good enough.

I know, but there is no guide as to how so I had to look at what functions we have. Full screen may be a pain to work with, especially when changing colors. Maybe a shake effect or effect just to background instead...
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 02:35:28 PM
Yeap, background sounds good too.

Why do you replaced shake gfx with fire? You can't use both at the same time?
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 02:37:10 PM
Why do you replaced shake gfx with fire? You can't use both at the same time?

Like what? fire_shake? :D <== Done! Check out Firaja.

No idea, let me try, there should be nothing preventing it. Did you kill anyone with arrows yet btw?
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 03:03:46 PM
Did you kill anyone with arrows yet btw?
Looks awesome!  :)

If you willing to play with effects, you can make a unique death animation for every element. Like, for fire the target becomes black and crumbles into dust, being burned out.
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 03:11:35 PM
If you willing to play with effects, you can make a unique death animation for every element. Like, for fire the target becomes black and crumbles into dust, being burned out.

Like recolor to black and fadeout?

==>
I'll try something with background next :)

=====>>>
Just had another GFX idea to try after the bg thing...
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 03:52:57 PM
I mean stuff like fading+waving effect like this (http://dev.physicslab.org/img/260deafe-947d-4fb4-b504-00bfea1af215.gif) one for water, or for air fading + slow enlarging of sprite, to show how the target dissolves in the air. Or maybe this (http://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=29544) circle based transition, might look better.
We can live without it of course, but spells will look a bit better.
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 04:32:20 PM
I mean stuff like fading+waving effect like this (http://dev.physicslab.org/img/260deafe-947d-4fb4-b504-00bfea1af215.gif) one for water, or for air fading + slow enlarging of sprite, to show how the target dissolves in the air. Or maybe this (http://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=29544) circle based transition, might look better.
We can live without it of course, but spells will look a bit better.

We'll see... I don't want to use transitions in BE anymore, they tend to mess sh!t up somehow. I wanna take a look at some new Attacks in general, maybe a unique combat skill or something or hack at something else, this can wait and I need to think about it for a while.

Mirage added to True Cataclysm :) Any other ideas?
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 04:38:51 PM
Wow, that was awesome  :D

You can add special death for fire, target becomes black and either fades out or does the same thing you do for fire arrow, but using smaller parts, because ash particles are very small.
Or if you tired of animation, issue 18 is there.
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 05:07:29 PM
You can add special death for fire, target becomes black and either fades out or does the same thing you do for fire arrow, but using smaller parts, because ash particles are very small.

I'll think about a good way to make new death effect but we can leave that for later. Also it's a complex effect that will rarely be visible and looks weird in my head. It's more like a cool finishing move but as a death effect it will prolly look messy...

issue 18 is there.

Yeah, that may be useful as well.

===>>>
I am going to call it a night and go hunting for new GFX effects (there is a lot of cool stuff out there) until I fall asleep, maybe add new epic attack of some kind :) It's too late for major stuff + I am really happy how new BE system is working so it's a huge win already!
Title: Re: General Discussion
Post by: DarkTl on December 26, 2015, 06:37:22 PM
I still have those absolutely amazing animations from the japanese website you showed me some time ago. I even saved them locally to make sure I have them even if the website will be closed  :)
So we can afford plenty of global and good looking spells like your Cataclysm.
Title: Re: General Discussion
Post by: Xela on December 26, 2015, 09:44:12 PM
So we can afford plenty of global and good looking spells like your Cataclysm.

New animation for normal Cataclysm (+ new logic for flipping animations), for now without synced sound. Also I've added a test for how much quality we loose when reducing image size, left is normal, middle 0.5 the size, right 0.25 the size.

Title: Re: General Discussion
Post by: DarkTl on December 27, 2015, 02:58:20 AM
0.5 doesn't look half bad.
This (https://s-media-cache-ak0.pinimg.com/originals/68/7d/21/687d2132c02cbb5de0f55ef4f85e2b13.jpg) one looks like a great global wind spell.
Title: Re: General Discussion
Post by: Xela on December 27, 2015, 07:12:36 AM
Yeah, I found a lot of gfx online yesterday as well (The marple once are still the best and they made a couple of new once since I checked last (before finally moving to 3D so that source is pretty much exhausted with the +/- 500 new animations, big and small)) :) I think that eventually the best once well be combinations like CWs arrows, those were also taken from it, the more complex, the better.

Gonna take another run at the code tonight, maybe BE, maybe something else (although I am still in a mood for BE since a couple of decent "wins" last night in that module, both in code and content!).
Title: Re: General Discussion
Post by: DarkTl on December 27, 2015, 07:29:11 AM
I'm rewriting interaction sex scene meanwhile. I picked up get_act function from jobs, we have that new get_image_tags function to make better texts, and I wrote check_submissivity function which determines how independent the character is based on traits and character stat.
All this will allow to have much more variety there.

We'll probably need to show levels of libido and maybe a few other stats during the scene. Something like these  (http://cache3.asset-cache.net/gc/501666129-energy-progress-game-bar-set-gettyimages.jpg?v=1&c=IWSAsset&k=2&d=Gf%2BVuKN7xqMAHFd%2B1wut7%2BcAUpss0%2Bsa8NQ3xx4s0wK%2B2AytI3WkUC5Sa%2FLb5rW3)progress bars.
Title: Re: General Discussion
Post by: Xela on December 27, 2015, 08:26:38 AM
Oki... I thought we were going to remove libido, which is it? :D

===>>>
A bit more logic is also needed for proper animation, renpy.show/hide have insane function overhead and we're suffering from that already a little bit. It'll only get worse with complex animations...

ATL/UDD is the way to go! Depending on specific case, that will allow animation sequences of (almost) any complexity without hiccups. I am going to do that for bg first (never having done that before, it is the simplest testing case we have). There could be some places where that's not acceptable and skipping will look weirder (with complex animations) although still perfectly possible.
Title: Re: General Discussion
Post by: DarkTl on December 27, 2015, 08:33:44 AM
Libido now is a local variable used inside the scene, calculated based on many things, including class, traits and disposition. Creating local, temporary stats based on many different global variables turns out to be a better practice than making everything global.

Do you think you can make an alternative for shaking, when the sprite is slightly thrown back and then returns to its original location? Will be very suitable for evasion.
Title: Re: General Discussion
Post by: Xela on December 27, 2015, 08:45:46 AM
Do you think you can make an alternative for shaking, when the sprite is slightly thrown back and then returns to its original location? Will be very suitable for evasion.

I can't see why not, how do we handle dodging btw? I never looked at how it was handled, is it passed to gfx methods already?
Title: Re: General Discussion
Post by: DarkTl on December 27, 2015, 08:57:48 AM
Quote
        def get_attributes_multiplier(self, t, attributes):
            """
            This calculates the multiplier to use with damage.
            """
            multiplier = 1.0
            effects = list()
            a = self.source
            if any(list(i for i in ["melee", "ranged"] if i in attributes)):
                evasion_chance = round (0.5*t.level + t.agility - 0.5*a.level - a.agility)
                if evasion_chance > 0: # evasion
                    if evasion_chance > 90:
                        evasion_chance = 90
                    if dice(evasion_chance):
                        multiplier = 0
                        effects.append("missed_hit")
I want to improve it further after we'll add skills for different types of weapons. For now I compare levels and agilities.
Title: Re: General Discussion
Post by: Xela on December 27, 2015, 09:00:41 AM
Oki, looks like it's passed, we should add a proper message for that as well. (like battle bounce or some other animation).
Title: Re: General Discussion
Post by: Xela on December 27, 2015, 10:04:08 AM
Do you think you can make an alternative for shaking, when the sprite is slightly thrown back and then returns to its original location? Will be very suitable for evasion.

Sh!t this is a lot harder than it sounds as we do not have logic setup for this + it needs to replace the damage effect to sprite... I am about half done, gonna take a break.
Title: Re: General Discussion
Post by: DarkTl on December 27, 2015, 10:50:15 AM
I know, that's why asked you to do it  :)
After all, the original battle system doesn't actually support dodging, I did it solely via making zero damage multiplier designed to increase damage for crit hits.
Title: Re: General Discussion
Post by: Xela on December 27, 2015, 12:35:13 PM
I know, that's why asked you to do it  :)
After all, the original battle system doesn't actually support dodging, I did it solely via making zero damage multiplier designed to increase damage for crit hits.

Yey! Looks a lot cooler than I thought it would, this one was definitely worth the effort :)

Edit:
It'll do for now, we'll have to correct it for the future if we ever add cooler attacks that can be dodged and will require customization. I'll look into revive spell, that's also tricky and fun :) (but it'll going slow as I had one beer to many :) )
Title: Re: General Discussion
Post by: DarkTl on December 27, 2015, 02:53:01 PM
Remember the lesbian scene for arbitrary characters you wrote?
In order to know if it should be available or not in the menu I need to check somehow if the scene is going on in a building with other female chars, and not anywhere else.
Title: Re: General Discussion
Post by: Xela on December 27, 2015, 03:26:54 PM
Remember the lesbian scene for arbitrary characters you wrote?
In order to know if it should be available or not in the menu I need to check somehow if the scene is going on in a building with other female chars, and not anywhere else.

It's been too long since I last dealt with that code, condition with plain True/False for now and leave some comments on what need to be checked exactly...
Title: Re: General Discussion
Post by: Xela on December 27, 2015, 09:21:34 PM
Oki, we now have a resurrection spell. I reduced the quality of the image but still have the original if this is not good enough. Best effect of today was still dodging :)
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 10:04:30 AM
We'll have to review the cost of spells and adapt it to stats system, it should be a lot higher.
Title: Re: General Discussion
Post by: DarkTl on December 28, 2015, 10:27:29 AM
I know. I made it low to test spells multiple times without mp limitations. Ideally mp should be infinite in the testing mode, or at least there should be means to restore it.
Title: Re: General Discussion
Post by: DarkTl on December 28, 2015, 10:51:59 AM
That reminds me, we used to support restoring items inside BE. This functionality should be restored somehow.
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 11:19:05 AM
That reminds me, we used to support restoring items inside BE. This functionality should be restored somehow.

I don't think that we've ever supported items of any kind, but that would not be too hard to add. What you remembering is the default setup from Jake's BE, which allowed really basic items.

This feels like something we could past the beta release, for now I want to add the thunder (electricity spell) that till work along the same lines as Cataclysm for fire.
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 12:03:45 PM
Decied to sort 700x gif attacks from marple into folders instead. I'll try to sneak in another spell tonight if I can.
Title: Re: General Discussion
Post by: DarkTl on December 28, 2015, 12:22:09 PM
The way how we select a normal weapon attack atm doesn't look good. Very different weapons can use the same BE skill, so it will be confusing. And it's too straightforward in general.

I suppose we could show the name of equipped weapon or left/right hands options. Maybe even use some kind of minigame to pick a weapon if two weapons are equipped.
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 01:48:06 PM
The way how we select a normal weapon attack atm doesn't look good. Very different weapons can use the same BE skill, so it will be confusing. And it's too straightforward in general.

I suppose we could show the name of equipped weapon or left/right hands options. Maybe even use some kind of minigame to pick a weapon if two weapons are equipped.

More specific please. I don't mind additional logic, but not when it's so vague. Eventually I'd like proper logic for spells, tactical combat, items, skills and summons but only when code base is ready for it..
Title: Re: General Discussion
Post by: DarkTl on December 28, 2015, 02:19:38 PM
Existing weapons skills are not skills. They are basic attacks with different animation, sound and crit chance, tied to weapons in items jsons. Skill is for example a "Powerful Attack" or a "Last Assault", not a "Bow".

So when we propose to select one, it looks weird, and it's not very useful. That's not how they do it in other games either, usually you just select the attack option, and it happens immediately.


Now, our problem is that a character might have two weapons, with different skills, maybe even one melee and one ranged.
I have a few ideas how to get rid of that weapon skill menu:
- automatically alternate hands, two turns for main weapon, one turn for small weapon, repeat
- randomly select a hand in the beginning of attack
- use stances; attack stance uses main weapon and increases attack a bit, defense stance uses small weapon and increases defense a bit. You can change stance any time during battle, wasting turn.
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 02:29:17 PM
That seems like work for no particular goal to me... we'll prolly do it at some point but this is in now way a priority. I am done with sorting, gonna see if I can add a major lighting attack...
Title: Re: General Discussion
Post by: DarkTl on December 28, 2015, 02:54:14 PM
The goal is to use two weapons slots smarter than picking one of them every singe time you want to attack, which is a pure waste of mouse clicks.


Well sh#t. I was wondering why my function that calculates submissiveness doesn't work as intended, returning too low values.
Quote
def check_submissivity(c):
    mult = c.character/c.get_max("character")
...
I googled that
Quote
You're using Python 2.x, where integer divisions will truncate instead of becoming a floating point number. You should make one of them a float.
And after I changed it to mult = float(c.character)/float(c.get_max("character")), it began to work.

Just wow. That sucks big time. Now I have to check all my divisions in the game to make sure they work as intended  ::)
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 02:59:24 PM
The goal is to use two weapons slots smarter than picking one of them every singe time you want to attack, which is a pure waste of mouse clicks.

We don't know where we'll be taking weapons in future development, it's too early for this atm.

Just wow. That sucks big time. Now I have to check all my divisions in the game to make sure they work as intended  ::)

Or import division from future :) Although that may mess something else up...
Title: Re: General Discussion
Post by: DarkTl on December 28, 2015, 03:07:14 PM
So they had int() to return integer, and float() to return float. Why did they even bothered with round()?
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 03:15:29 PM
So they had int() to return integer, and float() to return float. Why did they even bothered with round()?

int will not round as we round in math (maybe float does that as well but I don't know about that without looking sh!t up)... also round takes arguments so you can round properly when you need a specific number rounded to nearest digit after the point for example.
Title: Re: General Discussion
Post by: DarkTl on December 28, 2015, 03:18:09 PM
Waaait, in python "//" is supposed to be an integer division. But since in 2.7 "/" IS integer division, what "//" does there? I actually used it recently, and it didn't gave me an error. I'm confused  :D
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 03:19:19 PM
Waaait, in python "//" is supposed to be an integer division. But since in 2.7 "/" IS integer division, what "//" does there? I actually used it recently, and it didn't gave me an error. I'm confused  :D

No idea, // is too exotic for me :D I only know / and %.
Title: Re: General Discussion
Post by: Xela on December 28, 2015, 07:34:03 PM
Added more "Cataclysm" scale attacks. I went with something else for Air instead of your proposal because I want that to be a summon one day. Darkness was a difficult choice, there were decent options. Light is the best I think. Still without real sfx.

I have decent ideas for Ice, Water and Earth as well but no strength left. Electricity as well but there are quite a few choices there without one clear winner.

===>>
Attach of the day is: Lighting Wrath :) If only cause existing SFX were a perfect fit!
Title: Re: General Discussion
Post by: DarkTl on December 29, 2015, 12:11:07 AM
In python 2.7
Quote
The / operator performs floating point division if at least one operand is a float, or integer division if both are ints.

The // operator performs integer division, producing an int if both operands are ints, or a float that is a whole number, if at least one operand is a float. If there is a fractional part in the result, it is discarded, but we still have a float, ending in .0.
And here I thought python is supposed to have a clear syntax and to avoid complexity. Nice job making multiple divisions with minor differences that also work differently in different versions.

Let's google a bit more.
Quote
you're limited to a few workarounds. The most popular is to coerce one of the operands to a float. One robust solution is a / (b * 1.0)
Quote
Commonly seen is a / float(b). But this will raise a TypeError if b is a complex number - this may not be what you want.
A language of workarounds...
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 03:31:29 AM
Let's google a bit more.A language of workarounds...

As most are...

In python 2.7And here I thought python is supposed to have a clear syntax and to avoid complexity. Nice job making multiple divisions with minor differences that also work differently in different versions.

It is, you just really like nitpicking on small things :) It's a design as a whole that counts. 2+ version code is often not compatible with 3+, there were some changes in syntax there. We can import division from the future if this bother you, I doubt that it'll break anything.
Title: Re: General Discussion
Post by: DarkTl on December 29, 2015, 04:09:09 AM
Here we go. (http://truthaboutrenpy.blogspot.ru/2012/05/pytom-is-satanist.html)
Sad, really sad  ::)
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 07:04:49 AM
Here we go. (http://truthaboutrenpy.blogspot.ru/2012/05/pytom-is-satanist.html)
Sad, really sad  ::)

https://www.youtube.com/watch?v=428IyxSfsls
Title: Re: General Discussion
Post by: DarkTl on December 29, 2015, 02:06:46 PM
The revive spell is unavailable until you have a dead party member?
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 02:08:25 PM
Rules are also a bit harsh...

Quote
1. You must refrain from posting vulgar words.

Not possible after reading the content of the post...

Quote
3. You must not post any kind of blasphemy.

Not possible while being an atheist...

Quote
4. Don't whine if your comment is not approved as soon as you posted.

Yeah... just: Fuck the free thought! Rape it, nail it to the wall, take it to the dungeon and make sure it's the JoNT dungeon... cause you know... Fuck the freedom of  expression! Just don't whine about it :)

===>>
Quote
"I’ve come to the conclusion that PyTom is a Satanist."

Even in a very unlikely scenario that it's a true statement, I'd still stick with Ren'Py cause Satanists have not come even close to the rounded number of the amount of people "good" god fearing Christians took out in the name of the "Lord" over the last few millennia.

How come it's so hard to not mind people like that? I am still glad that Ren'Py got the attention of at least on of those assholes, religious fanatics truly seem to stick their nose everywhere these days  ???
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 02:09:20 PM
The revive spell is unavailable until you have a dead party member?


Yeah, it's kinda hard to "revive" a living party member :) At least that was my approach.
Title: Re: General Discussion
Post by: DarkTl on December 29, 2015, 02:15:34 PM
The problem is that death is hard to achieve in the testing mode.
Dominion spell, as a small rectangle, doesn't look good. Either we should try to make it full screen, or cut to ellipse.

How come it's so hard to not mind people like that? I am still glad that Ren'Py got the attention of at least on of those assholes, religious fanatics truly seem to stick their nose everywhere these days
You should read the very first post in that blog, May 05.
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 02:26:10 PM
The problem is that death is hard to achieve in the testing mode.

I thought it looked alright... Maybe not the full screen but just the part of the screen where the enemies are. There are another two options, one is about the same but the other creates kind of a sphere of dark energy, maybe we can use that.

The problem is that death is hard to achieve in the testing mode.

You can start with 0 MC which means instant death in testing more or just use console to edit health.

You should read the very first post in that blog, May 05.

Yeah... religious fanatic was a bit harsh, guy is plainly retarded. Now I feel bad :(
Title: Re: General Discussion
Post by: DarkTl on December 29, 2015, 02:36:10 PM
It's more or less alright thanks to the dark screen, but the rectangle borders of animation are still too clear and obvious. I actually avoided all animations with clear borders when searched for spells.
We can smooth them up with alpha channel, either via editing the image or coding, if it's simple to code.
Title: Re: General Discussion
Post by: DarkTl on December 29, 2015, 02:43:08 PM
Actually, I tried to smooth it in gimp, it's pretty simple with the smearing tool.
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 02:51:37 PM
Oki... I'll try to add a couple major spells tonight. Ice is prolly the hardest because I do not have a good one for it and have to improvise. I'll ptolly try the smashing hand-rock thing first. I want at least on areal super spell for all elements before the nest release.
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 04:17:55 PM
thanks to the dark screen

Problem without the dark screen is that we'd have to clear the image by hand because none if the tools that I've tried worked in removing the background. Removing dark matte is the simplest solution in all cases but in some it requires to restore back background to look well. Alternative, the only that I presently see is to clear the image by hand and that may take hours :(
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 06:36:07 PM
Added two more major spells. One really good one for electricity (took me a really long time to find because I only had the sh!tty quality one and just as ling to edit properly cause everything in the source is "chibi" and it looked off.)

I'll be busy for most of the day tomorrow, the day after it's just the water and ice left I think. I don't have really good options for either one but with edits and atl effects, we can build something :) I think that will be enough BE, so it's back to jobs or SE afterwards.
Title: Re: General Discussion
Post by: Xela on December 29, 2015, 10:06:49 PM
Couldn't sleep so I've updated Sorting/Layout/GUI in BE. We'll have to come up with decent menu names for spells with long real names. I've removed element icon from tooltip since we now how them in gui and replaced it with appropriately colored name of the element. Full name of the spell also was added there.

I think we'll have to add a new property to all spells, something like .order for proper sorting within the groups. For example:

Fire - 1
Fira - 2
Firaga - 3
Firaja - 4

- everything else in between...

Cataclysm - 100

for now they are plainly sorted by the .effect. We'll improve this and tweak the interface as we move along, but I consider this an improvement.
Title: Re: General Discussion
Post by: DarkTl on December 30, 2015, 08:57:10 AM
This (https://www.dropbox.com/s/azpa65wbmg6d3fq/101240hb0ah12ssz200c7u.gif?dl=0) one may be a good ice spell.
I found the game where that wind summon animation is from. Gonna try to, cough, borrow more animations from its resources.
Title: Re: General Discussion
Post by: Xela on December 30, 2015, 09:30:59 AM
I mentioned it couple of posts back but it's not easy to rip them out. Look in my db, there are a few hundred animations from marple there.

That ice thing is a decent option for weapon skill as well. I will not be able to do much anyway today at least. If you break marple, see if you can find sfx as well.
Title: Re: General Discussion
Post by: DarkTl on December 30, 2015, 02:22:59 PM
As far as some forums state, available marple resources were taken from very old version, there may be more in the newest one, since the old repacker which was used to get them doesn't work for new files after they changed encryption.

After some googling I found a way to open all new game archives. It's a freaking shit-ton of resources. After I unpacked sound archive, I got 31500 sound files, there are spells sfxs, music and mobs sounds when they attack or die. And archives with images have hundreds of thousands pictures. I feel like I found a treasure chest  :D

I'm not sure how to share it, the sound archive alone is 1.3 GB. You probably will have to download the game and unpack it on your pc.
Title: Re: General Discussion
Post by: DarkTl on December 30, 2015, 03:49:08 PM
I uploaded some good sounds, including spells sfxs, to db. And some new animations too. Will continue unpacking tomorrow, there are too many.
Title: Re: General Discussion
Post by: Xela on December 30, 2015, 04:28:45 PM
Can you up them to mega or something, I am having trouble with downloading the game :(
Title: Re: General Discussion
Post by: DarkTl on December 30, 2015, 05:37:45 PM
I could if you want music and monsters sounds (about 25000 files, too large for db). As for animation, I still sort it out.
Title: Re: General Discussion
Post by: Xela on December 30, 2015, 05:45:03 PM
I could if you want music and monsters sounds (about 25000 files, too large for db). As for animation, I still sort it out.

We could do a couple of properly animated monster at some point but it's not that important. Spell/attack sfx is what I am really interested in the most (monsters are not important atm and music I don't really like, at least the tracks I've heard on youtube). Also if we can find the original massive scale animations for super spells, that would be cool, while it's not a deal breaker, I'd actually prefer normal background for the lighting spells instead if blackness. Or at least try that in order to compare both variants, we don't even need to make filmstrips to try, plain auto-animation/image assignment will do.

I am to tired to do anything tonight so I am going to take a look at the animations you're uploading :)
Title: Re: General Discussion
Post by: Xela on December 30, 2015, 05:53:53 PM
I am not sure that I'd call those mobs summons, summon is something cute, interesting or sinister that can sit on be for a while or be summoned to do a really cool attack (or both). Those guys look like animated mobs. Spells/casting animations that are cooler than what we have should be a priority at the moment.

Massive spells for Water and Ice as well, I have ideas for both but it would be executed in a similar manner as the Tornado, as in simple animation made better through Ren'Py's ATL. We have really great stuff for Fire, Electricity and Earth. Wind is really decent as well. We could replace some of the simpler spells as well but it's not a priority since most of those are great and we already have animation for a lot of buffs (unless the have an array of animated status icons as well, I think that we have normal once somewhere, or maybe I do).

Edit: ====>>>
Most of those can actually make decent summons.

I wonder if there is some general rule they use for animations... or do they have special code for every animation sequence like we have in Ren'Py ATL image definitions. I noticed that to save space and improve performance, they cut all outer-bounds for all images so animations are not only not made up of uniform images but I am yet to see a common pattern to work with (like get the largest image from animation sequence, pad all smaller images and position them in the middle for example. I'll keep searching for pattern(s) looking at the once I like, even with common rule, I'd have to code a special class, without one, we'd have to do it by hand and it is a very complex and annoying process, especially since the best animations from the source have like 30+ to 50+ frames.)
Title: Re: General Discussion
Post by: Xela on December 30, 2015, 06:57:43 PM
Ghm... I am not sure that all of them are even sequences. Some are prolly different power levels of the same skill... at least two of the "pillar" types should work if anchored to (0.5, 1.0). One or two just might work if anchored to (0.5, 0.5). There doesn't seem to be one general rule but it may not be as bad as I thought.
Title: Re: General Discussion
Post by: Xela on December 31, 2015, 09:21:06 AM
effect.skill.thunderStorm.0.0.png

This one is really nice... but I am still not sure how the hell are we supposed to load it onto the game. This one is particularly difficult, I am yet to see an acceptable way to load it with code.
Title: Re: General Discussion
Post by: Xela on December 31, 2015, 10:11:28 AM
I still not see even the kick-ass stuff we're currently using in your uploads, save along any decent options for water/ice...
Title: Re: General Discussion
Post by: DarkTl on December 31, 2015, 12:24:01 PM
I don't unpack skills you already have in your db. At least try not to.

effect.skill.thunderStorm.0.0.png

This one is really nice... but I am still not sure how the hell are we supposed to load it onto the game.
If you try to scroll frames in standard windows viewer, the animation will be perfect. Since all it does is shows the image right in the center of the window, you should do the same if you'd like to use it, ie set some coordinates witch will be the center for all frames of the spell.

Too bad mobs and items icons are very bad in that game. I'm done with it, all decent sfxs and animations are in db. Atm I'm hacking a similar game, maybe there will be something more interesting.
Title: Re: General Discussion
Post by: Xela on December 31, 2015, 02:54:56 PM
I don't unpack skills you already have in your db. At least try not to.

As I've said, original resources (that you're ripping) seem to be a proper animations on  transparent background... almost all of the animations that I found online are on black or even worse, a grey background :(

If you try to scroll frames in standard windows viewer, the animation will be perfect. Since all it does is shows the image right in the center of the window, you should do the same if you'd like to use it, ie set some coordinates witch will be the center for all frames of the spell.

No... they are really not. One or two are (the once I called anchor (0.5, 0.5)) are just that but most will fly all over the place if you do that in the game. There are some that are anchored to right, left, top, perfect-middle, bottom and etc. There are some that seem to work right if we took the largest frame, used proper anchors and expanded the boundaries of all framed to fit with the largest. And still, there seem to be some animations that do not conform to any of those standards, or at least I do not see it.

There are decent options for some spells here, I love of the the non-animations you ripped for a general Ice-Damage, in fact I've already pushed that bit of code. Prolly most of the animations we have are not even in the game anymore, they kept changing that sh!t according to source.

Too bad mobs and items icons are very bad in that game.

Chibi cr@p... I know :(
Title: Re: General Discussion
Post by: Xela on December 31, 2015, 03:21:38 PM
Well, happy New Years!!!

See you in 2016!!!
Title: Re: General Discussion
Post by: DarkTl on December 31, 2015, 03:24:49 PM
Surprisingly, that awesome wind summon animation wasn't in the archives. And some others too. So yeah, they probably removed some.

As I've said, original resources (that you're ripping) seem to be a proper animations on  transparent background...
Well, you see yourself how original animation requires multiple custom algorithms to be used. Removing bg might be easier.

I added to db 1270 spells sfxs from another game. Hopefully that will be enough for BE for the rest of development  :)



Happy New Year!
Title: Re: General Discussion
Post by: Xela on January 01, 2016, 02:37:48 PM
I took a look at the animations again, some of them are fairly straight to the point, others all over the place and most plainly require two or three different anchor setting (which are usually obvious).

===>>
I think best way to define them exactly like CW did originally and set proper anchors as required. I've downloaded some sound mixer, if I have time tomorrow, gonna try and figure out how it works :)
Title: Re: General Discussion
Post by: DarkTl on January 02, 2016, 10:06:42 AM
I personally use cured of greed Mp3 Audio Editor for all sounds editing.

Alright, I finished with rewriting sex scene. Of course we always can use more lines of any kind, and also gui from issue 151, but the base logic is there.
Title: Re: General Discussion
Post by: Xela on January 02, 2016, 10:33:30 AM
You could just throw default bars there until we can find decent once.
Title: Re: General Discussion
Post by: DarkTl on January 04, 2016, 01:15:04 PM
It's just matter of moving code from check_occupation to assignment screen.
I'm not entirely sure how to work with screen language there. I suppose you should create logic when stuff checks every time when you try to change character assignment, and only those jobs character agrees to do will be visible in the list. Then I will be able to modify checks according to this logic.
Title: Re: General Discussion
Post by: Xela on January 04, 2016, 01:44:08 PM
I'll do this one myself, it's done in the assignment screen but it's a mess at the moment.
Title: Re: General Discussion
Post by: Xela on January 04, 2016, 08:16:30 PM
Lmao. I think that spells objects are messed up on reload. Hard to believe I am still making this kind of rookie mistakes... Prolly got that from trying to improve the Jake's Be structure.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2016, 05:21:56 AM
So, does simpy allow clients to visit the same place over and over? Like, drink at bar, visit a whore, watch some striptease, then visit a whore again, then drink at bar again?
Title: Re: General Discussion
Post by: Xela on January 05, 2016, 05:55:50 AM
So, does simpy allow clients to visit the same place over and over? Like, drink at bar, visit a whore, watch some striptease, then visit a whore again, then drink at bar again?

Yes, that is not setup to work like that atm, I wanted to allow that with a decent manager running the building to keep the client on a roll but the system is setup to handle that. Right now clients should try to plainly visit every business once.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2016, 06:46:54 AM
According to your old design every job has dice checks that can increase fame and reputation. If we have many clients visiting many places every day, those checks will work too often, quickly increasing building stats.
It should be changed somehow.
Title: Re: General Discussion
Post by: Xela on January 05, 2016, 07:30:20 AM
Yeah, I know, there is a process managing the client, we'll do it their once based off some flag set to the client.flags.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2016, 06:30:47 PM
I thought about adding bonuses and penalties (and lines for them) to usual jobs checks based on dice and some traits, like in wm ex.
Do you have plans to add traits based preferences for other existing atm jobs, like the whore job has?
Title: Re: General Discussion
Post by: Xela on January 05, 2016, 08:13:56 PM
I thought about adding bonuses and penalties (and lines for them) to usual jobs checks based on dice and some traits, like in wm ex.
Do you have plans to add traits based preferences for other existing atm jobs, like the whore job has?

Sure why not :)

Our system is a bit counter intuitive at the moment, due to SimPy taking care of so many things, it's hard to say what should be handled in it's processes and what in jobs. Perfectly we should really create a log object when the client is entering the building and work with that but it's not how the system was built previously, passing everything around is getting tedious :(

We'll prolly refactor everything at some point in the future.
Title: Re: General Discussion
Post by: DarkTl on January 06, 2016, 04:03:42 AM
One thing that bothers me is how jobs checks are static. You tried to code something about skills comparison in strip job, but it was a pretty weird algorithm.

I mean, different customers have different expectations. Someone is ok with low skill, others would like to see a higher skill level. I suppose either they should have random skill level expectations, or it should be a part of customers own social levels.
Title: Re: General Discussion
Post by: Xela on January 06, 2016, 04:16:07 AM
it should be a part of customers own social levels.

This, prolly the only way it'll work well.
Title: Re: General Discussion
Post by: DarkTl on January 06, 2016, 08:40:06 AM
Alright, so the general jobs structure:
- we check which available jobs the character agrees to do, and show only them at the assignment screen.
- traits and some stats may affect the whole turn, and if they do, we show a line about it like in wm ex (it was one of my favorite parts  :) ). I mean stuff when for example nymphomaniac trait with dice(50) gives a small bonus for whore job, like less vitality per act. Or adventurer gives small penalty to cleaning skill for cleaning job. It should be checked only once in the beginning of the turn, and work the whole turn for all checks during it.
- we check general stat/skill level, then check how stratifying they were for every customer based on customers expectations.
- in the very end, after all skills/stats checks, we calculate once fame and reputation changes.

That should be coded by you before I will be able to write actual lines and checks  :)
Title: Re: General Discussion
Post by: Xela on January 06, 2016, 10:18:53 AM
Alright, so the general jobs structure:
- we check which available jobs the character agrees to do, and show only them at the assignment screen.

Fair enough.

- traits and some stats may affect the whole turn, and if they do, we show a line about it like in wm ex (it was one of my favorite parts  :) ). I mean stuff when for example nymphomaniac trait with dice(50) gives a small bonus for whore job, like less vitality per act. Or adventurer gives small penalty to cleaning skill for cleaning job. It should be checked only once in the beginning of the turn, and work the whole turn for all checks during it.

"Whole turn" is what? A single job execution?

- we check general stat/skill level, then check how stratifying they were for every customer based on customers expectations.

I am not sure it's a good idea to handle multi-client jobs on per-client basis. We should do that for "private" jobs, no questions there, for Jobs like Stripclub it may not bean overkill, at least at first.

- in the very end, after all skills/stats checks, we calculate once fame and reputation changes.

Maybe...

That should be coded by you before I will be able to write actual lines and checks  :)

Yeah... ok. I wrote a bit about this before but prolly forgot to post it somehow  ::)

====>>
SimPy is a simulation module that works with a concept of "processes" and sometimes resources. We are mainly using it for processes and automation that it allows in that area. It currently works more or less like this:

Clients list is stored at the moment, save files are larger but Next Day ("ND") is faster this way. If new clients are needed, they are generated at the very start of the ND on per building basis. Buildings have outside and inside space and can be expanded. One building can have a lot of different businesses. Buildings do not communicate with one another (yet), businesses can if so required.

So, what happens is this:

- ND calculations start!
- We iterate over the buildings one by one starting a new SimPy processes.
- Each ND turn is split in 100 logical units of "time".
- We start the MAIN process which will branch out into many dozen (possible hundreds or even thousands processes).

MAIN Process *(actually there are a couple of those but they run is succession without any interruptions are are just split for simpler code):

1) It will throw away all businesses that are not ready for work or are not workable (like living space for example).
2) It will launch a process for all businesses, some businesses will require client. other will not, they will be maintained until closing time (100) or they cannot be worked anymore.
3) After that is done, the MAIN process remains active and generates a stream of clients, right now it is using a fairly plain progression I came up with in a drunk state but in the future I want there to be a "rush hour (time interval)" for some businesses.
4) Several clients can come into the building at the same time.
5) MAIN Process is kept alive until timestamp of 100, unless there are no more businesses that can be active.
6) Each client becomes a process holding the client object.

===>> So now we have Businesses and Client processes running.

CLIENT Process:

1) Decides which business to visit, right now just picks one by one at random until none remain.
2) Checks if there are Resources available and possibly waits for them to become available.
3) Once Business is chosen, may negotiate some things (like checking for a worker with matching traits in Brothel).
4) Starts a new JOB Process (or Business Client Control Process "BCC") that handles the time client spends in a particular business.
5) After JOB process is finished for whatever reason, control is returned here, this will terminate when the client decided to leave.
6) Sends workers to in "public businesses" but it is not supposed to do that, I'll refactor it soon.

===>>
BUSINESS Process:

- This one is a bit tricky because I will prolly merge it Worker Control process. It doesn't do much except reporting to log every now and again and end clients turn which they should prolly be done in Business Client Control process.

===>>
BCC Process:

1) This one is for businesses like Club.
2) Settles cash payments.
3) Adds dirt.
4) Waits until client is ready to leave.

===>>
WORKER Process:

- Also only for the "public" businesses.
1) Handles tips
2) Takes off workers AP
3) Runs the JOB class to create the summary report.

===>>
JOB Process:

1) Mainly this just waits for the client to be done with the whatever he/she wants. This can be prolonged (like in the strip club if the client keeps getting the girls with decent traits/stats).
2) Sometimes this runs the Job CLASS! This what you (Dark) is usually working on. It logs in the final report, data from Processes is passed their through flags of workers and clients (which is not a very good design as I've mentioned earlier).
3) Sometimes this is also where the client pays for the services provided (or all the time, I don't remember atm).
4) There are some other checks here depending on business.


While it's working reasonably well, I am still trying to get the code straight and to split the processes in a logical chain that makes sense. This post was a nice exercise cause I often forget how this stuff works at any particular moment myself because I rewrite it all the time (as it should be) and will keep doing so until code makes sense and is easy to work with/understand/follow it's logic and design.
Title: Re: General Discussion
Post by: DarkTl on January 06, 2016, 11:10:07 AM
"Whole turn" is what? A single job execution?
I mean we don't check it for every customer separately, if there are many customers.

Like, if the character has a cold, we don't check it constantly for every new customer. We check it once, in the very beginning of the turn before customers even appear, with dice. And if the check and dice are successful, we for example take a bit more vitality per customer because the character doesn't feel well.
Or for instance nymphomaniac trait might give a small sex skill bonus for whore job with proper dice, and we'll report about it at the next day screen.

While traits already affect skills, such small events will make the game more interesting.

Of course we can check this stuff per customer. But I'd prefer to do it per turn, otherwise there will be way too many events.
Title: Re: General Discussion
Post by: Xela on January 06, 2016, 01:27:24 PM
Oki, I'll try to wrap up spells this weekend (at least the graphics) and switch to jobs again. Too tired to think atm.
Title: Re: General Discussion
Post by: DarkTl on January 06, 2016, 01:47:09 PM
Meanwhile I'm finalizing some packs made by Janmaba half a year ago. I postponed it until new year holidays, since it's a lot of work.

I tried to soften that darkness spell we talked about, but it doesn't look very good either way. I think you should do it full screen.
Title: Re: General Discussion
Post by: Xela on January 06, 2016, 02:55:12 PM
I think you should do it full screen.

Oki, I don't mind how it presently looks, we'll see how it looks if it fills half the screen.
Title: Re: General Discussion
Post by: Xela on January 06, 2016, 04:12:09 PM
Do we (http://lemmasoft.renai.us/forums/viewtopic.php?f=51&t=36378)?
Title: Re: General Discussion
Post by: DarkTl on January 06, 2016, 05:38:30 PM
- all packs are optional, except maybe a few starting ones. People who don't have a good connection will avoid downloading huge ones.
- pictures are resized, and packs have as few png as possible.
- blindly decreasing quality is a risky thing that could mess up some pictures for good. To check everything manually after reducing quality means to check 25000 images (and the number is growing).
- most audio files are converted to mp3, at least those we have for a long time. Closer to the release we'll convert remaining ones.
Title: Re: General Discussion
Post by: Xela on January 07, 2016, 05:11:49 PM
New water spell... took me a good deal of time to setup as our system doesn't support combinations like that. It turned out alright even without major gfx (at least I think that it did).
Title: Re: General Discussion
Post by: Xela on January 08, 2016, 03:05:18 AM
I'll try to wrap up the last spell for ice tonight. Then I want to rename one or two spells, disable a few (so the amount of spells are uniform) and add positions for proper sorting. After that it'll be just the sfx and balancing but I want to switch to the jobs for a bit first, maybe start on fg as well.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2016, 12:55:29 PM
I enlarged and smoothed Dominion spell sprite and made it full screen, i think it looks better that way. Of course anchors are completely wrong, so you should take a look  :)
Title: Re: General Discussion
Post by: Xela on January 08, 2016, 05:19:50 PM
enlarged

That's not a good idea, you should plainly do the: Transform("name", size=(1280, 800)) instead of Transform("name", zoom=(1.1)) we have now.

Edit:
W: 8925px | H: 5310px (Scary  ???)

Edit 2:
I've resized it back to it's last size and wrote the proper class to show it at dead center. We prolly lost some quality while resizing it so many times but it looks ok, you can always "smooth" the original if this isn't good enough.
Title: Re: General Discussion
Post by: Xela on January 08, 2016, 10:19:03 PM
Phew.. this took a lot out of me but I managed to rewrite the WaterBlast class to be more general and reusable + improved it's intimation (first part now pays out completely instead of being replaced by the second) a bit + added new Ice spell + improved "frozen" damage to sprite effect (it was too abrupt and the original sprite now stays on the battlefield behind the ice) + added new "iced" damage to sprite effect where we get a pattern from a mask image and overlay the sprite with it (it works well but I could only find a really sh!tty ice pattern .jpg).
Title: Re: General Discussion
Post by: Xela on January 08, 2016, 10:50:50 PM
I think we should do 6 - 8 spells per element for now. 4 base and easy to find and 2 - 4 rare and hard to get, rest of the spells can be for mobs to use exclusively. If it's going to be 6 or 8 depends on how many good ways of finding the unique once we can come up with.
Title: Re: General Discussion
Post by: DarkTl on January 09, 2016, 12:02:58 PM
That's not a good idea, you should plainly do the: Transform("name", size=(1280, 800)) instead of Transform("name", zoom=(1.1)) we have now.
GIMP's resizing plugins are supposed to do it better than renpy in terms of quality. Doesn't matter, it's fine too atm.

I created new sfxs for your new spells based on db stuff.
Title: Re: General Discussion
Post by: DarkTl on January 09, 2016, 12:57:10 PM
added new "iced" damage to sprite effect where we get a pattern from a mask image and overlay the sprite with it (it works well but I could only find a really sh!tty ice pattern .jpg).
Actually, it looks quite well. Too bad it's not supported by SimpleMagicalAttack, I wanted to add it to Hailstorm.

Now, if you can overlay sprite with animated picture, like this (https://upload.wikimedia.org/wikipedia/commons/2/22/Animated_fire_by_nevit.gif) one, we'll have unique fire damage  :)
Title: Re: General Discussion
Post by: Xela on January 09, 2016, 01:50:56 PM
GIMP's resizing plugins are supposed to do it better than renpy in terms of quality. Doesn't matter, it's fine too atm.

That might be but large images are very slow to load and handle properly for almost any kind of software. We need to keep these things in check.

I created new sfxs for your new spells based on db stuff.

That's great, I'll take a look when I can.

Actually, it looks quite well. Too bad it's not supported by SimpleMagicalAttack, I wanted to add it to Hailstorm.

It should be supported everywhere, that was the whole point of me spending day and a half recording BE without any visible benefit to the player. New code should allow using all special gfx/sfx to be used everywhere as long as we do not overwrite parent class's methods and functionality, in this case there should not be any overwrites.

Now, if you can overlay sprite with animated picture, like this (https://upload.wikimedia.org/wikipedia/commons/2/22/Animated_fire_by_nevit.gif) one, we'll have unique fire damage  :)

It shouldn't matter if it's an animation or not one bit, I'll take a look when I can.

===>>
I'll have very little time for the project in the next one or two weeks due to rl stuff, I'll still be around to fix minor stuff and make small improvements, maybe work on jobs code bit by bit (but it didn't work last time I had to a lot of work in rl :( ).
Title: Re: General Discussion
Post by: DarkTl on January 09, 2016, 02:07:54 PM
When I try to add it to Hailstorm like target_sprite_damage_effect={"gfx": "iced", "initial_pause": 0.1, "duration": 1.9}, nothing happens.  When I try target_sprite_damage_effect=[0.1, "iced", 1.9], it just gives an error.
Title: Re: General Discussion
Post by: Xela on January 09, 2016, 02:39:57 PM
When I try to add it to Hailstorm like target_sprite_damage_effect={"gfx": "iced", "initial_pause": 0.1, "duration": 1.9}, nothing happens.  When I try target_sprite_damage_effect=[0.1, "iced", 1.9], it just gives an error.

I'll fix this later tonight, it should really work.
Title: Re: General Discussion
Post by: Xela on January 09, 2016, 02:49:32 PM
When I try to add it to Hailstorm like target_sprite_damage_effect={"gfx": "iced", "initial_pause": 0.1, "duration": 1.9}, nothing happens.  When I try target_sprite_damage_effect=[0.1, "iced", 1.9], it just gives an error.

Yeah, what happened here is old definitions overwriting the new, this:

Code: [Select]
target_sprite_damage_effect={"gfx": "iced", "initial_pause": 0.1, "duration": 1.9}
was the way to do it but you didn't delete the old target_sprite_damage_effect.
Title: Re: General Discussion
Post by: DarkTl on January 09, 2016, 03:01:47 PM
Damn  :)

There is a small bug, if you try to "Terminate" BE testing mode while spell animation is playing, the game begins to behave strangely. Character portraits and music disappear, but you remain inside BE.
Title: Re: General Discussion
Post by: Xela on January 09, 2016, 03:10:53 PM
Damn  :)

There is a small bug, if you try to "Terminate" BE testing mode while spell animation is playing, the game begins to behave strangely. Character portraits and music disappear, but you remain inside BE.

We have a loop in place there and I didn't bother to add a way to break it. You can click a couple of times until gfx/sfx loop played itself out and then terminate.
Title: Re: General Discussion
Post by: Xela on January 09, 2016, 05:28:20 PM
Now, if you can overlay sprite with animated picture, like this (https://upload.wikimedia.org/wikipedia/commons/2/22/Animated_fire_by_nevit.gif) one, we'll have unique fire damage  :)

That's done, we now have like 5 sprite damage animations for fire (I threw in another one with the red sprite over-imposed over the flame).
Title: Re: General Discussion
Post by: DarkTl on January 10, 2016, 03:11:37 AM
Looks like you forgot to push then  :)
Title: Re: General Discussion
Post by: Xela on January 10, 2016, 05:08:58 AM
Looks like you forgot to push then  :)

Something prolly went wrong...
Title: Re: General Discussion
Post by: DarkTl on January 10, 2016, 11:06:51 AM
Fire damage looks awesome.

Either way, there shouldn't be the menu for picking weapon skill, at very least outside of testing mode. It does nothing useful, and will bring unnecessary questions.
Obviously, attack skill should be inherited from equipped weapons, they all have fields like "attacks": ["SwordAttack"].

Without weapons characters in theory should use fist attack. But we are somewhat bounded by battle sprites, in some cases sprites have weapons. So I suppose we'll have to add default attack type field to characters jsons.
As for dual wield with different attacks types, it could simply be selected randomly for now.
Title: Re: General Discussion
Post by: Xela on January 10, 2016, 12:33:34 PM
Either way, there shouldn't be the menu for picking weapon skill, at very least outside of testing mode.

We may have something like a poison dagger or special weaponry. No, as long as we have two weapon hands, this is not a good idea. I can look into it if there is just the one hand or no weapon equipped at all.
Title: Re: General Discussion
Post by: DarkTl on January 10, 2016, 01:41:47 PM
There is a possibility that both weapons will have the same attacking skill. Thus we cannot directly use skills names in the menu anyway.
I suppose there should be the name of weapons, or maybe weapons icons.
Title: Re: General Discussion
Post by: Xela on January 10, 2016, 11:57:19 PM
There is a possibility that both weapons will have the same attacking skill. Thus we cannot directly use skills names in the menu anyway.
I suppose there should be the name of weapons, or maybe weapons icons.

We'll check for that, maybe even already do, I don't remember.
Title: Re: General Discussion
Post by: Xela on January 11, 2016, 05:24:31 AM
We'll also have to review how elements work so having a single element is preferable to multiple elements or the entire system is f*cked. Maybe also bind spell learning to elements. I'd like weapon skills but that will be too much for the beta, we've done a lot for BE as it stands.
Title: Re: General Discussion
Post by: DarkTl on January 11, 2016, 10:55:11 AM
Some elements already weaken each other.
Fire:
    "el_damage": {"fire": 0.5, "ice": -0.5},
    "el_defence": {"fire": 0.2, "wind": 0.3, "water": -0.6},
Ice:
    "el_damage": {"ice": 0.5, "fire": -0.5},
    "el_defence": {"ice": 0.2, "water": 0.3, "earth": -0.6},

Thus if you have both elements, Fire and Ice, which are opposite to each other, your spells will get zero damage bonus. You will get good elemental defenses though, but also weakness to both water and earth.
Well, at least if the system works like it's supposed to  :D

Basically, every element will give you 0.2 and 0.3 defenses to two other elements, but takes away 0.6 defense from a third element defense. You don't want too many elements because they will take more defense than give.

I updated my small "patch" for Cherry's naruto pack, it now has pics for two other characters.
Title: Re: General Discussion
Post by: DarkTl on January 11, 2016, 03:12:32 PM
Hmm. Jobs code picks texts depending on poses irrationally. You code it to check availability for all possible poses, form a list of available ones and pick one from the list randomly.

But since we allow all poses, we don't need all those long checks, we can get pose via get_image_tags after we pick a random sex picture.
Title: Re: General Discussion
Post by: Xela on January 11, 2016, 03:20:21 PM
Hmm. Jobs code picks texts depending on poses irrationally. You code it to check availability for all possible poses, form a list of available ones and pick one from the list randomly.

But since we allow all poses, we don't need all those long checks, we can get pose via get_image_tags after we pick a random sex picture.

That is true but it's older design, what you suggest is what we discussed last.
Title: Re: General Discussion
Post by: DarkTl on January 12, 2016, 07:42:39 AM
If you want to, you could code positive elements values to lose 0.05 of power per element. I mean,
    "el_damage": {"fire": 0.5, "ice": -0.5},
    "el_defence": {"fire": 0.2, "wind": 0.3, "water": -0.6}
for fire turns into
    "el_damage": {"fire": 0.45, "ice": -0.5},
    "el_defence": {"fire": 0.15, "wind": 0.25, "water": -0.6}
if you take any other element.
Title: Re: General Discussion
Post by: DarkTl on January 12, 2016, 07:57:07 AM
We'll also have to review how elements work so having a single element is preferable to multiple elements or the entire system is f*cked. Maybe also bind spell learning to elements.
And these things are opposite. If you need traits to learn spells, multiple traits become preferable to a single element trait, because you more likely will have a counter spell against enemy weakness with many different spells.
Title: Re: General Discussion
Post by: Xela on January 12, 2016, 09:58:48 AM
And these things are opposite. If you need traits to learn spells, multiple traits become preferable to a single element trait, because you more likely will have a counter spell against enemy weakness with many different spells.

True. It would still make sense though.

Maybe we should not stack bonuses or stack only half the bonuses but all the penalties with multiple elements... we'll release as it stands and see how that works.
Title: Re: General Discussion
Post by: DarkTl on January 12, 2016, 11:59:25 AM
Finished FF13 pack today, MuteDay asked for it and Janmaba collected resources for it.
Of course there won't be new datafiles until we finalize their format at least for beta.

I still have resources for 5 more random packs, for now I'll finish one of them.
Title: Re: General Discussion
Post by: Lurker on January 12, 2016, 05:05:12 PM
Hey lads. Just curious how this project is coming along. Any new updates gonna be released to general public soon? :)
Itching to see what you guys have come up with.
Title: Re: General Discussion
Post by: Xela on January 13, 2016, 03:18:27 AM
We came up with a whole bunch of stuff but it'll take some time to wrap everything up... when it is ready for a release still unknown.
Title: Re: General Discussion
Post by: wahn128 on January 14, 2016, 05:04:57 PM
By the way, I wanted to say thanks for all the hard work you people are putting into the game. Fitting together a whole game is not an easy road.

Eagerly awaiting any release that might eventually come out of it, and checking for news every few weeks...
Title: Re: General Discussion
Post by: Xela on January 15, 2016, 12:01:40 AM
Thanks :)

Fitting together a whole game is not an easy road.

Especially one with a BE, Interactions system and business management. We'll get there in the end!
Title: Re: General Discussion
Post by: DarkTl on January 15, 2016, 11:47:59 AM
Phew, another huge random pack is out of the way.

Btw I'm not sure what to do with healing if you will need traits to learn appropriate spells.
Title: Re: General Discussion
Post by: Xela on January 15, 2016, 04:41:49 PM
Phew, another huge random pack is out of the way.

Btw I'm not sure what to do with healing if you will need traits to learn appropriate spells.

Healing is usually Light/Water related but we can drop the element/spell thing since you've made decent arguments against it. At least before the system gets more mature.
Title: Re: General Discussion
Post by: DarkTl on January 16, 2016, 11:15:11 AM
Speaking of which. I recall you were very much against resurrection of any kind at all, saying that death should be a major thing.
And now not only there is a check that prevents death during jobs, but also a spell.
Title: Re: General Discussion
Post by: Xela on January 16, 2016, 11:37:49 AM
Speaking of which. I recall you were very much against resurrection of any kind at all, saying that death should be a major thing.
And now not only there is a check that prevents death during jobs, but also a spell.

Resurrection during battles is too common and more often than not, does not transfer to game world. We'll address death during jobs if required, as you recall, in our old SE module, death was pretty much on the table, especially with high risk.
Title: Re: General Discussion
Post by: deadkingblue on January 16, 2016, 02:21:52 PM
Are you guys gonna make an editor? (like the one for whoremaster), Cause xml and json files don't have an editor built into windows like the .girlsx files do.(cause .girlsx files are renamed .txt files. :P )
Title: Re: General Discussion
Post by: Xela on January 16, 2016, 03:17:17 PM
Are you guys gonna make an editor? (like the one for whoremaster), Cause xml and json files don't have an editor built into windows like the .girlsx files do.(cause .girlsx files are renamed .txt files. :P )

It's a common misconception, windows does not associate any editor with those formats but those are open text, just like Ren'Pys .rpy. I am not in favor of making an editor because it will quite possible plainly complicate the modding process... best example is the examples.rpy file that holds basic modding routines for the game, any modding soft I can imagine will curtail default capabilities.

Edit:
What we could use before beta release is a guide, not a piece of dedicated software.
Title: Re: General Discussion
Post by: DarkTl on January 17, 2016, 02:26:20 AM
Where is BE AI code?
Title: Re: General Discussion
Post by: Xela on January 17, 2016, 02:32:53 AM
Code: [Select]
    class BE_AI(object):
in core.rpy file inside of be folder. If you want to improve AI, you should prolly create a new class inheriting from this one because we prolly don't want a very complicated AI during auto-fights for example.
Title: Re: General Discussion
Post by: DarkTl on January 17, 2016, 08:27:18 AM
Wow. I mean, I didn't expected super advanced AI, but still, just wow. Skill = choice(skills), target = choice(targets), execute :D

- Different classes should act differently, like healers should closely look at party hp.
- In the future MPTraits should provide a slight difference in algorithms.
- Mages should tend to use spells that match their element traits, unless they are very ineffective.
- Party should avoid using elements that are ineffective, especially if they heal enemies. Currently it's totally possible to heal some fire element via spamming fireballs until it kills everyone.
Perhaps we could use a bestiary, like when party encounter a fire element and tries to use a fire on it, since this moment all your characters know that they shouldn't do it anymore for the rest of the game.
Title: Re: General Discussion
Post by: Xela on January 17, 2016, 08:48:58 AM
LoL

We will need that healing check at the very least. Rest is optional, I have many ideas for ai, including personalities but it's not a priority at the moment.
Title: Re: General Discussion
Post by: DarkTl on January 17, 2016, 09:31:17 AM
Healing with low health and resurrecting when someone's dead should be priority anyway. Otherwise we'll have dead teams with full mp.
Title: Re: General Discussion
Post by: Xela on January 17, 2016, 09:42:29 AM
Maybe for the real fights, logical I want to keep simple.
Title: Re: General Discussion
Post by: MrKlaus on January 20, 2016, 05:02:15 PM
 Hey there. Just passing by.
I found this game that has some really nice art. Maybe you will find something that could be useful. Here's the link: http://valkyriecrusade.wikia.com/wiki/Gallery
 
Title: Re: General Discussion
Post by: Xela on January 21, 2016, 07:55:16 AM
Oki, but we have lots of resources gathered over the years :)
Title: Re: General Discussion
Post by: DarkTl on January 23, 2016, 08:47:46 AM
I'm still not dead, just less alive than before -_-

I'm in a hospital with removed gallbladder. Stupid human physiology cannot handle sh#t by itself.
Title: Re: General Discussion
Post by: Xela on January 24, 2016, 04:47:24 PM
Kewl :)

I am still too busy to take a stab on anything major but I am slowly working on new UI for building and some minor code refactoring. Get better soon!
Title: Re: General Discussion
Post by: DarkTl on January 26, 2016, 01:16:10 AM
Yeah, now I have 4G and nothing to do for days until they release me  ::)

What's wrong with "[choice(char.traits)]"? Why it gives
Quote
  File "game/library/interactions/GM - chat.rpy", line 4, in script
    "[choice(char.traits)]"
KeyError: u'choice(char'
And if I do it like a = [choice(char.traits)], then "a", it works.
Title: Re: General Discussion
Post by: Xela on January 26, 2016, 02:34:30 AM
Yeah, now I have 4G and nothing to do for days until they release me  ::)

What's wrong with "[choice(char.traits)]"? Why it gives And if I do it like a = [choice(char.traits)], then "a", it works.

Interpolation doesn't work like that in Ren'Py, you can access a dict or a field of a class instance but not a function call.
Title: Re: General Discussion
Post by: Xela on January 26, 2016, 03:25:53 AM
http://www.renpy.org/doc/html/text.html#FontGroup

This might be an excellent solution for the weird signs thing. I'll look into this later.
Title: Re: General Discussion
Post by: DarkTl on January 29, 2016, 12:15:16 PM
Finally at home  :)

We shouldn't show elements in the traits list for MC, like we don't show them for other chars.
Title: Re: General Discussion
Post by: Xela on January 29, 2016, 03:56:32 PM
Finally at home  :)

We shouldn't show elements in the traits list for MC, like we don't show them for other chars.

Oki :)
Title: Re: General Discussion
Post by: DarkTl on January 30, 2016, 01:36:26 AM
I'm pretty sure current MC setup screen cannot be successfully used together with your concept of free settings for MC because of dual classes. It was designed to set up multiple small details for one class.

Not to mention that picking, let's say, Cleaner as one single class for MC is insane, so I wonder how much freedom should be there.
Title: Re: General Discussion
Post by: Xela on January 30, 2016, 09:28:02 AM
We can add more frames or use icons. I am not really concerned about that atm, how to make jobs and businesses interesting is my priority for now (until I get sick of it and want to address something else).

It would be really great if we could some up with a system that felt like unique experiences for businesses with meaningful upgrade and trait modifiers, we should have all the tools now so it's a matter of creativity/design/time. For now I'll just keep hacking on interface, trying to make it work with the new system. For now I am taking Gismo's proposed design for a blueprint:

(http://s8.postimg.org/yz2900hpt/101.png) (http://postimg.org/image/yz2900hpt/) (http://s8.postimg.org/dbdapkhbl/102.png) (http://postimg.org/image/dbdapkhbl/)

but as it doesn't account for a bunch of stuff, we'll have to improve upon it.
Title: Re: General Discussion
Post by: DarkTl on January 30, 2016, 12:18:54 PM
Yeah, I'm still waiting for you to handle these things:
Alright, so the general jobs structure:
- we check which available jobs the character agrees to do, and show only them at the assignment screen.
- traits and some stats may affect the whole turn, and if they do, we show a line about it like in wm ex (it was one of my favorite parts  :) ). I mean stuff when for example nymphomaniac trait with dice(50) gives a small bonus for whore job, like less vitality per act. Or adventurer gives small penalty to cleaning skill for cleaning job. It should be checked only once in the beginning of the turn, and work the whole turn for all checks during it.
I actually wrote many lines for jobs in the hospital, but until these parts are done, I simply cannot add them, there is no place for them atm.
Title: Re: General Discussion
Post by: Xela on January 30, 2016, 12:35:57 PM
I remember that, prolly gonna fix the job assignment tonight, I already wrote some logic for that yesterday. Rest will have to wait a bit because UI is needed to get a better grip of a system and how we can make sh!t interesting. It's almost useless to have complex or/and interesting logic unless it can be relayed to the player in a straight and succinct manner.
Title: Re: General Discussion
Post by: DarkTl on January 31, 2016, 06:07:23 AM
Personal characters reports should contain general info about the work, like how many clients they served, how much gold earned for the turn, etc.

Btw I see many clients like characters for having Neutral trait. It's very weird even for a brothel  :)
Title: Re: General Discussion
Post by: Xela on January 31, 2016, 08:58:03 AM
Personal characters reports should contain general info about the work, like how many clients they served, how much gold earned for the turn, etc.

Btw I see many clients like characters for having Neutral trait. It's very weird even for a brothel  :)

Do we exclude all elements then? I don't think that belongs in Personal reports, maybe we'll add that to the building screen some how.
Title: Re: General Discussion
Post by: DarkTl on January 31, 2016, 12:21:47 PM
Well, I believe there should be short reports and long reports. In long ones we tell how every single customer picked characters, how well they worked, which pose they used, etc. That's what we do now in buildings reports.
In short ones we simply tell everything at once. Ie how many customers they had, how many were pleased, income.

I'd rather used race (even Human, which might be a thing in a world with many races) than elements, which are normally not obvious, unlike appearance traits.
Title: Re: General Discussion
Post by: Xela on February 01, 2016, 11:38:58 AM
Well, I believe there should be short reports and long reports. In long ones we tell how every single customer picked characters, how well they worked, which pose they used, etc. That's what we do now in buildings reports.
In short ones we simply tell everything at once. Ie how many customers they had, how many were pleased, income.

Eventually, yeah. For now I figure we need to see if we can relay general info on the businesses and events that took place, (summary with) specifics are touch to code, expensive to track and will have to wait for future releases.

For now Job reports + Personal Reports + Financial Reports + SimPy (Building) reports will have to do, what I was talking about earlier is to somehow make business experiences more unique and relaying certain events/business info directly to the Building screen, outside of ND reports. I have some ideas but nothing I can put "on paper" yet.

I'd rather used race (even Human, which might be a thing in a world with many races) than elements, which are normally not obvious, unlike appearance traits.

We're using that too... I will not be difficult to remove elements from there by just commenting out some code but that needs to be considered, we were talking about options to use elements during jobs as well as in BE.

=====>>>
Characters are prolly too complex... there are too many stats, traits and skills to worry about, but we'll see how it works out later, when there is more code for the testing.
Title: Re: General Discussion
Post by: Xela on February 01, 2016, 04:39:58 PM
I wonder, how do we block jobs on assignment in the interface? Just match the traits or do the complete disposition checkup? Some workers are ok with doing a job if disposition is high enough...
Title: Re: General Discussion
Post by: DarkTl on February 02, 2016, 08:06:43 AM
The way I see it, it should be based on occupation, disposition, slavery status and traits. I suppose it should be checked the moment you click on the changing assignment button.
Title: Re: General Discussion
Post by: Xela on February 02, 2016, 08:09:49 AM
The way I see it, it should be based on occupation, disposition, slavery status and traits. I suppose it should be checked the moment you click on the changing assignment button.

I didn't even think slaves... such case should just ignore all checks. Well, I'll see how far I can get with it and leave comments in the function, we'll add more/better checks there as we move forward.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2016, 08:11:53 AM
I don't really think slaves should be guards or something like that, not allowing to fight.
Title: Re: General Discussion
Post by: Xela on February 02, 2016, 08:15:26 AM
I don't really think slaves should be guards or something like that, not allowing to fight.

Yeah... until we have politics. If we ever get that far, this is something we can manage using that module by using money to push new laws or partake in the process somehow.

Anyway, I'll try to setup the functionality skeleton for the assignment checks and add all checks I can think off to the function. We can add the rest later.
Title: Re: General Discussion
Post by: DarkTl on February 03, 2016, 09:34:25 AM
Let's see... So now every job has self.disposition_threshold, which even could be a bit different depending on stuff like traits.

Do you still run check_occupation part? It's a good place to handle the remaining (non refusing) logic.
Title: Re: General Discussion
Post by: Xela on February 03, 2016, 11:13:16 AM
Let's see... So now every job has self.disposition_threshold, which even could be a bit different depending on stuff like traits.

We can also add that to the function.

Do you still run check_occupation part? It's a good place to handle the remaining (non refusing) logic.

Yes, because we need it for high disposition/slave checks still. Some options can be removed from there that can no longer occur.
Title: Re: General Discussion
Post by: DarkTl on February 03, 2016, 11:48:38 AM
Do you run check_occupation once per turn, or before every customer?

I suppose the worker will continue to work once you assigned her even if disposition somehow becomes less than self.disposition_threshold? In this case there should be penalties of some kind instead of refusing.
Title: Re: General Discussion
Post by: Xela on February 03, 2016, 12:39:22 PM
Do you run check_occupation once per turn, or before every customer?

When the worker is chosen for the task so it depends on the job.
Title: Re: General Discussion
Post by: DarkTl on February 03, 2016, 02:15:56 PM
I need to access character inside def __init__(self), where you set self.disposition_threshold, in order to run checks there. Looks like normal means like char of self.worker don't work.
Title: Re: General Discussion
Post by: Xela on February 03, 2016, 02:28:21 PM
I need to access character inside def __init__(self), where you set self.disposition_threshold, in order to run checks there. Looks like normal means like char of self.worker don't work.

You can't do that, it's a constructor. You can write a separate method for checking and call it inside of a func instead of using threshold directly.
Title: Re: General Discussion
Post by: DarkTl on February 04, 2016, 01:43:08 AM
Ohhkey, for testing I did it like
Quote
def __init__(self):
...
    self.disposition_threshold = self.determine_disposition_level
....
def determine_disposition_level(self):
      disposition = 300
      return disposition
And it never appears in the job list regardless of disposition.

Seriously though, I mentioned that there will be checks, not just plain disposition level. And yet you code it in a way that gives me troubles with checks -_-
Title: Re: General Discussion
Post by: Xela on February 04, 2016, 05:09:19 AM
Seriously though, I mentioned that there will be checks, not just plain disposition level. And yet you code it in a way that gives me troubles with checks -_-

You misunderstood my proposal. I'll make a better code skeleton tonight.
Title: Re: General Discussion
Post by: DarkTl on February 06, 2016, 02:33:43 AM
Well?  :)
Title: Re: General Discussion
Post by: Xela on February 06, 2016, 06:25:27 AM
Well?  :)

My birthday party on Thursday turned out to be more fun than expected :) I am still recovering so I can't manage more than a couple of lines per day. You'll have a setup to work with tomorrow.
Title: Re: General Discussion
Post by: DarkTl on February 06, 2016, 07:05:29 AM
Happy birthday then!  :)

Mine is January 2, so I kinda kill two birds with one stone during the New Year.
Title: Re: General Discussion
Post by: Xela on February 07, 2016, 01:51:24 PM
Thanks :)

Setup is done, you can now either edit the general method for all jobs or add new specific method for individual jobs like:

Code: [Select]
class StripJob(...):
    bla bla bla...

    def is_valid_for(self, char):
        # bla bla bla
Title: Re: General Discussion
Post by: DarkTl on February 08, 2016, 11:08:29 AM
Yeah, looks like it works. Awesome.
Title: Re: General Discussion
Post by: Xela on February 08, 2016, 12:28:49 PM
I'll keep hacking at interface and it's functionality. Once that is done, we'll have a working system and I'll add guard and cleaning jobs which will be a lot simpler with SimPy (loads of complexity was added to those because we never had proper loops/order to work with before). After that is done, job events can be restored and we'll work towards improving that until we get sick of it and switch to SE/Arena/BE (again).

For me, main area of motivation atm is SE, I have loads of ideas for it and code should be a lot clearer and more awesome with Ren'Py.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2016, 12:39:42 PM
What about free characters leaving with low disposition?
Title: Re: General Discussion
Post by: Xela on February 08, 2016, 01:03:36 PM
What about free characters leaving with low disposition?

I think that happens in the Char.next_day() method.
Title: Re: General Discussion
Post by: DarkTl on February 10, 2016, 02:14:04 AM
For some reason I don't see stripper job available, even for slaves which don't have any restrictions.
Title: Re: General Discussion
Post by: DarkTl on February 10, 2016, 04:50:28 AM
Service jobs are less ready for my lines than I thought. For a start some of them have their own check_occupation, and some don't. At the same time we have
Quote
    class ServiceJob(NewStyleJob):
        """The class that solves Bartending, Waitressing and Cleaning.
       
        TODO: Rewrite to work with SimPy! *Or this actually should prolly be split into three Jobs...
        """
        def __init__(self):
            """
            This is meant to pick a job that makes most sense out if Cleaning, Service and Bartending
            """
which has its own check_occupation.

Looks like you will need to clean service jobs a bit to make it as understandable and clear as whore and stripper parts.
Title: Re: General Discussion
Post by: Xela on February 10, 2016, 08:50:39 AM
For some reason I don't see stripper job available, even for slaves which don't have any restrictions.

I'll take a look...

Service jobs are less ready for my lines than I thought. For a start some of them have their own check_occupation, and some don't. At the same time we have which has its own check_occupation.

Looks like you will need to clean service jobs a bit to make it as understandable and clear as whore and stripper parts.

It will require new code practices, I'll prolly structure it as a SimPy Resource Process on request. They would have to be split I think, we'll see how it pens out...

===>>
We need to think about meaningful upgrades/matron mods/events for all jobs.

I am still hacking the interface one frame at a time due to lack of time but it is slowly moving forwards, I'll push a number of small fixes tonight/tomorrow.
Title: Re: General Discussion
Post by: DarkTl on February 10, 2016, 11:59:24 AM
We used to have upgrades. Not the best ones, but not the worst ones either, they would be a good food for thought. Atm I don't even see their tracks in the code.
Title: Re: General Discussion
Post by: Xela on February 10, 2016, 03:23:57 PM
We used to have upgrades. Not the best ones, but not the worst ones either, they would be a good food for thought. Atm I don't even see their tracks in the code.

I removed them due to being too plain, I think the code is in the old_code folder unless I've deleted it.
Title: Re: General Discussion
Post by: Xela on February 11, 2016, 04:22:10 PM
For some reason I don't see stripper job available, even for slaves which don't have any restrictions.

Are you sure? It seem to be working on my end...
Title: Re: General Discussion
Post by: DarkTl on February 12, 2016, 08:42:14 AM
Are you sure? It seem to be working on my end...
It's testing.rpy again, I downloaded yours.

So you want all upgrades to give something truly unique? Like, enabling group, well paid actions for whores, for example?
Title: Re: General Discussion
Post by: Xela on February 12, 2016, 11:57:46 AM
So you want all upgrades to give something truly unique? Like, enabling group, well paid actions for whores, for example?

Yeap, I want them to be meaningful and integrated with other modules. I should have some free time tomorrow so maybe I can think about it some more (I need to write down ideas I have before they are forgotten somehow).
Title: Re: General Discussion
Post by: DarkTl on February 13, 2016, 02:44:27 AM
Matrons could:
- rewrite customers preferences with a certain probability to available ones.
- disable negative customers traits with a certain probability, like aggressive.
- increase the amount of money customers are ready to spend (they don't bring ALL their money when they go to your establishment).
- reduce the impact of displeased customers on reputation.
- reduce disposition level needed to set characters to "wrong" jobs.
- provide actual micromanagement, ie set characters to autorest when needed and return back to the job after they rest.

I suppose player will have to pick one of these options per manager.
Title: Re: General Discussion
Post by: Xela on February 13, 2016, 01:50:15 PM
Matrons could:
- rewrite customers preferences with a certain probability to available ones.
- disable negative customers traits with a certain probability, like aggressive.
- increase the amount of money customers are ready to spend (they don't bring ALL their money when they go to your establishment).
- reduce the impact of displeased customers on reputation.
- reduce disposition level needed to set characters to "wrong" jobs.
- provide actual micromanagement, ie set characters to autorest when needed and return back to the job after they rest.

I suppose player will have to pick one of these options per manager.

I wonder if we should implement simpler mechanics and modify them as OldHuntsman does in his games... It would be easier to work with at the very least.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2016, 03:34:17 AM
That contradicts your wish to make upgrades truly unique  :)
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 05:45:31 AM
That contradicts your wish to make upgrades truly unique  :)

Not necessarily... in Civ, Wonders, more often than not, modify the main "stats" and yet feel unique. We could find smart ways to influence those mechanics, attract different customers, modify workers values and etc.

We may not be able to properly utilize a system as it is now (where we make "on spot" decisions anywhere in the code) fully with just the two of us remaining on the dev team. Plainer, clearer design where we "flag" events and gather values to be normalized, analyzed and applied. I noticed that you tried to balance the job a bit, how difficult was it/how far did you get?
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 06:12:12 AM
I'll see if I can add the manager job for to the assignments screen and limit the amount of available jobs where-ever appropriate.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2016, 06:57:49 AM
I noticed that you tried to balance the job a bit, how difficult was it/how far did you get?
I balanced everything but income and payment. Mostly because money code is scattered over multiple files, but also because we need all jobs available before doing it with money.

In terms of stats it's not difficult. Since we have so many ways to increase stats, jobs should not be effective in that regard.


I believe managers should have limited ability to watch over characters, probably based on management skill level, something like 5 + 1 character per 100 management skill.
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 07:08:41 AM

I believe managers should have limited ability to watch over characters, probably based on management skill level, something like 5 + 1 character per 100 management skill.

What do you mean by that? In my mind they manager the businesses, not character. Characters they will be able to influence positively. On the "how many chars" front, I think we need to convert managers AP, Management Skill and traits to "job points" and have managers act based off that.

Also, I am now 99% certain that we f*cked up with the "AP" concept. It was ok for the simpler SimBrothel design but for the game as it stands now, it's almost useless as we are forced to convert or ignore it related to almost anything... we'll prolly keep it for now but use easy to tweak conversion formulas in more places, it will allow more clarity and better control... we can have job points per different jobs, conversation/interaction points, H-points and etc. Traits will prolly become more interesting as well.
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 07:11:39 AM
I balanced everything but income and payment. Mostly because money code is scattered over multiple files, but also because we need all jobs available before doing it with money.

In terms of stats it's not difficult. Since we have so many ways to increase stats, jobs should not be effective in that regard.

So, with other words: meaningless and to difficult to relay to player effectively :)

It's prolly best to leave it for now as it is, it was often possible to improve the designs after they were complete, just make a working system and straiten it out later as we usually do instead of writing a concept for two month and work off that.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2016, 07:18:36 AM
Well, for instance autorest options should be controlled by managers, not just happen. And if one manager can watch over infinite amount of chars, it makes hiring more managers questionable.

AP is certainly useful for actions outside of the next day routine. If you want to have multiple types of AP, it might be very confusing.

So, with other words: meaningless and to difficult to relay to player effectively :)
Of course. A whore could have multiple customers per turn. If they all will give a huge chance to upgrade stats/skills, chars will be maxed out very quickly, making items and schools useless.
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 07:53:42 AM
Well, for instance autorest options should be controlled by managers, not just happen. And if one manager can watch over infinite amount of chars, it makes hiring more managers questionable.

We can prolly do better than that enabling some form of a "burn-out" routine forcing working who can be forced to work past their limits. I am not sure why we want auto-rest to be controlled since all it does is putting worker to rest when they cannot work anymore. Your suggestion would make perfect sense if workers could continue working with penalties even after their fatigue was low, but that is not presently the case.

AP is certainly useful for actions outside of the next day routine. If you want to have multiple types of AP, it might be very confusing.

Yeah... you're prolly right, AP do serve as a kind of a easy to grasp/understand attribute. I am still in favor of job points to be introduced at some point.

Of course. A whore could have multiple customers per turn. If they all will give a huge chance to upgrade stats/skills, chars will be maxed out very quickly, making items and schools useless.

That's why I am saying that we could do the whole thing at one place under the same code and set flags/counter during the job routines. It's still just a thought on how we can try to make the design more manageable.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2016, 08:02:00 AM
I am not sure why we want auto-rest to be controlled since all it does is putting worker to rest when they cannot work anymore. Your suggestion would make perfect sense if workers could continue working with penalties even after their fatigue was low, but that is not presently the case.
In many other games an attempt to put a way too tired character to work ends up with either high chance of illness or wasted turn.

That's why I am saying that we could do the whole thing at one place under the same code and set flags/counter during the job routines. It's still just a thought on how we can try to make the design more manageable.
Will be difficult for whores at very least, since they get different skills bonuses depending on acts (anal, vaginal, etc). All other jobs so far are more predictable though.
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 09:13:20 AM
In many other games an attempt to put a way too tired character to work ends up with either high chance of illness or wasted turn.

Which may be a lot easier/faster to code but suggest that a character is retarded and cannot tell when it is time to rest. It's not logical, under normal operations to have a system that sabotages itself because workers are stupid. Maybe this makes some sense for slaves but even then, we'll need more controls and a small extension where a character can act even when exhausted with penalties to the job performance and maybe even some stats.

Will be difficult for whores at very least, since they get different skills bonuses depending on acts (anal, vaginal, etc). All other jobs so far are more predictable though.

Not necessarily, we can have counters for stats already, they are also not applied on spot but at the jobs end. It would not be difficult to tweak that... I am trying to work through it in my head to figure out if it (and other proposals) is worth the effort.

==>
The system setup itself is presently quite reasonable and allows a lot of interesting events/modding at different places happening in a timely and logical manner, that setup however didn't make balancing and keeping track of stats (workers/buildings/clients) under normal operations/upgrades/event results/ and etc. any easier. It prolly even made it more difficult. I am trying to figure out how to compensate for it or even if we should do it right now or ever...
Title: Re: General Discussion
Post by: DarkTl on February 14, 2016, 10:18:41 AM
Ok, then is there a reason to have more than 1 manager per building? If no, it will be the less demanded class ever so far.
Title: Re: General Discussion
Post by: deadkingblue on February 14, 2016, 10:24:54 AM
on the front page you said you need writers, i can't write sexy stuff but interactions are something i can try. But i'd need a list with the characters, location if applicable, and how the girl reacts if applicable, and any other factors you want me to add. I am not an amazing writer but i am a writer. oh and the girls relationship with the pc changes how they react right? give me a number and explanation of the relationship if you can. ALSO i really want an updated alpha or even beta to be released to the point that i started reading python scripting books. they might as well be written in egyptian. :'( I appreciate that you guys are actively developing this though. :)
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 10:52:34 AM
Ok, then is there a reason to have more than 1 manager per building? If no, it will be the less demanded class ever so far.

I've been puzzling about that myself for some time. It ended with the decision of having one for now and maybe more later under one of these designed:

1) Main manager and requirement for sub-manager for every x amount of building resources (like rooms or tables).

2) Workers themselves that have a manager as one of their main classes add to management in general.

===>
Since we do not have a management routine yet (we have the main manager spot + one or two test cases for it), I don't know how we'll proceed in the future. It doesn't really matter if there is high demand for it or not. I want to add a simple recruitment agency that can look for unique or create random worker on your request, what can be requested by the player specifically will prolly be limited and depend on level, rep, fame, owned businesses and etc.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2016, 11:08:17 AM
Irl you need more managers if you have a lot of workers or multiple departments. So if bonuses provided by managers will be limited by the number of affected characters or occupation (manager for cleaners, manager for guards, etc), they will be more needed in the game. I don't propose the latter one as subclasses, there will be one manager class, and you will be able to set her to one of occupations.
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 11:12:17 AM
on the front page you said you need writers, i can't write sexy stuff but interactions are something i can try. But i'd need a list with the characters, location if applicable, and how the girl reacts if applicable, and any other factors you want me to add. I am not an amazing writer but i am a writer. oh and the girls relationship with the pc changes how they react right? give me a number and explanation of the relationship if you can. ALSO i really want an updated alpha or even beta to be released to the point that i started reading python scripting books. they might as well be written in egyptian. :'( I appreciate that you guys are actively developing this though. :)

Knowing some Python is an advantage but not a huge one, there are dozens of working examples of almost anything in script already and a lot of stuff that is used often has been simplified and generalized.

The whole project is open sourced so you don't really need a release, just to figure out how to:

1) Download and unpack Ren'Py Dev Kit (simple download and unrar/unzip), you can also get it as an installer I think.

2) Getting the code base + resources:

- Download and install a Git software of your choice (we're using git extensions).
- Pulling the repo into Ren'Py project folder, you don't even need a permission for that from our repository.

or

- Plainly going to our repo page and downloading the whole repo manually. (very simple but ineffective because you cannot update it)

3) Getting some packs, you at the very least need one random pack. Preferably, it's wise to have Naruto, One Piece and all random packs and unpacking them to char/rchar dirs.

4) Starting Ren'Py launcher and launching the game.

5) Maybe you'll need my testing.rpy file as well, I structured the code for game to work without it but may have f*cked up somewhere because Dark had issues without it.

==>
It looks like a lot but it's simpler than it sounds and we should have more specific examples somewhere (I hope that we do). If you're willing to mess with this, you can get the code, if not, this is prolly the least required to effectively work on the project.

Without being able to code in Python, you can do this with the repo setup:

- Fix bad (at places really bad) English.
- Add new events/text of all kinds based on already existing and sometimes well commented code.
- Add new interactions.
- Expanding existing events/storyline.
- Coming up with new concepts/suggestion on how to enrich old once if you figure out how stuff is working at least in general.

All of that is a lot harder without the dev version setup... you can always write text/events. It's hard without knowing the game but it was done before couple of time, Dark or I put the events/texts into the game afterwards, sometimes even manage to request something specific :)
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 11:13:50 AM
Irl you need more managers if you have a lot of workers or multiple departments. So if bonuses provided by managers will be limited by the number of affected characters or occupation (manager for cleaners, manager for guards, etc), they will be more needed in the game. I don't propose the latter one as subclasses, there will be one manager class, and you will be able to set her to one of occupations.

I am hoping that we'll see the best way to do this as code and relevant interface matures...
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 11:18:04 AM
I just hooked up my laptop to a large TV, BE looks really good there! Some mistimings are a bit more apparent too :(
Title: Re: General Discussion
Post by: DarkTl on February 14, 2016, 11:43:13 AM
How do you imagine building structure?

I thought about possible options:
- every building could maintain a limited amount of establishments. It has nothing to do with the number of rooms or upgrades. For example, in the cheapest, smallest building there will be enough for 1 establishments. An establishment is stuff like brothel, bar, stripclub, etc.
- we could use real time building like Alkion used to have (dunno if it still has it), where you build rooms like, well, in Dungeon Keeper if you ever played it, by clicking on squares of the building map. I kinda liked that option, even though it should be coded much better than it was coded in Alkion.
- living rooms must be used by slaves if you have any, and could be used by homeless or poor free chars if you allow them. In the latter case they will rest much better than at home, and will have some disposition bonuses.
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 02:01:45 PM
- every building could maintain a limited amount of establishments. It has nothing to do with the number of rooms or upgrades. For example, in the cheapest, smallest building there will be
enough for 1 establishments. An establishment is stuff like brothel, bar, stripclub, etc.

I didn't think of limiting the amount of establishments (in code, they are called Upgrades). Right now they plainly require space (internal/external).

- we could use real time building like Alkion used to have (dunno if it still has it), where you build rooms like, well, in Dungeon Keeper if you ever played it, by clicking on squares of the building map. I kinda liked that option, even though it should be coded much better than it was coded in Alkion.

I can code it much better but we'll run into issues with graphical resources really fast. It is never too late for this (just like it was with Alkion).

- living rooms must be used by slaves if you have any, and could be used by homeless or poor free chars if you allow them. In the latter case they will rest much better than at home, and will have some disposition bonuses.

I am already planning that but all free chars will have their own housing. We will not bother with quality of that form the Beta.

How do you imagine building structure?

Building ==> Upgrade ==> Sub-Upgrade.

I am not 100% sure about code structure for all of this yet, Upgrades are ready but I have a few excellent ideas for Subs, I just don't know if it sensible to bother with the complex stuff yet. I wrote some new code for jobs, maybe I should switch to SE for a while like we did with BE to let the new code/concepts settle down a little bit before we continue hacking at jobs again...

I want to finish assigning managers tonight at any rate.
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 02:58:16 PM
One thing I didn't think off is what to do when the Manager is resting... we prolly want to keep base bonuses from having a manager active and at the managers ability but personal effect that the manager brings should be inactive.
Title: Re: General Discussion
Post by: deadkingblue on February 14, 2016, 03:16:22 PM
Did some english homework on the xeona dialogues. Also i think i need the testing rpy you mentioned where can i find that (cause the glitches were unruly due to none specified variables). also called her leona alot in my change log.
Title: Re: General Discussion
Post by: deadkingblue on February 14, 2016, 03:18:52 PM
Also some of my notes in the changelog may have been writers bias, so if my changes don't match the ideal tone of the game let me know. And don't let my suggestions and comments offend you :P 
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 03:30:00 PM
Did some english homework on the xeona dialogues. Also i think i need the testing rpy you mentioned where can i find that (cause the glitches were unruly due to none specified variables). also called her leona alot in my change log.

I'll see if I can get around to reading it tonight. I cannot send you testing.rpy at the moment because it is added in such a way that it prevent your game from starting until you update the code with manager assignment and that is not pushed (or ready yet) at the moment.

Also some of my notes in the changelog may have been writers bias, so if my changes don't match the ideal tone of the game let me know. And don't let my suggestions and comments offend you :P 

Noted  ;)
Title: Re: General Discussion
Post by: Xela on February 14, 2016, 06:07:57 PM
Did some english homework on the xeona dialogues.

Looks solid.

Also i think i need the testing rpy you mentioned where can i find that (cause the glitches were unruly due to none specified variables).

I'll attach my testing.rpy to this post but I don't think that was an issue, from the look of the first error, you tried to run the game using packs from Alpha (which you cannot do). Grab the new packs from Dark's pack thread, they should work. Rest of the error are most likely due to an attempt to skip the pack error.


- Average level if a team (even when a fight is 1v1, we still count them as teams internally) is used to determine if opfor agreed to fight or not (in dogfights).

- "Demeaning" acts more often than not will be handled on per case bases and calculated off traits, disposition and other stats/flags/relationship with player.

- Jobs willing to do depends on "Base Traits" concept. Slaves will do any job.

- I am not sure how we gauge give money interaction but there will be an automatic disposition popup.

- Sex acts are handled on per case basis as well, there may not even be a way to currently check which acts exactly char is willing to do because we never planned to make an easy accessible list outside of interactions (there is no class/function that we use, everything is handled in labels (I think*)).

- We will have criminal activities but not (or extremely unlikely) before the beta release.


- Dogfights are supposed to be "unofficial" in a sense that they are not advertised, tracked with ladders or planned in advance. I always imagined them happening outside of the main arena but never found a background for that. They are not "licensed" or "unlicensed", it's plainly that they are not "main events" and are just fighters sparring with one another "on spot" on their own time.

- Decay for arenarep is a good idea. Someone should start an issue in GitHub for that. The flip to negative thing should have been fixed a long time ago...

- Hgehe wasn't a typo but it's not a big thing either.


- Some notes:

*You most definitely don't have to explain every single change you make in separate file, if something is unclear or you can't figure if some cr@ppy thing was done deliberately, you can leave comments in the file itself. Explanations why something was changed are not needed unless it feels like it's appropriate to leave one.
*You prolly should make an account at GitHub and figure out how to push/pull stuff. I can add you to the team if you get yourself an account. You could have simply pushed the file without any added effort.



Edit:

Forgot to attach the file yesterday (it was late, in fact it was "early today" :D ).
Title: Re: General Discussion
Post by: DarkTl on February 15, 2016, 11:32:38 AM
Building ==> Upgrade ==> Sub-Upgrade.
What about amount of rooms? Atm rooms are kinda independent, even though both rooms and other stuff like upgrades mostly use the same space, ie building.
Title: Re: General Discussion
Post by: Xela on February 15, 2016, 12:03:40 PM
What about amount of rooms? Atm rooms are kinda independent, even though both rooms and other stuff like upgrades mostly use the same space, ie building.

They will be *(prolly) handled as a subupgrade. Right now they are a property of Brothel Upgrade but we didn't have subs so I took a simpler path.
Title: Re: General Discussion
Post by: Xela on February 15, 2016, 03:38:54 PM
Matrons could:
- rewrite customers preferences with a certain probability to available ones.
- disable negative customers traits with a certain probability, like aggressive.
- increase the amount of money customers are ready to spend (they don't bring ALL their money when they go to your establishment).
- reduce the impact of displeased customers on reputation.
- reduce disposition level needed to set characters to "wrong" jobs.
- provide actual micromanagement, ie set characters to autorest when needed and return back to the job after they rest.

I suppose player will have to pick one of these options per manager.

We have an issue for that btw: https://github.com/XelaPy/PyTFall/issues/130

I'll tired but I'll try to hack the jobs/businesses a little bit before I fall asleep.
Title: Re: General Discussion
Post by: DarkTl on February 16, 2016, 09:12:25 AM
Damn, even old upgrades icons are in a worse shape than I thought. Some major editing and resizing will be needed if we'll use them.
Title: Re: General Discussion
Post by: Xela on February 16, 2016, 11:35:37 AM
Damn, even old upgrades icons are in a worse shape than I thought. Some major editing and resizing will be needed if we'll use them.

I don't really care, Game will do the resizing, we always used one size for all upgrades images, plan is to continue doing the same thing. I will just use the first thing I find on google images.
Title: Re: General Discussion
Post by: deadkingblue on February 16, 2016, 11:53:25 AM
The event in the outside of arena where you meet the girl with the cannon, which rpy is that in so i can work on the grammar and stuff?
Title: Re: General Discussion
Post by: deadkingblue on February 16, 2016, 11:53:53 AM
Also signed up for github, still don't know what to do with it. ;D
Title: Re: General Discussion
Post by: CherryWood on February 16, 2016, 01:23:18 PM
The event in the outside of arena where you meet the girl with the cannon, which rpy is that in so i can work on the grammar and stuff?
library/events/events - kathtom_duo.rpy

I'm a bit surprised it's still working :D I just need to correct the portrait it uses to fit the frame...
Title: Re: General Discussion
Post by: Xela on February 16, 2016, 01:32:22 PM
Also signed up for github, still don't know what to do with it. ;D

If you installed any form of git software, you need to let me know your login so you can be added to the devs. Then you can just push your updates instead of uploading them here. Alternatively you can leave pull requests just with the login, anyone can do that just with the account and without authorization for any specific project and we can later merge it with the project. First way is prolly better and the most common one but it requires a base understanding of pulling/merging/committing/pushing routine.
Title: Re: General Discussion
Post by: Xela on February 16, 2016, 03:43:18 PM
library/events/events - kathtom_duo.rpy

I'm a bit surprised it's still working :D I just need to correct the portrait it uses to fit the frame...

There is no reason that it shouldn't. It's a mostly a text/sprite events using the base Ren'Py tools.
Title: Re: General Discussion
Post by: Xela on February 17, 2016, 03:38:51 PM
I've read that there is this new thing where Ren'Py limits FPS to 5 in static screen mode. The may have been what was causing delays in BE, especially at the very start of a fight (seemed to be really noticeable using the more complex spells).

Maybe it's my imagination, but there seems to be an improvement.
Title: Re: General Discussion
Post by: DarkTl on February 18, 2016, 01:26:22 AM
Doesn't it mean that animation in VN mode suffers too?
Title: Re: General Discussion
Post by: Xela on February 18, 2016, 02:09:27 AM
Doesn't it mean that animation in VN mode suffers too?

Makes you wonder... Ren'Py does try to increase it whenever appropriate and it should do so much better in VN mode because it scans several statements ahead. BE is coded in Python so Ren'Py doesn't auto predict much there because Python logic is much, much harder to follow than linear progression through labels... so we're given tools to do stuff manually. I don't recall much issues in VN mode, in BE mode, without forcing frame rate, if you pick cataclysm or some other complicated attack right after starting BE, you should see very clear delay (which becomes none existent after one or two sequences). Now it seem to work really well at all times.
Title: Re: General Discussion
Post by: Xela on February 19, 2016, 04:28:57 AM
https://help.github.com/articles/adding-a-file-to-a-repository/

New tech... something to consider for potential devs who don't want to mess with software. Maybe we should create a new branch to make it more convenient.
Title: Re: General Discussion
Post by: Xela on February 19, 2016, 05:57:46 AM
New tech...

It's almost too good to be true :) Super convenient when you're working with just a couple of files.
Title: Re: General Discussion
Post by: DarkTl on February 19, 2016, 06:26:46 AM
Well, all conflicts should be resolved locally. Without a software capable to do so it probably will be impossible to upload changes in some cases.

Actually, based on the text I feel like you can only ADD a file, not change something in an EXISTING one.
Title: Re: General Discussion
Post by: Xela on February 19, 2016, 06:34:56 AM
Well, all conflicts should be resolved locally. Without a software capable to do so it probably will be impossible to upload changes in some cases.

That is a possibility, I am not sure how conflicts are handled. In some cases, like when you want to up a better image or improve texts but don't know how to use git software, this is not a bad bet.

Actually, based on the text I feel like you can only ADD a file, not change something in an EXISTING one.

You always could change something in an existing file as long as it was open text, ever since we've started with Git. I've did a quick test using an image, it looks like it will always attempt to overwrite the existing file in the repo when you use the new upload system. I am not quite sure what happens in case of conflicts though...

But even then, you can just branch out in such cases, branches shouldn't be too hard to merge together and deleting them is very easy.
Title: Re: General Discussion
Post by: DarkTl on February 19, 2016, 06:40:40 AM
I mean cases (rare in our case, but they still happened several times) when the repo cannot determine which line is more preferable. It usually happens when two coders have edited the same file at the same time, and you have to run a special tool in these cases to merge files properly.
In the worst case the oldest one will replace everything.
Title: Re: General Discussion
Post by: Xela on February 19, 2016, 06:48:24 AM
I mean cases (rare in our case, but they still happened several times) when the repo cannot determine which line is more preferable. It usually happens when two coders have edited the same file at the same time, and you have to run a special tool in these cases to merge files properly.
In the worst case the oldest one will replace everything.

I understood your concerns:

I am not quite sure what happens in case of conflicts though...

Conflicts are pretty rare, usually occurring when two people work on the same file and normally, someone who doesn't want to (or can't) figure out the git soft, will not want (be able) to solve a conflict properly. If in those rare occurrences, we'll have to do it anyway, this remains a pretty sweet option.

==>
I am not saying it can replace git software for development but it can make it a lot easier for someone who just want to check spelling/improve texts. Preciously you'd have to edit the files om site or create Pull Requests.
Title: Re: General Discussion
Post by: DarkTl on February 20, 2016, 12:22:15 PM
I made myself familiar with Illusion's custom maid games. They have some curious options like supervising a character during turn, no matter what she does, thus making her activities more successful. Also some service characters-only options like cooking/sewing/flower arranging/decorating. You can dispatch characters (servers in our case) to work in other houses for money.

Building, in addition to hygiene and popularity, has beauty stat. That's what characters increase when they do stuff like decorating.
Title: Re: General Discussion
Post by: Xela on February 20, 2016, 03:01:03 PM
Building, in addition to hygiene and popularity, has beauty stat. That's what characters increase when they do stuff like decorating.

This is an option, I was thinking "decor" stat for buildings. Rest is too specific for the scope of the game (imo).
Title: Re: General Discussion
Post by: DarkTl on February 21, 2016, 03:37:25 AM
Supervising seems a good option for managers though.
Title: Re: General Discussion
Post by: Xela on February 21, 2016, 06:23:09 AM
Supervising seems a good option for managers though.

It does but I feel that it will only create clutter on the interface and confusion. Maybe we can add this after the release if it still makes sense then.
Title: Re: General Discussion
Post by: lamoli on February 24, 2016, 07:20:22 AM
Hello all,

As iv said i was busy with work and this was my first opportunity to check up on things here and i like how interactions works now.. well as long as you correct a few things that is..

GM - proposition.rpy ( line 316 ) "Hire her as [char.occupation].": ( to ) "Hire her as [char.occupations].": ( else your can hire anyone from interaction ) ( you cant ignore and skip the error )
traits_class.json  ( line 122 ) "id": "Stright Prostitute", ( to )"id": "Straight Prostitute", ( else you cant get her job description without errors ) ( you can ignore and skip the error )

custom_screens.rpy ( line 229 )  xysize (140, 10000) ( ermm no wonder with that number lol.. i just add # for now it will remove empty spaces ) and looks like some of the max shows as empty
( looks like its from stats or skills that are been worked on ) like the +con not showing up in mage mantle stats

Also theres a error you cant skip when you want to give her money.. didnt had the time to check where that comes from.

Those are errors preventing seeing what was added even if some things are disabled/reworked atm..
Title: Re: General Discussion
Post by: DarkTl on February 24, 2016, 11:48:33 AM
Huh, that's weird. Money options worked flawlessly before, and I didn't changed a thing. And the error is really weird too, "Unknown keyword arguments: prompt". Xela has to take a look at it, could be an engine bug or something.
Title: Re: General Discussion
Post by: Xela on February 24, 2016, 01:38:57 PM
I'll take a look when I can, occupation thing makes sense as the system was changed, rest I am not so sure about.
Title: Re: General Discussion
Post by: DarkTl on February 24, 2016, 01:46:02 PM
Money options are based on disposition, current gold and unique flags. I have no idea how
Quote
temp = int(renpy.input("You proposed to help her with money. You have [hero.gold] G.", allow="1234567890"))
worked before but stopped now.
Title: Re: General Discussion
Post by: DarkTl on February 24, 2016, 01:53:39 PM
Hm. There were a few errors in money code related to wrong position of deleting variables which didn't existed, I fixed it. But that weird error remained.
Title: Re: General Discussion
Post by: Xela on February 24, 2016, 04:13:35 PM
Hm. There were a few errors in money code related to wrong position of deleting variables which didn't existed, I fixed it. But that weird error remained.

I've failed to fix the error... gonna try it again when time permits, otherwise we'll use our own input screen that we use everywhere.
Title: Re: General Discussion
Post by: Xela on February 26, 2016, 02:53:16 PM
Oki... so I've rewrote the entire item info screen to make it work again yesterday while traveling. It was one of the most difficult code rewrites I ever had to deal with but it's done. I'll take a look at fixing the input thing tonight and push the whole thing.

Rewrite was due to Gismo's code and he cannot be blamed for this as he really have tried to do his best and I cannot even begin to image how much effort it took to make the bad code work in the first place. In either case, all resources are still in the game and everything seems to be working really well now. My update should also be future proof.
Title: Re: General Discussion
Post by: Xela on February 26, 2016, 03:42:39 PM
Hm. There were a few errors in money code related to wrong position of deleting variables which didn't existed, I fixed it. But that weird error remained.

Oki, so this is fixed now, not entirely sure what happened but it seems to be my fault (overwriting default input screen with out own version). Maybe something went wrong during the refactoring effort where I removed all pyt prefixes from screen names and included one case where it actually mattered... in any case, things are back to normal now.
Title: Re: General Discussion
Post by: Xela on February 26, 2016, 03:52:08 PM
As iv said i was busy with work and this was my first opportunity to check up on things here and i like how interactions works now.. well as long as you correct a few things that is..

Welcome back :)

GM - proposition.rpy ( line 316 ) "Hire her as [char.occupation].": ( to ) "Hire her as [char.occupations].": ( else your can hire anyone from interaction ) ( you cant ignore and skip the error )
traits_class.json  ( line 122 ) "id": "Stright Prostitute", ( to )"id": "Straight Prostitute", ( else you cant get her job description without errors ) ( you can ignore and skip the error )

Spelling error is resolved but the occupations thing is an Issue on GitHub longstanding and will be fixed in due time. This part of gameplay is evolving and there for not fixed in interactions.

custom_screens.rpy ( line 229 )  xysize (140, 10000) ( ermm no wonder with that number lol.. i just add # for now it will remove empty spaces ) and looks like some of the max shows as empty
( looks like its from stats or skills that are been worked on ) like the +con not showing up in mage mantle stats

This took almost six hours to get working again and was originally coded by out GFX Artist who is wizard in Photoshop but is a poor Ren'Py coder. The whole thing should be working now. Transfer screen is still an issue but you did not mention that.

Also theres a error you cant skip when you want to give her money.. didnt had the time to check where that comes from.

This was my fault and should now be working again.

Those are errors preventing seeing what was added even if some things are disabled/reworked atm..

Not sure what those are, but we're actively developing some things line by line.
Title: Re: General Discussion
Post by: lamoli on February 27, 2016, 06:16:55 AM
is took almost six hours to get working again and was originally coded by out GFX Artist who is wizard in Photoshop but is a poor Ren'Py coder. The whole thing should be working now. Transfer screen is still an issue but you did not mention that.

Well didnt see anything that would disturb me.. since a few things arent complete.. and since i bought the item from the shop and know the stats it has i didnt even noticed it didnt show on that screen until you mentioned it lol

And im happy to see things are still progressing.. im still impatient to see the exploration mechanic working with the random chance to get mats/items/girls.. that thing only would make me play the game for a crazy numbers of turns even on its current state (might as well makes me invest more time making stuff for it since ill would probably see a few thing that would be missing)

But proper focus should be on the skills/traits/wages/taxes/class/jobs...

I dont thing you would add a skill/trait gain while performing a certain job with %chance.. but could this be done with their job/class/subs as they evolve to next rank or girl lvl like skill point you invest to unlock a trait/skills ( or something like sibr1x had) that way we could customize the girl a little withing the confine of her current job or decide to take a certain path on that job or general girl evolution.
Title: Re: General Discussion
Post by: DarkTl on March 01, 2016, 01:03:30 PM
Where do we determine pictures shown in character profile and during interactions?

I only found it for GMs.
Title: Re: General Discussion
Post by: Xela on March 01, 2016, 02:51:35 PM
Where do we determine pictures shown in character profile and during interactions?

I only found it for GMs.

In screens. Those are all separate, customized cases.
Title: Re: General Discussion
Post by: DarkTl on March 02, 2016, 03:09:21 AM
I found it for profile. As for interactions (not GMs), it's probably this part:
Quote
frame:
            background Frame("content/gfx/frame/MC_bg.png", 10, 10)
            # basestring assumes that image is coming from cache, so it simply a path.
            if isinstance(gm.img, basestring):
                add ProportionalScale(gm.img, gm.img_size[0], gm.img_size[1])
            else:
                add gm.img
or maybe this
Quote
    if gm.show_menu:
        use location_actions("girl_meets", gm.char, pos=(1180, 315), anchor=(1.0, 0.5), style="main_screen_3")
Either way, they both don't support exclude argument that I want to add.
Title: Re: General Discussion
Post by: Xela on March 02, 2016, 11:26:01 AM
I see what you mean... we'll find a way, I am traveling atm so there isn't much I can do unless I get some time off.
Title: Re: General Discussion
Post by: Xela on March 03, 2016, 04:19:03 PM
As for interactions (not GMs), it's probably this part:or maybe thisEither way, they both don't support exclude argument that I want to add.

Interactions and GMs should work exactly the same way. I've made a content-less push pointing out the relevant methods. Screens seem to just put the preset images on the screens, Girlsmeets class seems to even have it;s own caching system, don't really remember if it was I or Thewlis who coded it.
Title: Re: General Discussion
Post by: DarkTl on March 04, 2016, 08:01:01 AM
This is where we start interactions, I found it after all.
Quote
action If(not_escaped, true=[Hide("char_profile"), With(dissolve), Function(gm.start_int_or_tr, char)], false=NullAction())

Start_int_or_tr supports kwargs
Quote
        def start_int_or_tr(self, girl, **kwargs):
            """
            Starts either the interaction or training scenario based on whether the girl is in a training/schooling location or not.
            girl = The girl to use.
            kwargs = Arguments to pass to the start_int or start_tr function.
            """
            if in_training_location(girl):
                self.start_tr(girl, **kwargs)
           
            else:
                self.start_int(girl, **kwargs)
But when I try to add more arguments to Function(gm.start_int_or_tr, char), it says there could be only 2 arguments.

Note that GMs start very differently, and it's 100% clear how to change GM pictures.
Title: Re: General Discussion
Post by: Xela on March 04, 2016, 08:57:54 AM
I should have proper time for this tonight, they both should start the same so there could be some old code in play there.
Title: Re: General Discussion
Post by: DarkTl on March 04, 2016, 09:49:51 AM
You see, all GMs have a string that clearly declarates what it does, ie sets images:
Quote
use rg_lightbutton(img=entry.show("girlmeets", "swimsuit", "beach", exclude=["urban", "wildness", "suburb", "nature", "winter", "night"], type="reduce", label_cache=True, resize=(300, 400)), return_value=['jump', entry])
I've yet to find such a clear string for interactions. Everything there is a wrapper around something else, like you said once about Jakes BE  :)
Title: Re: General Discussion
Post by: Xela on March 04, 2016, 02:56:21 PM
You see, all GMs have a string that clearly declarates what it does, ie sets images:I've yet to find such a clear string for interactions.

That's half true, that image is the last cashed for that label and it is pulled from the label_cache when GM is started because we do not provide one.

Everything there is a wrapper around something else, like you said once about Jakes BE  :)

Not really, but it is a bit messy.

This is where we start interactions, I found it after all.
Start_int_or_tr supports kwargs

But when I try to add more arguments to Function(gm.start_int_or_tr, char), it says there could be only 2 arguments.

This was on spot btw... it's just that **kwargs are not arguments, they are key word arguments so you need to take that into account, something like this:

Code: [Select]
Function(gm.start_int_or_tr, char, img=char.show(*tags, exclude=[*more_tags], resize=gm.img_size))
should work for interactions. We should be able use whatever the pic was on profile screen as well if we do something like:

Code: [Select]
Function(gm.start_int_or_tr, char, img=img)
Title: Re: General Discussion
Post by: Xela on March 04, 2016, 03:18:13 PM
LoL

https://www.youtube.com/watch?v=cLcTm4FIXS0

Ren'Py should now have better movie support. I am going to play with this a bit tonight.

==>>
WoW :D

Converted gifs do look better than the originals :D I am going to see if we some cool attack can be converted...
Title: Re: General Discussion
Post by: DarkTl on March 04, 2016, 04:45:23 PM
Ironically, interactions should be started via start_int, but it was never used outside of the testing mode... Instead we have that start_int_or_tr that may send you to ST label instead of interactions depending on location.
That probably makes them mutually exclusive.
Title: Re: General Discussion
Post by: Xela on March 04, 2016, 05:57:19 PM
Change it then :)

===>
webm is absolutely amazing, quality and size improvements over FilmStrip and Animation are almost frighting :) I just rewrote the class a little bit so I can add the webm without a loop.

I will push the first test case soon but I think that we'll use it for all new attacks in the future. I'll leave the both, the old and the new Cataclysm attacks.

Ren'Py will have to be updated to it's prerelease channel or crash is assured.

=====================> Edit:
Man... it's sick! It takes seconds to convert gif to webm using online converter, there is no need to remove black background because Ren'Py does that for you and quality is amazing while the size is almost two times smaller than the original gif, forget our filmstrips, at this quality they took 40 - 90 MB, webm takes 1.5 MB :D and no need to mess with rows, sizes and timings.

And it's possible to put the sfx in the file... this is possibly one of the coolest things happened to Ren'Py in graphical department in a very long while.
Title: Re: General Discussion
Post by: DarkTl on March 05, 2016, 04:02:41 AM
I presume renpy can remove background of any color, not just black?
Title: Re: General Discussion
Post by: Xela on March 05, 2016, 04:21:03 AM
I presume renpy can remove background of any color, not just black?

I think so... Ren'Py doesn't really do much, it's the video decoders and my knowledge of those is very limited. I've read a couple of posts on the topic and while it's seems more complex than just a background color (second video should really carry what they call "alpha/opacity" information) it did work perfectly with getting rid of black screen when I tried it on two separate videos. I've seen a lot of blogs just mentioning "single color background" like greenscreens, that why I "think" that it'll work.

It'll take a dive into video encoding universe in order to understand that, encoders are prolly not written in python as that would work a lot slower but there is a lot of the topics of video transparency all over the net.
Title: Re: General Discussion
Post by: DarkTl on March 05, 2016, 11:48:58 AM
The difference in animation quality is amazing.
Title: Re: General Discussion
Post by: Xela on March 05, 2016, 04:45:47 PM
The difference in animation quality is amazing.

Yeah, but the most amazing improvement is the size... at huge resolution that I actually have to scale down for the BE, the Cataclysm file is just 1.5 MB :D
Title: Re: General Discussion
Post by: Xela on March 06, 2016, 02:46:24 AM
This is what the two movies actually supposed to look like:

https://youtu.be/I457OaMJRT0?t=20

Prolly not hard to make but it's been ages since I've messed with video editing. At least the maple animation just seem to be working...
Title: Re: General Discussion
Post by: DarkTl on March 06, 2016, 10:03:06 AM
I could convert other spells if you provide me a guide.
Title: Re: General Discussion
Post by: Xela on March 06, 2016, 08:38:16 PM
I could convert other spells if you provide me a guide.

I plainly used this (https://cloudconvert.com/gif-to-webm), at no audio at all and 25 frames per second ratio. 25 frames (same frame rate of any value for multiple videos ran at the same time, I just used a value of 25 at random) only matters if we run another webm at the same time, the more the merrier and we'll get better performance if they all at the same frame rate. Audio doesn't matter much and you'll need a proper video editor for that.

You've seen the new webm definition for the image, rest follows the same rules as before. It's cooler than I expected and we can now do whatever we like with those video files, just as we previously did with images, meaning that we can flip, zoom, transform, move, crop and etc... (so do whatever we like).

Since all RPG-Maker sprites are filmstrips (it will take major video editing skills to improve upon that since we do the exact same thing and in exact same way as the original rpg maker does with them), it's only the maple (.gif) animations that matter and those cal all be improved quite a bit (I recall I had to downsize one of them at the magnitude of 4 because the original came out as a 100MB files as a filmstrip, webm at better quality will come out as 2 - 3 mb).

I wanna mess with the spells/attacks more but I gotta get hacking at jobs and SE soon. We're really close to where I want Beta to be and SE just needs a bit of luve to adapt old logic to work with the new interface.
Title: Re: General Discussion
Post by: lamoli on March 07, 2016, 07:19:16 AM
I just made a new anime base moph for my models that i can render ( only head is morphed at since not decided on a body yet so neck size might look huge atm but that will not be the case when i render them posed )

(http://s20.postimg.org/oo35zzbzt/Newheadbase1.jpg) (http://postimg.org/image/oo35zzbzt/) (http://s20.postimg.org/r98qni1dl/Mouthmorph0.jpg) (http://postimg.org/image/r98qni1dl/) (http://s20.postimg.org/e3t8he7i1/Mouthmorph.jpg) (http://postimg.org/image/e3t8he7i1/)
After a few tries with wieghtmaps/rig that could never make the anime mouth i decided to use a morph ( a typical MMD opened mouth ) i will do all the anime expression later on


(http://s20.postimg.org/e6i61chh5/Newheadbasecompare1.jpg) (http://postimg.org/image/e6i61chh5/) (http://s20.postimg.org/7hbmlbw55/Newheadbasecompare11.jpg) (http://postimg.org/image/7hbmlbw55/)
Form this base i only need to make minor adjustments to make crimson girls ( and thats like 5sec pulling sliders lol )


(http://s20.postimg.org/qkzw4k2nt/Newheadbasecompare2.jpg) (http://postimg.org/image/qkzw4k2nt/) (http://s20.postimg.org/ovvutlta1/Newheadbasecompare21.jpg) (http://postimg.org/image/ovvutlta1/)
Test nr2 from the anime using their art ( did not make that hair type yet but will do )


Im also near done for the Freezing girls base head.. with those 2 i can nearly done everything


(http://s20.postimg.org/o3xs85egp/Testtype20.jpg) (http://postimg.org/image/o3xs85egp/) (http://s20.postimg.org/xr1ahv7g9/Testtype2compare1.jpg) (http://postimg.org/image/xr1ahv7g9/) (http://s20.postimg.org/kyd6hxvuh/Testtype2compare11.jpg) (http://postimg.org/image/kyd6hxvuh/)
Ars Nova have nearly all the same base.. just slightly different eyes and little cheek moving with em but this base could do all as well as the Freezing since same thing as base ( with the wrong neck from non morphed body it looks bad but thats the head thats important as all the rest will end up as before )


(http://s20.postimg.org/kdy5f92m1/Cryskatest.jpg) (http://postimg.org/image/kdy5f92m1/)
Hmm even Cryska from Muv Luv Alternative..


( Naruto is a exception as their faces are different but i have a model to work with to make those as well )
Title: Re: General Discussion
Post by: Xela on March 07, 2016, 08:53:00 AM
Looks really great! You can now prolly animate to webm at some point as well.
Title: Re: General Discussion
Post by: CherryWood on March 07, 2016, 12:59:49 PM
I second that, this is splendid. Something bothered me a little on the previous faces, but I really like this one!


btw. Great works so far guys! Sry for not helping you atm.
Title: Re: General Discussion
Post by: DarkTl on March 07, 2016, 01:35:06 PM
Eh. So it's useless for png filmstrips, and we have like 90% of animations as filmstrips without a source gif -_-
Title: Re: General Discussion
Post by: Xela on March 07, 2016, 02:23:06 PM
Eh. So it's useless for png filmstrips, and we have like 90% of animations as filmstrips without a source gif -_-

No idea. I've seen at least two of the sites I've used to offer spritesheet to gif conversion. I don't really know of there is any software that converts spritesheets to webm directly... there might be.

But spritesheets (filmstrips) are working out great for as well. The only animations that are really worth converting are the once we were forced to reduce on size and those are all from gifs.
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 03:09:37 AM
Within 5min i changed base1 to this 1..


(http://s20.postimg.org/nf1yshwu1/prisoncompare12.jpg) (http://postimg.org/image/nf1yshwu1/)
So even Prison school now.. ( also made a temp body close to whats needed and as you can see by default neck is better an can be refined further if needed )


Well i guess ill work on this 1 and Cryska first making their hairs/clothes and some of their expressions from their character profile..
Title: Re: General Discussion
Post by: Xela on March 08, 2016, 03:31:18 AM
Are those famous characters? You were working on a random girl before, which you never finished?
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 03:46:04 AM
Well some are known others not so much.. but you can say all the crimson girls could be turned into random character.. the problem with the previous character iv made is its really random and coulnd decide on clothing/expression/and so on.. we can still use them but i like this head base better and looks good even for known anime characters ( wich i planned to do as well to fill the missing packs pictures or add new one for the expressions/action we might need her to do in the future.. but most of all to remove/replace the ugly picture that looks like the char but is not or the over disproportioned body parts like humongous tits ) i know its no easy to make packs but i really hate when i see its not the same girl or when the artist is so different you cant even recognize the girl right away lol


What im trying to make is like a base template for each girls that we can use/pose as we need and im getting better at making them look like the real thing.. not to mention i can use those to make battle sprites aswell with deffend/attack/cast moves.
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 06:19:20 AM
Some quick hair to test the face..


(http://s20.postimg.org/h1hh2zhbt/quickhairtest0.jpg) (http://postimg.org/image/h1hh2zhbt/) (http://s20.postimg.org/ur7ey1f21/quickhairtest.jpg) (http://postimg.org/image/ur7ey1f21/)
(http://s20.postimg.org/t1ybpyzcp/quickhairtest1.jpg) (http://postimg.org/image/t1ybpyzcp/) (http://s20.postimg.org/d2fo6f3ax/quickhairtest2.jpg) (http://postimg.org/image/d2fo6f3ax/)


Last picture (overlay of original picture on top of 3d) shows that the drawn face isnt symetric (unless 1 of her eyes is malformed) lol i hate hand drawings for that reason.. it still need improvments but thats a good start.


(http://s20.postimg.org/vypy3zuk9/prisonnoseadjust.jpg) (http://postimg.org/image/vypy3zuk9/) (http://s20.postimg.org/z6ufh1gu1/prisonnoseadjust1.jpg) (http://postimg.org/image/z6ufh1gu1/)
adjusted nose to make it less piggy like..


(http://s20.postimg.org/rtf1i2ws9/prisoneyes.jpg) (http://postimg.org/image/rtf1i2ws9/) (http://s20.postimg.org/y8e2er3i1/prisoneyes1.jpg) (http://postimg.org/image/y8e2er3i1/)
Hmm closer to real eyes color now


Something isnt right but i cant figure what lol..
Title: Re: General Discussion
Post by: DarkTl on March 08, 2016, 07:53:27 AM
I think the nose is too narrow in the last one. It might look good in the anime, but kinda weird when you go to 3d.

No idea. I've seen at least two of the sites I've used to offer spritesheet to gif conversion. I don't really know of there is any software that converts spritesheets to webm directly... there might be.
That's not the problem. When I converted a gif built from one of our spritesheets with transparent bg to webm, bg became white. So we have to know for sure if any bg is suitable.
Title: Re: General Discussion
Post by: Xela on March 08, 2016, 08:06:46 AM
That's not the problem. When I converted a gif built from one of our spritesheets with transparent bg to webm, bg became white. So we have to know for sure if any bg is suitable.

You could try...

==>>
@lamoli

As I've said before, it's all about if you can finish a pack at reasonable amount of time or explain how to do the same.
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 08:39:11 AM
Yeah looks better now..


(http://s20.postimg.org/wvwdcv62h/Prisonlagernose.jpg) (http://postimg.org/image/wvwdcv62h/) (http://s20.postimg.org/d2k9k5sop/Prisonlagernose1.jpg) (http://postimg.org/image/d2k9k5sop/)


I guess ill use this to make the pack tryout.. its a good time to see whats missing as content
Title: Re: General Discussion
Post by: Xela on March 08, 2016, 09:25:54 AM
Have her eyes been this far apart in previous images as well???

The previous girl you came up with was really good too, clothing was a great fit for her as well and there were like half the pictures needed for a pack already. Especially this new setup:

(http://s20.postimg.org/7hbmlbw55/Newheadbasecompare11.jpg) (http://postimg.org/image/7hbmlbw55/)

looks amazing but it feels like you're trying to make them perfect when the previous design was really good and “Perfect is the enemy of good.” :)

===>
It's obviously your call but I want to point out that you've been on the right track for a long time already.
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 09:53:07 AM
Everything i ever rendered as pose and posted in either img/download link i can use with the new hair/head in a few sec to make the change rest is render time




like this Tied example i rendered before.. only morphed head and added new hair style..


(http://s20.postimg.org/sbesbobqx/Tied1.jpg) (http://postimg.org/image/sbesbobqx/)


So in essence it would take me like 10-20 min to make a pack once i got all the redered pose right
but in most of em what im missing is clothing even if its just garments..


Also need to work more on all the hair iv got.. this 1 is realy bad atm
Title: Re: General Discussion
Post by: DarkTl on March 08, 2016, 10:17:27 AM
Alright, I tried to convert basic air spell to webm. I have no idea how set webms properly, so I just used your layout for cataclysm. I'm not sure if it looks better, but it definitely looks differently somehow. More transparent perhaps.
Perhaps this is the result of all manipulations with third party soft (build gif from sheet, change transparency to black color, convert to webm). You should take a look.
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 11:08:49 AM
Hair update..


(http://s20.postimg.org/xulx6my61/Tied11.jpg) (http://postimg.org/image/xulx6my61/)
I still need to pose the hair a little more but this should be ok..


Now i need to check all the rendering templates i have and check if they are all in working order then ill render a pack.
Title: Re: General Discussion
Post by: DarkTl on March 08, 2016, 11:39:12 AM
Hm. There is a white area near her crotch, at both pictures.
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 11:55:22 AM
Yeah its because i dont add textures from parts that are not seen.. looks like i missed that spot lol but its no problem as long as i remember when i do the final renders for the packs.


i found 74 poses that i can use to render a packs.. some are clothes tho but the majority was from Dark action pictures. ( might miss 2-3 there still )
Title: Re: General Discussion
Post by: Xela on March 08, 2016, 12:03:57 PM
Alright, I tried to convert basic air spell to webm. I have no idea how set webms properly, so I just used your layout for cataclysm. I'm not sure if it looks better, but it definitely looks differently somehow. More transparent perhaps.
Perhaps this is the result of all manipulations with third party soft (build gif from sheet, change transparency to black color, convert to webm). You should take a look.

Yeah... As I've said in my last post on the topic, we're doing it wrong. One video should be the video itself, the other should be the opacity information as shown on youtube. Filmstrips in this context are not worth converting, at least not until we know exactly how to make the second video like that (I've seen some guides but never tried downloading the editing soft/trying myself).

Maple seems to be working ok and the size improvement are really cool. There were a couple of animation where I had to make some serious quality sacrifices in order not to end up with humongous files but there are not that many of those around.

We could add new or replace older animations with Maple once at full quality a LOT faster now + we have proper animation format to work with (even though almost 0 experience in doing so).
Title: Re: General Discussion
Post by: Xela on March 08, 2016, 12:07:20 PM
Hair update..


(http://s20.postimg.org/xulx6my61/Tied11.jpg) (http://postimg.org/image/xulx6my61/)
I still need to pose the hair a little more but this should be ok..


Now i need to check all the rendering templates i have and check if they are all in working order then ill render a pack.

It looks great but eyes look really far apart :D I know it's a thing, it's just that it may look odd for the random character.
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 12:18:34 PM
Hmm thats just how her face is.. but i guess the fact that the hair covers part of her left eye and face gives that impression.. ill check on another template to see how it goes
Title: Re: General Discussion
Post by: DarkTl on March 08, 2016, 12:28:04 PM
I have doubts that the webm thing supports transparency like alpha channel does. In the youtube example there is no transparency, and there is almost no transparency pixels in the cataclysm animation. While the air spell uses it a lot at every frame.

I mean, we do have the opacity information, it's the webm itself. Black = transparent, non black = not transparent. And yet it looks weird.
Title: Re: General Discussion
Post by: Xela on March 08, 2016, 12:47:25 PM
From what I gather there is full and complete transparency support as long as there is a proper mask video (as in the youtube example).
Title: Re: General Discussion
Post by: lamoli on March 08, 2016, 01:59:45 PM
Hmm well in this example its better as the hair does not cover 1 of the eye and most of the face is seen..


(http://s20.postimg.org/ox696ec1l/Handjob.jpg) (http://postimg.org/image/ox696ec1l/)


Ooops forgot to enlarge the nose lol still looks ok


(http://s20.postimg.org/pb7l5zw55/Handjob.jpg) (http://postimg.org/image/pb7l5zw55/)


Ok not much difference but still something.. ( also moved a few parts that where wrong )
Title: Re: General Discussion
Post by: DarkTl on March 08, 2016, 03:28:28 PM
Alright, I made a proper mask video by converting alpha channel to grayscale mask. And remade the base video without making alpha channel black (thus the online converter made it white, can't be helped).
It still looks somewhat different.

Maybe it's because the original has 1.2 zoom, and I dunno how to set zoom for webms. You should make it work just like the original spell, then we'll see if there is a real difference.

Ooops forgot to enlarge the nose lol still looks ok
Yeap, looks great.
Title: Re: General Discussion
Post by: Xela on March 08, 2016, 06:07:49 PM
Alright, I made a proper mask video by converting alpha channel to grayscale mask. And remade the base video without making alpha channel black (thus the online converter made it white, can't be helped).
It still looks somewhat different.

They are the exactly the same displayable so they work just like the old spells.

===>
I've just tested it. File size is smaller but quality is pretty much the same. It's prolly not worth converting the filmstrips that were not reduced in quality in the first place.
Title: Re: General Discussion
Post by: DarkTl on March 09, 2016, 03:21:02 AM
Can we control the speed of playing webms?
Title: Re: General Discussion
Post by: lamoli on March 09, 2016, 04:10:23 AM
Hmm all i need to do is to make the face/eyes more visible to avoid that weird effect that the eyes are too separate i guess..


(http://s20.postimg.org/vacyqoneh/image.jpg) (http://postimg.org/image/vacyqoneh/) (http://s20.postimg.org/j23vtg515/Blowjob.jpg) (http://postimg.org/image/j23vtg515/)


Cleaning templates files and rendering em.. ( 4/60 action )
Title: Re: General Discussion
Post by: Xela on March 09, 2016, 04:18:53 AM
Can we control the speed of playing webms?

No.

Hmm all i need to do is to make the face/eyes more visible to avoid that weird effect that the eyes are too separate i guess..

Yeap. They look somewhat blank in some pics. BJ pic is perfectly fine though.
Title: Re: General Discussion
Post by: lamoli on March 09, 2016, 04:24:28 AM
Hmm lots of work again in RL could you tell me whats needed for a pack ( the minimum as action/clothing/expression ) that way ill focus on those first and make 1 then i only need to tweak the base face and add related hair to make another girl and from that point its 10 min to make that pack as the templates will be fixed by then..


Of course when i have more time ill expand the templates adding more action that need cleaning/fixing ( got 60 in total ) but might need like the same action but with different poses else every char will be doing the same thing with the same pose and only head will chabge.. ( this should be avoided somehow ) and as i said before im good at working with 3D making things from nothing but i got like 10/100 on creativity lol so if you can provide me with extra pictures of the main actions this would be nice..
Title: Re: General Discussion
Post by: lamoli on March 09, 2016, 04:30:06 AM
Yeap. They look somewhat blank in some pics. BJ pic is perfectly fine though.


What do you mean by that.. too much lighting ? or the fact that we see too much empty space ? ( atm its the same lighting on all poor render quality as its just to clean/fix the previous templates iv done ) of course once you tell me whats needed as minimum action/clothing/expression ill finish those fast and tweak everything like posing hair adjusting lights and making good quality renders..
Title: Re: General Discussion
Post by: DarkTl on March 09, 2016, 05:12:19 AM
That's a shame, many video players have the function of changing playing speed.

For some spells I used algorithms like playing animation from beginning to end and then from end to beginning. If renpy doesn't support this either, more complex gifs will be needed for such cases.

Hmm lots of work again in RL could you tell me whats needed for a pack ( the minimum as action/clothing/expression ) that way ill focus on those first and make 1
Besides sex scenes, profile pictures with various emotions, backgrounds and clothes are needed.

At very least angry, indifferent, sad and happy are needed for a pack. Most big packs usually have angry, confident, indifferent, happy, sad, scared, shy, suggestive, tired and uncertain profile pic too.

Everyday clothes are default ones, most characters have them, except random ones. For random characters you can pick them freely as long as they are not too formal or revealing. Formal is an elegant dress of some kind, revealing shows more skin than usual one. For beach a swimsuit or bikini of any kind will be useful.

For rest scenes either indoor clothes or lingerie will be useful.

Other clothes are quite optional.

The most useful backgrounds are white or any other light color (multipurpose), general indoors (inside a generic building), living indoors (living room), beach, general outdoors (usually just blue sky as background), dungeon (especially for rape scenes).

You don't have to make all possible combinations for sex pics, they could have two types: with white bg and with living room. These are the most common cases after all. And of course you don't have to do all emotions for sex too, we need normal ones (ecstatic) and rape ones (sad). There could be any clothes, but for the sake of variety different clothes for different sex scenes are welcomed (like revealing/nude/lingerie).

You could try to make a pack how you see it suitable, and then I'll tell you what should be added to make it better. It's kinda difficult to describe it from the scratch, since I never did it before, instead making packs from already existing pics  :)
Title: Re: General Discussion
Post by: Xela on March 09, 2016, 08:19:04 AM

What do you mean by that.. too much lighting ? or the fact that we see too much empty space ?

On some pics eyes have this "blank" look, as if she's thinking about something else.

That's a shame, many video players have the function of changing playing speed.

For some spells I used algorithms like playing animation from beginning to end and then from end to beginning. If renpy doesn't support this either, more complex gifs will be needed for such cases.

As I've said, we don't have to convert everything at once. Webm is a new, really cool tool we can use but everything else is still in play as well.

The thing is that Ren'Py is using music channels to sync the video stream... until recently, when Ren'Py was updated to a much better media kit, it was not possible even to start a track at other timestamp than 0... now it is and a lot of other things as well but codebase needs to catch up and that is slow and tricky, especially while trying to keep sh!t backward compatible all the time.

====>>>
I don't know when we'll see another media update, but until then, we'll work with what we got. I even had to code no loop functionality myself (even though it was requested 3 times and would take 5 seconds to add), release version can only run looped animation.

Maybe PyTom is planning a better media player at some point and don't want to bother trying to make the older one work or plainly wants to hack at something else...
Title: Re: General Discussion
Post by: lamoli on March 09, 2016, 08:32:14 AM
On some pics eyes have this "blank" look, as if she's thinking about something else.


Right.. yeah didnt give expression in all the pose.. i will do that once i get the ones i can manage to get for minimum pack ready to be used for any new head/hair morphs


But well i got the thinking of something else expression ready then lol
Title: Re: General Discussion
Post by: DarkTl on March 09, 2016, 08:43:17 AM
Is it possible somehow to use multiple values for a flag? I mean something like char.set_flag("gm_stripped_today", value1=day, value2=amount).
Title: Re: General Discussion
Post by: Xela on March 09, 2016, 08:48:37 AM
Is it possible somehow to use multiple values for a flag? I mean something like char.set_flag("gm_stripped_today", value1=day, value2=amount).

You could use a container:

char.set_flag("gm_stripped_today", {"day": day, "times": amount})

or

char.set_flag("gm_stripped_today", [day, amount])

There could be a better way, I don't remember if I coded something like this specifically.

Edit: Doesn't look like it... we have counters and union sets but nothing specific for multivalues. The above should still work.
Title: Re: General Discussion
Post by: lamoli on March 09, 2016, 10:14:21 AM
Im still bad with expressions but im trying lol..


(http://s20.postimg.org/vjp8ol27t/Doggy_Ass.jpg) (http://postimg.org/image/vjp8ol27t/) (http://s11.postimg.org/r945fdg5r/On_Top.jpg) (http://postimg.org/image/r945fdg5r/) (http://s18.postimg.org/imbhas9r9/Titjob.jpg) (http://postimg.org/image/imbhas9r9/) (http://s18.postimg.org/yw1ndokf9/Footjob.jpg) (http://postimg.org/image/yw1ndokf9/)


Could use recomendation for the clothing they should wear.. like the footjob 1 could use stockings and some dominatrix clothing set as its the dominatrix pose ( witch match that girl personality )
Title: Re: General Discussion
Post by: lamoli on March 10, 2016, 05:36:00 AM
So to resume so far i have..

Profile with expression with some clothing: Shopping, Sing, Waitress, Strip, Exe, Dancing, Cleaning (7/13)

(http://s20.postimg.org/406ta43g9/Shopping.jpg) (http://postimg.org/image/406ta43g9/)(http://s20.postimg.org/jtbrqkqd5/Shopping2.jpg) (http://postimg.org/image/jtbrqkqd5/)
(http://s20.postimg.org/l1znc7ibd/Sing.jpg) (http://postimg.org/image/l1znc7ibd/)(http://s20.postimg.org/737jdhiex/Sing2.jpg) (http://postimg.org/image/737jdhiex/)
(http://s20.postimg.org/vxr17k395/Waitress.jpg) (http://postimg.org/image/vxr17k395/)(http://s20.postimg.org/jum7qwlmh/Waitress2.jpg) (http://postimg.org/image/jum7qwlmh/)(http://s20.postimg.org/dnatqqpvd/Waitress3.jpg) (http://postimg.org/image/dnatqqpvd/)
(http://s20.postimg.org/fo0v4nsl5/Strip.jpg) (http://postimg.org/image/fo0v4nsl5/)
(http://s20.postimg.org/qdjnhkn7d/Exe.jpg) (http://postimg.org/image/qdjnhkn7d/)
(http://s20.postimg.org/s6mk5w8e1/Dancing.jpg) (http://postimg.org/image/s6mk5w8e1/)
(http://s20.postimg.org/eqzjgfzw9/Cleaning.jpg) (http://postimg.org/image/eqzjgfzw9/)

Rest / Mast: Bathing, Restbeach, sleep, Mast1, Mast2 (5/5)


(http://s20.postimg.org/qzvlae16h/Bathing.jpg) (http://postimg.org/image/qzvlae16h/)(http://s20.postimg.org/vao1b7aex/Restbeach.jpg) (http://postimg.org/image/vao1b7aex/)(http://s20.postimg.org/e8v793vjt/sleep.jpg) (http://postimg.org/image/e8v793vjt/)
(http://s20.postimg.org/bmfos64c9/mast1.jpg) (http://postimg.org/image/bmfos64c9/)(http://s20.postimg.org/7c10wkz95/mast2.jpg) (http://postimg.org/image/7c10wkz95/)

Service: Handjob, Titjob, Footjob, Blowjob (4/12) some are for the GirlxGirl

(http://s20.postimg.org/ox696ec1l/Handjob.jpg) (http://postimg.org/image/ox696ec1l/)(http://s20.postimg.org/mtjffmmwp/Titjob.jpg) (http://postimg.org/image/mtjffmmwp/)(http://s20.postimg.org/ij4rk1htl/Footjob.jpg) (http://postimg.org/image/ij4rk1htl/)(http://s20.postimg.org/j23vtg515/Blowjob.jpg) (http://postimg.org/image/j23vtg515/)

Sex: Ontop, Doggy, Onside, Sitting (4/7) some are for GirlxGirl

(http://s20.postimg.org/7yuu1gdbt/On_Top.jpg) (http://postimg.org/image/7yuu1gdbt/)(http://s20.postimg.org/vjp8ol27t/Doggy_Ass.jpg) (http://postimg.org/image/vjp8ol27t/)(http://s20.postimg.org/i97eigsc9/onside1.jpg) (http://postimg.org/image/i97eigsc9/)(http://s20.postimg.org/y666f6kqh/sitting.jpg) (http://postimg.org/image/y666f6kqh/)

Rape / Bondage: (4/9)

(http://s20.postimg.org/pndw8i3qx/Rape_FM.jpg) (http://postimg.org/image/pndw8i3qx/)(http://s20.postimg.org/xcaqk848p/Bdsm11.jpg) (http://postimg.org/image/xcaqk848p/)(http://s20.postimg.org/ade11b88p/Bdsm3.jpg) (http://postimg.org/image/ade11b88p/)(http://s20.postimg.org/xulx6my61/Tied11.jpg) (http://postimg.org/image/xulx6my61/)

I will update the profile parts with some clothing i have

I still need to pose the hair on nearly all of em.. and i need to make more clothes..
Title: Re: General Discussion
Post by: Xela on March 10, 2016, 07:09:11 AM
Not bad! ihmo the girl that you worked on few month back was just as good. This will make a good random pack if it ever gets finished.

Have you looked into how difficult it may be to render part of the images separately (like hair for example)?
Title: Re: General Discussion
Post by: lamoli on March 10, 2016, 07:48:36 AM
Have you looked into how difficult it may be to render part of the images separately (like hair for example)?

Part of the image separately woulnd be a good idea as everything is exposed to a cetrain lighting/diffuse.. so it would look bad.. but we could add any type of hair/clothing/accesoires as transparent over the main base img as long as it was redered in the same scene at least once.. so in short every template will have to render once all those thing to be added/swaped..
Title: Re: General Discussion
Post by: Xela on March 10, 2016, 08:26:36 AM
so in short

What does this mean in terms of additional time/effort?
Title: Re: General Discussion
Post by: lamoli on March 10, 2016, 10:06:38 AM
What does this mean in terms of additional time/effort?


As Effort its adjusting hair/clothing pose for the first time you want to render them like 5-10 min the first time then Time is related to render time the renders i make now takes around 30 sec.. but thats like the lowest quality ever.. ( higher means less grain.. the dark dots that appears on the render )
Title: Re: General Discussion
Post by: Xela on March 10, 2016, 10:10:06 AM
Ok, it's prolly not worth it for now.

If the rendering can be automatized (installing soft and script with all the resources required), we can help with renders.

Title: Re: General Discussion
Post by: DarkTl on March 10, 2016, 10:52:36 AM
I think I did something similar before in the code, but forgot where and how... How can I access the global day value that we use as the number of ingame days inside a python function without passing it from renpy?

So to resume so far i have..
They look awesome  :)
Title: Re: General Discussion
Post by: Xela on March 10, 2016, 11:03:34 AM
I think I did something similar before in the code, but forgot where and how... How can I access the global day value that we use as the number of ingame days inside a python function without passing it from renpy?

def func():
    global day # And day becomes as if you were working with in in global scope. (this is a way compatible to other programming languages)

This will also work:

def func():
    store.day = 100 # sets global day to 100.

def func():
    if day > 100: # checks if the global day is larger than 100 unless you previously defined a local day variable.

if you did:

def func():
    if store.day > 100: # this will always check the global day.
Title: Re: General Discussion
Post by: Xela on March 10, 2016, 05:26:30 PM
I played some more with the webm, red channel of the mask movie is used as a transparency channel for the original webm movie. That's why the cataclysm worked so well (although I am not 100% sure why the black background is removed).

Basically it's quite limiting unless you know how to edit movies and gifs really well. Truly transparent gifs might be easier to work with... same with filmstrips.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2016, 03:01:14 AM
Webms are problematic because it's a closed format compared to filmstrips that could be edited freely, and because we don't have enough control over playing them (speed, direction).
When combined together, these two issues become a very big problem.
Title: Re: General Discussion
Post by: Xela on March 11, 2016, 07:06:18 AM
Yeah, they are like a bit like gifs but slightly more bothersome with the advantage of being smaller and working with more colors. I think I've understood where to use them and how.
Title: Re: General Discussion
Post by: deadkingblue on March 11, 2016, 10:05:43 AM
Rendering parts indiviually, like hair, face and breast size is something already done in HHS+ which is still under developement. Also is actually seems rather easy code wise and the art is made using a program called kisekae.<-- prollly spelled wrong. Anyway a paperdoll system is something cool, but i don't think it fits the style of this game completely. While i don't think it would be a bad addition, i think that the effort while minor wouldn't add enough to the game for it to be worth it. Unless you used a randomly genereated paperdoll system for a random combat style enemy encounter with capture options and added a rendered status screen with paperdolls for the girls that show breast size (which would be changeable) and equiped items. So it would requier alot of work to add a paperdoll system. Also I will still fix grammar and stuff when i have time.  :)
Title: Re: General Discussion
Post by: Xela on March 11, 2016, 10:12:35 AM
Yeah, it's prolly not worth it if we're to mix packs. It's very time consuming to render so many poses and hair and/or clothing separately for them all.
Title: Re: General Discussion
Post by: DarkTl on March 11, 2016, 02:01:04 PM
Still, rendering is the only way to create packs for rare characters, and probably for most non-anime characters too.

Also I will still fix grammar and stuff when i have time.  :)

Btw most grammar errors get caught by notepad+ spellchecker plugin. I'm more concerned about how natural lines sound, as a non native speaker.
Title: Re: General Discussion
Post by: lamoli on March 12, 2016, 04:45:22 AM
Dark can you check my last post on previous page i updated it a bit more.. from there you could tell me whats missing for a pack


For profile expressions it would be nice if you could provide me with pictures ( to see what we need to see of the char like full body or closeup on face )


Also i need more samples for every action.. those are the ones you provided in last time.. but i need more if i intend to do more than 1 girl ( i could change the camera angle to fake it but it would be best if its a new pose.. )
Title: Re: General Discussion
Post by: DarkTl on March 12, 2016, 05:24:30 PM
All my samples were taken from my packs. If you need inspiration for poses, emotions or clothes, you can easily download them all  :)

Profile pictures don't have strict rules. An example (https://www.dropbox.com/s/04w9mxc0hi8s4jx/0522-nn-ee-c4-l3-lc-pr.jpg?dl=0) of profile pic with revealing clothes. We don't care much about pose, angle or how much body parts we show, they could be any as long as the picture is non nude and pretty. Moreover, some pictures in packs belong to both profile and rest, an example (https://www.dropbox.com/s/gvg8miuk6mkh8ko/0120-nn-e6-c1-l4-le-pr-pc.jpg?dl=0). The character is relaxed enough for rest, but is not sleeping or something, so it's suitable for profile too. I'm telling it to show that profile pics have quite wide frames. But of course most pictures are like this (https://www.dropbox.com/s/gtu789hsq2ermn6/04C3-nn-e5-c1-l2-pr.jpg?dl=0), when the character is simply standing or doing something minor.

Girlmeets pics are basically profile pics that suit cases when you meet the character somewhere, or anywhere in the case of neutral background. An example (https://www.dropbox.com/s/it2zb5eskl1x0rg/0110-nn-e2-c1-l2-pr-pa.jpg?dl=0) with almost neutral background. Character is usually much closer to the camera, thus quite often we don't see legs or even lower body because of it. She cannot sit/lie, only standing pics. And she looks in the camera.  An example (https://www.dropbox.com/s/hqmaj1bfck7io5a/00D7-nn-e6-c4-cb-l3-pr-pa.jpg?dl=0) of beach-only girlmeets picture with another camera angle.
Thus, most girlmeets pics can be used for profile too. But only some profile pics can be used for girlmeets.

Here (https://mega.nz/#!i50FwAQK!fGF1G6fsq0Af_M9xZhH-nYAxGEpEJHsDRuRzh-sGFAw) is archive with many examples of actions. I built it automatically with the help of file masks, so there could be a few clearly wrong images.

As for your pack, you could try to work with emotions. Stuff like shy or ecstatic very often implies blushing, so it might require another texture for faces, I suppose?
Title: Re: General Discussion
Post by: Xela on March 12, 2016, 05:53:54 PM
It would be nice if she smiled a little bit :)
Title: Re: General Discussion
Post by: lamoli on March 13, 2016, 06:16:18 AM
It would be nice if she smiled a little bit :)


Hmm this girl is the not smiling type but yeah i need some with smiling as well..
Title: Re: General Discussion
Post by: lamoli on March 13, 2016, 06:29:48 AM
As for your pack, you could try to work with emotions. Stuff like shy or ecstatic very often implies blushing, so it might require another texture for faces, I suppose?


Well its simpler than that i have the base face texture then i put makeup/brows/blush as needed using image layers..
Title: Re: General Discussion
Post by: DarkTl on March 13, 2016, 12:23:07 PM
What's this for?
Quote
    def ec(d):
        # Not used atm.
        """
        Expects a dict of k/v pairs as argument. If key is a valid trait, the function will check if character has it.
        Else, the key will be evaluated and value added to the choices.
        This will return a single random choice from all that return true (traits and evals).
        """
Title: Re: General Discussion
Post by: Xela on March 13, 2016, 12:40:37 PM
What's this for?

It's a function I wrote for interactions/girlsmeets module but Thewlis came up with a version of the same soon thereafter that you deemed more appropriate. Basically it takes a dictionary as an argument and does the following:

{"Fire": "[char.name] blasts you away with a fire spell!", "char.disposition < 300": "She hits punches you in the nose!"} (or whatever the char in interactions is bound to, I don't remember anymore). The functions responds automatically and returns True if a condition for response was met and False if not so. Thewlis's design returned the result (if I recall correctly), leaving more freedom of a response to the modder. I left it just in case that I wanted to use it myself.
Title: Re: General Discussion
Post by: DarkTl on March 13, 2016, 02:16:47 PM
I see.
Looks like we had this function all this time but never used it  :)
Quote
    def d(value):
        """
        Checks if disposition of the girl is any higher that value.
        """
        return char.disposition >= value
Anyway, I tend to use complex checks like if dice(char.disposition*0.5), so it's probably not needed.
Title: Re: General Discussion
Post by: Xela on March 13, 2016, 03:38:09 PM
Naming of that func is not very sound since someone may want to use "d" for a character but the concept is sounds, it may be useful and can be renamed of it is not used.
Title: Re: General Discussion
Post by: DarkTl on March 14, 2016, 05:40:39 AM
I'm afraid if we will use such a function, we'll need the same for disposition <=, then just > and < without =, then the same for gold or joy. And eventually we'll have tons of super simple functions with short names and confusing code  :)
Title: Re: General Discussion
Post by: Xela on March 14, 2016, 08:04:59 AM
Noted.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2016, 08:31:22 AM
I'd like to try to run a filmstrip animation during GMs for some types of interactions, probably near the character portrait.
Title: Re: General Discussion
Post by: Xela on March 15, 2016, 09:24:58 AM
Ok, some gfx won't hurt  :)
Title: Re: General Discussion
Post by: DarkTl on March 15, 2016, 12:04:49 PM
Alright, now the fun part...

I'm not sure how well it will look, but I want it to be displayed inside the portrait frame, at the same time with the portrait. Should I just use correct coordinates, or there is a way to tie it to that specific element of gui?
Title: Re: General Discussion
Post by: Xela on March 15, 2016, 12:42:56 PM
Alright, now the fun part...

I'm not sure how well it will look, but I want it to be displayed inside the portrait frame, at the same time with the portrait. Should I just use correct coordinates

Do this first, it's really fast/simple.

or there is a way to tie it to that specific element of gui?

If it looks cool and we take as a general concept, I can cook up some automation.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2016, 12:47:04 PM
Oh, I have an unexpected problem. Portraits are above the animation. While it looks pretty good, some portraits overlap it entirely, so animation should be above the portrait.
Title: Re: General Discussion
Post by: Xela on March 15, 2016, 12:50:12 PM
Oh, I have an unexpected problem. Portraits are above the animation. While it looks pretty good, some portraits overlap it entirely, so animation should be above the portrait.

How do you show the animation? You prolly just have to add:

Code: [Select]
onlayer screens
Or something along those lines. You can also just show in on a screen of a higher zorder but it's messier for testing if done only for testing purposes.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2016, 01:24:50 PM
No, onlayer screens doesn't help with that...
Even more, when I use it, the looped animation keeps playing forever, and even hide doesn't hide it. While without it I don't even need to hide the image, it disappears once the interaction is over and the game jumps to the interactions menu.

Anyway, I pushed it as it is, take a look at the kiss interaction (with lover status to pass all checks at once, Intimacy-> Become Lv testing command). Since we cannot do tricks with camera because we don't know where the face is, we can at least decorate the portrait.
Even if it's impossible to make it work above everything, I still can show it higher, above the portrait in terms of y coordinate.
Title: Re: General Discussion
Post by: Xela on March 15, 2016, 03:36:19 PM
...

I've fixed the animation show (it's timings might be a bit off), it looks really great and there is prolly no need for automation of any kind.

Don't forget to hide the images after you're done with them, that was your issue. Screens layer didn't work because I put the say screen on higher zorder and forgot :(

It looks really great at any rate, maybe we can do something with the picture as well. Like zooming in a bit... but it'll prolly be very tricky due to current code structure (and will prolly be a first good use to the UDD controller I wrote couple of weeks ago).
Title: Re: General Discussion
Post by: DarkTl on March 15, 2016, 03:58:07 PM
Surprisingly, it always hides itself when we return to the interactions menu even if I don't do it (except when I used onlayer screens), so I figured I might as well skip it this time. Probably has something to do with the interaction screen structure.

Zooming of some kind is a must have for hugs anyway.
Title: Re: General Discussion
Post by: Xela on March 15, 2016, 04:26:13 PM
Surprisingly, it always hides itself when we return to the interactions menu even if I don't do it (except when I used onlayer screens), so I figured I might as well skip it this time. Probably has something to do with the interaction screen structure.

Ren'Py (by default) has 4 layers: https://www.renpy.org/doc/html/displaying_images.html#layer

Master layer where Ren'Py script sh!t gets shown most of the time is cleared with scene statement which is run when you enter locations/interactions and etc. That's why it was removed.

Zooming of some kind is a must have for hugs anyway.

Yeah... you're prolly right... I need to think if it's a better idea to use my new class or to rewrite that bit of interactions.
Title: Re: General Discussion
Post by: Xela on March 15, 2016, 06:11:32 PM
I improved the transition between girlsmeets and interaction for now. What I don't like are the messages constantly telling the player what choice he had made (like "You're trying to kiss her"), they feel really out of place.
Title: Re: General Discussion
Post by: DarkTl on March 16, 2016, 01:11:13 AM
Then we need tooltips for interactions options to make clear what they do. Some of them are not intuitive for non devs  :)
Title: Re: General Discussion
Post by: Xela on March 16, 2016, 03:33:25 AM
Then we need tooltips for interactions options to make clear what they do. Some of them are not intuitive for non devs  :)

Which ones are you concerned about? Maybe we can come up with an alternative?
Title: Re: General Discussion
Post by: DarkTl on March 16, 2016, 06:55:06 AM
Buttons are too small for long names. Atm we have big "How she feels" button that doesn't looks good at all. And buttons like "General" or "About Job" that will be quite vague if I remove all lines where we tell what choice player had made. Same for sex, we don't just jump there, we ask the character. But if I change it to propose to have sex or something, it will be too long for sure, and the button will become huge.


That aside, I have a problem with combining renpy and python code. This thing shows needed animation in renpy after we call it.
Quote
    transform interactions_angry_pulse_tr:
        xanchor 0.5 yanchor 0.5
        block:
            linear 0.05 zoom 1.1
            linear 0.05 zoom 0.9
            pause 0.2
            linear 0.05 zoom 1.1
            linear 0.05 zoom 0.9
            pause 0.8
            repeat
           
    transform interactions_sweat_drop_tr:
        xalign 1.0 yalign 0.5 alpha 0.0
        linear 1.0 yalign 0.0 alpha 1.0
       
    transform interactions_scared_lines_tr:
        alpha 0.0
        linear 1.0 alpha 1.0
       
    python:
        interactions_angry_pulse = im.Image("content/gfx/animations/interactions/angry.png")
        interactions_angry_pulse = At(interactions_angry_pulse, interactions_angry_pulse_tr)
        renpy.image("interactions_angry_pulse", interactions_angry_pulse)
        interactions_sweat_drop = im.Image("content/gfx/animations/interactions/uncertain.png")
        interactions_sweat_drop = At(interactions_sweat_drop, interactions_sweat_drop_tr)
        renpy.image("interactions_sweat_drop", interactions_sweat_drop)
        interactions_scared_lines = im.Image("content/gfx/animations/interactions/scared.png")
        interactions_scared_lines = At(interactions_scared_lines, interactions_scared_lines_tr)
        renpy.image("interactions_scared_lines", interactions_scared_lines)
       
image interactions_hearts_flow:
    anchor (0.5, 0.5)
    "content/gfx/animations/interactions/hearts/heart1.png"
    pause 0.1
...
    repeat

label interactions_show_anim_emotion:
    if current_emotion == "angry":
        show interactions_angry_pulse onlayer overlay:
            xpos 180
            ypos 596
    elif current_emotion == "sweat":
        show interactions_sweat_drop onlayer overlay:
            xpos 180
            ypos 596
    elif current_emotion == "scared":
        show interactions_scared_lines onlayer overlay:
            xanchor 0.5
            yanchor 0
            xpos 218
            ypos 577
    elif current_emotion == "love":
        show interactions_hearts_flow onlayer overlay:
                xanchor 0.5
                yanchor 0.5
                xpos 220
                ypos 637
    return
But it requires current_emotion variable which might as well be passed as an argument, and besides I'd like to include this stuff into override_portrait function, where animations can help to replace some missing pics. Meaning it should be a python function, not a renpy call. But I have no idea how to show animations there, especially with additional parameters like xpos.
Title: Re: General Discussion
Post by: Xela on March 16, 2016, 08:41:59 AM
Ok. I'll see if we can merge the portraits with these animations somehow tonight.
Title: Re: General Discussion
Post by: oratorio on March 16, 2016, 09:11:21 AM
Buttons are too small for long names.
Same for sex, we don't just jump there, we ask the character. But if I change it to propose to have sex or something, it will be too long for sure, and the button will become huge.


You could use "proposition" for the sex button. It essentially means propose to have sex but with not so nice undertones (you would proposition someone you thought was a slut, not your girlfriend).
Title: Re: General Discussion
Post by: DarkTl on March 16, 2016, 09:25:11 AM
You could use "proposition" for the sex button. It essentially means propose to have sex but with not so nice undertones (you would proposition someone you thought was a slut, not your girlfriend).
Well, I will use it for whores characters then  :)

Ohhkey, my push directly from a browser was a failure. I hoped it will ask me where to put it, but nope, it just uploaded it silently -_-

There is no need to actually combine portraits and animations directly into one single piece. We may not want animations in some cases, and besides some animations look better when they are not entirely inside the portrait frame. What I need is a python function that will show animations like renpy does at the moment, ideally without the need to hide it manually (again, it's a part of how it works atm). Then I will be able to freely use it for both the portrait function and interactions.

I tried to mess with renpy.show inside python code, but examples from your code are a bit different from my case, so it didn't worked.
Title: Re: General Discussion
Post by: Xela on March 16, 2016, 05:41:24 PM
Just got back home :(

It's not possible to show the animations over portraits without hiding them, as I've explained, we have to show them on a layer not cleared by scene. I could prolly come up with a system but I doubt that it's worth the effort.

As for the python function, I need more info on how it is supposed to work. It sounds like a job for my new UDD but it's hard to condition everything without the better knowledge of interactions and what you want to happen there.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2016, 06:36:25 AM
Well, you use renpy.show to show animations in many places inside python blocks. I probably just don't know how to do it correctly to make it work  :D

After my last push label interactions_show_anim_emotion shows all animations I was able to find depending on a certain variable. But in order to use it we have to use call, and you can use only one call. While some parts of interactions already work based on calling, so it will be impossible to use the label everywhere.

Thus I believe a function is needed instead of interactions_show_anim_emotion label that does the same thing.
Title: Re: General Discussion
Post by: Xela on March 17, 2016, 08:04:30 AM
Actually you can call as many times as you like (labels will stack), you just need to always return from called labels so not to pollute the call stack.

I'll take a look at what you did today, if I can understand what it was meant for, maybe we can come up with a better way to do it.

Edit: Yeah, I see what you did there, your approach of doing it is great, code just needs to be improved a little bit, there is a bit of unnecessary clutter there and you should have passed current mood as an argument to the label but we can flip it to a function as well, no problem... Maybe it will be useful outside of Ren'Py script at some point (like in Arena for example) and calling a label is a clumsy thing to do.

Those animations would have to be hidden I think, unless you want to automate them to be a part of the say window, we don't know for how long we want to show hearts animation (for example).
Title: Re: General Discussion
Post by: DarkTl on March 17, 2016, 09:54:26 AM
I read about issues with calls a bit at the renpy forum, and I had an impression that too many calls will result in overflowing calls stack. So you say I can call a label, inside it call another label, and as long as they all end with return there won't be a problem?

and you should have passed current mood as an argument to the label but we can flip it to a function as well, no problem...
They are multipurpose. Like, angry animation can be successfully used with indifferent to show displeasure that is too small to be angry. Or with angry portrait to show very strong anger.

Those animations would have to be hidden I think, unless you want to automate them to be a part of the say window, we don't know for how long we want to show hearts animation (for example).
Well, when I tested the hearts animation, it lasted until we hide a line. I mean, I have to call it before every line if I want it to last longer. Like:
call hearts
char.say "ayy"
<animation disappears here after we click left mouse button to show the next line>
call hearts
char.say "lmao"

Probably because the engine hides its screen layer after every line.
Title: Re: General Discussion
Post by: Xela on March 17, 2016, 10:06:30 AM
I read about issues with calls a bit at the renpy forum, and I had an impression that too many calls will result in overflowing calls stack. So you say I can call a label, inside it call another label, and as long as they all end with return there won't be a problem?

No problem, those issues were to bad code structure... it's easy to mess up with loads of calls. I messed up just with a couple at the witches shop a few years ago so I generally don't like using them for complex sequences, this however is a great way of using a called label.


They are multipurpose. Like, angry animation can be successfully used with indifferent to show displeasure that is too small to be angry. Or with angry portrait to show very strong anger.

Yeah, we've already agreed to separate them from portraits.

Well, when I tested the hearts animation, it lasted until we hide a line. I mean, I have to call it before every line if I want it to last longer. Like:
call hearts
char.say "ayy"
<animation disappears here after we click left mouse button to show the next line>
call hearts
char.say "lmao"

Probably because the engine hides its screen layer after every line.

It does no such thing as hiding screen layer on interacts but it will hide the say screen if it was normally shown, it may actually not be a bad idea to add these animations as an extension of the say screen... I'll look into that as well.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2016, 10:59:20 AM
Huh. (https://github.com/Krot2bic/PyTFall)
Items_building_resources.json? Is there something I do not know?  :)
Title: Re: General Discussion
Post by: Xela on March 17, 2016, 11:18:22 AM
Huh. (https://github.com/Krot2bic/PyTFall)
Items_building_resources.json? Is there something I do not know?  :)

Someone is just following the development through a fork, that code is mine. Try to open the building screen and click on StripClub, make sure that you have my testing.rpy file or it may not work.

===
Overlay layer is cleared on every interaction... but do we actually want that? We may want to keep the emotions overlay active through multiple says. I am going to try and put it on a say screen for now. If we don't like it, we can change it later.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2016, 12:21:20 PM
It's inconvenient to keep manually showing animation after every line. If possible, auto hiding should not happen.
Title: Re: General Discussion
Post by: Xela on March 17, 2016, 12:38:23 PM
Ok... so I did what made sense to me, if it is not sound, I'll change the design.

1) Emotions overlay is now shown on the say screen itself, it is always there, only not showing anything in it's default state.

2) If not apparent from the above, it needs to be put in it's default state when not used. It is done with:

Code: [Select]
$ interactions_portraits_overlay.change("default)
command. This design should be superior to showing on overlay screen with auto-hide on grounds of:

- with overlay, it is not possible to have the last animated state persist for options like scared, animation would have to be run every time, which is annoying (or more options would be needed).
- when/if required for animation to persist over multiple say statements, it would have to be called over and over again...
- On say screen version allows better degree of control/customization.

3) I've adjusted all atl instructions to make more sense/be more succinct.

4) My new UDD class called DisplayableSwitcher was used. It can do some really cool stuff like pausing/resuming animations, adjust it's state based off variable, being updated even between interactions, resetting animations and prolly some other stuff.

5) In order to pick animation:

Code: [Select]
$ interactions_portraits_overlay.change("love")
Love can be called like this, it's a repeated animation so we don't really care from which point we start.

Code: [Select]
$ interactions_portraits_overlay.change("sweat", "reset")
Sweat in the other hand has an endstate and must be called with reset, when called without in out setup (other cases may differ), it will go to it's last state.

Other animations like anger are judgement calls...

==>
I think this is it, it is a sound design, you'll never see these animations if say screen is not shown and as long as we don't forget to reset, everything will be fine.

I should prolly do one more adjustment to prevent the say screen to show this when there is no portrait... so narrator can be used without having to default it. I'll also look into merging this with portrait overwrites (I really like this concept). That way we can use it both with overwrites and this add-on overlay system.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2016, 12:58:25 PM
Too bad blushing didn't worked out... I found a very decent transparent png for shy pics, but we cannot know where cheeks are, so it looked very weird in many cases  :D

The next step is probably zooming portraits a bit. Quick and short zooms will be useful for things like grabbing breast, and long and slow ones for hugs.
Title: Re: General Discussion
Post by: Xela on March 17, 2016, 01:05:53 PM
The next step is probably zooming portraits a bit. Quick and short zooms will be useful for things like grabbing breast, and long and slow ones for hugs.

Even if doable, it cannot be a part of an overlay since it's a whole different system.

The thing with the "per character" overlays, there are ways of getting it done but I am not sure which one is best/least amount of effort. Maybe it's not worth the effort... Maybe it is worth it to overwrite Ren'Py's control over portraits completely but it's not going to be easy, if we decide to go with it, I'll prolly have to write a whole bit of custom code for all of this to work.

==>
Edit:

Just had an idea... maybe we can pass the character object to the say screen and resolve sh!t accordingly! Might simplify a bunch of stuff that we want to do :)
Title: Re: General Discussion
Post by: DarkTl on March 17, 2016, 01:50:45 PM
Curious, repo now shows language details. In our case renpy is 97.3% and python is the rest...

Is it difficult to add tooltips to interaction buttons? Or you simply don't like the idea?
Title: Re: General Discussion
Post by: Xela on March 17, 2016, 01:55:38 PM
Curious, repo now shows language details. In our case renpy is 97.3% and python is the rest...

I know, it's bs by the way, we have loads more Python than that but they are prolly basing it off filename extensions and only SimPy is in .py files.

Is it difficult to add tooltips to interaction buttons? Or you simply don't like the idea?

The latter.
Title: Re: General Discussion
Post by: Xela on March 17, 2016, 02:34:47 PM
Oki, another push.

I've added slow_zoom/fast_zoom portrait overlays and made sure that overwrite are bound to characters so in VN mode with multiple chars, they would be easier to use. I may also add an options to use just the one portrait_override method for both at once if desired.

We'll still to be careful thought, before a none Char speaker says something (Like player for example or NPC and etc.), the overlay still needs to be defaulted! But the next time the character speaks, if characters mode was not reset, it will be restored.

I think that this is the best compromise so far using the least code. I'll improve upon code base as we develop during refactoring but while we're still working on this, current setup is best. Let me know if something needs to be added/fixed.
Title: Re: General Discussion
Post by: DarkTl on March 17, 2016, 03:22:20 PM
Looks like the three testing options in intimacy menu that do stuff but don't output any lines give an error now after your last screen update.
Quote
  File "game/library/interactions/pyt - screens - interactions.rpy", line 29, in script
    with dissolve
  File "game/library/screens/classes - screen_actions.rpy", line 347, in get_sensitive
    return self.menu not in pytfall.world_actions.nest
TypeError: argument of type 'NoneType' is not iterable
Title: Re: General Discussion
Post by: Xela on March 17, 2016, 04:04:18 PM
Looks like the three testing options in intimacy menu that do stuff but don't output any lines give an error now after your last screen update.

Fixed, actually that broke a few days back, not even sure why.
Title: Re: General Discussion
Post by: Xela on March 18, 2016, 07:09:16 AM
Your cool victory graphic inspired me to put some time into Arena screens. Loads there has been improved/fixed now :) I cleared white matter from it so it looks a bit dark but still pretty.
Title: Re: General Discussion
Post by: Xela on March 18, 2016, 08:28:04 AM
Yey. Our special characters in pretty fonts trouble should be a thing of the past! We just need to track down all places where might be a problem but Ren'Py's FontGroup thing passed it's test with flying colors so we have a dependable way of fixing it everywhere now. It should already work in say screen :)

===>
I am going to take a quick look at the SM screen next, take out that issue...
Title: Re: General Discussion
Post by: DarkTl on March 18, 2016, 10:09:57 AM
Is there a list of special characters that use a different font? Or on the contrary, anything but normal, common characters uses a different font?
Title: Re: General Discussion
Post by: Xela on March 18, 2016, 10:17:14 AM
Is there a list of special characters that use a different font? Or on the contrary, anything but normal, common characters uses a different font?

I've took a shortcut by simply made all characters that are not Basic Latin (http://jrgraphix.net/research/unicode_blocks.php) to use the default Ren'Py font which has the best support. But it can be customized almost on per-character basis, although coding that would be time-consuming. So it's basically the latter where anything but normal is using the default font. Right now it is just for the TisaOTM which we use the most in the game and obviously only those parts that inherit from styles system (which should be all our cases).
Title: Re: General Discussion
Post by: DarkTl on March 18, 2016, 12:05:57 PM
Based on my experience of writing tags algorithms, in order to handle some cases perfectly we need to calculate the amount of available tags combinations. For example when character has 1 anal and 10 after sex tags, it makes sense to throw after sex now and then instead of showing one anal all the time. Although it's not a priority atm.
Title: Re: General Discussion
Post by: Xela on March 18, 2016, 12:50:28 PM
Although it's not a priority atm.

Yeah, we cannot pollute default  methods with stuff like that any more, I'll write new modules for this and a lot of other concepts in the future.

==>>
- Bestiary is restored.
- SM fixed.
- Loads of other fixes/improvements.

Ginna kill one more issue before I take a well deserved break... got a lot done today.
Title: Re: General Discussion
Post by: DarkTl on March 18, 2016, 12:55:38 PM
I increased the x size of interactions buttons to use longer names there more freely. Initially I wanted to try reducing text size a bit, but didn't found anything like that in pyt-screens-interactions rpy  :)
Title: Re: General Discussion
Post by: Xela on March 18, 2016, 01:06:24 PM
I increased the x size of interactions buttons to use longer names there more freely. Initially I wanted to try reducing text size a bit, but didn't found anything like that in pyt-screens-interactions rpy  :)

I don't really like those buttons there but don't have an alternative at the moment... the buttons are styled, that's why you haven't found text size, they are prolly on a different screen as well.

Ok, it is now possible to review next day after the screen was closed by clicking right mouse button instead of left. That was issue #6, time for a break :)
Title: Re: General Discussion
Post by: DarkTl on March 18, 2016, 04:13:37 PM
I changed interactions mechanics a bit. There is now a separate limit for every single interaction option based on randint and some other things, like in AA games basically. No more spamming is allowed.
The amount of gained disposition is not just a randint anymore. It becomes higher with high joy, lower with every next try if you use the same option, and lower when you already have pretty high disposition.
The chance of successful interaction option is based not just on current disposition, but also on hero charisma and amount of tries.
Title: Re: General Discussion
Post by: Xela on March 18, 2016, 07:08:44 PM
Great, we'll get it just right with time... maybe a special module to handle all the options. We just need to setup a working system first and see if it will be worth generalizing it later. I'll see if I can put a few more hours into it tonight but headache is killing me :(
Title: Re: General Discussion
Post by: lamoli on March 19, 2016, 02:42:50 AM
Yes interaction gets better and better but something is missing.. you can improve disposition and need to reach a certain number to be able for some ask/result to be working or get a better chance for it to work.. this is the ( normal good approach.. )

What about ( and probably repeat myself ) the Evil type one.. like corrupting the character using blackmail or some other corruption method ( just played with HHS+ and liked their blackmail/hypnosis/drugs method lol ) well would have to ask to a investigator like character to find the dirt on that person if any to get the blackmail working or train that hypnosis skill like that would reduce disposition if it fails ( so at some point if you fail too much the target will really hate you thats where the blackmail would be even more useful as if she has it you could make her accept against her will or if not just balance her disposition with the ( normal good interaction ) so it does not fall too far

I think corruption/blackmail would be really great for unique girls as it would feel better to make that girl yours more than in just 1 way ( when ever she likes you because you do/say good things or be able to exploit the dirt she has / control her hypnotizing her making her likes you more ( dispo up ) or some other things ) for strong personality girls evil option seems more right to me lol as for now i find it a little boring to max any girl dispo then nothing left to do..

Just imagine if at start we do not know the girl personality ( witch sound right by me as youv just met her ) you could reveal it talking to her or know about it asking other who know about her or with a investigator like npc type.. finding it out should helps you know the interaction that would work better on her ( better chance of it working as thats what archetypes are for ) and for the evil aproach finding it out could also give better options to corrupt her..
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 05:35:37 AM
Yes interaction gets better and better but something is missing.. you can improve disposition and need to reach a certain number to be able for some ask/result to be working or get a better chance for it to work.. this is the ( normal good approach.. )

What about ( and probably repeat myself ) the Evil type one.. like corrupting the character using blackmail or some other corruption method ( just played with HHS+ and liked their blackmail/hypnosis/drugs method lol ) well would have to ask to a investigator like character to find the dirt on that person if any to get the blackmail working or train that hypnosis skill like that would reduce disposition if it fails ( so at some point if you fail too much the target will really hate you thats where the blackmail would be even more useful as if she has it you could make her accept against her will or if not just balance her disposition with the ( normal good interaction ) so it does not fall too far

I think corruption/blackmail would be really great for unique girls as it would feel better to make that girl yours more than in just 1 way ( when ever she likes you because you do/say good things or be able to exploit the dirt she has / control her hypnotizing her making her likes you more ( dispo up ) or some other things ) for strong personality girls evil option seems more right to me lol as for now i find it a little boring to max any girl dispo then nothing left to do..

Just imagine if at start we do not know the girl personality ( witch sound right by me as youv just met her ) you could reveal it talking to her or know about it asking other who know about her or with a investigator like npc type.. finding it out should helps you know the interaction that would work better on her ( better chance of it working as thats what archetypes are for ) and for the evil aproach finding it out could also give better options to corrupt her..

I agree with all of it but not for the next release. I think that even in case of HSS+, they write concepts. We don't, we prototype with Python/Ren'Py script and then improve upon that :)

For now it's more important to rip lines and test concepts because at one point I'll write Char UI module that will help us to track interactions, mood, dispositions and etc. on per character basis. Interactions module in general will also need some luv. So for now we need lines/simple concepts that will serve for the next release and then we'll generalize/improve the system through a class that can be used everywhere (throughout all modules).

===>
Prolly gonna have some good time for coding again today (finally managed to put in almost 9 hours yesterday).
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 06:25:59 AM
...

I noticed in your last push that you do this:

Code: [Select]
hero.exp += randint(2, 4)
It is almost meaningless at higher levels, so better:

Code: [Select]
adjust_exp(hero, randint(2, 4))
or just:

Code: [Select]
hero.adjust_exp(randint(2, 4))
It's prolly only temporary as well... but it'll adjust for levels inflation best it can.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 07:08:19 AM
Yeah, I know that "evil" options are needed too. The problem is, I cannot rip lines for such options because I don't know any games with them. In Illusion games they are either very, very basic and limited or not translated from Japanese.
So lines should be written entirely by us, ie me  :D

I write lines much better now thanks to my experience in developing, but still it will require a lot of time to do it from the scratch without any base.

I noticed in your last push that you do this:

Code: [Select]
hero.exp += randint(2, 4)
It is almost meaningless at higher levels, so better:
I know. I don't think that interactions should be a reliable way to level up during the whole game. At least basic ones. Maybe advanced ones like sex or dating should be scaled.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 07:09:41 AM
Update ND screen GUI #24

I'll prolly do this one next... gonna think about for a bit cause this is not an easy issue to take out (loads of logic/sorting involved).
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 07:53:07 AM
If you preparing for the next release, maybe it's time to fix #107?
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 08:08:58 AM
If you preparing for the next release, maybe it's time to fix #107?

Not really... I just want to take out some of the persistent issues that are beginning to piss me off. Jobs are in a good place but we're still missing a couple of those. I also want SE to work before next release, although writing logic to fill Gismo's new interface might prove really, really time consuming (ALT is to just fall back to old, working design).

#107 is a good candidate for taking out as well, gonna take a look at that after the ND thing is done. I think that the way to do that is presort the data using a dedicated function and then use that data in the ND screen.

The reason I dropped jobs for a while and started hacking at other things is that there are too many distraction all over the game and the code and there is a constant need to study/circumvent that. We changed the main concept from a simple SimBro design to WM and then to something a lot more complicated than even that. Traces off older logic are left all over the code and a lot of that is not compatible with the new design. To make it worse, there are still older coding approaches left all over the place that would have served SimBro and sometimes even WM concepts perfectly but are no longer acceptable because it plainly requires more complex and confusing code to do simple stuff.

Codebase is getting a lot, lot better and easier to work with, but we're not there yet :( We will not be there for the next release either but after all the bugs in the release are fixed and I do the next major refactoring effort, that's where I believe the code base really become "PyTFall" instead of that merged with "SimBro"/"WM2" designs.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 09:44:26 AM
Damn.. this ND thing is a lot of sorting :(

I am not sure how to do it anymore, we can no longer just check for class because now classes do not specifically determine what the worker is doing. Rest cannot be checked like it was before at all... we basically checked which of the class sorted chars had rest/auto-rest as a job, that cannot be done anymore either.

Maybe:

There are two "ok" ways I can think of without rewriting the design:

1)
Service (SIW + Servers) / Warriors / Managers / IDLE

Where IDLE means None action + normal rest. Then for Resting row we add all auto-rest action under the classes and normal rest count for IDLE.

2)
Service / SIW / Warriors / Managers

Where resting row is auto-rest only... and normal rest is not reported at all.


In both cases top row are active actions taken from jobs, no longer classes.

I like option one cause it provides more data but may not be immediately understandable so I'll be coding that one unless someone comes up with a better idea or makes a good argument for 1).
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 09:53:19 AM
I'm confused. I have two functions that check how well the character is feeling before engaging in interaction. interactions_check_for_bad_stuff checks for major issues and jumps to "girl_interactions_end" if something's wrong.
interactions_check_for_minor_bad_stuff checks for minor stuff and with a certain probability jumps to "girl_interactions".

Except the latter one doesn't jump anywhere like it should. Even though it ends with renpy.jump("girl_interactions").
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 10:05:16 AM
Except the latter one doesn't jump anywhere like it should. Even though it ends with renpy.jump("girl_interactions").

Best I can tell is that it does. Which part are you having problem with? You don't really have to pass char as argument to those functions btw.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 10:16:38 AM
I changed it a bit to use new lines for tired chars and set dice to 100 for testing, and gave a character 39 vitality.
Quote
    def interactions_check_for_minor_bad_stuff(char_name): # we check minor issues when character might refuse to do something based on dice
        if (not("Pessimist" in char_name.traits) and char_name.joy <= 25) or (("Pessimist" in char_name.traits) and char_name.joy < 10):
            if dice(hero.charisma-char.character) and dice(80):
                narrator(choice(["Looks like she is in a bad mood, however you managed to cheer her up."]))
                char_name.disposition += 1
                char_name.joy += randint(3, 6)
            else:
                narrator(choice(["Looks like she is in a bad mood today and not does not want to do anything."]))
                renpy.jump ("girl_interactions")
        elif char_name.effects["Down with Cold"]['active']: #if she's ill, there is a chance that she will disagree to chat
            if dice(hero.charisma-char.character) and dice(80):
                narrator(choice(["Looks like she is not feeling well today, however you managed to cheer her up a bit."]))
                char_name.disposition += 2
                char_name.joy += randint(1, 5)
            else:
                narrator(choice(["She is not feeling well today and not in the mood to do anything."]))
                renpy.jump ("girl_interactions")
        elif char_name.vitality < 40 and dice (100):
            renpy.call ("interactions_refused_because_tired")
            char_name.disposition -= randint(0, 1)
            char_name.vitality -= randint(1, 2)
            renpy.jump("girl_interactions")
Now it should give a tired line from interactions_refused_because_tired and stop the interaction. Instead it gives tired line, then returns to the place where I called the function, and the interactions continues as if she had enough vitality. I mean any interaction where interactions_check_for_minor_bad_stuff(char_name) is used.

It's possible that it never worked as intended, I just didn't noticed it.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 10:24:14 AM
Btw text replacement doesn't work with characters lines (I dunno if it should already). ♪ characters are not shown.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 10:31:51 AM
Btw text replacement doesn't work with characters lines (I dunno if it should already). ♪ characters are not shown.

I'll take a look...

This doesn't exist in my file:

Code: [Select]
renpy.call ("interactions_refused_because_tired")
It's not something you want to do.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 10:40:13 AM
Btw text replacement doesn't work with characters lines (I dunno if it should already). ♪ characters are not shown.

Somehow the style was still using an old, direct path to the font instead of the new object. It's fixed now.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 10:46:09 AM
Yeah, looks like calls are bad for python after all.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 10:49:34 AM
I think there is a latency in the arena minigame between click and stop...
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 10:51:11 AM
Yeah, looks like calls are bad for python after all.

It's Ren'Py concept, you call a label when you want to return to the last statement from the label you called from. When used in Python, it still follows the same concept so even after 1 000 000 python lines of code, it'll still fall back that statement in a label where the python statement had started making it of a limited use.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 10:54:29 AM
I think there is a latency in the arena minigame between click and stop...

There shouldn't be, even if there is, I am prolly not gonna try and fix that for the release. Minigame should have been a UDD, not a screen. Although even the current version can prolly be improved, maybe by removing a button in favor of just a click. Button doesn't work properly anymore after the SL rewrite.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 11:02:51 AM
For minigame I'd prefered something like, let's say, picking 3 cards from 9 or more upturned cards. Some of them give hp, some mp, some nothing. Gives a lot of freedom for various bonuses too.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 11:05:47 AM
For minigame I'd prefered something like, let's say, picking 3 cards from 9 or more upturned cards. Some of them give hp, some mp, some nothing. Gives a lot of freedom for various bonuses too.

Yeah, that we can code in at some point as well :)
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 11:13:51 AM
In my version I use incompatible with the current game rchars data files. They try to use our races icons like unique characters do, but fail and give CTD every time I go to any random girl screen. Iirc you use older versions of data files, where random chars use unknown race type by default and don't give CTDs.
So I'm interested in fixing #107 more than you  :D
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 11:19:55 AM
In my version I use incompatible with the current game rchars data files. They try to use our races icons like unique characters do, but fail and give CTD every time I go to any random girl screen. Iirc you use older versions of data files, where random chars use unknown race type by default and don't give CTDs.
So I'm interested in fixing #107 more than you  :D

I am fairly certain that I am using your data files and rchars work for me just fine :) I am not have the latest version thought but it would be weird if you changed them ahead of scheduled and I'll need to know what you changed them to before taking out #107. In any case, I am not even close to taking out the ND thing yet (got distracted a little bit and it's sorting is pissing me off).
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 11:26:26 AM
Rchar files start with
Quote
    "id": "2k_tan",
    "desc": "Semi androids, semi digital creatures created by a mad scientist a long time ago with unknown purpose.",
    "race": "Digital Android"
And then at some point we give them base races, ie
Quote
    "random_traits": [
...
    ["Android", 100],
...
    ],
That leads to
Quote
  File "game/library/screens/character_profile.rpy", line 9, in script
    with dissolve
  File "game/library/screens/character_profile.rpy", line 141, in execute
    screen char_profile():
  File "game/library/screens/character_profile.rpy", line 141, in execute
    screen char_profile():
  File "game/library/screens/character_profile.rpy", line 155, in execute
    if girls:
  File "game/library/screens/character_profile.rpy", line 220, in execute
    frame:
  File "game/library/screens/character_profile.rpy", line 226, in execute
    has vbox
  File "game/library/screens/character_profile.rpy", line 346, in execute
    vbox:
  File "game/library/screens/character_profile.rpy", line 349, in execute
    if stats_display == "main":
  File "game/library/screens/character_profile.rpy", line 393, in execute
    fixed:
  File "game/library/screens/character_profile.rpy", line 407, in execute
    $ img = ProportionalScale(trait.icon, 100, 100)
  File "game/library/screens/character_profile.rpy", line 407, in <module>
    $ img = ProportionalScale(trait.icon, 100, 100)
AttributeError: 'unicode' object has no attribute 'icon'
If I remove "race": "Digital Android", everything works.

Meanwhile uchars use race line too, and work flawlessly.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 11:29:35 AM
Oki, I'll keep this in mind if I get to 107 tonight.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 12:27:35 PM
I don't understand how to rotate picture not around the center. I'd like to show wiggling, ie rotate back and forth around center bottom of the picture.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 12:33:26 PM
I don't understand how to rotate picture not around the center. I'd like to show wiggling, ie rotate back and forth around center bottom of the picture.

Look at our circle_around atl instructions, those should give you a clue.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 01:05:24 PM
Well, it circles around just fine for me too, but I need to rotate stuff while keeping the same coordinates  :)

Seems like there should be xaround and yaround for that purpose, but they don't work and no one cares. (http://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=17308)
Rotate always ignores anchors. Transform_anchor True doesn't change it.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 01:14:00 PM
I prolly don't understand what you're trying to do then... or maybe I do and it cannot be done in a way I expected it could...
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 01:18:10 PM
Rotate always rotates around the center. So far I cannot change it.
I want to rotate around anchor 1,1.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 01:34:55 PM
No idea, I never tried it. Hold on.

Edit: No idea... I can't find an easy answer.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 02:22:23 PM
Yeah.. I think something along these lines might be the key:

Code: [Select]
transform rotate_around():
    subpixel True
    around (200, 200)
    angle 260
    radius 100
    linear 2 clockwise circles .5 rotate 180
    angle 90
    linear 2 counterclockwise circles .5 rotate 0
    repeat
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 02:35:57 PM
That code moves along the parabola -_-

Looks like yzoom has the same problem. It zooms with anchor 0.5, 0 no matter what.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 02:39:22 PM
That code moves along the parabola -_-

Looks like yzoom has the same problem. It zooms with anchor 0.5, 0 no matter what.

What do you want exactly? Can you draw lines in the canvas or find some video of the same?
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 02:55:58 PM
Is this (http://www.progimp.ru/i/articles/upload/2013/08/1607/31.gif) good enough?  :D
See, it stays still yet moves back and forth. Your code moves the whole image.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 03:32:50 PM
So does your example. Radius needs to be set to the half of the image height. Also I f@cked up the first angle a little bit, it needs to be 270, not 260 :(

Actually no, your example does something weirder... I am almost sure that it's like setting the radius to 40% of the displayable height, instead of 50% like I've suggested above.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 04:23:43 PM
Man.. I've been at it for almost 3 hours and still just beginning to understands what's what. I got the "doll" movement exactly like on the picture, I now need to know what kind of the movement you're exactly looking for.
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 04:37:35 PM
I got it (probably), my mistake was in using clumsy circles statement while angle should have been used:

Code: [Select]
transform rotate_around1():
    subpixel True
    around (200, 200)
    angle 0
    radius 50
    rotate 0
    linear 2 clockwise angle 90 rotate 90
    repeat

Edit:
Yeah... this looks like a winner with decent degree of control of what's going on...
Title: Re: General Discussion
Post by: DarkTl on March 19, 2016, 05:03:13 PM
Portraits animations are a very promising way to enliven all types of lines and replace missing portraits. Too bad default renpy animation functions don't support half of their methods...

What about yzoom and anchors?
Quote
        block:
            linear 1 yzoom 1.1 anchor (0.5, 1)
            pause 0.1
            linear 1 yzoom 0.9 anchor (0.5, 1)
            repeat

The top edge remains in place while the bottom goes up and down thanks to repeat. While I need the bottom edge to remain in place and the top one to move up and down.
Again, this sh*t ignores anchors, I tried them everywhere I could, even inside linear itself  :-[
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 05:17:09 PM
Portraits animations are a very promising way to enliven all types of lines and replace missing portraits. Too bad default renpy animation functions don't support half of their methods...

Which are what? I doubt that there is something that cannot be done in Ren'Py on UDD level but that usually requires a lot of effort. But there is always a possibility that animation can be done the easy way as well, but it is not always immediately apparent.

What about yzoom and anchors?
The top edge remains in place while the bottom goes up and down thanks to repeat. While I need the bottom edge to remain in place and the top one to move up and down.
Again, this sh*t ignores anchors, I tried them everywhere I could, even inside linear itself  :-[

Code: [Select]
transform newzoom():
    pos (200, 150)
    yanchor 1.0
    block:
        linear 1 yzoom 1.1
        pause 0.1
        linear 1 yzoom 0.9
        repeat

This just works for me..
Title: Re: General Discussion
Post by: Xela on March 19, 2016, 07:47:35 PM
Rchar files start withAnd then at some point we give them base races, ieThat leads to If I remove "race": "Digital Android", everything works.

Meanwhile uchars use race line too, and work flawlessly.

I fixed it but this is a bit off. For unique chars:

race = Trait.
full_race = Any String.

It's been like that for a while so I did the same for the rchars to be consistent, you can just mass-rename it everywhere.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 01:38:08 AM
Which are what? I doubt that there is something that cannot be done in Ren'Py on UDD level but that usually requires a lot of effort. But there is always a possibility that animation can be done the easy way as well, but it is not always immediately apparent.
I mean xaround and yaround, mentioned by PyTom himself (!). They are supposed to be an easy way to rotate stuff around any point, but nope, they do nothing.

I got it (probably), my mistake was in using clumsy circles statement while angle should have been used
It's not entirely reliable. Given enough time, rotation desynchronizes for some pictures, and the image begins to move in circles with gradually increasing radius.

It's probably easier to find or make another animation than do it via renpy...
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 06:00:28 AM
I mean xaround and yaround, mentioned by PyTom himself (!). They are supposed to be an easy way to rotate stuff around any point, but nope, they do nothing.

Quote
around
    type: (position, position)
    default: (0.0, 0.0)
    If not None, specifies the polar coordinate center, relative to the upper-left of the containing area. Setting the center using this allows for circular motion in position mode.


The do what the docs say...

It's not entirely reliable. Given enough time, rotation desynchronizes for some pictures, and the image begins to move in circles with gradually increasing radius.

LoL :)

Ok... it may be a case but the "LoL" refers to me testing that code with two Solids while falling asleep yesterday and forgetting to close testing case. It was still perfect when I woke up today. It's almost 100% an error in the image you want to animate. I did have the same issue thought... with a very complex case, long time ago. Don't recall if I found a fix for it but there is a lot that can be tried there.


It's probably easier to find or make another animation than do it via renpy...

Could be the case, I still don't really know what you're doing...
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 08:47:24 AM
Code: [Select]
transform newzoom():
    pos (200, 150)
    yanchor 1.0
    block:
        linear 1 yzoom 1.1
        pause 0.1
        linear 1 yzoom 0.9
        repeat

This just works for me..
You can freely delete yanchor 1.0 and it will do just the same. That's the problem, all animations seem to ignore manual anchors and use only default ones. While I need non default ones  :)
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 08:56:04 AM
Here's  (https://upload.wikimedia.org/wikipedia/commons/thumb/archive/2/25/20130423173748!Animated-mass-spring.gif/68px-Animated-mass-spring.gif)what yzoom does. That's (http://www.artandsciencegraphics.com/wp-content/uploads/Compressing-Spring.gif) what I need. See?
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 09:02:43 AM
You can freely delete yanchor 1.0 and it will do just the same. That's the problem, all animations seem to ignore manual anchors and use only default ones. While I need non default ones  :)

Does anyone consult the good, old Doc? Like ever...

I was about to write the above, but when going for the link, noticed that it's not mentioned there :( You need to use floats, like I have in my example. In case of ints, Ren'Py will use position, in case of floats, it will interpolate the coords based on the dimensions of the outer container (size of the displayable in this case). So at anchor .0 (you don't need to write 0.0 in Python) and yzoom: bottom will move. With .5, both bottom and top will "move" (outward movement from center) and with 1.0 the top will be moving.

==>
Can I close #107? Or are there still issues?
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 09:09:15 AM
Does anyone consult the good, old Doc? Like ever...

I was about to write the above, but when going for the link, noticed that it's not mentioned there :(

Or actually, it is (https://www.renpy.org/doc/html/style_properties.html#style-property-values), but it assumes that you gonna read the whole thing, long ago it was mentioned on per case basis, I am 100% sure of that...
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 09:14:42 AM
Can I close #107? Or are there still issues?
It also assumes that random chars should have all fields that uchars have. Like level  ::)
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 09:17:52 AM
Does anyone consult the good, old Doc? Like ever...
The irony  :D

Quote
    transform interactions_surprised_tr:
        "exclamation_mark"
        pos (130, 546)
        alpha 0.6
        yanchor 1.0
        block:
            linear 1 yzoom 1.1
            pause 0.1
            linear 1 yzoom 0.9
            repeat
That's my code. I'm looking at the moving bottom atm.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 09:21:59 AM
It also assumes that random chars should have all fields that uchars have. Like level  ::)

I wanted the game to decide levels of the random chars! Kinda racist to say that one kind of a rchar cannot start with decent stats :D

==>
We cannot have "ALL" the same fields :( Random chars assume a lot of random data while unique chars can be preset. If you have a concept different from my own, you need to lay it out so I can adjust the code.

One thing that I am concerned about with rchars atm are the combinations of Elements and Spells. Another proper stats/skills generation at level-ups. Both however should be resolved in code and are prolly too complex for JSON files, at least at this dev stage where this stuff is evolving.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 09:26:30 AM
I figured rchars will have randint levels, like uchars have a fixed level.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 09:29:38 AM
That's my code. I'm looking at the moving bottom atm.

Hmm... that's not normal Ren'Py behavior...

Are you using it with my DS? Because if you are, it not setup to account for anchors, just for positions :(

If you want those animations to be perfect, they would have to be handled on per case basis, just like zoom_out/zoom_in of the portraits.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 09:32:32 AM
I figured rchars will have randint levels, like uchars have a fixed level.

Yeah, but what for? I mean, you cannot expect level ranges to persists as new rchars are being created throughout the game. I will also need a whole bunch of rchars to have huge levels for Arena and some other stuff before the release.

I can add this np, it's just 3 lines of extra code. I just need to know what you mean it to do exactly.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 09:48:34 AM
Well, they should have levels when you meet them in GMs. If you want to tie them to MC level, they will become much better than uchars at higher levels.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 10:03:35 AM
Well, they should have levels when you meet them in GMs. If you want to tie them to MC level, they will become much better than uchars at higher levels.

1) I know that this was mentioned before, the idea is for ingame chars to gain experience as the game is progressing, not as much as they could have if well managed but still.

2) This still doesn't explain why one rchar should have higher levels than any other. There should be no way for MC to recruit a character with a much higher level than his own. I'll take care of that when the time comes.

3) They will have levels when you meet them no matter what you do.

==>
I am asking what you want those levels to do? To have a locked range on rchar generation is not an option, I need very high levels chars for Arena to work properly, maybe for some other part of the game as well. If you want to lock levels for chars that you can meet for interaction, I don't understand how you see the same static system working @ MC lvl 1 and MC lvl 100. It will be very difficult to find a low level rchar to hire at the beginning and almost impossible to find one that you don't have to train for 100 days @ MC lvl 100.

Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 10:07:27 AM
If you want those animations to be perfect, they would have to be handled on per case basis, just like zoom_out/zoom_in of the portraits.
I'm afraid you have to give me an example of how to pass a transformed picture with custom anchor to your overlay function. You already have seen my transform function, it's nothing special.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 10:12:54 AM
1) I know that this was mentioned before, the idea is for ingame chars to gain experience as the game is progressing, not as much as they could have if well managed but still.
Yet uchars have different initial levels AND gain experience as the game is progressing.

2) This still doesn't explain why one rchar should have higher levels than any other.
You tell me. Why uchars have them? Why high level rchars at arena have them?

3) They will have levels when you meet them no matter what you do.
And atm those levels == 1. See issue 152.

I'm talking about starting levels for characters that are not needed as high level fighters at the arena and other places.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 10:35:30 AM
Yet uchars have different initial levels AND gain experience as the game is progressing.

Who gives a damn? rchars will guide the game and be drivers/fillers for it's most important parts. If someone wants to setup arena with 100 unique chars at lvl1 and cut through them by day 30, it's their business, I am balancing the gameworld with rchars, control of which I can count on...

You tell me. Why uchars have them? Why high level rchars at arena have them?

Uchars are there for player to form connections based on the original sources. Uchars have preset levels because most players may want to control that but Rchars are game's domain. They are the inhabitants that balance everything out at the end...

At Arena we need them cause it would not make any sense without high leveled chars. Neither will the game world at the end of a day.

And atm those levels == 1. See issue 152.

Yeah, I know, but they are not supposed to be lvl1, I just never got around to writing an algorithm to create new once cause it's a very complex issue that needs a lot of game world analysis and data which we do not even got at this moment. A lot of stuff needs to be taken into consideration there so the world doesn't get filled with (for example) 100 warriors when you really need/want SIW workers.

It's a complex issue, it'll take time to get that sorted.


Quote
I'm talking about starting levels for characters that are not needed as high level fighters at the arena and other places.

And:

Quote
==>
I am asking what you want those levels to do? To have a locked range on rchar generation is not an option, I need very high levels chars for Arena to work properly, maybe for some other part of the game as well. If you want to lock levels for chars that you can meet for interaction, I don't understand how you see the same static system working @ MC lvl 1 and MC lvl 100. It will be very difficult to find a low level rchar to hire at the beginning and almost impossible to find one that you don't have to train for 100 days @ MC lvl 100.

That all still doesn't explain two things:

1) Why should we have different ranges for different rchars?

2) Why do we want the same ranges locked thought out the game (as asked above)?

3) How is this better than having in game mechanic determine the range during gameplay?
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 11:29:17 AM
I'm afraid you have to give me an example of how to pass a transformed picture with custom anchor to your overlay function. You already have seen my transform function, it's nothing special.

You do it in two steps, search for this code in screens.rpy:

Code: [Select]
        if isinstance(side_image, Char):
            if side_image.say_screen_portrait_overlay_mode == "zoom_fast":
                add At(side_image.say_screen_portrait, interactions_zoom(.2)) pos 219, 639 anchor .5, .5
            elif side_image.say_screen_portrait_overlay_mode == "zoom_slow":
                add At(side_image.say_screen_portrait, interactions_zoom(.8)) pos 219, 639 anchor .5, .5
            else:
                add side_image.say_screen_portrait pos 219, 639 anchor .5, .5

And add a new elif option to the fork, name the animation as you see fit.

Next:

UNIQUE_SAY_SCREEN_PORTRAIT_OVERLAYS = ["zoom_fast", "zoom_slow"]

on Char's namespace and add the condition string there and you're done.

Note: You need to pull my last push, I flipped that list to be a constant which it is.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 11:58:54 AM
You do it in two steps, search for this code in screens.rpy:

Code: [Select]
        if isinstance(side_image, Char):
            if side_image.say_screen_portrait_overlay_mode == "zoom_fast":
                add At(side_image.say_screen_portrait, interactions_zoom(.2)) pos 219, 639 anchor .5, .5
            elif side_image.say_screen_portrait_overlay_mode == "zoom_slow":
                add At(side_image.say_screen_portrait, interactions_zoom(.8)) pos 219, 639 anchor .5, .5
            else:
                add side_image.say_screen_portrait pos 219, 639 anchor .5, .5

And add a new elif option to the fork, name the animation as you see fit.

Next:

UNIQUE_SAY_SCREEN_PORTRAIT_OVERLAYS = ["zoom_fast", "zoom_slow"]

on Char's namespace and add the condition string there and you're done.

Note: You need to pull my last push, I flipped that list to be a constant which it is.

Actually no... you need to do something like this:

Code: [Select]
add side_image.say_screen_portrait pos([color=green]add proper coords...[/color])
add [color=green]your_animation[/color]

(I am a bit on the slow side today, it's the last day I have off so I am taking a break (with wine :D)). Proper pos is likely something like this:  pos 219, 639 anchor .5, .5 or the align thing of Gismo which can be found below in the code.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 12:03:37 PM
If we assume (we do atm according to rchars descriptions  :) ) that humans are local city girls, elves are from wild forests or remote non human cities and slimes are monsters from the wild areas, they all have different possibilities for training.

Although one thing I never thought about is different classes, I usually looked at it from the viewpoint of warriors, when for rchars Human<Elf<Slime. But for other classes it will be different, for maids probably Slime<Human=Elf...

I mean, Slimes warriors normally should have more fights than Humans, thus more exp and higher starting level. While Humans maid should be hired more often than Slimes maids. So I suppose it should be randint tied to classes, not just randint  :D
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 12:24:08 PM
If we assume (we do atm according to rchars descriptions  :) ) that humans are local city girls, elves are from wild forests or remote non human cities and slimes are monsters from the wild areas, they all have different possibilities for training.

That's way too advanced...

Although one thing I never thought about is different classes, I usually looked at it from the viewpoint of warriors, when for rchars Human<Elf<Slime. But for other classes it will be different, for maids probably Slime<Human=Elf...

Same as above...

I mean, Slimes warriors normally should have more fights than Humans, thus more exp and higher starting level. While Humans maid should be hired more often than Slimes maids. So I suppose it should be randint tied to classes, not just randint  :D

Screw that! At least for now, you're talking about advanced world customization and while I am all for that, this is not something we will add before the world control module (which we already sort of have but it's not nearly advanced enough).

==>
Lets keep sh!t simple for now... I am going to take a look at some other issue, I think the one with the rchar datafiles should be closed cause I still haven't heard a solid way to handle rchars levels through JSON.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 12:30:51 PM
Hmm. What about gold and skills? Uchars have this stuff
Quote
        "gold": 200,
...
        "skills": {
            "dancing": 10,
            "exploration": 15
But rchars don't atm. I'm not even sure if they are supported since I never tried to use them.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 12:38:31 PM
Hmm. What about gold and skills? Uchars have this stuffBut rchars don't atm. I'm not even sure if they are supported since I never tried to use them.

Gold (single int, not random) is supported but I'll prolly overwrite that in the future. Skills are once again level/class dependent and should be handled by the game. Our concept is too complicated for that stuff to be controlled through JSONS... not on the game-wide base.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 12:42:43 PM
"color", "what_color", "arena_willing" fields? Not random, of course.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 12:50:11 PM
"color", "what_color"

Absolutely, going to add that now so I can close the issue :)

"arena_willing" fields? Not random, of course.

Also game's priority, unless you want to limit classes for rchars in general (like some cannot be warriors or servants). It also kinda feels like a more advance world kinda thing.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 01:09:15 PM
I added "full_race": "Digital Android" to rchar, and now I see race in her profile.
Then I added "full_race": "Human" to uchar, and I don't see her race in profile.

Too early to close the issue, it doesn't count as solved when a field works for rchars but not uchars  :D
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 01:33:47 PM
I added "full_race": "Digital Android" to rchar, and now I see race in her profile.
Then I added "full_race": "Human" to uchar, and I don't see her race in profile.

Too early to close the issue, it doesn't count as solved when a field works for rchars but not uchars  :D

Works the same for both... why would you even want to see full_race of it is the same as a normal race trait which is always shown...
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 01:42:53 PM
Ah, that's what going on. If race==full_race, gui doesn't show race string, but only race icon.
Well, it's an unobvious concept that will rise questions until player will notice that rule.
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 01:56:22 PM
I removed training dungeon from the game since we are not very likely to use it before the next release, make sure that your testing.rpy matches mine.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 02:37:09 PM
It does (changed 7 days ago according to db). Yet the game CTDs at the interactions screen
Quote
  File "game/library/interactions/pyt - screens - interactions.rpy", line 72, in script
    python:
  File "game/library/interactions/pyt - screens - interactions.rpy", line 133, in <module>
    for k,c in schools[TrainingDungeon.NAME].all_courses.iteritems():
KeyError: 'Training Dungeon'
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 02:38:14 PM
I pushed a fix with that seconds before you posted :)
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 02:47:33 PM
I'm afraid my push is the only one for the last 30 minutes -_-

Didn't go through for some reason, try again now.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 03:23:00 PM
Ohhkey, I tried image snow = Snow("content/gfx/animations/interactions/note.png", xborder=(160,277), yborder=(580,700)) to check how borders work, but got
Quote
    image snow = Snow("content/gfx/animations/interactions/note.png", xborder=(160,277), yborder=(580,700))
  File "game/library/interactions/GM - kiss.rpy", line 9, in <module>
    image snow = Snow("content/gfx/animations/interactions/note.png", xborder=(160,277), yborder=(580,700))
NameError: name 'Snow' is not defined
Was it removed from the engine or something?
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 03:30:17 PM
Or is it (https://www.renpy.org/wiki/renpy/doc/cookbook/More_realistic_snow_effect) not included in the engine? I'm not sure  :D
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 03:31:14 PM
Ohhkey, I tried image snow = Snow("content/gfx/animations/interactions/note.png", xborder=(160,277), yborder=(580,700)) to check how borders work, but got Was it removed from the engine or something?

It was never a part of the engine, Snow is an addon code but we have a much better version(s). One coded by Nyaatrap and one by me.

Code: [Select]
# Image definitions for snow particles:
image snow_small = Transform("snow.png", zoom=0.5)
image snow_normal = "snow.png"
image snow_large = Transform("snow.png", zoom=1.5)
image snow_very_large = Transform("snow.png", zoom=6.0, alpha=0.7, additive=0.7)

# Definition for SnowBlossom2 particles by Nyaatrap (or at least used in his cool dress-up demo):
image snow = Fixed(
    SnowBlossom2("snow_large", 50, xspeed=(20, 50), yspeed=(100, 200), start=100, fluttering=10),
    SnowBlossom2("snow_normal", 75, xspeed=(15, 35), yspeed=(75, 150), start=100, fluttering=7),
    SnowBlossom2("snow_small", 100, xspeed=(10, 25), yspeed=(50, 100), start=100, fluttering=5))

# Definition for Snowing UDD:
image snowing = Fixed(
    Snowing("snow_small", interval=(0.1, 0.15), speed=(5.5, 7.5), slow_start=(7, (0.2, 0.3))),
    Snowing("snow_normal", interval=(0.15, 0.25), speed=(3.5, 4.5), slow_start=(7, (0.4, 0.5))),
    Snowing("snow_large", interval=(0.25, 0.35), speed=(2.5, 3.5), slow_start=(5, (0.5, 0.6))),
    Snowing("snow_very_large", interval=(2, 5), speed=(0.4, 0.8), slow_start=(20, (4, 6))))

This is how both are defined in my testing scenario but options to improve are limitless. The first variation is by Nyaatrap (Japanese dungeon crawler maker with Ren'Py, you prolly played a couple of his games), the second version is mine. Both should prolly just work in PyTFall and neither will in pure Ren'Py (if you want to test in a simple project).
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 03:44:09 PM
to check how borders work,

Oh, and those prolly work differently in all cases. Nyaatraps version is based of the SnowBlossom (1st version) and you can just google that for the docs. Those do manual calculations. My versions basically used a UDD/ATL combo where calculations are done by ATL code and the class simply manages that. Doc strings can be found in our UDD file but those are fairly complex.

This sets the "boarders" in case of UDD:

Code: [Select]
            -start_pos: x, y starting positions. This expects a tuple of two elements containing either a tuple or an int each.
            -end_pos: x, y end positions. Same rule as above but in addition a dict can be used, in such a case:
                *empty dict will result in straight movement
                *a dict containing an "offset" key will offset the ending position by the value. Expects an int or a tuple of two ints. Default is (100, 200) and attempts to simulate a slight wind to the right (east).
Title: Re: General Discussion
Post by: DarkTl on March 20, 2016, 04:09:40 PM
The very first hearts portrait animation is bit too jumpy at some frames. Adding alpha channel made it look a bit better, but another options are either edit it manually or make our own with the help of particles...
Title: Re: General Discussion
Post by: Xela on March 20, 2016, 04:18:17 PM
Oki, made one last push adding an option to actually create businesses, not just to upgrade existing once. This is prolly it for the night, going to try catch some zzzs.
Title: Re: General Discussion
Post by: Xela on March 21, 2016, 02:45:13 AM
The very first hearts portrait animation is bit too jumpy at some frames. Adding alpha channel made it look a bit better, but another options are either edit it manually or make our own with the help of particles...

Again an alignment/UDD issue. This one is unexpected (by me at least), I need to check if the UDD position handing can be improved further. It should work a lot better after my last push.

Edit:

Quote
I need to check if the UDD position handing can be improved further.

Prolly figured out how to do this, but don't have the time to try it out atm.
Title: Re: General Discussion
Post by: Xela on March 21, 2016, 09:08:27 AM
I'm afraid you have to give me an example of how to pass a transformed picture with custom anchor to your overlay function. You already have seen my transform function, it's nothing special.

Yeah... so most of that alignment cr@p yesterday was my UDD's fault. It only used pos to place the displayable. And never the anchor and offset :(

Now everything is working marvelously, I improved the hearts "luv" thing and moved exclamation "surprised" mark to the displayable. You'll have to fix the rest of the positioning for other emotions if anything except the pos() was used to position them... sorry about that but I am fairly sure it's the last time this happens here :)

I've left the other mechanic cause it is still required for zoom_in/out of the portraits (because it's not really an overlay, it's the manipulation of the portrait itself and I don't want to mix them). I've also added "test_case" to the other mechanic cause it can be used to try animations without restarting the whole game (screens are updated directly so you can just reload to the same spot, UDD must remember it's last state so it is working a bit differently).
Title: Re: General Discussion
Post by: DarkTl on March 21, 2016, 09:56:55 AM
I'm gonna update chars data files soon, and I wonder how should the game handle uchars with no level in data file, such cases are definitely possible. Making them lvl 1 is too simple, perhaps they should be autoleveled in the same way as rchars.
Title: Re: General Discussion
Post by: Xela on March 21, 2016, 10:14:52 AM
I'm gonna update chars data files soon, and I wonder how should the game handle uchars with no level in data file, such cases are definitely possible. Making them lvl 1 is too simple, perhaps they should be autoleveled in the same way as rchars.

Maybe, I am not so sure about this one, my plan was to set them at level 1 if no level is provided but we can always adjust that. We may add even more fields like "day" (to add the character to gameplay), pattern (we always have really basic once but we need auto-patterns for characters), maybe more. Right now it's prolly a good idea to make sure that they just work in the game.

Same for rchars cause we'll prolly have to remove a couple of fields from there and rename at least one (attack_skill, cause it is very likely that we'll allow more than one in the future). I think this is one of the final things your should do before the beta testing part.
Title: Re: General Discussion
Post by: DarkTl on March 21, 2016, 11:27:49 AM
Huh. There is a weird behavior in the gallery. If you try to look at a portrait, the game will give you a superhuge zoomed version, much larger than the actual image.
But if you looked at a battle sprite right before it, and then switched to a portrait, it will have its normal size.
Title: Re: General Discussion
Post by: Xela on March 21, 2016, 11:46:34 AM
I recall someone asking me to do that implicitly because the portraits were to small to see artifacts/emotions on the properly.
Title: Re: General Discussion
Post by: DarkTl on March 21, 2016, 11:53:37 AM
I see, it wasn't me then... I only remember how you mentioned that portraits don't have a fixed size, thus you don't resize them in the gallery like you resize battle spites.
Title: Re: General Discussion
Post by: Xela on March 21, 2016, 01:15:36 PM
Looks like GitHub is down :) It's the first time that I've seen that.

==>
I'll try to do the Cleaning Job tonight...  if time permits. That will be an excellent move forward. + I wanna try testing some stuff from the new prerelease.

@Git is back! Didn't take long...
Title: Re: General Discussion
Post by: DarkTl on March 21, 2016, 02:32:43 PM
This is very difficult to do with random, the only way is to create a number of choice branches...

(God damn it, I edited your post instead of quoting again :( )
Title: Re: General Discussion
Post by: Xela on March 21, 2016, 02:44:41 PM
This is very difficult to do with random, the only way is to create a number of choice branches...

(God damn it, I edited your post instead of quoting again :( )

...
Title: Re: General Discussion
Post by: Xela on March 21, 2016, 05:02:30 PM
==>
I'll try to do the Cleaning Job tonight...

Kept getting distracted so I didn't get anywhere :( Gonna put another hour into it and call it a night.
Title: Re: General Discussion
Post by: Xela on March 21, 2016, 05:08:15 PM
We should have a "don't want to talk to you" option with cooldown time for interactions (even before the menu appears)... it's weird when you can talk to the char again right after she terminated the interaction. What do you think? Will that be too much? Feels like a char should be able to blow you off.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2016, 09:36:39 AM
Yes, we need that. I just don't know how to do it myself, ie even prevent the interaction/GMs menu showing if needed based on a flag. Perhaps even hide such a character during GMs.

I know only how to exit it immediately, and it doesn't look very good  :)
Title: Re: General Discussion
Post by: Xela on March 22, 2016, 02:22:08 PM
I'll add that tonight then. Maybe put some time into that cleaning job as well.
Title: Re: General Discussion
Post by: Xela on March 22, 2016, 09:48:52 PM
I tested the blow off system in the kiss label a little bit but there is one problem with it... it keeps refreshing the portraits of the three gm chars. Even of I flip the images from using label cache to just the cache, sometimes we might use a random tags system for gm and it'll refresh again.

There are two options around that,

1) I can write code to cache the images directly to GM class, that means writing a bit of code and slightly adjusting all locations screens code.

2) We hide the screen and show chars sprite during the blow off scene.

Not sure which one is best.
Title: Re: General Discussion
Post by: DarkTl on March 23, 2016, 02:26:08 AM
Let's try the latter one.
Title: Re: General Discussion
Post by: DarkTl on March 23, 2016, 08:15:17 AM
https://github.com/XelaPy/PyTFall/issues/160 (https://github.com/XelaPy/PyTFall/issues/160)
Title: Re: General Discussion
Post by: Xela on March 23, 2016, 09:31:37 AM
https://github.com/XelaPy/PyTFall/issues/160 (https://github.com/XelaPy/PyTFall/issues/160)

I've closed it copied your text to #85. It doesn't make a lot of sense to do one without the other and I was planning to add all of that anyway. If you think that we could use some of those options now, let me know which and I'll see if we can add "a hack" :)
Title: Re: General Discussion
Post by: DarkTl on March 23, 2016, 12:20:57 PM
Damn, I forgot we had another issue about it  :)

I almost finished with improving interactions. Guess I'll look for lines from another games or maybe add moar items until jobs and/or SE will be ready for improvements on my part.
Title: Re: General Discussion
Post by: Xela on March 23, 2016, 12:37:25 PM
Lines seem plenty, next step will prolly be rewriting the whole module logic to be more sound and allow tracking of interactions states. After that, the logical step would be to use it to make interactions more unique and "branched" based on personalities. So far most of the stuff I've seen is great and a far cry from Alpha.

I am going to address the damn issue with blow offs now, I want it to work be at least acceptible, in perfect world, I'd like it to happen simply with a line or two of the char telling you to get lost and remain in interactions window looking at the other two char options but we do not have that kind of a control atm. It should be doable as proposed in 1)/2) and I'll do follow the logical path of 2) as agreed.
Title: Re: General Discussion
Post by: DarkTl on March 23, 2016, 01:07:50 PM
The lesbian scene is broken though.
Quote
File "I:\RenPy\renpy\execution.py", line 408, in run
    node.execute()
  File "I:\RenPy\renpy\ast.py", line 806, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "I:\RenPy\renpy\python.py", line 1461, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/library/interactions/GM - sex.rpy", line 625, in <module>
    $ char2 = random.sample(willing_partners, 1)[0]
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/random.py", line 323, in sample
ValueError: sample larger than population
Perhaps it's better to postpone it until the next release.
Title: Re: General Discussion
Post by: Xela on March 23, 2016, 01:35:35 PM
The lesbian scene is broken though. Perhaps it's better to postpone it until the next release.

Not really, this looks like a simple extra check is required. It's not something that will be made easier with a good general code setup.

If you don't want to mess with it, we'll drop it. If you don't mind, I'll find a way to fix it.
Title: Re: General Discussion
Post by: DarkTl on March 23, 2016, 02:14:24 PM
It's not the first time when it breaks down, I figured your changes in the base code do it  :)

It requires a building check btw. I mean, in order to even have a chance find a partner, the interaction should be started in a building with multiple chars in it. We can cut off GMs by checking if the character is hired, but proposing it to a single char in the current building makes no sense.
Title: Re: General Discussion
Post by: Xela on March 23, 2016, 05:21:10 PM
Ok, so the blow off thing should be ready and it's working rather well.

Code: [Select]
$ char.set_flag("_day_countdown_interactions_blowoff", 3)
This is the code to be added before something that pisses the char off really badly takes place. 3 is the number of days required for the cooldown. New text can be added to the interactions blowoff label, they can prolly be conditioned through even more flags.

The whole thing seems to be working rather well (for a hack) :)
Title: Re: General Discussion
Post by: DarkTl on March 24, 2016, 02:11:28 AM
Come to think of it, nothing prevents us from emulating a group action by using more complex menus and multiple characters pictures, just like we do with les scene.
Of course it will require a better menu than default renpy "menu" and quite complex logic behind it.
Title: Re: General Discussion
Post by: Xela on March 24, 2016, 10:14:57 AM
It's not likely to be a popular option anyway cause we'll have to multiple, unrelated pics to simulate the action.
Title: Re: General Discussion
Post by: DarkTl on March 24, 2016, 11:38:45 AM
I studied HHS+ code today. It's mostly about moral corruption, hard to implement in a game with a whore class  :)
Both ST and mind control are very limited, too bad.

At least blackmailing and drugs options seem legit.

Love the event with cat adoption though, definitely will add something like it to MC house when it will be more important  :D
Title: Re: General Discussion
Post by: DarkTl on March 24, 2016, 01:20:24 PM
Uh, I added $ char.set_flag("_day_countdown_interactions_blowoff", 2) to kiss refusing and proceed to the city. After every refusing scene I got
Quote
  File "game/library/screens/locations/cemetery.rpy", line 25, in script call
    $ gm.start_gm(result[1])
  File "game/library/interactions/GM - greetings.rpy", line 861, in script
    $ renpy.show_screen(exit)
  File "game/library/interactions/GM - greetings.rpy", line 861, in <module>
    $ renpy.show_screen(exit)
Exception: Screen graveyard_town is not known.

Then I went to the tavern and initiated a GM outside of it. I got
Quote
  File "game/library/interactions/pyt - screens - interactions.rpy", line 42, in script
    show expression gm.bg_cache
Exception: Image 'bg tavern_town' not found.
even before the kiss.

But everything worked perfectly at the beach.

Something is clearly broken now  :-\

Besides, the flag doesn't have any effect on interactions with hired one, I don't think it's a right thing to do, unless they are slaves.
 
Title: Re: General Discussion
Post by: Xela on March 24, 2016, 02:16:27 PM
Something is clearly broken now  :-\

Besides, the flag doesn't have any effect on interactions with hired one, I don't think it's a right thing to do, unless they are slaves.
 

1) All screens and labels at interactions locations are supposed to have the same name, that was done to make sure we don't need to write a useless binding dict, if a locations doesn't follow that setup, you'll get an error. bg location name was supposed to a name of associated background.

2) I know, we'll take care of interactions with hired chars at later time. I want to finish the normal gms first, making sure everything is working there before we double on nay crap that may screw us.
Title: Re: General Discussion
Post by: DarkTl on March 24, 2016, 03:50:31 PM
I wonder if there should be limited GMs with unsold slaves at the market or some other close location. Behind prison bars png maybe.
Title: Re: General Discussion
Post by: Xela on March 24, 2016, 04:28:49 PM
I wonder if there should be limited GMs with unsold slaves at the market or some other close location. Behind prison bars png maybe.

Maybe, I also wonder if it's sensible to allow webms from AA2/some rendering soft in the packs, it can look ok sometimes http://webm.land/media/YFTG.webm. Size is about the same as an image and we have excellent capabilities for them now.
Title: Re: General Discussion
Post by: DarkTl on March 25, 2016, 01:51:55 AM
Well, I don't want to render unique scenes for every single character myself. More rendering - > less developing.

Universal scenes, tied to different body sizes without visible heads and maybe with different skin tones will be quite useful though.
Title: Re: General Discussion
Post by: DarkTl on March 25, 2016, 07:36:29 AM
We probably should limit the amount of (unique) gifts per day too. Randint (2-3) maybe. Gifting is not handled by my code though.
Title: Re: General Discussion
Post by: Xela on March 25, 2016, 07:47:07 AM
By unique, you mean repeatedly giving the same gift or any gift?
Title: Re: General Discussion
Post by: Xela on March 25, 2016, 08:07:38 AM
Well, I don't want to render unique scenes for every single character myself. More rendering - > less developing.

Universal scenes, tied to different body sizes without visible heads and maybe with different skin tones will be quite useful though.

if it's sensible to allow

I am not saying that we should do it ourselfs. Right now it's plainly not possible to add an animated image...

It'll require this:

1) Adding the file format to the func that builds tag database.
2) Writing a function that automatically picks Transform to resize a movie and Proportional Scale to resize an image.
3) Make sure that whatever image manipulations we do are always skipped for movies (maybe also with a func).

4) Maybe adding webm to your tagger and making sure it doesn't crash on a preview and maybe adding new "animated" tag.

With none of it as a priority. It'll be one of those long term issues if we decide to proceed.
Title: Re: General Discussion
Post by: DarkTl on March 25, 2016, 08:35:34 AM
We already have protection against giving the same gift over and over.
Title: Re: General Discussion
Post by: Xela on March 25, 2016, 09:05:10 AM
We already have protection against giving the same gift over and over.

Really? I never remember stuff like that. I'll add another counter then.
Title: Re: General Discussion
Post by: Xela on March 25, 2016, 11:30:26 AM
Yeah! I figured it out and remembered what we did there after that. Items cblock is used to limit the amount of times gift can be given. So it's the general interaction than? We can even block the button itself (I think), how many times per day do we want to allow giving gifts?
Title: Re: General Discussion
Post by: DarkTl on March 25, 2016, 12:41:31 PM
Yeah, it's a good idea to block/hide the button. Let's go with two gifts per day, with the second one giving only a half of its bonus to disposition, unless the bonus is negative ie the gift is bad.

Another good idea is to make a "back" button in the gifts menu in case if you changed your mind (or misclicked  :) ).
Title: Re: General Discussion
Post by: DarkTl on March 25, 2016, 02:19:30 PM
4) Maybe adding webm to your tagger and making sure it doesn't crash on a preview and maybe adding new "animated" tag.
I looked into it. Either I write a small videoplayer based on directshow and included into the tagger to show any kind of animated files and videos as long as pc knows how to do it. Or simply open the file in its default program, ie there should be for example kmplayer or potplayer on pc (they both know how to show webms, maybe some other players can too), and webm files should be associated with it.
Title: Re: General Discussion
Post by: Xela on March 25, 2016, 03:13:38 PM
Yeah, it's a good idea to block/hide the button. Let's go with two gifts per day, with the second one giving only a half of its bonus to disposition, unless the bonus is negative ie the gift is bad.

Bad idea about the second gift, we already have that sort of mechanics for repeated gifts (I think). I don't think two different decent gifts per turn should be a disadvantage, not even three gifts. I'll do three max and we'll see how that plays out, it can always be changed later on.

Another good idea is to make a "back" button in the gifts menu in case if you changed your mind (or misclicked  :) ).

It's always the last button in the gifts menu :)
Title: Re: General Discussion
Post by: Xela on March 25, 2016, 05:25:18 PM
Ok... so now you can give only three gifts per day. Every day game will count down by -1 so on the next day directly, it is only possible to give one gift.
Title: Re: General Discussion
Post by: DarkTl on March 25, 2016, 05:51:16 PM
For the purpose of balance we need to decide how many days should be required to go from 0 to 1000 disposition, providing that MC focuses on one character.
Title: Re: General Discussion
Post by: Xela on March 25, 2016, 06:05:28 PM
For the purpose of balance we need to decide how many days should be required to go from 0 to 1000 disposition, providing that MC focuses on one character.

I can only "put" my thoughts on the "table" :)

1000 disposition should be almost impossible to achieve under normal gameplay. Enough for friendship should take 50 - 70 days but there should be events to significantly help with that (like have a drink in the tavern or at the beach cafe) (gifts/money or other displays of affection not included). Enough for a lover status, prolly something around 130 - 150 days (same rules).

Times should be events/traits dependent as well as a number of already existing lovers (again based off traits).

More coherent logic and methods will be possible when we'll have an interactions module. For now it's a reasonably long time and ways to cut down on that using gifts, events, unique quests and etc.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2016, 05:09:34 AM
Ok, let's say lover status would require 1000 disposition. 1000/[130-150] = [6.5-7.5] per day, without any additional events, only via normal GMs. It's a very low number compared to the current system, when even a simple chat gives randint(1,4).

I'm not against it, but it means that either disposition should be noninteger and for example chat will give from 0.2 to 0.5, or max disposition should be more than 1000. Because otherwise there is no way to make simple options like chat balanced.
Title: Re: General Discussion
Post by: Xela on March 26, 2016, 08:41:20 AM
Ok, let's say lover status would require 1000 disposition. 1000/[130-150] = [6.5-7.5] per day, without any additional events, only via normal GMs. It's a very low number compared to the current system, when even a simple chat gives randint(1,4).

I'm not against it, but it means that either disposition should be noninteger and for example chat will give from 0.2 to 0.5, or max disposition should be more than 1000. Because otherwise there is no way to make simple options like chat balanced.

You can always do something like if dice(25) and award 1 point. Maybe even base dialogues of that. The system I really want would require a much better tracking system than we have now :( So whatever we do, it's temporary. Also, lovers should prolly be something like 800 - 900 give or take trait bonuses/penalties. 1000 should be rare. I also want to do -1 disposition per day if interaction could take place but didn't.

===>>
I'll try to put some more time into Cleaning Job tonight and maybe think about AI module for chars... it's prolly premature but if I can come up with a sound general plan, maybe we can use some simple version of that.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2016, 10:52:44 AM
Yeap, it's was an example for simpler calculations  :)
I imagine at 1000 character is willing to become a slave or something.

You can always do something like if dice(25) and award 1 point.
No, people will avoid such ineffective options, since it's a total waste of AP with 75% chance. Unless it will be the only available option, but it won't be.
Title: Re: General Discussion
Post by: DarkTl on March 26, 2016, 02:32:10 PM
Tagger update. I found a way to resolve one old bug when sometimes you had to click twice in order to select a flag. And added a very small button that removes special clothes flags in case if you misclicked or something, thus you don't have to reset all tags to remove them anymore. In all other cases there is already a way to remove wrong flags by hiding them altogether, so it's the only place where such a button is needed.
Title: Re: General Discussion
Post by: DarkTl on March 28, 2016, 01:24:31 PM
Can't you disable equip button for wrong genders instead of showing the message about it?
Title: Re: General Discussion
Post by: Xela on March 28, 2016, 03:28:29 PM
Can't you disable equip button for wrong genders instead of showing the message about it?

Sure thing, I've been slacking off lately writing some basecode for a very flexible cleaning job but I am starting to fear that it breaks the "keep it simple for the best result" narrative. I'll try not to forget to disable the button.
Title: Re: General Discussion
Post by: DarkTl on March 29, 2016, 11:06:33 AM
About jobs... It would be cool to have all stats and money logic in the same place, not in multiple rpys  :)

Besides, I believe usual approach when wages are calculated based on stats to within 1 is not very realistic, slightest changes in stats should not affect it. I'd say irl increase in wages based on noticeable increasing in stats (we always can round stats in calculations for that purpose). And even then it's not instant, since people cannot really see stats screen, they can see only results of the job (not sure how to make it work, probably recalculate wages every 10-15 days, not every turn).
Title: Re: General Discussion
Post by: DarkTl on March 29, 2016, 01:12:44 PM
Err, I recall we had a cafe at some point, but I cannot find it anymore.
Title: Re: General Discussion
Post by: Xela on March 29, 2016, 02:46:36 PM
Err, I recall we had a cafe at some point, but I cannot find it anymore.

It's one of the shops.
Title: Re: General Discussion
Post by: DarkTl on March 29, 2016, 03:00:10 PM
Main street: realtor, general, tailor, work shop.
Forest: witch.
Village: ninja shop.
No shops in other locations.
Title: Re: General Discussion
Post by: Xela on March 29, 2016, 03:40:00 PM
Main street, lower-left corner, covered by dev controls. It used to be higher and more to the right I think but someone prolly moved it.
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 09:16:38 AM
#^*&@)^#(^$^@(@()@!&($@ :(

I still can't figure out how to remove black background from maple animations. Doesn't really seem possible to do it in "auto-mode" and even doing it frame by frame is really difficult because of how much transparency there is in the original animations... At least Nyaatrap explained how  to convert transparent .gifs to .webm properly (http://lemmasoft.renai.us/forums/viewtopic.php?f=32&t=36951&start=15#p410198), which is very useful cause I couldn't even find how to do that properly.

====>>
I wonder if something can be done using AlphaMask... somehow...
Title: Re: General Discussion
Post by: DarkTl on March 30, 2016, 10:08:05 AM
Black is alpha 0 for webms, isn't it? It should be VERY easy to make a grayscale mask for animations with black background, it's already invisible there. Even simpler than my experiment with that air spell.
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 11:29:29 AM
Black is alpha 0 for webms, isn't it? It should be VERY easy to make a grayscale mask for animations with black background, it's already invisible there. Even simpler than my experiment with that air spell.

Well... not exactly.

Quote
This starts both movies playing, and uses the red channel of the mask movie as the alpha channel of the other movie. The result is an animated sprite that can have far more frames than would be possible with ATL, Animation, or other methods that have to load all images into ram at once.

This is how PyTom explained it. Black/white contrast will always work (obviously). You'll have to expand a little bit on what you said there, cause I don't follow.

==>>
There are still two or three things worth trying for animation/webm variants that could work but I am loosing confidence after so many failed attempts.
Title: Re: General Discussion
Post by: DarkTl on March 30, 2016, 11:57:55 AM
If we grayscale a sprite with a black background, we most likely get ready to use alpha mask sprite, and then use them in webm. Unless the whole picture is too dark.
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 12:02:35 PM
If we grayscale a sprite with a black background, we most likely get ready to use alpha mask sprite, and then use them in webm. Unless the whole picture is too dark.

I don't understand why... but you could be right.
Title: Re: General Discussion
Post by: DarkTl on March 30, 2016, 12:17:54 PM
Give me an animation, I'll try it.
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 12:41:12 PM
Give me an animation, I'll try it.

Just pick one, maybe something with ice... what we need is a way to convert any color except pure black opacity to red (or white, whatever).

GreyScale will not work because it's grey and we need either true transparency or all colors except red at 0 rbg value for the mask webm.

These are still thoughts... I am going to see if Photoshop can replace all colors like that in some auto mode.
Title: Re: General Discussion
Post by: DarkTl on March 30, 2016, 12:44:12 PM
Err, it's not that hard in gimp.
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 12:55:12 PM
This one is not even worth converting, it looks pretty good with the original as a mask (but it looks solid, like exactly what's needed), try this one:
Title: Re: General Discussion
Post by: DarkTl on March 30, 2016, 01:09:49 PM
Here
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 01:21:42 PM
Here

Sadly no :(

There doesn't seem to be a program anywhere that can clear black background from a complex image. For simpler cases where the attack itself is fully or almost fully opaque, you can use the image itself as a mask or photoshop and even some online tools can clear the background for you.

Best I managed so far is to clear black matte and set the red channel to 255 with everything else to 0. It may have been perfect but it can no longer be saved as a gif because colors are too complex and the program I am doing that with is too simple. I will try it in photoshop next.
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 01:28:59 PM
I either don't know how to do it properly but photoshop doesn't seem to be able to to it properly either, gonna try combine work from both programs.

Edit: That piece of shit gif cannot even be saved without converting to red first...
Title: Re: General Discussion
Post by: DarkTl on March 30, 2016, 01:34:21 PM
I dunno why you insisted on using monocolors instead of old good grayscale. I just used that ice animation together with this attachment as an alpha mask, and it looked awesome.
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 01:54:39 PM
I dunno why you insisted on using monocolors instead of old good grayscale. I just used that ice animation together with this attachment as an alpha mask, and it looked awesome.

It's still too transparent so a farcry from perfect (I tried the exact same thing, grayscale is easy in any software)... it's a possibility, I have few others as well.
Title: Re: General Discussion
Post by: DarkTl on March 30, 2016, 02:59:08 PM
Hm. I think it can be achieved by manually adjusting brightness and contrast for the alpha mask. But it's a tedious work.
Title: Re: General Discussion
Post by: Xela on March 30, 2016, 03:59:43 PM
Hm. I think it can be achieved by manually adjusting brightness and contrast for the alpha mask. But it's a tedious work.

I am not sure that it can be achieved even then :(

When the images were merged with black background, original transparency information was lost. There may not be any (perfect) way of recovering it working with an image as a whole. Best two (quick) ways right now are this:

1) GreyScale all frames and use as a mask. You get a version where the transparency is way below the original.
2) Remove black matte. You instantly get (about) the same thing. After converting colors to black (all rbg color values to 0) and use that as a mask for webm, you get a very sharp image but with some information lost (you don't see the handle of the ice sword for example). Otherwise there are no artifacts of any kind.

=====>>>
The very best way to recover the lost information (imo) would be to remove the matte and write a script that would go over every frame pixel by pixel and increase pixels alpha based of predetermined range (low increase for high alpha, 0 increase for 0 and high increase for low alphas) but it's not something I want to write atm :D

Edit: Maybe some color information is lost as well... it'll prolly require a genius to get it right...
Title: Re: General Discussion
Post by: DarkTl on March 31, 2016, 06:14:12 AM
I found a source code of the tool that I used to rip maple resources and fixed a few errors. It will allow me to rip some more animations, although I'm not sure if all those animations from your db are still in the game.
Title: Re: General Discussion
Post by: Xela on March 31, 2016, 07:14:12 AM
Ok, quality of the original resources is obviously a lot better cause there was color and alpha loss when converting to gifs.

But those resources are not really setup for conversion to .webm either, creating wemb from png images is not an issue but in their case, all images are of different size and quite possibly require different rules/scripts to animate them.

It'll still be great, if you can get more out of it :)
Title: Re: General Discussion
Post by: DarkTl on March 31, 2016, 09:50:09 AM
Can't be helped, in the game they use custom settings for every single frame (yeah, not even an algorithm).
Title: Re: General Discussion
Post by: Xela on March 31, 2016, 11:53:15 AM
Can't be helped, in the game they use custom settings for every single frame (yeah, not even an algorithm).

Yeah... but those animations are great. It's totally worth just ATLing them as images, prolly easier than converting to webm as well.
Title: Re: General Discussion
Post by: DarkTl on March 31, 2016, 02:51:45 PM
There we go. In my db/maple/new the set of pictures starting with 75 is your ice spell.
Title: Re: General Discussion
Post by: Xela on March 31, 2016, 03:39:43 PM
Awesome :)
Title: Re: General Discussion
Post by: Xela on April 01, 2016, 05:59:14 AM
I wonder if it's worth clearing GUI to simplify future development cause some mistakes with style made in the past (very beginning of the project) are still messing things up and make gui development more time consuming :(


Yeah... just tried it and it doesn't look like too much work. I'll prolly kill our default theme and restyle the base styles to something new. on the other hand, it's better to do it gradually over time.
Title: Re: General Discussion
Post by: DarkTl on April 01, 2016, 06:39:30 AM
That ice sword actually a part of big animations set for both swords and axes with multiple elements, so it's probably better to leave it for warriors skills or something if had plans to use it as an ice spell.
Title: Re: General Discussion
Post by: Xela on April 01, 2016, 06:50:17 AM
That ice sword actually a part of big animations set for both swords and axes with multiple elements, so it's probably better to leave it for warriors skills or something if had plans to use it as an ice spell.

No, I was figuring out the .webm conversion. That was just an example of an animation that was really hard to convert from a black bg gif.
Title: Re: General Discussion
Post by: DarkTl on April 02, 2016, 08:16:42 AM
I removed all old conversions from db because it quickly became confusing when I tried to figure out which ones I don't have yet. I'll just reconvert everything again.

I think I cannot access some images because they are encrypted with a new algorithm which is not supported by the ripping software, and I never worked with encrypted data, so there is nothing I can do.

At the equipment screen when you select an item, the game shows you how stats will be changed after equipping/unequipping. Positive changes are green, negative are red.

And stats that don't change at all are red too, except health. Why? It makes no sense.
Title: Re: General Discussion
Post by: Xela on April 02, 2016, 10:30:46 AM
And stats that don't change at all are red too, except health. Why? It makes no sense.

I need a screenshot of this.
Title: Re: General Discussion
Post by: DarkTl on April 02, 2016, 02:19:26 PM
Huh. It works as intended now, and I didn't even used recompile.
It worked like that once I launched the game after your last push.
Title: Re: General Discussion
Post by: Xela on April 02, 2016, 02:59:21 PM
Weird, I don't recall touching that code.
Title: Re: General Discussion
Post by: lamoli on April 03, 2016, 06:01:53 AM
Hmm.. been searching all this time but never found decent profile with angry/smiling/happy could you fetch me some image samples of those ?
( they do not have to be closeup just the expression with pose(if part of the body is seen) )
Title: Re: General Discussion
Post by: DarkTl on April 03, 2016, 11:38:58 AM
Weird, I don't recall touching that code.
Looks like weird things happen from time to time. A month ago I had an instant CTD without usual renpy logs after starting a new game once I enabled previously disabled sound via that button in the top menu. Cannot reproduce it too, it just happened. Perhaps it's because we use prerelease version?

Hmm.. been searching all this time but never found decent profile with angry/smiling/happy could you fetch me some image samples of those ?
I'll take a look.
Title: Re: General Discussion
Post by: sohz on April 03, 2016, 12:00:09 PM
We still need writers, graphics and game designers so if you want to dedicate some of your time into development of this project, feel free to post here or PM me!

Hey i follow your progress from the start, i would  like to help but im not really good with english and with coding. Thescreens looks very promising ;)
Title: Re: General Discussion
Post by: DarkTl on April 03, 2016, 04:03:19 PM
Well, if you are good with drawing, we could use interface improvements here and there.

If not, you could create items, that only requires basic English and imagination, we have tons of excellent items icons.
Title: Re: General Discussion
Post by: sohz on April 04, 2016, 10:04:35 AM
Well, if you are good with drawing, we could use interface improvements here and there.

If not, you could create items, that only requires basic English and imagination, we have tons of excellent items icons.

Im not good with art but creating items? why not if that can help ;)
Title: Re: General Discussion
Post by: DarkTl on April 04, 2016, 10:36:02 AM
Xela, we are out of space in db thanks to marple resources. Consider cleaning your shared folder a bit, maybe removing clearly inferior animations.

Im not good with art but creating items? why not if that can help
For a start follow these (http://www.pinkpetal.org/index.php?topic=1291.msg38629#msg38629) instructions to obtain the dev version.
Title: Re: General Discussion
Post by: DarkTl on April 04, 2016, 11:21:01 AM
Hmm.. been searching all this time but never found decent profile with angry/smiling/happy could you fetch me some image samples of those ?
Here we go. (https://www.dropbox.com/s/0mfgu82v27328fb/emotions.rar?dl=0)
Title: Re: General Discussion
Post by: Xela on April 04, 2016, 03:16:10 PM
Xela, we are out of space in db thanks to marple resources. Consider cleaning your shared folder a bit, maybe removing clearly inferior animations.

I removed my folder, don't they give you extra space if you pay them for at least an year?

If not, you could create items, that only requires basic English and imagination, we have tons of excellent items icons.

I don't want to add any more item filters (clutter in interface)... maybe the "building resources" could simple be added to unique items filter...
Title: Re: General Discussion
Post by: DarkTl on April 04, 2016, 04:17:13 PM
I removed my folder, don't they give you extra space if you pay them for at least an year?
Yeap, but we collected too much resources  :)
After devaluation db premium effectively became twice as expensive for me.

I don't want to add any more item filters (clutter in interface)... maybe the "building resources" could simple be added to unique items filter...
Yes, I suppose we could use it for all directly unusable items.
Title: Re: General Discussion
Post by: Xela on April 05, 2016, 12:05:58 AM
Yes, I suppose we could use it for all directly unusable items.

We'll leave gifts separate (for now). I'll look into merging two or more slots into one, I think it's doable since we're using a class for sorting so all the code is at one place.

===>
Transfer screen should be a lot better now, I'll fix the rest of the code after refactoring. Also advances cleaning job a bit but it's not yet ready.
Title: Re: General Discussion
Post by: DarkTl on April 05, 2016, 02:21:07 AM
We should automate the creation of spells scrolls. They share the same icon per element, the same name "[spell name] scroll", the same description except for spell name again, the same location (Exploration).

Creating scrolls manually for every new spell/skill is unwise. Price and chance plainly could be based on spell effect value or something, or could be set somewhere else.
Title: Re: General Discussion
Post by: Xela on April 05, 2016, 02:31:52 AM
We should automate the creation of spells scrolls. They share the same icon per element, the same name "[spell name] scroll", the same description except for spell name again, the same location (Exploration).

Creating scrolls manually for every new spell/skill is unwise. Price and chance plainly could be based on spell effect value or something, or could be set somewhere else.

Doable... we should prolly start an issue.
Title: Re: General Discussion
Post by: DarkTl on April 05, 2016, 11:53:49 AM
Transfer screen should be a lot better now, I'll fix the rest of the code after refactoring. Also advances cleaning job a bit but it's not yet ready.
But I don't see all characters in the building at the transfer screen. The set of characters there is a bit different every time I restart the game, but I never see all of them.

Like Hinata, our testing items container, who is always in the testing building. I started the game 5 times, and never saw her at the screen.
Title: Re: General Discussion
Post by: Xela on April 05, 2016, 12:12:53 PM
Yeah, I noticed that as well, guess the sorting code is not up to date yet, using older fields. I'll add another issue.
Title: Re: General Discussion
Post by: Xela on April 05, 2016, 01:32:13 PM
Creating scrolls manually for every new spell/skill is unwise. Price and chance plainly could be based on spell effect value or something, or could be set somewhere else.

Maybe add it to spells themselves or something, I've labeled it longterm for now... gonna take a look at wtf is happening with sorting of characters.

Edit:

Char sorting seems to be in better shape than I thought, it is working for now... (I hope, system is complex and code is incomplete atm).

Also fixed a weird bug where chars refused to give up an item twice, that should not have been happening at all...
Title: Re: General Discussion
Post by: DarkTl on April 05, 2016, 03:27:36 PM
I have to say, some of those animations are very complex. For example, one summons a cannon that shots a cannonball which flies and then explodes.

Summoning cannon, making a shot ie showing powder gases, flying ball and explosion are all different animations.
Title: Re: General Discussion
Post by: Xela on April 06, 2016, 12:38:16 AM
I wish they were naming their animation better... but by the looks of it, they are animating frame by frame in any case so complex or not, workload is quite large.
Title: Re: General Discussion
Post by: Xela on April 06, 2016, 02:21:06 PM
I decided not to create an auto-creation system for magic (after I wrote some code for it) ==> items for now because it will limit the modding and create some confusion. We should prolly move them to a separate json file, later also adding relevant elements to good traits and maybe use more icons. We also don't want scrolls for all spells. And some could be sold in shops, like Abby should prolly sell fire spells, maybe even unique once at a very low chance.

Basically, I think auto-system is not a good idea in the long run, it may be not flexible enough in the long run and we'll have to allow a possibility to mod almost every field through Spell declarations which is kind of like recreating items system. Also at some point, I wanted to add spells that would be removed after x amount of days using consumable temp system which would also suffer with this.
Title: Re: General Discussion
Post by: DarkTl on April 06, 2016, 03:08:22 PM
If we implement all animations, we'll have like 1000 spells/arts roughly. I'm not going to create 1000 scrolls manually no matter what.
Title: Re: General Discussion
Post by: Xela on April 06, 2016, 03:18:50 PM
If we implement all animations, we'll have like 1000 spells/arts roughly. I'm not going to create 1000 scrolls manually no matter what.

It'll take 30 min - 1h per animation for decent spells and 1 min copy-pasting and adjusting the scroll + we will not need scrolls for all animations cause some will be unique to bossed and specific characters + I would really hate it if all new spells could be learned through scrolls (or just land themselves in Exploration areas).
Title: Re: General Discussion
Post by: DarkTl on April 07, 2016, 10:35:57 AM
Schools are broken somehow.
Quote
While loading <'ProportionalScale' <'Image' u'D:\\Pytfall\\RenPy\\PyTFall/game\\content/schools/Group/Thumbs.db'> 175 175 True>:
  File "game/library/screens/training.rpy", line 27, in script
    with dissolve
  File "game/library/UDDs.rpy", line 219, in load
    child = im.cache.get(self.image)
error: Unsupported image format
I thought you already resolved the issue with Thumbs.
Title: Re: General Discussion
Post by: Xela on April 07, 2016, 11:25:26 AM
Schools are broken somehow.I thought you already resolved the issue with Thumbs.

Not really :(

There is an issue for a general overhaul of all data/image loading routines but it's a huge undertaking that I don't want to mess with at the moment so these things are solved on case per case basis.

Main problem is that usual Ren'Py way (which can be used safely and will work on any os, Android and iOS included), as it is, not a good option cause it is working rather slowly because of the amount of files that we have and due to being somewhat inflexible.

There are checks for these things almost everywhere, I guess one spot in the code just fell through the cracks :)
Title: Re: General Discussion
Post by: Xela on April 07, 2016, 02:25:41 PM
Schools are broken somehow.I thought you already resolved the issue with Thumbs.

Finally found it, it was in Thewlises code.
Title: Re: General Discussion
Post by: DarkTl on April 08, 2016, 04:59:52 AM
Quote
                    if file.endswith((".png", ".jpg")):
                        images.append("schools/%s/%s"%(p, file))
Doesn't it mean that the game will ignore *.jpeg? I have none in my packs, but we cannot guarantee there won't be any in other packs or among our backgrounds.

Ok, I finished with maple. Try to drop maple gifs to db again, I have a bit more space now.
Title: Re: General Discussion
Post by: Xela on April 08, 2016, 03:13:02 PM
Doesn't it mean that the game will ignore *.jpeg? I have none in my packs, but we cannot guarantee there won't be any in other packs or among our backgrounds.

Ok, I finished with maple. Try to drop maple gifs to db again, I have a bit more space now.

jpeg can be renamed to jpg. Also that bit of code is valid only for schools.

===>>
Maple resources are still in my DB, I'll see if I can get a link for that folder tomorrow.
Title: Re: General Discussion
Post by: Xela on April 08, 2016, 04:03:30 PM
Oh man... there are some really cool animations there! firewhirl thing looks awesome, dice are great. Loads of other stuff too... Too bad there is so much other stuff that needs to be taken care of first :(
Title: Re: General Discussion
Post by: DarkTl on April 08, 2016, 04:38:07 PM
Yeah. They are divided according to internal game structure, there are skills and effects databases.

I learned a bit about the game, there was a big story update some time ago that changed many things forever, including animations. No wonder I cannot find some of your gifs in the resources.
Title: Re: General Discussion
Post by: DarkTl on April 09, 2016, 05:11:09 AM
Quote
if os.path.isdir("/".join([dir, packfolder, folder])):
                                # We set the path to the character so we know where to draw images from:
                                setattr(char, "_path_to_imgfolder", "/".join(["content/{}".format(path), packfolder, folder]))
                                # We load the new tags!:
                                for fn in os.listdir("/".join([dir, packfolder, folder])):
                                    if fn.endswith((".jpg", ".png", ".gif")):
Gifs? They are not supported, aren't they?
Title: Re: General Discussion
Post by: Xela on April 09, 2016, 07:53:42 AM
Animated gifs are not supported, but you'll see the first frame of the file. Ren'Py prolly supports a few other image formats as well, I don't remember why I put it there, someone prolly asked me to.

===>>
I've looked into Ren'Py's file listing a little bit. At some point we'll prolly call that function (once), sort all files appropriately and load the data in a correct order. There will be no further need of OS module and multiple places/function with separate checks. What we're doing now will only work on MAC/Linux/Win and prolly not if we ever start using "archive" system when releasing the game to reduce the amount of files.
Title: Re: General Discussion
Post by: DarkTl on April 12, 2016, 04:22:13 AM
I was curious why gifs and apngs are not supported and read renpy forum a bit. Turns out apngs are not popular enough to add support for them, and gifs are not supported due to low specifications, like 256 colors and no full alpha support.

But at the same time we make webms from gifs, passing the same low specifications to them. Seems legit  ::)

For better results we probably should do something like this (http://wiki.webmproject.org/howtos/convert-png-frames-to-webm-video).
 
Title: Re: General Discussion
Post by: Xela on April 12, 2016, 04:44:18 AM
I have posted the code line to create webm from png series. But it is not a good option for maple stuff. We could try adobes studio or whatever that is called as well... there may be alignment options there as well.
Title: Re: General Discussion
Post by: DarkTl on April 12, 2016, 05:40:18 AM
Yeah, I'll try cured-of-greed adobe animate cc then, swfs could be converted to webms too.
Title: Re: General Discussion
Post by: DarkTl on April 12, 2016, 10:48:04 AM
I can't express how easily one can create a swf or a mov from a sprite sheet in animate cc. Too bad it cannot make a webm directly, kinda lame for the price they ask.

And here (http://www.mirovideoconverter.com/) is a decent free offline tool for converting videos to webms.
Title: Re: General Discussion
Post by: Xela on April 12, 2016, 12:49:26 PM
Looks good, was this one of the animations that required alignment? I am not sure that Animate CC is the best soft for this either. I am gonna try something else tonight.

==>>
We'll also need a way to create alpha channel for webm...
Title: Re: General Discussion
Post by: DarkTl on April 12, 2016, 01:20:40 PM
Kinda, it required central alignment. You can freely move separate frames with mouse to manually set any kind of alignment, and probably more, I don't know about all options yet. And of course CC has its own effects that may help to make better animations, after all it was made to create animations not only from sprites sheets.

I don't think we have a better option than using grayscaled animation as alpha. I suppose a pro artist could make a perfect alpha webm manually, but that's an overkill.
Title: Re: General Discussion
Post by: Xela on April 12, 2016, 06:40:48 PM
Kinda, it required central alignment. You can freely move separate frames with mouse to manually set any kind of alignment, and probably more, I don't know about all options yet. And of course CC has its own effects that may help to make better animations, after all it was made to create animations not only from sprites sheets.

I couldn't figure out the Animation CC BS, peace of sh!t, sorry excuse for a software :) We don't need it anyway, we're making movies, not flash animations so for us it's either AE or Premiere.

Quote from: DarkTl link=topic=1291.msg3945
1#msg39451 date=1460481640
I don't think we have a better option than using grayscaled animation as alpha. I suppose a pro artist could make a perfect alpha webm manually, but that's an overkill.

AE makes a movie from png files with 3 clicks of a button and a perfect mask (I mean it, perfect one) with another 5 clicks. Two resulting files (movie + mask) turn out only slightly smaller than the original .pngs but I haven't looked into optimization yet.

1) Get After Effects.
2) Get Media Encoder.
3) Get .webm plugin for Media Encoder.
4) Import .png files into AE. Don't use sequence import, just the files. Create a composition (here you click the sequence check-button) from the files using the largest file for size (manually look for it..., there might be a script for this but I haven't looked for on yet).
5) Make sure FPS/Alignments are to your liking (FPS is a bitch and there doesn't seem to be an option to setup alignments vs the canvas for all files properly :( ).
6) Export the movie to ME.
7) Go to effects and under Channel, pick Set Channels. Set Red Channel to Alpha and turn off Green, Blue and Alpha Channels.
8 ) Export the mask to ME.
9) Setup the files in ME so the format is webm. Take parameters from the original file. Bitrate on Alpha channel can prolly be low to beat down the size a bit.

I've tested it in Ren'Py already, it works great and looks really, really good but unless there is a better way to optimize webms, we can just use Ren'Py animations directly, especially in cases with smaller files.

Afterthought... maybe we can remove alpha channel from movie. It's prolly useless. If that can improve the size...
Title: Re: General Discussion
Post by: DarkTl on April 13, 2016, 01:12:59 AM
We don't need it anyway, we're making movies, not flash animations so for us it's either AE or Premiere.
Actually, for some reason swfs made by CC cannot be converted to webms, there is an error of some kind. But it also can make .mov videos from sprite sheets, and they can be converted  :)

I read their forums a bit, pro artists who paid a sh*t-ton of money for CC keep asking for webms support for years since it's a very popular format, but nope, adobe is too interested in formats war to add it.

AE makes a movie from png files with 3 clicks of a button and a perfect mask (I mean it, perfect one) with another 5 clicks.
Uh, what about alignment? Can it be freely adjusted for every frame?
Title: Re: General Discussion
Post by: Xela on April 13, 2016, 02:47:34 AM
Yes. Adjusting alignment is possible for a selection or even for all frames at once as well but it is working oddly. Per frame it's easy. Just like you described for Animate, you can drag and drop or set values.

We need to learn more about optimisation in both programs cause this combo feels perfect
+ it can save to webm directly using a third party plugin. Ren'Py works best with all movies running the same framerate so we need an acceptable standart.

I still haven't undertood framerate settings during import of png images. I can control it by setting up composition frame rate  and time during png to compositionto get the desired result but without full understanding of what's what.

Also, I haven't figured out how to change duration of one image. There is a time setting for it but it cuts into the general sequence. It's all prolly very easy but there aren't many guides around... and I was very tired yesterday as it was.

Prolly with proper knowledge of soft, we can do better than I did by trial and error. Also Premiere may be worth giving it a shot...

Edit: Premiere can do what is required as well, based off what I've just read. It's for movie editing while ae is for composing but our task is so simple that it prolly wouldn't matter which is used.
Title: Re: General Discussion
Post by: DarkTl on April 13, 2016, 04:24:03 AM
Well (http://www.videoschoolonline.com/what-is-the-difference-between-adobe-premiere-pro-and-adobe-after-effects-and-why-i-use-both/), they say After Effects is better for 2D animations, although professionals probably use both.
Title: Re: General Discussion
Post by: Xela on April 13, 2016, 05:06:22 AM
Well (http://www.videoschoolonline.com/what-is-the-difference-between-adobe-premiere-pro-and-adobe-after-effects-and-why-i-use-both/), they say After Effects is better for 2D animations, although professionals probably use both.

Yeap, but we don't really need to animate much. Just showing a bunch of images in a sequence is possible in most editing software of adobe. Even in photoshop, so for us the only thing that matters are the options availible and simplicity and accessibility of those options.

We need to be able to create mask. It prolly doesn't get any easier than in ae. We need to be able to set alignments and change time each image is shown freely. That may be easier in animate or premiere, that's why I mentioned it. We'll prolly stick to ae... it may take a bit of effort to figure out but if it can change time image is shown, automatically adjusting times of other images to get rid of cteated gap or overlap and set alignments properly in bulk which worked ok for me setting 25 frames properly while fucking up 3 or 4, so not perfect as messed up frames must be adjusted frame by frame.

Reading about premiere, it feels like it should be easier to change timings. It may be super easy using ae as well, but I don't have access to software atm.
Title: Re: General Discussion
Post by: DarkTl on April 13, 2016, 06:30:31 AM
I figured Media Encoder with plugins is used to make actual webm, no matter the tool we used to make animations. Does it support the same stuff as online converters?
Title: Re: General Discussion
Post by: Xela on April 13, 2016, 07:05:11 AM
You're right, it shouldn't matter where we export from to the encoder (I only tried AE really... I was very pleased when I found color channel manipulation as an option there, no guide would even hint on it and they were all bsing about using transparent backgrounds for layers when composing no matter what word combinations I tried to feed Google). .webm is a very straightforward format, one of the reasons it is well liked. You do get some options you can tweak, yeah. I don't know if it's better/worse that the converter you linked because I am using a different one.
Title: Re: General Discussion
Post by: DarkTl on April 13, 2016, 07:38:31 AM
I mean, at very least completely disabling sound, like in that online converter, may be useful for reducing size of webm.
Title: Re: General Discussion
Post by: Xela on April 13, 2016, 07:58:51 AM
I mean, at very least completely disabling sound, like in that online converter, may be useful for reducing size of webm.

Yeah, there is one click option to kill sound utterly and completely. Watching some online videos, I think that there is a quick and easy way for for third point (changing image time and making sure all other images adapt accordingly). If it's true, this is another huge win for AE. Alignment is not that big of a deal because in more complex animation you'll have to correct some frames anyway.
Title: Re: General Discussion
Post by: Xela on April 13, 2016, 09:16:38 AM
LMAO :)

I cannot repeat whatever the hell I did yesterday! Alpha channel doesn't want to move to red  ::) I still have the .webm files I created and tested in Ren'Py but I cannot recreate them from the same png sequence :D

Gonna keep trying to figure out the software.
Title: Re: General Discussion
Post by: Xela on April 13, 2016, 11:43:39 AM
Edit:

I still cannot figure out how to replace the channel, this is made through a calculations hack, it's good and all but it is not perfect as it was before :( Just did a large animation, size is down a lot but damned mask is pissing me off!

Edit #19325: :D

I figured out how to do everything we might need using AE, as well as a couple of cool SE effects, but there are like 200+ of those with multiple settings.


Title: Re: General Discussion
Post by: DarkTl on April 13, 2016, 02:32:10 PM
I figured out basics. Timeline is weird compared to CC. Mask kinda works like you described, with red taken from alpha. Alignment works too, as long as I implement it for all frames at once (works weird for selected ones).
Title: Re: General Discussion
Post by: Xela on April 13, 2016, 03:10:48 PM
I figured out basics. Timeline is weird compared to CC. Mask kinda works like you described, with red taken from alpha. Alignment works too, as long as I implement it for all frames at once (works weird for selected ones).

Alignment does some weird crap at times but I got it to work for the most part. Couple of images sometimes end up off but that can be fixed on frame per frame basis.

I also figured out how to work timeline, it's actually really simple. I can no longer get the mask to work like before, no matter what I do but I am using Channel Combiner instead now (Alpha to Only Alpha). It is working exactly the same as changing the channels were before.

I've changed MoZ to .webm, now without replacing background with black and pushed.
Title: Re: General Discussion
Post by: Xela on April 14, 2016, 12:24:13 PM
LoL: https://youtu.be/KOzpFC1KbxI
Title: Re: General Discussion
Post by: DarkTl on April 14, 2016, 03:55:31 PM
That's insane  :D

I have twice as much space in db now thanks to people here at the forum, you can return to the shared folder your animations.
Title: Re: General Discussion
Post by: Xela on April 14, 2016, 04:21:09 PM
Done. I just pushed to private folder in the DB.

Didn't manage to get a lot done tonight :( Just a bit more logic for the cleaning job.
Title: Re: General Discussion
Post by: DarkTl on April 16, 2016, 04:27:34 AM
I'm improving bestiary screen. If you'll take a look at it, you'll see that the panel where we show stats of the selected mobs is too short, and it completely ignores my attempts to ProportionalScale it. Wtf?
Title: Re: General Discussion
Post by: Xela on April 16, 2016, 05:50:53 AM
and it completely ignores my attempts to ProportionalScale it. Wtf?

It's prolly the Proportional part, it means that it will keep the new image size proportional to the size of the original so if you want to to stretch all the way down, it must be stretched vertically as well by the same proportion... sounds perfectly reasonable and intuitive so "Wtf" is a bit offbase in this case.

I've pushed a fixed version. We have some really cool mobs btw, never really looked at them up close until now.
Title: Re: General Discussion
Post by: DarkTl on April 16, 2016, 08:54:45 AM
Never had such issues with Proportional in VN mode.

At the MC profile screen frames stats like charisma have 1 pixel between them, but at the mobs screen they don't have it and as a result visually merge into one big frame. I don't understand how to fix it.
Title: Re: General Discussion
Post by: Xela on April 16, 2016, 09:48:35 AM
Never had such issues with Proportional in VN mode.

It works the same everywhere.

At the MC profile screen frames stats like charisma have 1 pixel between them, but at the mobs screen they don't have it and as a result visually merge into one big frame. I don't understand how to fix it.

I initially coded that as two vboxes inside of a hbox but I didn't like how it looks with extra spacing so I removed it.
Title: Re: General Discussion
Post by: DarkTl on April 16, 2016, 01:01:19 PM
Ah, so proportional part does matter. And scale() does it for any size. I used only proportional so far, and kinda thought it's universal.

Mobs in the list should be sorted by min_lvl field, from min to max. They are too chaotic atm. Don't think I can do that on my own.
Title: Re: General Discussion
Post by: Xela on April 16, 2016, 01:51:19 PM
Oki, I'll take a look. I am trying to write a new method so jobs can build kind of a "moving" line-up of images, it is kicking my ass but I've almost got it.
Title: Re: General Discussion
Post by: DarkTl on April 16, 2016, 03:00:03 PM
It appears that the game treats mobs without elemental traits as creatures without elements at all. In truth however they should be neutral, as if they had the Neutral trait. Even if I fix it inside the bestiary gui, that still would be a problem inside BE, so a more general fix is needed, when the game just loads mobs from the json.
Title: Re: General Discussion
Post by: Xela on April 16, 2016, 04:34:57 PM
It appears that the game treats mobs without elemental traits as creatures without elements at all. In truth however they should be neutral, as if they had the Neutral trait. Even if I fix it inside the bestiary gui, that still would be a problem inside BE, so a more general fix is needed, when the game just loads mobs from the json.

Could you add Neutral for all mobs? We do not create them as objects because mobs do not "live" and "evolve" like normal characters. They WILL have all stats, traits and go the normal normalization routines when they are actually created as mobs before battles but Bestiary works off raw data before any normalization routines and it's close to stupid to create advanced objects just to display their base info.
Title: Re: General Discussion
Post by: DarkTl on April 16, 2016, 04:56:35 PM
Ok, I'll do it.

Aside from sorting mobs by min_level, there are few things unfinished at the beast screen. First, in the second stats column for some reason numbers ignore xalign 0.98, unlike the first column. No idea why.
Second, the whole part from description to spells should be scrollable (with one general scrollbar), otherwise there won't be enough space on the screen. I know there is viewport for that, but can't make it work.
Title: Re: General Discussion
Post by: Xela on April 16, 2016, 05:55:14 PM
Aside from sorting mobs by min_level, there are few things unfinished at the beast screen. First, in the second stats column for some reason numbers ignore xalign 0.98, unlike the first column. No idea why.

You went out of bound of the main frame xysize so it aligned against the the bounds of the main container. I've increased it's size (leaving your code unchanged) so it's better now.

Second, the whole part from description to spells should be scrollable (with one general scrollbar), otherwise there won't be enough space on the screen. I know there is viewport for that, but can't make it work.

Also done, I decided to go with edgescroll instead of a scrollbar there, it looked ugly with one.

==>
I think that the viewport for reports with many workers is more or less finished, I'll prolly test the whole design tomorrow if it can be debugged quickly...
Title: Re: General Discussion
Post by: DarkTl on April 17, 2016, 05:56:00 AM
Is there a way to tie width of a frame to width (in pixels) of a text? To make the frame size dependable on the text length.
Title: Re: General Discussion
Post by: Xela on April 17, 2016, 06:08:09 AM
Is there a way to tie width of a frame to width (in pixels) of a text? To make the frame size dependable on the text length.

Yes, frame is designed to take the size of the displayable it contains unless that functionality is not overwritten by providing a size to it. There are many example of that in the game, girlsmeets are one such an example (I think), we are using a frame that takes the size that is just slightly larger than the gm image. There is not much difference between Text and Images internally where frames are involved.

So basically, the answer is yes, if you do not provide a size to a frame, it should take the size of the text. padding (mostly padding I think) and margin style properties of the frame will determine how much larger the frame will be than the text.

PS: You can try this stuff on a fresh project so there is no bloat and it runs really fast.

==>
Cleaning will require a bit more luv and I'll be busy for the better part of today, so while I am typing in new code whenever I can, chances that it'll be finished and debugged today are slim.
Title: Re: General Discussion
Post by: DarkTl on April 17, 2016, 08:28:14 AM
The good news: beast screen is finished. The bad news: the new button that is supposed to return you to the previous screen suddenly stopped working, even though it used to at some point, and I changed nothing about it  ::)

Also, I still hope for advanced elements icons algorithm that uses circle sectors instead of circle slices. I bet it would looked much better.
Title: Re: General Discussion
Post by: Xela on April 17, 2016, 09:32:29 AM
The good news: beast screen is finished.

Looks good, maybe we should use a fixed description size and change the size of the font to accommodate that but it can be done later. We'll have to handle image prediction as well at some point. We can't do everything at once, we still don't have anything good for MC setups even through code is more or less ready and items/base traits system is done.

The bad news: the new button that is supposed to return you to the previous screen suddenly stopped working, even though it used to at some point, and I changed nothing about it  ::)

I doubt it, you removed the comma from it's action when you changed the button (kind of a big deal there), it should not have worked at all.

Also, I still hope for advanced elements icons algorithm that uses circle sectors instead of circle slices. I bet it would looked much better.

I have a pretty good idea on how to get that done but it's cool as it stands. Also, there are other options like dissolving one element into another or adding movement from left to right.
Title: Re: General Discussion
Post by: DarkTl on April 17, 2016, 09:56:15 AM
Damn. No idea how the comma has been deleted, there was no reason to do so, I just copied that code from another screen  :)

I reduced description font a bit. Atm all info is visible at the screen without the need to scroll it, but scrolling is still there in case if some mob will have too many spells or something.
Title: Re: General Discussion
Post by: Xela on April 17, 2016, 10:46:06 AM
I reduced description font a bit. Atm all info is visible at the screen without the need to scroll it, but scrolling is still there in case if some mob will have too many spells or something.

Yeah, I tried pulling your last changes and thought that it worked but git did some weird thing that mixed everything up. It looks a lot better now.
Title: Re: General Discussion
Post by: DarkTl on April 17, 2016, 11:17:29 AM
I improved characters screen a bit, for instance moved MPTrait icon where I imagined they should be when I made them. We need a better frame there that can combine both character name and MPTrait icon in one pretty frame, something like this (http://i45.tinypic.com/oh8lxx.png) (obviously looking more suitable).
Title: Re: General Discussion
Post by: Xela on April 17, 2016, 01:19:48 PM
This one could actually be perfect...

Trait icon + status (resting/active/learning (we color the tiny round)) + name + location + action...

Interface is fine for a beta, more than fine in my opinion.
Title: Re: General Discussion
Post by: DarkTl on April 17, 2016, 01:35:07 PM
Our interface is wood based, so I'll need to add wooden textures there.

Quote
                    # Basetraits:
                    vbox:
                        xsize 315
                        xfill True
                        fixed:
                            xysize (300, 70)
                            yfill True
                            for trait in sorted(list(char.traits.basetraits)):
                                $ temp = (0.7, 0.9) if sorted(list(char.traits.basetraits)).index(trait) else (0.3, 0.1)
                                textbutton "[trait]" action NullAction() hovered tt.action(trait.desc) align temp
How does it work? Can it handle cases when the character has 2 base traits?
Title: Re: General Discussion
Post by: Xela on April 17, 2016, 01:46:15 PM
How does it work? Can it handle cases when the character has 2 base traits?

VBox prolly aligns more stuff (code below, not quoted here) so it's not really a part of base traits.

Fixed is the most basic container. It just creates an area, no alignments, backgrounds or any crap like that so we create an empty space of 300x70 pixels. Next line determines an alignment, .3, .1 for the first trait and .7, .9 for the second (only if there is a second trait). Then we create plain text buttons and align them appropriately, description is sent to tooltip if buttons are hovered.
Title: Re: General Discussion
Post by: Xela on April 17, 2016, 01:58:07 PM
F*ck!

I forgot that all job reports are individual and we do not have a proper system to relay data of "team" efforts. I'll add a hack for now to wrap up basic flow of the Cleaning job and create an issue to add "Team" efforts to ND reports somehow...
Title: Re: General Discussion
Post by: Xela on April 17, 2016, 03:29:09 PM
Ok, base code for cleaning job is finished and debugged. There is still loads of stuff to do but I am happy that the base is working :)
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 03:18:33 AM
Also, there are other options like dissolving one element into another or adding movement from left to right.
We should try dissolving with some cool circular mask.

Trait icon + status (resting/active/learning (we color the tiny round))
There is also another status that we show nowhere atm, friendship and lover stuff. Again, a dissolving with a circular mask probably will look cool there.
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 03:41:11 AM
True but I am more concerned about jobs/buildings/upgrades atm to think about interface. My plan was to finish core code, ask gismo to hack interface while I am cleaning/wrappping shit up and you're balancing/adding content.

We're still lacking in a number of areas :(
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 04:10:17 AM
Omg, that pesky MPTraits animation. I made it like
Quote
            frame:
                align (.0, .0)
                xysize (330, 126)
                background Frame(Transform("content/gfx/frame/base_frame.png", alpha=0.98), 330, 126)
                hbox:
                    ysize 110
                    $ trait = char.personality
                    $ img = ProportionalScale("".join(["content/gfx/interface/images/personality/", trait.id.lower(), ".png"]), 120, 120)
                    imagebutton:
                        align (.0, .0)
                        at pers_effect()
                        xcenter 54
                        ycenter 59
                        idle img
                        hover img
                        hovered tt.Action("{=library_book_header_main}{color=}{size=17}%s{/=}{/color}{/size}"%trait.id + "\n" + trait.desc)
                        action NullAction()
And when MPTrait icon expands, it also expands the background frame background (tautology  :) ), ruining the interface. Even though there should be plenty of space for it anyway. How to force background to not expand?
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 04:32:19 AM
Can any element of interface have a tooltip? Or it's limited to buttons?

Buttons only. It wouldn't make sense otherwise, since buttons can be text, images, displayable, animations and etc. You'd be slowing the engine to a crawl if possibility of tooltips was added to all displayable (which it can be quite easily).
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 04:43:21 AM
Omg, that pesky MPTraits animation. I made it likeAnd when MPTrait icon expands, it also expands the background frame background (tautology  :) ), ruining the interface. Even though there should be plenty of space for it anyway. How to force background to not expand?

Seems to be working fine for me.

Depends on case per case basis. You could use a fixed image for a background (would not be the best solution but it would solve the issue). You can also try and track down why it changes size even through there is plenty of space, for example, you could create a fixed that has a size larger than animation in it's largest state, put the animation aligned to perfect middle. You can add an empty space (Fixed) where the animation should be and put the animation code completely outside of the frame, it would be absolutely impossible for it to effect the frame this way. There are other options as well...
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 04:57:28 AM
I tried to add maximum (330, 126) to the frame, nothing changed, while it's supposed to limit its size.
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 05:02:09 AM
Quote
        frame:
            background Frame(Transform("content/gfx/frame/p_frame5.png", alpha=0.98), 10, 10)
            xysize (330, 780)
            xanchor 0.01
            ypos 30
This code draws the whole big left panel background at the character screen. I don't understand what 10,10 do there. Nothing changes when I change them.
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 05:09:49 AM
I tried to add maximum (330, 126) to the frame, nothing changed, while it's supposed to limit its size.

It does but it will not force the size limitation (it will not mutilate the displayable inside of the frame, nor will it rape their placements if their combine size exceeds frames maximum). Also this: xysize (330, 126), already sets the maximum so you'd just be doing it twice. This wasn't in my suggestions btw.

This code draws the whole big left panel background at the character screen. I don't understand what 10,10 do there. Nothing changes when I change them.

https://www.renpy.org/doc/html/displayables.html#Frame
https://www.renpy.org/wiki/renpy/doc/cookbook/Customizing_Textbox_appearance

You can omit that in this case in modern Ren'Py. It should prolly be 0 in our case anyway.

==>
I do not see this effect, did you change something else since your last push??
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 05:25:55 AM
Just did my first push today, if you want to take a look.
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 06:00:10 AM
Just did my first push today, if you want to take a look.

It's a really bad idea to use a frame here. Also it would prolly look a lot cooler if the circle was transparent and we drew the animation behind it, but we can always to that later. You've also added center and alignment to the button... that is a pretty insane thing to do.

I'll fixes the basics and push back.
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 06:13:23 AM
Also it would prolly look a lot cooler if the circle was transparent and we drew the animation behind it, but we can always to that later.
I'm not sure yet what will be the best. I planned to make the animation work, figure out the best values for animation zoom and time, and then test it with different frames to find out.
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 06:22:17 AM
Ok... I changed it to Fixed. Why are you doing this? Interface is more than fine, I thought we decided to leave it for 1.0 long time ago?
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 06:56:33 AM
I cannot withstand anymore free-floating somewhere at the bottom race and traits icons, they look out of place there.
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 07:06:20 AM
Fair enough...
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 07:22:57 AM
Um, why do we show character base class twice? First with white text next to the new frame, then in the end of the left frame. And with different logic, no less, so I dunno which one is better.
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 07:44:30 AM
They show the same thing... I came up with the text version first, later added the buttons with an intent to make different once for SIW, Service, Warriors and Manager classes.

Leave the one you like best and comment out the other.

Only TisaOTM/default fonts works with weird characters, you've used something else for full names so I am getting "artifacts" instead of the weird unicode. Frame you've used is also small so on longer names, it changes size which is a bit annoying and didn't happen before.
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 07:57:37 AM
You should have seen it before I reduced font size, really long names ruined the whole gui immediately  :)

Whatever I do with the frame, it won't be a reliable solution. The whole left panel is too narrow to support names of any length. We should move full names somewhere else, or change font size depending on the text length.

Actually, I wonder if the game can pick font size depending on the text width, without manual length checks.
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 10:07:23 AM
No, it cannot. We can move them to Edit: *tooltip viewport maybe... as part of the default.
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 02:30:16 PM
There will be even more work with the next release if I decide to update stuff to new interface paradigm. Everything will still work even without any modifications but I love the new way it is coded, it'll definitely worth doing for the next major refactoring.
Title: Re: General Discussion
Post by: DarkTl on April 18, 2016, 03:47:22 PM
There is also SE, a huge field for coding with SimPy and for creating events and locations  :)
Title: Re: General Discussion
Post by: Xela on April 18, 2016, 04:36:19 PM
A lot has been taken care of already on jobs, buildings and simpy areas. I am more concerned about fullfilling the interface gismo vame up with cause that seems like boatloads of logic. Tonights effort of building team reports for jobs went really well. I cannot crack one of the issues with it yet but it might be ready tomorrow. It's another thing we can use for SE.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 02:23:35 AM
There will be a series of quests based on Naruto there as well.
Eh, most quests are kinda meh, I'm going to remake them. There is a difference between an idea and actual ingame events. Something that looks good on paper or in imagination is not so good at the screen.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 02:28:05 AM
I thought it was ok for a start.

Team Jobs Reports are more or less finished and working well. I am going to adjust cleaning job to them soon.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 02:32:54 AM
Of course we need more finished systems to make proper quests, like SE, which effectively allows to search for hidden or lost characters and items outside of VN mode with minimum coding.

I tested the village a bit, it's quite inconvenient to use matrix every time you want to visit the ninja shop. Gonna make it work like other shops.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 02:56:20 AM
Of course we need more finished systems to make proper quests, like SE, which effectively allows to search for hidden or lost characters and items outside of VN mode with minimum coding.

I told you, it shouldn't get in a way if you leave out the bit that requires the module and just set up conditions during testing as if something was accomplished or failed...

==>
Core cleaning job and team reports are finished, you'll need to update testing.rpy if you want to test it. For team reports, we'll use autoscrolling stats and images (latter if there are too many images). Cleaning job requires more luv (pretty much like all other jobs) but I am not going to micro it atm. Next is prolly the guard job and/or whatever else is left.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 04:20:07 AM
I'm afraid due to lack of a detailed concept I dunno what SE will be capable of.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 04:37:38 AM
I'm afraid due to lack of a detailed concept I dunno what SE will be capable of.

Who gives a damn... you wrote: find a person/item. Just write the conditions as if a person/item was found/quest was failed. It will be resolved in SE later.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 04:40:00 AM
Ehh, we probably shouldn't show gender field for gifts, materials and loot. It's not just useless, it looks weird to have a unisex glass  :D
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 04:55:40 AM
Ehh, we probably shouldn't show gender field for gifts, materials and loot. It's not just useless, it looks weird to have a unisex glass  :D

LoL

I'll take a look. Trying something fun with the map but we're using huge transparent pngs for alignment instead of pos like we used in the past :( Gonna try something else...
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 05:16:06 AM
Yeah, I was wondering why we do that instead of setting coordinates when (just now) created map icons for the village. Although pngs are optimized, so they almost don't take space.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 05:47:33 AM
Yeah, I was wondering why we do that instead of setting coordinates when (just now) created map icons for the village. Although pngs are optimized, so they almost don't take space.

Not all by the looks of it but it's fine... whatever is simpler/faster, I restored older (one image) way as well because I wanted to use Appearing UDD from Ren'Py documentation with it. Now you don't see the village highlighting until your mouse is within 200 pixels from it. It is obviously still possible to hide it completely using the usual way until unlocked by event/quest.

It now also requires just the one small image, I didn't bother to optimize it.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 06:40:41 AM
Haha, look awesome  :)

We don't really have a general style for buttons we use at screens locations, so I just quickly made one for the ninja shop from a few pngs. I suppose some kind of standard will be needed there too eventually.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 11:05:10 AM
It prolly make sense to learn how to interrupt events in SimPy... I thought I figured it out but it failed my tests couple of month ago, I am not sure if that is because of some Ren'Py interference or because I misunderstood something (latter is more likely).

==>
Everything will still work even without direct interruptions but it'll be a little bit more clumsy. I am going to try and work on guard job a bit tonight. It's prolly the last one from the old pool that we're still missing.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 11:30:37 AM
 I suppose if guards are going to prevent problems, not just attack aggressive customers, they could use a new, security skill to notice problems before they arise.

And don't forget there should be a place for events during all jobs (something I loved in wm ex). It's when a character gets an arbitrary buff or debuff for the whole turn based on dice, job, stats and traits. For instance, I recall how ALBoobs had a chance to prevent effective guarding there due to limited mobility and increased noticeability.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 11:45:16 AM
I suppose if guards are going to prevent problems, not just attack aggressive customers, they could use a new, security skill to notice problems before they arise.

I'd prefer not to multiply skills on per job basis :( Maybe a more general "guard" skill we can use in this and other relevant jobs and maybe even BE...

And don't forget there should be a place for events during all jobs (something I loved in wm ex). It's when a character gets an arbitrary buff or debuff for the whole turn based on dice, job, stats and traits. For instance, I recall how ALBoobs had a chance to prevent effective guarding there due to limited mobility and increased noticeability.

SimPy easily trumps whatever WM Ex did. I'll add anything we might want in due time.

Right now I am more interested in interruptions but I want to mess with it only after the guard job is more or less ready cause it is a perfect testing case (guards busy on patrol are called to respond to an event). Working with SimPy is (logically) difficult and time consuming but the most fun I've had coding since BE rewrite :D
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 11:58:34 AM
Um, too late for that with our oral/anal skills that hardly could be used for non sexual actions  :)

Maybe observation or perception then. Such skill would be tremendously useful inside SE too, when you need to watch out for ambushes.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 12:20:13 PM
Oral... aka Speechcraft :D

I don't really care about details like skills, not before the system is setup and code is optimized (even if just a tiny bit).

Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 12:33:30 PM
Such a skill assumes that all (guarding) character can analyze all customers, not just interact with them 1 to 1. That's why I mentioned it, to make sure the system will support it.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 12:42:13 PM
Noted.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 01:39:36 PM
Today, when I tried to find a newly added item in inventory, I had a thought that maybe items in any inventory should be sorted by name. But perhaps customizeable sorting is better, it won't take too much space in gui anyway if done correctly. By name, by price, by amount, by gender. Btw we used to have gender filter, I don't see it anymore.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 01:44:43 PM
Today, when I tried to find a newly added item in inventory, I had a thought that maybe items in any inventory should be sorted by name. But perhaps customizeable sorting is better, it won't take too much space in gui anyway if done correctly. By name, by price, by amount, by gender. Btw we used to have gender filter, I don't see it anymore.

Can be added after beta release I think... I don't remember if we had a gender filter. Maybe a quick key filter... so interface doesn't get cluttered or a new screen with options.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 02:16:51 PM
Yey!

Just pushed working/debugged skeleton for patrol part of the guardjob + warrior quarter upgrade :)

===>
Edit: I finally understand SimPy docs/examples while reading them  ::) Gonna try to interrupt a process with fingers crossed... and prolly call it a night.

====>
And it is working perfectly, hard to believe that I've spent half a day trying to get it to work just 5 or 6 month ago... gonna keep hacking at something for one more hour.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 02:42:11 PM
The picture that we show during launching the game, forgot how it's called in renpy... A funny thing, it works a bit differently in win10. In win 10 it takes 1-2 seconds to resize and position it to the center, initially it shows a bigger version, close to right bottom corner. While in xp, 7 and 8 it's already resized and in the center from the beginning.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 02:44:41 PM
No idea, I am still using 8.1... it's called presplash in Ren'Py.
Title: Re: General Discussion
Post by: DarkTl on April 19, 2016, 03:11:24 PM
Curious, I cannot make a screenshot of the presplash, it's like it is not even there. No matter the system.
Title: Re: General Discussion
Post by: Xela on April 19, 2016, 03:18:50 PM
I've captured it on video in our demo on youtube, never tried sshotting it.

==>
I've re-read all of SimPy docs yesterday picking up a lot of new, useful stuff. It'll come really handy soon enough. Next is the interception part of the guard job.
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 02:33:29 AM
Curious, I cannot make a screenshot of the presplash, it's like it is not even there. No matter the system.

No issues with Win8.1, I use software called SnagIt to make screenshots. It even allows me to focus exclusively on the presplash.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2016, 03:50:45 AM
Yeah, too bad I need to find a cured-of-greed version for a start.

We probably shouldn't show empty tabs in shops. Like, when you come to the tailor shop, there always will be 2 empty tabs for weapons, an empty tab for consumables, etc.
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 04:03:02 AM
Yeah, too bad I need to find a cured-of-greed version for a start.

It's a popular software, you can find it almost on any tracker/forum: techsmith snagit or just snagit.

Yeah, too bad I need to find a cured-of-greed version for a start.

True, but I am getting sick of making minor stuff "just perfect". It was never our (or at least my) intention for beta, I'll fix it later and create an issue for now.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2016, 04:09:08 AM
I added that to your N/A code to avoid unisex cakes as much as possible, but the game ignores it.
Quote
elif item.type == "food" and item.sex == 'unisex':
     label "{size=-3}N/A" xalign 1.0 align (1.0, 0.5)
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 04:16:59 AM
I added that to your N/A code to avoid unisex cakes as much as possible, but the game ignores it.

Weird, did you put it at the correct place in the fork? Like second place, right after the slot checks? It looks like it should be working otherwise.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2016, 04:22:04 AM
Ah, it works inside shops, but not inside inventory. I suppose inventory doesn't have an access to type maybe?
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 04:22:58 AM
Ah, it works inside shops, but not inside inventory. I suppose inventory doesn't have an access to type maybe?

We have two screens, one for inventory and one for shops. Look at my push, I changed it twice.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2016, 04:29:03 AM
Yup, there was an error in the second place that didn't throw an error, but just prevented it from working  :)
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 04:44:15 AM
I prolly need to come up with some limitations for magic in logical mode, since we allow more than three combatants per team... maybe also block higher end spells, it'd be weird to see cataclysm abused abused to subdue clients in a bar. It's fine for now but I want to show reports in the final release.

Guess it's yet another must for BE enhancement plans...
Title: Re: General Discussion
Post by: DarkTl on April 20, 2016, 04:49:05 AM
Ahh, the default windows snipping tool can make screenshot of anything, unlike simple print screen.

That's (https://www.dropbox.com/s/67abhvvr9jger6o/1.png?dl=0) how it looks on win10 first 2-3 seconds before resizing and centering.

I proposed before to disable damaging spells in brothel fights. It makes no sense to use such dangerous stuff in the building you own to stop a brawl.
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 05:00:17 AM
No idea, this is an engine issue or maybe an os issue or some combination of both. It may be worth reporting to github.
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 08:17:34 AM
Pff... we may have to separate stats logging and modification, at least for the build to make dirt mechanic cooler. I really wanted to avoid that but the whole point of Sim'Py is proper simulation. We'll see... maybe I'll write a class that applies data and logs it to be passed to the job, that would be great solution even thought prolly a costly one in terms of coding, it might even make sense to make a new special Flags class to go with this.
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 09:37:53 AM
Right... so the intercept part of the guard job is ready. There are 5 or 6 loose ends in these "skeletons" that I need to take out but overall, we have our jobs back. After that is done, it's prolly SE or Job Events mechanics.

We'll put some skin on those skeletons later, I need a break from working with the same code.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2016, 10:34:39 AM
I'm linking screenshots from neptunia again to show how I imagine SE logic (not gui). One (https://www.dropbox.com/s/e6f9s0g1he6b7mi/1.jpg?dl=0), two (https://www.dropbox.com/s/5wopr4g82g0weug/2.jpg?dl=0).
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 10:57:37 AM
It's very close to Gismo's gui design. I'll have to change a lot there anyway. I'll start with some basic code setups, maybe salvage something from older design (if I can find where the heck that code is, I think Gismo destroyed old interface, but logic is still three somewhere).

===>
I'll wrap up some things tonight with jobs and think about best way to do the SE.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2016, 02:02:49 PM
Found remnants of our old gender filter, we had it before Gismo's gui.
Quote
            filter = self.FILTERS[index]
            items = store.items
            if filter == 'all':
                if self.male_filter:
                    self.items = list(items[item] for item in self.content.iterkeys() if items[item].sex != "female")
                elif last_label in ("char_equip", "items_transfer") or self.female_filter:
                    self.items = list(items[item] for item in self.content.iterkeys() if items[item].sex != "male" and items[item].slot in self.FILTERS)
                else:
                    self.items = list(items[item] for item in self.content.iterkeys())
            else:
                if self.male_filter:
                    self.items = list(items[item] for item in self.content.iterkeys() if items[item].slot == filter and items[item].sex != 'female')
                elif last_label in ("char_equip", "items_transfer") or self.female_filter:
                    self.items = list(items[item] for item in self.content.iterkeys() if items[item].slot == filter and items[item].sex != 'male')
                else:   
                    self.items = list(items[item] for item in self.content.iterkeys() if items[item].slot == filter)
Title: Re: General Discussion
Post by: Xela on April 20, 2016, 03:19:57 PM
Noted.

==>
I spent most of the evening looking over SimPy land in our code, I barely began to figure it out when starting to work on the jobs. Code needs to get more generic and some design flows gotta be fixed. I also want to get a handle on some form if unified events system for jobs, prolly a class with a couple of methods and some way to call them from SimPy land.

===>>
We also run code building by building while SimPy can handle running multiple buildings simultaneously and communicating with one another if needs be, not sure if I am going to recode it for beta yet (rest of the code is the same in all cases).
Title: Re: General Discussion
Post by: DarkTl on April 21, 2016, 01:09:15 AM
So turns out win10 bug is a matter of scaling factor that works incorrectly for presplash, and hopefully will be fixed  :)
Title: Re: General Discussion
Post by: Xela on April 21, 2016, 02:56:58 AM
I've seen the issue. Gonna be really busy for a couple of days, so I'll either try to take out smaller issues if we have those or start coding SE line by line.
Title: Re: General Discussion
Post by: Xela on April 21, 2016, 04:16:55 AM
Oki, so I took a quick look at old FG code, is was written to work completely on it's own, with it own systems and structure (And most (or any at all) if it is not reusable in SimPy land, large parts of it, really, really badly try to emulate what SimPy already does (perfectly I might add), and rest is plainly built around that). I now remember that it was while writing original FG (SE) code that I've tried to code in a new Jobs system that worked like SimPy (which I didn't know existed) and failed miserably after two days of coding efforts...

We'll do:

1) SE Building: Normal Modern NewStyleUpgradableBuilding. I am not sure if this will be a unique building, it's not required by code but FG will have unique interface... so it makes some sense.
2) SE Exploration Business: First thing I am going to "core" code, it will take care of the main exploration loop.
3) SE Generic Job, will be a normal Job with a function of building reports + applying stats as well as holding check methods like all normal jobs do.
4) SE Exploration Run object. This one will be new, it will hold/store all the data of an exploration run (which can run multiple days). In a perfect world we would just leave the SimPy object but it is absolutely impossible to save SimPy land in Ren'Py land (generators cannot be pickled with Python without extraordinary measures). It's a minor inconvenience anyway.
5) SE SimpleEvent object: This one is mainly for interface purposed because we want advanced reports with can also be buttons to open more info. This is the best way of doing it.

6) Job Events: I talked about this before, we'll need it for events to be generic and reusable.

===>>
This looks like a plan, which is more likely to work than to fail (and to work well). Once SE core code is complete, I'll add JobEvents and normalize jobs code in general, then explain the concept on how it is working and we can stuff it with content (events/matron mods/more + better reports/better clients handling/moar meaningful upgrades/complete building system and etc.) together job by job.
Title: Re: General Discussion
Post by: DarkTl on April 21, 2016, 05:22:31 AM
I suppose we should make some design decisions then:
- should MC be able to act inside SE or not; in terms of normal gameplay it probably means straightly skipping all those days he's inside, since the player acts via MC, and maybe replacing these days by something that Old Huntsman made in his first game about traveling in fogs.
- should we limit the max number of teams acting inside SE at the same time or not; what if too many teams will slow it down?
- can multiple teams be sent to one location? If so, then simpy probably should handle their occasional meetings too.
Title: Re: General Discussion
Post by: Xela on April 21, 2016, 05:38:52 AM
- should MC be able to act inside SE or not; in terms of normal gameplay it probably means straightly skipping all those days he's inside, since the player acts via MC, and maybe replacing these days by something that Old Huntsman made in his first game about traveling in fogs.

I am not sure... basically, game doesn't give a sh!t if it's MC exploring or not, system is generic enough so the only issue is skipping days ahead. I tried that little over an year ago and it didn't work for unspecified reasons (Engine went into infinite recursions loop without an explanation). I am better with code today maybe I can try it again.

Second part I don't like, we may have normal exploration of some sort in the future and they'll collide, it's not a sound plan to try and maintain two systems at the same time.

- should we limit the max number of teams acting inside SE at the same time or not; what if too many teams will slow it down?

It will slow it down a bit but Civ5 turns are slow and it doesn't really ruin the game + we are not nowhere enough the logic required to noticeably slow things down. Basically we're running Brothel on per char basis! I wouldn't worry about that, system will assume any number of teams and we'll adapt interface to whatever works best.

- can multiple teams be sent to one location? If so, then simpy probably should handle their occasional meetings too.

Not a problem (at all), I am even planning coop fighting, it's all relatively easy with SimPy :)
Title: Re: General Discussion
Post by: DarkTl on April 21, 2016, 05:56:47 AM
Hm, we don't actually have to skip multiple days, we can just lock off all options like talking to characters, entering MC inventory, going to the city, etc. So player can see what's going on in his absence, but not act.
Title: Re: General Discussion
Post by: Xela on April 21, 2016, 06:13:11 AM
Hm, we don't actually have to skip multiple days, we can just lock off all options like talking to characters, entering MC inventory, going to the city, etc. So player can see what's going on in his absence, but not act.

Means adding extra conditions to every button in the game and killing auto-event system... too messy. I'd avoid that if possible.
Title: Re: General Discussion
Post by: DarkTl on April 21, 2016, 07:07:28 AM
We don't have to allow it to MC, it's as simple as saying that human y chromosome cannot exist in areas where SE taking place  :)

But if it's simple enough, why not.
Title: Re: General Discussion
Post by: Xela on April 21, 2016, 07:10:23 AM
We don't have to allow it to MC, it's as simple as saying that human y chromosome cannot exist in areas where SE taking place  :)

I don't know what this means :D

But if it's simple enough, why not.

I'll be very busy in the next few days, got about an hour now so I'll see (try again) if ND can be ran over a period of multiple days without issues.
Title: Re: General Discussion
Post by: DarkTl on April 21, 2016, 07:15:23 AM
I mean, if we'll have only have female characters in parties eventually, we might as well take another step and say that males actually cannot survive in SE areas due to genetic issues and close the issue once and for all with the help of the lore  :)

Of course we also can introduce short (for 1 day) explorations not far from the city, where MC can be without any additional coding, for the price of all AP probably.
Title: Re: General Discussion
Post by: Xela on April 21, 2016, 07:31:46 AM
I mean, if we'll have only have female characters in parties eventually, we might as well take another step and say that males actually cannot survive in SE areas due to genetic issues and close the issue once and for all with the help of the lore  :)

Nah, I want to add males to the game at some point, maybe only for some jobs but it wouldn't be too much effort, especially if someone came along willing to correct all texts. We may also allow female MCs at some stage.

Of course we also can introduce short (for 1 day) explorations not far from the city, where MC can be without any additional coding, for the price of all AP probably.

I just did a test, basically ND is running file over multiple days so we can allow MC raiding for loot. Maybe I can even allow showing all reports from several days in the future, it shouldn't be difficult... but if we decide to do this, we need to start coding the game with such possibility in mind cause it can interfere with some even conditions even if it is working perfectly, for once we can no longer count on any of the screen loading on a specific date, we prolly don't have anything like that atm thought.

Going to push testing case and put in half an hour into thinking through/coding SE.
Title: Re: General Discussion
Post by: DarkTl on April 21, 2016, 02:08:23 PM
Yeah, that's why I proposed to allow MC be a part of short explorations only, to make sure no events will be missed. When we take MC out of the city, we risk to break events tied to him without additional coding.

Although, we can do it in another way: for example a copy (like Naruto-like clone or simply remotely controlled body of some kind) of MC created by magic or something participates in SE while he stays at home with half of AP, HP, MP, etc.
Title: Re: General Discussion
Post by: Xela on April 21, 2016, 02:13:00 PM
Yeah, that's why I proposed to allow MC be a part of short explorations only, to make sure no events will be missed. When we take MC out of the city, we risk to break events tied to him without additional coding.

I don't like this one, seems very limiting. I'd go with nothing at all instead of this option.

Although, we can do it in another way: for example a copy (like Naruto-like clone or simply remotely controlled body of some kind) of MC created by magic or something participates in SE while he stays at home with half of AP, HP, MP, etc.

Messy... maybe just with the AP halved. I am also not entirely sure if that will work codewise, more likely yes than no but their could be some issues.

===>>
I am going to code SE with a possibility of adding MC, so far I like the day-skipping idea the best. If we allow that or not can be decided later or even made optional...
Title: Re: General Discussion
Post by: DarkTl on April 21, 2016, 03:29:08 PM
Some events already tied to days in quests. Like, after N days after a scene something happens after the next turn screen. We need a more centralized system then for checking any time related events which can skip the days when MC is not in the city to guarantee the lack of errors.
Title: Re: General Discussion
Post by: Xela on April 21, 2016, 03:40:18 PM
Some events already tied to days in quests. Like, after N days after a scene something happens after the next turn screen. We need a more centralized system then for checking any time related events which can skip the days when MC is not in the city to guarantee the lack of errors.

That's doable, what event are those BTW? And how do they work exactly because I am not even sure that it is possible to set that up atm as you describe. I do not recall us running any events in the next day label and it is possible to just click nd without going to the main screen. Basically there is no difference that I recall between just clicking ND from the ND screen and what we were planning to do...

===>>>
LoL

I just noticed that my devlog file is 350MB after testing next day skips :D Going to remove writing BE reports to it...

Also my original assessment of FG code was off, nothing can be salvaged from the building code but the SE logic itself we can keep, adapt to SimPy and expand upon...
Title: Re: General Discussion
Post by: DarkTl on April 21, 2016, 03:46:45 PM
It's coded by Thewlis. To be honest, I understand less than half of his quests system because it works too differently from the languages I worked with, but some things are clear enough to me.
One of them is the ability to run an arbitrary label on ANY screen as long as you know screen name (sounds like a backdoor vulnerability  :D ).

Title: Re: General Discussion
Post by: Xela on April 21, 2016, 03:55:39 PM
It's coded by Thewlis. To be honest, I understand less than half of his quests system because it works too differently from the languages I worked with, but some things are clear enough to me.
One of them is the ability to run an arbitrary label on ANY screen as long as you know screen name (sounds like a backdoor vulnerability  :D ).

I don't recall him ever coding screen/interaction or label callbacks. If I recall correctly, his quests are run similarly to my events, they are executed only when their functions are called and that never happens during the next day unless I missed it. You could set something like that up if you know how but it'd be more like an add-on to those system, not their primary functions.

There should be no events in the game that execute when the day changes because auto-functions for events/quests system are not executed anywhere in ND and noone on dev team except Thewlis and I would know how to set up next day screen intersection and he only made the one test quest.

==>>
Some backbone code is setup-up for SE, more copy-pasta from old code and some thoughts/plans in form of comments and case classes.
Title: Re: General Discussion
Post by: DarkTl on April 22, 2016, 12:42:23 AM
I never said during the next day screen, I said after. You just put in his system the name of screen, and once the player moves to that screen, a label will be called. City map, brothel screen, MC screen, any location, anything. Meaning his system watches where the player jumps, I suppose.
It might work during the next day screen, but I never tried something like that.
Title: Re: General Discussion
Post by: Xela on April 22, 2016, 01:13:28 AM
I never said during the next day screen, I said after. You just put in his system the name of screen, and once the player moves to that screen, a label will be called. City map, brothel screen, MC screen, any location, anything. Meaning his system watches where the player jumps, I suppose.
It might work during the next day screen, but I never tried something like that.

My point was that it is already possible to click ND from the ND screen and it's been possible even in Alpha. Since no events or quests are ran anytime during ND, as it stands now, it is already unreliable to create event that are conditioned to run at a certain day only (==) and not from the day on (>=) day.

Basically, it's like a punishment system, you don't explore enough or don't remember your agreements, you fail the event.
Title: Re: General Discussion
Post by: DarkTl on April 22, 2016, 01:24:16 AM
Ok, let's say we have an event called after ND at day >=3. Then we run a second event at day >= 6, and it is a continuation of the first event.

Now, if player was inside SE for a week and returned at the 7th day, the events still will work, but one right after another, without a pause which is supposed to be there according to the concept.
Title: Re: General Discussion
Post by: Xela on April 22, 2016, 01:50:58 AM
Ok, let's say we have an event called after ND at day >=3. Then we run a second event at day >= 6, and it is a continuation of the first event.

Now, if player was inside SE for a week and returned at the 7th day, the events still will work, but one right after another, without a pause which is supposed to be there according to the concept.

You're supposed to use quests system for that... series of events make a quests and even lets say that you don't, you never setup events like that when you need second event to happen 3 or more days after the first one, you create first event to happen at >=3 and at the end of that event register a new event (second one) with the game to run on: >= day + 3.

I also don't get wtf day >= 3 and day >= 6 are supposed to mean in the first place if they don't literally mean: day >= 3 and day >= 6 conditions are acceptable to you, basically you're saying that any day higher than 2 is right for the first event and any day higher than day 5 is right for the second event so yeah, if they happen one after the other on day 7, it's exactly what you told the game to do... if it was:

1) day == 3
2) 1 has happened flag + day >= 6

I'd understand... you miss the event on day 3 and you're done with this chain. I also recall quests system having a progression where event 2 will not happen before you complete event 1 but I am not sure if I ever actually used that option.

=========>>>
It's not possible to write "perfect" events/quests system where we assume that events can do anything, even if you returned from ND to main screen on day 3, it is not guaranteed that your event will be executed if some event with higher priority is scheduled and that even may ruin it for you as well (by for example forcing next day to occur).

I guess it's about coding/debugging your code and let people test, trying to understand what issues there are and adjusting for them, like with any other code.
Title: Re: General Discussion
Post by: Xela on April 22, 2016, 02:14:03 AM
Another example is your Naruto Quest, if you're planning to use SE for that no matter what, it'll be impossible to complete for anyone who just wants to do the brothel sim thing (unless you add other options).

So even that is already about compromises.
Title: Re: General Discussion
Post by: DarkTl on April 22, 2016, 02:25:29 AM
even if you returned from ND to main screen on day 3, it is not guaranteed that your event will be executed if some event with higher priority is scheduled and that even may ruin it for you as well (by for example forcing next day to occur).
Indeed. Thus I have no idea how to guarantee independent advancement of quests when you need, let's say, update the quests log or show a scene three days after some scene. I use main screen because the game doesn't provide any alternatives.
Title: Re: General Discussion
Post by: DarkTl on April 22, 2016, 02:28:48 AM
Another example is your Naruto Quest, if you're planning to use SE for that no matter what, it'll be impossible to complete for anyone who just wants to do the brothel sim thing (unless you add other options).

So even that is already about compromises.
Yeah, and in Skyrim you can't complete the Crown of Barenziah, which is related to thieves quest lines, without joining the mages guild  :)
Title: Re: General Discussion
Post by: Xela on April 22, 2016, 03:02:58 AM
Yeah, and in Skyrim you can't complete the Crown of Barenziah, which is related to thieves quest lines, without joining the mages guild  :)

Yeap, some quests are just hanging there if you're not willing to turn vamp/warewolf/join some guild and etc. I am just pointing out that first major quest in a game that started off as a borthel sim can't be complete playing the brothel simmer :D

Although I don't really mind, we'll have other quests and I should prolly code some quest manager system in the future to turn major sh!t on and off (so anyone would get all chars if they don't want to do large quests or even allow multiple quests series for the same chars that exclude one another during the same play-through).
Title: Re: General Discussion
Post by: DarkTl on April 22, 2016, 03:10:33 AM
If you remember SM3 gameplay, there are many events when something happens at the beginning of the day, before you even have a chance to do something else. Atm I tie these things to the main screen, but of course it's not a reliable solution.
Title: Re: General Discussion
Post by: Xela on April 22, 2016, 04:53:44 AM
That is not reliable even as it stands now if you don't allow for >= day. I see no good way around that, especially if we allow MC exploration. It's one or the other and proper MC exploration is prolly a better bet.
Title: Re: General Discussion
Post by: DarkTl on April 22, 2016, 09:42:31 AM
By reliability here I mean not time but space  :)
Main screen looks like a placeholder because it still has tons of free space that could be used to show or control something instead of showing the same image in high resolution. So I'm not even sure if we'll continue to return there after ND screen.

Also, in cases when we need to just update the quest log (and thus advance quest because some time passed) and nothing else, nothing prevents us from doing so inside ND screen at some special tab.
Title: Re: General Discussion
Post by: Xela on April 22, 2016, 10:38:29 AM
By reliability here I mean not time but space  :)
Main screen looks like a placeholder because it still has tons of free space that could be used to show or control something instead of showing the same image in high resolution. So I'm not even sure if we'll continue to return there after ND screen.

Also, in cases when we need to just update the quest log (and thus advance quest because some time passed) and nothing else, nothing prevents us from doing so inside ND screen at some special tab.

I have plans some plans for the screen but if don't pen out, we may remove it in favor of a building screen I guess.
Title: Re: General Discussion
Post by: Xela on April 22, 2016, 12:00:53 PM
Game is unstable atm, I left a bit of SimPy land out somewhere... gonna try to fix it tonight.

===>>
Done, saving should be working again. This is crap... I need to religiously prevent Ren'Py and SimPy lands from crossing, those errors are really hard to trace down.
Title: Re: General Discussion
Post by: Xela on April 24, 2016, 08:06:02 AM
I've archived most threads in the design section, some of those designs did no longer exist in up to date PyTFall or had been changed completely.
Title: Re: General Discussion
Post by: DarkTl on April 24, 2016, 10:24:10 AM
Our weapon attacks actually have a menuname field that should be used in gui. Yet the game never uses it, for mobs and for characters.
Title: Re: General Discussion
Post by: Xela on April 24, 2016, 11:38:12 AM
It should? We use it for menu, not gui... I should have called it shortname then :)
Title: Re: General Discussion
Post by: DarkTl on April 24, 2016, 12:41:33 PM
To be precise, current names are fine too if you can insert a space between Sword and Attack in SwordAttack via strings manipulations  :)
They look weird without the space.
Title: Re: General Discussion
Post by: Xela on April 24, 2016, 12:49:32 PM
Right... it's not a good idea because we may get attack names in the future where splitting strings on caps is no longer safe/desirable. We can add menu names just for the normal attacks I guess.
Title: Re: General Discussion
Post by: Xela on April 26, 2016, 06:13:51 AM
I'll try to keep the building interface generic somehow for all upgrades (brothel/club/bar/guild and etc.). I don't like the idea of guild having it's own unique interface because that interferes with concept of the game.

So there are "building" properties and there are "business" properties:

Building:
- Slots (indoor/outdoor).
- "Stats" (Dirt, Fame, Rep, Security, etc.)
- Buttons (Add a business, Advertise (if appropriate), Items transfer (will be moved to the top stripe), Finances, Maintenance, Sell (may be a good idea to move it to Realtor))
- List of active businesses. I am thinking about limiting a number of those somehow.
- Manager.
- Tooltip.
- Name.
- Picture of a building.

===>>
Businesses (upgrades):

- Expansion Upgrades.
- Slots (How much slots they are using).
- Controls (business related, this can be very broad).
- Moar?
- Tooltip...

===>>
Any thoughts?
Title: Re: General Discussion
Post by: DarkTl on April 26, 2016, 08:46:33 AM
We don't really have an option to form and send multiple teams to multiple locations outside the guild, it has to be unique in its own way  :)

I can see the building screen, it matches your description. Now define "business".
Title: Re: General Discussion
Post by: Xela on April 26, 2016, 09:19:48 AM
We don't really have an option to form and send multiple teams to multiple locations outside the guild, it has to be unique in its own way  :)

I can see the building screen, it matches your description. Now define "business".

Well... that's debatable. We are somehow treating SE as some super business but you could just as simply start a cleaning service and form/send "teams" to do jobs. Or split whores in the brothels into groups who'd focus on different acts or send them to "parties" to entertain guests. Even in the club, it might be possible to setup who does what, when. It would not be any harder to code than SE and you can have a lot of events and effects there as well. Guild is easier to imagine because there are similar things in many other games but if you use imagination, a lot can be done for other building as well.

So, I am thinking about how to set all of that up... assuming we'll have better sex ind. related businesses in the future, as well as stuff like crafting/workshops and etc., it is worth considering if we want to use one generic screen setup for all businesses or make special screen designs. Their controls obviously all have to be different but I can prolly come up with one generic screen layout pattern for all of them...
Title: Re: General Discussion
Post by: DarkTl on April 26, 2016, 10:26:50 AM
Hm. Yeah, it makes sense to try to use similar gui.

Also, like I said, define business. I mean ingame concept, if we have a bar and a srtipclub in the same building, they count as two or one business?

Besides, I don't understand how girls_list screen will work for multiple buildings. Atm we just see all characters. I suppose it might be useful too, but I figured buildings should show only characters inside them, or it becomes hard to imagine who's where.
Title: Re: General Discussion
Post by: Xela on April 26, 2016, 11:29:51 AM
Also, like I said, define business. I mean ingame concept, if we have a bar and a srtipclub in the same building, they count as two or one business?

These is a brief explanation here: http://www.pinkpetal.org/index.php?topic=3703.msg37332#msg37332

You can look at it like this:

Building is a holder for global stats like security/dirt/total space/rep/fame (although we may move fame/rep to businesses). In that space, you can build "businesses" (aka main upgrades). Those are brothels, guilds, bars. You can have one of each in every building but I may limit that by types or plain amount in the future.

Those businesses have extensions (aka sub upgrades).

The whole system is still being revised/upgraded but that is the general setup.

Besides, I don't understand how girls_list screen will work for multiple buildings. Atm we just see all characters. I suppose it might be useful too, but I figured buildings should show only characters inside them, or it becomes hard to imagine who's where.

Just like it was before, I'll update filters there to make more sense before the release but you get a full list which you can sort by building, base trait type and some other stuff.

===>>
In Beta, all chars will have these properties:

.home (place where they live).
.workplace (building where they work).
*business (I have not decided on it yet, if we allow assigning to businesses directly, this will become a thing, right now this exists only in my mind :D).
.location (a slightly more complex property which resolves where they are at the moment, that can be home or work or exploring or city or slavemarket and etc.).

.action (None/rest/job, this determines what the char is supposed to be doing).

So... what do we do in the businesses?... This:

- First we check for so called "priority" workers. Those are chars that are located inside of the building and have the EXACT same job set as action as is required.
- Then if desirable, we check for "any" workers. Those are all workers in that location that would agree to do the required job but are set to do something else (other than rest obviously and none (I made that implicit, it prolly should not be)).

The idea is to check for priority first and if that fails, go with any. There will be an option in chars control for individuals and building wide to only allow priority to be used, but that is usually a disadvantage. I am not sure if it will be allowed to bind workers to a specific business as well, prolly not, at least not for beta.

==>>
This is the plan for now anyway...
Title: Re: General Discussion
Post by: DarkTl on April 26, 2016, 12:52:26 PM
- Pretty much no matter the building there will be universal jobs. Like cleaners or/and guards. I suppose there could be cases when you don't need them, but we don't have them yet. They cannot clean/guard one business but don't clean/guard another one in the same building. Or rather, they can, but it makes no sense.

There could be upgrades for them of course, but still the game somehow should manage universal workers even without businesses upgrades.

- Living rooms. Even if you have zero businesses in the building, it can't prevent you from giving a place to live to your slaves. In fact it will help, since you'll have more free space for them  :)

- Independent activation and deactivation of any business in a building, without the need to demount upgrades (which btw should be  demountable for additional gold).

- Alkion aka Dungeon Keeper style of making rooms. I want to for MC house for sure. But perhaps it should be a part of any building.
Title: Re: General Discussion
Post by: Xela on April 26, 2016, 01:46:02 PM
Game already can manage "universal workers", but we also have "businesses" for those (what's one of the reasons I didn't really call them businesses in the code internally, apartment space, cleaners, guard quarters and etc. work/will work off the same logic).

Yeah, there will be slave quarters and apartment blocks as well.

Activation is easy, that will be in soon.

I don't really want to allow individual rooms, at first anyway but we'll have a house, mansion, apartments blocks which you can build at and settle MC in.
Title: Re: General Discussion
Post by: DarkTl on April 27, 2016, 05:33:06 AM
When I added missing hits, I didn't know how to disable damage output and just made it 0, but in fact we don't really need to show dmg 0 all the time in battle logs.
Title: Re: General Discussion
Post by: Xela on April 27, 2016, 06:17:11 AM
Right, I've fixed it.
Title: Re: General Discussion
Post by: DarkTl on April 27, 2016, 06:46:07 AM
My testing code.
Quote
init python:
    q = register_quest("Drunk Lady")
    register_event("drunk_lady1", quest="Drunk Lady", locations=["tavern_inside"], dice=100)
   
label drunk_lady1(event):
    hero.say "Huh?"
    menu:
        "Yes":
            $ pytfall.world_quests.get(event.quest).next_in_label("Test.", "piece1")
            $ pytfall.world_events.kill_event("drunk_lady1")
            $ register_event_in_label("drunk_lady2", quest=event.quest, locations=["tavern_inside"], dice=100, max_runs=2, restore_priority=1)
        "No":
            "'K"
    return
The idea is to ask player if he wants to be engaged in event/quest, and allow to return later if he doesn't want to. The first event has no max_runs, and nothing happens if you answer No, so in theory you can answer No and return later. But for some reason it doesn't work like that.
Title: Re: General Discussion
Post by: Xela on April 27, 2016, 07:18:26 AM
Did you try to add max_runs value to the first event? You add it to the second event that you register in the label but not to the first...

If not, quest might be deleting it, I don't remember that system too well but it would be weird if it did.
Title: Re: General Discussion
Post by: DarkTl on April 27, 2016, 08:30:26 AM
Aaah, found it. Repeatable events by default take 5 days to be repeated again, it should be changed manually.
Title: Re: General Discussion
Post by: DarkTl on April 27, 2016, 02:47:27 PM
Great. Looks like pytfall.world_events.kill_event function doesn't work instantly too, you need to go to the next day or the event it killed still will be fully available. I pushed my code for tavern and its events.

Also, from time to time in tavern I get
Quote
  File "game/library/screens/locations/tavern_inside.rpy", line 82, in script
    $ result = ui.interact()
  File "game/library/screens/locations/tavern_inside.rpy", line 82, in <module>
    $ result = ui.interact()
  File "renpy/common/00action_other.rpy", line 443, in __call__
    rv = self.callable(*self.args, **self.kwargs)
  File "game/library/events/classes - events.rpy", line 82, in run_events
    if event.check_conditions():
  File "game/library/events/classes - events.rpy", line 246, in check_conditions
    elif self.run_conditions and all(list(bool(eval(c)) for c in self.run_conditions)): return True
  File "game/library/events/classes - events.rpy", line 246, in <genexpr>
    elif self.run_conditions and all(list(bool(eval(c)) for c in self.run_conditions)): return True
TypeError: eval() arg 1 must be a string or code object
When I use look around option. No idea why.
Title: Re: General Discussion
Post by: Xela on April 27, 2016, 03:32:52 PM
I've pushed two fixes:

- Error was due to you not using a string as a condition.
- You had to add cache=True to the kill_event method to remove it from active cache.
Title: Re: General Discussion
Post by: DarkTl on April 27, 2016, 03:57:47 PM
I recall you coded long time ago temporary buttons or something like that to be used for events. Not inside interactions.
I suspect it was before we moved the repo, don't see anything like that in commits.
Title: Re: General Discussion
Post by: Xela on April 27, 2016, 04:36:43 PM
I recall you coded long time ago temporary buttons or something like that to be used for events. Not inside interactions.
I suspect it was before we moved the repo, don't see anything like that in commits.

More or less. I've added two systems:

1) Menu extension system, you can see how it works in the frog/witch quests.
2) Plainly showing screens. I think there are setups of that in that unfinished Nami quests and the frog initial meeting as well. Both are just buttons... you can place any button the same way.
Title: Re: General Discussion
Post by: lamoli on April 27, 2016, 07:42:21 PM
V2 face update ( body diffuse on hair need fixing and some other minor adjustments ) but finaly got cheeks/jaw close to the base anime i wanted.. next step would be to lower the bottom of the eyes/top of nose/cheeks/ears to get the larger eyes type


(http://s20.postimg.org/jeenh1cl5/Prison_V2_0.jpg) (http://postimg.org/image/jeenh1cl5/)(http://s20.postimg.org/gycu36uih/Prison_V2_1.jpg) (http://postimg.org/image/gycu36uih/)(http://s20.postimg.org/ftirxt81l/Prison_V2_2.jpg) (http://postimg.org/image/ftirxt81l/)(http://s20.postimg.org/j85jrosu1/Prison_V2_3.jpg) (http://postimg.org/image/j85jrosu1/)(http://s20.postimg.org/ieoclbxfd/Prison_V2_4.jpg) (http://postimg.org/image/ieoclbxfd/)(http://s20.postimg.org/3y5okhxbt/Prison_V2_5.jpg) (http://postimg.org/image/3y5okhxbt/)(http://s20.postimg.org/tfo343f21/Prison_V2_6.jpg) (http://postimg.org/image/tfo343f21/)(http://s20.postimg.org/dl96u7qbd/Prison_V2_7.jpg) (http://postimg.org/image/dl96u7qbd/)(http://s20.postimg.org/k087qvx15/Prison_V2_8.jpg) (http://postimg.org/image/k087qvx15/)(http://s20.postimg.org/4ss86j56h/Prison_V2_9.jpg) (http://postimg.org/image/4ss86j56h/)(http://s20.postimg.org/dqcy3vxmh/Prison_V2_10.jpg) (http://postimg.org/image/dqcy3vxmh/)(http://s20.postimg.org/cclb8kyd5/Prison_V2_11.jpg) (http://postimg.org/image/cclb8kyd5/)(http://s20.postimg.org/erd6t0em1/Prison_V2_12.jpg) (http://postimg.org/image/erd6t0em1/)


Making clothing next..
Title: Re: General Discussion
Post by: DarkTl on April 28, 2016, 03:44:43 AM
I wonder if it's possible somehow to run the next event in the chain right after finishing previous event, without doing anything...
I mean something like
Quote
                        $ register_event_in_label("drunk_lady3", quest=event.quest, locations=["tavern_inside"], dice=100, restore_priority=0)
                        $ pytfall.world_events.force_event("drunk_lady3")
                        $ pytfall.world_events.force_run("drunk_lady3")

Basically, I have two events chains (#1 and #2) that lead to the very same event scene (#3). So my options are:
- insert #3 code into both #1 and #2 by copypasting the same code. Will work flawlessly, but will be messy in terms of code.
- add a new location where #3 will run by itself. Will work, but it will be weird that you have to go to some location manually to continue the event.
- force #3 run after either #1 or #2 (they are independent) will be finished, or at least jump to some label right after either one will be finished. Not sure if possible.
Title: Re: General Discussion
Post by: Xela on April 28, 2016, 05:33:43 AM
I wonder if it's possible somehow to run the next event in the chain right after finishing previous event, without doing anything...
I mean something like

Code: [Select]
                        $ register_event_in_label("drunk_lady3", quest=event.quest, locations=["tavern_inside"], dice=100, restore_priority=0)
                        $ pytfall.world_events.force_event("drunk_lady3")
                        $ pytfall.world_events.force_run("drunk_lady3")

Basically, I have two events chains (#1 and #2) that lead to the very same event scene (#3). So my options are:
- insert #3 code into both #1 and #2 by copypasting the same code. Will work flawlessly, but will be messy in terms of code.
- add a new location where #3 will run by itself. Will work, but it will be weird that you have to go to some location manually to continue the event.
- force #3 run after either #1 or #2 (they are independent) will be finished, or at least jump to some label right after either one will be finished. Not sure if possible.

Why does it have to be an event? You can just jump to a label after one or two, if there is a "do on another day" option for the event three, you can create a new event when player picks such an option.

I can add "force run" if you like, you already can do that if you can get to the event object, which should not be hard.
Title: Re: General Discussion
Post by: Xela on April 28, 2016, 05:35:37 AM
V2 face update ( body diffuse on hair need fixing and some other minor adjustments ) but finaly got cheeks/jaw close to the base anime i wanted.. next step would be to lower the bottom of the eyes/top of nose/cheeks/ears to get the larger eyes type

Making clothing next..

Your previously sprites were just fine! Stop trying to improve upon greatness and just make the damn pack :D
Title: Re: General Discussion
Post by: DarkTl on April 28, 2016, 06:20:29 AM
Yeah, you right. I didn't thought about calling a label inside an event before finishing it  :D
Title: Re: General Discussion
Post by: lamoli on April 28, 2016, 06:47:29 AM
Your previously sprites were just fine! Stop trying to improve upon greatness and just make the damn pack :D


I know but when i tryed expressions it went really bad as the polygons of the face wherent right.. now it should work..
Title: Re: General Discussion
Post by: Xela on April 28, 2016, 07:17:27 AM
Yeah, you right. I didn't thought about calling a label inside an event before finishing it  :D

Yeap... but please, make dead certain... I mean like really, really, really check that you've returned from the event sequence unless you used (jump=True) argument when registering an event or your even is setup to show a screen using internal mechanics. It will destroy the save/load system if at the end of an event with default settings, you jump away instead of ending it with return. Like:

Code: [Select]
label test_ev_label_1(event):
    "Exit and reenter the location..."
    return
   
label test_ev_label_2(event):
    "Exit and reenter the location."
    $ register_event_in_label("test_ev_label_3", trigger_type="auto", locations=["city_parkgates"], priority=1, dice=100, max_runs=1)
    $ pytfall.world_events.force_event("test_ev_label_3") # This one adds the event to the cache before the next day..
    return
   
label test_ev_label_3(event):
    "All Done!"
    return
   
label meet_beggar_event(event):

    $ beggar = Character('Beggar', color="#c8ffc8", show_two_window=True)

    'You see a girl who comes close to you.'
    show npc beggar_girl_novel
    with dissolve
   
    $ beggar(choice(['Hello, mister! Please, could you spare some coin for hungry beggar?',
                                'Hello, mister! Please, could you spare some coin?',
                                'Hi! Could you buy me something?',
                                'Please, could you spare some coin for hungry beggar?']))

    menu:
        'WTF? Who are you?':
            python:
                random_place = choice([u'library', u'tailor store', u'cafe', u'world peace', u'my sweet home'])
                for steal_amount in [5000, 500, 100, 50, 25, 5]:
                    if hero.take_money(steal_amount, reason="Theft"):
                        break
            beggar 'Oh, I`m just searching my way to [random_place]! I guess it`s there? Thank you, have a nice day!'
            "Somehow your pockets feel a bit lighter..."
           
        'Go buy some food. (-5 gold)':
            if hero.take_money(5, reason="Charity"):
                show npc beggar_girl_smile_novel
                with dissolve
                beggar 'Thanks! ^_^'
            else:
                beggar 'Empty pockets? Too bad. :`('
        'NO!':
            $ beggar(choice(["You're a meanie! >:-(",
                                        "That's too bad...",
                                        "And you looked so promising..."]))

    hide npc
    with dissolve

    return
   

label simple_beach_event(event):
   
    python:
        n = Character(" ")
        img = get_random_event_image("simple_beach")
        renpy.show("event", what=img, at_list=[center])
        renpy.with_statement(dissolve)
        n(choice(["This looks like fun!", "Damn, don't you wish could join them...", "Fun on the beach :)", "Awesome!", "... speachless", "Cute!"]))
    return
   
   
label creatures_beach_event(event):
   
    python:
        n = Character(" ")
        img = get_random_event_image("creatures_beach")
        renpy.show("event", what=img, at_list=[center])
        renpy.with_statement(dissolve)
        n(choice(["This looks like fun!", "Monster Girls are the best?", "What the hell?", "What are they called???"]))
    return
   
label found_money_event(event):
    python:
        amount = randint(10, 100) + hero.level*2 + max(10, hero.luck*4)
        renpy.show("_tag", what=Text("%d"%amount, style="back_serpent", color=gold, size=40, bold=True), at_list=[found_cash(150, 600, 4)])
        hero.say(choice(["Yey! Some money!", "Free Gold, lucky!", "I will not let this go to waste!"]))
        hero.add_money(amount, "Events")
    return
     
label found_item_event(event):
    python:
        # amount = max(200, (randint(10, 100) + hero.level*2 + max(10, hero.luck*4)))
        items_pool = list(item for item in items.values() if "Look around" in item.locations)
        found_item = choice(items_pool)
        renpy.show("_tag", what=ProportionalScale(found_item.icon, 100, 100), at_list=[found_cash(150, 600, 4)])
        hero.say(choice(["Yey! Found something! ([found_item.id])", "[found_item.id] Might be useful!", "[found_item.id]! Lucky?", "-[found_item.id]- Never look a gift horse in the mouth :)"]))
        hero.inventory.append(found_item)
    return


As you see, we return from all of our base events. You can jump 1 000 000 times in between or even call other labels, but when you are done with the event that you did not jump to (as I've said, you can add jump=True and then do whatever the hell you want, even forcing the day to end will work perfectly) all saves, even those that are made 100 days from your event's end, will load to just before your even had started.
Title: Re: General Discussion
Post by: DarkTl on April 28, 2016, 07:39:34 AM
BTW how to force the day to end? I just thought it could be a cool feature in some places.
Title: Re: General Discussion
Post by: Xela on April 28, 2016, 08:42:38 AM
Code: [Select]
jump next_day # (yeah, it is that simple :D)
Just don't forget that it must be from an event that you jumped to or started using a screen/menu. There is no way to do this from within a default event setup at the moment. You also should hide/scene whatever is showing at the moment.
Title: Re: General Discussion
Post by: DarkTl on April 28, 2016, 09:43:07 AM
I show a picture
Quote
show expression t.show("00AA-sx-eb-c8-l4-ns-p3-s5-sj-p2.jpg", resize=(800, 600)) as x at truecenter with dissolve
then use our function to imitate dizziness at the background
Quote
$ double_vision_on("bg girl_room_4")
The moment I do it the first picture disappears. It shouldn't. Suggestions?  :)
Title: Re: General Discussion
Post by: Xela on April 28, 2016, 09:59:27 AM
Pull from the hub and try:

Code: [Select]
$ double_vision_on("bg girl_room_4", clear_scene=False)
Title: Re: General Discussion
Post by: Xela on April 28, 2016, 10:13:39 AM
Got a splitting headache so if I am not in shape to add anything meaningful to businesses tonight, it might be worth trying to rewrite existing sfx, updating them to modern code and maybe adding some options.
Title: Re: General Discussion
Post by: DarkTl on April 28, 2016, 03:58:58 PM
I don't like default renpy scrollbar, I mean the looks of it. It's barely visible and tiny compared to usual windows style. It was more or less ok for library books since there is a clear white background, but at the bestiary screen for example it looks kinda meh.
Title: Re: General Discussion
Post by: Xela on April 28, 2016, 04:42:33 PM
Ren'Py has a lot of default scrollbars... it's not worth worrying about atm.
Title: Re: General Discussion
Post by: DarkTl on April 28, 2016, 04:58:06 PM
So I wrote usual
Quote
$ t_spr = chars["Tsunade"].get_vnsprite()
show t_spr  at center with dissolve
I suddenly got
Quote
  File "game/library/events/StoryI/naruto_quests.rpy", line 101, in script
    show t_spr at center with dissolve
Exception: Image 't_spr' not found.

I replaced it with
Quote
show chars["Tsunade"].get_vnsprite() at center with dissolve
and got
Quote
  File "game/library/events/StoryI/naruto_quests.rpy", line 101, in script
    show chars["Tsunade"].get_vnsprite() at center with dissolve
KeyError: u'"Tsunade"'
The hell? It worked dozens times before  :D
Title: Re: General Discussion
Post by: Xela on April 28, 2016, 05:16:01 PM
It should not have worked, ever.

Code: [Select]
show image_tagShows an image that was defined as a part of Ren'Py internal image tracking system. Unless it was declared as such, it should not have worked.

Code: [Select]
show expression displayablewas what you were supposed to be using...
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 01:05:50 AM
My bad, had a hell of a day yesterday -_-
Title: Re: General Discussion
Post by: Xela on April 29, 2016, 05:31:19 AM
Yeah, I know what you mean :)
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 05:43:29 AM
Let's see.. Can we freely change slave/free status in the code? It won't cause any issues? For instance we have two characters and two ways to finish an event. Depending on the way, one of them will be free and another one will be slave.
Title: Re: General Discussion
Post by: Xela on April 29, 2016, 06:07:23 AM
Let's see.. Can we freely change slave/free status in the code? It won't cause any issues? For instance we have two characters and two ways to finish an event. Depending on the way, one of them will be free and another one will be slave.

Prolly not, for example they would have different location setups and job setting could become messed up, but I can always add moar logic to the switch later and sort everything out... actually, I'll push a new set_status method that can take arguments if we ever need them, I doubt that we will but just in case.

Pull in 5 mins.

Edit:
====>>
Ok, that is done, I'll add the required additional logic there when I normalize Chars code before the release.
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 06:54:47 AM
Huh. Conditions might work incorrectly.
Quote
$ register_event_in_label("drunk_lady2", quest="Drunk Lady", locations=["tavern_inside"], restore_priority=0, run_conditions=["hero.gold >= 1000"], jump=True)
$ pytfall.world_events.force_event("drunk_lady2")
This one somehow works with any amount of gold.

I pushed fixed event, it's working, but it's working weirdly. If you don't have 1000 gold, it runs additional event stage, drunk_lady2, which should not even be available if you don't have 1000G. But the event will run no matter your gold. I even tried to remove force_event, didn't helped.
Title: Re: General Discussion
Post by: Xela on April 29, 2016, 07:58:39 AM
Code: [Select]
            dice = chance to execute (check dice function), use run_conditions otherwise
            dice has priority over run_conditions

You can usually gather the general "gist" from the comments, default dice is 50, unless you clear that, it will supersede conditions, set it to 0 implicitly to get rid of it. I've pushed a possible fix.
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 08:12:49 AM
Yeah, I read all the comments yesterday, but didn't noticed that 50 is default.

It's a bad design, most of the time you need either dice 0 or 100 if you don't set it manually when creating an event. And when you set a condition, you need it not 100 anyway, since dice has a priority and overwrites it. So I'll change the default to 0.
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 08:25:07 AM
Speaking of which, some stuff in the comments is unclear to me.

What's custom event trigger? What's custom_condition? What's simple_conditions, especially since we kinda have (and use) run_conditions for "simple" conditions?
Title: Re: General Discussion
Post by: Xela on April 29, 2016, 11:34:14 AM
What's custom event trigger?

Anything that's not auto or look around I guess...

What's custom_condition?

Method that can be written if someone inherits from the event class. There is a half baked system in place to help set it up.

What's simple_conditions, especially since we kinda have (and use) run_conditions for "simple" conditions?

Run Conditions will only be evaluated (right) before the event is actually ran, using simple conditions you can prevent an event from ever making it to the event cache. There are not many cases where this is useful, the main reason I wrote that for (and structured the event like I have) was because I've read that string evaluations were really slow in Python. It was however long before I realized that "really slow" was still in range of nano/micro seconds not mentioning that strings could have been converted to byte code which would have worked a lot faster.

Long story short, you can add some conditions there to make sure that an event doesn't make it to cache until they are true.It currently works like this:

- We check all event once per day to create cache, so if we ever have a few hundred, we would not have to check 85 event during runtime that don't have even a remote chance to be triggered.
- We run checks on events in cache during runtime, looking at priority/run_conditions and etc.
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 11:42:59 AM
Anything that's not auto or look around I guess...
Yeah, I was hoping for a simple example how it even should be used  :)
Same for custom_condition.

Long story short, you can add some conditions there to make sure that an event doesn't make it to cache until they are true.
Is it useless if we force the event into the cache? Or even force_event will check for  simple_conditions first?
Title: Re: General Discussion
Post by: Xela on April 29, 2016, 12:04:19 PM
Yeah, I was hoping for a simple example how it even should be used  :)
Same for custom_condition.

Loads of ways I guess... for example, lets take your new hidden_village loc:

Code: [Select]
    $ pytfall.world_events.run_events("auto")
like in all other locs, so all events that have "all" as a location and auto as trigger will get triggers there, but what if you don't want them to but deleting the line is not an option because you still wish your own event to get triggered? That would be a good time to create your own trigger, lets say call it "hidden_village_auto" and change the line to:

Code: [Select]
    $ pytfall.world_events.run_events("hidden_village_auto")
and you're done.

Now when you create events, you set "hidden_village_auto" as their trigger, you'd still have to set the location to village or to all (all will be fine because they will not be triggered anywhere else anyway).

===>>
The other thing is:

Code: [Select]
class MyOwnEventClass(WorldEvent):
    def __init__(self, *args, **kwargs):
        super(MyOwnEventClass, self).__init__(*args, **kwargs)
        # bla bla bla...

    def custom_conditions(self):
        # bla bla bla... if True, I'll be accepted to the cache.

It could be used for some super fancy conditioning that is too difficult to put into strings...

Is it useless if we force the event into the cache? Or even force_event will check for  simple_conditions first?

It'll just be added, I fixed a potential issue while looking at the code, it will now make sure that the event is not already cached.
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 12:19:03 PM
I see...

Quote
def run_events(self, trigger_type, default=None, cost=0)
Could it be possible to change the cost of event activation? Seems like atm it's the same everywhere, even though this function assumes we have control over it.

Hm. And code prevents us from making free events either.
Quote
                if hero.AP < cost:
                    renpy.show_screen("message_screen", "Not enough AP left")
                    return
                else:
                    hero.AP -= cost
To make an event always available the cost could be negative, but it will also restore AP  :)
Title: Re: General Discussion
Post by: Xela on April 29, 2016, 01:41:11 PM
I see...
Could it be possible to change the cost of event activation? Seems like atm it's the same everywhere, even though this function assumes we have control over it.

Hm. And code prevents us from making free events either.To make an event always available the cost could be negative, but it will also restore AP  :)

I don't understand what you're saying here, there is no default cost for event activation by reasoning that you can add "hero.AP >= 1" to conditions if you absolutely need that for the event and you can just settle the cost in the event label itself. That function is used on one special case where you click the look around button that we've agreed to always be prized at one AP, even if nothing was found. It is not used anywhere else.

It also does no such thing as preventing free events, event if hero.AP == 0, 0 < 0 would still return false and the logic would continue.

I think that the code was added by Thewlis because he made our menus system. I am actually not quite sure why it is written as:

Code: [Select]
            if trigger_type != "auto":
                if hero.AP < cost:
                    renpy.show_screen("message_screen", "Not enough AP left")
                    return
                else:
                    hero.AP -= cost
                    for event in l:
                        if event.check_conditions():
                            event.run_event()
                            return
                   
                    else:
                        if default: renpy.call_in_new_context(default)
                        return
           
            else:
                for event in l:
                    if event.check_conditions():
                        event.run_event()
                        return

it seems to me that:

Code: [Select]
                if hero.AP < cost:
                    renpy.show_screen("message_screen", "Not enough AP left")
                    return
                else:
                    hero.AP -= cost
                    for event in l:
                        if event.check_conditions():
                            event.run_event()
                            return
                   
                    else:
                        if default: renpy.call_in_new_context(default)
                        return

just this code would do the exact same thing under all circumstances. I've changed the codebit and pushed.
Title: Re: General Discussion
Post by: Xela on April 29, 2016, 01:49:22 PM
Ok, I am going to try writing some interface code for an hour or two :) I've spent most of the day trying to figure out adaptation of some code and now my head is hurting (again).
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 02:09:37 PM
I see. I thought there is a global system for controlling AP cost which is not properly used yet, and -1AP during looking around is handled by the button itself, since you get -1AP even without any tied to it quests.
Title: Re: General Discussion
Post by: Xela on April 29, 2016, 06:28:04 PM
Do you think Drag&Drop is worth spending some time on for the team building in FG? Or should we go with something simpler/clumsier?
Title: Re: General Discussion
Post by: DarkTl on April 29, 2016, 06:47:39 PM
Our inventory, which probably will be used much more often than teams building, works and looks fine without it.


Alright, enough is enough. I need to know why the system kills quests on the next day even though they have events. I pushed a new rpy where I create two events, two_sisters1 and two_sisters2. One of them can be launched on the next day in the tavern, another one will be launched a day later and it will kill the quest if player will miss the opportunity.

Two events. Yet apparently this thing
Quote
        def next_day(self):
            """Fails quests that have no valid events.
            """
            garbage = list()
           
            # Find incomplete quests with no existing events
            for i in self.active:
                for j in pytfall.world_events.events_cache:
                    if j.quest == i.name:
                        break
               
                else:
                    if not i.manual: garbage.append(i)
           
            while len(garbage) > 0:
                devlog.warning("Garbage Quest found! \"%s\" was failed."%garbage[0].name)
                self.fail_quest(garbage.pop())
doesn't think they are valid for some reason  :-[

And I need to know how to fail quests via lines. Looks like $ pytfall.world_quests.get("Two Sisters").next_in_label("Sadly, you missed you chance to meet her.", "failed") or $ pytfall.world_quests.get("Two Sisters").next_in_label("Sadly, you missed you chance to meet her.", "fail") don't do it. Although it's hard to tell for sure, since atm garbage clearing system kills the quest asap, but I have an impression they don't work  :D
 
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 01:38:23 AM
I have no clue offhand, gonna be traveling for the better part of the day today. I'll try to find out what's what tonight unless you've done that already.
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 02:09:19 AM
And I need to know how to fail quests via lines.

At least the frog quests are evened like this, I guess that you could simply write that it was failed:

Code: [Select]
            $ pytfall.world_quests.get("Frog Princess!").finish_in_label("You've rejected the Frog Princess Quest! It's further fate is unknown.")
            $ pytfall.world_events.kill_event("show_frog")

Also this:

Code: [Select]
        def fail_quest(self, quest):
            """
            Fails a quest.
            """

so prolly:
Quote
$ pytfall.world_quests.fail_quest("Frog Princess!")

did you look at the code? Do this ways work or not? I think fail might also throw a pop-up...
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 02:28:35 AM
Thewlis also seems to add new events to quests after he does the next in label thing, you do that the other way around. I don't know man... take a look at his example and comments, quests also worked for me when I tried them. If not, I'll take a look at the quests/code that is working poorly tonight.

===>>
Looks like I got another hour to burn, gonna take a looksie at your quests...
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 04:35:47 AM
I had this issue since I tried to make my first events for the village a few months ago. Back then I solved it by adding manual=True to quests, it prevents autodeleting in any case. But it's not really a solution, it's a workaround. We have to figure out how to use the garbage clearing system properly, or rewrite it if it cannot work properly.
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 04:43:46 AM
I had this issue since I tried to make my first events for the village a few months ago. Back then I solved it by adding manual=True to quests, it prevents autodeleting in any case. But it's not really a solution, it's a workaround. We have to figure out how to use the garbage clearing system properly, or rewrite it if it cannot work properly.

manual True is the solution, not a workaround. Quest system has it's own progression mechanism which Thewlis explained on the forum somewhere I believe. If you want to do the manual thing, us that.

Otherwise, your quests had some other issues:

1) No conditions and you've defaulted dice to 0... meaning that the event may never run.
2) You've registered them in a label using a function that only worked in labels. That means they were never added to the event manager at all.
3) You misnamed the one of the event labels.

=====>>
This is it for now, I got to go soon and I don't like posting from Android much :D
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 04:48:35 AM
Hm?
Quote
locations=["all"], start_day=day + 2, trigger_type="auto"
But it should start it in any location at the day+2 day. What kind of condition it might need? Condition="True"?
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 04:54:21 AM
Hm?But it should start it in any location at the day+2 day. What kind of condition might need?

No... only dice=100 will ensure that the event is ran or run condition with ["True"] in it. High priority may also be a good idea.

http://www.pinkpetal.org/index.php?topic=1291.msg31080#msg31080

What Thewlis wrote on quests...

===>>
We also don't auto run more than one event per interaction I think... that might be worth looking into at some point. Maybe adding some new special argument to ensure that at least some event can run until the main loop ends.
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 06:07:29 AM
manual True is the solution, not a workaround. Quest system has it's own progression mechanism which Thewlis explained on the forum somewhere I believe.
Yeah, and I have to figure out how to use the quest system without manual True. It's reserved for cases when it's impossible to make things work via normal ways, I doubt our quests are that complex.

1) No conditions and you've defaulted dice to 0... meaning that the event may never run.
Better than 50 though, now I immediately see issues with missing dice and can fix it, before I had only 50% chance to do it  :D

2) You've registered them in a label using a function that only worked in labels. That means they were never added to the event manager at all.
I don't get this one. How could it possibly matter where I register an event as long as I do it before quitting the scene, and why such a major limitation even exists?

Created a new issue about quests popups.
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 03:31:01 PM
Oh, wait.
Any quest that doesn't have any events that belong to them waiting in the event manager will be automatically failed.
I didn't know that... it's odd that frog thing doesn't fail half way then, I'll take a look at it later.
Really? I'm sure you're the one that asked me to put that in...
So you created the concept of failing out of nowhere quests that haunts me all this time. Thanks, Xela -_-

Come to think of it... Why events use separated dice which also has a priority over conditions thus making them useless, if you can include dice into conditions, and they even will work together?
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 04:50:43 PM
Yeah, and I have to figure out how to use the quest system without manual True. It's reserved for cases when it's impossible to make things work via normal ways, I doubt our quests are that complex.

If you "have" to, than by all means. I've asked for a system that could log events progression, that is what I got out of quests system and that is what I understand about it. If you want to know more, read the code/comments and act. As far as I am concerned, I didn't have to do a damn thing and shit got done and it does exactly what I asked for, so ima happy :D

Better than 50 though, now I immediately see issues with missing dice and can fix it, before I had only 50% chance to do it  :D

Matter of opinion I suppose, for me 50 would be more likely to get people to condition their events properly but it's not like giving a shit either way is my thing. We could debate if 0/50/100/None/False/True was the best value there till the end of times.

I don't get this one. How could it possibly matter where I register an event as long as I do it before quitting the scene, and why such a major limitation even exists?

Ren'Py internal structure, you've used "in label" function before (I've seen you do it in code)... in any case, there is a good chance that it'll just work now after my last push.

Created a new issue about quests popups.

Ok, I doubt that it's worth messing with atm, especially since Thewlis made it optional (button in quests log).

Oh, wait.So you created the concept of failing out of nowhere quests that haunts me all this time. Thanks, Xela -_-

No idea, I asked Thewlis to create a system that could log event progression (and call it quests), as far as I am concerned, he did that. I didn't ask for anything else, so everything else is a bonus. I don't know why he coded that bonus in and I keep forgetting how exactly it is working, but I know that he did what I asked him to and how to use that system, everything else I don't really give a sh!t about.

Come to think of it... Why events use separated dice which also has a priority over conditions thus making them useless, if you can include dice into conditions, and they even will work together?

Simplification and speed. Dice outside of a condition string is a lot faster. I've already wrote about a lot of people having concerns about speed of string evaluations in Python. I thought that it was a legitimate concern, back when I wrote the event system, now I know that it really wasn't (because it is lightning fast either way), not mentioning that I know how to create bytecode now which removes most of these concerns instantly. I did that in DisplayableSwitcher UDD.


It's all BS and moot points at the end of the day, you don't like dice and want to put it into conditions, just do that. Noone is forcing you to use them. You cannot figure out how quests work? Just set the quest to manual True and use it as a log as I do. I figured out what Thewlis meant to do with the (bonus to the) quest system on soon after he wrote it but it's not what I've asked from it and not how I am going to use it any time soon.
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 04:57:22 PM
Just for the record, Thewlis seemed to think along the same lines, than insane evaluation class he wrote for ST/Schools pretty much allows to add conditions without compiling the strings to code and that took effort and a lot of time. I believe that we both were wrong and that precompiled code would have worked perfectly, but it's not my way to complain when usable sh!t gets done without me having to lift a finger :D
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 05:11:28 PM
Quote
        def __init__(self, name, label=None, priority=100, restore_priority=5, dice=0, start_day=1, end_day=9999999, jump=False, screen=False,
                           times_per_days=(), locations=list(), trigger_type="look_around", custom_condition=False, simple_conditions=None, run_conditions=None, stop_music=False, max_runs=0,
                           quest=None)
10 000 000 is a huge number, but wouldn't be easier to make it None by default and don't check at all in the default case? (also making events work forever if someone is willing to play so many turns)
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 05:20:24 PM
10 000 000 is a huge number, but wouldn't be easier to make it None by default and don't check at all in the default case?

Yeap, or use the infinity... lets dare them to play for that many turns  ::)

I knew very little about coding when we started and I am steadily learning by watching videos/reviewing soft/tools and etc. and not just for Python. I would have went for float("inf") without thinking if I were to code the same thing today, but I didn't code that system today, it was over an year ago :D
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 05:36:17 PM
Since packs, characters or pictures can be removed from the game, events related to them may also be broken...

Either we check everywhere if characters and pictures exist, or do not support removing stuff.
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 05:38:51 PM
Since packs, characters or pictures can be removed from the game, events related to them may also be broken...

Either we check everywhere if characters and pictures exist, or do not support removing stuff.

It's prolly a decent idea to move these events to packs somehow, it's definitely worth looking into.
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 05:46:52 PM
We can say a few packs are mandatory, but not everything.

There should be a way to add events and locations together with packs. Like, well, mods for bethesda games.
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 05:53:41 PM
We can say a few packs are mandatory, but not everything.

There should be a way to add events and locations together with packs. Like, well, mods for bethesda games.

There already is, isn't it? I could look into extensions that would work even better but it's tedious and somewhat useless work. I don't want to do anything until it's actually needed, I'd just be coding in exceptions and extensions till the end of times and even most of the stuff we already have noone know/cares how to use.

All of the advance crap is for the uncertain future, for now task is to get the base shit working. We already have simplicity and freedom of modifications that 99% of indie projects can only dream about.
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 05:54:56 PM
I suspect complex events are problematic.

Let's say we wish to make DOA pack optional. Its event is called from the village screen, but ok, let's say the village is mandatory, and naruto pack too.
It's called via matrix. So we need to add another matrix area which should not exist without the pack.
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 06:09:41 PM
I suspect complex events are problematic.

Let's say we wish to make DOA pack optional. Its event is called from the village screen, but ok, let's say the village is mandatory, and naruto pack too.
It's called via matrix. So we need to add another matrix area which should not exist without the pack.

I am really tired atm but I doubt that it's doable under the current system. You can also conditions the triggers themselves using almost any way imaginable just by running some code to check what packs are installed.

At the end of the day, all code we or I can come up with to try and compensate for different scenarios modders may come up with will result in waste of time and bullshit cause it is plainly impossible to get that done. Even if you write a fork with 10 000 000  conditions, trying to check for every possible case/scenario, some asshole will find a loophole to fuck everything up in a system as complex as ours.

Best we can do is to work with modders, assuming that there will be serious modders after the next release and come up with setups that make sure their mods are working.

Even for you events, lets say someone hates Ino and deletes her from the pack, are you adding 1000 conditions and check to account for a possibility that an image or a character was deleted? Or do you write a function that will check if all chars/images are still present in the game before every single stage of every single one of your events is executed? I sure as fuck hope that you don't :D


There is no fighting idiocy or random use actions in a design that allows any modifications. We'll do what makes sense, logically, but I am not wasting time coming up with half a million if/else forks to account for some bs scenarios that might happen.
Title: Re: General Discussion
Post by: DarkTl on April 30, 2016, 06:26:06 PM
Yeah, but I'm talking about very specific things, not a perfect solution. Meaning there will be needed a function to check if a pack (not a character) exists. And matrix should be more flexible, either capable to add and remove areas under certain conditions or to read coordinates from multiple files. Ideally both  :)

I'm not going to bother with it before the beta anyway.

Even for you events, lets say someone hates Ino and deletes her from the pack, are you adding 1000 conditions and check to account for a possibility that an image or a character was deleted? Or do you write a function that will check if all chars/images are still present in the game before every single stage of every single one of your events is executed? I sure as fuck hope that you don't :D
Yup, unlike wm we cannot support seamless deleting of any character.

Even bethesda games do not support removing mods. You can remove them due to how the system was built, but the game does not take any steps to prevent errors or remove remaining garbage data.
Title: Re: General Discussion
Post by: Xela on April 30, 2016, 06:33:59 PM
Yeah, matrix should be more flexible... it'll either gonna be something simple like string conditions for evaluation of I'll have to rewrite the whole system so it's data is imported and converted to objects.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 03:20:28 AM
I am going to create a new project with all our resources but without the whole logical bloat so testing of gui effects could be done easier, wanna see if it'll be an advantage or not.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 04:28:04 AM
What's register_quest_in_label for? I don't see it to be used anywhere yet.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 04:36:59 AM
What's register_quest_in_label for? I don't see it to be used anywhere yet.

As I've explained, Ren'Py has two a init stage and a game stage. You are supposed to use register_quest or event in the init stage and in_label during the game stage. Since a need to create a quest during game runtime would be a really weird case, it hasn't been use so far.

I've updated both functions so the normal register_event/quest could be used everywhere (to avoid confusion).

Gonna look into quest pop ups, don't have the strength to tackle anything more difficult today...
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 04:57:39 AM
Might also be worth an effort to neaten content folder a little bit... graphics are becoming a mess in there.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 05:04:00 AM
When I register an event, I'd like to randomly pick a location from a list. I tried locations=[random.choice('main_street', 'city_park')], didn't worked.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 05:16:37 AM
When I register an event, I'd like to randomly pick a location from a list. I tried locations=[random.choice('main_street', 'city_park')], didn't worked.

It should work but choice is always from a container. I think we're importing it btw so you shouldn't need to prefix it with random either, although that does no harm.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 05:38:43 AM
Yup, I figured that out.

Can we find out during event where exactly it was started, in which location?
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 05:43:44 AM
Can we find out during event where exactly it was started, in which location?

You should be able to access event.label_cache, label from which the event was executed should be stored there. If you are jumping, you'll have to use pytfall.world_events.get(event_name) to get to the object.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 10:25:49 AM
Jesus christ...
Quote
While loading <'ProportionalScale' <'Image' u'content/events/simple_beach/Thumbs.db'> 1280 720 True>:
  File "game/library/events/base.rpy", line 57, in script
    python:
  File "game/library/events/base.rpy", line 61, in <module>
    renpy.with_statement(dissolve)
  File "game/library/UDDs.rpy", line 219, in load
    surf = im.cache.get(self.image)
error: Unsupported image format
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 10:33:44 AM
Tchh, under what circumstances?

Figured it out, one fix coming up :D

I've updated the quests log screen and came up with a new design for the pop-up one.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 10:50:18 AM
Lighting wrath doesn't have animation. It's your spell, I dunno what kind of animation it should use.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 10:52:30 AM
Lighting wrath doesn't have animation. It's your spell, I dunno what kind of animation it should use.

Really? It used to, I'll take a look.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 11:00:03 AM
Well, I like the new quests popup, but I only see it working for quest beginning.
Not for updating or finishing/failing.

I pushed the DOA quest, it should work, assuming you have the DOA pack.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 11:12:25 AM
I don't have DOA, quest pop-up I've tested for starting and updating the quests. We need some simple quest setup through a menu in dev mode to test this kind of stuff...
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 11:22:26 AM
Well, you can take a look how I update and finish/fail quests in the code, or download dead or alive pack, it's pretty small compared to some others. I've never seen any new popups there except the beginning.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 12:30:56 PM
I added jpeg support to all cases when we check "if file.endswith((". It shouldn't really break anything, the game should use jpegs everywhere.

Now the game tells me
Quote
  File "game/script.rpy", line 108, in script
    python:
  File "D:\Pytfall\RenPy\renpy\ast.py", line 806, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "D:\Pytfall\RenPy\renpy\python.py", line 1577, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/script.rpy", line 114, in <module>
    chars = load_characters("chars", Char)
  File "game/library/functions - loading_data.rpy", line 215, in load_characters
    raise Exception("Unknown image tag: %s, path: %s" % (tag, rp_path))
Exception: Unknown image tag: pb., path: content/chars/Attack_on_Titan/Mikasa_Ackerman/0000-nn-e2-c1-c9-l2-pr-pb.jpeg
Meaning you remove somewhere four last symbols while jpeg requires 5  ::)
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 12:40:51 PM
I am downloading the pack. All jpeg can simply be renamed to jpg but I've fixed the code to split instead of slice.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 01:11:50 PM
Can, but not simply when we talking about dozens thousands of pictures.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 01:12:56 PM
Can, but not simply when we talking about dozens thousands of pictures.

Yeah, I've fixed this thing, we will now split on dot instead of slicing.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 01:30:14 PM
I am at a loss why there are no pop ups at your quest line but there are in mine, we seem to be doing the same thing, gonna take a closer look...
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 03:41:30 PM
Ok, so there were two issues, one quest became "squelched", no idea why or what for but they don't issue updates if the do. I couldn't tell why it happened in some cases and not in others so i just commented out the code that did it.

Second issue is a bit more serious, when you go back from new context to game context (when you're not using jump), all displayable from the new context are destroyed... there is no way around that which I can see so you should never update the quest right before the end of a label in new context (or just use jump).

In either case, it seems to be working a bit better now.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 03:59:13 PM
Huh. I don't see any mentioning of squelching stuff, and the comments are not self-explanatory.

I took that kind of structure when we update quest right before destroying event from the frog quest, except we use jump there all the time, that's why it works.
The idol mini quest, however, might have issues with new popups judging be the code.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 04:07:41 PM
Huh. I don't see any mentioning of squelching stuff, and the comments are not self-explanatory.

Basically, it is a subsystem where once a pop-up is shown, you will not see any more pop ups for that quest until you change the location. It was the reason why your second pop up was never shown...

I took that kind of structure when we update quest right before destroying event from the frog quest, except we use jump there all the time, that's why it works.
The idol mini quest, however, might have issues with new popups judging be the code.

Yeap... well, we can always add two modes to the pop up screen, one that stops the game and one that doesn't. Just like it was before...
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 04:09:08 PM
I think your system does not take any steps to report about failed quests. No wonder I haven't seen failing notifications.
Title: Re: General Discussion
Post by: Xela on May 01, 2016, 04:25:54 PM
I think the idea is to finish (complete) the quest with a message and than fail it (silently) so it is moved to the appropriate list. It's not my system btw.

Gonna call it a night soon.
Title: Re: General Discussion
Post by: DarkTl on May 01, 2016, 04:38:00 PM
No, I mean exactly your system, new popups  :)
Even if they will follow each other (update and fail), it's not a big deal. I added support for failing notifications.

Edit: turns out it's very easy to add support for fail+quest log function. Now one can write
Quote
$ pytfall.world_quests.get("Two Sisters").fail("Sadly, you missed you chance to meet her.")
and fail quest with failing notification and a failing note in the log.
 
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 04:52:24 AM
Ok, if it works, it works. I'll take a look at it little bit later.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 05:16:12 AM
I've added hiding the screen for an unlikely case of two pop-ups being required, it's a bit jerky but it prolly cannot be done any better using the normal screens, or if it can, I am not sure how. We can obviously create displayable that will live independently from one another but it's slightly more complicated than throwing a simple screen together and prolly not required for quest pop ups.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 05:35:22 AM
I'm not sure how to indicate quest failing because of the garbage clearing system. I mean, I know how to show the popup, but have no idea what to do with the quest log in such cases.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 06:00:05 AM
I'm not sure how to indicate quest failing because of the garbage clearing system. I mean, I know how to show the popup, but have no idea what to do with the quest log in such cases.

What do you mean? It looked like you did everything right in the code. As you fail the quest, it will be moved to failed list and removed from everywhere else. Last log entry will be on file as the reason for the failure with everything else greyed out (something I've added yesterday, along with a couple of other updates to the log screen).

Seems perfectly reasonable.

==>>
I don't think that the garbage clearing system works like it does with the events btw. It prolly doesn't destroy quest objects like my event system does (because we do not log events and they can become absolutely useless after a while, just creating bloat for the events/saving systems), I can look into that if you like.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 06:14:07 AM
No, when the game kills the quest by itself because can't find valid events, it probably still should show a popup (atm it doesn't, if I'm not mistaken). So I wonder if we should write something in the log quest in such cases.

I can look into that if you like.
Wouldn't hurt.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 06:24:31 AM
I have a problem with data types...
Quote
elif location == "park" or location == "forest":
                excladed.extend(["indoors"])
                if location == "forest":
                    included = ("nature", "wildness")
                else:
                    included = ("nature", "urban")
                if char.has_image("stripping", "nature", exclude=excladed):
                    gm.set_img("stripping", included, exclude=excladed, type="reduce")
The game here ignores included when I try to gm.set_img("stripping", included, exclude=excladed, type="reduce"). How to make it work?
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 06:34:52 AM
No, when the game kills the quest by itself because can't find valid events, it probably still should show a popup (atm it doesn't, if I'm not mistaken). So I wonder if we should write something in the log quest in such cases.
Wouldn't hurt.

Code: [Select]
        def next_day(self):
            """Fails quests that have no valid events.
            """
            garbage = list()
           
            # Find incomplete quests with no existing events
            for i in self.active:
                for j in pytfall.world_events.events_cache:
                    if j.quest == i.name:
                        break
               
                else:
                    if not i.manual: garbage.append(i)
           
            while garbage:
                devlog.warning("Garbage Quest found! \"%s\" was failed."%garbage[-1].name)
                self.fail_quest(garbage.pop())

Ok, I've fixed a tiny bit of this code because it wasn't logging sh!t right, but logically it did... something...

So, basically what it does is this:

It iterates over all currently active quests, checks if there are any events in cache that are bound to those events and fail the quests if not so but only if the quest is not set to manual controls.

===>>
It feels (to me), a bit weird because for example:

- We move the quest to the next stage, with an existing event BUT that event is set to activate only in three days onward so it is not cached until then... BOOM... quest is auto-failed for no good reason...
- Shit gets even weirder with menu extension system because there is no event... it's just there.
- The system doesn't account for any quest that may no longer ever start (with their own conditions no longer realistic and no events bound to them (killed off by the event garbage collector, which is some what smarter)). But this isn't a big thing.
- Prolly more...

====>>
I believe it is meant to be used only with quests in auto mode, like the idol quests but even then, only if the newly registered events are cached on the very next day and happen without delay. In either case, if we set quests to manual control, garbage system is not even a thing, I will also change the code a bit one more time because we obviously should check for manual first, before we iterate over a potential 100s of quests and events while we wish to do something to them ONLY if there are no manual controls.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 06:41:32 AM
I have a problem with data types...The game here ignores included when I try to gm.set_img("stripping", included, exclude=excladed, type="reduce"). How to make it work?

You know this and know it well:

Code: [Select]
elif location in ["forest", "park"]:
    excladed.extend(["indoors"])
    if location == "forest":
        included = ("nature", "wildness")
    else:
        included = ("nature", "urban")
    if char.has_image("stripping", "nature", exclude=excladed):
        gm.set_img("stripping", *included, exclude=excladed, type="reduce")

You need to unpacks the tuple or the whole tuple is passed as an argument instead of individual tags. You've done this dozens of times in jobs and interactions!

Edit:
And you should be able to safely use excluded or exclude instead of "excladed" there, there will be no name collisions in Python, especially since you are working on global namespace there and there is nothing to collide against (I don't recall using global names this plain to store something, unless I was heavily intoxicated at such time :D ).
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 06:51:54 AM
If I ever done it before, it's because I used parts of your code as examples, not because I knew what that * does  :)

I believe it is meant to be used only with quests in auto mode, like the idol quests but even then, only if the newly registered events are cached on the very next day and happen without delay.
Yeah, I'm not even sure if we need that thing.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 06:56:34 AM
If I ever done it before, it's because I used parts of your code as examples, not because I knew what that * does  :)
Yeah, I'm not even sure if we need that thing.

Yeah... it doesn't do much harm either, maybe we should just make all quests manual my default? It will be much more intuitive that way (since we'd be using manual the most).

** unpacks a dict btw, bloody useful sometimes and I could have sworn that you improved on my own code in whore job removing the unnecessary bloat by using unpacking predefined values instead of typing everything all the time. That's why I was surprised that you've asked about it.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 07:00:01 AM
Yeah... it doesn't do much harm either, maybe we should just make all quests manual my default? It will be much more intuitive that way (since we'd be using manual the most).
Yeah, my thoughts exactly.

** unpacks a dict btw, bloody useful sometimes and I could have sworn that you improved on my own code in whore job removing the unnecessary bloat by using unpacking predefined values instead of typing everything all the time. That's why I was surprised that you've asked about it.
Shows how well I can operate blocks of your own code to improve your own code in other places without even understanding everything inside them  :D
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 07:23:30 AM
Yeah, my thoughts exactly.

Oki, that is done.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 07:42:28 AM
I tried to
Quote
            if location == "beach":
                excluded.extend(["indoors"])
                included = ("beach")
                if char.has_image("stripping", "beach", exclude=excluded):
                    gm.set_img("stripping", *included, exclude=excluded)
                elif char.has_image("nude", "beach", exclude=excluded):
                    gm.set_img("nude", *included, exclude=excluded)
                elif char.has_image("lingerie", "beach", exclude=excluded):
                    gm.set_img("lingerie", *included, exclude=excluded))
It shows completely wrong pictures. But if I replace *included with "beach" again, it works. Why?
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 08:09:19 AM
Because you're unpacking a string, not a tuple there, simpler:

Code: [Select]
>>> ("Meow")
'Meow'
>>> ("Meow", )
('Meow',)

Code: [Select]
>>> ("meow" + " Meow!") * 2
'meow Meow!meow Meow!'
>>> "Meow" * 2
'MeowMeow'
>>> ("Meow") * 2
'MeowMeow'
>>> ("Meow", ) * 2
('Meow', 'Meow')
>>>

In Python, you are allowed to use () as code delimiters. Normally, when you are building arguments like you do, lists are used because tuples are immutable and you can't really add sh!t to them.

Code: [Select]
include = ["tag"]
can only mean create a list with a single tag element, nothing else. Just don't confuse it with:

Code: [Select]
list("tag") # or tuple("tag")
cause it will split the string and you ain't going to get the result you want.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 10:21:59 AM
I started rewriting of the system that shows pictures during interaction sex scenes. That's a lot of monotone and simple work, and while the new system will be better, it's not required atm or even for beta. But it will be a great way to kill time at work  :)

I think maybe dating should be based on events. Like, every location has its own set of events, some unique for the location, some general. And you can move between map locations together with the character, and access those events randomly.

I recall I've seen something like that in Agarest: Zero, they show a city map, pretty much like our, and you should pick one of locations, while being limited by time ie the number of actions, and after every event you return to the map.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 10:35:42 AM
Yeah, I've noticed the new functions with you last push :) We might make them more generic in the future but I can't really tell how atm.

We are not taking a bunch of stuff for consideration at the moment. Like we never check if there are any teammates present with MC (on the team) in potentially dangerous events/dates. I also still haven't completely finalized location/availability handling for the chars, it need to be more generic for effective coding/gameplay than it is atm, although we've made a really good step in the right direction.

I prolly got enough left in me to work on building interface for a bit tonight.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 10:53:17 AM
That's why I think it should be a separate module, cut from anything else. We still show map and locations backgrounds, but in fact it's just the same pictures inside another system. Otherwise I'm afraid things will be messy when date events will collide with usual ones.

As for MC team... I assume usually circumstances require to act alone, unless it's an official battle at arena or inside SE.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 10:58:04 AM
We might make them more generic in the future but I can't really tell how atm.
Your function, get_sex_img_4int, already does it. But genericness does not allow the same level of customization as labels and functions that I use for interactions.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 11:04:08 AM
That's why I think it should be a separate module, cut from anything else. We still show map and locations backgrounds, but in fact it's just the same pictures inside another system. Otherwise I'm afraid things will be messy when date events will collide with usual ones.

We can prolly cook something up in the future. Separate module is a great idea for this.

As for MC team... I assume usually circumstances require to act alone, unless it's an official battle at arena or inside SE.

Yeah, but we need some guidelines on how to perceive member added to MCs team and how to relay that to the player effectively. Options are:

1) Whatever makes sense atm.
2) Teammates are always present with MC.
3) Teammates are only there for the Arena/Predetermined events.
4) ...?

Right now I am kinda going with option 1) subconsciously, not really reading too much into it but some event may appear where it is automatically assumed that teammates are there and other that MC is on his own... such events may end up giving the player a weird feeling afterwards (like WTF?, I just had two warriors by my side that helped me out in exactly the same situation last time and now I am all on my own)...
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 11:13:10 AM
Eh, that's a sensitive subject. From the viewpoint of logic, a ninja might follow MC everywhere, but not a warrior in heavy armor. A slime might become liquid and unnoticeable, but an angel with wings and halo will draw attention.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 11:27:46 AM
Eh, that's a sensitive subject. From the viewpoint of logic, a ninja might follow MC everywhere, but not a warrior in heavy armor. A slime might become liquid and unnoticeable, but an angel with wings and halo will draw attention.

I doubt that we can afford to handle this shit @ this detail. You can pretty much find angels and slimes at any location so we can at least agree that it's normal.

The question is if we write the pop-up and functions that can easily clear MCs team and make that known at the beginning of quests and agree that MC is accompanied by teammates always otherwise. Or take no action. Or something else...
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 11:33:54 AM
Of course we can, we just add stealth skill and problem solved  :D
Ninjas and other stealthy chars will have it 500+ from the start. Others will have to learn.

Or we can handle it per location. Like, in the village you cannot take teammates since it's kinda a secret location, but in the city they are with you. And make it clear somehow.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 11:41:36 AM
Hm. I think teammates should be unavailable for any jobs, including rest. I mean, they are almost always with MC, they don't have time to work in some specific building or sleep the whole day.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 12:04:54 PM
Hm. I think teammates should be unavailable for any jobs, including rest. I mean, they are almost always with MC, they don't have time to work in some specific building or sleep the whole day.

No, if they take actions, their APs will be taken just like MCs, with AP left, they can do jobs, same as anyone else.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 12:11:59 PM
Oh. So if MC has more AP than teammates, at some point they will be unable to fight while being in his team?
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 12:28:49 PM
Oh. So if MC has more AP than teammates, at some point they will be unable to fight while being in his team?

Sure, try Arena for example, you cannot start a fight if one of your team member doesn't have the required AP.
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 12:58:05 PM
Damn, there are too many variable to focus on in that interface and it's really hard to imagine what else we might need in the future... I am getting that damn headache again but it is moving forward :D

Gonna hack on it for another hour and call it a night.

Damn, Gismo's interface doesn't answer the whole load of questions and lacks a lot of much needed controls. Guess we'll have to get a little bit creative after all :D
Title: Re: General Discussion
Post by: Xela on May 02, 2016, 02:49:40 PM
Damn, Gismo's interface doesn't answer the whole load of questions and lacks a lot of much needed controls. Guess we'll have to get a little bit creative after all :D

Do you have any idea about items in Gismo's Adventures Guild interface? He is adding a name of an item followed by a slot, followed by a star of some sorts, I think the idea is to represent a value of an item somehow.

I think we can do better while keeping interface clean, maybe a name + icon + slot? Or name + icon + star (based off some simple logic)? Or name + base chance to find + icon? Or ...?

I am spent, just pushed tonight's interface update.
Title: Re: General Discussion
Post by: DarkTl on May 02, 2016, 04:14:43 PM
I admit, I didn't know about that screen until now  :D

Maybe item tier. You know, how in some games, usually with random generation of items, there are common/unusual/rare/legendary/etc items.
Or it may represent the chance to find an item without numbers. White is common, green is rare, red is very rare.



We could show a small item icon and its name, or even only icon with name being visible in a tooltip when you select the icon (if it's simple to make). Slots are excessive information. Chances could be shown via stars colors. Like white 80-100% blue 60-80 green 40-60 yellow 20-40 red 1-20% violet<1%

And we shouldn't show enemies elements. We have the bestiary for that already, no need to show it everywhere.
Title: Re: General Discussion
Post by: Xela on May 03, 2016, 12:14:12 AM
Maybe, it's hard to gauge some of those things... I am going to be off till tonight.
Title: Re: General Discussion
Post by: DarkTl on May 03, 2016, 04:37:07 AM
I spent some time trying to make it work, but with no luck.
I have tags
Quote
tags = (["simple bg", "masturbation"], ["no bg", "masturbation"])
excluded tags
Quote
excluded.extend(["forced", "normalsex", "group", "bdsm", "after sex"])
And a function
Quote
    def get_simple_act(char, tags, excluded):
        acts = list()
        for t in tags:
            if char.has_image(tuple(t), exclude=excluded):
                acts.append(t)
        if acts:
            act = choice(acts)
        else:
            act = None
        return actt
So I should run it like
Quote
                else:
                    tags = (["simple bg", "masturbation"], ["no bg", "masturbation"])
                    result = get_simple_act(char, tags, excluded)
                    if result:
                        gm.set_img(result, exclude=excluded)
In reality however it gives result none, even for cases when there is clearly a simple bg+mast pictures exist.
Title: Re: General Discussion
Post by: Xela on May 03, 2016, 06:21:22 AM
You're forgetting to unpack:

Code: [Select]
        for t in tags:
            if char.has_image(*t, exclude=excluded):

and:

Code: [Select]
                    if result:
                        gm.set_img(*result, exclude=excluded)
Title: Re: General Discussion
Post by: DarkTl on May 03, 2016, 08:26:29 AM
Btw if you want to show mobs elements like Gismo did, they will be too small to understand multielemental ones with that kind of zooming, unless you will make them dissolve one to another instead of combining circle parts.
Title: Re: General Discussion
Post by: Xela on May 03, 2016, 08:47:08 AM
Btw if you want to show mobs elements like Gismo did, they will be too small to understand multielemental ones with that kind of zooming, unless you will make them dissolve one to another instead of combining circle parts.

No I do not. It is not the most useful information + we have less space in my version (I am using two wider frames on left and right). Gismo's variant is a prop with no logic attached to it, some thing are also not really applicable, like "stages" for areas, we've agreed that we are might not have linear progression to make things a little bit more interesting. Also stars that define how much of the area is explored are not bars but images so that needs to be taken care of as well since images do not translate into values like bars do (that part should be done).
Title: Re: General Discussion
Post by: DarkTl on May 03, 2016, 08:51:04 AM
I think stars are supposed to represent difficulty of the area. But it would be hard to judge when we have many areas, so we can use them for explored % too of course.
Title: Re: General Discussion
Post by: Xela on May 03, 2016, 08:58:30 AM
I think stars are supposed to represent difficulty of the area. But it would be hard to judge when we have many areas, so we can use them for explored % too of course.

I think Gismo meant stages to represent the difficulty. Or I could be mistaken, in either case, that's what I did :)
Title: Re: General Discussion
Post by: DarkTl on May 03, 2016, 10:24:37 AM
If you wish to show items slots, you could use sorting icons that we use in inventories instead of the full slot name.
Title: Re: General Discussion
Post by: Xela on May 03, 2016, 10:35:41 AM
If you wish to show items slots, you could use sorting icons that we use in inventories instead of the full slot name.

Maybe... we can also do the tooltip thing, I liked that proposal. I am still very busy, if that persists, gonna do something simpler than interface tonight.
Title: Re: General Discussion
Post by: DarkTl on May 03, 2016, 03:29:29 PM
Considering the amount of rape pictures, they will need their own function. Which inspects if the character has them and in which locations, and then returns the best possible option + tells the game about picked location to make sure texts are suitable.
Title: Re: General Discussion
Post by: Xela on May 03, 2016, 03:31:05 PM
Yeap... maybe I can come up with a simpler system... just pushed a tiny interface update, done for the night.
Title: Re: General Discussion
Post by: Xela on May 04, 2016, 01:31:59 AM
Considering the amount of rape pictures, they will need their own function. Which inspects if the character has them and in which locations, and then returns the best possible option + tells the game about picked location to make sure texts are suitable.

Rape is not a correct term for the argument, since it can be voluntary/roleplay in some cases. We are also not very likely to make extensive events/jobs for it for beta, not with everything else on the plate.
Title: Re: General Discussion
Post by: DarkTl on May 04, 2016, 03:03:34 AM
Rape tag based mostly on emotions. If the character is crying or something, it of course may be a roleplay, but it's also can be a rape.

Also, rape =/= restrained, restrained with positive emotions is less rape than non restrained with negative emotions.
Title: Re: General Discussion
Post by: Xela on May 04, 2016, 03:47:52 AM
Complicated...

I took a look at the func, there might not be a way to make it more generic, not without giving stuff up anyway. It might be worth taking a look at it again at some point cause it feels like combinations of tags/conditions could be used somehow instead of if/else forks but how no clue as to how.

+ perfect is an enemy of good, as long as it is working, I need to relax and focus on my own tasks :D
Title: Re: General Discussion
Post by: DarkTl on May 04, 2016, 04:09:10 AM
Well, I jut pushed as generic as possible part for all *jobs acts  :)
It can be made even more generic with the help of jump, but I'm not sure if I should use jumps inside a python function.
Title: Re: General Discussion
Post by: Xela on May 04, 2016, 04:20:49 AM
Depends on how the function is used. It's game over if you jump during a job, it should be ok in most cases for interactions.
Title: Re: General Discussion
Post by: DarkTl on May 04, 2016, 05:05:53 AM
I think I'll try to use small, simple functions inside the big function to avoid repeating the same code.
Title: Re: General Discussion
Post by: Xela on May 04, 2016, 06:08:00 AM
I think I'll try to use small, simple functions inside the big function to avoid repeating the same code.

Your approach is fine if it manageable. Functions have overhead, it isn't much but if we're gong to be calling them a lot, in loops, it sometimes makes sense not to separate them into smaller funcs. If it's not, readability/maintainability should come first.
Title: Re: General Discussion
Post by: DarkTl on May 04, 2016, 06:12:51 AM
Not sure how else to make it work and look good...
I have
Quote
if location in ["beach", "park", "forest", "room"]:
    <many checks>
    else: # all checks failed
        <show simple bg picture>
else:
    <show simple bg picture>
Normally such things are handled by a single jump. Another option is to make <show simple bg picture> a function.
I really hate the idea to use try except to mimic jumps, like they suggest in some places.
Title: Re: General Discussion
Post by: Xela on May 04, 2016, 06:41:14 AM
The db system is lightning fast, I've tested it + we are not using it a lot in next day. I am also not aiming those comments at you, they are my problem. There is a very obvious path of speed optimization to current look-up algorithm but it might not be worth the effort.

The only way to do it right now is to search the whole database (all chars/images) for every single variant. Smarter way might be to "slice" the database (for very complex and precise lookups only). First we could get image pool for the character along, filtering out the rest of characters. Then "main action" tag. Then location tags. Then mood tag. Then bg tag. (or keep hitting the first pool with combinations, but we don't have a single case where step one would not be desirable).

Or that in some other order, working with reduced base. It should be faster with complex look-ups. The problem is that we prolly don't need it at all cause database speed is already really great so as I've said before, ima prolly overthinking it.
Title: Re: General Discussion
Post by: DarkTl on May 04, 2016, 06:57:10 AM
If you willing to make a slicing function, it just as well can be integrated into my function instead of if char.has_image.

Then again, I'm not trying to show the best picture by discarding less suitable one by one. It will give the best result for a pack which already has all needed combinations of tags, and you just have to find them.
For real packs you have to consider many has_image options to show the best picture.
Title: Re: General Discussion
Post by: Xela on May 04, 2016, 07:01:45 AM
Once it's ready, I'll time the function during the next refactoring/optimization phase. If we're talking nanoseconds again, np. If the improvement is worth it, we'll make slices the most convenient/logical way.
Title: Re: General Discussion
Post by: DarkTl on May 04, 2016, 08:49:37 AM
Phew, the new function removed about 500 lines due to combining everything but strip and mast into one algorithm  :)

I have some ideas for new interaction options that don't require rewriting interactions from the issue 85, gonna do it next.
Title: Re: General Discussion
Post by: Xela on May 04, 2016, 01:40:00 PM
Removed old fg object from the game... I really want to do drag and drop thing for fg and maybe some other buildings. It was really difficult the last time and Gismo destroyed all screen code prior to us switching to Git (don't want to revive mercurial repo cause recording will likely be faster) but if I can pull it off, it'll prolly come out nicer. Maybe even extending it to other businesses will work (for job assigning inside of a building for once).

It'll prolly take a long time to even try to setup with so much logic at play... I'll start by hooking up the business to the building and try a simple Drag/Drop setup tomorrow/the day after.

Edit: You'll need to grab my testing file again or remove all references to fg object from yours (I think it's just the 3 characters being assigned to it).
Title: Re: General Discussion
Post by: DarkTl on May 04, 2016, 01:59:01 PM
I'm not sure I can imagine how to properly use drag and drop there. It's different for items screens, they have a big list of unique and sortable, thus recognizable items icons. Characters portraits are much less sortable and recognizable. And dragging big pieces of gui with portrait+name+class is weird.
Title: Re: General Discussion
Post by: Xela on May 04, 2016, 02:04:28 PM
I'm not sure I can imagine how to properly use drag and drop there. It's different for items screens, they have a big list of unique and sortable, thus recognizable items icons. Characters portraits are much less sortable and recognizable. And dragging big pieces of gui with portrait+name+class is weird.

It used to work fine + we can tooltip as well (partly at least, prolly will not work for drags). Honestly, I am not completely sure how to build teams without drag and drop so it doesn't look completely shitty... I had to comment out that part of Gismo's interface but he didn't have any bright ideas either and the who thing was limited to a four buttons and three portraits, I have no idea what to do with those :(
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 01:56:19 AM
I'm not sure I can imagine how to properly use drag and drop there. It's different for items screens, they have a big list of unique and sortable, thus recognizable items icons. Characters portraits are much less sortable and recognizable. And dragging big pieces of gui with portrait+name+class is weird.

Oki, so I've done some thinking about the interface...

Ideas (http://www.freesmileys.org/emoticons/emoticon-looney-toons-006.gif) (http://www.freesmileys.org/emoticons.php):

- Leaving the right frame in the normal business name/buttons/tooltip mode.
- Midframe:
*Bottom = 8 to 12 frames (best fit) with all portraits of workers in the building with paging. Name/base traits reported to tooltip. Maybe also some basic data like assigned jobs.
*Top = Teams (for Guild) or Frames representing available jobs.
- Left Frame:
*Maybe some general stats (amount of workers for buildings/active teams) overview.
*Maybe addition filters to be used in midframe.

It could/should turn out ok, any thoughts?
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 02:52:51 AM
The tooltip at the right panel does its job, but looks bad. It's the only (properly interfaced) place in the game where we use a simple black background for text.

Bestiary button should be either moved to the guild, or be at the both arena and guild screens if you want to keep it at arena. Or maybe even moved to MC screen. Anyway, leaving it only at arena, a third party building, makes little sense.

I suppose there should be access to characters profiles if you need full info about the character. I'm not how to combine it with draggable portraits though.

Pictures that you use atm inside the guild look good, but take quite a lot of space. Maybe they should be smaller, or even cut off a bit.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 03:39:04 AM
The tooltip at the right panel does its job, but looks bad. It's the only (properly interfaced) place in the game where we use a simple black background for text.

I'll ask Gismo to take a looksie at stuff like this before the release. If he has time and feeling up to it. We'll have to improve on smaller details later, right now layout and logic are more important.

Bestiary button should be either moved to the guild, or be at the both arena and guild screens if you want to keep it at arena. Or maybe even moved to MC screen. Anyway, leaving it only at arena, a third party building, makes little sense.

There is no reason that it cannot be at two or even three places. We have place for it in the Arena and the Guild, mc profile I am not so sure about.

I suppose there should be access to characters profiles if you need full info about the character. I'm not how to combine it with draggable portraits though.

...? Did you not see or forget our older, fully functioning guild logic with interface? You already could enter chars profile from there, it was done in this way:

- Single click on portrait: Menu with actions appears in form of a dropdown (or "up", depending on cursor pos) screen (one of those was profile, we had items transfer and set to jobs in FG there as well, prolly more).
- Click + Hold down mouse button = Dragging.

Pictures that you use atm inside the guild look good, but take quite a lot of space. Maybe they should be smaller, or even cut off a bit.

Gismo's idea... I am just rolling with that. In my own interface, I managed to stuff everything on one screen, now we have like 5... so there is a lot of "extra" space we can use to add moar stuff in the future to it :D

===========
I've reread Ren'Py docs on screens yesterday, loads of new stuff there that I am not using, it's definitely worth the effort to update some screens and code all new once these new possibilities, I especially like the return of common scope for screens (our top stripe stopped reporting to tooltips, now it can be easily restored and loads of code in it simplified) Edit: Screen variables declared with define statement are still not passed to the use screen, pity :( LMAO, Edit 2: No... it is working, just not as I expected. Also the new "transpose" statement or something like this has a lot of potential... New faster and better vpgrid is also worth some attention, we can prolly use it for bestiary and in many other places as well.

Some other stuff as well like style prefix/suffix (latter is new) but that will require some getting use to.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 05:05:24 AM
Yeap, it's been awhile since I used the old guild... As a side note, does it take additional efforts to use more than one mouse button in renpy?

I'd like to have a special, good looking frame for teams, with place for all three portraits, name, maybe something else. Just like the frame that I added for character profile where we inserted MPTrait icons. But I haven't found anything suitable yet.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 05:08:43 AM
I mean something like this (http://s3.amazonaws.com/GameArtPartners/Images/Gallery_GUI_Woodcut2.jpg), there is a frame with 3 circles that could be used for portraits, and a few panels below them for additional information. Of course it's not entirely suitable for us, zooming is kinda off.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 05:12:28 AM
Here, this (https://www.gamedevmarket.net/media/get/cc_e02528aa74242d8a1fd0d7305adebab4843bdd6c.jpg/) one looks very good. See, there are 3 squares with hp and mp bars, seems suitable for a team frame. But we can't use it directly, it's a cut off low quality example.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 05:20:30 AM
As a side note, does it take additional efforts to use more than one mouse button in renpy?

depends on where. Buttons = NP, some global action = NP. For drags, might be an issue... maybe not.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 05:44:10 AM
No, I don't mean d&d. We already have rmb for returning to previous screen, so the only thing that left is middle button, which is not suitable for d&d.

Perhaps access to hero profile or making a quicksave could be tied to it though.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 06:14:44 AM
Those resources look ok but not enough for an interface (separate elements are needed).
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 06:15:38 AM
No, I don't mean d&d. We already have rmb for returning to previous screen, so the only thing that left is middle button, which is not suitable for d&d.

Not just to return, I am using it in some buttons for dropdown screens.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 06:37:13 AM
I can cut them, but resolution is too low... I only managed to find this (https://www.dropbox.com/s/vwa5lpth8tkgny7/03b_wooden_game_ui-o.jpg?dl=0) one in good resolution, however it uses 6 places for portraits.

Here (https://www.dropbox.com/s/qokalvfg1u1n2lv/test.png?dl=0) is a quick attempt to make it work for 3 chars via mirroring parts of the picture. Do you think it will be suitable enough?
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 06:43:01 AM
Bars are a problem and yeah, 6 spots.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 06:54:28 AM
Here (https://www.dropbox.com/s/i1em393t0xlknnm/circle_portrait.png?dl=0) is separate portrait, here (https://www.dropbox.com/s/zljctnn45w4044g/circle_portrait_1.png?dl=0) is frame for 3 chars. If you can use them, I'll clean them a bit more.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 07:19:21 AM
Here (https://www.dropbox.com/s/i1em393t0xlknnm/circle_portrait.png?dl=0) is separate portrait, here (https://www.dropbox.com/s/zljctnn45w4044g/circle_portrait_1.png?dl=0) is frame for 3 chars. If you can use them, I'll clean them a bit more.

I am not sure, feels like a lot of place just for three portraits and a bit of info but I'll try to put it into the game. Also, circles... I am not sure if all portraits will be a good fit for it.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 07:22:32 AM
I actually think about using them at the team personal screen, not in the general gui where we have all teams and characters. It's log button in the current gui, you have 3 portraits down there without any frames.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 07:37:09 AM
I actually think about using them at the team personal screen, not in the general gui where we have all teams and characters. It's log button in the current gui, you have 3 portraits down there without any frames.

It might work :)

This a two part design either way, it prolly must be a background/foreground kind of thing because any portraits that were not drawn specifically for this flame design, will look bad on top of it. So it prolly goes like: Papyrus-like bg and wooden foreground. I also don't like that all that extra space is wasted and that it's not carrying any info but it's prolly ok if it is just for show and not data.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 08:07:44 AM
See (https://www.dropbox.com/s/0a4tmx0t2o0u118/03_wooden_game_ui-o.jpg?dl=0) those squares with green and blue bars below them? They are small enough to be used everywhere with portraits, and bars show very useful info, ie hp and mp. Might be great for screen where you build teams.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 08:35:05 AM
Frame (https://www.dropbox.com/s/v11oke7o2u40smm/circle_portrait_2.png?dl=0) for portraits, background (https://www.dropbox.com/s/c8cig5o4mlkrnxs/pergament%20texture.png?dl=0) for portraits. It doesn't have to be big if you want to keep space for something else, although I'm not sure what else we can show at the bottom of the log screen.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 08:39:09 AM
Oki, thx :)

I will be busy till tonight, gonna try it then.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 10:18:28 AM
Small frame (https://www.dropbox.com/s/cktnwwwb2oep8g3/small_port.png?dl=0), health (https://www.dropbox.com/s/s5s4cu97klvxipv/green_bar.png?dl=0) bar, mp (https://www.dropbox.com/s/102f4mum0nbpsna/blue_bar.png?dl=0) bar, empty (https://www.dropbox.com/s/jnqm5poalh5sehy/empty_bar.png?dl=0) bars. Not sure how well they will look in the game, but they look pretty good in the source. Transparent (https://www.dropbox.com/s/lwiinv1z00wxgxv/small_port_empty.png?dl=0) version, background (https://www.dropbox.com/s/p7qwo82c7loijob/bk.png?dl=0) for it.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 11:24:11 AM
Small frame (https://www.dropbox.com/s/cktnwwwb2oep8g3/small_port.png?dl=0), health (https://www.dropbox.com/s/s5s4cu97klvxipv/green_bar.png?dl=0) bar, mp (https://www.dropbox.com/s/102f4mum0nbpsna/blue_bar.png?dl=0) bar, empty (https://www.dropbox.com/s/jnqm5poalh5sehy/empty_bar.png?dl=0) bars. Not sure how well they will look in the game, but they look pretty good in the source. Transparent (https://www.dropbox.com/s/lwiinv1z00wxgxv/small_port_empty.png?dl=0) version, background (https://www.dropbox.com/s/p7qwo82c7loijob/bk.png?dl=0) for it.

Looks more like white than transparent. Going to try to load some of it into the game after screens are sorted. I asked about screens on lemma to find out if my attempt at improvement is sound and how best to do it, I'd like a response before updating any major screens :D
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 11:48:06 AM
DB previewer doesn't support alpha channel, showing it as white.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 11:52:57 AM
DB previewer doesn't support alpha channel, showing it as white.

.........................................
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 12:26:15 PM
I can't find the place where you calculate character AP.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 12:45:41 PM
I can't find the place where you calculate character AP.

PytCharacter class, there are several methods.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 12:56:03 PM
I wonder, maybe it should be based on the character level... After all stats maxes, including constitution which gives AP atm, are limited by level anyway.

If not, then agility should affect it too. Speed is just as important as constitution for performing many actions.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 02:16:25 PM
I wonder, maybe it should be based on the character level... After all stats maxes, including constitution which gives AP atm, are limited by level anyway.

If not, then agility should affect it too. Speed is just as important as constitution for performing many actions.

We can offset using agility in jobs, where it's appropriate. AP are mostly for MC anyway, if there weren't combined action like Arena combat, I would not even use them for any other character. We have a bunch of overlapping concepts, this is one of them, together with agility, constitution and vitality...
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 02:25:27 PM
Speaking of which, in many games stuff like health and mp are derivatives of other stats. Such as constitution and intelligence in our case. We can calculate them instead of keeping independent.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 02:45:37 PM
Speaking of which, in many games stuff like health and mp are derivatives of other stats. Such as constitution and intelligence in our case. We can calculate them instead of keeping independent.

Stats/skills are complex enough as it is without throwing more wood into that furnace :D
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 02:55:09 PM
Perhaps APs should only be used outside jobs then. There are always other ways to limit jobs if the character was too active in VN mode. Vitality is one of them. A flag that forbids the character to work during the next turn is another one, if something major happened.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 03:21:12 PM
Perhaps APs should only be used outside jobs then. There are always other ways to limit jobs if the character was too active in VN mode. Vitality is one of them. A flag that forbids the character to work during the next turn is another one, if something major happened.

Yeap, that wouldn't be the worst thing but I recon that with SimPy, it will be easy to change at any time.
Title: Re: General Discussion
Post by: Xela on May 05, 2016, 03:50:53 PM
Oki, I've loaded team frames into fg to take a look at how they fit. Productivity was at 0 tonight cause of a sh1tty day, time to call it a night.
Title: Re: General Discussion
Post by: DarkTl on May 05, 2016, 04:00:53 PM
Btw at the building_management screen you show a (seemly random) character picture in the right bottom corner. Is there a reason to do so?  :)
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 12:19:52 AM
Is there a reason to do so?  :)

Manager... you can change in the chars list screen.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 12:35:49 AM
But we have multiple managers.
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 12:40:05 AM
Just the one for now, I am not 100% sure it's worth to add more for beta.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 03:17:01 AM
When we do stuff like
Quote
        $ tags = ({"tags": ["beach", "swimsuit"], "exclude": ["sex", "sleeping", "angry", "in pain", "sad", "scared", "bathing"]}, {"tags": ["simple bg", "swimsuit"], "exclude": ["sex", "sleeping", "angry", "in pain", "sad", "scared", "bathing"]}, {"tags": ["no bg", "swimsuit"], "exclude": ["sex", "sleeping", "angry", "in pain", "sad", "scared", "bathing"]})
to send it into a function, isn't there a way to make it work like
Quote
excluded = ["sex", "sleeping", "angry", "in pain", "sad", "scared", "bathing"]
and
Quote
        $ tags = ({"tags": ["beach", "swimsuit"], "exclude": excluded}, {"tags": ["simple bg", "swimsuit"], "exclude": excluded}, {"tags": ["no bg", "swimsuit"], "exclude": excluded})
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 03:27:37 AM
Sure, that will work.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 03:34:13 AM
Well, that actually gave me a syntax error, so I wonder what's wrong  :)
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 03:53:28 AM
$ excluded = ["sex", "sleeping", "angry", "in pain", "sad", "scared", "bathing"] ?

Maybe the above? I am not sure, it should have worked...

===>>
Edit: You should not get a syntax error but it might not be safe, I don't remember what we do in the function but if you pass an object around through references like that and it is modified, all references pointing would still point to that (now) modified object. So it depends on what we do with in in the function.

You way is cleaner in either case, if we modify that list somehow, we can just make a copy of it making sure it's safe {"exclude": excluded[:]} for example.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 07:54:30 AM
More or less, there was an excess $ since I write the function in init python  :)

Teams probably could use levels aka ranks which increase as the team explodes SE, giving bonuses to teammates inside SE and maybe providing access to a few areas which require a certain team rank.
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 09:59:40 AM
Nah, teams are subject to chage, I am not even sure about locking leaders anymore. Might make sense for the arena...
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 10:32:46 AM
Not sure what to show at that pergament part of the frame with circles. I think it's too small for the team name anyway. Perhaps some team statistics... I'll remove the pergament part if it will be useless.
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 11:31:37 AM
Not sure what to show at that pergament part of the frame with circles. I think it's too small for the team name anyway. Perhaps some team statistics... I'll remove the pergament part if it will be useless.

We prolly can fit both in small font size. I am spent again, gonna try writing more gui code until headache knocks me out :D Maybe some minor code refactoring if it does.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 12:40:33 PM
I asked about screens on lemma to find out if my attempt at improvement is sound and how best to do it, I'd like a response before updating any major screens
Your question might be a bit too advanced to expect an answer other than "try and find out"  :D

I move some parts of interactions logic to python functions, global ones. Can it create issues? Maybe it's better, for example, include them into the char class?
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 12:48:33 PM
Your question might be a bit too advanced to expect an answer other than "try and find out"  :D

Then someone could have suggested "how" to find out (I don't know how SL2 screens are marked at runtime)... even with old SL, our screens worked but after SL2 was introduced, all predicted screens started to work perfectly... so even more interface/logic could be added there even before optimization I plan for next code refactoring... maybe I can catch PyTom in chat tomorrow and find out, I feel than the answer is more likely to be yes than no...

I move some parts of interactions logic to python functions, global ones. Can it create issues? Maybe it's better, for example, include them into the char class?

It would not matter, functions are a lot smarter for this case cause the class is already huge.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 02:34:28 PM
If I do weighted random choice with skills values as weights (and they all can and will go beyond 100), will it still work? Or they have to be normalized?
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 02:47:28 PM
If I do weighted random choice with skills values as weights (and they all can and will go beyond 100), will it still work? Or they have to be normalized?

Come again? Mind the skill values... they are not capped by the level in the same level as stats are.

Drag&Drop system is coming along marvelously! I got done in half-alive state tonight what took me two days to setup before. Although Drag&Drop system implementation for screens was shit back then, new renpy version had to be delayed cause PyTom wanted to fix all the cr@p I dug up in it :D

I will prolly move it to PyTFall from lab soon.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 02:59:45 PM
Weight choice, when the more the weight, the more the chance to select the element. An example from one website
Quote
elements = ['one', 'two', 'three']
weights = [0.2, 0.3, 0.5]

from numpy.random import choice
print choice(elements, p=weights)
As you can see, weights are 100% in total.
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 03:05:54 PM
Weight choice, when the more the weight, the more the chance to select the element. An example from one websiteAs you can see, weights are 100% in total.

You'll have to recompile Ren'Py to add numpy to it cause large parts of it are written in C and then do so after every Ren'Py upgrade. What are you trying to do?

===>>
Edit:
Ah ok:

https://lemmasoft.renai.us/forums/viewtopic.php?f=4&t=26531#p323010

I still don't get a question about skills over 100. I wonder why they didn't just add it to normal random module... seems like there is solid demand for it, I found over 10 ways across many boards suggesting many ways to do the same thing...
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 03:16:52 PM
Yeah, I want to use skills values (which are unlimited) as weights. So I wonder if weight sum should be 1 in total, like in every python example about the weighted choice, or I can use raw skill values and the function will figure it out.
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 03:20:18 PM
Yeah, I want to use skills values (which are unlimited) as weights. So I wonder if weight sum should be 1 in total, like in every python example about the weighted choice, or I can use raw skill values and the function will figure it out.

They are not really unlimited, there are caps on them, just really high once. I think they are defined in initialization file somewhere and all set to the same value.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 03:48:02 PM
5000. That's lower than I thought  :D
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 05:44:17 PM
5000. That's lower than I thought  :D

LoL? We could make it 50 000 and use steps of 10 or make it 5 and go full out floats :D

Drag and drop interface is coming along nicely, code is really clean this time, I feel like we can add any amount of extra magic to it without confusing anything. I want to add some basic info as really small icons to portraits, maybe just the types (warrior/service/manager) and status (slave/free), prolly should make them larger and add a grid underneath, prolly from bestiary, it looks cool now.
Title: Re: General Discussion
Post by: DarkTl on May 06, 2016, 06:32:17 PM
https://lemmasoft.renai.us/forums/viewtopic.php?f=4&t=26531#p323010 (https://lemmasoft.renai.us/forums/viewtopic.php?f=4&t=26531#p323010)
Might be taken from https://www.renpy.org/wiki/renpy/doc/cookbook/Making_random_choice_with_some_outcomes_more_likely_than_others (https://www.renpy.org/wiki/renpy/doc/cookbook/Making_random_choice_with_some_outcomes_more_likely_than_others)
Anyway, I tried it like
Quote
        skills = ["sex", "oral", "anal"]
        if not(ct("Virgin")) or check_lovers(hero, char) or char.disposition >= 750:
            skills.extend(["vaginal"])
        skills_values=[]
        for t in skills:
            skills_values.append([t, char.get_skill(t)])
        total = sum([t[1] for t in skills_values])
        import random
        r = random.uniform(0, total)
        s = 0.0
        for k, w in skills_values:
            s += w
            if r < s: return k
        return k
and it works weirdly. It might be unsuitable for cases when the sum of chances is not 1.
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 07:11:52 PM
I found an option that might work better, try it out when you can. (just pushed the func)
Title: Re: General Discussion
Post by: Xela on May 06, 2016, 07:38:31 PM
Ok... that's enough. Stills loads to do but base is setup.
Title: Re: General Discussion
Post by: DarkTl on May 07, 2016, 05:16:41 AM
Yeah, it works. But it cannot handle cases when all weights are 0, in which case it probably should return None (fixed it).
Title: Re: General Discussion
Post by: Xela on May 07, 2016, 06:19:25 AM
Yeah, it works. But it cannot handle cases when all weights are 0, in which case it probably should return None (fixed it).

Oki :) I promised that I'll take a stab of coming up with a simple "shooting range" concept for Ren'Py tonight. Gonna see if I can write a passable UDD in pytfall lab...

Edit:
LoL, I just realized that I haven't written a UDD with input ever since training on that stupid ship and the music thing. I wonder if I still got the ship somewhere.
Title: Re: General Discussion
Post by: DarkTl on May 07, 2016, 07:37:03 AM
Shooting range? Like, for BEs?
Title: Re: General Discussion
Post by: Xela on May 07, 2016, 07:47:55 AM
Shooting range? Like, for BEs?

http://www.dailyhaha.com/_flash/m16_shooting_range.htm
http://www.oyunlar1.com/online.php?flash=3389

Something along these lines, for a minigame in futuristic VN.
Title: Re: General Discussion
Post by: Xela on May 07, 2016, 02:28:25 PM
)$%$)(%*$)(*()$#*%)($*%)(

Spent two hours trying to figure out why our in poly func works for you and doesn't work for me only to find out that it matters a lot in which order you feed it the coordinates! Basically you can have 4 points and draw very different polygons with them... which is something I knew but forgot :D
Title: Re: General Discussion
Post by: DarkTl on May 07, 2016, 02:50:22 PM
Lol. And I once had to rewrite coordinates because at first I wrote them while launching the game in non native window mode, ie after changing window size manually with mouse, which totally messes up them  :D
Title: Re: General Discussion
Post by: Xela on May 07, 2016, 03:18:48 PM
Lol. And I once had to rewrite coordinates because at first I wrote them while launching the game in non native window mode, ie after changing window size manually with mouse, which totally messes up them  :D

My fault as well... I should have used renpy native function in favor of pygame variant because renpy version accounts for crap like window size.
Title: Re: General Discussion
Post by: DarkTl on May 07, 2016, 05:41:10 PM
Quote
    transform sex_scene_libido_hearth(t):
        anchor (.5, .5)
        block:
            linear (1/t) zoom 1.1
            linear (1/t) zoom 1
            repeat
Quote
screen int_libido_level(sex_scene_libido):
    hbox:
        xpos 5
        ypos 55
        add libido_hearth at sex_scene_libido_hearth(sex_scene_libido)
Quote
show screen int_libido_level(sex_scene_libido)
Quote
  File "game/library/interactions/GM - sex.rpy", line 278, in script
    show libido_hearth at sex_scene_libido_hearth(sex_scene_libido)
Exception: ATL appears to be in an infinite loop.
So how should I show that scary-scary infinite loop?  :)
Title: Re: General Discussion
Post by: Xela on May 07, 2016, 07:57:17 PM
Try:

Code: [Select]
    transform sex_scene_libido_hearth(t):
        anchor (.5, .5)
        block:
            linear (1.0/t) zoom 1.1
            linear (1.0/t) zoom 1
            repeat

Made some good progress on basic setup for shooting range, maybe we'll be able to use it as well somehow as a minigame :D
Title: Re: General Discussion
Post by: DarkTl on May 08, 2016, 08:33:51 AM
Is it possible to recolor in real time, like im.Recolor does?
I mean stuff like
linear 1.0 recolor(rmul=255)
linear 1.0 recolor(rmul=0)
Title: Re: General Discussion
Post by: Xela on May 08, 2016, 09:36:18 AM
Is it possible to recolor in real time, like im.Recolor does?
I mean stuff like
linear 1.0 recolor(rmul=255)
linear 1.0 recolor(rmul=0)

No. Well, yeah :) Obviously it is possible, but there is no such native function internally.
Title: Re: General Discussion
Post by: DarkTl on May 08, 2016, 11:01:55 AM
Never mind that, it doesn't look as good as I hoped.

Btw if you encounter renpy games with the concept of sex scenes, like ours or in rogue like evolution, let me know. We always could use more lines and ideas to rip off  :)
Title: Re: General Discussion
Post by: Xela on May 08, 2016, 12:22:20 PM
There were a few, finding/remembering is a whole other topic... why only Ren'Py, any game will do?
Title: Re: General Discussion
Post by: Xela on May 08, 2016, 12:24:56 PM
https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=38444#p415130

This might be useful. We could use uchar names to alias thought character variable...
Title: Re: General Discussion
Post by: DarkTl on May 08, 2016, 12:29:58 PM
I suppose any game will do, but in case of renpy the chance of direct access to all resources is very high.
Title: Re: General Discussion
Post by: Xela on May 08, 2016, 12:46:08 PM
True...

I am going to add paging to Drag and Drop interface. Code is all setup, just need to write ui for it.
Title: Re: General Discussion
Post by: Xela on May 09, 2016, 02:07:53 AM
I've added the paging! And used the buttons from your DB ui folder :D

Looks really decent, a bit inconsistent but passable for a beta. Filters and other "smaller" logic like coming back to the correct screen after going profile/equipment (not working yet) is next. Moar controls for FG as well and I want more char info in tooltip and a couple of icons. Also restoring delete teams logic and re-enabling renaming of teams.

Overall, interface feels a bit awkward, I am not yet sure what to do about that. One possibility would be adding individual storing of last viewed screen/upgrade to every building. It's a lot better than it used to be.
Title: Re: General Discussion
Post by: Xela on May 09, 2016, 02:12:59 AM
Overall, interface feels a bit awkward, I am not yet sure what to do about that. One possibility would be adding individual storing of last viewed screen/upgrade to every building. It's a lot better than it used to be.

I think the key to improving this might also lie in "crossing" screen logic, like allowing setting chars to jobs from team menu, sending teams exploring at stored settings without having to visit area screen and etc.
Title: Re: General Discussion
Post by: DarkTl on May 09, 2016, 04:14:49 AM
You really shouldn't show slaves at the team screen, instead of showing them all and then trolling player with the message that they cannot participate in combat  :D
I'll try to recolor buttons with a wood texture to make gui more consistent.
Title: Re: General Discussion
Post by: Xela on May 09, 2016, 02:59:43 PM
I know, there wasn't any time to take care of filters yet :(
Title: Re: General Discussion
Post by: DarkTl on May 10, 2016, 07:59:45 AM
Do you want to show all warriors in all buildings, or player has to transfer characters to the guild before they appear in the list? I'm not really sure what is the best way, showing everyone could be very messy, even with filters per building...

Anyway, I believe we need sorting by level and by character name at the teams screen. I don't see the game using buttons-switches so far, when one button can have many icons and/or text depending on the current mode, and clicking on it changes the mode. Such buttons are probably the best bet for filters like name/level.

Also, MC teammates cannot be a part of SE, unless MC is a part of SE too. We probably could set them as his team automatically once you drag MC to a team frame.
Title: Re: General Discussion
Post by: Xela on May 10, 2016, 08:36:52 AM
Do you want to show all warriors in all buildings, or player has to transfer characters to the guild before they appear in the list? I'm not really sure what is the best way, showing everyone could be very messy, even with filters per building...

Just the building, maybe paired with free warriors who are in MCs employment but not don't have workplace set to anything.

Anyway, I believe we need sorting by level and by character name at the teams screen. I don't see the game using buttons-switches so far, when one button can have many icons and/or text depending on the current mode, and clicking on it changes the mode. Such buttons are probably the best bet for filters like name/level.

We'll see, I wasn't planning to add sorting, just filtering. I'll see if it can be done tonight.

Also, MC teammates cannot be a part of SE, unless MC is a part of SE too. We probably could set them as his team automatically once you drag MC to a team frame.

?
Title: Re: General Discussion
Post by: DarkTl on May 10, 2016, 09:53:08 AM
I mean, either we remove MC teammates from his team, or forbid to include them into teams unless you send MC himself to exploration (in which case the game uses them as his team). They physically leave the city, there is no way they can explore some distant area and follow MC at the same time.

Edit: yeah, it sounds kinda vague now when we have two types of teams, MC's team and SE teams  :D
If we allow to send to SE characters from MC_team, we should remove them from MC_team when they join SE_team. Either that, or we forbid characters from MC_team to join any SE_teams, unless player forms a SE_team by dragging MC to team frame, in which case characters from MC_team also became a part of his own SE_team.

Another option is to make MC's own SE_team permanent and undeletable,  and synchronize it with MC_team. Or, rather, make MC_team and his own SE_team the same thing. When player adds a character to MC_team, he also adds that character to MC's SE_team, and vice versa.
Title: Re: General Discussion
Post by: Xela on May 10, 2016, 10:35:13 AM
I can prolly figure this out, we don't have much in terms of actual exploration logic.
Title: Re: General Discussion
Post by: DarkTl on May 10, 2016, 03:59:08 PM
BE probably should use random music if no music is specified. It looks very weird when they fight in silence.

I need to initiate a battle inside interaction. Well, not inside, but after some action I need to exit interaction screen, run BE, then depending on result call interactions labels for the character to say something, basically return to interaction screen.
Title: Re: General Discussion
Post by: Xela on May 10, 2016, 04:02:27 PM
BE probably should use random music if no music is specified. It looks very weird when they fight in silence.

I need to initiate a battle inside interaction. Well, not inside, but after some action I need to exit interaction screen, run BE, then depending on result call interactions labels for the character to say something, basically return to interaction screen.

Provide a music file if it looks weird.

You can just run BE as a single python statement never leaving interaction label so there shouldn't be any issues.
Title: Re: General Discussion
Post by: DarkTl on May 10, 2016, 04:20:22 PM
I kinda thought default = random, not none... Why providing music files manually when we have plenty to choose from with rng? Why the same scene (like arena battle) should always have the same music with zero variety?

You can just run BE as a single python statement never leaving interaction label so there shouldn't be any issues.
No, there are plenty of issues, such as all elements of interactions gui remaining on the screen.
Title: Re: General Discussion
Post by: Xela on May 10, 2016, 04:38:23 PM
No, there are plenty of issues, such as all elements of interactions gui remaining on the screen.

Hide them :D

Code: [Select]
hide screen name before launching BE.
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 01:15:11 AM
I need to know somehow where gm was started to provide a suitable background for BE.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 04:20:21 AM
I need to know somehow where gm was started to provide a suitable background for BE.

We store three variables when an Interaction (GirlsMeets, poorly named, I'll adjust on refactoring) starts:

Code: [Select]
            self.label_cache = ""
            self.bg_cache = ""
            self.jump_cache = ""

 I am not sure but jump_cache might be something interim. label cache is prolly safer.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 06:43:19 AM
Do you want to show all warriors in all buildings, or player has to transfer characters to the guild before they appear in the list? I'm not really sure what is the best way, showing everyone could be very messy, even with filters per building...

Anyway, I believe we need sorting by level and by character name at the teams screen. I don't see the game using buttons-switches so far, when one button can have many icons and/or text depending on the current mode, and clicking on it changes the mode. Such buttons are probably the best bet for filters like name/level.

Also, MC teammates cannot be a part of SE, unless MC is a part of SE too. We probably could set them as his team automatically once you drag MC to a team frame.

Tonight I want to try making filters generic and reusable through one class (rewriting/renaming the GuiGirlsList class basically).
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 07:04:00 AM
Yeah, gm.label_cache works fine. Although you mentioned that characters should (or will) have current location property, I imagine it should be the most reliable way for such checks.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 07:44:46 AM
Although you mentioned that characters should (or will) have current location property, I imagine it should be the most reliable way for such checks.

Yeap but it might not get this precise. It's that "eternal" argument of "Moar Logic" vs "Unmanageable Cluster Fuck of code". I'd argue that for the game, location for a free character that is available to interact in the city should be simpler than the exact place where that char can be found...
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 08:35:07 AM
We could use a shortcut button in BE to lose the battle to test outcomes of losing. There are various ways to to get around it, such as starting as zero mc or changing the code, but they are less convenient than such a button.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 08:52:24 AM
We could use a shortcut button in BE to lose the battle to test outcomes of losing. There are various ways to to get around it, such as starting as zero mc or changing the code, but they are less convenient than such a button.

Come on... don't run the BE at all and preset data to whatever the conditions you wish to test, what can possibly be any different? How can it possibly be easier for me to change GUI and for you to wait for BE to start every time than for you to just not run BE and test various outcomes through menu or just code that runs through?

It's like we're back to that discussion about not being able to create quests before SE kicks in. You can easily simulate outcomes of whatever the hell was supposed to have happened in BE or SE or anywhere else without ever having to run them cause all they can offer is to return a list of corpses/alive team mates/set a flag/add an item and etc. and even all of those slightly more complex conditions, in the end, boil down to a simple True/False...
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 09:34:40 AM
Come on... don't run the BE at all and preset data to whatever the conditions you wish to test, what can possibly be any different?
Usually the lack of music, background and other needed pictures, which can only be noticed after closing real BE, since you have to return everything manually after using BE  :D

Btw how to implement results of BE to characters? Like, remaining health and mp.

You can easily simulate outcomes of whatever the hell was supposed to have happened in BE or SE or anywhere else without ever having to run them cause all they can offer is to return a list of corpses/alive team mates/set a flag/add an item and etc.
Not quite. For example, let's say I 'm planning to run a scene when the team finds something in SE (but hasn't returned yet). But turns out SE can't support such stuff, goodbye scene. Well, I dunno if it will be able to support it, it's just an example.

Another example, let's say I'm planning to make an event where MC has no choice but to run from BE because the enemy is too powerful. But even now BE doesn't support running away, goodbye event.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 10:13:08 AM
Usually the lack of music, background and other needed pictures, which can only be noticed after closing real BE, since you have to return everything manually after using BE  :D

Button to terminate the engine quickly does make sense, I did add that for my own testing, although it will send you to main screen. This has nothing to do with loosing or winning, I'll try to make sure that it can function anywhere somehow and push.

Btw how to implement results of BE to characters? Like, remaining health and mp.

You have access to teams in the order you've added them to be instance (be.teams field, it's a list) or to team objects you've created.

Not quite. For example, let's say I 'm planning to run a scene when the team finds something in SE (but hasn't returned yet). But turns out SE can't support such stuff, goodbye scene. Well, I dunno if it will be able to support it, it's just an example.

You can just ask about complicated cases like these and than just go on with your quest development, it doesn't prevent your from doing anything.

Another example, let's say I'm planning to make an event where MC has no choice but to run from BE because the enemy is too powerful. But even now BE doesn't support running away, goodbye event.

That is some intense BS right there :D

One: It's obvious that we can create this action. So it's not that BE doesn't support it, it's that running away isn't coded in yet.
Two: It's not really all that different from getting your party wasted in a none "battle to the death" scenario which should be our default.
Three: Yet another thing that you that you can plainly ask about.

===>>
I'll look into adding a run away sequence as well. For the whole party at first, maybe per character later on, which will prolly require creating a lot of new variables...
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 10:56:07 AM
Button to terminate the engine quickly does make sense, I did add that for my own testing, although it will send you to main screen. This has nothing to do with loosing or winning, I'll try to make sure that it can function anywhere somehow and push.
Well, another option is to add antiheal spell which deals 99999 damage to the user team, ending the fight.

You have access to teams in the order you've added them to be instance (be.teams field, it's a list) or to team objects you've created.
That's what I was talking about when some time ago asked to make a function that handles battles automatically...

You can just ask about complicated cases like these and than just go on with your quest development, it doesn't prevent your from doing anything.
If I don't write quests, it's not because something prevents me  :D
As development shows, I'm not good with quests dialogues, unlike interactions and items. Well, at least I don't like how those dialogues look like.

One: It's obvious that we can create this action. So it's not that BE doesn't support it, it's that running away isn't coded in yet.
Two: It's not really all that different from getting your party wasted in a none "battle to the death" scenario which should be our default.
Three: Yet another thing that you that you can plainly ask about.
Nah, it's just an example. There are infinite amounts of possible options. Running away, scripted battles, invulnerability effect for quest cases, reinforcements for enemy team, etc, etc. We'll see Alkion v.5.0 sooner than they all can be coded  :) So events should be tied to existing mechanics, not the other way around.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 11:15:43 AM
Well, another option is to add antiheal spell which deals 99999 damage to the user team, ending the fight.

You know how to do that :D

Anyway, I took a good look at the code and there is no good way (and just a few of really, really bad ways) just to end BE. By far the best way is not even what I did in the past but to simply break the BE loop right before the next repetition.

So the Terminate button will do just that from this point on, it will not terminate anything right away but it will after the current loop ends. Basically, you just click the button and skip next action or wait till AI is done with whatever the heck it was doing.
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 11:34:18 AM
Ok, what the hell. When I fight a character hired by MC, I can kill her and nothing happens to her after battle ends. When MC dies in battle with the same code, it's instant game over. It's unfair  :(


I added DarkTouch, it kills the whole party, unless someone is immune to darkness. Hopefully, AI will not use it too often in testing battle :)
 
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 12:03:04 PM
Ok, what the hell. When I fight a character hired by MC, I can kill her and nothing happens to her after battle ends. When MC dies in battle with the same code, it's instant game over. It's unfair  :(

BE shouldn't end the game all by itself or do anything of a sort, if it does, I left some testing code there that I didn't mean to. Confirm this... if it's like that, I'll take a look at the code chain.

I left all the after match BE crap to coders. Those who died in the combat are all added to be.corpses (possibly another poorly named variable, I borrowed it from some other BE design).

Team object you provided to BE remain intact after the battle, it should not be possible to kill off a character in BE (health reduced to 0) unless something is poorly coded somewhere, it can only be something that overrides default BE functionality or misused in some way.

I added DarkTouch, it kills the whole party, unless someone is immune to darkness. Hopefully, AI will not use it too often in testing battle :)

AI don't use the whole array of attacks in the game so that should never happen.

Ah ok, you've added to attack allies :D It can happen, at least in that BE testing scenario, probability is still very low.
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 12:09:47 PM
I even tested it in the testing battle. DarkTouch = instant game over -_-
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 12:23:32 PM
I even tested it in the testing battle. DarkTouch = instant game over -_-

Healing spell is meant to heal, not kill, there are no checks and no way that it can even add a death event to the event queue. Make it an attack spell and it should work properly.

It would take month if not years to code in a BE that will anticipate every possible combination, prolly creating a cluster fuck of code and if/else spaghetti in the process but I'll add more proper logic during next refactoring effort.
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 12:47:18 PM
Yeap. I kinda figured if BasicHealingSpell adds its effect to health, negative effect might as well reduce it. I thought that type="all_allies" simply cannot work with SimpleMagicalAttack, but if it's not the case, then I wonder why you added BasicHealingSpell instead of using negative effect with SimpleMagicalAttack.

Oh, and running away is just an example. It should exist inside SE, but inside normal BE it's not so useful. If you want to add something to BE, resolve issue 174 instead  :)
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 01:11:50 PM
Yeap. I kinda figured if BasicHealingSpell adds its effect to health, negative effect might as well reduce it. I thought that type="all_allies" simply cannot work with SimpleMagicalAttack, but if it's not the case, then I wonder why you added BasicHealingSpell instead of using negative effect with SimpleMagicalAttack.

You generally don't want to defend against healing spells, defense is always taken into consideration when the attack (Action) family is used, so we had to overwrite the part that does it. Also the logged text (attacked vs healed). Also, "why you added?", it's not like I wrote 1000 lines of code for it that SimpleMagicalAttack and it's parents are already using, I've inherited from SimpleMagicalAttack using all those 1000 lines of logic and add/"overloaded" like 40 lines that mattered.

Oh, and running away is just an example. It should exist inside SE, but inside normal BE it's not so useful. If you want to add something to BE, resolve issue 174 instead  :)

Ok, I'll take a look at whatever 174 is :D
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 01:30:58 PM
Oki, you now it should be able to provide music="random" argument.
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 02:00:43 PM
Time to improve BE resources a bit, since I'm gonna use it for interactions...

Do you want to keep battle (2).mp3 battle music? It's the one from final fantasy 7, if I'm not mistaken. It's not like this it bad, but it's highly recognizable, and I'd even say overused.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 02:21:43 PM
Actually someone commented on us using the tracks they liked and knew for the BE, I enjoy it as well.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 02:26:55 PM
Trying to figure out how to do the sorting efficiently... can't figure out best scope to do it at :( Gonna take a 5 minute break and really focus on it :D

Edit:
Yeah, there is no problem in code a good 20 minutes of focus can solve. I think we'll have a decent system soon enough!
Title: Re: General Discussion
Post by: DarkTl on May 11, 2016, 03:30:28 PM
Big push incoming... I edited existing tracks to get rid of too long silence in the end of some of them, and added new ones, now we have 26. Now the hard part, backgrounds for all, or at least most locations  ::)
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 04:57:05 PM
Lovely... as if 12 wasn't enough :D

New sorting logic incoming right after I've download new tracks. New code is fine and very flexible, instantiation is a bit "meh" but who gives a crap :D Maybe I'll find a way to import it in the future. I'll recode chars list filters to work with it next.
Title: Re: General Discussion
Post by: Xela on May 11, 2016, 06:46:21 PM
New sorting logic incoming right after I've download new tracks. New code is fine and very flexible, instantiation is a bit "meh" but who gives a crap :D Maybe I'll find a way to import it in the future. I'll recode chars list filters to work with it next.

Oki, that is now done as well, still one or two tiny kinks to work out but in it's working well now :D Apart from a far superior code to what we had before, it has new functionality:

- Now possible to combine any variations of filters, not just one filter per logical group.
- There is no bloat of 30 extra filters in characters listing screen. If the filter is there, it means that it at the very least might be useful.
- Everything will work a lot faster now because filters are no longer calculated on runtime but only on demand, when it makes sense.

*- We can now add more filters without too much fuss due to better and more flexible code.
*- We can now sort using the same system.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 01:34:20 AM
Great, now filters just need a decent gui  :)
For instance, we cannot provide a separate button for every existing building in the characters list, it will be a mess. So I suppose a drop-down list of buildings or something like that is needed.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 02:26:17 AM
Hm. Characters lines still don't support everything. I left a few ー symbols by mistake, and the game doesn't know how to show them.
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 02:48:22 AM
Hm. Characters lines still don't support everything. I left a few ー symbols by mistake, and the game doesn't know how to show them.

Long vowel mark for Kanji? Aka:

30FC
KATAKANA-HIRAGANA PROLONGED SOUND MARK
Modifier Letter

(no, quotes, I am just gonna pretend to know this sh1t off the top of my head  ::) )

If you want to support the whole existing unicode range (100k characters, give or take), I suppose we could install one of those 50+ MB (butt ugly) Microsoft fonts that sometimes come with office/some of their other soft to take care of really exotic/foreign stuff.

This one isn't supported even by the default English DejaVuSans, which afaik is considered to have a really decent character set. There is a Japanese version of the same font that should have it though... I don't know how reasonable such an approach actually is thought.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 02:48:36 AM
Right, something is broken. Here (https://www.dropbox.com/s/0p6hr0wn0b8xwog/2.png?dl=0) is the line, here is the code

$ rc("Ehehe. What is it? ♪", "Muhuhu♪ Did you need something?", "Nuu, what's up?", "Eh? What, what is it?", "Huhu, what is it?", "W-What? Did I do something wrong...?", "Aaah! U-um...wh-what...?", "Waah!? D-don't startle me like that, jeez...", "Aah! D-don't scare me like that...")

The game doesn't know how to show a space?  :-\

It might be an unusual space of some kind, I searched for it and found 19 hits in whole interactions. But still, I don't think it's a rare japanese space for special cases.
 
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 03:14:07 AM
It might be an unusual space of some kind, I searched for it and found 19 hits in whole interactions. But still, I don't think it's a rare japanese space for special cases.

Well... it  ??? obviously  ??? is an ideographic space used in languages that use Chinese-derived ideographs (one of them is Japanese).

This is a space:
This is an ideographic space: 

The difference is quite obvious, is it not  :D :D :D :D :D
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 03:16:45 AM
As long as we rip lines from translated japanese games, we'll keep having issues like that. There is no way to know that a space is wrong until you see the line in the game  ::)
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 03:53:35 AM
Huh. When you enter a location with foreword, such as beach or park gates, the buttons to look around and meet characters are available immediately, even before location introduction ends. If there is an event tied to looking around, it also starts immediately after you look around, right in the middle of the introduction.
It's... not very failproof, I think.
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 04:03:12 AM
As long as we rip lines from translated japanese games, we'll keep having issues like that. There is no way to know that a space is wrong until you see the line in the game  ::)

I'm adding jap support, found some 5mb free font for it.

Huh. When you enter a location with foreword, such as beach or park gates, the buttons to look around and meet characters are available immediately, even before location introduction ends. If there is an event tied to looking around, it also starts immediately after you look around, right in the middle of the introduction.
It's... not very failproof, I think.

Don't know... I tried adding modal to say screen once but there were other issues with it. I need a list of all bad cases in order to come up with a logical system somehow.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 04:28:56 AM
Well, it's not like it causes CTDs so far. But if event will jump somewhere, it might be another story.

I have battle backgrounds in game\content\gfx\bg\be, such as b_city_3, b_forest_4, etc. And code like
Quote
    if "park" in gm.label_cache:
        $ back = "content/gfx/bg/be/b_park_3.jpg"
        ...
    $ battle = BE_Core(Image(back), start_sfx=get_random_image_dissolve(1.5), music="random", end_sfx=dissolve)
I want to pick background randomly, like not just b_park_3.jpg, but any background from the be folder that has park in its name. I suppose I could make it work like choice (background name 1, background name 2), but I wonder if it can be done easier, like the random choice for battle music you added recently.
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 04:47:52 AM
I have battle backgrounds in game\content\gfx\bg\be, such as b_city_3, b_forest_4, etc. And code likeI want to pick background randomly, like not just b_park_3.jpg, but any background from the be folder that has park in its name. I suppose I could make it work like choice (background name 1, background name 2), but I wonder if it can be done easier, like the random choice for battle music you added recently.

I don't know when it becomes "easier", we'll prolly have to rewrite all of these file searches we do and access it using internal Ren'Py functions. If you have just the few background, plainly listing them is prolly easier.

===>>
I've added support for Japanese characters (along with some 5mb Japanese font). It's kind of hack because I cheated and use a huge unicode range to cover them that includes some other crap as well like some obscure arabic range, random weird characters and etc. We can do it properly if we run into even more issues...

Seems to be working at any rate. I've also grabbed the latest de ja vu sans from their website, it 'might' have better character support than what we were using, file is larger at any rate.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 05:15:44 AM
I suppose when it works like
list = []
if "park" in gm.label_cache:
    for n in (folder with backgrounds):
        if "park" in n:
            list.append(n)
result = choice (n)

This way they are prone to deleting and adding new ones. But if it will have to be rewritten eventually, then I suppose it makes no sense.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 08:00:36 AM
Alright, after some editing all locations have more or less suitable backgrounds to fight. I'm gonna make a few "evil" options for interactions, and fights with characters require this.
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 08:33:33 AM
Oki, I'll try to put in some time into interface and resume making new FG + SimPy code playable. After that's done, there will be only couple of smaller issues left with the jobs/businesses and we can start working on a job events system.

We'll also need meaningful upgrades to businesses and sound manager bonuses and maybe some ways to control/enhance those bonuses. I'd love a system where such things can really make a difference, now it's possible with SimPy but it still requires a lot of imagination/thinking through.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 08:40:29 AM
If there will be one manager per building, managers have to be much more rare than other chars. Otherwise there will be plenty of useless chars with needless manager class.
Either that, or managers should not have a unique class, and anyone with for example high intelligence can be one. Actually, that might work pretty well, like if you make manager from a warrior, warriors in the building will get a bit of extra bonuses, and so on for other classes.
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 08:50:31 AM
I'll take that into consideration when updating random char generation routines. We may allow or even require more managers in the future or something like that. If you (or anyone else?) want to write a full "concept", it''ll always be welcome.

Otherwise we're rolling with the usual: Prototype ==> Improve ==> Prototype ==> Improve routine and adjust the code accordingly. Codebase needs a cleanup (refactoring) but it's a LOT cleaner and better suited for this type of development today than it was an year ago (not speaking of two years back when SimBro rewrite concept was in play and all code was written without expansion/change of concept in mind).
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 09:02:52 AM
What exactly you want managers to do though? Irl there are HR managers and CS managers, and they are very different "classes"  :)
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 09:20:14 AM
What exactly you want managers to do though? Irl there are HR managers and CS managers, and they are very different "classes"  :)

I wrote about it somewhere or at least I planned to (some of it is in issues I think/some in other thread/some mia) :D They will motivate workers, have some cool random bonuses, keep clients waiting for their turn longer, keeping them in the building and etc. Depending on their other classes, skills and maybe manager subclasses, I think you'be added a few of those already.

Basically, I am writing the "core" code now, at many places, we can add very significant "effects" that can change "flow" of the business. We need to come up with cases where we can change stuff significantly and relay those changes to the player in a clear and consistent manner (no point in over-complicated logic that translates to just different earnings without explanations).

How exactly? I am not sure yet... there are too many options and it needs to be combined with interface, reports and code, I have a long list of "possibilities" somewhere but it's easy brainstorm this stuff. Problem was that most of what I came up with was not plausible to implement in older system.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 09:43:46 AM
Huh. That's a lot of work for one person.
How about not having pure manager class, but only combinations? And a manager can only affect characters with the same class. And same for jobs: a whore manager can affect whoring business.
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 11:04:46 AM
Huh. That's a lot of work for one person.
How about not having pure manager class, but only combinations? And a manager can only affect characters with the same class. And same for jobs: a whore manager can affect whoring business.

Nah, would be out of sync with the design. We can make it work but I'd rather allow more than one manager at some point + We can add extra effects if manager has manager + corresponding basetraits.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 11:25:43 AM
Characters can serve a certain amount of clients. Cleaners can clean a certain amount of dirt.

When one manager capable to effortlessly control a whole building on her own without any help, including all customers and workers no matter how many we have, it's 100% out of sync with the design. Unless she has management skill 10 000 000+ maybe  ::)
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 12:07:16 PM
Yeah, you're prolly right... we may have to go with multi manager buildings from the start.

===>>
I am going to take a stab at the shooting range again, some gfx resources are ready and I wanna see how they look inside :D
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 12:40:20 PM
The examples of "shooting range" games you provided last time are not particularly challenging or fun...
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 12:53:21 PM
The examples of "shooting range" games you provided last time are not particularly challenging or fun...

Maybe... it's a minigame for possible future title. It's a fun bit of coding and a good artist will owe us one :D I am thinking of a couple of minigames with dedicated art for PyTFall at some point, maybe a well drawn mascot for a game with a couple of facial expressions... we'll see, it's prolly gonna be a decent game by an artist with a similar skill set to Akabur called Babe Runner (Blade Runner setting).

+ the simple prop I've coded for testing is kinda fun :D (in pytfall lab), I spent 3 hours trying to get a good score but never got it above 80 hits... I'll remove interactions restarts later, that should improve frame rate a bit.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 02:11:18 PM
Funny, nothing prevents you atm from adding slaves to the MC team and fighting together. But you can't change row for such characters. How weird  :D
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 02:17:02 PM
Funny, nothing prevents you atm from adding slaves to the MC team and fighting together. But you can't change row for such characters. How weird  :D

I leave that for devs/mods to take care of, it may not always be desired to enforce those rules on BE level. Aka: They can fight but not allowed to, so changing their row is not useful.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 02:26:00 PM
But MC shouldn't be able to add slaves to the team, no? Because it's illegal. Unless it works only in the dev mode, I suppose.
I mean, I don't add them via code. I add them via usual button in the gui.
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 02:28:44 PM
But MC shouldn't be able to add slaves to the team, no? Because it's illegal. Unless it works only in the dev mode, I suppose.

Team is not only for fighting... if we assume that chars on teams just walk around with MC. I just check if there are any slaves on the MC team before combat in arena/events and act accordingly.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 02:40:21 PM
Fair enough...
I think it should be more obvious that they accompany him, for example you always should be able to initiate interaction with them via MC team menu.
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 02:46:54 PM
Fair enough...
I think it should be more obvious that they accompany him, for example you always should be able to initiate interaction with them via MC team menu.

Maybe... not for beta, we'll make a note of it somewhere instead.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 02:52:52 PM
Hm. Slaves cannot equip weapons and armor, cannot fight or cast spells.
But what if they just stand in the first row doing nothing if you take them to battle?  :D
Title: Re: General Discussion
Post by: Xela on May 12, 2016, 02:56:12 PM
But what if they just stand in the first row doing nothing if you take them to battle?  :D

Old Huntsman style :D At least using them as cannon fodder is not eating them alive... They can fight and use magic in BE right? It's not like me to prevent that on running level, I like setting shit up on entry whenever possible.
Title: Re: General Discussion
Post by: DarkTl on May 12, 2016, 02:58:33 PM
That requires special AI that does nothing...

They still could be unavailable at arena for example, since it's official battles. But in some places, why not?
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 02:23:26 AM
This one  $ gm.set_img("battle", "confident", "angry") shows no image available while the character has battle picture not with confident or angry tags. I believe it tries all tags first, then first tag + one of each tags taken from the end of taglist. But if it fails, no image is not an option too, especially when we have first tag available.
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 02:52:23 AM
This one  $ gm.set_img("battle", "confident", "angry") shows no image available while the character has battle picture not with confident or angry tags. I believe it tries all tags first, then first tag + one of each tags taken from the end of taglist. But if it fails, no image is not an option too, especially when we have first tag available.

I need a test case, this is something sinister :( Best I can tell, this should not happen...

Or at least your devlog file with a fail in it...
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 03:00:26 AM
Uh, ok. You need my random priest pack and last push. All random chars are added by the testing rpy, so you should have the character immediately after starting the game.
Interactions - harassment, that's the testing option when MC engages in combat with a character. It won't work with slaves eventually, but atm it works with anyone.

When you try it, the game tries to show gm.set_img("battle", "confident", "angry") before battle, but fails in case of this random character.
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 03:15:11 AM
When you try it, the game tries to show gm.set_img("battle", "confident", "angry") before battle, but fails in case of this random character.

What a load of BS :(

I hope system isn't wrecked after I removed system path, it'd be a pain to go back to it... This is not girlsmeets related, it's a global thing, gonna try and find out wtf...


Not as bad as I thought...

My main problem was with profile image not superseding default "No Image Found" (this was an error in code), I figured out why you didn't get battle pic quickly enough.

But if it fails, no image is not an option too, especially when we have first tag available.

This is a a type="first_default" lookup order you describe here, not a normal one.

Try:

Code: [Select]
gm.set_img("battle", "confident", "angry", type="first_default")
and it'll work.

If you are confident enough in your knowledge of interactions system and sure that it will not break any other lookups badly, you can make that a default for all Interactions:

Code: [Select]
        def set_img(self, *args, **kwargs):
            """Sets the image, bypassing the image cache.
            """
            kwargs["resize"] = kwargs.get("resize", self.img_size)
            self.img = self.char.show(*args, **kwargs)

You add kwargs["type"] = kwargs.get("type", "first_default") to this.

Just grab my push first!
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 03:46:41 AM
Gonna take a break, had a bad night :(
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 04:19:10 AM
Alright, I do
Quote
    $ gm.set_img("battle", "confident", "angry", exclude=["happy", "suggestive"], type="first_default")
    call interactions_fight_begins # angry girl's line about upcoming battle
    hide screen girl_interactions
and run battle.
Then I do
Quote
        show expression gm.bg_cache
        show screen girl_interactions
        $ gm.restore_img()
        call interactions_fight_won
And gm.restore_img() does nothing, while it should restore and show the cached one before the battle. Am I missing something?
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 05:33:21 AM
Looks like it should work.
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 05:39:27 AM
Yeah, gm.restore_img doesn't do sh*t even without messing with BE  :D
Quote
    $ gm.set_img("battle", "confident", "angry", exclude=["happy", "suggestive"], type="first_default")
    "test"
    $ gm.restore_img()
And image disappears.
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 05:45:04 AM
Yeah.. it's that bit of code I told you to absolutely grab first before doing anything else :D

That's what you get from sleep deprivation. Pull and try it again, might be a fix (not sure about anything anymore).
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 05:57:54 AM
Right... Take a good sleep and then try to fix it again, or we will run out of working functions -_-
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 09:03:44 AM
Wish that I could... but that's gonna have to wait till tonight :D

Problem should be fixed now. I don't remember why those unused funcs were written but we prolly should not allow automatic overwrites of cache properties. If someone needs to do that, they have to access them directly, it's less confusing that way.

===>>
It should work now in either case, I've deleted all the methods that seemed unneeded.
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 10:15:31 AM
Wish that I could... but that's gonna have to wait till tonight
I figured as much. My point still stands though, if you catch my meaning.

Those functions were not unused, the sex scene kinda used them everywhere.
I hope that nothing was broken when I mass replaced gm.generate_img with gm.set_img ::)
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 01:35:14 PM
Damn... I don't know, it wouldn't be hard to roll back the changes and restore the method. There are two fields:

1) .img = Image shown at the moment.
2) .img_cache = Image re record on entry so we know what to fall back upon if we change it.

generate img method simply overwrote cache with the img and then set img to a char.show(...) with new arguments. So yeah, if you were using cache there as an interim variable to store previous picture, behavior will be different when you restore, because you'll get the original image from start of the interaction instead of what img was when you generated a new one.

That's the kinda thing you can prolly tell better than I cause you know how those interactions work. It was a bad name and a poor practice but we can restore it, nothing bad will happen. When searching for generate img, editor found just the four commented out lines, I thought they were useless.
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 01:53:12 PM
When searching for generate img, editor found just the four commented out lines, I thought they were useless.
They were, but in my fixing push you can see other lines as well...


Wonders of jumpless python again. These lines
Quote
if inv_source == eqtarget:
                                    if all([eqtarget.status != "slave", eqtarget.disposition < 850, not(check_lovers(char, hero))]):
                                        eqtarget.say(choice(["I can manage my own things!", "Get away from my stuff!", "Don't want to..."]))
                                    else:
                                        equip_item(focusitem, eqtarget, area_effect=True)
                                else:
                                    if all([eqtarget.status != "slave", not(check_lovers(char, hero))]):
                                        eqtarget.say(choice(["No way!", "I do not want this.", "No way in hell!"]))
are unsuitable for many MPtraits. Usually I make a label which picks lines and call it. Should I use renpy.call here? And send to it eqtarget to make checks like "if "Impersonal" in eqtarget.traits" instead of usual "if ct("Impersonal")"?
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 02:16:05 PM
They were, but in my fixing push you can see other lines as well...


Wonders of jumpless python again. These linesare unsuitable for many MPtraits. Usually I make a label which picks lines and call it. Should I use renpy.call here? And send to it eqtarget to make checks like "if "Impersonal" in eqtarget.traits" instead of usual "if ct("Impersonal")"?

You could... there is a comment there that suggests plans to encapsulate that but I can't tell if it's a requirement at the moment. If we do that, call will not be possible. It's a safest best to do it as done here:

Code: [Select]
    def can_transfer(source, target, item, amount=1, silent=True):
        """Checks if it is legal for a character to transfer the item.
       
        @param: silent: If False, game will notify the player with a reason why an item cannot be equipped.
        """
        if all([item.unique, isinstance(target, Player), item.unique != "mc"]) or all([item.unique, item.unique != target.id]):
            if not silent:
                renpy.show_screen("message_screen", "This unique item cannot be given to {}!".format(char.name))
            return
        if not item.transferable:
            if not silent:
                renpy.show_screen('message_screen', "This item cannot be transferred!")
            return
        # Free girls should always refuse giving up their items unless MC gave it to them.
        if all([isinstance(source, Char), source.status != "slave"]):
            if any([item.slot == "consumable", (item.slot == "misc" and item.mdestruct), source.given_items.get(item.id, 0) - amount < 0]):
                if not silent:
                    if "Impersonal" in source.traits:
                        source.say(choice(["Denied. It belongs only to me.", "You are not authorised to dispose of my property."]))
                    elif "Shy" in source.traits and dice(50):
                        source.say(choice(["W... what are you doing? It's not yours...", "Um, could you maybe stop touching my things, please?"]))
                    elif "Dandere" in source.traits:
                        source.say(choice(["Don't touch my stuff without permission.", "I'm not giving it away."]))
                    elif "Kuudere" in source.traits:
                        source.say(choice(["Would you like fries with that?", "Perhaps you would like me to give you the key to my flat where I keep my money as well?"]))
                    elif "Yandere" in source.traits:
                        source.say(choice(["Please refrain from touching my property.", "What do you think you doing with that property of mine?"]))
                    elif "Tsundere" in source.traits:
                        source.say(choice(["Like hell am I giving away!", "Hey, hands off!"]))
                    elif "Imouto" in source.traits:
                        source.say(choice(["No way! Go get your own!", "Don't be mean! It's mine!"]))
                    elif "Bokukko" in source.traits:
                        source.say(choice(["Hey, why do ya take my stuff?", "Not gonna happen. It's mine alone."]))
                    elif "Kamidere" in source.traits:
                        source.say(choice(["And what makes you think I will allow anyone to take my stuff?", "Refrain from disposing of my property unless I say otherwise."]))
                    elif "Ane" in source.traits:
                        source.say(choice(["Please, don't touch it. Thanks.", "Excuse me, I do not wish to part with it."]))
                    else:
                        source.say(choice(["Hey, I need this too, you know.", "Eh? Can't you just buy your own?"]))
                return
        return True

We can just leave it for bet as well, it's not a big deal.
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 02:32:33 PM
I know, I wrote those lines. But it's not an option, because I will have to repeat those lines many times due to repeatable checks at multiple screens.

Quote
                                    if all([eqtarget.status != "slave", eqtarget.disposition < 850, not(check_lovers(char, hero))]):
                                        eqtarget.say(choice(["I can manage my own things!", "Get away from my stuff!", "Don't want to..."]))
                                    else:
                                        equip_item(focusitem, eqtarget, area_effect=True)
                                else:
                                    if all([eqtarget.status != "slave", not(check_lovers(char, hero))]):
                                        eqtarget.say(choice(["No way!", "I do not want this.", "No way in hell!"]))
                                    else:
                                        if transfer_items(inv_source, eqtarget, focusitem):
                                            equip_item(focusitem, eqtarget, area_effect=True)
                           
                    elif item_direction == 'unequip':
                        if eqtarget == hero:
                            hero.unequip(focusitem, unequip_slot)
                        else: # Not MC
                            if eqtarget.status == "slave": # Slave condition:
                                eqtarget.unequip(focusitem, unequip_slot)
                                eqtarget.inventory.remove(focusitem)
                                inv_source.inventory.append(focusitem)
                            else: # Free Girl
                                if inv_source == hero:
                                    eqtarget.unequip(focusitem, unequip_slot)
                                    if not transfer_items(eqtarget, hero, focusitem, silent=False):
                                        eqtarget.equip(focusitem)
                                        eqtarget.say(choice(["I can manage my own things!", "Get away from my stuff!", "I'll think about it..."]))
                                elif eqtarget.disposition < 850:
                                    eqtarget.say(choice(["I can manage my own things!", "Get away from my stuff!", "I'll think about it..."]))
                                else:
                                    eqtarget.unequip(focusitem, unequip_slot)
                               
                    focusitem = None
                    selectedslot = None
                    unequip_slot = None
                    item_direction = None
                    dummy = None
                 
            elif result[1] == "discard":
                python:
                    if inv_source == hero:
                        renpy.call_screen("discard_item", inv_source, focusitem)
                    else:
                        if eqtarget.disposition < 850:
                            eqtarget.say(choice(["I can manage my own things!", "Get away from my stuff!", "I'll think about it..."]))
5 times already, and may be more in the future.
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 02:43:24 PM
Make an issue, I'll setup that code so it can be done once this weekend.
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 04:50:47 PM
Code: [Select]
                    if c_ch.type == "male":
                        text = text.replace(text[start_s:end_s+1],text[start_s+3:term_s],1)
                    elif c_ch.type == "female":
                        text = text.replace(text[start_s:end_s+1],text[term_s+1:end_s],1)
                    else:
                        renpy.notify("Что в моей игре делают богомерзкие футунари?!!")
                        renpy.pause(10)

LoL I love when people leave stuff like that in code :D

From an unfinished Ren'Py game I found called Iris Quest (with Akabur's girl from Princess Trainer). They had a BE similar to ours so I went searching for some decent ideas, there weren't any :(
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 06:11:18 PM
That's unfair to genderless creatures with None gender  :)

Completely forgot about blowoff flag not doing a thing for hired chars, now there is an issue for that too.
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 06:14:56 PM
Yeah, it's very offensive and politically incorrect, that's why I liked it :D

Do you need those flags to work for developing interactions? We're going to review the next day methods anyway before releasing, but if you need it done sooner, let me know.
Title: Re: General Discussion
Post by: DarkTl on May 13, 2016, 06:42:23 PM
Um, issue 85 related to interactions rewriting claims it will be done for 1.3 version. That's not before releasing at all, more like waaaay after.
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 06:49:58 PM
Um, issue 85 related to interactions rewriting claims it will be done for 1.3 version. That's not before releasing at all, more like waaaay after.

It's not really an interactions related issue. There are "special" flags that have their own rules. Some of them are cleared automatically at specific circumstances, some are modified during next day automatically and etc. Interactions are using those mechanics simply because it is convenient but it is in no way an interactions specific issue.

==>>
Loads of code in chars next day needs to be updated cause it was created to compensate for code base shortcomings that have long been fixed.
Title: Re: General Discussion
Post by: Xela on May 13, 2016, 07:09:55 PM
OMG


I love the new battle scenarios in interactions and new sound tracks :D Once all the logical crap is taken care of we need to really abuse all that logic/data in the game to make it interesting.
Title: Re: General Discussion
Post by: DarkTl on May 14, 2016, 06:05:43 AM
I wonder if high level spells should be banned in most areas by default... You insult character, she engages in battle with you, and you start summoning meteors in the city park. That's insane  :)
Title: Re: General Discussion
Post by: Xela on May 14, 2016, 06:16:24 AM
I wonder if high level spells should be banned in most areas by default... You insult character, she engages in battle with you, and you start summoning meteors in the city park. That's insane  :)

Would not be hard to do at any rate. I wonder how well we can relay this to the player, but technically it's not hard at all.

Edit:
First thing popped into my mind after playing the scenarios, was forcing a change to the general GM picture or removing the chars from the GMCell. That would not be hard to do either and would make a hell load of sense... something along these lines should definitely be a part of future development.
Title: Re: General Discussion
Post by: Xela on May 14, 2016, 06:51:47 AM
I wonder if high level spells should be banned in most areas by default... You insult character, she engages in battle with you, and you start summoning meteors in the city park. That's insane  :)

Most games don't seem to give a shit btw. :D Doesn't mean that we shouldn't but it's all about player perception.

===>>
Edit:
I was thinking ("Rest" day today (so maybe bot thinking clearly :D), with barbecue and lots of alcohol to make up for last two (f*cked up) works days of the week :D).

In any any case, how much do we give a sh!t about inconsistencies like that? It happens a lot in greatest titles and players don't notice and don't give a damn. In either case it's not obvious to me if banning spells based off location is a good or a bad idea... even if it takes just one extra property and two lines of code to implement.
Title: Re: General Discussion
Post by: DarkTl on May 14, 2016, 08:45:48 AM
That's not true. If you try out a massive spell inside a city in games like skyrim, it will lead to casualties and prison. In our case forcing MC to sit in prison is more clunky than just forbid those spells.
Title: Re: General Discussion
Post by: Xela on May 14, 2016, 08:57:08 AM
That's not true. If you try out a massive spell inside a city in games like skyrim, it will lead to casualties and prison. In our case forcing MC to sit in prison is more clunky than just forbid those spells.

Really? I recall using some really intense magic when a dragon randomly attacked a town and noone seemed to mind... we don't really hit any civs in BE scenarios in PyTFall.

I mean even if something along those lines happens (it's all code/logic related), more often than not it's all about intent and even more so about how well you can relay that intent towards the player...

It's simple to setup logically as I've said, so the question remains if we should. Most of our spells are using just the one method to take care of logic like that.
Title: Re: General Discussion
Post by: DarkTl on May 14, 2016, 09:28:57 AM
Skyrim is a really bad example for massive spells though, they look and damage poorly without mods. If we take Dragon Dogma (https://youtu.be/uCtARsbRjzM?t=10m59s), it will be a different story. Imagine what it can do with paving stone :)
If we forbid spells in brawls because it's not wise to summon meteors in your own building, then meteors damaging city property are a thing too.
 


I think it's too easy to find characters atm. 3 per location, guaranteed. And unique ones probably should be more rare than random ones.
Title: Re: General Discussion
Post by: Xela on May 14, 2016, 09:48:01 AM
Skyrim is a really bad example for massive spells though, they look and damage poorly without mods. If we take Dragon Dogma (https://youtu.be/uCtARsbRjzM?t=10m59s), it will be a different story. Imagine what it can do with paving stone :)
If we forbid spells in brawls because it's not wise to summon meteors in your own building, then meteors damaging city property are a thing too.

I haven't really played anything major since skyrim...

I think it's too easy to find characters atm. 3 per location, guaranteed. And unique ones probably should be more rare than random ones.

As I've explained multiple times, one of the chars is always the one you know best or that is otherwise predisposed to you. The other is any random unique character. And finally, if I recall correctly, we get one at random...

=====>>
I switched from wine to Bulgarian pliska so don't expect anything decent today :D On the other hand I know exactly when and where to stop so I got a decent bit of coding planned out for to tomorrow, so it'll be new code for PyTFall and the shooting range! Just the smirky comments for now thought :D
Title: Re: General Discussion
Post by: DarkTl on May 14, 2016, 10:17:40 AM
Too bad I cannot drink alcohol anymore due to lack of gallbladder  :D

As I've explained multiple times, one of the chars is always the one you know best or that is otherwise predisposed to you. The other is any random unique character. And finally, if I recall correctly, we get one at random...
Meanwhile in classic wm you can have to pass a check to meet one single character.

Also, sometimes in location there are two copies of the same random character. It's not an issue by itself, but very often they use exactly the same picture, and that looks meh.
Title: Re: General Discussion
Post by: Xela on May 14, 2016, 10:30:42 AM
Also, sometimes in location there are two copies of the same random character. It's not an issue by itself, but very often they use exactly the same picture, and that looks meh.

Stuff like this we can adjust without any fuss. One of the easiest thing to improve in the game.

Too bad I cannot drink alcohol anymore due to lack of gallbladder  :D

Sux :( I've never been heavy drinker or smoker or anything of a sort... but it does take the edge off as long as you can manage to stop the next day after you started :)
Title: Re: General Discussion
Post by: DarkTl on May 14, 2016, 11:14:41 AM
So, what's up with slaves rights?

Can master freely hit, rape, kill one? Where is the line between free ones and slaves in Pytfall, other than free labor? I dunno if slaves had any rights in ancient Rome you often used as example, but if they are 100% property, pretty much like a table, then anything is allowed, no?

I mean, so far it was just a theory. But I need a real concept for evil interactions.
Title: Re: General Discussion
Post by: Xela on May 14, 2016, 11:50:13 AM
So, what's up with slaves rights?

Can master freely hit, rape, kill one? Where is the line between free ones and slaves in Pytfall, other than free labor? I dunno if slaves had any rights in ancient Rome you often used as example, but if they are 100% property, pretty much like a table, then anything is allowed, no?

Yeap, it is... everything goes...

Problem is that it's a fail at the end. It's proven that slavery is inferior to motivation through personal profit. There is little point in debating that. Translating matter this complex into game play/code is something devs of awesome titles like Jont and SlaveMaker didn't even try to mimic.

I've wrote about how I see ST module many times. It may not be the best options gameplay wise but it's all I got. I'd support any other decent ideas, it's not like I haven't done that before.

I mean, so far it was just a theory. But I need a real concept for evil interactions.

I've wrote about a political policy module where stuff like this can be influenced. I actually have code setups in local projects that are capable of handling stuff like that modeled of (ideas form) Poolka's last releases.

Ideally it would be about current laws, crime and how far player is willing to push that but I am not deluded enough to expect that we can do all of that within an year from today. What we can do is to work all angles that we consider worthwhile and keep them "in play" under specific conditions.

I cannot really imagine us throwing away decent content at any stage of development. It's way easier to implement conditions to make the content appropriate than to to destroy work that's been done. And I am not opposed to anything save the sh!t where actual people get really hurt in rl. Something noone in their right mind would put up for a discussion (or I'd ban them) :D
Title: Re: General Discussion
Post by: DarkTl on May 14, 2016, 12:44:55 PM
Nah, evil interactions are not supposed to stimulate better work. Because we assume that slaves outside training are trained, and follow orders anyway without additional checks. And bdsm stuff is for dungeon anyway.
But if you can insult a free character, you can also insult a slave. And they should react a bit differently.

Btw I believe in ancient Rome slaves were not locked up somewhere, but could move around the city if needed. Shouldn't we add slaves to GMs too sometimes, with option in interactions to propose their masters to buy them?
Title: Re: General Discussion
Post by: Xela on May 14, 2016, 09:04:16 PM
Maybe, but it might not be a good idea from gameplay perspective.
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 04:04:59 AM
Problem is that it's a fail at the end. It's proven that slavery is inferior to motivation through personal profit. There is little point in debating that.
**I am thinking we should try to give the whole slave training and maybe the gameplay itself different approach. In ancient times, values of skilled slaves was insane (skilled medical practitioner 50 - 70 times unskilled slaves, skilled artists/musicians x25 value the unskilled slaves, scribes x10 value of the unskilled slaves and etc.)

It might not be a bad idea to build the whole game around something like that (full training could take up to 1000 days and require a professional trainer (who can in turn train several slaves at the same time)).
So, slaves don't work properly due to lack of motivation, but also cost a lot. What's the point of having one, other than having a sex slave?  :D

Yeap, it is... everything goes...
Btw we discussed it once, when I asked how far goes slaves obedience. You said something along the lines that even a trained slave is not going to follow any order, and will refuse for example to have sex with MC if disposition is low.
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 05:33:20 AM
So, slaves don't work properly due to lack of motivation, but also cost a lot. What's the point of having one, other than having a sex slave?  :D

"don't work properly" is a bit of a stretch, I've also wrote a number of times that there should be options like a promise of release after 10 - 15 years of service or threats of selling them off to some rural areas where they are using treated much worse than in cities or sell off to work in mines till they drop (kinda of a slow death sentence). "cost a lot" depends on skills more than on anything else.

Btw we discussed it once, when I asked how far goes slaves obedience. You said something along the lines that even a trained slave is not going to follow any order, and will refuse for example to have sex with MC if disposition is low.

"trained"... I think that's a BS concept. Trained to do what? Nobody in their right mind would spend f*cking month and a half training one slave in basic skills and obedience like done in SM and JoNT. Sure... a duo of a "trainer" and an assistant too boot are working their ass off (for two or three days?) to get some girl to willingly kiss them... that both makes sense and it's very practical as well! Right  ???

So it'll depend on traits, basetraits, flags and stuff like that. We can add cool stuff like mind control at some point too (through an item for example), just another if fork during interactions.

====>>
If you're writing interactions for slaves, just use your best judgement. Content is always useful, conditioning we can adjust later on if they won't be a fit anymore somehow.
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 07:28:28 AM
I've also wrote a number of times that there should be options like a promise of release after 10 - 15 years of service
Why bother with buying and training slaves, giving them valuable skills, if they will leave eventually, or at best will become free and continue to work for you?

Especially, why would anybody buy skilled ones for huge amounts of money, if they will have to be released soon enough since training itself should take many years from those 10-15.

You might as well hire and teach free ones, since they will be more motivated and will put those skills to better use, and also don't have any slaves restrictions.

or threats of selling them off to some rural areas where they are using treated much worse than in cities or sell off to work in mines till they drop (kinda of a slow death sentence).
It only forces them to follow orders. They are still not motivated like free ones.

"trained"... I think that's a BS concept. Trained to do what?
Trained to follow orders. Speaking of training, why Blue does what she does when you arrive to the slavemarket if there is no training, only promises and threats?

If there is no training involved, then ST module can be added here and now, after deleting Blue event of course. It will include two buttons, one is to promise freedom after randint(10,15) years, another one is threatening to sell them to the Eternal Rome from JoNT, where they will be fkn eaten alive  :D

I got an impression from your explanations back then that slaves in Pytfall are like slaves in the game from this (http://www.pinkpetal.org/index.php?topic=3562.0) thread. Yes, they follow any personal orders, but they still have rights and cannot be just killed on spot or raped by anyone.
 
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 08:16:32 AM
Why bother with buying and training slaves, giving them valuable skills, if they will leave eventually, or at best will become free and continue to work for you?

I am not saying that should be mandatory, it's an option. A good one to inspire loyalty and motivation. From wiki:

Quote
Roman slaves could hold property which, despite the fact that it belonged to their masters, they were allowed to use as if it were their own.[2] Skilled or educated slaves were allowed to earn their own money, and might hope to save enough to buy their freedom.[3][4] Such slaves were often freed by the terms of their master's will, or for services rendered. A notable example of a high-status slave was Tiro, the secretary of Cicero. Tiro was freed before his master's death, and was successful enough to retire on his own country estate, where he died at the age of 99.[5][6][7]

Especially, why would anybody buy skilled ones for huge amounts of money, if they will have to be released soon enough since training itself should take many years from those 10-15.

Well.. if you bought a skilled slave for a hefty sum that need to be trained... you should ask for your money back.

You might as well hire and teach free ones, since they will be more motivated and will put those skills to better use, and also don't have any slaves restrictions.
It only forces them to follow orders. They are still not motivated like free ones.
Trained to follow orders. That's what Blue does in your own event when player comes to slave market.

You could but free chars can leave if someone offers them a better deal. One could also say that a slave who has a chance of getting their freedom back will work harder. If you're asking for "absolutes", I don't have any for you. If you have suggestions or ideas, lets hear them. (imo) Best way to approach this issue is to create content, look at what we can do with traits, stats, skills that we have. What kind of flags might be useful and once something decent takes shape, we may even stuff all of that into some personality module one day.

If there is no training involved, then ST module can be added here and now, after deleting Blue event of course. It will include two buttons, one is to promise freedom after randint(10,15) years, another one is threatening to sell them to the Eternal Rome from JoNT, where they will be fkn eaten alive  :D

We could do something like an obedience course... teach them Bible or something:

Quote
Ephesians 6:5
Slaves, obey your earthly masters with fear and trembling, with a sincere heart, as you would Christ,

preferably in groups. Some brain washing wouldn't hurt. We can also have something like torture dungeon at some point. I don't see why we gotta delete the event either. What is it with you? We don't need these extremes/absolutes, we also don't need linear training progression.

I got an impression from your explanations back then that slaves in Pytfall are like slaves in the game from this (http://www.pinkpetal.org/index.php?topic=3562.0) thread. Yes, they follow any personal orders, but they still have rights and cannot be just killed on spot or raped by anyone.

Rights/Policies will be decided by "Politics" module at some point. For now we should decide what rights they have until that module kicks in. Like they are not allowed to fight/use weapons/cast magic and etc.
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 08:24:55 AM
It will include two buttons, one is to promise freedom after randint(10,15) years, another one is threatening to sell them to the Eternal Rome from JoNT, where they will be fkn eaten alive  :D

I mean this...

This is personal and would depend on traits, stats and maybe flags. Some slave with high disposition might respond with: "There is no need, I will gladly serve you till the say I die.". Other char may respond with: "Go fuck yourself, I will rather die that serve anyone.". The trouble is that assuming that the second char can be trained is BS.

If you buy a slave who accepts that reality, you shouldn't get those issues. If you caught one, it should start with a conversation like that. What happens then? Dungeon/Prison/Torture? We'll see.
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 08:27:05 AM
Right. So why Blue does what she does if training cannot be forceful?
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 08:37:25 AM
Right. So why Blue does what she does if training cannot be forceful?

Why can't it be forceful?

Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 08:55:45 AM
Because it's useless. Either they agree, with some conditions or not, or disagree. You said it yourself.
Other char may respond with: "Go fuck yourself, I will rather die that serve anyone.". The trouble is that assuming that the second char can be trained is BS.

So when you whip them, it's just a waste of time. I suppose completely destroying personality might help, but it requires JoNT stuff, not some light whipping.
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 09:10:52 AM
We're not going to mess with that for the next release. What's the problem right now? Are you having trouble conditioning for interactions with slaves?

We can discuss those on case per case basis if you like but I can't understand why it matters. All slaves for now should just do their jobs, we are not going to deal with refusals until ST. You mistreat them, disposition/joy drops, they try to commit suicide/run away. I think something along those lines is already coded in.

Responses to interaction you condition like you do for free chars, based off traits, stats and etc. Your questions about "what is expected of a slave" is not the right question. Why do you need those "absolutes" for slaves but not for free chars? For slaves disposition limits prolly got to be lower and you can abuse them without consequences but at high cost of disposition/joy.
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 09:21:42 AM
Because it's useless. Either they agree, with some conditions or not, or disagree. You said it yourself.

It is, I am not saying we should add that right now. But in general that would be a part of ST once we have it.

So when you whip them, it's just a waste of time. I suppose completely destroying personality might help, but it requires JoNT stuff, not some light whipping.

We are not going to do ST atm.
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 09:34:36 AM
I cannot understand slaves worldview due to contradictions in concept. Depending on worldview they should react differently in different cases.

Misbehaving slaves go to Eternal Rome immediately as a common practice? Then there are two types of slaves, dead ones and [completely obedient because not stupid] ones. There is even no need in any ST or checks or promises.

All slaves will be free after a few years and even will become respectable citizens, while costing too much to be killed without a second thought? Then they can say "GFY [hero.name], I'm not going to have sex with you just because you are happened to be my Master."
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 09:44:43 AM
I cannot understand slaves worldview due to contradictions in concept. Depending on worldview they should react differently in different cases.

Which contradictions?

Misbehaving slaves go to Eternal Rome immediately as a common practice? Then there are two types of slaves, dead ones and [completely obedient because not stupid] ones. There is even no need in any ST or checks or promises.

You love those words that came out of nowhere... "immediately"... "completely"... There are no absolutes like that for this concept from my end...

All slaves will be free after a few years and even will become respectable citizens, while costing too much to be killed without a second thought?

"All"... again... "ALL". When did we ever say that? It is an option... I can't write the same damn thing over and over again.

Then they can say "GFY [hero.name], I'm not going to have sex with you just because you are happened to be my Master."

Exactly. What you do with that depends on your preferences and responses. Do you want to kill/rape a salve you invested in? Or not?

See... no need for "all", "immediately", "completely" and etc. Just simple checks as you would with the free chars.
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 10:18:53 AM
Btw I have to say, I'm skeptical about making slaves free after 10 years = 3650 turns. It's like borrowing 10 000 000 gold from a bank to return 50 000 000 after 5000 turns. It might be a problem after all those turns will pass, but does the game last that long? If not, then such mechanics are empty and unbalanced.

Which contradictions?
You just told me ST, like in SM and JoNT, is BS. Then you told me there will be ST with whipping as a part of it. Why? It's a BS, you said it yourself. Are we adding BS to the game now?  :)

Exactly. What you do with that depends on your preferences and responses. Do you want to kill/rape a salve you invested in? Or not?
I understand that. I'm not wondering how MC should react to such lines. I'm wondering if slaves should even speak such lines or not.
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 10:29:57 AM
As a more topical example, insults. Free chars with high disposition think it's a joke, with a small disp drop, then kicks in flag which forbids you to use the same option over and over. Chars with low disposition either stop talking with you, or attack you.

Now, how slaves are supposed to react? Can they even attack MC? Should they even use the blowoff flag? That depends. In JoNT they can attack you all right. In SM it never happens.
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 10:50:51 AM
I mean, sure, they cannot wear armor and weapon and fight at arena. But they still can fight physically if they want to.
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 11:24:12 AM
Btw I have to say, I'm skeptical about making slaves free after 10 years = 3650 turns. It's like borrowing 10 000 000 gold from a bank to return 50 000 000 after 5000 turns. It might be a problem after all those turns will pass, but does the game last that long? If not, then such mechanics are empty and unbalanced.

Maybe, it's not empty if we flag it and someone actually plays for that long :D It's meaningless before ST, as I've said.

You just told me ST, like in SM and JoNT, is BS. Then you told me there will be ST with whipping as a part of it. Why? It's a BS, you said it yourself. Are we adding BS to the game now?  :)

You misunderstood. Whipping (pain/fear) can be great motivator, but in most cases it shouldn't be required. I am opposed to the linear system where you: Ask for a kiss ==>> No ==>> Torture/No food ==>> As for a kiss ==>> Yes ==>> Ask to touch cock ==>> No ==>> No food again. ==>> Ask again ==>> BS...

I thought I wrote this damn thing like two or three times by now:

1) If char is local, they'd know their circumstances.
2) If pulled from elsewhere, you explain it to them.
3) They got to choose, work as [job] (they should be suited for or why the fuck would you want them to work that job) in your employment or you keep them as personal servants or as personal sex slaves and etc.

===>>
First thing to decide in 3) is what you require of them and they can make a decision if they go along with it or not. Problem with JoNT/SM is that "slave" is a "unit" that is pretty much mind fucked and what they'll do basically depends on how long you've been training them and if you gave them "whip"/"candy" at just the right times during those training. That is bullshit. I mean in a dedicated game where that is the whole world setting, yeah. Ok, it's passable. In a broader sense it's absolute idiocy to have 2 people training one defiant slave to do shit.

Why do I have to explain this 2+2=4? We discussed this already and it's not even important right now. Should there be whipping options? Yeah, why not. But it should start with a simple talk and more often than not, if you're asking a person who doesn't have rights but may have skills to work for free and apply those skills, possibly with a chance to gain rights and freedom in distant future (even if that may be outside of game plays range), with an alternative being sent to milk cows and get raped/beaten in rural areas or certain death by forced labor under the harshest conditions elsewhere...

WHY THE FUCK DO YOU NEED SLAVE TRAINING??????????????????????????????????????????????????? Most would say: Yes! Ok... It's a fucked world we live in but I am taking that deal. In JoNT/ST they cannot afford that because it's pretty much: Game Over after that. Well done, obedience training complete, don't forget to teach them how to cook... If you get a slave that resists, why would you spend all those days "training" them in obedience? It's fucking stupid. Make an example out of them for the others or sell them for min price. And find someone who's not an idiot.

We can afford that. Should there be options to beat a slave? Or a free char? Yeah, why not. Both with consequences. We could also have an obedience course where teachers explain to slaves their place and how gods themselves want them to obey their masters, might be useful... but we're not going to do the ==>> kiss ==>> candy thing.

Can there be a dungeon? Yes. Can you throw a slave in there (defiant or not) or a free char? Yes... all with their own consequences. How much can you trust someone who you randomly tortured or raped?

It's not all that complicated...

I understand that. I'm not wondering how MC should react to such lines. I'm wondering if slaves should even speak such lines or not.

Well... lets say that you have a slave girl who agreed to work as a cook. You suddenly approach her and tell her to fuck a pig. Than byte of that pigs cock, cook it and eat it... Should that be an automatic: Yes, My Master! or should she... I don't know, maybe say something? Or try to run away screaming for help...
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 11:31:05 AM
As a more topical example, insults. Free chars with high disposition think it's a joke, with a small disp drop, then kicks in flag which forbids you to use the same option over and over. Chars with low disposition either stop talking with you, or attack you.

Now, how slaves are supposed to react? Can they even attack MC? Should they even use the blowoff flag? That depends. In JoNT they can attack you all right. In SM it never happens.

For an insult? Attacking a master is pretty much death sentence... are their joy/disposition low enough (aka have you fucked them up so much that they would risk death)?

Ofcource they CAN attack you. As long as there is no restraint or some magical item preventing that. They are skill people, why wouldn't they be able to? I guess after that attack, if you win, there should be an option to send them to authorities for a public execution or maybe to finish them off after the fight.

Otherwise those are just checks and you work with the same traits and stats and circumstances and use your best judgement.

No rule is set to stone. I supposed it may be ok for a slave to fight but only if that is to save masters life (not in the arena or SE). I would definitely find that reasonable exception to our general law in the city.
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 12:13:47 PM
Well... lets say that you have a slave girl who agreed to work as a cook. You suddenly approach her and tell her to fuck a pig. Than byte of that pigs cock, cook it and eat it... Should that be an automatic: Yes, My Master! or should she... I don't know, maybe say something? Or try to run away screaming for help...
You should help sometimes Old Huntsman with ideas for slave training options in his games  :D

Since you used an extreme example, disposition doesn't mean much here. Thus, in my opinion, if the said slave was trained in a hard way, she might consider silently doing the said stuff, because it's still better than another few months in a dungeon where she will be forced to do similar stuff anyway. And a "voluntary" slave might doubt her decision about obeying MC's commands and run away screaming for help.
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 12:37:58 PM
You should help sometimes Old Huntsman with ideas for slave training options in his games  :D

LoL

Since you used an extreme example, disposition doesn't mean much here. Thus, in my opinion, if the said slave was trained in a hard way, she might consider silently doing the said stuff, because it's still better than another few months in a dungeon where she will be forced to do similar stuff anyway. And a "voluntary" slave might doubt her decision about obeying MC's commands and run away screaming for help.

Yeah, so it's all relative, just like with free chars you've put so much time into. I guess fear does in this case and we don't have a stat for that.

Training the hard way... I am not sure what that means in a broader sense, you've spent 100 days personally training that char? Or they're driven mad? Those are the actual extreme cases we may not even want to deal with. It's not how any society functions. Some fucked up people may roll that way but we can add those options/flags as an expansion in some distant future.

I am trying to explain that slaves are just people and you can treat them as such in interactions. I mean your "extreme" training, if done on a "free" person and you managed to hide that from the authorities for the duration of it, it wouldn't matter if a char was labeled "free" or "slave" as their status, effect would have been pretty much the same. That's why I try to get you out of frame of thinking about free vs slaves as of a completely different units, it seems like that in SM/JoNT but it's not, not in a broader sense anyway. You can use your best judgement when writing interactions for them without assuming that they are in some special "frame of mind" or "rules" or "brainwashed". Like they simply cannot attack the player or cannot fight or cannot refuse to do something or always agree to anything, no matter what. Such fucked up extremes are not reasonable and might apply to any character, slave or free.
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 01:15:22 PM
We need to discuss this stuff in the chat... would be less time demanding (I think) :)
Title: Re: General Discussion
Post by: DarkTl on May 15, 2016, 02:21:03 PM
Ohhkey then, slaves will react similar to free chars, except you have to try really hard and long to provoke them  :)

And since slaves cannot be encountered during GMs, we came to the issue 175.

Caught a cold yesterday, gonna go to bed early today...
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 02:53:13 PM
Ohhkey then, slaves will react similar to free chars, except you have to try really hard and long to provoke them  :)

And since slaves cannot be encountered during GMs, we came to the issue 175.

Caught a cold yesterday, gonna go to bed early today...

Get better soon!

If you have different ideas, lets hear them. I am just putting my own thoughts in the table. It's not "similar" to free characters, they should respond normally and sensibly.

I'll see of anything can be done about #175 tonight. You made a good case on encountering slaves in the city, I just don't know how sensible that that from game play perspective. Concept wise it makes sense, but "concept wise" it doesn't make any sense that you only meet females and only max three at a time either :D Compromises need to be made until we are ready to improve stuff.
Title: Re: General Discussion
Post by: Xela on May 15, 2016, 08:04:56 PM
Quote
"_day_countdown_interactions_blowoff" flag #175

Can you clarify? I went over the entire code chain and it seems like it should be working for all characters. Prolly the only thing that works that way.

Maybe it's how that flag is applied in interactions? If so, I need to know where, but it should work as a counter for all chars.

Yeah, I think this is fixed, flag wasn't activating for interactions, only for gms.
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 01:37:21 AM
Something that bothers me for awhile is how in many games you can choose how characters address you. Especially enslaved ones. If we gonna have such stuff, it should be considered right now, not when we'll have much more lines to rebuild.

I mean, I personally dislike the word "Master", and would prefer chars to just use hero.name. But I bet there are people who'd love chars to address them as Master.

If you have different ideas, lets hear them. I am just putting my own thoughts in the table. It's not "similar" to free characters, they should respond normally and sensibly.
Right, ~dere characters responding normally and sensibly...  :)
Archetypes themselves are not normal at all by rl standards. Most of them at least. It's not a problem though, just saying.
 
You made a good case on encountering slaves in the city, I just don't know how sensible that that from game play perspective. Concept wise it makes sense, but "concept wise" it doesn't make any sense that you only meet females and only max three at a time either :D Compromises need to be made until we are ready to improve stuff.
I personally think it's too easy to find characters atm. The city is full of unemployed chars, it's unrealistic.
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 01:38:00 AM
Yeah, I think this is fixed, flag wasn't activating for interactions, only for gms.
Yeap, it works now, didn't worked before.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 04:40:58 AM
The city is full of unemployed chars, it's unrealistic.

This is something we'll fix, maybe even for beta.

====>>>
I mean, I personally dislike the word "Master", and would prefer chars to just use hero.name. But I bet there are people who'd love chars to address them as Master.

Do we do this on per char basis? Or globally (on hero.namespace).
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 04:53:42 AM
Per char, I suppose. Hero.name could be a dict of [character : name for hero]. Or it will be a new thing like char.name_for_hero.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 04:59:20 AM
Per char, I suppose. Hero.name could be a dict of [character : name for hero]. Or it will be a new thing like char.name_for_hero.

Nah, that is never useful when we're working with objects. Ok, I'll see what we can do.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 05:14:10 AM
Nah, that is never useful when we're working with objects. Ok, I'll see what we can do.

While you're at it, would it make sense to come up with pronouns? Like "his"/"hers"? Or is this an overkill at this dev stage?
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 05:22:48 AM
Ok, it's done:

Code: [Select]
        # Properties:
        @property
        def mc_ref(self):
            if self._mc_ref is None:
                if self.status == "slave":
                    return "Master"
                else:
                    return hero.name
            else:
                return self._mc_ref

might even be useful for free chars, if one of them decides to give MC some weird nickname :D You just:

char.say "What's up [char.mc_ref]?"

and it should work. We'll add setting it later to the interactions menu as well.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 05:24:34 AM
Gonna take a look at SE, been slacking off in that department and there should be some good time for it today.
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 05:35:46 AM
While you're at it, would it make sense to come up with pronouns? Like "his"/"hers"? Or is this an overkill at this dev stage?
Sure, go ahead. I'll replace pronouns with keywords. He/She, His/Her. I suppose cases like herself or hers are just keyword+"self" or "s".
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 06:04:16 AM
Sure, go ahead. I'll replace pronouns with keywords. He/She, His/Her. I suppose cases like herself or hers are just keyword+"self" or "s".


There you go:

Code: [Select]
        # Properties:
        @property
        def mc_ref(self):
            if self._mc_ref is None:
                if self.status == "slave":
                    return "Master"
                else:
                    return hero.name
            else:
                return self._mc_ref
               
        @property
        def p(self):
            # Subject pronoun (he/she/it): (prolly most used so we don't call it 'sp'):
            if self.gender == "female":
                return "she"
            elif self.gender == "male":
                return "he"
            else:
                return "it"
               
        @property
        def pC(self):
            # Subject pronoun (he/she/it) capitalized:
            return self.p.capitalize()
               
        @property
        def op(self):
            # Object pronoun (him, her, it):
            if self.gender == "female":
                return "her"
            elif self.gender == "male":
                return "him"
            else:
                return "it"
               
        @property
        def opC(self):
            # Object pronoun (him, her, it) capitalized:
            return self.op.capitalize()
           
        @property
        def pp(self):
            # Possessive pronoun (his, hers, its):
            # This may 'gramatically' incorrect, cause things (it) cannot possess/own anything but knowing PyTFall :D
            if self.gender == "female":
                return "hers"
            elif self.gender == "male":
                return "his"
            else:
                return "its"
               
        @property
        def ppC(self):
            # Possessive pronoun (his, hers, its) capitalized::
            return self.pp.capitalize()

to use:

Quote
"[hero.pC] ran away screaming as [char.op] staff menacingly emitted mana ..."

We also need to resolve the same for names, gonna look into that as well, I think Thewles wrote a good function for it.
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 06:10:08 AM
Jeez, can't they be more memorable? Hero.hisher or hero.heshe would be better  :D
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 06:13:45 AM
Jeez, can't they be more memorable? Hero.hisher or hero.heshe would be better  :D

Feel free to change them, chances are that you'll be the one working with them the most. Names are simpler, you basically just add an apostrophe in almost all cases so we don't need it.

But honestly... is there a better way to memorize names of the pronouns?  ::)

Or, and there is also "him" and "his".

? It's there, you need to scroll, you cannot see the whole code, it's in a viewport.
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 06:51:25 AM
We'll see. If I often will have to open the code and look how needed functions are named, I'll rename them.

Btw even if there will be male chars at some point, they should use completely different lines in many cases. I definitely don't want males to use some sleazy lines made for females  :D
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 07:23:28 AM
Btw even if there will be male chars at some point, they should use completely different lines in many cases. I definitely don't want males to use some sleazy lines made for females  :D

Fair enough, we decided not to bother with that. This functionality might still be useful + preemptive if someone comes along who might be willing to work on it or we decide to come up with a simplified iterations version for other genders in some very distant future.
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 07:40:39 AM
I need the same for brother and sister due to one trait.

I added
Quote
        def hs(self):
            if self.gender == "female":
                return "sister"
            else:
                return "brother"
               
        def hss(self):
            if self.gender == "female":
                return "sis"
            else:
                return "bro"
But strings like
    "[hero.hs]"
    "[hero.hss]"

give me <bound method Player.hss of <store.Player object at 0x11F90AB0>> right in the dialogue window.  ::)
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 07:42:35 AM
I need the same for brother and sister due to one trait.

I addedBut strings like
    "[hero.hs]"
    "[hero.hss]"

give me <bound method Player.hss of <store.Player object at 0x11F90AB0>> right in the dialogue window.  ::)

@property
def ...():
    ...
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 07:46:17 AM
Ah. In notepad + they have the same color as docstrings, I automatically ignored them  :D
Title: Re: General Discussion
Post by: John Bull on May 16, 2016, 08:13:39 AM
Bro's. although I like your game I get the impression you are trying to make 5 games at once. It's an RPG combined with an RTS and an arena combat game combined with a spreadsheet management game.I also becomes very convoluted when you have many girls who end up mutations of each other statwise despite having been obtained through different RPG inspired quests. May I suggest specializing in one or the other?I for one don't generally use the arena or the magic system a lot, I have the real final fantasy for that.You could totally rip a stat balancing network from another game. 'Otherwise good work.


EDIT:
So I drew a graph. I'm wondering,is the focus on the Main character and his team of girls, which makes it an RPG, or the main character and his pimping business, which makes it a management game with flavour combat events
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 08:34:46 AM
No, it's totally closer to RTS than to RPG. Yes, you can have a team, but it's not nearly as unique and special feature as an RPG requires.

Xela, things like [char.pC] don't work inside rts function, such as the one in the interactions_interests label.
Title: Re: General Discussion
Post by: John Bull on May 16, 2016, 08:44:48 AM
No, it's totally closer to RTS than to RPG. Yes, you can have a team, but it's not nearly as unique and special feature as an RPG requires.

Xela, things like [char.pC] don't work inside rts function, such as the one in the interactions_interests label.


Is there anyone who made a comprehensive graph about what features influence which others?
I mostly see people discussing flavour and legit programming issues on the forum but I have the impression too much options meander out to the extremes of the graph and are therefore not very important in the grand scheme of things. I can't code or write at all but I have some ideas on making mechanics interact more solidly with each other. You guys can also have all my cringeworthy stuff from way back when I still wanted to make porn games
Title: Re: General Discussion
Post by: John Bull on May 16, 2016, 08:56:09 AM
Major thing at this point is probably this:
Currently it looks like a dating sim since you spend time/capital on picking up girls to work for you, who then become generic collections of numbers. The flavour text and events are all in the picking up phase.


To make it a pimping game, write events that add flavour and traits to girls based on what they do in their jobs. They are still generic collections of numbers but the focus shifts to a pimping game.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 09:02:53 AM
Bro's. although I like your game I get the impression you are trying to make 5 games at once.

That is the idea :)

I also becomes very convoluted when you have many girls who end up mutations of each other statwise despite having been obtained through different RPG inspired quests.

Well, we do try hard to mitigate that but in the end, they prolly will. There are many possible offsets through quests, events, traits, texts, relationships and etc.

So I drew a graph. I'm wondering,is the focus on the Main character and his team of girls, which makes it an RPG, or the main character and his pimping business, which makes it a management game with flavour combat events

The idea is not to force a "focus" of any kind. Player should decide what they wish to do/work on. You don't do Arena? Ok, there were a bunch of people who clocked a few dozen hours in it. And it got only more interesting now and will get better in the future.

Flavor is text and image based. You got that right. Capital-wise there can be no graph, we are trying to design a game where even capital doesn't stand central. We'll see of that will be a success or not in another couple of years :D There will be a way to play the game under that chart, it will just not be the only way.


For now the focus is to move to a broader concept, we started really small (SimBro clone), expanded our view a bit (WM clone) and later expanded towards our own design. Code and content need to catch up, that is what the beta will be about. Development should get a lot faster/easier past beta release and "final" major code refactoring.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 09:03:43 AM
Xela, things like [char.pC] don't work inside rts function, such as the one in the interactions_interests label.

Damn it... I half expected that... let me take a look, this should be fixable in auto-mode.
Title: Re: General Discussion
Post by: John Bull on May 16, 2016, 09:24:10 AM
Seems legit. I'm going to make a graph of all the intertwining mechanics to see what is the ultimate deciding factor then try to find out how to mesh it all together. I forced together a bunch of similar games into a massive project once and it always ended up a repetitive grindfest. Not sure if I'm missing something though. I've even done probalistic events once but people didn't consider them legit because the triggers were semi-hidden
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 09:26:47 AM
Is there anyone who made a comprehensive graph about what features influence which others?
I mostly see people discussing flavour and legit programming issues on the forum but I have the impression too much options meander out to the extremes of the graph and are therefore not very important in the grand scheme of things. I can't code or write at all but I have some ideas on making mechanics interact more solidly with each other. You guys can also have all my cringeworthy stuff from way back when I still wanted to make porn games

Major thing at this point is probably this:
Currently it looks like a dating sim since you spend time/capital on picking up girls to work for you, who then become generic collections of numbers. The flavour text and events are all in the picking up phase.

To make it a pimping game, write events that add flavour and traits to girls based on what they do in their jobs. They are still generic collections of numbers but the focus shifts to a pimping game.

No, no graph. I'll explain why in the follow up text.

We do not generally care about "legit programming" as much as in maintainable code. I've seen far too many projects fail because of perfectly and fully "legit programming" coder under "GUI design paradigm A" and "OOP design paradigm B" and "Scopes control paradigm C" ... etc. was implemented and that resulted in code that was not maintainable by a small team for the purpose they had for it. Here there are just a few rules: Code must be readable, must be expandable and must be the shortest version of itself, preferably with some comments. that still might mean different things to different people but we seem to manage. OOP model must be maintained, but how you do it is up to the coder.

There are no graphs or detailed concepts because we usually write our prototypes and concepts directly with code, seems faster that way and it definitely keeps us (or the two of us who are still hacking at it) on the same page. When you write stuff, it will always end up meaning different things to different people. It's (still imperfect but) better when everyone can take a look at what's up themselves.
Quote
I can't code or write at all but I have some ideas on making mechanics interact more solidly with each other. You guys can also have all my cringeworthy stuff from way back when I still wanted to make porn games

Well, yeah, the trouble is that if you're not developing from stage 0, you still need to know game mechanics really, really well. Or most of the ideas will not be useful in any broader sense. OldHuntsman writes the best designs but can barely write 10 lines of coherent code, but he manages the project from day one and know how everything works. If you have ideas, lets hear them but I doubt that a lot of them will be useful unless you understand how stats, skills, traits, jobs, interactions, combat, xp, leveling, AP, relationships, flags, locations, quest and events systems, GUI, buildings and businesses, items and equipment. taxes and etc... all fits together.

A lot of great ideas we got right after the Alpha release cause most of that becomes apparent when you play the game for a while. There is sadly no design document at this time, I am planning and already have an issue for it a "PyTFallopedia" in Civ games format that will make some of those things clearer.

We already have a decent system of traits based off jobs that wasn't there in Alpha. We are not planning to make it a pimping/fighting/exploring/arena/quests/main story line or any game in general. There will be choices and not simple choices that you get as "Forks" as you proceed. General gameplay will be a matter of personal preference, I think it already was to a good point in the Alpha, it'll get better with more content as we develop and maybe some extra people come aboard (we had like 7 members on the team once after Alpha release :D Some of their work is still a part of the game and will prolly remain so indefinitely).
Title: Re: General Discussion
Post by: John Bull on May 16, 2016, 09:28:39 AM
Wait how about this:
Instead of job X gives n XP > spend it on skills
Do something like


building, job, item or whatnot has either a chance or a counter to add trait Z which in turns affects the skill sets that are already there. I did that once only with medieval warfare but the principle is solid


EDIT: I'll play the alpha again and refresh my mind on how stuff fits together. I can usually make decent games but I forgot the mechanics of this one. Also never understood tax, I always died when they came to collect tax halfway through
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 09:40:11 AM
Wait how about this:
Instead of job X gives n XP > spend it on skills
Do something like


building, job, item or whatnot has either a chance or a counter to add trait Z which in turns affects the skill sets that are already there. I did that once only with medieval warfare but the principle is solid

Why "instead", why can't it be all of that at the same time? I think out ideas about manager effects to the jobs and the buildings are far more interesting and carry more options and possibilities. But there is no reason why it cannot be both, you can better and more confident the more time you spend doing something productive (XP gain, very general). You gain skills (either very specific or at least specific). Gaining traits is not an issue, we just didn't design a lot of those traits yet that would be a good option to be acquired during jobs/training (but we have some).
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 09:45:14 AM
EDIT: I'll play the alpha again and refresh my mind on how stuff fits together. I can usually make decent games but I forgot the mechanics of this one. Also never understood tax, I always died when they came to collect tax halfway through

I am not sure that Alpha gameplay is relevant to Beta, download it if you like, but this is what more modern version look like (without H stuff which YouTube frowns upon):

https://www.youtube.com/watch?v=VowPkYSq_6k
https://www.youtube.com/watch?v=gwMiX1GFHtI&feature=youtu.be
https://www.youtube.com/watch?v=PJCwnZxGQBc

it's all open source btw if you have time to figure out how to get it to work, we have a guide for that somewhere I think.
Title: Re: General Discussion
Post by: John Bull on May 16, 2016, 10:02:41 AM
Why "instead", why can't it be all of that at the same time? I think out ideas about manager effects to the jobs and the buildings are far more interesting and carry more options and possibilities. But there is no reason why it cannot be both, you can better and more confident the more time you spend doing something productive (XP gain, very general). You gain skills (either very specific or at least specific). Gaining traits is not an issue, we just didn't design a lot of those traits yet that would be a good option to be acquired during jobs/training (but we have some).


Yeah you're right. I have a whole database of that stuff + attached code but it is likely impossible that I can rip it out and give it to you. The way I fixed it was character has X disciplines, disciplines have effect based on their level and can be upgraded with XP (so I could sell XP items to premium users) and a completely parallel server where everthing is storydriven but still based on disciplines.
Title: Re: General Discussion
Post by: John Bull on May 16, 2016, 10:04:17 AM
I am not sure that Alpha gameplay is relevant to Beta, download it if you like, but this is what more modern version look like (without H stuff which YouTube frowns upon):

https://www.youtube.com/watch?v=VowPkYSq_6k (https://www.youtube.com/watch?v=VowPkYSq_6k)
https://www.youtube.com/watch?v=gwMiX1GFHtI&feature=youtu.be (https://www.youtube.com/watch?v=gwMiX1GFHtI&feature=youtu.be)
https://www.youtube.com/watch?v=PJCwnZxGQBc (https://www.youtube.com/watch?v=PJCwnZxGQBc)

it's all open source btw if you have time to figure out how to get it to work, we have a guide for that somewhere I think.


:|


This looks pretty next gen. All my ramblings were based on the alpha. Where can I get the beta?
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 10:26:51 AM
Xela, things like [char.pC] don't work inside rts function, such as the one in the interactions_interests label.

Sh1T.. Ren'Py is not setup to do interpolation twice (or more). I think this makes sense so it's prolly not even a bug. We'll have to make some changes, like in:

Code: [Select]
        $ line = rts(char, {
        "Exhibitionist": ["She tells you pretty hot stories about her exhibitionistic adventures in a local park."],
        "Athletic": ["You discuss beach volleyball which became quite popular among local girls lately.", "You discuss places for swimming. Looks like most girls prefer beaches to pools because it's free."],
        "Manly": ["She gives you a lecture on 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 advice."],
        "Chubby": ["You have a lively discussion about your favorite local bakeries and pastry shops.", "Your conversation turns toward cooking, and she shares some of her recipes. They are all pretty high in calories..."],
        "Slim": ["You compliment her figure, and the conversation quickly turns toward healthy lifestyle. Ugh.", "She brags about her metabolism, allowing her to eat sweets and not get fat. You envy her."],
        "Alien": ["She talks about her homeland. You are listening with interest.", "You discuss local events she witnessed. She doesn't understand the meaning of some of them, and you spend some of your time to explain."],
        "Half-Sister": ["You discuss your common father. The sad discussion quickly turns into a sarcastic one, when you try to count all his lovers and daughters.", "She tells you about her mother. You listen in silence, trying to imagine yours.", "You spend time together you reminiscing about fun and embarrassing moments from your childhood."],
        "Scars": ["She complains about how her scars cause inconvenience. You comfort her."],
        "Artificial Body": ["Tempted by curiosity, you ask about her artificial body. Her explanations are very long and confusing.", "You discuss the regular maintenance required by her body. It's a pretty complex, but piquant conversation."],
        "Lolita": ["She complains about how hard it is to find adult clothes for her figure. You're trying to take her away from this sensitive topic.", "She tells you funny stories about disappointed (and imprisoned) paedophiles confused by her body size. What a strange topic."],
        "Strange Eyes": ["She notices how you look at her unusual eyes. Embarrassed, she refuses to look at you or discuss anything."],
        "Great Arse": ["You try to keep it to small talk, trying not to think about her gorgeous butt and what would you do if you were behind her."],
        "Long Legs": ["During your small conversation you can't help but glance at her long legs. Looks like she is used to it and doesn't care much."],
        "Abnormally Large Boobs": ["You vaguely remember your conversation, paying most of your attention to her amazing chest.", "She complains about high costs for the purchase of new bra. It appears that the fabric is not strong enough to withstand such loads. Without knowing what reaction she expected, you keep your poker face."],
        "Big Boobs": ["She complains how a big chest spoils the posture. You sympathize with her, very convincingly and almost sincerely."],
        "Small Boobs": ["She starts a conversation about irrelevance of chest size. You carefully assent, trying to not piss her off."],
        "Fire": ["Your conversation turns to magic, and she enthusiastically tells you the intricacies of dealing with the power of fire."],
        "Water": ["Your conversation turns to magic, and she enthusiastically tells you the intricacies of dealing with the power of water."],
        "Air": ["Your conversation turns to magic, and she enthusiastically tells you the intricacies of dealing with the power of air."],
        "Earth": ["Your conversation turns to magic, and she enthusiastically tells you the intricacies of dealing with the power of earth."],
        "Ice": ["Your conversation turns to magic, and she enthusiastically tells you the intricacies of dealing with the power of ice."],
        "Electricity": ["Your conversation turns to magic, and she enthusiastically tells you the intricacies of dealing with the power of electricity."],
        "Light": ["Your conversation turns to magic, and she enthusiastically tells you the intricacies of dealing with the power of light."],
        "Darkness": ["Your conversation turns to magic, and she enthusiastically tells you the intricacies of dealing with the power of darkness."],
        "Nerd": ["You discuss new books in local stores and libraries.", "Somehow your conversation comes to board games, and she enthusiastically explains to you the intricate rules of one of them."],
        "Psychic": ["It's difficult to participate in the conversation when your interlocutor knows your words in advance. She seems to enjoy teasing you, however.", "She complains about headaches, dizziness and other neural disorders that are common for psychics."],
        "Optimist": ["Looks like she is in a good mood. Laughing and joking during your conversation, she quickly turns it into a humorous one.", "You exchange your freshest anecdotes."],
        "Pessimist": ["Looks like she's not in the mood. Your conversation is pretty gloomy, though you managed to cheer her up a bit."],
        "Serious": ["You have a very serious conversation about local politics and taxes. You feel squeezed like a lemon.", "She gives you a lecture about the importance of planning for the future. You heroically hold back a yawn."],
        "Extremely Jealous": ["She inquires about your relationships with other girls. You carefully dispel her concern, trying not to make definitive statements."],
        "Virtuous": ["She tells about her volunteer work. It's nice, but a bit boring."],
        "Vicious": ["She gossips with obvious pleasure about her acquaintance's misfortunes."],
        "Dawdler": ["You have a lazy, indolent discussion. Looks like she's half asleep.", "She pensively tells you about her recent dreams. You begin to feel drowsy."],
        "Clumsy": ["You talk about misfortunes caused by her clumsiness. You heroically hold back a smile and comfort her instead."],
        "Nymphomaniac": ["An innocent conversation turns into the discussion about sexual positions. She's really into this stuff.", "She passionately talks about her recent sexual adventures. Wow."],
        "Heavy Drinker": ["You discuss various types of alcohol, sharing your drinking experience."],
        "Always Hungry": ["You talk about food for some time. Looks like she can do it for hours, so you carefully interrupt the conversation."],
        "Curious": ["You exchange the latest news and gossip. She really knows a lot about it."],
        "cgo('Warrior')": ["You discuss the recent fights at the arena and their participants.", "You discuss a variety of fighting styles."],
        "cgo('Caster')": ["She enthusiastically talks about mysteries of arcane arts.", "You discuss her magical studies."],
        "cgo('SIW')": ["You gossip about the strangeness of some of her customers."],
        "cgo('Server')": ["She recounts rumors that she heard from customers lately. People tend to not notice service workers when they are not needed."],
        "default": ["You chat for some time."]
        })
       
        "[line]"
        $ del line

Code: [Select]
        "[line]"
must become:

Code: [Select]
         $ narrator("{}".format(line))or if a char was speaking:
Code: [Select]
         $ char.say("{}".format(line))
That way, Python does one of the interpolations and Ren'Py does it's own thing that it supposed to. Same with most other funcs that return a line. I cannot think of a better way, unless we just have the function itself "talk", that will translate to a loss of some functionality but will be more convenient.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 10:43:59 AM
This looks pretty next gen. All my ramblings were based on the alpha. Where can I get the beta?

Doesn't exist yet, only work that's been done towards the beta. Code + core resources can be found here:

https://github.com/XelaPy/PyTFall

You can download a zip, which is easy to do once but super inconvenient in the long run. For the long run, you'll need a version tracking software for Git. There are too many options to list, we use something called GitExtensions (https://sourceforge.net/projects/gitextensions/).


Also, Dev kit, called Ren'Py (https://www.renpy.org/latest.html):

This one is easy, file under 50 Mb, download ==> unzip and you're done.


Once you have all of that:

1) Unpack/Install Ren'Py to a directory of your choosing.
2) Clone the repo from GitHub to a folder in the directory (for example, mine is called: RenPy/pytfall).
3) Download some charpacks and their data.json files and throw them into: RenPy/pytfall/game/content/char and RenPy/pytfall/game/content/rchar dirs (unique and random characters accordingly). You'd prolly want DOA, Naruto, One Piece packs at least cause there are some events written for them. Also all of the random chars or game world will feel really weird.

If done properly, you basically start Ren'Py, pick pytfall project and click on Launch Project. We also maintain testing.rpy files of our own, I can upload mine somewhere if you manage to get the rest straight.
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 11:35:11 AM
I often use extend in the sex scene. Lately i noticed that after I output next part of the text via extend, previously outputted text kinda becomes compressed, all spaces in it become a bit smaller.

It looks very bad.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 11:47:11 AM
I often use extend in the sex scene. Lately i noticed that after I output next part of the text via extend, previously outputted text kinda becomes compressed, all spaces in it become a bit smaller.

It looks very bad.

This is something we can prolly fix. A solid test case is needed for that + some time to take a look at style properties. There is no rush, I doubt that it's something unfixable.
Title: Re: General Discussion
Post by: Xela on May 16, 2016, 12:51:22 PM
Code: [Select]
         $ narrator("{}".format(line))
I've tested this case, but I wonder if:

Code: [Select]
         $ narrator(line)

is a thing? I don't thing that we return anything except strings there...
Title: Re: General Discussion
Post by: DarkTl on May 16, 2016, 01:49:19 PM
Yup, works too.

Thankfully, we don't have many pronouns yet, at least in places where they matter. So the new pronouns system is ready  :)
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 05:34:05 AM
After you beat the character, one of possible options might be to rob her. It's easy to do for gold, but I'm not sure how to do it for items.

Probably get a list of character items while filtering out some of them based on items fields and then pick one-two randomly. Except I dunno how  :)
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 06:07:29 AM
After you beat the character, one of possible options might be to rob her. It's easy to do for gold, but I'm not sure how to it for items.

Probably get a list of character items while filtering out some of them based on items fields and then pick one-two randomly. Except I dunno how  :)

You can create issues for these things. Just add comment to code where it needs to happen and reference that in the issue so I can find it.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 06:29:14 AM
Pics from BabeRunner (I am helping out with code a little bit):

(http://s32.postimg.org/4ehzd5u35/tumblr_o76eu9e_Wsy1rhbm8qo1_1280.jpg) (http://postimg.org/image/4ehzd5u35/) (http://s32.postimg.org/837ocn441/tumblr_o79zsdz_Gr_F1rhbm8qo1_1280.jpg) (http://postimg.org/image/837ocn441/)

(http://s32.postimg.org/dhb1xxj81/screenshot0003.png) (http://postimg.org/image/dhb1xxj81/) (http://s32.postimg.org/wv7ajvlap/screenshot0005.png) (http://postimg.org/image/wv7ajvlap/) (http://s32.postimg.org/vrn67x0nl/screenshot0009.png) (http://postimg.org/image/vrn67x0nl/)
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 06:59:31 AM
Many years ago, when I was in school and even didn't owned a pc since they were super rare back then, our school computers, running on norton commander naturally, had a few dos games with ok graphics.

One of them worked just like that, except it had many different enemies at the same time with very different AI which also shot you if take your time instead of quickly destroying them. To get ammo you had to shot ammo containers which sometimes appear on the screen.
Due to so many different things happening at the same time the game was quite challenging and fun.

Now, can renpy support 30+ independent moving objects with different algorithms?  :)
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 07:15:44 AM
Now, can renpy support 30+ independent moving objects with different algorithms?  :)

Would be pretty f*cking weird if it couldn't 20+ years after the fact :D I mean if you try to stuff those 30+ objects on a screen as image buttons... you might be f*cked. If you do it on lower level through a UDD, it's not even remotely an issue (I mean like not even worth testing if it can be done before starting to write code for it), you could theoretically even throw animations in there. I've put some time working on something similar to this: https://www.youtube.com/watch?v=jn6AXf7mGIo in Ren'Py and even this worked well enough (I mean, that can come to rendering 1000+ object at any one time, depending on the amount of rays (or resolution to be more precise)). Was thinking this might be an option for the player guided exploration module but it's nowhere near as fun as a simpler design where you don't get free movement and can only move one step at a time (like Raidy/Bunny Black and etc.). There are also simpler rpg options as well.

I doubt will be heading that way though, even if it is technically possible, it's a Hentai VN at the core and this is just a minigame. I have some ideas on how to make it's logic at the very least "remotely" interesting but going to far with this might not be a good idea.
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 07:54:24 AM
Well, if you gonna use such minigame in Pytfall, it should look and work better than just shooting harmless targets with highly predictable trajectories.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 08:06:34 AM
Yeah, I'd go with my original design instead of this variation for PyTFall. Also if we place minigames this complex into the game, they need to be made meaningful somehow...
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 08:45:48 AM
I have traces of ST module in interactions. What's up with it atm? Can I delete those (purely placeholdering) lines?

Because iirc it was coded for JoNT-style training, with rewards and stuff, so it probably will be fully rewritten by you.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 08:49:39 AM
I am rearranging some old FG code (the bits I thought were worth saving ==> transferring to new design). I hope that we'll have working FG core code by the end of the week so I can go generate some data and continue with FG interface (I need that for the last two parts of it: "controls" and "reports").

I have traces of ST module in interactions. What's up with it atm? Can I delete those (purely placeholdering) lines?

Because iirc it was coded for JoNT-style training, with rewards and stuff, so it probably will be fully rewritten by you.

Maybe comment them out? They may be useful + there could be some logic we can reuse? I don't know, it's you call, you're working on interactions and we're very unlikely to include ST in beta. I think that there is still some form of running away + recapture mechanic in place there.
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 08:59:08 AM
I think that there is still some form of running away + recapture mechanic in place there.
Yeah, that's kinda what I was wondering about. Does it even work outside of that ST module?
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 09:07:23 AM
Yeah, that's kinda what I was wondering about. Does it even work outside of that ST module?

That's a maybe... for now. I do want to restore it for slaves though. Right now, slave try killing themselves if they are systematically mistreated, I wanted to add running away to it as well. Especially since it has been tested already, it'll just require a tiny bit of adjustment and we're good. Maybe I've done that already, it's hard to remember in a game with 130k lines of code/content :D

Please leave that part in, rest I don't care about atm.
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 10:48:53 AM
Quote
label training_event_runaway:
   
    "You attempt to train [char.name], but she manages to escape before you can start!"
   
    jump girl_interactions
There is literally no more text related to running away, other than system messages about remaining days and stuff  :D

So not just you should make it work outside of ST, you also need to insert labels for my lines when it makes sense. Like when MC managed to recapture one.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 11:16:32 AM
There is also this huge code base  ???

Code: [Select]
# The generic event for recapturing slaves that have escaped during look around actions.
#
label escaped_girl_recapture(event):
    # Get the specific girl
    $ char = pytfall.ra.get_look_around_girl(event)
   
    # If something goes wrong
    if char == None:
        hero.say "Wait is that?.."
        hero.say "Must be my imagnination..."
        return
   
    else:
        hero.say "Wait is that?..{w} It is!"
       
        "You sneak forwards carefully, trying hard not to alert your pray.\nWhen you get close enough..."
       
        hero.say "Ah ha!{nw}"
       
        char.say "Ah! What? No!{nw}"
       
        "You grab [char.name]'s arm and hold on tightly as she tries to struggle."
       
        hero.say "Found you. You won't be escaping again."
       
        char.say "..."
       
        # Return the girl to the player
        $ pytfall.ra.retrieve(char)
       
        return

Also mech that she can get captured and jailed. You'd have to pay a fee to get her out. I am thinking about other stuff atm...
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 11:26:43 AM
That "ah ha" probably should be replaced by quick session in BE -_-
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 01:24:18 PM
I gave some thought to the idea of having female MC in terms of content, since lines are universal in this regard now.

Sex scenes are the most problematic part. Lesbian pictures are much less consistent, and for some characters much more rare than straight ones. Packs naturally have much more content for straight actions due to artists preferences. Lesbian+partner hidden are especially rare.
If we make a female MC, we cut off big part of the content.

So tricks like body swapping or something like that are probably more preferable than true female MC.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 01:42:38 PM
So tricks like body swapping or something like that are probably more preferable than true female MC.

Nah... I'd rather go with showing two nude pictures than do this to supplement lack of pictures. I mean, female MC might require a pack of images... and from there it's a slippery slope to allowing MC to participate in the world fully :D
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 01:49:25 PM
I believe you proposed an idea a few years ago to allow female MC to use any girl pack as a base. Meaning female MCs do not need some special packs.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 01:54:38 PM
I believe you proposed an idea a few years ago to allow female MC to use any girl pack as a base. Meaning female MCs do not need some special packs.

Exactly... but that needs to be handled delicately. Also a task for the future. I want to see if I still got something left in me to write few more lines for FG.
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 02:32:47 PM
Hm. With set_status function I can add interaction to free a slave, right? And vice versa, to propose a char with close to max disp and close to 0 character to become one.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 02:57:47 PM
Hm. With set_status function I can add interaction to free a slave, right? And vice versa, to propose a char with close to max disp and close to 0 character to become one.

Yes, (it's called a method when attached to a class). I am slowly adding things like that because we might add interim logic in the future.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 03:11:38 PM
F*ck it... I rather see if I can take out some issues on the hub tonight, can't keep all the log reports in focus for FG.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 03:33:46 PM
I need a testing case for:

https://github.com/XelaPy/PyTFall/issues/177

Throw it in the dev menu (I've updated it, put it under logic).
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 03:53:13 PM
https://github.com/XelaPy/PyTFall/issues/176

Our approach here is prolly f*cked. Rather than managing all of that logic, we could have simply blocked the corresponding buttons. Of well... since it's working already...
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 04:00:25 PM
Fun... reading that code... it's impossible to equip any item on a slave, nothing will happen if you try :(
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 04:02:05 PM
Our approach here is prolly f*cked. Rather than managing all of that logic, we could have simply blocked the corresponding buttons. Of well... since it's working already...
By all means, block all buttons and add to the tooltip why they were blocked to not confuse players.

Throw it in the dev menu (I've updated it, put it under logic).
Oh boy, it's another win10 + scaling factor thing  :D
Guess I'll disable scaling, and in the game requirements should be mentioned how it's not supported for win10.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 04:12:53 PM
how it's not supported for win10.

How it doesn't support win10 scaling... or do you have other issues? By the time we release, this will prolly get fixed.
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 04:20:54 PM
Yeap. On 7 and 8 it works with any scaling, so scaling is not a problem by itself.
Title: Re: General Discussion
Post by: DarkTl on May 17, 2016, 04:43:55 PM
Fun... reading that code... it's impossible to equip any item on a slave, nothing will happen if you try :(
My bad. I didn't paid attention how it will work for permitted items after changing it to deny armor and shields too.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 04:50:09 PM
My bad. I didn't paid attention how it will work for permitted items after changing it to deny armor and shields too.

I thought it was my code. It wasn't supposed to be there in the first place, let me settle all of that cr@p.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 07:22:03 PM
Ok... so the cr@p is prolly all sorted:
Code: [Select]
All cases when a character refuses to give away an item should lead to one set of lines. That includes attempts to discard items.
Although, since we have at least two different screens to transfer items, it might not be possible to make them use the same set.

All cases when a character refuses to equip an item should also lead to one set of lines. Different from the previous one.

It all came down to one more function (maybe two, I am kinda hoping we can stuff all into one)... and it should be possible to use it everywhere.

Code was very complicated, while it prolly should not have been. I don't think it was working properly either, it may be now but that is not complete yet. So:

When we equip or unequip and item in that screen we always can equip and unequip from/to player/chars inventories. There was a lot of really complex if/else forks at play there but I think we can safely remove all of that and do this:

Code: [Select]
                    if item_direction == 'equip':
                        # Common to any eqtarget:
                        if not can_equip(focusitem, eqtarget, silent=False):
                            focusitem = None
                            selectedslot = None
                            unequip_slot = None
                            item_direction = None
                            dummy = None
                            jump("char_equip_loop")
                           
                        # See if we can access the equipment first:
                        if equipment_access(eqtarget, focusitem):
                            # If we're not equipping from own inventory, check if we can transfer:
                            if eqtarget != inv_source:
                                if not transfer_items(inv_source, eqtarget, focusitem):
                                    # And terminate if we can not...
                                    jump("char_equip_loop")
                                   
                            # If we got here, we just equip the item :D
                            equip_item(focusitem, eqtarget, area_effect=True)
                           
                    elif item_direction == 'unequip':
                        # Check if we are allowed to access inventory and act:
                        if equipment_access(eqtarget):
                            eqtarget.unequip(focusitem, unequip_slot)
                           
                            # We should try to transfer items in case of:
                            # We don't really care if that isn't possible...
                            if inv_source != eqtarget:
                                transfer_items(eqtarget, inv_source, focusitem, silent=False)

Most important new thing here is equipment_access function. It will determine if char would be willing to give MC access to their inventories. Because if not... it doesn't really matter what conditioning follows, that check needs to be passed first.

So... I stuffed the usual rules we had here into that func but it's not enough. For "equipping" items, we need one extra parameter: item. Even if the character doesn't like you well enough, if it's a good item like a health potion for example, there should be no reason to refuse.

@Dark:
You know items logic as well as I (prolly better cause you made most of the items). We need to figure out when a char might want to allow access to inventory even if MC is not liked... You can add conditions to the function or write those here and I'll add them. item argument will not be used when unequipping an item and when discarding one. Transferring items has a function of it's own with separate responses.
Title: Re: General Discussion
Post by: Xela on May 17, 2016, 07:27:52 PM
And obviously, when you write the lines, make them appropriate, like I'll manage my own things! and not "Get away from my stuff!", because you may be trying to equip your own item to the char as well.
Title: Re: General Discussion
Post by: DarkTl on May 18, 2016, 02:59:59 AM
Uh, so far I added lines for the big transfer screen in buildings menu, which only handles transferring items.
Lines from char.say(choice(["I can manage my own things!", "Get away from my stuff!", "Don't want to..."])) are yours  :)

Then again, you simply can disable transfer buttons even there, it's cleaner then showing refusing lines every time. And do the same for equipping button instead of that line above. The problem here is to make it clear why buttons are unavailable. If renpy can manage local tooltops like in windows, when a small window with explanation appears next to cursor only when needed, it might be the best way.

So... I stuffed the usual rules we had here into that func but it's not enough. For "equipping" items, we need one extra parameter: item. Even if the character doesn't like you well enough, if it's a good item like a health potion for example, there should be no reason to refuse.
type=="restore" items can be always available then. Although, with disposition < -700 and status<>"slave" anything should be unavailable, I think.
For other items we have goodtraits field. Character has no reason to refuse if goodtrats match her traits, unless disposition < -700 again.

That's it, if we involve too many exceptions, the very idea of locked characters inventories will become obsolete.

You know items logic as well as I (prolly better cause you made most of the items). We need to figure out when a char might want to allow access to inventory even if MC is not liked...
What do you mean by access here? Full access, like for slaves?
Title: Re: General Discussion
Post by: Xela on May 18, 2016, 04:06:38 AM
Uh, so far I added lines for the big transfer screen in buildings menu, which only handles transferring items.
Lines from char.say(choice(["I can manage my own things!", "Get away from my stuff!", "Don't want to..."])) are yours  :)

I know, I think that this line that doesn't fit was common to all of those responses. Just pointed out that this isn't a good "generic" option.

Then again, you simply can disable transfer buttons even there, it's cleaner then showing refusing lines every time. And do the same for equipping button instead of that line above. The problem here is to make it clear why buttons are unavailable. If renpy can manage local tooltops like in windows, when a small window with explanation appears next to cursor only when needed, it might be the best way.
type=="restore" items can be always available then. Although, with disposition < -700 and status<>"slave" anything should be unavailable, I think.
For other items we have goodtraits field. Character has no reason to refuse if goodtrats match her traits, unless disposition < -700 again.

I have, partly. But disabling buttons is way less personal than char responding appropriately. I am not sure if this "emmersion" will come out infuriating to the player at the end. I kinda like it myself, but I am not sure that everyone else will.

Also, we should add items with really, really high eqchance (or what ever that was called) to this. Maybe also add different responses? Like when you give an item that is a match on traits: "Thanks, you know me so well!". And on high eq chance: "This will be useful!" and etc. Not sure about restore items, there are some bad items that restore, are they now? Maybe also when paired with a eq check.

That's it, if we involve too many exceptions, the very idea of locked characters inventories will become obsolete.
What do you mean by access here? Full access, like for slaves?

Yeap, too much would be weird, still, might be a good idea to add the above. I am not sure about this one...

I mean when this function returns True.
Title: Re: General Discussion
Post by: DarkTl on May 18, 2016, 04:35:13 AM
You can add items with eqchance >= 70 too then. It's always very good, rare and expensive items. Of course there always should be checks for bad traits too.

Badness determines how willingly an item will be bought by character. We do it 0 for healing potions, and all characters have dozens of them, it's a bad thing for gameplay. While if the character needs healing a lot, she should be able to buy one without even looking at badness. In fact all "restore" items are safe, that's what items types are for.

If you want, you can check if char.health < max char health before allowing to consume health potions, and so on for mp and vitality.

Also, we should add items with really, really high eqchance (or what ever that was called) to this. Maybe also add different responses? Like when you give an item that is a match on traits: "Thanks, you know me so well!". And on high eq chance: "This will be useful!" and etc.
I think lines from gifts will suit such cases perfectly.
Title: Re: General Discussion
Post by: Xela on May 18, 2016, 04:38:06 AM
Ok, I think that we got conditioning straight. Auto-Buy we're not doing at the moment, if I remember that method, it is already very complicated... we'll review it in either case but I want to clear this issue first.
Title: Re: General Discussion
Post by: DarkTl on May 18, 2016, 04:46:31 AM
And on high eq chance: "This will be useful!" and etc.
Yeah. Like, you equip a maid set on a character with maid class, and she makes positive comments about every single item from the set  :D
No thanks.
 
Title: Re: General Discussion
Post by: Xela on May 18, 2016, 04:47:40 AM
Yeah. Like, you equip a maid set on a character with maid class, and she makes positive comments about every single item from the set  :D
No thanks.

Fair point... no comments :D
Title: Re: General Discussion
Post by: Xela on May 18, 2016, 05:24:06 AM
We should prolly have "goodoccs" and "badoccs" fields as well. Just for strings like "Warrior"/"Manager" and etc. It's clumsy at best and impossible at worst to tell which was meant to be used when, for example:

"Warrior" is provided. It can mean a general string to whom anything that increases defense is automatically useful but Mage/Warrior would both have a Warrior occ string and it's no clear if a Warrior wants a staff...

What do you think?
Title: Re: General Discussion
Post by: DarkTl on May 18, 2016, 05:52:52 AM
I can add such fields of course, but it's a matter of autoequipping algorithm, no? Iirc it should determine important stats for character based on her classes and figure out how suitable the item is.
Title: Re: General Discussion
Post by: Xela on May 18, 2016, 06:01:32 AM
Ok, that's all the time I have for now. Issue is prolly solved. Everything is at one place now, maybe it can be combined even more inside the func, but it's leave lines even more vague.

I've got rid of 4 or 5 old traits that lingered in items good/badtraits after you killed them off. Func seems to be working now as well.

I can add such fields of course, but it's a matter of autoequipping algorithm, no? Iirc it should determine important stats for character based on her classes and figure out how suitable the item is.

Sure, but we can do that for good/badtraits as well. Autoequip tries to do something along those lines, yeah. It's not like we can't add it if there is some great use for it in the future, we can live without it for now. We can also live without good/bad traits just as well, I just mentioned this because I realized that those did not work almost anywhere in code and when I started fixing that, I realized that game (in this case, it's absolutely do that for jobs, traits and interactions) cannot distinguish between traits and base trait generalizations at all. It could be mitigated in some cases with very clumsy code but in Warrior case, there is no good way at all...
Title: Re: General Discussion
Post by: DarkTl on May 18, 2016, 06:14:55 AM
Ok, we have SIW, Caster, Server, Warrior base occupations. And Specialist for managers.

Bartender is server, cleaner is server. They use 100% different skills.
Defender is warrior, assassin is warrior. Assassins should prefer agility over defense. Defenders should prefer defense.

There is no way to do something like picking a suitable item without complex algorithm. Unless I go over all items and write good and bad classes and occupations everywhere, in which case this algorithm is my brain  :D
Title: Re: General Discussion
Post by: DarkTl on May 18, 2016, 07:38:13 AM
I made a push with prebattle lines. In order to activate them atm one should include two free chars with disposition 500+ to MC team and then attack someone via harassment-escalation. In the future they probably should work before any battle outside arena and SE.

However, for some reason with two chars in the team only one speaks the line. I have no idea why.
Title: Re: General Discussion
Post by: Xela on May 18, 2016, 12:06:19 PM
I'll take a look, pulling from repo right now.
Title: Re: General Discussion
Post by: DarkTl on May 18, 2016, 02:23:01 PM
It's amazing world of pythonic jumps again...

Quote
    python:
        for member in hero.team:
            if member <> hero:
               renpy.call("interactions_protection", character=member)
Only one character speaks here even if you have two. Interactions_protection label outputs line depending on MPtrait and then returns. Call breaks "for", because it works without the call.
Suggestions? I don't wanna manually copy battle lines for every battle  :)
Title: Re: General Discussion
Post by: Xela on May 18, 2016, 04:38:27 PM
It's amazing world of pythonic jumps again...
Only one character speaks here even if you have two. Interactions_protection label outputs line depending on MPtrait and then returns. Call breaks "for", because it works without the call.
Suggestions? I don't wanna manually copy battle lines for every battle  :)

I've told you, it's not Python (renpy.call) and you're not using it right (again). Call takes you back to the prev Ren'Py statement, I've already explained that:

Code: [Select]
python:
    # 10 000 000+ lines of code

is still just one Ren'Py statement...

I'll see what's the best way of fixing it.
Title: Re: General Discussion
Post by: Xela on May 18, 2016, 05:30:21 PM
any battle outside arena and SE.

Might even pass for Arena... I like it. Code is fixed in any case.

Edit: Fixed the damn appearing on the map flashing on hover... wasn't easy (SL was acting up so I moved it off screen).
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 12:31:02 AM
I've told you, it's not Python (renpy.call) and you're not using it right (again). Call takes you back to the prev Ren'Py statement, I've already explained that:
It doesn't look like previous statement, because it means infinite loop with for. It looks like next statement, after for.

I didn't know about call_in_new_context before, you used it literally two times in the whole game until now.
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 01:28:31 AM
Quote
enemy_team = Team(name="Enemy Team", max_size=5)
How is it possible to have 5 team members?
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 02:51:13 AM
I didn't know about call_in_new_context before, you used it literally two times in the whole game until now.

I try not to, there are some dangers involved but it's ok for this task. I would have prolly wrote that as function myself, but what we have now is perfectly fine.

How is it possible to have 5 team members?

You could have any amount of members for logical purposes. You can't do that for BE in player mode because there is no placing algorithm that goes beyond three.
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 02:52:16 AM
Quote
def __init__(self, name="Brothel", instance=None, desc="Rooms to freck in!",
Uh, freck in? What is it even means?  :D
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 03:35:44 AM
Uh, freck in? What is it even means?  :D

Expression from obscure sci-fi series they used instead of fuck. I am not giving much thought to placeholders.

Also:

You could have any amount of members for logical purposes. You can't do that for BE in player mode because there is no placing algorithm that goes beyond three.

even logical combat in BE should work with these. I may have even tested it at some point for job event.
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 04:42:38 AM
Might even pass for Arena... I like it. Code is fixed in any case.
I'm concerned about cases when you have chars with identical MPTraits though. If they will say the same line, it won't look well, so I'll need a bit more lines and better algorithm to prevent it.
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 05:32:11 AM
I'm concerned about cases when you have chars with identical MPTraits though. If they will say the same line, it won't look well, so I'll need a bit more lines and better algorithm to prevent it.

Fair enough... We can use something simpler. Or we can draw from two pools, one for opfor and another for allies.
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 06:39:38 AM
Ok... so I've decided to shelf the normal logging for the fg. Instead of three separate logging systems, we'll have one stream of log objects and settle them when building reports. That should be powerful and flexible enough to get everything straight and will be simpler than maintaining three separate systems. Gonna try writing some more code for SE tonight.
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 07:45:13 AM
Maybe it's better to show prebattle lines inside BE in the beginning of fight, if it's possible?
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 07:52:48 AM
Maybe it's better to show prebattle lines inside BE in the beginning of fight, if it's possible?

Sure thing, we can even add some boasting effects or speech bubbles at some point :D

Present way will do for the beta. I feel like that micro stuff in a game of PyTFall's scale gets lost in general gameplay. It'd make more sense if we had a much narrower concept. If you just want to displayable the lines with a combat setup but before anyone can act, that we can do for the beta. Basically it's just moving code from label to the BE. I've made sure something along those lines was possible so we might add some responses from fighter after attacks or during scripted combat in some distant future.
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 08:02:03 AM
You know, turns out it's pretty easy to find battle quotes from other games, and a lot of them. For attacks, for dodge, for crit hit, for spells (different depending on element).

Might be worth adding after 1.0.
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 08:08:37 AM
You know, turns out it's pretty easy to find battle quotes from other games, and a lot of them. For attacks, for dodge, for crit hit, for spells (different depending on element).

Might we worth adding after 1.0.

Yeap. I think it might even be possible to make them unobtrusive, like dismissing/showing them in the same way as attack animations.
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 08:29:56 AM
In the future we could also introduce a possibility of someone interfering in random harassment fights. Like other chars from the same location or town watch or just someone random.
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 02:58:54 PM
I wrote function interactions_prebattle_line, which should return unique prebattle lines.
But it doesn't work with lines containing [character.mc_ref], throwing an error...
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 03:57:37 PM
Code: [Select]
        l = len(characters)
        if len > 0:
Is perfectly workable but always frowned upon in favor of simpler if characters:.
Code: [Select]
                if result:
                    character.say(result)
Not really required because there should be no case where this fails cause you cover all the bases with choices. Also choice([]) is a crash so it would fail with a crash before that anyhow.
Code: [Select]
returnis not required, I don't actually remember what great "pythonistas" say on the topic (if it should be added or not for clarity and readability).

===========>>>
I've rewrote the function a little bit to my personal preference (and tested it) but I have no clue as to why your version did not work (I didn't test it). It was logically and syntactically sound, or at least I see absolutely nothing wrong with it (except styling remarks which hold no relevance to it's abilities what so ever).
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 04:06:15 PM
Quote
  File "game/library/interactions/GM - chat.rpy", line 4, in script
    $ interactions_prebattle_line(hero.team)
  File "game/library/interactions/GM - chat.rpy", line 4, in <module>
    $ interactions_prebattle_line(hero.team)
  File "game/library/interactions/function - interactions (GM).rpy", line 323, in interactions_prebattle_line
    character.say(result)
KeyError: 'character'
Error is still there. I put 2 kuudere in hero team and and run the function for the team 1-3 times to get the error  :)
If you use for example impersonal chars who don't use mc_ref, you will never get errors.
 
I thought there might be problems with different values of [character.mc_ref] for different characters, resulting in incorrect lists subtractions. But even so, it shouldn't result in error. Since lines without errors never have character.mc_ref inside, I believe it causes them.
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 04:28:33 PM
You're right... this may be a bug, I see not reason for Ren'Py not be able to interpolate from local scopes but I am be wrong about this. In either case, this should be fixed (somewhat (technically) poorly but reliably).
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 04:32:42 PM
Quote from: Good Old Doc
Ren'Py will interpolate variables found in the global store. When using a text widget in a screen, Ren'Py will also interpolate screen local variables. (This can be overridden by supplying an explicit scope argument to the Text displayable.)

:( Yeah, I guess that is asking for a bit too much. When in Python land, do as Python does :D basically we should have used Python interpolation... instead of the stupid var to global thing I did to fix this... all things considered, I think it's safe for this case...
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 04:40:11 PM

Code: [Select]
                ... bla bla bla
                elif "Imouto" in character.traits:
                    lines = ["Ahaha, we'll totally beat you up!", "Behold of my amazing combat techniques, {mc_ref}! ♪"]
                ... bla bla bla
                result = random.sample(set(lines).difference(said_lines), 1)[0]
                result.format(mc_ref=character.mc_ref)

For all lines would be the proper solution I think but I didn't want to have this function for beta anyway (even if it's nice) :D And my sh1tty "global" thing will work even if it's not mentally sound :D
Title: Re: General Discussion
Post by: DarkTl on May 19, 2016, 04:45:37 PM
Even if result doesn't have mc_ref? Wouldn't it be an error then?
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 04:50:31 PM
Even if result doesn't have mc_ref? Wouldn't it be an error then?

I don't think so. .format is a fairly modern method and those are usually not stupid and quite intuitive (unlike some of the crap they came up 10 years ago and removed only in Python 3+ which we don't have in Ren'Py).

Edit:
Just tested it, it's kinda half/half. It will work as long as you don't have any other {} to interpolate... like Ren'Py text tags we might want to use one day... It's an imperfection in the engine I guess, I wonder if Text("", scope=locals()) might work.

Edit 2:
The last variant does some weird crap by printing out memory address instead of the string...
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 05:10:53 PM
It's an imperfection in the engine I guess

Yeap... it's an easy fixable imperfection. At least I cannot see a way to solve this without writing one or two lines of custom code for it :D In either case, what we have now will work.
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 05:29:58 PM
Code: [Select]
result = result.replace("[character.mc_ref]", character.mc_ref)
Best version I think... safe to use with all the other possible tags, fast and will work well.
Title: Re: General Discussion
Post by: Xela on May 19, 2016, 07:49:18 PM
We should prolly replace the cross that leads to previous screen with something simple along these lines:

https://www.google.bg/search?q=return+arrow+png&client=firefox-b&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwiEhPWJqefMAhVIvhQKHV9hC8AQsAQIGg&biw=1920&bih=961#

I think that'll be more appropriate...
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 01:19:40 AM
There is already back arrow button at some screens, like MC profile. There is no need in looking for other buttons, it's suitable for any screens.

Not really required because there should be no case where this fails cause you cover all the bases with choices. Also choice([]) is a crash so it would fail with a crash before that anyhow.
Well, it means that the function cannot be used for teams with more than 4 characters of the same MPTrait, because there won't be enough lines for them  :)
I don't think we'll even have more than 4 party members though, so it's probably fine.
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 02:40:45 AM
I changed the algorithm a bit to make sure it correctly subtracts lists with different mc_ref, thus even lines with different mc_ref won't be repeated.

I added prebattle quotes inside BE, and they work. But now prebattle dissolve doesn't work...
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 03:10:12 AM
Fixed the quotes. I've also set them to false, you usually want to set new stuff to None/False to make sure that new behavior doesn't occur everywhere.
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 03:46:04 AM
Blue hair random pack just reminded me that generic battle sprite is needed for packs without one.
Better this (http://www.gdunlimited.net/forums/uploads/1278464487/gallery_7021_5_57829.png) than random non transparent picture.

Or this (http://i228.photobucket.com/albums/ee59/Spiritof76man/Cloak-newa.png).
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 07:26:26 AM
Quote
            "Kill her":
                "She stopped breathing. Serves her right."
                $ char.health = 0
Quote
  File "game/library/interactions/GM - negative.rpy", line 22, in script
    $ char.health = 0
  File "game/library/interactions/GM - negative.rpy", line 22, in <module>
    $ char.health = 0
  File "game/library/characters/classes - characters.rpy", line 3244, in __setattr__
    self.__dict__["stats"].mod_base_stat(key, value)
  File "game/library/characters/classes - characters.rpy", line 900, in mod_base_stat
    self.mod(key, value)
  File "game/library/characters/classes - characters.rpy", line 988, in mod
    hero.remove_girl(girl)
  File "game/library/characters/classes - characters.rpy", line 2601, in remove_girl
    if char in self._char:
  File "game/library/characters/classes - characters.rpy", line 1200, in __getattr__
    raise AttributeError(msg % (key, self.__class__.__name__))
AttributeError: '_char' is neither a gamestat nor an attribute of Player
::)
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 08:21:09 AM
I've pushed a small update that should fix this particular error. Just keep in mind that this system is in like pre-alpha stage and it will not remove anyone from Arena or Interactions or FG teams but it looks like it's rigged to remove chars from heros team and employment.
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 09:35:14 AM
Nope, you haven't pushed it  :D
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 10:15:19 AM
Git is acting up again...
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 01:58:50 PM
Quote
  File "game/script.rpy", line 289, in script call
    call testing
  File "game/library/testing.rpy", line 2, in script
    python:
  File "game/library/testing.rpy", line 55, in <module>
    hero.add_girl(new_random_girl)
  File "game/library/characters/classes - characters.rpy", line 1200, in __getattr__
    raise AttributeError(msg % (key, self.__class__.__name__))
AttributeError: 'add_girl' is neither a gamestat nor an attribute of Player
I thought maybe I need a new testing file, but the link you provided some time ago now leads to test_cases.rpy, which is something completely different.
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 02:11:36 PM
I thought maybe I need a new testing file, but the link you provided some time ago now leads to test_cases.rpy, which is something completely different.

https://www.dropbox.com/s/5uiox4ka1oisgu5/testing.rpy?dl=0
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 02:27:04 PM
I can give items from MC to a free character and then take them away freely. But cannot take items from hinata for example.
Is it a normal behavior? Does the game track which item was given by MC or something?
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 02:50:28 PM
Does the game track which item was given by MC or something?

Yeap, it does.

http://www.pinkpetal.org/index.php?topic=1291.msg30364#msg30364

Maybe one of these... you sprites are a nightmare to clean up. Or we need to keep searching for one...
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 02:59:20 PM
Oh come on, the second one has a solid, easily removable background. Here (https://www.dropbox.com/s/8o8j9bg9eyjdu5j/Cloak-newa.png?dl=0).
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 03:58:08 PM
Some options:

(http://s32.postimg.org/oku3rsbgh/3_1.png) (http://postimg.org/image/oku3rsbgh/) (http://s32.postimg.org/cug6aeio1/3_3.png) (http://postimg.org/image/cug6aeio1/) (http://s32.postimg.org/wb0vwxds1/1422930704072.jpg) (http://postimg.org/image/wb0vwxds1/)

(http://s32.postimg.org/51u3w622p/dfa833da26a5a6701dbe50bbd00e320a.jpg) (http://postimg.org/image/51u3w622p/) (http://s32.postimg.org/v6bf5agox/option_2.png) (http://postimg.org/image/v6bf5agox/) (http://s32.postimg.org/5bx11rrb5/unspecified.png) (http://postimg.org/image/5bx11rrb5/)
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 04:07:09 PM
It might be worth to make absolutely black only skin for the sprite with crossbow...

Anyway, just add the logic. We always can improve sprites after that.
Title: Re: General Discussion
Post by: DarkTl on May 20, 2016, 04:20:31 PM
I mean, like this (https://www.dropbox.com/s/i16kp0it1i91icy/3_1.png?dl=0) one (a quick edit). It looks like she has closes all over her body, since we cannot predict skin color.
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 04:23:43 PM
Anyway, just add the logic. We always can improve sprites after that.

Ok, I'll add new logic where instead of falling back to profiles when requesting battle_sprite, we'll automatically pick a default image.
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 06:37:34 PM
I've cleared the 3 new issues you've created but I recon plainly randomly choosing from pool of items at this stage of development would have been simpler and smarter at this stage of development but I'll make sure all chars have some items before releasing.
Title: Re: General Discussion
Post by: Xela on May 20, 2016, 07:03:02 PM
I've ran a check for chars without a battle sprite, Melona and Kushina are the only once missing it, but I don't have all the packs and might not have last versions. It should be possible to find one for both... gonna try getting some sleep.
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 03:27:38 AM
I've cleared the 3 new issues you've created but I recon plainly randomly choosing from pool of items at this stage of development would have been simpler and smarter at this stage of development but I'll make sure all chars have some items before releasing.
Nothing wrong with poor, lvl1 level characters not having any items though. Of course we can just give a random cheap item even then.

I've ran a check for chars without a battle sprite, Melona and Kushina are the only once missing it, but I don't have all the packs and might not have last versions.
Yeah, your packs are super outdated, those two didn't have sprites like 1.5 years ago  :D
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 03:51:46 AM
Gifts cannot be transferred not only to character, but also from character. So if somehow character will get one due to overlook in the code, it will stuck there forever.
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 04:02:27 AM
Gifts cannot be transferred not only to character, but also from character. So if somehow character will get one due to overlook in the code, it will stuck there forever.

Like how? I don't really want to write fixes to possible f*ck ups in code. + I really hate breeding if/else forks when they can be avoided.
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 04:06:06 AM
Like when character finds one in SE maybe?

Gift should not even exist in chars inventories. The game should just delete them on spot, during next day for example.
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 04:10:42 AM
Like when character finds one in SE maybe?

Gift should not even exist in chars inventories. The game should just delete them on spot, during next day for example.

Well... than that would be a f*ck in SE code that I'd have to fix. Also I am not sure how we're gonna settle gifts found in SE yet or if gifts can be found in SE.

I may add a check... Still don't think that it's a good idea.
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 04:23:15 AM
The whole idea of chars having a forever empty tab for gifts is not very sound...
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 04:26:52 AM
Gifts could be under a special tab available only inside MC profile, with no transferring. And instead of gifts there could be another sorting button at equipment screens, like for materials or for loot.
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 04:33:46 AM
True... but taking care of this smaller issues takes time and I'd rather work towards the Beta. Making everything working just right is a task for 1.0.

Our systems are fairly complex and it takes some time "to get into them". Also that's what I am supposed to do during refactoring. I am planning to put some time into FG and the shooting range today :)

Prolly starting with the guild right now.
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 04:59:47 AM
There are so many things that could be fun additions to the SE... I am getting lost in the ideas and what to implement right now  :D
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 06:06:53 AM
Just  independently sending teams to a testing location inside SE where they get items and meet enemies would be a good start  :)
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 06:33:10 AM
Quote
[
  {
    "id": "Angel",
    "desc": "Inhabitants of the heavens periodically appear in the human world, either as messengers or exiles.",
    "race": "Angel",
    "random_stats": {
    "charisma": [25, 80],
    "constitution": [20, 50],
    "character": [2, 40],
    "intelligence": [10, 40]
    },
    "random_traits": [
    ["Long Legs", 35],
   ["Alien", 100],
   ["Virtuous", 90],
   ["Vicious", 100],
   ["Big Boobs", 50],
   ["Average Boobs", 100],
   ["Virgin", 100],
   ["Slim", 100],
   ["Elegant", 25],
   ["Clumsy", 25],
   ["Impersonal", 15],
   ["Magic Gift", 5],
   ["Kuudere", 45],
   ["Ane", 85],
   ["Deredere", 100],
   ["Well-mannered", 90],
   ["Ill-mannered", 100],
   ["Serious", 25],
   ["Frigid", 15],
   ["Divine Creature", 100],
   ["Light", 100]
   ],
   
    "force_location": false,
    "force_status": false,
   
    "occupations": ["Warrior", "Service Girl", "Stripper"],
   
    "blocked_traits": ["Extremely Jealous"],
    "attack_skills": {
            "FistAttack": 1
    },
    "magic_skills": [
     ]
  }
]

Quote
    {
    "id": "Vicious",
    "desc": "If there is a way to do harm to someone, she will find it.",
    "block_traits": ["Virtuous"],
    "mod_skills": {"oral": [-0.1, -0.05, 0], "service": [-0.02, 0, -0.03], "bdsm": [0.02, 0, 0.03]},
    "character_trait": true
    },
    {
    "id": "Virtuous",
    "desc": "She is happy as long as she is able to help to anyone.",
    "block_traits": ["Vicious"],
    "mod_skills": {"oral": [0.1, 0.05, 0], "service": [0.02, 0, 0.03], "bdsm": [-0.02, 0, -0.03]},
    "character_trait": true
    },

Just got this rchar with both Vicious and Virtuous traits  ::)
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 06:43:48 AM
Just  independently sending teams to a testing location inside SE where they get items and meet enemies would be a good start  :)

Yeah... sounds simple, I am half way done with the "Traveling to location"...

Just got this rchar with both Vicious and Virtuous traits  ::)

F*ck all of it... I was hoping that this traits crap errors were a thing of the past.

===>>
Gonna take a break... go for a walk or something...
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 07:46:31 AM
Just got this rchar with both Vicious and Virtuous traits  ::)

Well... at some point you decided to rename "blocks" field into "block_traits" and never told me about it. I mean, forum wide search for: block_traits shows just this post where you say that they don't work. There is not one mention of that in core code either...

It's perfectly fine when you want to add fields or rename fields, just let me know when you do. For now I just renamed it back to blocks, it should? might? maybe? working now?...
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 08:00:55 AM
Code: [Select]
renpy.call("interactions_character_doesnt_want_bad_item")
this is not safe.

You can call in new context if you have to or just put the lines directly in the function (or a new function just with the lines).
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 09:02:18 AM
Most likely it was a victim of mass renaming of some kind  :D
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 09:15:39 AM
Most likely it was a victim of mass renaming of some kind  :D

Maybe, my own example base traits were the only once to survive.
Title: Re: General Discussion
Post by: DarkTl on May 21, 2016, 09:28:41 AM
Uh, you haven't pushed, so I can't tell if it's working or not -_-
Title: Re: General Discussion
Post by: Xela on May 21, 2016, 09:40:50 AM
Hold on, my Git is fucked again, this happens sometimes when I leave my Desktop and Laptop on at the same time...

Done.
Title: Re: General Discussion
Post by: DarkTl on May 22, 2016, 03:14:59 PM
I made a push which broke the game due to some error in event system. I wanted to try out times_per_days argument in an event, turns out such argument prevents the game from working  :D
Quote
  File "game/library/screens/main_screen.rpy", line 37, in script
    $ pytfall.world_events.next_day() # Get new set of active events
  File "game/library/screens/main_screen.rpy", line 37, in <module>
    $ pytfall.world_events.next_day() # Get new set of active events
  File "game/library/events/classes - events.rpy", line 142, in next_day
    if event.tpd and not event.resolve_tpd():
  File "game/library/events/classes - events.rpy", line 270, in resolve_tpd
    if len(matched_days) < self.tdp[0]: return True
AttributeError: 'WorldEvent' object has no attribute 'tdp'
Title: Re: General Discussion
Post by: Xela on May 22, 2016, 03:36:57 PM
Which is weird... because I've tested it extensively right after the system was made.

Edit: Try again, it should be fixed now, unless you get another error :D I know this passed test of the event once, logic and code alike, this was prolly due further modification by Thewlis or I.

Just finished writing algorithm that would prevent targets spawning at the same positions but could still spawn at any position along the rows for shooting range. That sh!t while sounds so f*cking easy is really hard to convert into code...
Title: Re: General Discussion
Post by: DarkTl on May 22, 2016, 03:57:19 PM
Yeah, there was another typo further...

times_per_days=(2,6) this one should run event 2 times per 6 days. I figured it means that after some time the event will return, turns out you can wait 30 days and it never will become available again. Is it intended? I can't tell based on comments, and even if it is, it should be changed, otherwise this argument is useless.
Title: Re: General Discussion
Post by: Xela on May 22, 2016, 04:00:06 PM
Yeah, there were another typo further...

times_per_days=(2,6) this one should run event 2 times per 6 days. I figured it means that after some time the event will return, turns out you can wait 30 days and it never will become available again. Is it intended? I can't tell based on comments, and even if it is, it should be changed, otherwise this argument is useless.

Let me take a look, it's not intended.
Title: Re: General Discussion
Post by: Xela on May 22, 2016, 04:11:01 PM
It's working, you're adding additional conditions like restore priority which prolly interferes with your testing. Priority always needs to be set to something above 0 but in this case, you prolly want restore priority to be set to 0 so only times per days logic is in play. it works like you're doing it as well, but there is a day of delay on every recalc of events system.

I am going to get some sleep, good luck!
Title: Re: General Discussion
Post by: DarkTl on May 22, 2016, 04:52:00 PM
Testing with restore_priority=1:
1) Day 1, works. Day 2, works. Day 15, nope.
2) Day 1, works. Day 3, suddenly nope. Day 4, nope.

It doesn't look like a day of delay, does it?

I need the testing event to work once per day while 2 times per 6 days. Not just 2 times per 6 days. How am I supposed to do it without restore_priority? These mechanics are not different enough to block each other logically.
Title: Re: General Discussion
Post by: Xela on May 23, 2016, 01:22:59 AM
Yeah... maybe it's worth moving event recalculation to next day... Assumption there is that we reevaluate event cache daily, while when you're clicking next day without returning to main screen, that doesn't happen and during my testing there wasn't even an option to just keep clicking next day... it sent you to main screen automatically.

I never reviewed the events system after that option was added or updated it's logic accordingly. It should work now, maybe even reliably but it may be worth taking a look at/testing extensively one more time, event system is not as "dependable" as I believed it to be after my own testing, due to changes to GUI/Gameflow logic and by the looks of it to code somehow (tpd renamed to tdp).

We'll see, I'll take another quick look at the code right now. If nothing obvious pops up, I am leaving it be until there is time to review.
Title: Re: General Discussion
Post by: DarkTl on May 23, 2016, 04:30:43 AM
Yeah, I think it works now.

When you are being attacked after using looking around option, you have to manually hide location screen, like hide screen main_street, otherwise all gui will remain there, right in the BE.
But if you don't know where the battle was started, ie locations=["main_street", "city_parkgates", "forest_entrance"], you don't know which screen should be hidden. What am I supposed to do then? Can't BE automatically hide gui by itself, for that matter?
Title: Re: General Discussion
Post by: Xela on May 23, 2016, 04:34:39 AM
Yeah, I think it works now.

When you are being attacked after using looking around option, you have to manually hide location screen, like hide screen main_street, otherwise all gui will remain there, right in the BE.
But if you don't know where the battle was started, ie locations=["main_street", "city_parkgates", "forest_entrance"], you don't know which screen should be hidden. What am I supposed to do then? Can't BE automatically hide gui by itself, for that matter?

Hide? Prolly not... we can maybe run in on top of everything blocking input... you can always:

pytfall.world_events.get(name).label_cache I think, it should store where you can from.
Title: Re: General Discussion
Post by: DarkTl on May 23, 2016, 04:57:46 AM
Ok, I can
$ scr = pytfall.world_events.get("events_thugs_robbery").label_cache
...
jump expression scr

How am I supposed to hide and show scr screen? Hide screen expression scr doesn't work.
Title: Re: General Discussion
Post by: Xela on May 23, 2016, 06:20:11 AM
Clear the layers.

Code: [Select]
scene
renpy.scene(layer="screens")

I'll move the debug screen to a special layer when i can, cause it will disappear as well when you do this. You can jump/return to label cache when you're done with your event.
Title: Re: General Discussion
Post by: DarkTl on May 23, 2016, 06:39:43 AM
I cannot manually return background after BE like we usually do if I don't know location due to multiple locations in events arguments. I mean, I can jump to pytfall.world_events.get("events_thugs_robbery").label_cache. But right after BE and before jumping I have to show appropriate background, ie the background before BE started.


I can do it by manually checking pytfall.world_events.get("events_thugs_robbery").label_cache and comparing it to known locations. But it's a nightmare to do for the whole game forever  :D
Ideally there should be a variable = last used background. So after BE I just write show bg last_used_bg.

Otherwise BE pretty much cannot be used properly for random location inside VN mode.
Title: Re: General Discussion
Post by: Xela on May 23, 2016, 07:07:03 AM
I think we keep names of the background on a rule bg + label name... did you try:

Code: [Select]
scene expression "bg " + event.label_cache
renpy.scene(layer="screens")

?
Title: Re: General Discussion
Post by: DarkTl on May 23, 2016, 08:19:49 AM
Yeap, it works.
Title: Re: General Discussion
Post by: DarkTl on May 23, 2016, 02:34:54 PM
I added a small event, it probably could be written more elegantly, but whatever  :)
Title: Re: General Discussion
Post by: DarkTl on May 24, 2016, 07:44:51 AM
Tired of writing lines for now, guess I'll quickly make another pack while SE is not ready for content...
Title: Re: General Discussion
Post by: DarkTl on May 26, 2016, 02:32:03 AM
I wrote a function to automate BE calls a bit, but it gives a weird error
Quote
  File "game/library/interactions/GM - negative.rpy", line 64, in script
    python:
  File "game/library/interactions/GM - negative.rpy", line 67, in <module>
    result = run_default_be(enemy_team, background=back)
  File "game/library/interactions/function - interactions (GM).rpy", line 388, in run_default_be
    battle.start_battle()
  File "game/library/be/core.rpy", line 163, in start_battle
    renpy.with_statement(self.start_sfx)
  File "game/library/be/screens.rpy", line 192, in execute
    screen battle_overlay(be):
  File "game/library/be/screens.rpy", line 192, in execute
    screen battle_overlay(be):
  File "game/library/be/screens.rpy", line 195, in execute
    frame:
  File "game/library/be/screens.rpy", line 199, in execute
    has viewport:
  File "game/library/be/screens.rpy", line 202, in execute
    has vbox
  File "game/library/be/screens.rpy", line 203, in execute
    for entry in reversed(battle.combat_log):
NameError: name 'battle' is not defined
Title: Re: General Discussion
Post by: Xela on May 26, 2016, 04:58:27 AM
Yeah, I've been meaning to get it rewired but it's a bit of manual works passing the object around...
Title: Re: General Discussion
Post by: DarkTl on May 26, 2016, 09:14:32 AM
MC's gold can be negative. Most likely it's true for characters too.

So you can't write hero.gold -= randint(500, 1000), you always have to
g = randint (500, 1000)
if hero.gold <= g:
   hero.gold = 0
else:
   hero.gold -= g

Can't it be forbidden globally for gold to be negative?
Title: Re: General Discussion
Post by: Xela on May 26, 2016, 09:19:02 AM
Can't it be forbidden globally for gold to be negative?

Technically, yes. But MC is allowed to go negative (owe money) in a bunch of cases, chars as well. We don't really have a "debt" field which could prolly help solving this issue...
Title: Re: General Discussion
Post by: DarkTl on May 26, 2016, 10:14:29 AM
Really? What kind of cases?
Title: Re: General Discussion
Post by: Xela on May 26, 2016, 10:32:36 AM
Really? What kind of cases?

Taxes, some events I think. It's not really relevant, you're not supposed to access gold field directly outside of code mechanics (you'll prolly end f*cking up fin module), I should prolly have it throwing an error or something like that, use:
Code: [Select]
hero.take_money(amount, reason)
char.give_money(amount, reason)

reason defaults to "Other". Keep reasons simple, that's for the fin reports, you can search for this method to see what reasons we use in the game, maybe simplify/correct them a bit, I am planning to do that myself before beta in either case.

The methods will return True if the transaction is successful, like:

Code: [Select]
if hero.take_money(1000000000**10000000, reason="F*cking Cheater Test"):
    "Yeah, right... you 'broke the bank'..."
else:
    "You don't really have that much..."

The other method doesn't return True/False, you can always give cash to anyone.
Title: Re: General Discussion
Post by: DarkTl on May 26, 2016, 11:49:23 AM
Ah yes, I recall it now, I used it for money options in interactions. It's easy to forget, throwing an error here is a good idea.
Title: Re: General Discussion
Post by: Xela on May 27, 2016, 01:37:05 PM
Tis been another f*cked up week :(

I've tried writing code for fg again tonight but that's not gonna fly. Gonna rest up and try again tomorrow morning.
Title: Re: General Discussion
Post by: DarkTl on May 28, 2016, 10:38:20 AM
I'm making sailor moon pack little by little, not many pics per char but quite a lot chars  :)

Tagger update, turns out it couldn't support properly extensions in uppercase, ie show them in the preview panel. It was the first time when I encountered such pictures. Now it works correctly with them, and also makes them lowercase during mass renaming.
Title: Re: General Discussion
Post by: lamoli on May 30, 2016, 04:10:36 AM
Not much time to work on the base girl template atm but once its done we could generate any girl we want.. only problem atm is content ( hair should be easy enough ) but need to make lots of clothes.. unless you want them all naked lol..


Edit: does any of you 2 got some time and are skilled using blender ?
Title: Re: General Discussion
Post by: DarkTl on May 30, 2016, 09:49:17 AM
I have time of course, but I'm afraid I never tried to work with 3d graphics before.
Title: Re: General Discussion
Post by: DarkTl on June 05, 2016, 04:54:14 AM
Xela, are you alive there?  :)
Title: Re: General Discussion
Post by: Xela on June 05, 2016, 06:10:36 AM
Alive :)

But very busy with rl. Some nasty problems that will last for a while. I am slowly trying to recode the fg, if you need something specific fixed/expanded, let me know. Problem is that I need 5 - 6 hours of straight work to get fg running or at least make serious progress, all I can do now is 6 - 7 lines of code per day and it takes like 10-20 mins to "get into it" cause code is all over the place.
Title: Re: General Discussion
Post by: Xela on June 07, 2016, 02:26:09 PM
(http://s32.postimg.org/9kroquv3l/tumblr_o88sv3k_JT61rhbm8qo1_500.jpg) (http://postimg.org/image/9kroquv3l/)

Babe Runner teaser :)

https://youtu.be/ZYxD4V2hb7k
Title: Re: General Discussion
Post by: DarkTl on June 09, 2016, 09:54:51 AM
^ Is it a VN after all?

Finished the pack, 9 new chars. Back to coding stuff again.
Funny thing, it was a pretty good pack 5 years ago when I made it for wm ex. But now, compared to others, it is mediocre at best.
Title: Re: General Discussion
Post by: DarkTl on June 10, 2016, 03:00:25 AM
A new renpy game (http://store.steampowered.com/app/407330/). With excellent resources inside rpa  :)

Pytom claims that in win10
Quote
The text spacing issue can be mitigated using the adjust_spacing style property, but is fundamental to text that can change its shape with the size of the window.
https://www.renpy.org/doc/html/style_properties.html#style-property-adjust_spacing (https://www.renpy.org/doc/html/style_properties.html#style-property-adjust_spacing)
Title: Re: General Discussion
Post by: MuteDay on June 16, 2016, 02:49:59 PM
do you guys have a design document for the MC Setup, or am i free to improvise

Title: Re: General Discussion
Post by: Xela on June 16, 2016, 02:57:56 PM
You may improvise :)

Dish out items, base traits, normal traits, gold, chars, exp, leave the comments if you want to start with buildings as well... it doesn't need to be very balanced for the beta, just fun :)
Title: Re: General Discussion
Post by: MuteDay on June 16, 2016, 03:13:18 PM
Kool, and are the images already there or will i need to find images?
Title: Re: General Discussion
Post by: MuteDay on June 16, 2016, 03:23:32 PM
never mind answered my own question
Title: Re: General Discussion
Post by: MuteDay on June 18, 2016, 01:44:28 PM
sorry about using wrong place, just trying to understand renpy fully
Title: Re: General Discussion
Post by: DarkTl on June 19, 2016, 12:29:27 PM
Returned from my vacation  :)
Tagger update, I added a small menu where you can select background color to help with noticing artifacts for portraits and sprites.

sorry about using wrong place, just trying to understand renpy fully
You can freely post here questions about renpy/python, I do it all the time  :D
Title: Re: General Discussion
Post by: Xela on June 19, 2016, 05:03:51 PM
I'll be around more starting the week after next (hopefully) :)

FG is getting into shape line by line but I need 5 - 6 hours to get it to run and debug.
Title: Re: General Discussion
Post by: DarkTl on June 20, 2016, 11:12:14 AM
Could you add a field for consubales which is the name of a label where the game should jump if the item was used? Will help a lot for creating complex items. To avoid conflicts, it could just overwrite any other items effects if exists. Of course it still should affect the one who used the item, ie character or MC.
Title: Re: General Discussion
Post by: Xela on June 20, 2016, 06:47:47 PM
Could you add a field for consubales which is the name of a label where the game should jump if the item was used? Will help a lot for creating complex items. To avoid conflicts, it could just overwrite any other items effects if exists. Of course it still should affect the one who used the item, ie character or MC.

That's not hard, I'll take a look tomorrow if time permits. Is this just for logic? Or will there be events bound? I need to know to avoid interaction in interaction errors...
Title: Re: General Discussion
Post by: DarkTl on June 21, 2016, 12:43:05 AM
Well, in fact I wanted it for events too. Not interaction module type of events, more like VN type of events.
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 03:36:25 AM
Well, in fact I wanted it for events too. Not interaction module type of events, more like VN type of events.

Ok. We'll have to structure it accordingly, logic is much simpler and safer than VN stuff but both are always possible.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2016, 05:42:12 AM
At the character equipment screen switching between girl and hero inventories resets items filter. Is it intentional or just happened to be like that? Because it's a bit inconvenient.
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 06:01:45 AM
At the character equipment screen switching between girl and hero inventories resets items filter. Is it intentional or just happened to be like that? Because it's a bit inconvenient.

I think each inventory keeps it's own filter setting + MC would normally have more items in more slots than the char so it makes sense to reset to all. It should be possible to keep the filter using an interim var or something like that.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2016, 06:12:23 AM
I create items for a very long time, and many times noticed that sometimes testing inventories (MC and Hinata) don't have the item that I want to test. Restarting the game usually solves it. I believe the way of adding items to them is randomized, and that leads to such cases.
I always thought it's a minor thing that will be resolved eventually, but after a few years of enduring I'm tired of it  :)
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 07:10:56 AM
LoL

Yeap, that's a random thing for testing, you can add items yourself as needed or I can make sure every item is added to MC and Hinata...
Title: Re: General Discussion
Post by: DarkTl on June 21, 2016, 07:27:35 AM
Yeah, ideally they should have multiple copies of every item.
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 07:44:16 AM
I've just started looking into items, looks like some preparations were made for the system: item.jump_to_label

In either case, going to add all items to mc/h firsts.
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 07:49:04 AM
Yeah, ideally they should have multiple copies of every item.

Ok, you'll have to grab my testing file because it is handled there. I am going to take a look at jumping to labels from items now.
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 08:31:08 AM
Oki, jump_to_label is working now... you can try it out. It was already working but messy as hell.
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 08:42:07 AM
Quote
Cherry-Wood committed 17 hours ago

Yey :)

3 people to commit within 24 hours! Awesome!
Title: Re: General Discussion
Post by: DarkTl on June 21, 2016, 09:20:54 AM
Guess he figured we are not going to give up  :D
Title: Re: General Discussion
Post by: DarkTl on June 21, 2016, 10:00:05 AM
Jump_to_label useful for events, but not for difficult items logic. Because for the latter we should stay on the items screen, and also know who used the item.

By items with complex logic I mean (purely for example) an item that gives a random trait to character, but nothing to MC. It probably requires a field that runs a function, since calls might be unsafe.
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 10:33:16 AM
Jump_to_label useful for events, but not for difficult items logic. Because for the latter we should stay on the items screen, and also know who used the item.

By items with complex logic I mean (purely for example) an item that gives a random trait to character, but nothing to MC. It probably requires a field that runs a function, since calls might be unsafe.

I don't like this... especially because it will mess up and make the added effects I worked for so long at for char equip screen inconsistent. The jumping to even thing is awesome, silent unique logic... not so much :(

We also have unique items btw. They can be used for unique chars in some cases.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2016, 10:37:09 AM
Btw added effects don't work for skills modifiers  :)
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 10:49:15 AM
Btw added effects don't work for skills modifiers  :)

It works with everything, we just don't show skills anywhere in that screen.
Title: Re: General Discussion
Post by: DarkTl on June 21, 2016, 11:33:58 AM
Since there are direct bonuses and bonuses to speed of learning, we probably could show it via icons. Up arrows for direct bonuses and penalties, and smaller arrows with icon like this (http://www.clipartbest.com/cliparts/bTy/7Ln/bTy7Ln8TL.png) for learning speed. Without specifying if it's practical or theoretical bonuses or numbers, I think it will be too much information.
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 11:37:53 AM
Not for beta, there is too much to do as it is...
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 11:50:45 AM
And you can hint on effects in the description. We'll prolly add skills to gui for beta using the stars thing from fg. Going to write a couple more lines for se and call it a day.
Title: Re: General Discussion
Post by: MuteDay on June 21, 2016, 01:12:51 PM
Sorry i am still working on learning got alot more stuff to do first though
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 02:24:31 PM
It is very difficult to get into a project this far along... knowledge of the game is prolly even more important than ability to script for it. Most people give up quickly enough :)
Title: Re: General Discussion
Post by: Xela on June 21, 2016, 02:42:12 PM
Oki, done for the day. SE might actually be functional this weekend, in a limited form but functional. If not, it should be running by the end of next week for sure.
Title: Re: General Discussion
Post by: MuteDay on June 21, 2016, 10:02:53 PM
honestly its more fun to learn it for me, but then again i liked python, and honestly it really isnt hard when you can look at it easily

Title: Re: General Discussion
Post by: Xela on June 22, 2016, 01:43:05 AM
It's not hard, Python/Ren'Py are very intuitive and fun to learn :)
Title: Re: General Discussion
Post by: DarkTl on June 22, 2016, 06:46:04 AM
Although renpy screen language basically doesn't have guides, so you can figure it out only by asking someone or trying  ::)
Title: Re: General Discussion
Post by: Xela on June 22, 2016, 08:15:00 AM
I am not sure that it's true. There are docs + the project + tutorial. It's a very complete set of basics + some advanced stuff as well. Maybe it could be better structured but that's asking quite a bit...
Title: Re: General Discussion
Post by: DarkTl on June 22, 2016, 08:40:47 AM
I'm building an rchar with build_rc. How can I specify her level? Simple $ new_slime.level = randint(10,25) doesn't work.
Title: Re: General Discussion
Post by: Xela on June 22, 2016, 08:47:29 AM
I'm building an rchar with build_rc. How can I specify her level? Simple $ new_slime.level = randint(10,25) doesn't work.
Code: [Select]
    def build_rc(id=None, name=None, last_name=None, pattern=None, level=1, add_to_gameworld=True):
        ''' Creates a random character!
        id: id to choose from the rchars dictionary that holds rGirl loading data from JSON files, will be chosen at random if none availible.
        name: (String) Name for a girl to use. If None one will be chosen from randomNames file!
        last_name: Same thing only for last name :)
        pattern: Pattern to use when creating the character! (Options atm: Warrior, ServiceGirl, Prostitute, Stripper) If None, we use data or normalize in init()
        level: Level of the character...
        add_to_gameworld: Adds to characters dictionary, should always be True unless character is created not to participate in the game world...
        '''

See... not just in Ren'Py, even in PyTFall we have docs at some places :)
Title: Re: General Discussion
Post by: DarkTl on June 22, 2016, 02:38:12 PM
Spent 3 hours today to figure out a simple thing, how to change AND save npcs appearance in fallout 4, and I don't even mean 3D modeling, just changing and saving. It requires 3 different tools, and only one of them is official. It's amazing that people still make complex mods with that level of modding support...

Finished complex item that creates a slime rchar. It even somewhat protected from save scumming  :)
Title: Re: General Discussion
Post by: DarkTl on June 23, 2016, 02:20:18 AM
I need to know who used an item with jump_to_label for items that could be used by anyone.
Title: Re: General Discussion
Post by: Xela on June 23, 2016, 03:07:34 AM
I need to know who used an item with jump_to_label for items that could be used by anyone.

Char instance should remain bound to eqtarget variable.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2016, 06:49:51 AM
Well, I tried it like "if char<>hero" after jumping from item, it gave me "NameError: name 'char' is not defined".
Title: Re: General Discussion
Post by: Xela on June 23, 2016, 06:56:33 AM
Well, I tried it like "if char<>hero" after jumping from item, it gave me "NameError: name 'char' is not defined".

???

Quote
Char instance should remain bound to eqtarget variable.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2016, 07:01:55 AM
Ah, I misunderstood Char from your post with char variable  :D
Title: Re: General Discussion
Post by: DarkTl on June 23, 2016, 07:46:49 AM
I want to add an item which takes health from one character and later gives it to another one. There are two options, either it always will work with the same amount of health, like 100 for example, or it could take 30-50% of max health, in which case I will store taken amount in a flag (a list of variables, since there could be multiple items).

But the latter case will lead to inconsistency in items, until now items with the same id worked just the same, but with flags stuff items with the same id will work differently.

What do you think about breaking items consistency like that? Worth/not worth?
Title: Re: General Discussion
Post by: Xela on June 23, 2016, 10:18:42 AM
I want to add an item which takes health from one character and later gives it to another one. There are two options, either it always will work with the same amount of health, like 100 for example, or it could take 30-50% of max health, in which case I will store taken amount in a flag (a list of variables, since there could be multiple items).

But the latter case will lead to inconsistency in items, until now items with the same id worked just the same, but with flags stuff items with the same id will work differently.

What do you think about breaking items consistency like that? Worth/not worth?

Well, health is not difficult to come by. We'll also might allow spell casting at some point, this kind of macro would be interesting in a game where it would be more unique.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2016, 11:17:52 AM
Fair enough. I'll try with exp then, take 1000, give 500. Will be useful for training fresh chars.
Title: Re: General Discussion
Post by: Xela on June 23, 2016, 11:43:16 AM
Fair enough. I'll try with exp then, take 1000, give 500. Will be useful for training fresh chars.

You can't do that, characters cannot loose levels, traits/stats system is too complex to justify writing code for that.
Title: Re: General Discussion
Post by: DarkTl on June 23, 2016, 11:45:08 AM
I'm not talking about losing levels. They just will need more exp for the next level, assuming that it is possible to reduce exp (never tried it).
Title: Re: General Discussion
Post by: Xela on June 23, 2016, 01:11:05 PM
I'm not talking about losing levels. They just will need more exp for the next level, assuming that it is possible to reduce exp (never tried it).

It should be. I am not sure what will happen to gui if you subtract xp right after leveling up...
Title: Re: General Discussion
Post by: DarkTl on June 23, 2016, 01:43:38 PM
Done, works perfectly  :)
I also tested the exp bar, it just stays at zero progression.

I'll probably add flags to use the device on a character only once per day.
Title: Re: General Discussion
Post by: DarkTl on June 24, 2016, 07:58:49 AM
I don't like this... especially because it will mess up and make the added effects I worked for so long at for char equip screen inconsistent.
Actually, turns out it can be done elegantly enough even with jumps.
My concerns were items that restore something completely, like health. That would be eqtarget.health = eqtarget.get_max("health"), which is impossible to do with normal items system, it only can be emulated by giving 100000 health, which is not looking very good.
Title: Re: General Discussion
Post by: DarkTl on June 24, 2016, 08:16:55 AM
Hm. Could it be possible to include MC into ceffect effects if needed? I mean, when you use an item that heals everyone in the building, and even equipment screen shows that your health should be restored, but in fact it heals only characters, it looks odd. Either that, or I'll add a script that heals MC too via jump_to_label.
Title: Re: General Discussion
Post by: Xela on June 24, 2016, 12:15:02 PM
Actually, turns out it can be done elegantly enough even with jumps.
My concerns were items that restore something completely, like health. That would be eqtarget.health = eqtarget.get_max("health"), which is impossible to do with normal items system, it only can be emulated by giving 100000 health, which is not looking very good.

Why not?

Hm. Could it be possible to include MC into ceffect effects if needed? I mean, when you use an item that heals everyone in the building, and even equipment screen shows that your health should be restored, but in fact it heals only characters, it looks odd. Either that, or I'll add a script that heals MC too via jump_to_label.

I don't follow, you'll need to be more precise. What I can tell you is what I did:

Creating a "dummy":

Dummy is a copy of a PytChatacter (our base class). That is a very complex business because that class doesn't just inherit from and overwrite multiple classes, it also binds a number of class instances to itself. Dummy doesn't just make copies, it accounts for addressed of data in physical memory and makes sure originals are not messed up.

Simpler: It creates a copy of a character and applies an item to that copy, leaving the original unmolested. It also reports all effects items applies to the copy that we account for in gui. I has to do quite a bit of research to figure out how to do that best...

Since we make a copy of just the target character that we'll apply the stats to, it can be only ascertained from the description that anyone else would be effected. I am not even 100% sure that location effect is at play because the system was changed. So answer to most questions is: Yes, it's possible but the real question is it is sensible to implement.
Title: Re: General Discussion
Post by: DarkTl on June 24, 2016, 12:25:07 PM
Er, you do remember what ceffect field does, right? It is supposed to affect a group of characters. Either all, or per building. I'm not talking about dummies.
No matter where MC is, when he uses it, it should effect him too, since he's kinda in the middle of the effect. And characters cannot use such items anyway.

But even if MC is in a building, it doesn't affect him, only characters. While in some cases it's useful, in others it's not good. It can easily be fixed by jump to label that heals him too. But I wonder if you prefer a more global solution, ie changing field mechanics.

Why not?
Can't guarantee full heal for anyone who has more than 10000 hp. Doesn't matter atm, might be a problem in the future.
Title: Re: General Discussion
Post by: Xela on June 24, 2016, 05:08:12 PM
It should effect him as well. If not, I'll fix it quickly as a bug in the future.
Title: Re: General Discussion
Post by: DarkTl on June 25, 2016, 05:08:53 PM
"ceffect": "allgirls" doesn't do anything at all  :(
Title: Re: General Discussion
Post by: Xela on June 25, 2016, 06:58:46 PM
"ceffect": "allgirls" doesn't do anything at all  :(

It's an ancient design, I'll revisit it when I can.
Title: Re: General Discussion
Post by: DarkTl on June 29, 2016, 02:27:24 PM
Do you mind if I change luck limits from (-50, 50) to (-100, 100)?
Title: Re: General Discussion
Post by: Xela on June 29, 2016, 02:41:23 PM
No, but it will mess up a couple of system that are balanced for that range. MC Jobs, finding stuff, be and prolly much more, I recall us using luck quite a bit for minor modding.
Title: Re: General Discussion
Post by: DarkTl on June 30, 2016, 10:51:59 AM
I think negative luck wasn't a good idea from the viewpoint of design. We don't show min values in gui, so when a character has 0/50 or 10/50 luck, it does not look like a high value, while in fact it is.
Title: Re: General Discussion
Post by: Xela on June 30, 2016, 02:11:59 PM
I think negative luck wasn't a good idea from the viewpoint of design. We don't show min values in gui, so when a character has 0/50 or 10/50 luck, it does not look like a high value, while in fact it is.

Yeap, one of the things to note for the future, negative values are not a very bright idea... logically it makes sense but gui/code wise, not so much.
Title: Re: General Discussion
Post by: DarkTl on July 01, 2016, 08:52:37 AM
Either we shouldn't show it at all, or do it via a bar of some kind. It's not a problem if we hide it, in many games luck is a hidden stat.
Title: Re: General Discussion
Post by: Xela on July 01, 2016, 09:28:09 AM
Maybe post beta. I am trying to kill the area item effect bug and the se is not going to finish itself.
Title: Re: General Discussion
Post by: DarkTl on July 01, 2016, 12:47:22 PM
Doesn't multiple used two times atm?
First
Quote
        def get_attack(self):
            """
            Very simple method to get to attack power.
            """
            a = self.source
            if any(list(i for i in ["melee", "ranged"] if i in self.attributes)):
                attack = (a.attack + self.effect) * self.multiplier  # TODO: ADD WEAPONS EFFECTS IF THIS IS A WEAPON SKILLS.
            elif "magic" in self.attributes:
                attack = (a.magic + self.effect) * self.multiplier
            else:
                attack = self.effect + 20
            return attack   
then
Quote
        def default_damage_calculator(self, t, attack, defense, multiplier):
            damage = 0
            # Calculate damage same as usual
            if (defense < 1):
                damage = attack * 1.5
            else:
                damage = (attack/defense) + 0.5
               
            # Get a random number between 0.8 and 1.2
            rand = (random.random() * 0.4) + 0.8
            damage = int(float(damage) * multiplier * 10 * rand)
            return damage
Or they are different multipliers?
Title: Re: General Discussion
Post by: Xela on July 01, 2016, 01:00:21 PM
Code: [Select]
def effects_resolver(self, targets):
Resolved here I thing, attack first, damage later.
Title: Re: General Discussion
Post by: DarkTl on July 01, 2016, 02:45:43 PM
Huh. Not sure why, but ranged weapon attacks cannot attack back row atm. It's not how it is supposed to work.
Title: Re: General Discussion
Post by: Xela on July 02, 2016, 03:20:38 AM
Case? I used them many times...
Title: Re: General Discussion
Post by: Xela on July 02, 2016, 04:22:13 AM
Ok... so what happened with the items thing:

- When I wrote that code, items that could be applied to girls, couldn't be applied to hero so it was means for girls only, I wrote about that long time ago.

- Fields are renamed.

- "local" fields: Presently only working in buildings.
- "all" fields: Work everywhere so it's a dangerous options.
- All items engulf all characters in the "area", not just the once MC hired/bought. We may have to improve that.

- I have not tested the system, just rewrote the code.
Title: Re: General Discussion
Post by: DarkTl on July 02, 2016, 05:57:32 AM
Case? I used them many times...
Ah, it's because some of them don't have piercing=True. I thought ranged type is enough for everything.
Title: Re: General Discussion
Post by: DarkTl on July 02, 2016, 09:20:51 AM
Btw I added spells to dodge algorithm, with a bit different formula. Dodge animation can be improved a bit based on spell animation length, but looks fine for beta.
Title: Re: General Discussion
Post by: Xela on July 02, 2016, 12:31:36 PM
It's not hard to change the animation. I didn't really want ranged to pierce but it's ok.
Title: Re: General Discussion
Post by: DarkTl on July 02, 2016, 01:53:48 PM
Bad news, most mass items don't work, no matter what I do with them.
I put MC in the building just in case. Tried to change the item gender, both male and female versions don't work.

Although, we have an item with "ceffect": "allgirls", and it actually works now.

I found some interesting damage calculation formulas, gonna try to implement for BE.
Title: Re: General Discussion
Post by: Xela on July 03, 2016, 05:24:53 AM
I renamed that to allchars, we may allow other genders in the future and all the "girl" vars came from modelling WM code. I think these last errors were plain typos.


We need better damage calculations for BE, let me know if you need help figuring out what's what in the code.
Title: Re: General Discussion
Post by: Xela on July 03, 2016, 05:31:27 AM
Hmm, I think it is working... I just tested healing mist item, it worked on everyone except for MC who is male.
Title: Re: General Discussion
Post by: DarkTl on July 03, 2016, 06:30:26 AM
Well, ideally weapons and armor could use damage and resistance fields. Like, +5 fire damage or -5 physic damage. It's not required for the formula or for the beta, but it will make things more interesting.
Title: Re: General Discussion
Post by: Xela on July 03, 2016, 07:16:01 AM
That's just couple of extra fields + gui (+ Formulas for be)... we can manage it when the time comes.
Title: Re: General Discussion
Post by: DarkTl on July 03, 2016, 07:55:34 AM
Quote
                    # Magic/Attribute alignment:
                    for al in attributes:
                        # Damage first:
                        i = {}
                        # @Review: We decided that any trait should influence this:
                        for e in a.traits:
                            if al in e.el_damage:
                                i[e.id] = e.el_damage[al]
                        if i:
                            i = sum(i.values()) / len(i)
                            if i > 0.15 or i < 0.15:
                                if i > 0:
                                    effects.append("elemental_damage_bonus")
                                elif i < 0:
                                    effects.append("elemental_damage_penalty")
                            multiplier += i
                           
                        # Defence next:
                        i = {}
                        for e in t.traits:
                            if al in e.el_defence:
                                i[e.id] = e.el_defence[al]
                        if i:
                            i = sum(i.values()) / len(i)
                            # From the perspective of the attacker...
                            if i > 0.15 or i < 0.15:
                                if i > 0:
                                    effects.append("elemental_defence_penalty")
                                elif i < 0:
                                    effects.append("elemental_defence_bonus")
                            multiplier -= i
I know what it does in general, but it's too confusing for me to make sure that it works as intended, so it's up to you if something is broken here  :)
Also, in db there is a dozen or so animations for multielemental spells which probably will not work with this algorithm if we really will give them many elements.
Title: Re: General Discussion
Post by: DarkTl on July 03, 2016, 12:43:55 PM
You can see team portraits in Be testing mode or at the arena, but not if you pick escalation option from interactions menu. Is it because of prebattle quotes maybe? It should be fixed somehow anyway.
Title: Re: General Discussion
Post by: Xela on July 03, 2016, 03:27:48 PM
Hmm... that should be easy. I think you will see them when you use hero.team as the party which I assumed we always would when that is sensible to display.
Title: Re: General Discussion
Post by: DarkTl on July 03, 2016, 03:48:27 PM
All creatures, npcs and characters have portraits, no exceptions. There is no reason to hide gui for any case.
Title: Re: General Discussion
Post by: Xela on July 03, 2016, 04:53:03 PM
Auto-fighting would be one. I was thinking maybe we'll allow watching fights one day. There would be no reason to show any team. I think my reasoning was that if the MC team doesn't fight directly, showing the stats is prolly not useful, it's easy to change in either case.
Title: Re: General Discussion
Post by: DarkTl on July 04, 2016, 07:45:15 AM
In doa quest there is a fight with MC+guest character vs other character, no matter the MC team. Another case of not showing the gui.
This has to be changed.
Title: Re: General Discussion
Post by: Xela on July 04, 2016, 12:42:43 PM
In doa quest there is a fight with MC+guest character vs other character, no matter the MC team. Another case of not showing the gui.
This has to be changed.

I'll prolly add it as a conditional clause with mc team being resolved as a default.
Title: Re: General Discussion
Post by: Xela on July 04, 2016, 12:51:48 PM
New system is weird. Melee and ranged seem even more overpowering and it is possible to dodge magic (which is almost never the case anywhere). I need to test it moar, just tried the basic test setup.
Title: Re: General Discussion
Post by: DarkTl on July 05, 2016, 12:18:43 AM
I only added damage reduction, I mean the part where attack increases if attack is much more than defense, and vise versa. I think it's a decent and balanced concept, in general if attack is 100 times more than defense then attack = attack*3. And with super high defense attack goes closer to 0 (but never reaches it).

I'm still trying to implement different formulas after that part to see which one is better.

Btw if you still test it vs the goblins pack, it's not a good idea, their stats are low even at high levels. I test it vs lvl100 Warrior character.

As for dodging magic, I don't see a problem with dodging non group spells. I just don't know how to check if the spell is a group one  :)
Title: Re: General Discussion
Post by: Xela on July 05, 2016, 09:30:11 AM
It looked and felt weird but it was late when I tested :)
Title: Re: General Discussion
Post by: DarkTl on July 06, 2016, 03:27:52 AM
I have troubles with internet connection this week due to isp hardware damaged by a massive storm.
Title: Re: General Discussion
Post by: lamoli on July 08, 2016, 07:37:49 AM
Hello,


Finaly some time to get back to work.. i got a few maids/nurses but what im missing and cant find are Prostitutes reference ( with clothing on ) lol
Title: Re: General Discussion
Post by: lamoli on July 08, 2016, 10:40:37 AM
A little test with new face/hair and apron..


(https://s20.postimg.org/tmtppxoft/Apron_Test_Posed.png?2) (https://postimg.org/image/tmtppxoft/) (https://s20.postimg.org/hwfs8jvnd/Apron_Test.png) (https://postimg.org/image/hwfs8jvnd/)


This is what i wanted.. needed Ortho Camera lol


(https://s20.postimg.org/sr1to8455/Apron_Test_Posed_Ortho.png) (https://postimg.org/image/sr1to8455/)


http://2.bp.blogspot.com/-34QftT8yil0/Uiw2mRJ4KRI/AAAAAAAAAfs/ruTsiCsQdWQ/s1600/highschoolofthedead15.jpg (http://2.bp.blogspot.com/-34QftT8yil0/Uiw2mRJ4KRI/AAAAAAAAAfs/ruTsiCsQdWQ/s1600/highschoolofthedead15.jpg)
After remembering this from that anime i did that yesterday


Now that i have the time.. whats missing are designs.. to create clothes from.....
Title: Re: General Discussion
Post by: Xela on July 08, 2016, 01:44:24 PM
Nice one! I am still busy and can only write a few lines of code per day, gonna try my best to set some time aside for proper testing of code, almost everything is ready for that.
Title: Re: General Discussion
Post by: DarkTl on July 09, 2016, 06:52:16 AM
Didn't have internet at work and at home the whole week until yesterday evening, aside from expensive and slow mobile one -_-

cant find are Prostitutes reference ( with clothing on ) lol
I think something like these will do
https://www.dropbox.com/s/zju7ytf074cofk9/03A5-nn-e2-ec-c4-l2-pr.jpg?dl=0
https://www.dropbox.com/s/yuflkadbf8oaax1/0178-nn-eb-c4-l2-pr.jpg?dl=0
https://www.dropbox.com/s/uk585zchc5bun2l/0190-nn-e6-c4-l2-pr.jpg?dl=0
https://www.dropbox.com/s/vmwy9zclowz74f3/0198-nn-e5-c4-l4-le-pr-pc.jpg?dl=0
https://www.dropbox.com/s/tihn0seo3h28uby/0528-nn-ee-c4-c9-l4-le-pr.jpg?dl=0
Title: Re: General Discussion
Post by: DarkTl on July 09, 2016, 10:03:00 AM
I rebalanced fire spells to better suit new damage formula. Do not test damage against goblins, they are supposed to be the weakest creatures in the game, while you in the testing BE mode give characters big levels with max possible stats, and damage is based on the difference between attack and defense, since weapons and armor don't have pure damage and absorption stats, unlike some other games.

In fact, you could change BE testing mode to use more powerful enemies there.
Title: Re: General Discussion
Post by: lamoli on July 09, 2016, 03:47:04 PM
After some work i was able to give the real anime like eyes shape and looks...


(https://s20.postimg.org/vsxnvanll/Yui_Anime_Eyes.png) (https://postimg.org/image/vsxnvanll/)
Title: Re: General Discussion
Post by: lamoli on July 09, 2016, 03:54:07 PM
Didn't have internet at work and at home the whole week until yesterday evening, aside from expensive and slow mobile one -_-
I think something like these will do
https://www.dropbox.com/s/zju7ytf074cofk9/03A5-nn-e2-ec-c4-l2-pr.jpg?dl=0 (https://www.dropbox.com/s/zju7ytf074cofk9/03A5-nn-e2-ec-c4-l2-pr.jpg?dl=0)
https://www.dropbox.com/s/yuflkadbf8oaax1/0178-nn-eb-c4-l2-pr.jpg?dl=0 (https://www.dropbox.com/s/yuflkadbf8oaax1/0178-nn-eb-c4-l2-pr.jpg?dl=0)
https://www.dropbox.com/s/uk585zchc5bun2l/0190-nn-e6-c4-l2-pr.jpg?dl=0 (https://www.dropbox.com/s/uk585zchc5bun2l/0190-nn-e6-c4-l2-pr.jpg?dl=0)
https://www.dropbox.com/s/vmwy9zclowz74f3/0198-nn-e5-c4-l4-le-pr-pc.jpg?dl=0 (https://www.dropbox.com/s/vmwy9zclowz74f3/0198-nn-e5-c4-l4-le-pr-pc.jpg?dl=0)
https://www.dropbox.com/s/tihn0seo3h28uby/0528-nn-ee-c4-c9-l4-le-pr.jpg?dl=0 (https://www.dropbox.com/s/tihn0seo3h28uby/0528-nn-ee-c4-c9-l4-le-pr.jpg?dl=0)


Hmm thats the thing.. i found about the same but didnt look great enough.. i guess whats wrong for me is no there is set in stone lol.. like is that jeans short realy ok for any prostitutes in game ? or do we need a buch of different ones.. but will looks strange if all grouped together.. not sure..


I was thinking something with long gloves stockings/garter-belt as for the main body part i cant decide.. same for the accessory...


I will look in items and try to compile something close to the item img we got already.. so we could wear them
Title: Re: General Discussion
Post by: DarkTl on July 09, 2016, 06:04:59 PM
By all means, here are some a bit more formal ones  :)
https://www.dropbox.com/s/0uk2uduai9j5w9f/0194-nn-e5-ec-c2-c4-l2-pr.jpg?dl=0 (https://www.dropbox.com/s/0uk2uduai9j5w9f/0194-nn-e5-ec-c2-c4-l2-pr.jpg?dl=0)
https://www.dropbox.com/s/8896bwl0vnkqhjo/00EA-nn-e2-c2-c4-l2-pr.jpg?dl=0 (https://www.dropbox.com/s/8896bwl0vnkqhjo/00EA-nn-e2-c2-c4-l2-pr.jpg?dl=0)
https://www.dropbox.com/s/82gyagag7b9epf9/0136-nn-e1-c2-c4-l2-pr.jpg?dl=0 (https://www.dropbox.com/s/82gyagag7b9epf9/0136-nn-e1-c2-c4-l2-pr.jpg?dl=0)
https://www.dropbox.com/s/te30wstu652rscy/002C-nn-e6-c2-c4-l2-pr.jpg?dl=0 (https://www.dropbox.com/s/te30wstu652rscy/002C-nn-e6-c2-c4-l2-pr.jpg?dl=0)

I don't recall many garter-belts in my packs, artists probably don't like that stuff.
Title: Re: General Discussion
Post by: Janmaba on July 09, 2016, 06:37:29 PM
Are you thinking something like this?
https://www.dropbox.com/s/wkog4qwmwscn5cg/sample-73cc4683401382a2cc1112efdc794d3d.jpg?dl=0
Title: Re: General Discussion
Post by: lamoli on July 09, 2016, 09:37:25 PM
Are you thinking something like this?
https://www.dropbox.com/s/wkog4qwmwscn5cg/sample-73cc4683401382a2cc1112efdc794d3d.jpg?dl=0 (https://www.dropbox.com/s/wkog4qwmwscn5cg/sample-73cc4683401382a2cc1112efdc794d3d.jpg?dl=0)


Yes closer to that but even higher class lol.. ( still looks like the average type there ) but i think with that and Dark more formal reference im getting closer )


Maybe im wrong but that type suits better the general pytfall environment ( backgrounds iv seen so far ) but of course when you have unique girls coming from across time and space ( they will have their own outfit types )
Title: Re: General Discussion
Post by: DarkTl on July 10, 2016, 08:09:26 AM
Skills and spells now use mp_cost, health_cost and vitality_cost instead of just cost. BE gui shows all cost when you select a spell. Also, if cost is not an integer, it serves as a relative value, ie health_cost=0.5 means 50% of max health.

You should add the same tooltips for normal attacks too btw, atm it only shows them for spells. I added a small vitality cost to them, so it's kinda important.

I capped health cost at 90% just in case. If 100% is used, the character dies, but BE doesn't clear him/her out, so additional coding will be needed for it if we'll have suicidal skills.
Title: Re: General Discussion
Post by: lamoli on July 10, 2016, 12:36:58 PM
Not sure if ppl hate garter-belts maybe so few decent artist draw those so they are rare or not included in packs..


5 different types to start with..


(https://s20.postimg.org/nj3exx0c9/ProType1.png) (https://postimg.org/image/nj3exx0c9/)(https://s20.postimg.org/v0cmd4pvd/ProType2.png) (https://postimg.org/image/v0cmd4pvd/)(https://s20.postimg.org/cythfbvuh/ProType3.png) (https://postimg.org/image/cythfbvuh/)(https://s20.postimg.org/ksu30q3nd/ProType4.png) (https://postimg.org/image/ksu30q3nd/)(https://s20.postimg.org/b9ke79g55/ProType5.png) (https://postimg.org/image/b9ke79g55/)


Can modify gloves / stockings at will as they use transparency/occlusion map to reveal/hide the parts.. also could be any type of material ( cotton/lace/leather/latex ) this is also true for the body items as all use transparency/occlusion to change how clothing looks like


I do like Black clothing.. i did change 1 to another color.. but i can give all the color you want if needed lol
Title: Re: General Discussion
Post by: DarkTl on July 10, 2016, 02:20:24 PM
Yeap. they look awesome. I don't like the violet one much, maybe red or white will be better.
Title: Re: General Discussion
Post by: lamoli on July 11, 2016, 05:53:49 AM
Ok.. well atm other than those i have nothing that could fit the job description better.. ( i do have some more causal looking like ones that could do but rather save em for causal composition  ) will they do at start ? also they still seem to be lacking.. any idea on that i could add or change ?


Also once theyr ok i need to rework them from scratch for Vertex/weight/morphs/.. so let me know
Title: Re: General Discussion
Post by: DarkTl on July 11, 2016, 12:56:31 PM
Lacking? No, I don't think so. If you want, you can make less transparent version with a different form, like https://www.dropbox.com/s/0uk2uduai9j5w9f/0194-nn-e5-ec-c2-c4-l2-pr.jpg?dl=0 (https://www.dropbox.com/s/0uk2uduai9j5w9f/0194-nn-e5-ec-c2-c4-l2-pr.jpg?dl=0)
It's not transparent but it shows enough skin, thus still suitable for whoring.
Title: Re: General Discussion
Post by: lamoli on July 12, 2016, 04:48:23 AM
Yes i will make this 1.. looks good enough for lower class whore.. since we have jobs lvl/ranks this could be good to see a difference between higher class and lower one
Title: Re: General Discussion
Post by: lamoli on July 13, 2016, 12:49:29 PM
Some dimensions arent right but with the body shape so different its hard to get it right lol

(https://s20.postimg.org/afnkq6ku1/LowProsTest.png) (https://postimg.org/image/afnkq6ku1/)(https://s20.postimg.org/7o4azkmbd/LowProsTestBack.png) (https://postimg.org/image/7o4azkmbd/)

Something looks strange in the lower end of skirt i think.. not sure

hmm and now host changed their thumb sizes lol >.<
Title: Re: General Discussion
Post by: DarkTl on July 13, 2016, 01:42:33 PM
Something is wrong with shadows on her back, I think. Other than that, looks great.
Title: Re: General Discussion
Post by: lamoli on July 13, 2016, 02:12:06 PM
I rotated model rather than camera so shadow doesnt come from where is should be for a back side


If you mean the strange shadow on her back where dress is open its shadow from the hair >.<
Title: Re: General Discussion
Post by: DarkTl on July 13, 2016, 02:26:23 PM
Ah, I see. Yeah, from this angle the right part of the shadow doesn't look like her hairstyle  :)

Xela, take a look at be\core.rpy. Healing spells somehow were broken during rewriting formulas, "with get_attributes_multiplier() takes exactly 4 arguments (3 given)".
Title: Re: General Discussion
Post by: Xela on July 13, 2016, 03:45:07 PM
Xela, take a look at be\core.rpy. Healing spells somehow were broken during rewriting formulas, "with get_attributes_multiplier() takes exactly 4 arguments (3 given)".

You've needlessly added an extra argument which was a property of the class. It should now work.
Title: Re: General Discussion
Post by: DarkTl on July 14, 2016, 05:07:21 AM
Yeap. Too bad you also canceled all my pushes for the last 4 days or so with "Git went crazy" commit.
Title: Re: General Discussion
Post by: Xela on July 14, 2016, 07:38:58 AM
Too bad you also canceled all my pushes for the last 4 days or so with "Git went crazy" commit.

I thought I just reverted on a merge, gonna take a look into that tonight.
Title: Re: General Discussion
Post by: lamoli on July 14, 2016, 08:23:25 AM
More Detail ( cloth warps around rings and edge has different color and thickness )


(https://s20.postimg.org/gon58d3i1/LowProsTestV2.png) (https://postimg.org/image/gon58d3i1/)(https://s20.postimg.org/cgsczm22h/Low_Pros_Test_Back_V2.png) (https://postimg.org/image/cgsczm22h/)
Title: Re: General Discussion
Post by: lamoli on July 14, 2016, 10:18:41 AM
Hmm anyone has Nuse picture ( Hats, shoes, dress ) ? im going to do those next
Title: Re: General Discussion
Post by: DarkTl on July 14, 2016, 10:49:01 AM
I thought I just reverted on a merge, gonna take a look into that tonight.
I restored my code, but I think you reverted the wrong part. Changes for buildings rpys remained intact, while BE files reset, you probably wanted it the other way.

More Detail ( cloth warps around rings and edge has different color and thickness )
Looks awesome.

Hmm anyone has Nuse picture ( Hats, shoes, dress ) ? im going to do those next
https://www.dropbox.com/sh/5g068hvjr3j27am/AADOA2tJimjUY850VE9mnApIa?dl=0
Title: Re: General Discussion
Post by: lamoli on July 15, 2016, 09:47:55 PM
Attempt at nurse outfit..


(https://s20.postimg.org/hbdtwovzt/Nurse1.png) (https://postimg.org/image/hbdtwovzt/)(https://s20.postimg.org/it3vlzq49/Nurse1Back.png) (https://postimg.org/image/it3vlzq49/)


Not sure if the stockings need to be higher or not.. also i have a few cap models im gonna try later on for shoes its sandals i guess..


(https://s20.postimg.org/9mq6cga9l/Nurse1Hat1.png) (https://postimg.org/image/9mq6cga9l/)(https://s20.postimg.org/rqt6x37y1/Nurse1Hat1Back.png) (https://postimg.org/image/rqt6x37y1/)(https://s20.postimg.org/3ocd27rax/Nurse1Hat2.png) (https://postimg.org/image/3ocd27rax/)(https://s20.postimg.org/tl61etuyh/Nurse1Hat2Back.png) (https://postimg.org/image/tl61etuyh/)(https://s20.postimg.org/6z0q23h89/Nurse1_Sandals.png) (https://postimg.org/image/6z0q23h89/)


Type2..


(https://s20.postimg.org/6vpqo6m7t/Nurse2.png) (https://postimg.org/image/6vpqo6m7t/)(https://s20.postimg.org/vdhuc2os9/Nurse2Back.png) (https://postimg.org/image/vdhuc2os9/)(https://s20.postimg.org/wttcu7rp5/Nurse2Hat1.png) (https://postimg.org/image/wttcu7rp5/)(https://s20.postimg.org/j1exyl0xl/Nurse2Hat1Back.png) (https://postimg.org/image/j1exyl0xl/)
Title: Re: General Discussion
Post by: lamoli on July 16, 2016, 09:31:03 AM
Hmm i think ill stick to those 2 atm and do Maid / Waitress now.. if you have samples it would help
Title: Re: General Discussion
Post by: DarkTl on July 16, 2016, 02:05:37 PM
Maid outfits are more common compared to nurses... https://www.dropbox.com/sh/pbpr65f6o1zkaa9/AAC-32WBK5yltn5f5UP6nZawa?dl=0 (https://www.dropbox.com/sh/pbpr65f6o1zkaa9/AAC-32WBK5yltn5f5UP6nZawa?dl=0)

For healing pictures nurses might also have medical equipment too, such as a syringe or microstethophone.
Title: Re: General Discussion
Post by: lamoli on July 16, 2016, 02:53:36 PM
i got some emergency bags syringe and stethoscope ready to be used if needed
Title: Re: General Discussion
Post by: lamoli on July 16, 2016, 03:41:50 PM
What are the current jobs in game ( Rest - Whore - Service - Guard ) ?
Title: Re: General Discussion
Post by: DarkTl on July 16, 2016, 04:27:27 PM
Rest - Whore - Service - Guard
+ Stripper and Manager. Service can be waitress or cleaner. Guards can be warriors, mages, or assassins.
Title: Re: General Discussion
Post by: lamoli on July 16, 2016, 06:38:38 PM
OK here same with more stuff on..


(https://s20.postimg.org/7m9a2h9tl/Nurse2_Acc.png) (https://postimg.org/image/7m9a2h9tl/)


Ok so i need stripper/manager/Maid/Waitress clothing and for Warrior.. some cloth ( wiz robe ) leather armor ( assassin ) metal light armor ( warrior )
Title: Re: General Discussion
Post by: DarkTl on July 17, 2016, 09:05:46 AM
Cleaners and waitresses just do different tasks, ie https://www.dropbox.com/s/2z41djgra1g7023/049F-nn-e2-e5-cc-l2-aj.jpg?dl=0 and https://www.dropbox.com/s/2524dkv8szk2a60/0228-nn-e6-cc-l2-a3.jpg?dl=0
Managers don't have special pics, it's hard to find or even imagine a picture of manager at work. I thought about using confident profile pictures for them, or backgroundless pictures with working cabinet background.

Warriors https://www.dropbox.com/s/jp4lg1xxuak639n/0010-nn-e2-ca-l2-pb.jpg?dl=0 https://www.dropbox.com/s/i20vr5q918bce7n/0550-nn-e2-ca-l2-pb.jpg?dl=0 https://www.dropbox.com/s/wvi2915hw8v7af1/026E-nn-e2-ca-l2-pr-pb.jpg?dl=0 https://www.dropbox.com/s/hfbhyzhmso1wkpi/020E-nn-e5-c4-ca-l2-pb.jpg?dl=0 https://www.dropbox.com/s/ytp6yrsgkqlv79u/00A4-nn-e6-ca-l2-pb.jpg?dl=0
Assassins https://www.dropbox.com/s/8jrnw9mogzowg8h/0114-nn-e2-e5-ca-l2-pr-pb.jpg?dl=0 https://www.dropbox.com/s/ne0huf9cr0w24d0/027E-nn-e6-ca-l2-pr-pb.jpg?dl=0 https://www.dropbox.com/s/n1uppui8p25d8iy/0059-nn-e6-ca-l2-pr-pb.jpg?dl=0 https://www.dropbox.com/s/r7y4nuxn582j5ry/002B-nn-e5-ca-l2-pb.jpg?dl=0 https://www.dropbox.com/s/3qqbehadp62y98e/00B6-nn-e6-z2-ca-l3-l9-pb-a8.jpg?dl=0 https://www.dropbox.com/s/5h0oacnw9qmcxic/0060-nn-e2-ca-l2-pb.jpg?dl=0
Mages https://www.dropbox.com/s/e4ugvd0loervxl5/0261-nn-e2-ca-l2-pb.jpg?dl=0 https://www.dropbox.com/s/oqs99xh6y2h69ix/00C0-nn-e2-ca-l2-pr-pa-pb.jpg?dl=0 https://www.dropbox.com/s/8wj0ru0adcdrev7/000B-nn-e2-e5-l1-ab.png?dl=0 https://www.dropbox.com/s/bimwh2mj4oku0b8/00F3-nn-e2-ca-l3-la-lc-pb-ab.jpg?dl=0 https://www.dropbox.com/s/672okgaq3mvbxz0/008D-nn-e6-c2-l2-pr-ab.jpg?dl=0

I recall you mentioned that you can use armor from Tera too if needed. If you don't like my examples, you can use Tera armors instead, they all are pretty good.

Strippers usually have no clothes or only a little, like revealing swimsuit/lingerie. Like https://www.dropbox.com/s/w15cg68ko1xvgww/01C2-nd-e5-c9-l2-a1.jpg?dl=0 or https://www.dropbox.com/s/rxpnql3t44jqkf5/00DF-nd-ec-cb-l8-a1.jpg?dl=0
However any act of stripping, no matter clothes, is fine.
Background however is very important here. Simple background or, even better, stage background is suitable for the job. While for example living room background can be used for private events, but not for for the job itself, since it's hard to imagine how all customers sit in the girl room.
Title: Re: General Discussion
Post by: DarkTl on July 17, 2016, 10:59:24 AM
Xela, are you sure about vitality always at 300 no matter the level?
Title: Re: General Discussion
Post by: Xela on July 17, 2016, 11:29:12 AM
Xela, are you sure about vitality always at 300 no matter the level?

Balancing will be a nightmare as things are now, mess with vitality and we'll need a professor of mathematics to come up with the formulas :D
Title: Re: General Discussion
Post by: DarkTl on July 17, 2016, 12:22:35 PM
Quote
            stats = {
                'charisma': [0, 0, 100, 60],
                'libido': [0, 0, 100, 100],
                'constitution': [0, 0, 60, 40],
                'joy': [0, 0, 100, 200],
                'character': [0, 0, 100, 60],
                'reputation': [0, 0, 100, 100],
                'health': [100, 0, 100, 200],
                'fame': [0, 0, 100, 60],
                'mood': [0, 0, 1000, 1000],
                'disposition': [0, -1000, 1000, 1000],
                'vitality': [300, 0, 300, 500],
                'intelligence': [0, 0, 100, 60],

                'luck': [0, -50, 50, 50],

                'attack': [0, 0, 60, 40],
                'magic': [0, 0, 40, 30],
                'defence': [0, 0, 50, 40],
                'agility': [0, 0, 35, 25],
                'mp': [0, 0, 40, 30]
Remind me the meaning of this dict. It's about mines and maxes, but it has no comments, so I don't remember what is what.

Wait a sec, it's a legacy code. We have no mood or libido. My bad.
Title: Re: General Discussion
Post by: lamoli on July 18, 2016, 11:36:32 AM
hmm realy hard to find waitress that doesn't look like maids..


(https://s20.postimg.org/siaq52ozd/Waitress1.png) (https://postimg.org/image/siaq52ozd/)(https://s20.postimg.org/oafxwbnjt/Waitress1Back.png) (https://postimg.org/image/oafxwbnjt/)


Need improvements.. maybe a choker could be good on the neck, also i should do 1 more like in your example as well
Title: Re: General Discussion
Post by: DarkTl on July 18, 2016, 12:23:57 PM
It's not important, waitress is like a subclass for maid. Usual maid uniform is suitable as well, the important part is tools, ie a tray with food/drinks.
Title: Re: General Discussion
Post by: Xela on July 18, 2016, 01:25:10 PM
Remind me the meaning of this dict. It's about mines and maxes, but it has no comments, so I don't remember what is what.

Wait a sec, it's a legacy code. We have no mood or libido. My bad.

Quote
[stat, min, max, lvl_max] as value.

This, comments are in the stats class, it's 300 lines by itself, we really went over the board there :)
Title: Re: General Discussion
Post by: lamoli on July 18, 2016, 01:44:25 PM
Another Waitress type..


(https://s20.postimg.org/5buz3e7eh/Waitress2.png) (https://postimg.org/image/5buz3e7eh/)(https://s20.postimg.org/uj5v3naih/Waitress2Back.png) (https://postimg.org/image/uj5v3naih/)
Title: Re: General Discussion
Post by: DarkTl on July 18, 2016, 02:33:32 PM
This, comments are in the stats class, it's 300 lines by itself, we really went over the board there :)
Why there are two similar dicts for stats in the same file, with different numbers?

Another Waitress type
Looks great  :)
Title: Re: General Discussion
Post by: lamoli on July 18, 2016, 02:40:47 PM
Base Maid model ( Used to make more and waitress subclass )


(https://s20.postimg.org/rip0n3z7d/BaseMaid1.png) (https://postimg.org/image/rip0n3z7d/)(https://s20.postimg.org/k3zouqdbt/BaseMaid1Back.png) (https://postimg.org/image/k3zouqdbt/)


i could make another from a picture you chose.. but after i do the stripper / warrior
Title: Re: General Discussion
Post by: Xela on July 19, 2016, 10:26:38 AM
Why there are two similar dicts for stats in the same file, with different numbers?

Maybe separate setups for different types of chars (mc, girls, mobs, fighters, etc.).
Title: Re: General Discussion
Post by: lamoli on July 19, 2016, 02:25:42 PM
Old pose with curtain pole/stage


(https://s20.postimg.org/sr460mtbt/Strip_Old_Pose.png) (https://postimg.org/image/sr460mtbt/)


No vollumetrics ( takes too long to adjust smoke / dust in air ) and rather make the rest of the clothes first


Working on the pose that goes with the clothes from the rederence picture Atm.. will update soon


(https://s20.postimg.org/iwd0uepdl/Strip_Old_Pose1.png) (https://postimg.org/image/iwd0uepdl/)


From https://cs.sankakucomplex.com/data/26/23/26231e5249ac2c059671686bd7f1b868.jpg?1799295 (https://cs.sankakucomplex.com/data/26/23/26231e5249ac2c059671686bd7f1b868.jpg?1799295)


Mirco Bikini Type 1 & 2


(https://s20.postimg.org/55hqjof7d/Strip_Old_Pose1_Dress2.png) (https://postimg.org/image/55hqjof7d/)(https://s20.postimg.org/nrkhxwruh/Strip_Old_Pose1_Dress3.png) (https://postimg.org/image/nrkhxwruh/)
Title: Re: General Discussion
Post by: Ersael on July 24, 2016, 04:34:52 AM
Hello everybody. I downloaded the game here   https://github.com/Xela00/PyTFall
, but in the archive there is no .exe file or something like that. How and whether you can run the game?
Title: Re: General Discussion
Post by: Xela on July 24, 2016, 04:47:32 AM
Hello everybody. I downloaded the game here   https://github.com/Xela00/PyTFall
, but in the archive there is no .exe file or something like that. How and whether you can run the game?

It's a dev kit, it's not ready for gaming... you'll need renpy sdk and packs with pictures of characters to try.
Title: Re: General Discussion
Post by: Ersael on July 24, 2016, 04:54:46 AM
So, you can play only in the Alpha here in the forum? And thank you for your answers!
Title: Re: General Discussion
Post by: Xela on July 24, 2016, 05:59:46 AM
Yeap... loads have been added since then but we have never tuned it to proper gameplay. I need to wrap up "Simulated Exploration" module which is getting into pretty good shape (admittedly really, really slowly).

After that, there are a bunch of loose ends and making sure that all the new events and quests are working. We've also been talking about adding more attacks to BE, there is a lot of magic but only one/two base attack per character.
Title: Re: General Discussion
Post by: Xela on July 24, 2016, 06:01:06 AM
...

Tis getting better and better... It now does look a lot like it was drawn!
Title: Re: General Discussion
Post by: lamoli on July 25, 2016, 10:23:09 AM
Hmm not so easy to make metal armor parts..( didnt adjust every body-part shape to match ref picture but still looks alright )


(https://s20.postimg.org/98z00krcp/Knight1.png) (https://postimg.org/image/98z00krcp/)


From https://cs.sankakucomplex.com/data/1a/ea/1aea43f460d9e2c4a5592aa05d827e10.jpg?2376821 (https://cs.sankakucomplex.com/data/1a/ea/1aea43f460d9e2c4a5592aa05d827e10.jpg?2376821)
And with more tweaking ( time i done have now ) clothing/reflection effect and movement for https://cs.sankakucomplex.com/data/e5/4d/e54da81b1deabf6045fbefe96616e86f.jpg?4398171 (https://cs.sankakucomplex.com/data/e5/4d/e54da81b1deabf6045fbefe96616e86f.jpg?4398171)


But managed to get the general shapes.. whats missing are.. no idear whats on the top on the hands ( from below i can see cloves till mid fingers and metal rings for some armor par on top of the hands ) and neck part i somehow need to imagine whats under that neck tie lol


I could add the printing where its missing on the clothing later on
Title: Re: General Discussion
Post by: lamoli on July 26, 2016, 02:08:19 AM
Well looks like it would take less time and better end result to adapt premade armors from others games like Tera/Bless/... that way i could have more of em and faster..


The time consuming part is to have to imagine whats on the other side or whats under ( im bad at those.. ) so something like this would be simpler for me to work with.. or 3d
https://cs.sankakucomplex.com/data/3a/2b/3a2be7446c108e1884d9284bf49178f1.jpg?5362919 (https://cs.sankakucomplex.com/data/3a/2b/3a2be7446c108e1884d9284bf49178f1.jpg?5362919)


Hmm well thats after i break every part to lowest ploy number and remake the topology ( so im making the armor but use those as base shape ) witch make it my version of the original design..


For the textures i need someone to rework them ( im not good at all with 2D editing )


If we do that we could get lots or armor samples and possibly mix some parts to make our original armor creations lol


Waiting on your word to start...
Title: Re: General Discussion
Post by: Xela on July 26, 2016, 04:54:34 AM
Waiting on your word to start...

I would not bother, armor is not worth it.

===>>
Do you keep track of tags you took out already? How far are you from a basic pack? Quality is already great, it's been perfectly fine for a long time.
Title: Re: General Discussion
Post by: lamoli on July 26, 2016, 06:41:48 AM
Hmm other than Matron and warrior and casual i got whats needed for a pack.. thats why im focusing on armor now...

Dark said Matron will probably something from profile ( casual ) unless we can define how it looks like

Im not too worried about casual as i should have enough there to make something.. the important part that is missing now are armors for guard job
Title: Re: General Discussion
Post by: lamoli on July 26, 2016, 07:01:28 AM
Also if i make armor i can make arena sprites even with attack movements ( so i need heavy/metal, med/leather, light/robe )


At first to simplify thing we should make the body part defining how the general appearance looks like.. i can make a full set for that.. so even if you have leather glove in equipment slot and armor is full metal its metal gloves that will be seen ( but with time we could improve that )
Title: Re: General Discussion
Post by: DarkTl on July 26, 2016, 07:03:55 AM
The premade armors/clothes are awesome. I never played those games, but I played Skyrim with mods for armor/clothes from those games, so I know for sure how cool they are. If it's faster and easier to convert them than create armors/clothes based on pictures, why not.
Title: Re: General Discussion
Post by: lamoli on July 26, 2016, 07:10:40 AM
Dark i know you did select a few in the past but it was for general clothes.. can you do the same for the 3 armor types i need for warrior class ?


http://moogleoutfitters.deviantart.com/gallery/ (http://moogleoutfitters.deviantart.com/gallery/)
http://armachamcorp.deviantart.com/gallery/ (http://armachamcorp.deviantart.com/gallery/)
Or others from that site..


Female first ill do male ones later on.. ( also something thats not from known character.. unless its generic enough to be used on anyone )
Title: Re: General Discussion
Post by: lamoli on July 26, 2016, 07:26:28 AM
The premade armors/clothes are awesome. I never played those games, but I played Skyrim with mods for armor/clothes from those games, so I know for sure how cool they are. If it's faster and easier to convert them than create armors/clothes based on pictures, why not.


Well its not really faster but simpler for me as i get the general shape.. then i need to remove any thickness then transform manually triangles into quads or 5 sides n-gons then decimate up to simplest mesh and from there remake topology that will make it look awesome in HD ( with subdivisions ) and if needed like for armors i add thickness where its needed..


Also having a quad based model is whats needed to make animations ( for later on so its not a waste of time )


Edit:
Correction. even with all those steps i could probably do it up to 3 times faster lol (as i wont have to try and adjust every part shape/proportion and wont have to guess what it looks like on the back side )
Title: Re: General Discussion
Post by: lamoli on July 26, 2016, 07:29:39 AM
Also for the arena.. do you have animation for the sprites ? like idle animation, slash, arrow/gun shooting ?


If you dont have it yet but plan on having those let me know
Title: Re: General Discussion
Post by: DarkTl on July 26, 2016, 08:17:40 AM
Sprites themselves are just pngs or png strips. We animate them by moving them, like during dodging they kinda jump back and then return to original position. For casting spells we have special magic-like animations, like magic circles and stuff, which we show near characters sprites before showing spells in action. When spell hits a sprite, it can shake or for example temporarily change texture to ice for ice spells. When a weapon hits a sprite, we show small animation based on the type of the weapon, like slash for swords.

If you mean stuff like moving sprite hands/feet/etc., it's too advanced for us. After all, there are also mobs sprites, and if we decide to animate characters, same should be done with all mobs, and that's a lot of work. Especially since many mobs are not humanoids, so they can't use the same animations.

Dark i know you did select a few in the past but it was for general clothes.. can you do the same for the 3 armor types i need for warrior class ?
Hang on, it will take some time.
Title: Re: General Discussion
Post by: Xela on July 26, 2016, 08:54:18 AM
Also for the arena.. do you have animation for the sprites ? like idle animation, slash, arrow/gun shooting ?


If you dont have it yet but plan on having those let me know

I'd put it on the back-burner. System is all setup so I can make animated sprites work without delaying game development, it'll be expanding existing code, not writing a new one.

There are no plans to animate characters because it'll count up to hundreds (if not thousands) of animations. Something like that would work for a more limited design, not PyTFall.

===>>
I'd love to see at least one custom made random girl, anything that delays that is a hindrance :) Don't forget that facial expressions are also needed or the pack will look out of place (it may take time to setup, portraits at least would be a welcome add-on, all pics would be an overkill and not really required).
Title: Re: General Discussion
Post by: DarkTl on July 26, 2016, 09:43:01 AM
Mage
http://moogleoutfitters.deviantart.com/art/TERA-Online-Nylaathria-485243746 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Nylaathria-485243746)
http://moogleoutfitters.deviantart.com/art/Bless-Online-Dalavesta-610138718?q=gallery%3AMoogleOutFitters%2F45789277&qo=71 (http://moogleoutfitters.deviantart.com/art/Bless-Online-Dalavesta-610138718?q=gallery%3AMoogleOutFitters%2F45789277&qo=71)
http://moogleoutfitters.deviantart.com/art/TERA-Online-Niquesse-470737445 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Niquesse-470737445)
http://moogleoutfitters.deviantart.com/art/TERA-Online-Ioreth-511015185 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Ioreth-511015185)
http://moogleoutfitters.deviantart.com/art/Dynasty-Warriors-Zhen-Ji-School-Costume-619307420?q=gallery%3AMoogleOutFitters%2F45789277&qo=16 (http://moogleoutfitters.deviantart.com/art/Dynasty-Warriors-Zhen-Ji-School-Costume-619307420?q=gallery%3AMoogleOutFitters%2F45789277&qo=16)

Assassin
http://moogleoutfitters.deviantart.com/art/TERA-Online-Umineko-584970838 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Umineko-584970838)
http://moogleoutfitters.deviantart.com/art/Samurai-Warriors-Kunoichi-SW3-594627828 (http://moogleoutfitters.deviantart.com/art/Samurai-Warriors-Kunoichi-SW3-594627828)
http://moogleoutfitters.deviantart.com/art/Dynasty-Warriors-Bao-Sanniang-DW7-Costume-561000501 (http://moogleoutfitters.deviantart.com/art/Dynasty-Warriors-Bao-Sanniang-DW7-Costume-561000501)
http://moogleoutfitters.deviantart.com/art/Warriors-Orochi-Kasumi-Costume-2-613877079?q=gallery%3AMoogleOutFitters%2F45789277&qo=49 (http://moogleoutfitters.deviantart.com/art/Warriors-Orochi-Kasumi-Costume-2-613877079?q=gallery%3AMoogleOutFitters%2F45789277&qo=49)
http://moogleoutfitters.deviantart.com/art/TERA-Online-Samael-549237651?q=gallery%3AMoogleOutFitters%2F45789277&qo=285 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Samael-549237651?q=gallery%3AMoogleOutFitters%2F45789277&qo=285) (a male version, but nothing prevents it from be used for females after changing figure)
http://moogleoutfitters.deviantart.com/art/Human-Gauntlet-ArmorG6-Model-551650487 (http://moogleoutfitters.deviantart.com/art/Human-Gauntlet-ArmorG6-Model-551650487)

Warrior
http://moogleoutfitters.deviantart.com/art/TERA-Online-Nayena-603162912?q=gallery%3AMoogleOutFitters%2F45789277&qo=72 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Nayena-603162912?q=gallery%3AMoogleOutFitters%2F45789277&qo=72)
http://moogleoutfitters.deviantart.com/art/TERA-Online-Zaphira-603163025 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Zaphira-603163025)
http://moogleoutfitters.deviantart.com/art/TERA-Online-Petra-531745631 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Petra-531745631)
http://moogleoutfitters.deviantart.com/art/Asker-Online-Sandrine-545448863?q=gallery%3AMoogleOutFitters%2F45789277&qo=288 (http://moogleoutfitters.deviantart.com/art/Asker-Online-Sandrine-545448863?q=gallery%3AMoogleOutFitters%2F45789277&qo=288)
http://moogleoutfitters.deviantart.com/art/Bless-Online-Miriel-custom-female-Elf-448232017 (http://moogleoutfitters.deviantart.com/art/Bless-Online-Miriel-custom-female-Elf-448232017)
http://sticklove.deviantart.com/art/Bless-Online-Tinuviel-custom-female-Elf-448237533 (http://sticklove.deviantart.com/art/Bless-Online-Tinuviel-custom-female-Elf-448237533)
Title: Re: General Discussion
Post by: DarkTl on July 26, 2016, 09:43:31 AM
Xela, could you add support for AP changing for traits?
Title: Re: General Discussion
Post by: Xela on July 26, 2016, 12:11:51 PM
Xela, could you add support for AP changing for traits?

That will be overwhelmingly powerful. It's not likely to be a good idea, not mentioning that you can adjust constitution as it is.
Title: Re: General Discussion
Post by: DarkTl on July 26, 2016, 12:37:05 PM
I want it only for the body traits. Lighter body type will provide a bit less vitality but a bit more AP. Constitution in this case is not suitable, it destroys the meaning of this change.
Title: Re: General Discussion
Post by: Xela on July 26, 2016, 02:02:54 PM
I want it only for the body traits. Lighter body type will provide a bit less vitality but a bit more AP. Constitution in this case is not suitable, it destroys the meaning of this change.

I can prolly adapt the system to work with AP as well but still, you cannot add "little" bit AP, steps in AP are huge compared to steps in vitality.
Title: Re: General Discussion
Post by: Xela on July 26, 2016, 02:16:21 PM
Sh!t... new rp update messed up positioning again. Means even more work :(
Title: Re: General Discussion
Post by: lamoli on July 26, 2016, 02:46:41 PM
I forgot to ask for the pack to be complete im missing expressions ( character head left of text window also if you have something define for profile image dimensions )and battle sprites.. can you give me the exact size you use for those as i would really dislike seeing my work distorted with resize..
Title: Re: General Discussion
Post by: Xela on July 26, 2016, 03:31:47 PM
I forgot to ask for the pack to be complete im missing expressions ( character head left of text window also if you have something define for profile image dimensions )and battle sprites.. can you give me the exact size you use for those as i would really dislike seeing my work distorted with resize..

Code: [Select]
self.show("portrait", resize=(120, 120))
Portraits are resized to these dimensions. Nothing is done to them if they are already this size. VN Sprites and BE Sprites have three sizes for chars of different height:

Code: [Select]
        def get_sprite_size(self, tag="vnsprite"):
            # First, lets get correct sprites:
            if tag == "battle_sprite":
                if self.height == "average":
                    resize = (200, 180)
                elif self.height == "tall":
                    resize = (200, 200)
                elif self.height == "short":
                    resize = (200, 150)
                else:
                    devlog.warning("Unknown height setting for %s" % self.id)
                    resize = (200, 180)
            elif tag == "vnsprite":
                if self.height == "average":
                    resize = (1000, 520)
                elif self.height == "tall":
                    resize = (1000, 600)
                elif self.height == "short":
                    resize = (1000, 400)
                else:
                    devlog.warning("Unknown height setting for %s" % self.id)
                    resize = (1000, 500)
            else:
                raise Exception("get_sprite_size got unknown type for resizing!")
            return resize

You can take a look what poses you'd consider best for these, you will get 10 different opinions from 10 people I think :) Most of what we fit really well, except for a couple of sprites that stand in weird poses making them look off-scale but that cannot be helped.
Title: Re: General Discussion
Post by: lamoli on July 26, 2016, 05:16:46 PM

http://moogleoutfitters.deviantart.com/art/TERA-Online-Samael-549237651?q=gallery%3AMoogleOutFitters%2F45789277&qo=285 (http://moogleoutfitters.deviantart.com/art/TERA-Online-Samael-549237651?q=gallery%3AMoogleOutFitters%2F45789277&qo=285) (a male version, but nothing prevents it from be used for females after changing figure)


Yes its is indeed not a problem as i could already make my models have any shapes small breasts to humongous ones in this case..
Title: Re: General Discussion
Post by: DarkTl on July 27, 2016, 06:04:25 AM
I can prolly adapt the system to work with AP as well but still, you cannot add "little" bit AP, steps in AP are huge compared to steps in vitality.
Let's see. There is a clear difference between Lolita and Manly body types. I don't touch here things like undead or robotic body, they have their own traits. The starting amount of vitality should be different for these traits. Atm Lolita has 100 and Manly 300 vitality from the beginning.

But while it makes sense to have different vitality because of very different (and unchangeable because it's limited by pictures) body types, it makes lesser body types less beneficial, with no
significant advantages. AP is one of the most simple ways to make them more beneficial.
Title: Re: General Discussion
Post by: Xela on July 27, 2016, 11:19:04 AM
Ok... more code, checks and forks then :)
Title: Re: General Discussion
Post by: DarkTl on July 27, 2016, 11:50:13 AM
I'm not going to use it for any other traits since it's a powerful effects, so it could be hardcoded instead of supporting all traits, or maybe work via effects (probably the best way).
Title: Re: General Discussion
Post by: lamoli on July 27, 2016, 12:07:53 PM
Here Mage1..


(https://s20.postimg.org/71my7am49/Mage1.png) (https://postimg.org/image/71my7am49/)(https://s20.postimg.org/wlp8dq7i1/Mage1Back.png) (https://postimg.org/image/wlp8dq7i1/)(https://s20.postimg.org/v8caqea9l/Mage1Legs.png) (https://postimg.org/image/v8caqea9l/)
Title: Re: General Discussion
Post by: DarkTl on July 27, 2016, 01:54:29 PM
Looks great :)

Speaking of effects, at very least traits effects are not visible in gui, even though there is a list for them at the character screen. I mean Introvert and stuff. I suspect stuff like food poisoning is not visible there too. I don't see them working either, for example I changed the Pessimist effect to
Quote
            elif effect == "Pessimist":
                if self.joy > 20:
                    self.joy -= 50
It should very quickly make joy minimal, but nothing happens after several turns. I suspect effects are afk, no wonder it didn't worked when I tried to create an effect which adds AP  ::)
Title: Re: General Discussion
Post by: Xela on July 27, 2016, 03:13:01 PM
But while it makes sense to have different vitality because of very different (and unchangeable because it's limited by pictures) body types, it makes lesser body types less beneficial, with no
significant advantages. AP is one of the most simple ways to make them more beneficial.

I am going to allow it only for body traits and it cannot be undone (core traits like body cannot be changed anyway).
Title: Re: General Discussion
Post by: Xela on July 27, 2016, 03:20:18 PM
mod_ap

is the field, it needs an integer. I've added it as a very limited feature that cannot be removed, it's not tested but code is fairly simple and should work unless there are typos.
Title: Re: General Discussion
Post by: lamoli on July 27, 2016, 06:08:46 PM
Assassin1 ..




(https://s20.postimg.org/9d3udt7cp/Assassin1.png) (https://postimg.org/image/9d3udt7cp/)(https://s20.postimg.org/5592525x5/Assassin1Back.png) (https://postimg.org/image/5592525x5/)(https://s20.postimg.org/amxiyhsop/Assassin1Legs.png) (https://postimg.org/image/amxiyhsop/)
Title: Re: General Discussion
Post by: lamoli on July 28, 2016, 07:17:11 AM
Warrior1


(https://s20.postimg.org/4bsbi2rg9/Warrior1.png) (https://postimg.org/image/4bsbi2rg9/)(https://s20.postimg.org/ezw2gx1fd/Warrior1Back.png) (https://postimg.org/image/ezw2gx1fd/)(https://s20.postimg.org/6iwk5zwqh/Warrior1Legs.png) (https://postimg.org/image/6iwk5zwqh/)
Title: Re: General Discussion
Post by: lamoli on July 28, 2016, 08:09:50 AM
This is fast enough and for better end result so ill make others later.. and the good thing is we could mix any of those parts iv remade and they got like 4 times the definition than before..


Ill try some battle sprites now then expressions


Dark can you go back to that site and check for casual outfits and Matron ( if any ) then link me those ?




Title: Re: General Discussion
Post by: DarkTl on July 28, 2016, 09:13:55 AM
Not sure about casual, those games are solely about fights, so they mostly have armors of some kind. That would require a mass scale search. For now maybe

http://kammyyx.deviantart.com/art/Honoka-C4-Dead-or-Alive-5-Last-Round-514837389 (http://kammyyx.deviantart.com/art/Honoka-C4-Dead-or-Alive-5-Last-Round-514837389)
http://kammyyx.deviantart.com/art/Kasumi-Asuka-Dead-or-Alive-5-Last-Round-541291456 (http://kammyyx.deviantart.com/art/Kasumi-Asuka-Dead-or-Alive-5-Last-Round-541291456) (without weapons)
http://sticklove.deviantart.com/art/Wang-Yi-Original-DLC-511049881 (http://sticklove.deviantart.com/art/Wang-Yi-Original-DLC-511049881)
http://xnamall.deviantart.com/art/Fatal-Frame-5-Miu-Hinasaki-589176154 (http://xnamall.deviantart.com/art/Fatal-Frame-5-Miu-Hinasaki-589176154)
http://4wearemanytoo.deviantart.com/art/DrXPS-reupload-Real-Play-Izumizaki-Kana-515190290 (http://4wearemanytoo.deviantart.com/art/DrXPS-reupload-Real-Play-Izumizaki-Kana-515190290)
http://rolance.deviantart.com/art/DOA5-Kasumi-Extra-Costume-02-Tropical-Sailor-606747720 (http://rolance.deviantart.com/art/DOA5-Kasumi-Extra-Costume-02-Tropical-Sailor-606747720)
http://xnamall.deviantart.com/art/Yuri-588104621 (http://xnamall.deviantart.com/art/Yuri-588104621)
http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-35-Newcomer-Sports-604004384 (http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-35-Newcomer-Sports-604004384)
http://irokichigai01.deviantart.com/art/DOA5LR-Mashup-Falcom-Kasumi-560639066 (http://irokichigai01.deviantart.com/art/DOA5LR-Mashup-Falcom-Kasumi-560639066) (without weapon)
http://xnamall.deviantart.com/art/TES4-Oblivion-Sailorfuku-Pack-2-XPS-ONLY-559239459 (http://xnamall.deviantart.com/art/TES4-Oblivion-Sailorfuku-Pack-2-XPS-ONLY-559239459)

For matrons
http://sticklove.deviantart.com/art/Aya-Special-Clothes-DLC-523375603 (http://sticklove.deviantart.com/art/Aya-Special-Clothes-DLC-523375603)
http://armachamcorp.deviantart.com/art/Samurai-Warriors-4-Koshosho-515257327?q=gallery%3AArmachamCorp%2F43152968&qo=1 (http://armachamcorp.deviantart.com/art/Samurai-Warriors-4-Koshosho-515257327?q=gallery%3AArmachamCorp%2F43152968&qo=1)
http://rolance.deviantart.com/art/DOA5-Kasumi-Costume-22-Pop-Idol-605727711 (http://rolance.deviantart.com/art/DOA5-Kasumi-Costume-22-Pop-Idol-605727711) (without hat, since head is a separate slot)
http://lezisell.deviantart.com/art/TES4-Oblivion-Oblivion-Pack-2-XPS-ONLY-564952196 (http://lezisell.deviantart.com/art/TES4-Oblivion-Oblivion-Pack-2-XPS-ONLY-564952196)
Title: Re: General Discussion
Post by: lamoli on July 28, 2016, 11:18:06 AM
Hmm.. completely forgot about arena character poses.. like normal guard / defend / cast / idle.. those should cover all the current menu.. i just cant find images that shows good ones to create the poses..
Title: Re: General Discussion
Post by: Xela on July 28, 2016, 11:59:16 AM
Hmm.. completely forgot about arena character poses.. like normal guard / defend / cast / idle.. those should cover all the current menu.. i just cant find images that shows good ones to create the poses..

We don't have poses in BE. It'll prolly look even weirder without animations than just stationary sprites.
Title: Re: General Discussion
Post by: lamoli on July 28, 2016, 11:11:12 PM
Ok then what i need are a few standing battle positions for swords / bow / gun
Title: Re: General Discussion
Post by: lamoli on July 29, 2016, 05:31:50 AM
Something like those but even more examples of em.. ( they are 800/800 so resize should be fine, i tried 200/200 but i could see the pixels :(  )


(https://s20.postimg.org/li6zu9115/Be1.png) (https://postimg.org/image/li6zu9115/)(https://s20.postimg.org/hn3lrohvd/Be2.png) (https://postimg.org/image/hn3lrohvd/)


Also if you can use animated gifs.. i can make those really easy for animation lol ( its about 4 sec to render 1 of those so i can render a 10-20 frame animation really fast, the number of frame will set the speed so may be more or less )


Considering that max size is 200/200 it would be really easy to make this warrior disappear with fade-in and appear left ( same height placement as target but 200px left ) to the selected enemy as hes 200/200 also when that happens you can use the slash animated gif with fade-out if needed then fade-in back to original pos
The big advantage is once 1 animated pose is done it can be used with any other char ill make but i would have to make a few of them for each class ( melee/ranged/magic )


Edit: at the moment the animation system is a pain so ill never go above 20 frames.. if you dont want it for BE it could still be used for action scenes or training..
Title: Re: General Discussion
Post by: lamoli on July 29, 2016, 08:02:28 AM
Hmm.. how do i make tags for my pack ?
Title: Re: General Discussion
Post by: DarkTl on July 29, 2016, 10:08:00 AM
Gif format is completely not supported by renpy, because renpy creator considers it too old and limited (not enough colors, bad compression). I think webm is the only supported animation format, aside from simple sprites strips animated by code like this (https://www.dropbox.com/s/53h8tvfg1up77qq/barrier.png?dl=0) one, which are most of our animations since a proper conversion to webm is not very simple and often not worth it.

Sprites with visible weapons should be avoided, because we cannot afford to show any weapon type (already 15 unique types and there will be more). Difference in weapons inside BE is visible via available skills and attack sound, it's enough. In general battle pose could look like https://www.dropbox.com/s/0lu13uzpcjl553y/0009-bs.png?dl=0 (https://www.dropbox.com/s/0lu13uzpcjl553y/0009-bs.png?dl=0) without weapons, or something like that. Your pictures are fine too as long they don't have that sword. Weapons are fine for any other pictures, but battle sprites should be weaponless if possible.

For tagging I wrote a guide here http://www.pinkpetal.org/index.php?topic=3533.0 (http://www.pinkpetal.org/index.php?topic=3533.0)
Title: Re: General Discussion
Post by: lamoli on July 29, 2016, 11:59:45 AM
Hmm not seeing the weapon but having pose is really bad lol as they will all look like kung fu battle sprites and when i chose attack with sword or bow ill be really annoyed with BE lol


I dont Have a problem making every weapon/clothing/accessory visible in BE as i wanted that already for equipment doll.. but yeah only my stuff will have all at first and that will be bad..
But like i said i worked hard to get close to a drawn look like style to be able to fill in the missing stuff for existing girls packs like adding BE sprites ( even with animation if gif worked ) or job action like a normal version of any action and not having to have to do with what ugly picture some ppl made like instead of the normal girl proportions they put huge tits way too much muscle or even there is only chibi version only >.< thats mostly why i started this.. to remove those ( for me unbearable ugly pictures ) and add normal stuff that will look better or even add missing girls i wanted in as im so bad with 2D i coulnd make any decent..


not sure how to make webm but if you can make it out of frame to frame images thats what i get or i could use avi/mpeg/xvid


Edit:
Even if not every accessory/items/armor types are shown in BE sprites weapons are really the bare minimum.. and i can add them to existing BE sprites if needed if not redo it all...
with my clothing test for equipment doll i just put a transparent layer on top of normal picture with the missing weapon and its done
Title: Re: General Discussion
Post by: Xela on July 29, 2016, 12:13:10 PM
You can create png series and covert those to webm.

This: https://lemmasoft.renai.us/forums/viewtopic.php?f=32&t=36951&start=15

will explain everything, there is a simple command line software that is very easy to figure out but if you have adobe equivalents, it's even easier with gui. I don't mind multiple weapon sprites, it would not be too hard to make it work in BE. I don't remember if you have git setup and don't recall you pushing anything but if you have that or have a copy of modern game, you can look for tags dict file, it's very, very straight forward and any new tags you come up with will just work if you add a binding there. I'll have to write a method in be to scan for weapon tags and if found, pick the right one for the job.
Title: Re: General Discussion
Post by: Xela on July 29, 2016, 12:19:46 PM
Even if not every accessory/items/armor types are shown in BE sprites weapons are really the bare minimum.. and i can add them to existing BE sprites if needed if not redo it all...
with my clothing test for equipment doll i just put a transparent layer on top of normal picture with the missing weapon and its done

Maybe a few general options... but we don't pay too much attention to clothing in PyTFall, the idea is to simulate business, city, one day maybe economy and politics. With so many chars, stuff like clothing becomes too much to invest already limited time and resources into. It's possible to add more fields to items and have some general options prepped for eq doll but even that might be an overkill.
Title: Re: General Discussion
Post by: lamoli on July 29, 2016, 12:35:19 PM
Ok yeah it will take some time for everyone to have everything visible with my system.. but if its possible just dont lock the possibility to mod it later on.. ill make 2 versions of my stuff with and without weapons so it wont look bad with whats already there..


Omg lol back to FFmpeg encode.. that puts me back when i encoded series for LoL.. but at least i should be able to use the tool alright :D
And funny thing is from that link is im also using Blender for the output so should be able to convert it out of animations and not only images
Title: Re: General Discussion
Post by: lamoli on July 29, 2016, 12:43:48 PM
For tagging I wrote a guide here http://www.pinkpetal.org/index.php?topic=3533.0 (http://www.pinkpetal.org/index.php?topic=3533.0)


Ok downloaded the tagger and reading your quide
Title: Re: General Discussion
Post by: lamoli on July 29, 2016, 01:53:37 PM
hmmm.. i tried searching the forum but coulnd find the post where you told me whats the minimum needed for a pack to work.. can you repost again or link old 1?
Title: Re: General Discussion
Post by: DarkTl on July 30, 2016, 09:12:41 AM
Many sprites in packs do have weapons because they simply don't have weaponless versions. That leads us to vague mechanics such as always giving sword attacks to sprites with a swords to make things somewhat less confusing. You can use weapons too, but it shouldn't be something major and important.

I mean, if you intend to make a unique sprite for every unique weapon, you should understand that adding a new weapon type is a matter of 5-10 minutes, including the time to find a suitable sound. Creating an equipable item is a matter of 1-2 minutes, if you already found a nice set of icons. I imagine rendering them will take more time. The system is completely open and allows players to easily create their own items without having special skills. In fact even though we only released very incomplete alpha with little to no gameplay, people already made a few dozens items.

Explanations about packs start from http://www.pinkpetal.org/index.php?topic=1291.msg38865#msg38865 and continue on the following pages.
Title: Re: General Discussion
Post by: lamoli on July 31, 2016, 03:19:09 PM
Angry profile pose and expression ( i could take a face closeup of the 120/120 image next to text later if it looks alright for you)


(https://s20.postimg.org/421w6ngjd/Angry_Matron_Profile.png) (https://postimg.org/image/421w6ngjd/)(https://s20.postimg.org/sgnluddh5/Angry2pose2.png) (https://postimg.org/image/sgnluddh5/)(https://s20.postimg.org/jzo3jg8s9/Angry3pose3.png) (https://postimg.org/image/jzo3jg8s9/)(https://s20.postimg.org/ub0gc40hl/Angry4pose4.png) (https://postimg.org/image/ub0gc40hl/)


Added clothing that could work for Matron but its the pose and expression that matters the most here..
Title: Re: General Discussion
Post by: lamoli on August 01, 2016, 12:07:15 PM
Shy.. ( tryed some blush transparent masks and ended with that 1 )

(https://s20.postimg.org/mjjqdjwc9/Shy1pose1.png) (https://postimg.org/image/mjjqdjwc9/)(https://s20.postimg.org/5gm0f5lyx/Shy2pose2.png) (https://postimg.org/image/5gm0f5lyx/)(https://s20.postimg.org/bduh9pshl/Shy3pose3.png) (https://postimg.org/image/bduh9pshl/)
Title: Re: General Discussion
Post by: CherryWood on August 01, 2016, 04:36:40 PM
Hi, I updated my old girlpacks in my post and their .jsons to the current version of the game. Only except one girl where I'm stuck on one python thing I totally forgotten how to do - so my question is:

How do I correctly add something new to dictionary? Like, a new spell (let's say for example, "Fira2"), if I want to define it outside the load_battle_skills label?
Title: Re: General Discussion
Post by: DarkTl on August 02, 2016, 04:20:57 PM
I don't see any problems with
Quote
    init
        image fire_1 = FilmStrip('content/gfx/be/filmstrips/fire_1.png', (192, 192), (5, 4), 0.1, loop=False)
in a separate file if you use a custom animation and then
Quote
    python:
        SimpleMagicalAttack("Fira2", menu_pos=1, attributes=['magic', 'fire'], effect=20, multiplier=1.6, mp_cost=7, range=4, desc="Ignites the air in a limited area.",
                                           attacker_effects = {"gfx": "fire_1", "sfx": "default"},
                                           main_effect={"gfx": Transform("fire_2", zoom=1.5), "sfx": "content/sfx/sound/be/fire4.mp3", "duration": 2.0, "aim": {"point": "bc", "anchor": (0.5, 1.0), "yo": 40}},
                                           target_sprite_damage_effect={"gfx": "burning", "initial_pause": 0.1, "duration": 1.3},
                                           target_death_effect={"gfx": "dissolve", "initial_pause": 0.7, "duration": 1.2})
        char.attack_skills.append("Fira2")
inside a label you are gonna call.
Title: Re: General Discussion
Post by: lamoli on August 03, 2016, 04:30:25 AM
Happy..


(https://s20.postimg.org/inhh22yd5/Happy1.png) (https://postimg.org/image/inhh22yd5/)(https://s20.postimg.org/aj9cxcby1/Happy2.png) (https://postimg.org/image/aj9cxcby1/)(https://s20.postimg.org/puj5xy9a1/Happy3.png) (https://postimg.org/image/puj5xy9a1/)


For this 1 i made another without the bottom teeth like the drawing but i thing lower lips should be more like a U shape than a V.. tell me what you think about it


(https://s20.postimg.org/w6yb7scc9/Happy2x1.png) (https://postimg.org/image/w6yb7scc9/)


Edit:
Will be important when i take only the face for the 120/120 portraits


Title: Re: General Discussion
Post by: lamoli on August 03, 2016, 04:40:39 AM
Also i really have a hard time finding profile with the right expressions.. as im after standing and with face angle that permits the eyes to look at you.. (to make portraits from those later)


If you have more of those in angry/happy/shy and for the rest of the expressions that would be great..


Also lots of pictures i found have the girl sitting or other poses.. do we need to restrict those to represent resting or other stuff like that ?
Title: Re: General Discussion
Post by: lamoli on August 03, 2016, 11:27:51 AM
Sad..


(https://s20.postimg.org/qun8yvsl5/Sad1.png) (https://postimg.org/image/qun8yvsl5/)(https://s20.postimg.org/vukp6ty7t/Sad2.png) (https://postimg.org/image/vukp6ty7t/)


If you have another sad facial expression let me know..


Suggestive..


(https://s20.postimg.org/n0tspqb95/Suggestive1.png) (https://postimg.org/image/n0tspqb95/)


Need more specific suggestion facial expressions..
Title: Re: General Discussion
Post by: CherryWood on August 03, 2016, 12:12:38 PM
I don't see any problems with
Thanks! I used the same code, but my problem was that I had SimpleMagicalAttack entry in init but thats too early for battle_skills dict to be initialized - when I put that in _start_id label, it works fine.
Strangely it worked that way in alpha and that confused the hell out of me.
Title: Re: General Discussion
Post by: DarkTl on August 03, 2016, 04:38:21 PM
For this 1 i made another without the bottom teeth like the drawing but i thing lower lips should be more like a U shape than a V.. tell me what you think about it
Hm, I like a V form more here.

Also lots of pictures i found have the girl sitting or other poses.. do we need to restrict those to represent resting or other stuff like that ?
The system welcomes almost any pictures. Sitting poses, depending on circumstances, can even be used for both resting and profile tags. For example this (https://www.dropbox.com/s/ytz2r9ic5o7z309/00C9-nn-e6-c1-l4-le-pr-pc-a6.jpg?dl=0) one, which also has eating tag. The character is relaxed, but it's not like she's sleeping or something.

Also i really have a hard time finding profile with the right expressions.. as im after standing and with face angle that permits the eyes to look at you.. (to make portraits from those later)
Where do you search for them? I mean, the best way is to download big packs, such as touhou, persona, naruto or sailor moon, or a few random packs, and use the tagger mask option to find emotions you need. It allows to instantly find the tag you need.
Title: Re: General Discussion
Post by: lamoli on August 03, 2016, 07:46:55 PM
Hmm iv been browsing https://chan.sankakucomplex.com/ (https://chan.sankakucomplex.com/) as i only have 4 packs.. and yes i search using the tagging like "pr/po e(1-e)" but its like 90% of all i find isnt whats needed or not standing or i already have something too close..


Atm focusing on profile so unless sleeping/resting/eating/reading emotion ( i wasnt planned on doing now ) they need to be standing


For the sad facial emotion i need more than the 1 i have but need to be different.. ( i guess it depends of what sad is for you ) so maybe you can chose a few sad looking girl for me lol
and its the same for suggestive ( matter of personal choice i guess.. )


I will try to find the others i do not have ( confident/indifferent/scared/tired )


Edit:
Well i will need sitting pose for tired i guess
Title: Re: General Discussion
Post by: lamoli on August 03, 2016, 09:31:10 PM
do you have samples of anime eyes ( open/closed/blush/and so on.. ) so i could see how they work.. i tryed something custom on the happy emotion but doesn't look right lol..
Title: Re: General Discussion
Post by: DarkTl on August 04, 2016, 01:56:28 AM
Hmm iv been browsing https://chan.sankakucomplex.com/ (https://chan.sankakucomplex.com/) as i only have 4 packs..
Hmm, interesting. It might have pictures I don't have in my packs, I mostly use websites listed here (http://www.pinkpetal.org/index.php?topic=3684.0).

For sad you could use something like
https://www.dropbox.com/s/7zrxeysv2089px1/011D-nn-e9-ee-ca-l2-pr.jpg?dl=0
https://www.dropbox.com/s/rshezlt6lmm2gkn/001A-nn-e9-c1-cf-l1-pr-pa.png?dl=0
https://www.dropbox.com/s/vkxh61ca2yp4v4x/0140-nn-e9-eb-c1-cf-l3-l9-pr-pa.jpg?dl=0
https://www.dropbox.com/s/wjhlx8rqb4x0z0z/0062-nn-e9-eb-ed-c1-l2-pr-pb.jpg?dl=0
https://www.dropbox.com/s/bytz4mtif9jqj65/0119-nn-e9-c2-l3-l9-pr.jpg?dl=0

do you have samples of anime eyes ( open/closed/blush/and so on.. ) so i could see how they work.. i tryed something custom on the happy emotion but doesn't look right lol..
Sadly, I'm not an artist  :D
Deviantart (http://www.deviantart.com/browse/all/?section=&global=1&q=anime+eyes) has plenty, I suppose.
Title: Re: General Discussion
Post by: Xela on August 04, 2016, 04:52:06 AM
Thanks! I used the same code, but my problem was that I had SimpleMagicalAttack entry in init but thats too early for battle_skills dict to be initialized - when I put that in _start_id label, it works fine.
Strangely it worked that way in alpha and that confused the hell out of me.

I had to change loading order because things got really messed up otherwise. Those skills now work like all other objects in the game.
Title: Re: General Discussion
Post by: lamoli on August 05, 2016, 03:38:53 AM

Might be best to save this one for in pain i dont have yet
https://www.dropbox.com/s/vkxh61ca2yp4v4x/0140-nn-e9-eb-c1-cf-l3-l9-pr-pa.jpg?dl=0 (https://www.dropbox.com/s/vkxh61ca2yp4v4x/0140-nn-e9-eb-c1-cf-l3-l9-pr-pa.jpg?dl=0)

And this one for scared
https://www.dropbox.com/s/bytz4mtif9jqj65/0119-nn-e9-c2-l3-l9-pr.jpg?dl=0 (https://www.dropbox.com/s/bytz4mtif9jqj65/0119-nn-e9-c2-l3-l9-pr.jpg?dl=0)
Title: Re: General Discussion
Post by: Xela on August 05, 2016, 07:27:31 AM
I am trying to find the best compromise for the gui/reports design. What was originally planned becomes a complete mess with loads of buildings so it will prolly have to be split once more into major building and business reports. I am looking into making it work somehow without adding more code and complexity but it is not looking good :(

Maybe a break from businesses and jobs is what is needed atm, to get some perspective...
Title: Re: General Discussion
Post by: DarkTl on August 05, 2016, 11:22:42 AM
There is another update for renpy, therefore I assume it's safe now to fix all screens?
Title: Re: General Discussion
Post by: Xela on August 05, 2016, 11:47:55 AM
There is another update for renpy, therefore I assume it's safe now to fix all screens?

No, when: Ren'Py 6.99.11 Pre-Released will be called a Released version (without prefix), it will be perfectly safe. Many people are still reporting cr@p and it gets fixed and updated almost on daily basis.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2016, 11:56:32 AM
Are there changelogs for prereleases btw? I only see them for releases (https://www.renpy.org/doc/html/changelog.html).
Title: Re: General Discussion
Post by: Xela on August 05, 2016, 12:01:31 PM
Are there changelogs for prereleases btw? I only see them for releases (https://www.renpy.org/doc/html/changelog.html).

Here: https://www.renpy.org/dev-doc/html/changelog.html

They came up with a whole new layout for docs as well.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2016, 12:23:16 PM
If you wish to rest from jobs, you can code your own proposition from here (http://www.pinkpetal.org/index.php?topic=3707.msg39696#msg39696). Ie support for defaultish animations for warriors skills based solely on coding and single attack sprite.
Title: Re: General Discussion
Post by: DarkTl on August 05, 2016, 12:57:17 PM
I don't get the meaning of local labels from the last prerelease. How are they different from normal labels? There is nothing in the provided example that can't be done via normal labels.
Title: Re: General Discussion
Post by: Xela on August 05, 2016, 03:59:27 PM
I don't get the meaning of local labels from the last prerelease. How are they different from normal labels? There is nothing in the provided example that can't be done via normal labels.

It's mainly for code readability, like:

Code: [Select]
label next_day:

label next_day.controls:

label next_day.end:

and so on. The idea is to allow "smarter" label structure.

If you wish to rest from jobs, you can code your own proposition from here (http://www.pinkpetal.org/index.php?topic=3707.msg39696#msg39696). Ie support for defaultish animations for warriors skills based solely on coding and single attack sprite.

Yeah, I don't really remember what I planned there exactly. We have a lot of animations for combat attacks as well so they could be used, gonna take a look at that whole thing.
Title: Re: General Discussion
Post by: DarkTl on August 06, 2016, 06:06:12 AM
Yeah, I don't really remember what I planned there exactly. We have a lot of animations for combat attacks as well so they could be used, gonna take a look at that whole thing.
Universal algorithms for animations that can be used for any type of weapon, based on one simple png sprite. Like multiple hits one after another. I could come up with list of examples if you willing to code it after all.
Title: Re: General Discussion
Post by: Xela on August 06, 2016, 11:20:40 AM
Universal algorithms for animations that can be used for any type of weapon, based on one simple png sprite. Like multiple hits one after another. I could come up with list of examples if you willing to code it after all.

Yeah... why not, I am going to give it a shot. Make a list as you see it. I think the idea was to use code driven effects where we cannot find graphical once but if you think that we can do all of it with code, why not.
Title: Re: General Discussion
Post by: lamoli on August 06, 2016, 01:16:44 PM
I need your input to know if its allright..


Base..


(https://s20.postimg.org/w6md823y1/Base1.png) (https://postimg.org/image/w6md823y1/)


Closed eyes 100% ( can pick any number to get desired result )


(https://s20.postimg.org/vidip4589/Base1EyeClosed.png) (https://postimg.org/image/vidip4589/)


Closed eyes with pain or blush 100% ( use closed eyes as base then curve upwards with more volume, also can stop where its needed )


(https://s20.postimg.org/y0z7psqyh/Base1EyeClosedwithblushorpain.png) (https://postimg.org/image/y0z7psqyh/)


what matters here is.. do they look alright as if they are not i need to change them now ( later is too late as i would have to rework everything in between )


Edit:
if they are good i can do eye by eye version from theyr bases
Title: Re: General Discussion
Post by: DarkTl on August 06, 2016, 01:42:17 PM
Code driven attacks mostly serve as basic skills. Like Fire-Fira-etc for fire spells.
I'll tell how I see it, not sure how much can be done without too advanced coding. Depending on equipped weapon the function takes attack sprite from \content\gfx\be, such as axes.png, and uses it in the animation.

1) Multiple hits one after another, when every weapon sprite uses random angle and random position (within reasonable limits, they still should be near the target). Each hit uses usual weapon sound. Like, for example instead of one single arrow attack a character unleashes multiple ones in quick succession.
With parameters such as how many hits animation has, how quickly alpha of each attack spite drops to 0, how many time passes between hits. This will allow to create multiple skills based on one animation function.

2) Single, but enlarged version of normal weapon attack with a flash or small distortion, for powerful attacks skills. We have full screen distortion for cataclysm if I'm not mistaken, I mean something like it but much smaller.

3) "Shadow Slash" you proposed in that thread. The problem here is to make it suitable for any weapon type, without the need to make it manually for every weapon. Maybe use weapon attack sprite as a mask to cut the target sprite with it?

4) Making screen black except the attacker sprite, then throwing it for some time from side to side like in pinball, with every change of movement direction accompanied by another weapon attack.

5) Back attack, when attacker sprite instantly moves behind target back (probably via a cloud of dust) and attacks with normal animation (maybe mirrored since position is mirrored too), then returns to original position.

Another important thing is issue 170, without it things are quite chaotic:

- "Since we have different weapons, these skills should be tied to base attack types. Like, some ranged skill could require BowAttack or ThrowAttack available to be used."
If character had a sword equipped, s/he should have basic sword attack available, not like atm when they have all attacks in the game. Moreover, even if s/he knows all weapons skills in the game, only skills allowed for sword users should be available inside BE. Meaning weapon skills should have lists of available weapons.

- "We have base attack type in characters jsons that should be used if they are unarmed. Equipping a weapon though should add a basic skill provided by that weapon (like swordattack for a sword) to attacks list, meaning we should carefully handle cases when a character already has swordattack, just like with traits."
It starts from my post (http://www.pinkpetal.org/index.php?topic=3707.msg39666#msg39666) and continues. The idea is how to handle characters which sprites already have weapons of some kind.

- "Support for absolute values"
Done by me, just like health and vitality cost  :)
Title: Re: General Discussion
Post by: DarkTl on August 06, 2016, 01:45:33 PM
what matters here is.. do they look alright as if they are not i need to change them now ( later is too late as i would have to rework everything in between )
Nothing wrong with them at all, I'd say they are perfect.
Title: Re: General Discussion
Post by: Xela on August 06, 2016, 05:45:57 PM
I don't know... we can try it but it'll prolly suck. I proposed code driven idea as an option to fill on the blanks, it's worth trying but we'll have to work in some real attacks in there as well.
Title: Re: General Discussion
Post by: Xela on August 06, 2016, 06:38:41 PM
Yeah, when you really get into it, it becomes clear that the whole thing is gonna feel awful. We'll have to come up with a separate system with unique attacks if we want to make it look on par with magic.

I will make a default along the lines of simple multi-attacks, just need to sleep on it for a night. Best way I thought of so far are direct method overwrites so unless nothing better comes to mind till tomorrow, I'll just do that.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2016, 05:48:30 AM
I dunno, it's hard to imagine. But the issue 170 still stands, no matter what kind of animations we'll have.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 07:50:31 AM
I dunno, it's hard to imagine. But the issue 170 still stands, no matter what kind of animations we'll have.

Most of that is already possible, new attacks can be added in a similar way to magic attacks. GUI and (maybe. I prolly removed those) removing code restrictions on multiple normal attacks shouldn't be hard.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 08:36:17 AM
What do you think extra attacks should be bound to? Level? Experience? Classes? Weapons as they are now (like some weapons allow a single attack, some allow two or three and etc)??

We need to come up with a system that is simple in code and intuitive to play, cause this can quickly become another 500 lines of if/else code and weeks of dev time cause magic is always bound to a character while weapons can be changed with a click of a mouse.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 09:06:33 AM
The magic dodges look absolutely ridiculous, I wish you'd remove them :( They pretty much all will require some sort of interventions with code and time controls.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2016, 10:14:05 AM
The magic dodges look absolutely ridiculous, I wish you'd remove them :( They pretty much all will require some sort of interventions with code and time controls.
Let's say I remove magic evasion. Or even better, replace it with resistance, when character manifests protecting barrier instead of dodging, I bet it will look much better than dodging spells.

Magic skills in terms of code are not different from weapon skills. Should evasion not work against weapon skills too? If so, then what's the point of it? It will be nearly useless if it'll work only against normal attacks which are already weak to begin with.

this can quickly become another 500 lines of if/else code and weeks of dev time cause magic is always bound to a character while weapons can be changed with a click of a mouse
I don't know about 500 lines, but if you want arrows attacks to be available for sword users, it will be a disaster. I don't even mean coded attacks, I'm talking about unique animations from dropbox. Some of them clearly have arrows or bullets, some look like a sword or an axe. We have no choice but to bind at least some skills to specific weapons types, or dozens high quality animations will be useless to us, and this is a huge waste. And if it is supported, we might as well use it for some coded animations too.

What do you think extra attacks should be bound to? Level? Experience? Classes? Weapons as they are now (like some weapons allow a single attack, some allow two or three and etc)??
I'm thinking about adding either weapon skills (skills like oral, I mean) or leveled traits (aka WM EX) to support specific weapons. Pretty much like Slave Maker 3 has a skill for every weapon type. So if a character good with swords will have high level of sword skill and certain BE swords skills will be unlocked for swords.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 11:08:58 AM
Let's say I remove magic evasion. Or even better, replace it with resistance, when character manifests protecting barrier instead of dodging, I bet it will look much better than dodging spells.

Or at the very least not do the backward animation when magic is dodged... I guess that in my mind magic cannot be dodged like weapon attacks, difference between chars can be so great that magic doesn't do any (or a very limited) damage, but missing is not something that can occur. When a huge ass high level spell "misses" the target, it look especially dumb.

In either case, game is not really combat centered, we're making too much effort here.

Magic skills in terms of code are not different from weapon skills. Should evasion not work against weapon skills too? If so, then what's the point of it? It will be nearly useless if it'll work only against normal attacks which are already weak to begin with.

It's a lot of work... fireball you can dodge, cataclysm or tornado, not bloody likely. Dodging simple weapon attacks by quickly moving the sprite backwards at constant timing is simple, every spell on the other hand may require it's own data, some should not be possible to dodge and etc.

Once again, not a combat oriented game :( Stuff like this, if we want it done right, will require more and more effort, all I wanted to say is that presently "dodging" spells looks pathetic and out of place. BE (imo), felt better without it. If there are better solutions that will not require insane amount of effort or if you're willing to go spell by spell and make sure timings are ok everywhere or animations are appropriate. I don't mind (although I don't remember if we can actually control dodging outside of core code atm, but I can prolly add moar code making that possible).

I don't know about 500 lines, but if you want arrows attacks to be available for sword users, it will be a disaster. I don't even mean coded attacks, I'm talking about unique animations from dropbox. Some of them clearly have arrows or bullets, some look like a sword or an axe. We have no choice but to bind at least some skills to specific weapons types, or dozens high quality animations will be useless to us, and this is a huge waste. And if it is supported, we might as well use it for some coded animations too.

No, I don't want to mix attacks, although bow as a large weapon and knife as a small weapon is a mix already...

I'm thinking about adding either weapon skills (skills like oral, I mean) or leveled traits (aka WM EX) to support specific weapons. Pretty much like Slave Maker 3 has a skill for every weapon type. So if a character good with swords will have high level of sword skill and certain BE swords skills will be unlocked for swords.

It's a huge mess of skills but we can also use: ranged, hand-to-hand, edged and etc. So basically you are saying:

- Default Attack skills that are enabled based of a skill "stat" value as a specific weapon is equipped.
- Special Attack skills that are weapon bound (Ice/Fire Sword/Axe/Bow/Gun and etc. animations we have in db).

That will require a controlled system to add/remove the skills of some sort, I need to make sure we have checks on skill changes (or maybe just level changes cause checks on skill changes will slow down the game). We'll have to do (yet another) evaluation every time a weapon is equipped. We'll have to make sure that skills are gained as weapons are used in BE. We'll have to make sure weapon skills can be learned in schools as well.

So another huge move towards the combat oriented game, with moar skills, checks and code oriented around combat :) I don't really have a better idea, just pointing out the obvious... in either case, I am going to work on that double/triple attacks now :)
Title: Re: General Discussion
Post by: DarkTl on August 07, 2016, 12:18:20 PM
For spells let's replace evasion animation with resistance, when we show a barrier animation around the character as long as the spell lasts, and lowers the damage instead of avoiding it. I believe it's easier than timing dodge, and we have dozens barriers animations in db to choose from.

In fact, you can do it right now, I mean add the animation support for resistance instead of dodging spells, for example with this (https://www.dropbox.com/s/53h8tvfg1up77qq/barrier.png?dl=0) one. And even more barrier animations in the maple folder. I'll change formulas then.

In either case, game is not really combat centered, we're making too much effort here.
I dunno, we have simulated battles everywhere. Brothels fights, SE, possibly arena.

- Default Attack skills that are enabled based of a skill "stat" value as a specific weapon is equipped.
- Special Attack skills that are weapon bound (Ice/Fire Sword/Axe/Bow/Gun and etc. animations we have in db).
Yeap. For basic attacks it's stuff like double attack or powerful attack, any weapon can do it if the character is a capable fighter. It can be tied to character level and base class if you don't want to bother with skills, not a big deal.

And special attacks should be learned just like spells, via teachers or scrolls.

That will require a controlled system to add/remove the skills of some sort, I need to make sure we have checks on skill changes
A part of issue 170... Atm characters have all existing weapons attacks no matter what they equip, it's not how BE should work, even if we don't use advanced weapon skills at all.

So another huge move towards the combat oriented game, with moar skills, checks and code oriented around combat :)
I propose an alternative then. Special animations, like energy swords that can be used only with a sword, we tie to specific weapons only. Ie a rare sword for a sword based animation. I believe items system should support it already, at least to some extent.

And for Special Attacks we use only generally looking animations that can be used with any weapon. Although, we probably have no choice but to separate melee and ranged skills even in this case.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 12:44:52 PM
And special attacks should be learned just like spells, via teachers or scrolls.

That's the thing, they can't... because spells are character bound, not weapon bound. I haven't addressed that yet in code but it sounds like a complex add-on to an already over-complicated system.

We need a plan on how to resolve this issue in terms of code and content.

In most games that come to mind, it's done on forced basis, like you have a class that can carry only one (or a small amount) of really similar weapon types. Like knifes/daggers for Thieves, Bows for Archers, Swords for Champions and that kind of crap.

Skills quickly become a lot harder to handle in a system where "anything goes", I may be able to do something with "type" fields that items have... but it still sounds a bit messy + I'd like to discuss what we want to do here before committing to a system as those are really, really hard to work out of a complex code setup that coding them in.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2016, 01:01:59 PM
Like I said, we can avoid tying skills to weapons if we never use too specific animations. This way we don't care what kind of weapon character has, s/he simply uses all skills s/he knows. Well, except melee/ranged issue, but we can't possibly merge them into one, they are very different already due to rows system.

And specific animations we'll use for skills added only by weapons. I recall there is already a system in place which can add a battle skill if you equip an item and remove it if it's unequipped.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 01:13:35 PM
Like I said, we can avoid tying skills to weapons if we never use too specific animations. This way we don't care what kind of weapon character has, s/he simply uses all skills s/he knows. Well, except melee/ranged issue, but we can't possibly merge them into one, they are very different already due to rows system.

And specific animations we'll use for skills added only by weapons. I recall there is already a system in place which can add a battle skill if you equip an item and remove it if it's unequipped.

Ghm... ok, so you add all possible skills to every weapon that can do them in item JSONs? And we (right away or in future development) limit the actual skills that can be used by "stat" skills, level or some other character property? That way we can make better weapons more relevant as well.

It's prolly a simpler approach... we can recalculate these skills once per day during next day to be sure to enable new once as they become available. I guess we can add some sort of extra field to skills so we can check if a character can handle them.

Title: Re: General Discussion
Post by: DarkTl on August 07, 2016, 01:27:31 PM
Yeap. A matter of 2 minutes and excellent control over skills list with minimal coding, with more powerful, let's say, bows having wider list of bows skills.

I never tested it before though, I mean the system which adds and removes skills when you equip and uneqiup something. I know that scrolls work, but they give spells permanently.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 01:30:48 PM
Yeap. A matter of 2 minutes and excellent control over skills list with minimal coding, with more powerful, let's say, bows having wider list of bows skills.

I never tested it before though, I mean the system which adds and removes skills when you equip and uneqiup something. I know that scrolls work, but they give spells permanently.

It should... as I've said, it may have forced limitations but I'll remove them if not done so already.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2016, 01:53:07 PM
Well, it doesn't cancel out generic code based skills. Although we might use the same system for them too.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 01:55:14 PM
Well, it doesn't cancel out generic code based skills. Although we might use the same system for them too.

It should remove generic once, like with both weapons equipped, fists should be gone.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2016, 01:57:38 PM
I mean, we still need stuff like double attack and so on, if it will look decent enough if course.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 03:43:55 PM
I can't figure out a way to chain sounds in BE :( Something is messing up default timers, gonna try a custom class and if that fails, just push what I got :(
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 04:16:47 PM
Oki, I pushed double attack, one for ranged and one for melee (same Python class). It looks perfectly ok so this we can use. Gonna test it with three hits tomorrow...
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 05:14:30 PM
Triple attack seems to be working well too. If you ok this, I'll prolly rewrite it as a UDD for better gfx/sound handling... it will also be possible to specify the number of hits, for sword, 3 is ok but for melee/range weapon (like gun) 6 - 10 could be options for 3rd level attacks.

This is it for tonight.
Title: Re: General Discussion
Post by: DarkTl on August 07, 2016, 06:07:23 PM
Looks very good. Sounds however not so good without multiple sounds.

I pushed possible animation for resist. That stuff should surround the target when s/he resists a spell instead of dodging it via dodging animation. I can replace formulas and possibly add resistance stat to items, but not show this animation around a target inside BE  :)
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 07:25:12 PM
Can't sleep :)

Looks very good. Sounds however not so good without multiple sounds.

I did write a class that allows to play multiple sounds but they are played in a real quick succession (so you get sort of an echo instead).. in either case, this will be rewritten tomorrow to allow chaining gfx + better control for sfx.

I pushed possible animation for resist. That stuff should surround the target when s/he resists a spell instead of dodging it via dodging animation. I can replace formulas and possibly add resistance stat to items, but not show this animation around a target inside BE  :)

Looks really great, I've enabled it.
Title: Re: General Discussion
Post by: Xela on August 07, 2016, 07:47:59 PM
This sh!t is pissing me off... they changed something in image binding and now all animations break down after being used once. It'll prolly take hours to fix :( I'll track it down to source if I can but this is "coding paradigm" crap so prolly not really a bug. I just wish they would stop fucking with it every 3 or 4 major versions...

==>
Sleep now!
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 12:32:48 AM
Pain test ( From left / right )


(https://s20.postimg.org/wjwlgkwop/Paintest1.png) (https://postimg.org/image/wjwlgkwop/)(https://s20.postimg.org/o2x35nrzt/Paintest2.png) (https://postimg.org/image/o2x35nrzt/)


With the new eyes control i just made it finally looks fine lol.. ( do we need special eye types?.. although im not sure they will look good in 3D like the >.< ones)
Now i might work on mouth shapes as anime have special ones..
Title: Re: General Discussion
Post by: Xela on August 08, 2016, 01:38:42 AM
Looks great :)
Title: Re: General Discussion
Post by: DarkTl on August 08, 2016, 05:54:49 AM
Perhaps it's time to stick with one specific version of renpy? I'm pretty sure that's what professional devs who release VNs in steam do.
Title: Re: General Discussion
Post by: DarkTl on August 08, 2016, 06:01:37 AM
With the new eyes control i just made it finally looks fine lol.. ( do we need special eye types?.. although im not sure they will look good in 3D like the >.< ones)
At very least different forms and colors of iris and pupil are needed. Like vertical pupils for a catgirl. Stuff like comical facial expressions usually doesn't look good in 3d.
Title: Re: General Discussion
Post by: Xela on August 08, 2016, 06:50:40 AM
Perhaps it's time to stick with one specific version of renpy? I'm pretty sure that's what professional devs who release VNs in steam do.

Prolly not a good idea. They stick to it because their VN is finished and they are not looking to expand it. New versions often come with really cool features which make the game better and we're using a lot.

+ there are not that many people with advanced projects to test new versions of the engine, we just need to figure out the errors and report them:

https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=39594&start=30#p424373

===>>
The zero division thing should be fixable and looks like a plain bug. Transform issue I can fix myself if need be, it's just annoying in this case cause if they cannot fix it internally, we'll prolly have to adjust a whole bunch of skill definitions... Also I cannot really copy-paste our code where this Transform makes more sense (as it adds flexibility without extra code) because it's too complex and a stripped down version looks really stupid which also pisses me off :D Exit thing i know how to fix as well, prolly even for the whole engine but PyTom always finds the best spot + shortest code bit to do it.
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 09:23:04 AM
Anime mouth types.. happy/sad Base


(https://s20.postimg.org/t2z4rcn09/Mouthhappyanimetype.png) (https://postimg.org/image/t2z4rcn09/)(https://s20.postimg.org/50iawh6d5/Mouthsadanimetype.png) (https://postimg.org/image/50iawh6d5/)
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 09:34:53 AM
At very least different forms and colors of iris and pupil are needed. Like vertical pupils for a catgirl. Stuff like comical facial expressions usually doesn't look good in 3d.


Already done the cat girls Pupils/iris change.. and the current iris is already generated so i can chose the color i want.. i will make a catgirl version with different iris color in a few min since its already ready to be used as template
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 09:40:13 AM
Here..


(https://s20.postimg.org/4c9gdj7nd/Cateyes.png) (https://postimg.org/image/4c9gdj7nd/)
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 09:46:02 AM
Im not gonna try the cat mouth now as it seem complicated lol.. but i can change the size/shape for iris/pupils and their color if needed
Title: Re: General Discussion
Post by: Xela on August 08, 2016, 09:56:49 AM
Anime mouth types.. happy/sad Base


(https://s20.postimg.org/t2z4rcn09/Mouthhappyanimetype.png) (https://postimg.org/image/t2z4rcn09/)(https://s20.postimg.org/50iawh6d5/Mouthsadanimetype.png) (https://postimg.org/image/50iawh6d5/)

Mouth is too open for happy/sad expression. She looks like she's about to say something she'd enjoy saying on the first pic and like she's about to scold someone on the second :)
Title: Re: General Discussion
Post by: Xela on August 08, 2016, 09:58:47 AM
Im not gonna try the cat mouth now as it seem complicated lol.. but i can change the size/shape for iris/pupils and their color if needed

Finish one char first, next one can be a cat girl or something... Do you have a set somewhere (like Dropbox)? Like all that's been done so far?
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 10:06:10 AM
Finish one char first, next one can be a cat girl or something... Do you have a set somewhere (like Dropbox)? Like all that's been done so far?


Thats the thing.. when i make those changes i make em for the current girl and all that will come after as its a template that accept everything you might add as custom shape.. so if i make a cat girl traits now.. every char i make could switch to a cat girl look like ( preserving all their own custom traits and basic shapes ) but with cat girls addons
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 10:08:41 AM
Mouth is too open for happy/sad expression. She looks like she's about to say something she'd enjoy saying on the first pic and like she's about to scold someone on the second :)


Yeah i know but its because its called mouth happy/sad Base and from there i could tweak it as needed.. rest of face is base so it looks weird but the real expression wil be like pain.. eyes/cheeks/brows moving where they should ( it was just to check out if i was able to make those strange shapes for the mouth )


Edit:
Maybe i named them wrong.. lets call em anime shape 1 and 2 lol


I sitll need 2 other common ones i think
Title: Re: General Discussion
Post by: Xela on August 08, 2016, 10:13:43 AM
Oki :)

I am going to see if chained attacked can be written as UDD for better handling of gfx/sfx. Doesn't look like Ren'Py issues will be addressed today so I don't know what should be fixed in our code and what they'll fix internally.
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 10:49:54 AM
Another shape ( the more rectangular one with round corners )


(https://s10.postimg.org/ien5fh51x/Mouthehhhanimetype.png) (https://postimg.org/image/ien5fh51x/)


might need to be larger but as base i can tweak it later
Title: Re: General Discussion
Post by: DarkTl on August 08, 2016, 11:00:11 AM
Ok, characters, traits and items now have evasion and resistance stats. They are pure chances of success, so we should be careful about giving big bonuses to them. This is also true for BE testing mod, where you give insanely huge bonuses to ALL stats including these two, making the chances to dodge and resist 100%.

Dodging can be prevented by making critical hit (based on pure luck, 35% with max possible luck), but successful dodging prevents any damage. Resistance cannot be prevented (maybe later, after the release, it will be different), but if successful it only changes initial damage multiplier from 1.0 to 0.65, removing 1/3 of spell damage. All elemental bonuses still work as usual though.

Another part of the system is healthlevel=(1-t.health/t.get_max("health"))*10. It does nothing with full health, but the closer health to 0, the more bonus it gives (up to 10% for attacks and 5% for spells), so targets with low health get small additional chance to avoid damage.

There is no place in the hero gui for these stats, nothing I can do about it. We probably should replace the blue polygon there with battle stats list.
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 11:28:40 AM
2 others.. ( ewww / mwww ) or something like that lol


(https://s20.postimg.org/od972qvzt/Mouthewwwanimetype.png) (https://postimg.org/image/od972qvzt/)(https://s20.postimg.org/lx7dowdx5/Mouthmwwwanimetype.png) (https://postimg.org/image/lx7dowdx5/)


If you think other mouth shapes are missing give me a sample of those ( all the ones i have made can be larger/bigger/on the side and also have control on the L/R up/down lips )


Edit:
Oops forgot to change the red eyes pupils..
Title: Re: General Discussion
Post by: DarkTl on August 08, 2016, 11:43:03 AM
Hmm. If you look at https://postimg.org/image/od972qvzt/ (https://postimg.org/image/od972qvzt/) and at https://postimg.org/image/ien5fh51x/ (https://postimg.org/image/ien5fh51x/) you can see the difference in the upper lip form. I mean, the upper lip cannot be like this (https://www.dropbox.com/s/zqo767aeb6rbacu/1a.jpg?dl=0), it can only be like this (https://www.dropbox.com/s/i88xs4zmwor3387/1b.jpg?dl=0).
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 12:01:34 PM
Hmm. If you look at https://postimg.org/image/od972qvzt/ (https://postimg.org/image/od972qvzt/) and at https://postimg.org/image/ien5fh51x/ (https://postimg.org/image/ien5fh51x/) you can see the difference in the upper lip form. I mean, the upper lip cannot be like this (https://www.dropbox.com/s/zqo767aeb6rbacu/1a.jpg?dl=0), it can only be like this (https://www.dropbox.com/s/i88xs4zmwor3387/1b.jpg?dl=0).


Goal was something like this. http://vignette3.wikia.nocookie.net/muvluv/images/4/42/3A51BF6D.png/revision/latest/scale-to-width-down/1000?cb=20151123173357 (http://vignette3.wikia.nocookie.net/muvluv/images/4/42/3A51BF6D.png/revision/latest/scale-to-width-down/1000?cb=20151123173357) or like this https://cs.sankakucomplex.com/data/12/46/12468de571ffc7b9d415f5d12a7b4836.jpg?4936963 (https://cs.sankakucomplex.com/data/12/46/12468de571ffc7b9d415f5d12a7b4836.jpg?4936963) but probably failed lol ( the open ehhh like mouth but with W shape instead top and or below )
Title: Re: General Discussion
Post by: DarkTl on August 08, 2016, 12:05:36 PM
Yeah, 3d makes it look kinda unnatural.
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 12:13:58 PM
ok thats the closest to what i wanted with its variant https://cs.sankakucomplex.com/data/d3/c7/d3c7f09ca70d3800dbe28cd81a7c0caa.jpg?5440343 (https://cs.sankakucomplex.com/data/d3/c7/d3c7f09ca70d3800dbe28cd81a7c0caa.jpg?5440343) but this 1 is too much.. and i guess it could be simplified to https://cs.sankakucomplex.com/data/d2/13/d21365342ea08d6709a9a94d52dbfaab.jpg?5478552 (https://cs.sankakucomplex.com/data/d2/13/d21365342ea08d6709a9a94d52dbfaab.jpg?5478552) in 3d and still get the right expression


If you think of something else i might need for base let me know..


Also i already got a few standing poses i posed here and some can use most expressions.. some only got 1 or 2.. if you see something i could add to a expression feel free to share with me as im not really creative lol
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 12:21:53 PM
Yeah, 3d makes it look kinda unnatural.


Im sure its possible to get it right but would require lots of tweaking.. ( hours lots trying to make it right ) while someone better than me with gimp/photoshop could fix it in less than a minute on my rendered pic lol
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 12:24:42 PM
To think of if.. thats what i wanted at first.. getting the general shapes from 3D so everything looks right ( proportions and all ) then draw on that.. only problem is im so bad at drawing i had to make the 3D look good lol
Title: Re: General Discussion
Post by: DarkTl on August 08, 2016, 12:28:41 PM
i guess it could be simplified to https://cs.sankakucomplex.com/data/d2/13/d21365342ea08d6709a9a94d52dbfaab.jpg?5478552 (https://cs.sankakucomplex.com/data/d2/13/d21365342ea08d6709a9a94d52dbfaab.jpg?5478552) in 3d and still get the right expression
Yeap, I think that one will look good even in 3D.

I dunno about drawing, the 3D models you make look pretty good already.
Title: Re: General Discussion
Post by: lamoli on August 08, 2016, 12:47:17 PM
For profile pictures i think ill keep em transparent so you can use any BG you want ( ex if you have different ones for any room she should appear on it will be simpler ) or if you use em as VN sprites left or right side of text like the example with Hinata..


For scenes il working on some 3D BG but most will show parts of beds/walls/sealing but never too much and then can even be blurred for focus effect witch simplify using them without too much on em
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 05:30:07 AM
So, can I add new animations, or better not until the bug with new renpy will be sorted out because it's possible that all animations must be redone now?
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 05:53:01 AM
So, can I add new animations, or better not until the bug with new renpy will be sorted out because it's possible that all animations must be redone now?

Sure... it'll take 2 mins to fix animation definition if if they can't fix whatever is different now.
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 03:38:49 PM
I pushed a very raw example of battle skill. I don't know what you did with recent pushes, but characters other than MC cannot use the new vitality based skill, unlike the time when I introduced the system of vitality and health based skills and tested it everywhere. I see that you moved around and changed that part of code a lot, so feel free to make it work as initially intended  ::)
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 04:05:57 PM
What is the name of the attack? What I did should have been safe cause I just removed code duplicates from subclasses and had parent class handle the methods, but I guess it isn't?
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 04:08:26 PM
Soul Sword. It's near the healing spells, since the game doesn't have a tab for melee "magic attacks".
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 04:09:36 PM
Soul Sword. It's near the healing spells, since the the game doesn't have a tab for melee "magic attacks".

If it's not magic, your should subclass it from SimpleAttack instead of the Magical. I'll take a look anyhow.
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 04:19:53 PM
It got got nothing to do with vitality, you can't "melee" from back row while your front row is still standing.
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 04:23:03 PM
Ranged doesn't work too.
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 04:26:49 PM
Ranged doesn't work too.

Set both ranged and an appropriate range. At least three to reach the front row of the other team (I think, don't remember if I had it start at 0 for code consistency or at 1 so it's intuitive for humans, it might be in comments somewhere and it's prolly the latter).
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 04:36:00 PM
Quote
SimpleAttack("Soul Sword", attributes=["ranged"], critpower=0.4, range=3, effect=4, vitality_cost=1, main_effect={"gfx": Transform("soul_sword", zoom=1.7), "sfx": "content/sfx/sound/be/sword.mp3"})
I tried to make it based on SimpleAttack. It only shows the first frame now...
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 04:39:02 PM
Last frame maybe? It's the f*cking bug I reported, it should show the animation correctly once and then you need to reboot the game (not reload with Shift + R, like completely close + start)...
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 04:47:00 PM
No, first. And I don't even need to use it once, like with the spells bug. I pushed it again.
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 04:49:00 PM
No, first. And I don't even need to use it once, like with the spells bug. I pushed it again.

I''ll take a look... I thought those were the same (like exactly the same), I was just using subclasses for sorting...
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 04:53:46 PM
You misunderstood, that way of defining attacks is obsolete! I put it in multiple places in the comments, in a perfect world we would have changed all definitions by now (even some magic is skill defined in the old fashion). You old code was perfectly fine, you just had to change the name of the class, rest of it being the same.
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 05:05:16 PM
Hm. The system is not ready for skills with attributes=["melee", "fire"] for example. Such animations exist in db, like a sword with flame around it. I guess some elifs should be tweaked to react properly.
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 05:08:45 PM
Maybe, I haven't seen that code in a long time. I can't figure out why my new class doesn't do sh!t :( I mean not even the most basic Ren'Py functionality of rendering... Going to try it under simpler conditions than BE...
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 05:30:06 PM
The simple way is to calculate attack and defense differently, and use standard rules for elements, with resistance and absorption stuff.

The hard way is to allow such attacks deal both physical and elemental damage, 50/50, with each part calculated differently. That would require changes I'm not capable of, ie one attack deals two or more types of damage one after another.
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 05:32:56 PM
Btw that aside, there are a few very cool multielemental spells in db. I suspect at some point this river will be crossed.
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 05:35:13 PM
Code structure is the same for both, isn't? Just the formulas/if.else forks are different?

I was on nightly, that's why nothing worked. Gonna fall back to prerelease and try again.

====>>>
On the multi-element front, I'll take a looksie, not sure what's going on there...
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 05:44:39 PM
I think we just need to remove the else in the effects method... just a slight rewrite of the code and it should all work. I think multi elements already work btw, at least according to code they do...
Title: Re: General Discussion
Post by: DarkTl on August 10, 2016, 06:31:26 PM
The system of attributes that we use is a bit confusing because it was developed to handle only very simple skills.
We have ranged and melee. They are both physical attacks, the difference is range, not source. So we shouldn't calculate anything related to damage based on them, they only should affect range. For physical source it's better to use another attribute, like "physical". I think I'll handle it on my own though.

The difficult part is to process more than one damage source. Like 50/50 light and physical, or 33/33/33 fire/air/darkness. Meaning:
- attack, defense and damage parts calculated as usual, without changing anything
- then damage output is divided equally between all sources attributes, like 50/50 for fire/air
- check for absorption and resistance for elemental parts, individually
- for those that were not absorbed or resisted checks for elemental multipliers, I mean those inside the get_attributes_multiplier function, individually too
- after calculations, deal all types of damage one after another, and report about it in the log
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 06:44:56 PM
The difficult part is to process more than one damage source. Like 50/50 light and physical, or 33/33/33 fire/air/darkness. Meaning:
- attack, defense and damage parts calculated as usual, without changing anything
- then damage output is divided equally between all sources attributes, like 50/50 for fire/air
- check for absorption and resistance for elemental parts, individually
- for those that were not absorbed or resisted checks for elemental multipliers, I mean those inside the get_attributes_multiplier function, individually too
- after calculations, deal all types of damage one after another, and report about it in the log

Doesn't it already work this way? I finished first working version of multistrike...
Title: Re: General Discussion
Post by: Xela on August 10, 2016, 07:43:57 PM
Fights at high level look redicoulous because everything is dodged. Whatever you did with spells, high level spells seem to damage opfor, even if no such thing is reported.
Title: Re: General Discussion
Post by: lamoli on August 10, 2016, 08:34:47 PM
Good.. only got base low poly game model early this morning and now its ready to use up to HD.. :D ( meaning my templates woks fine.. )


(https://s20.postimg.org/448hv69h5/Alishapose1.png) (https://postimg.org/image/448hv69h5/)(https://s20.postimg.org/hz6sdn3w9/Alishapose2.png) (https://postimg.org/image/hz6sdn3w9/)(https://s20.postimg.org/mmcufer95/Alishapose3.png) (https://postimg.org/image/mmcufer95/)(https://s20.postimg.org/5achtyxrt/Alishapose4.png) (https://postimg.org/image/5achtyxrt/)


Another stripper test..


(https://s20.postimg.org/7t2s8e8vt/Strip.png) (https://postimg.org/image/7t2s8e8vt/)(https://s20.postimg.org/qmol5e73t/Strip1.png) (https://postimg.org/image/qmol5e73t/)(https://s20.postimg.org/fpn9gmkc9/Strip1x.png) (https://postimg.org/image/fpn9gmkc9/)
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 04:28:47 AM
This is great!

===>>
Another thing that's great: All animations are fixed with the new Ren'Py upgrade. I am going to look into what happened to alignments and boarders but chances are that those are mistakes at our end. After that's done and ZeroDev error is fixed, everything will work again.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 04:46:22 AM
Fights at high level look redicoulous because everything is dodged. Whatever you did with spells, high level spells seem to damage opfor, even if no such thing is reported.

Damage is reported, even though report also states that spell was reflected...
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 08:26:39 AM
Fights at high level look redicoulous because everything is dodged. 
Damage is reported, even though report also states that spell was reflected...

Ok, characters, traits and items now have evasion and resistance stats. They are pure chances of success, so we should be careful about giving big bonuses to them. This is also true for BE testing mod, where you give insanely huge bonuses to ALL stats including these two,making the chances to dodge and resist 100%.

Dodging can be prevented by making critical hit (based on pure luck, 35% with max possible luck), but successful dodging prevents any damage. Resistance cannot be prevented (maybe later, after the release, it will be different), but if successful it only changes initial damage multiplier from 1.0 to 0.65, removing 1/3 of spell damage. All elemental bonuses still work as usual though.


high level spells seem to damage opfor, even if no such thing is reported.
Opfor?
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 09:28:34 AM
Opfor?

Quote
An opposing force (abbreviated OPFOR, used in the United States and Australia) or enemy force (used in Canada) is a military unit tasked with representing an enemy, usually for training purposes in war game scenarios.

It's used a lot in online military team shooters I used to play back in the day...

===>>
I forgot about your warning... this needs to be considered in leveling up function. Do we want those stats to be hidden btw?

Please check out the multi strike attack and tell me what you think, it may be sensible to randomize timings a little bit and/or allow overlaps between the animation instead of running them in a sequence of equal intervals. I also need to adjust dodging animation to conform with the timing of the attacks, that shouldn't be hard thought and will take 5 min max (I hope).

Then attacks would have to be redefined, I want to get rid of all old definitions anyway.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 09:56:13 AM
Yeah, I've updated leveling up func, it's used in the game so it's not only for testing, it's good that we found this bug early on.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 10:01:33 AM
As far as I know, they are excluded from usual leveling process. I used luck as example when added them, so they work in the same way as luck except the range part, they can be from -100 to 100%. Negative values are available because some traits or items may reduce the chance.

However, it's probably possible to set them via character data file. I dunno if it should be prevented or not, but they easily can be used for "cheating" if you set them to 100.

I already show them everywhere at profile and equipment screens, except the MC screen, because there is no place for them there. I think the blue polygon in MC profile should be replaced with a list of battle stats, because we have too many of them now to show via polygons.

The multistrike looks great. It makes sense to add support for overlapping, although as a optional thing, because it probably will look good only for skills with many hits (>5).

Btw ideally resistance shield animation should be tied to the spell length, and be shown as long as spell animation goes on.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 10:09:21 AM
Btw ideally resistance shield animation should be tied to the spell length, and be shown as long as spell animation goes on.

Already works this way, doesn't it? You can clearly see that when you're using spells of fast/long duration.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 10:15:47 AM
It's used a lot in online military team shooters I used to play back in the day...
Ohhhkey, the meaning of the sentence still evades me. Some spells damage enemies without reporting in the log or what?

Already works this way, doesn't it? You can clearly see that when you're using spells of fast/long duration.
I mean spells like fireball, the shield begins to work immediately, not when the fire ball comes into contact with the target. Not a big deal, of course.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 10:26:39 AM
Ohhhkey, the meaning of the sentence still evades me. Some spells damage enemies without reporting in the log or what?

(https://s9.postimg.org/9k46src4f/2016_08_11_17_21_15.jpg) (https://postimg.org/image/mo9r5g463/)screen shots (https://postimage.org/app.php)

Deflected and damage. I mean, we don't have a concept for this so there is no way for me to know if it's ok? Like only a part of the damage was reflected or something. I've seen opfor (enemies) die many times after they "deflect" the attack.

I mean spells like fireball, the shield begins to work immediately, not when the fire ball comes into contact with the target. Not a big deal, of course.

Right... gonna take a look, not sure if it is possible to handle that this way without fuss but it might be, I tried to code the BE as sensible as I could.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 11:14:59 AM
Deflected and damage. I mean, we don't have a concept for this so there is no way for me to know if it's ok?
Deflecting removes 1/3 of damage, it still can kill. I suppose you could disable deflecting if successful deflecting still won't save the target, if it bothers you.

Like only a part of the damage was reflected or something.
Reflecting damage back is a nice option too, but only post beta or release.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 12:34:45 PM
Right, I am going to mess with chain attack a little bit more tonight, if that goes well, I'll review the BE a bit, see what you did there and what else can be done to make it's code more intuitive so we can take out all issues...

One of the issues is that I tried to code it so it works as fast as possible, because we'd be running it a lot but that was a mistake cause new features are now harder to add.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 12:40:19 PM
There is another issue. When you added magic shiled animation, you made it work like evasion for magic. Ie it uses the very same mechanics, but when you show the animation you check gfx tied to the used skill (if I'm not mistaken), and if it's != "dodge" you show the magic shield animation instead of dodging animation.

That forced me to use the same check (gfx != dodge) in multiple places to make it work as I needed.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 12:53:19 PM
I have your last push, and I can see that in BE testing mode characters still have 100 evasion and resistance.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 01:12:02 PM
Quote
    image soul_sword:
        "content/gfx/be/animations/soul_sword/soul_sword_1.png"
        pause 0.1
        "content/gfx/be/animations/soul_sword/soul_sword_2.png"
        pause 0.1
        "content/gfx/be/animations/soul_sword/soul_sword_3.png"
        pause 0.1
        "content/gfx/be/animations/soul_sword/soul_sword_4.png"
        pause 0.1
        "content/gfx/be/animations/soul_sword/soul_sword_5.png"
        pause 0.1
        "content/gfx/be/animations/soul_sword/soul_sword_6.png"
        pause 0.1
        "content/gfx/be/animations/soul_sword/soul_sword_7.png"
        pause 0.1
        "content/gfx/be/animations/soul_sword/soul_sword_8.png"
        pause 0.1
How can I use anchors for animations like that? Simply adding anchor (0.5, 0.5) in the beginning does nothing.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 01:26:36 PM
How can I use anchors for animations like that? Simply adding anchor (0.5, 0.5) in the beginning does nothing.

That should work, what do you want to do with it? I've already said that working with these animations is confusing as hell... but I can usually manage. Might be simpler to webm them using adobe soft, that was very simple and intuitive.

I have your last push, and I can see that in BE testing mode characters still have 100 evasion and resistance.

Yeah, func is not used there. I'll adjust it.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 01:40:45 PM
There is no visible difference between anchor (1.0, 1.0) and (.0, .0). I also don't see examples of using anchors with that kind of animation in BE, so my guess is it's not supported.

Might be simpler to webm them using adobe soft, that was very simple and intuitive.
I recall problems with alpha masks you did not solved... Far from intuitive and simple.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 02:06:53 PM
There is no visible difference between anchor (1.0, 1.0) and (.0, .0). I also don't see examples of using anchors with that kind of animation in BE, so my guess is it's not supported.

Yeah... anchor assumes some container to anchor... like a Fixed that is the size of the largest frame of the animation. We don't do those calculations because even that is not always what is required. I looked over those animations once, there doesn't seem to be a clear pattern, it's like they are aligning those animation one by one manually.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 02:09:24 PM
I recall problems with alpha masks you did not solved... Far from intuitive and simple.

Really? I thought I got it working perfectly in the end? It was a while back thought... Did I post it or not?
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 02:31:33 PM
Yeah, AE was the right soft for it after I tried a lot of other crap.

http://www.pinkpetal.org/index.php?topic=1291.msg39467#msg39467

The trouble is that at Edit #19324 I deleted the instructions... could have sworn that I posted them! Maybe it was somewhere else :(

Edit: I'll take it back, it's not very intuitive because I don't remember half of what I did... still got the projects thought (both magical book that I used to practice and the might of zeus animation that I put into the game) so I can figure it out. Not now anyway...
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 04:00:20 PM
Xela, add tooltips for non magic attacks inside BE. They all have cost and description after all.

I figured webms more or less, pushed proper soul blade skill.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 04:27:59 PM
Xela, add tooltips for non magic attacks inside BE. They all have cost and description after all.

It used to be simpler :)

Edit: And it's done.

I figured webms more or less, pushed proper soul blade skill.

Looks great!
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 05:22:01 PM
I mean spells like fireball, the shield begins to work immediately, not when the fire ball comes into contact with the target. Not a big deal, of course.

I can fix this... gonna try it right after I am done with a new set of multi attacks for sword.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 05:30:04 PM
Xela, add tooltips for non magic attacks inside BE. They all have cost and description after all.

I need to write better AI and recursion prevention of some kind. Right now automatic combat assumes that there is at least one attack that is absolutely free so battle will end at some point... even if it takes 10 000 hits. The way you're using vitality, auto-combat will go into an infinite recursions loop if everyone runs out of MP and VP before one of the parties runs out of HP.

Never dealt with this issue before so I am not really sure how to proceed here without adding too much overhead...
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 05:50:51 PM
I thought about adding waiting option that restores vitality.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 05:54:20 PM
I thought about adding waiting option that restores vitality.

Simple, effective and doesn't require almost any core rewrite at all... I like it :)
AI is still sh!t and needs to be improved but your idea would solve any possible recursion errors.

Edit:
We can actually rename skip to wait and have it restore Vp! There should be no case in which combatant would not want VP restored.
Title: Re: General Discussion
Post by: DarkTl on August 11, 2016, 06:21:31 PM
Pushed fire based skill. Since it has ranged and fire attributes, it should do 50/50 physical/fire damage. It's not atm. Your turn  :)
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 06:31:36 PM
Pushed fire based skill. Since it has ranged and fire attributes, it should do 50/50 physical/fire damage. It's not atm. Your turn  :)

This is prolly more complicated that I can handle this late at night. Still doing the multi-attack thing, improving BE as I go.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 06:47:28 PM
Just pushed new skills based off multi attack, some decent improvements there:

- We now prevent two same image flips in a row.
- Timings can overlap a little bit.
- Interval and amount of times can be set in the definition of the skill.
- Default gfx timings are now more sensible.
- More appropriate random offsets (I don't fully understand UDD placing ATL at the moment).

===>>
Going to look into shield timings for P2P attacks next.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 08:14:45 PM
Going to look into shield timings for P2P attacks next.

I think it's working. Just for fireball, same thing needs to be added to other similar spells in definitions. Thing is... I am not sure that current approach is ok :( It's not dodging, dodging assumes that attack misses the target, number assumptions is being made there, like that target cannot die from an attack that was dodged.

Going to adjust timings for dodging multi-strikes (which is easier) and call it a night.
Title: Re: General Discussion
Post by: Xela on August 11, 2016, 08:29:08 PM
There should be spells that cannot be avoided at all, like 8th level once ( at times with unique animations)... Tornado for once looks really off if someone is shielded but still died at the end while there is another enemy on the team that gets blown away.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 06:57:00 AM
Yeah, I thought about adding unavoidable skills and spells too.

I'll add "physical" attribute to the Solar Incision skill with the next push. We should stop to use melee and ranged as damage source, so when you will code that fire/physical 50/50, use the physical attribute for checks, not ranged/melee.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 07:45:39 AM
I want to show a webm twice or more in the row. How could it be done without making a new webm?
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 07:50:13 AM
Ok, I managed to sneak in a bit of work straitening out the interface, just to see what's up there. As expected, some forced offsets and alignments that I had to add are no longer required. One remains and I am not sure if we should report it as a bug cause we can make everything look great again and code will be much simpler too...

Rest of gui will wait cause I want to get under the cover of BE next. It's gonna be tough so lets brainstorm a little bit about what we want the system to do and how, there are too many options like:

- Armor/Equipped Items/Weapons damage/defence mods.
- Using (some) Items in Combat.
- Breakers (stacked damage under specific conditions, like Fire Weapon + Fire Alignment + Enemies Water Alignment + Critical Strike, for one example...).
- Skills that cannot be Dodged or Evaded.
- Buffs (This one is a bit difficult cause I am not sure what a good (coding) strategy to buff is... but I do have ideas and if we want it now, we need to talk about it as well).
- Other?

===>>
I'll be back in a couple of hours, maybe some other options come to mind, those are options, not saying everything has to be done right away.

+ What we talked about:

- Calculate all attack types for physical and magical damages
- Go over the code, try to make sure it's clean and not repetitive if possible
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 07:54:31 AM
I want to show a webm twice or more in the row. How could it be done without making a new webm?

Pff... You can either do a looped (endlessly) version or show once version. Actually, "show once" version is my code expansion of the looped version... Ren'Py only does the looped version... I'll take a looksie at this, but you can prolly do something like:

image show_twice:
    webm
    pause 1.2 # (Duration of the webm)
    webm
    pause 1.2
    Null() # Not really required...

it might work. I'll look into if we can specify amount of loops...

I got to go now, be back in a couple of hours, I'll push gui changes made to part of char profile and list screens.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 09:21:25 AM
Nope, it either shows webm only once or immediately CTD depending on approach  :D

Something has to be done about Mudslide spell. It looks terrible at the upper edge.
 
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 10:58:53 AM
From now on any skill/spell that has "inevitable" attribute cannot be dodged or deflected. I added it to all highest spells.

I think it's working. Just for fireball, same thing needs to be added to other similar spells in definitions.
Done, works very well for some non P2P animations too.
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 11:46:24 AM
Odd phrasing... I'd call it unavoidable or unstoppable. Maybe inescapable...

It sounds like it must happen now, not that it cannot be dodged/deflected. What do you think on logical front? My post prior to webm?

I am going to look into webm now, see if it's possible to get more control over.
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 12:14:24 PM
Something has to be done about Mudslide spell. It looks terrible at the upper edge.

It's not us? It's the animation itself... we can maybe put it in some weird round container but doing something else is prolly much simpler.
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 01:25:13 PM
LoL

It took me half an hour to figure out what I did in the first place to get it (webm) to loop once :D Apparently it was just changing one single line in the definition...

I'll try to do one thing, if it doesn't work, it's not worth wasting time on, PyTom can prolly do it if we ask cause it sounds like a very appropriate feature for the engine.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 01:45:49 PM
Odd phrasing...
I like how it sounds  :)

- Armor/Equipped Items/Weapons damage/defence mods.
I'm not sure what exactly you mean here. In general I think it would be good for armor and weapons to have absolute damage and defense values that increase or decrease resulting damage directly after all usual calculations, ie -5 fire damage for an armor. But it might be too much trouble with little result, since it means adding moar (hidden) stats for all characters.

Another possible option is to have base damage range on all weapons. Like 1-2 for a basic dagger. This range can be used for damage calculations to make them less dependable on attack and more on equipped weapon.
It means however that everyone should have damage range, even creatures who cannot use weapons, or npcs at arena who most likely don't even have equipped weapons. So it might be too much trouble too.

- Using (some) Items in Combat.
For the purpose of balance everything but food has cblock fields. They also should work inside SE to prevent spamming 100 healing potions per day.
Perhaps we should stay away from using items, at least normal ones. Or allow them to be used as long as cblock field works as it should outside of BE.

- Breakers (stacked damage under specific conditions, like Fire Weapon + Fire Alignment + Enemies Water Alignment + Critical Strike, for one example...).
Any weapon skill has a chance to be a critical one or to be evaded. Any spell has a chance to be deflected (except inevitable ones) and cannot be dodged or hit critically. This is the part we have already.

Now, critical hit should only affect physical part of damage if there are multiple damage sources. Just like elemental traits affect only specific elements during damage calculations. Critical hits already cancel out any evasion (35% chance of crit hit at 50 luck), so even without full damage multiplication they are useful.

Elemental weapons... Yeah, it's something I wanted too. But seeing how we can have 50/50 physical/fire skills, the easiest way is absolute damage bonus in items json, such as +10 ice, affected by elemental traits as usual. This bonus adds to any simple attack or weapon skill.

- Skills that cannot be Dodged or Evaded.
Yeap, inevitable skills cannot be dodged too.

- Buffs (This one is a bit difficult cause I am not sure what a good (coding) strategy to buff is... but I do have ideas and if we want it now, we need to talk about it as well).
Well, buffs/debuffs animations from db are awesome, would be a waste to ignore them. But I think it's too early, we should establish stable BE before adding such stuff. Maybe after beta...

I'm not asking to add everything here and now though, except skills with multiple elements  :)

 I dunno how hard some parts will be for coding, perhaps they are not worth it at all.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 02:02:31 PM
I'll try to do one thing, if it doesn't work, it's not worth wasting time on, PyTom can prolly do it if we ask cause it sounds like a very appropriate feature for the engine.
I'll tell you straightly what I need it for. Soul spear skill I added today is too short by itself, I already did the best I could in After Effects to make it longer. If we could launch it to the target 2-3 times, perhaps changing y coordinate a bit every time, it will look better.
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 02:05:08 PM
I'll try to do one thing, if it doesn't work, it's not worth wasting time on, PyTom can prolly do it if we ask cause it sounds like a very appropriate feature for the engine.

Ok... I "give up". I tried to do that one thing and it worked perfectly... I ran the webm animation with specified number of loops like 20 times and it never failed or went out of sync even once. I now officially refuse to keep guessing why it is not a thing in Ren'Py that plainly comes with the engine.

Gonna wrap up the code and push soon.

======>>>
I'm not sure what exactly you mean here. In general I think it would be good for armor and weapons to have absolute damage and defense values that increase or decrease resulting damage directly after all usual calculations, ie -5 fire damage for an armor. But it might be too much trouble with little result, since it means adding moar (hidden) stats for all characters.

Maybe not... doesn't sound too complicated but I'll think about before doing anything.

Another possible option is to have base damage range on all weapons. Like 1-2 for a basic dagger. This range can be used for damage calculations to make them less dependable on attack and more on equipped weapon.
It means however that everyone should have damage range, even creatures who cannot use weapons, or npcs at arena who most likely don't even have equipped weapons. So it might be too much trouble too.

We're prolly thinking different concepts...

For the purpose of balance everything but food has cblock fields. They also should work inside SE to prevent spamming 100 healing potions per day.
Perhaps we should stay away from using items, at least normal ones. Or allow them to be used as long as cblock field works as it should outside of BE.

I am thinking adding a new field to items, like be_ready. But maybe it's too early...

Any weapon skill has a chance to be a critical one or to be evaded. Any spell has a chance to be deflected (except inevitable ones) and cannot be dodged or hit critically. This is the part we have already.

Now, critical hit should only affect physical part of damage if there are multiple damage sources. Just like elemental traits affect only specific elements during damage calculations. Critical hits already cancel out any evasion (35% chance of crit hit at 50 luck), so even without full damage multiplication they are useful.

Elemental weapons... Yeah, it's something I wanted too. But seeing how we can have 50/50 physical/fire skills, the easiest way is absolute damage bonus in items json, such as +10 ice, affected by elemental traits as usual. This bonus adds to any simple attack or weapon skill.
Yeap, inevitable skills cannot be dodged too.
Well, buffs/debuffs animations from db are awesome, would be a waste to ignore them. But I think it's too early, we should establish stable BE before adding such stuff. Maybe after beta...

Ok. Keep buffs on hold, do the unblock ble skills thing and maybe breakers. I need to think about it a bit before starting coding, gonna do the webm thing first.
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 02:08:12 PM
I'll tell you straightly what I need it for. Soul spear skill I added today is too short by itself, I already did the best I could in After Effects to make it longer. If we could launch it to the target 2-3 times, perhaps changing y coordinate a bit every time, it will look better.

This is a bit different from just lopping it, I'll see if this can be done as well.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 02:10:29 PM
I am thinking adding a new field to items, like be_ready. But maybe it's too early...
If we allow certain items to be used limited amount of times outside BE but unlimited inside, we welcome players to attack low level goblins at arena, heal all party completely and run away, ignoring cblock limitations.
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 02:16:46 PM
I'd say the best way is to create special new items that can be used unlimited amount of times anywhere and heal/restore mp or vitality immediately. But once used, they give major temporary debuffs once the battle is over, like decrease max health or reduce incoming exp.
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 02:45:14 PM
MovieLoopedOnce was renamed to MovieLooped and not takes "loops" argument that defaults to 1. Gonna take a look if we can change y position now using normal renpy mech.
Title: Re: General Discussion
Post by: Xela on August 12, 2016, 03:01:39 PM
I'll tell you straightly what I need it for. Soul spear skill I added today is too short by itself, I already did the best I could in After Effects to make it longer. If we could launch it to the target 2-3 times, perhaps changing y coordinate a bit every time, it will look better.

Code: [Select]
image wemb_test:
    MovieLooped(channel="main_gfx_attacks", loops=2, play="content/gfx/be/webm/moz_movie.webm", mask="content/gfx/be/webm/moz_mask.webm")
    pause 3.4
    yoffset 100
    pause 3.4

Something along these lines seems to work...
Title: Re: General Discussion
Post by: DarkTl on August 12, 2016, 03:48:54 PM
Yeah, works fine.
Title: Re: General Discussion
Post by: DarkTl on August 13, 2016, 01:06:28 PM
Can we seamlessly move webm while playing it?
Title: Re: General Discussion
Post by: Xela on August 13, 2016, 01:10:13 PM
Can we seamlessly move webm while playing it?

Sure, it should be possible.
Title: Re: General Discussion
Post by: lamoli on August 13, 2016, 01:26:53 PM
Hmm did you try to make a webm out of .png images yet ? im trying with ffmpeg but it only takes the first 10 images out of 54 >.<
Title: Re: General Discussion
Post by: Xela on August 13, 2016, 01:30:40 PM
Yeah, but we've been using AE for that, it has interface and more options... I don't remember how to do it exactly cause it was like half an year ago as it was tested last, but it worked well. Dark managed couple of animations perfectly fine just yesterday as well. ffmpeg also worked for me.
Title: Re: General Discussion
Post by: lamoli on August 13, 2016, 01:35:55 PM
Yeah, but we've been using AE for that, it has interface and more options... I don't remember how to do it exactly cause it was like half an year ago as it was tested last, but it worked well. Dark managed couple of animations perfectly fine just yesterday as well. ffmpeg also worked for me.


yeah im stuck with the stupid command line.. but result its great ( transparent bg webm ) but it only encode 10 images out of the 54 i need


Edit:
Whats AE ?
Title: Re: General Discussion
Post by: lamoli on August 13, 2016, 01:51:29 PM
could either of you zip me your working ffmpeg and put it in dropbox so i could find out where is my problem ?
Title: Re: General Discussion
Post by: Xela on August 13, 2016, 01:58:26 PM
Abobe After Effects. I need to see if I still have working ffmpeg somewhere.
Title: Re: General Discussion
Post by: lamoli on August 13, 2016, 02:11:30 PM
i found out what was the problem.. it was frame rate lol.. Can AE make webm with transparent BG like FFmpeg does ?
Title: Re: General Discussion
Post by: DarkTl on August 13, 2016, 02:34:41 PM
I use After Effects to create animation from png sprites, then send it to Media Encoder, which with webm plugin capable to render webms (After Effects alone cannot create webms).

For transparency we use masks created in the same way. You probably need them too. I mean, this (https://www.dropbox.com/s/gitprotg9yo4wg4/v.webm?dl=0) is animation, and this (https://www.dropbox.com/s/ix7xjs0sfgl9ez7/v_alpha.webm?dl=0) is transparency mask.
Title: Re: General Discussion
Post by: DarkTl on August 13, 2016, 02:45:22 PM
Although, since you create it differently, I'm not sure you need alpha masks. You could upload an example of webm, and we'll check it inside the game to make sure.
Title: Re: General Discussion
Post by: Xela on August 13, 2016, 02:56:26 PM
https://dl.dropboxusercontent.com/u/43556362/ffmpeg.rar

This is what I used but it's the default version.
Title: Re: General Discussion
Post by: lamoli on August 13, 2016, 04:08:53 PM
I might be able to do it with AE if when you chose output format (quicktime) and if there is channel RGBA option ( RGB only doesn't give transparency ) then i can ffmpeg encode the mov into webm


If you have AE can you check that out ?
Title: Re: General Discussion
Post by: Xela on August 13, 2016, 04:17:00 PM
I use After Effects to create animation from png sprites, then send it to Media Encoder, which with webm plugin capable to render webms (After Effects alone cannot create webms).

For transparency we use masks created in the same way. You probably need them too. I mean, this (https://www.dropbox.com/s/gitprotg9yo4wg4/v.webm?dl=0) is animation, and this (https://www.dropbox.com/s/ix7xjs0sfgl9ez7/v_alpha.webm?dl=0) is transparency mask.

This is the way to do it... you can make a plain movie and than, if you want transparency, add a mask by messing with channels (set red to alpha if I remember correctly).
Title: Re: General Discussion
Post by: lamoli on August 13, 2016, 04:33:53 PM
the problem with that solution is you have edges problems.. and it will ruin my work :p

Title: Re: General Discussion
Post by: DarkTl on August 13, 2016, 04:45:06 PM
No, you set all three colors to alpha, and do nothing with alpha itself.

There is RGBA option and quicktime format, yeah.


In theory mask is not needed since webms should support alpha. But my animations still have black background without masks ingame even with alpha enabled, so I suppose renpy itself wants the mask webm no matter what.
Title: Re: General Discussion
Post by: Xela on August 13, 2016, 05:04:14 PM
In theory mask is not needed since webms should support alpha. But my animations still have black background without masks ingame even with alpha enabled, so I suppose renpy itself wants the mask webm no matter what.

That's sort of a half truth... webm's do "kind of" support alpha channel but it's a bit of a late-addon hack and while it was supposed to be safe and not mess with the format, a lot of player break when such a video is played. There is a support for it on Chrome browsers, but it doesn't seem to be gaining much attention from developers.

When I was looking into it, what they did in Ren'Py is actually considered a very decent solution. Although, to be perfectly honest, ,gif support might have been more welcome, even if it is an outdated format... I mean, they are trying to kill (unrelated) Flash for like a decade and still sh!tloads of games/players/content are made with it, when something got into the mainstream, getting it out to make a way for something new is not easy.
Title: Re: General Discussion
Post by: Xela on August 13, 2016, 05:04:52 PM
the problem with that solution is you have edges problems.. and it will ruin my work :p

What edges problems? Everything should work just fine...
Title: Re: General Discussion
Post by: DarkTl on August 13, 2016, 06:10:04 PM
I recall PyTom saying gifs and apngs are not supported by used libraries too, so it would require additional coding.

I'd welcome more webm options instead. Such as color filters or full control over playing speed and direction.
Title: Re: General Discussion
Post by: Xela on August 13, 2016, 06:13:15 PM
I am calling it a night, just went over the BE logical effects code. It's not too bad but structuring it more appropriately might be a thing (to make it simpler to use with all the extra logic we want).
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 05:24:10 AM
What edges problems? Everything should work just fine...


Problems with high resolution masks ( some pixels on the edge wont match when you put the transparent image on top ) i had that problem with equipment doll tryouts for the transparent clothing layer..


Then again you would have to really check the picture really close to see the errors ( i just dont like to have to improve on it later if there is a solution now )


For FFmpeg i got the right .mov or .png files with yuva so can make or break the mov and transparency works.. i also have the right command line and desired out result in cmd window confirming it should be working but the problem is the libvpx vp8 lib file who isnt working as those compiled verssions are messed up by ppl who contribute on github.. i tried all the windows package i could find.. yours included but non got the right library lol


Edit:
Oh no.. looks like its even worse lol.. maybe my webm files works alright.. i just cant decode it like chrome can so when i output as usual i have black BG
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 05:31:30 AM
I don't know... it just worked for me right of the bat, I still have the webm movies made with it. You can just upload the png sequence and Dark (who messed with this like yesterday, or I after a review of my projects in AE) can make the required animations.

=======>>>
@Dark:

Don't mess with core.rpy for a while, I am going to make some structural changes there which could make conflicts too difficult to resolve. It is perfectly safe to make new skills and stuff. It'll take a while, I can't come up with a good code setup (yet).
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 05:47:21 AM
I don't know... it just worked for me right of the bat, I still have the webm movies made with it. You can just upload the png sequence and Dark (who messed with this like yesterday, or I after a review of my projects in AE) can make the required animations.

yeah loaded my pngs into AE and got .mov with alpha but cannot do webm.. need FFmpeg for that ( a good 1 )

Dark does this mean you have a working FFmpeg with working libs ? if so please zip and box it for me


Edit:
I guess what im missing is a way to test the file in chrome to find out if the transparency is working.. if you know how let me know
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 06:36:14 AM
Omg its working lol..


Only work with chrome tho even vlc cant use transparency i will link the test file in a sec :p



Edit:
Unhappy with the online BG iv found so will render 1
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 06:56:33 AM
?

You need to create two movies... One is the normal webm movie, default settings. Second is the same movie (called "mask") but you need to set png alpha channel to red channel of the movie (or do the thing that Dark does, simply setting all channels to Alpha, I think file size might be slightly bigger this way, but it's still a lot smaller than pngs).

Ren'Py will take the red channel from the mask movie and use it as an alpha channel for the first.

=========>>>
We do have auto-animation script in PyTFall as well btw. So you can just use pngs, size is the main advantage for webm with no quality loss.

=========>>>
You need the other piece of soft to make webms directly from AE, Dark mentioned it.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 06:58:36 AM
?

You need to create two movies... One is the normal webm movie, default settings. Second is the same movie (called "mask") but you need to set png alpha channel to red channel of the movie (or do the thing that Dark does, simply setting all channels to Alpha, I think file size might be slightly bigger this way, but it's still a lot smaller than pngs).

Ren'Py will take the red channel from the mask movie and use it as an alpha channel for the first.

=========>>>
We do have auto-animation script in PyTFall as well btw. So you can just use pngs, size is the main advantage for webm with no quality loss.

=========>>>
You need the other piece of soft to make webms directly from AE, Dark mentioned it.


I just managed to create real webm with transparent BG without masks
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 07:18:59 AM
I just managed to create real webm with transparent BG without masks

That will work in Chrome and nowhere else...
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 07:48:29 AM
Dark does this mean you have a working FFmpeg with working libs ? if so please zip and box it for me
Of course not, I use Media Encoder with webm plugin for rendering, it covers all my needs.
I could upload Media Encoder iso to mega, I suppose  :)

I encountered a new issue while processing animations from db. Complex animations consist of multiple png sprites, for example one is a shooting bow and another its arrows falling from above.

Or one is a sequence of attacks and another is damage effect like our default shaking, ie small animation that shows how those attacks hit the target, and both those animations should be shown at the same time.

Current animation functions do not support this stuff, or maybe they do, but we lack examples how it can be done. So I'll make all suitable webms for a start, then you'll have to take a look at the coding part.
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 08:09:02 AM
Current animation functions do not support this stuff, or maybe they do, but we lack examples how it can be done. So I'll make all suitable webms for a start, then you'll have to take a look at the coding part.

They should... and there is one of the classes where I thought that every single line of code, simple or complex was documented trouble is... I can't find it :( :)

Maybe it was the custom class of the old, Jake's BE that I've spent half a day writing an assay about.

===>>
A lot depends on the animation itself... does it need to be reversed if it is cast from the other side? Is there a part of it that needs to be reversed and part that does not? Do we handle the movement ourselves or is the animation is large enough to handle it internally.

There is simply no "standardizing" these questions, you need to understand how the BE GFX/SFX sequencing works and apply that knowledge on per (complex) animations bases.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 08:13:34 AM
That will work in Chrome and nowhere else...


well if they did it it means it should be possible to to the same kind of hack even for renpy.. ( as its only a matter on knowing how to decode the img and use alpha as background )
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 08:35:21 AM
Some animations require two or three webms at the same time. I wonder if there is a limit of how many webms can be played.
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 08:46:07 AM
well if they did it it means it should be possible to to the same kind of hack even for renpy..

Not really. As I wrote few posts above, they were like the first and maybe the only once who went down that path. While it was supposed to be benign modification to the codec, a lot of player broke down and most of the player never went to support it.

As far as Ren'Py is concerned (most Ren'Py devs actually don't know/understand this cr@p as it is not documented anywhere):

- Actual decoding is done in "C" (programming language) land. It is just so much faster than Python that it makes sense to use even for Ren'Py, most of which is written Python.
- What we get in "Python" land is a direct result of a frame calculated in C.
- We access that frame using a "bridge" which requests it. It uses Ren'Py's sound control system for timing those requests (which is actually quite decent at handing/syncing time). Ren'Py does not use usual Python timing methods (a lot) because neither Python multi-threading, nor default timing modules can be "Rollback"/"Saving" safe, and that is something Ren'Py dev seems to be taking very serious (to an unreasonable level in my own opinion).

All of that cr@p, means that we do not have control of the direct decoding process and cannot modify it. Last I coded in C (C++ to be precise) was like 3 years ago. I never wrote anything resembling a serious program in any C language (except C#, four year ago) in my life. Still, the main problem would remain, that even if we manage to modify C decoder, we'd have to either convince to Ren'Py dev to use our version or every time upgrade for Ren'Py is released, build our own version of it.

All of that is simply not worth it... we have control of normal Ren'Py rendering and time controls and can request frames from "C" land but even that is not a simple task. So we'll have to use what is given to us by Ren'Py devs (in this case) and modify it's bases (like times the movie is looped).

=======>>
And Ren'Py can do animations from still png frames... I mean, we're using all of those animations for BE from a number of sources and they were all png to begin with. Webm simply allows custom alignment and smaller size.
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 08:49:02 AM
Some animations require two or three webms at the same time. I wonder if there is a limit of how many webms can be played.

Given the same frame rate, you should be able to play quite a few. You need to use different channel names I think. Rest depends on the machine you're on, I figure even a low-entry laptop (or a half decent tablet) nowadays should be able to manage 2 or 3...
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 09:00:37 AM
you need to set png alpha channel to red channel of the movie (or do the thing that Dark does, simply setting all channels to Alpha, I think file size might be slightly bigger this way, but it's still a lot smaller than pngs).
It probably was fine for your Cataclysm spell because it was all red, but for animations with less red such mask is less accurate than needed.
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 09:36:52 AM
It probably was fine for your Cataclysm spell because it was all red, but for animations with less red such mask is less accurate than needed.

No... you (possibly) still misunderstand the concept. Same movie works for cataclysm (as movie and mask) because it is mostly red! There are channels in most movie formats (called RBG):

- Red
- Green
- Blue

Some, like webm, have another channel, Alpha (but there are precious few players that can read it, like Google Chrome browser).

Your first, normal movie, is just a normal webm. With three RGB channels with each pixel encoded to a value between 0 and 255 resulting in millions of variation. Second movie (mask movie), is used to handle transparency. In that movie, Green and Blue channels are ignored while Red channel is being used to determine alpha (which is an alias for transparency) for every pixel.

Now, PNG image format, supports four channels (RGBA):

- Red
- Blue
- Green
- Alpha

That last channel, also ranging from 0 - 255 (0 being fully transparent and 255 being fully opaque) determines transparency of every pixel in the image which would become a frame in the movie as you convert.

So:

As you convert PNG to webm to be used in Ren'Py, you will be using .png frames and got to do the following:

Movie one (normal webm movie):

- PNG Red ==> WEBM Red
- PNG Blue ==> WEBM Blue
- PNG Green ==> WEBM Green

Movie Two (Special ("mask") webm movie)

- PNG Alpha ==> WEBM Red

(This second movie's red channel will be used by C decoder as Alpha channel and send the final frame, made up from both movies to the Python land and Ren'Py will be able to render it using the same process it renders everything else).

=========>>>
The reason Cataclysm works is that Red channel is so distinct there so it can pretty much be used as an alpha channel without messing with channels for the second (mask) movie.

What you said you were doing is setting PNG Alpha channel to every channel of the "mask" movie but Ren'Py will ignore all channels of that Movie except Red, so you're basically adding information there which will not be used. Unless you're doing something else that accidentally works... As you claimed, you're making the first movie a normal webm and doing this for the mask (which obviously works because Red channel is exactly what it needs to be):

Movie Two (Special ("mask") webm movie)

- PNG Alpha ==> WEBM Red
- PNG Alpha ==> WEBM Blue
- PNG Alpha ==> WEBM Green

You don't need it, real alpha value ranges from 0 - 255, there can not be any merit of setting all three channels because every pixel has just one Alpha value, not three (like not one per color). If you get different results when using three channels, you're doing something weird, like custom/proprietary algorithms that Abode is using that accidentally works out but is not necessary or even has any sort of advantage.

What lamoli was doing is setting:

- PNG Red ==> WEBM Red
- PNG Blue ==> WEBM Blue
- PNG Green ==> WEBM Green
- PNG Alpha ==> WEBM Alpha

in a single file but Google Chrome Browser video player might be the only thing that can decode that, although some other soft may have caught on by now... Ren'Py will play this incorrectly...
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 10:33:28 AM
Here a test..


https://www.dropbox.com/s/8sqjmygnnn9e95t/WEBM.rar?dl=0 (https://www.dropbox.com/s/8sqjmygnnn9e95t/WEBM.rar?dl=0) Run the html with chrome ( webm doesn't follow resize but you can drag it to where it should be if you do change the window size )


As for the webm itself its not a animation its a morphing from pose to pose and i asked blender to extrapolate the transitions.. but know that i see it can do all this i might make some real animations..

Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 10:43:04 AM
I think it works differently in After Effects. I set colors channels to alpha without rendering transparency. That results in black and white webm where pure white is alpha 255 and pure black is alpha 0. At this point doesn't matter which color channel is used by renpy for mask, since they all present in white color equally.

But if I disable some channels instead of including them into alpha, that might lead to not including parts of animation into the black and white webm, so renpy will not even see them.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 10:47:30 AM
Actually i use YUVA and not RGBA as its the only way to encode it right with the solution iv found
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 10:51:28 AM
Here a test..
We usually use "pytfall" password for archives, but in your case it doesn't work, so I'm at loss here  :)
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 10:52:21 AM
We usually use "pytfall" password for archives, but in your case it doesn't work, so I'm at loss here  :)


Omg must have used "Pytfall" this time .. i just renamed hundreds of files with Capitals so it must have been a mistake from there lol
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 10:54:30 AM
I think it works differently in After Effects. I set colors channels to alpha without rendering transparency. That results in black and white webm where pure white is alpha 255 and pure black is alpha 0. At this point doesn't matter which color channel is used by renpy for mask, since they all present in white color equally.

But if I disable some channels instead of including them into alpha, that might lead to not including parts of animation into the black and white webm, so renpy will not even see them.

Well, like I've said, you may be doing some custom propitiatory thing. ffmpeg can actually do a mask without showing anything visible at all... some weird internal webm thing. What I laid out there is how it is working logically, you have four channels in .png sequence and four channels between the two webm movies. in the second movie, blue and green channels are not read by Ren'Py so if whatever you're doing encodes red channel to be what it got to be, it's all perfectly valid.

Here a test..


https://www.dropbox.com/s/8sqjmygnnn9e95t/WEBM.rar?dl=0 (https://www.dropbox.com/s/8sqjmygnnn9e95t/WEBM.rar?dl=0) Run the html with chrome ( webm doesn't follow resize but you can drag it to where it should be if you do change the window size )

As for the webm itself its not a animation its a morphing from pose to pose and i asked blender to extrapolate the transitions.. but know that i see it can do all this i might make some real animations..

Password?

As I've wrote like 3 times already, webm with it's own Alpha will play in Ren'Py just like a webm without it. You need a mas movie if you want it to handle alpha as well.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 10:57:42 AM
Its "Pytfall" mistakenly use caps P


i would realy love to get my hands on the chrome transparency class code :p
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 10:59:42 AM
Its "Pytfall" mistakenly use caps P

Got it. Well, it works in Chrome and nowhere else. Even Firefox doesn't show it... there is not even a chance that we can show that in Ren'Py but we can make a masked movie from .png sequence or just used still .png frames and the background.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 11:04:08 AM
Got it. Well, it works in Chrome and nowhere else. Even Firefox doesn't show it... there is not even a chance that we can show that in Ren'Py but we can make a masked movie from .png sequence or just used still .png frames and the background.


indeed even VLC doent work as what you need to do is:


http://wiki.webmproject.org/alpha-channel (http://wiki.webmproject.org/alpha-channel) and of course no body did that other than chrome




the raw frame counts tops at 1.2k (526mb) so no way while webm is a few mb ( give us animated gifs back as webm is useless atm lol !! )


Well not sure if you can mask 1.2k pngs >.<
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 11:08:18 AM
i would realy love to get my hands on the chrome transparency class code :p

Like: https://chromium.googlesource.com/webm/webm-tools

Vignesh Venkatasubramanian is the guy in google who is responsible for continues support. Rest of the pushes is by the support team. I think that is the part related to webm alpha channels but there is (always) more relevant code.

I'd not even consider bothering with this crap:

- Figuring out their approach.
- Rewriting encoder that is used by Ren'Py.
- Rebuilding Ren'Py (it's difficult, like I had to spend half a day installing all that's needed and figuring out how to make just that work few years back) and using our own custom version after every major upgrade.

it's not even adjacent to a realm of being worth the effort while we have a perfectly working alternative!
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 11:10:52 AM
Formats war... Just like apng was developed and mostly supported by mozilla  :)

In this case we can't even use the image itself as a mask, like for some spells. It becomes too transparent.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 11:11:48 AM
Yeah unless they fix it best would be masks.. but that needs 1 files right ?
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 11:13:20 AM
the raw frame counts tops at 1.2k (526mb) so no way while webm is a few mb ( give us animated gifs back as webm is useless atm lol !! )

BS...

I've proven couple of hundred posts back that WEBM resulted in MUCH better colors and smaller size than .gif with the best encoding... look at our god damned animations, WEBM beats both .png sequences and .gif in quality, size or both.

You just make two damned movies, one as a normal .webm and the second one with alpha channel encoded to red channel of the movie. Two movies so far ALWAYS resulted in smaller size and better quality than a single gif! It's just a better, more modern format... there is no way around that plain and simple fact!
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 11:16:46 AM
BS...

I've proven couple of hundred posts back that WEBM resulted in MUCH better colors and smaller size than .gif with the best encoding... look at our god damned animations, WEBM beats both .png sequences and .gif in quality, size or both.

You just make two damned movies, one as a normal .webm and the second one with alpha channel encoded to red channel of the movie. Two movies so far ALWAYS resulted in smaller size and better quality than a single gif! It's just a better, more modern format... there is no way around that plain and simple fact!


I do agree only problem now is format will change for sure so does renpy code and in the end it might be hard to make everything work all the time i guess.. ill use Dark 2 webm to make compatible one now..
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 11:21:36 AM
In this case we can't even use the image itself as a mask, like for some spells. It becomes too transparent.

Yes you could...

Formats war... Just like apng was developed and mostly supported by mozilla  :)

Actually apng is a really decent sh!t... PyTom think so too and he looked into it, Ren'Py can support it, it just requires time and effort to implement and he said that he'd do it only if it trully went mainstream. There is little point in it right now becausem even less people know how to encode apng than .webm :)

Yeah unless they fix it best would be masks.. but that needs 1 files right ?

Look at our animation and their sources. Quality of Ren'Py webm implementation is just as good as .png sequence. At times, it is not even possible to do a .png sequence that can be rendered at the same speed as .webm by Ren'Py (but we do not have frame-rates that are anywhere near that). Size so far has always been smaller (sometimes likes up to 8x smaller than .png and 50% - 400% smaller than .gif).

I've explained it really well above, you need one, plain and simple .webm and another .webm where alpha channel is encoded to red channel.
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 11:30:15 AM
I do agree only problem now is format will change for sure so does renpy code and in the end it might be hard to make everything work all the time i guess.. ill use Dark 2 webm to make compatible one now..

Ren'Py really goes out of the way to keep sh!t backwards compatible... to an unreasonable (imo) degree. So whatever works now will work for a long time. PNG sequence is the safest bet but I had one weird case (prolly poorly encoded .pngs) where the size went down 20 times, from 120MB to 6MB (both movies). There was no quality loss that I could notice.

We're not releasing for mobile and I don't know if .webm works in Ren'Py on iOS but they were not (officially) supported on Android, however we've tested it in a different game and it worked absolutely perfectly...
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 12:03:42 PM
Yes you could...
I tried it actually with the last lamoli example, the girl is half transparent in this case.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 12:21:29 PM
I will keep doing the chrome YUVA WEBM for scene testing purpose as for me its simpler to see direct results and when its good ill make a normal WEBM and a second 1 with alpha in red for mask..


Im missing tired and indifferent expression/pose now.. do you have samples of those ? ( full body pose would be great )..
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 12:40:20 PM
I tried it actually with the last lamoli example, the girl is half transparent in this case.

Yikes... I didn't mean it using those resources. You could have done it if you had .png sequence (that we usually work with) :) I don't have a slightest idea if you can even properly import webm's alpha channel to AE. Without that, you'll be in trouble cause there is nothing you can mask to the second movie.

But whatever lamoli is using (like Blender), I am sure he can create more than webms with it.
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 12:51:20 PM
Im missing tired and indifferent expression/pose now.. do you have samples of those ? ( full body pose would be great )..

http://cdn.myanimelist.net/s/common/uploaded_files/1456932416-73141f197fb5152a01e0e4cb1ea39f50.png

LoL?

I am not 100% sure, but I think we're using indiffrent as an alias for casual. You can just get the gallery and look at how it is used atm...

and F*ck, for some reason I am getting tags that have no business being assigned to the pics, I'll look into that tonight first... like I just got three names with a single portrait...
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 01:04:42 PM
Packs are not deeply tested, it only could be done when many people will use packs and (hopefully) will report about unusual pictures logic. I'm sure there are errors, I spotted one just a few days ago in DOA pack, with straight picture tagged as a lesbian one.
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 01:17:25 PM
Packs are not deeply tested, it only could be done when many people will use packs and (hopefully) will report about unusual pictures logic. I'm sure there are errors, I spotted one just a few days ago in DOA pack, with straight picture tagged as a lesbian one.

Oh no... that can't be your fault, I am getting different names as in:

(https://s4.postimg.org/sbe7tqtll/2016_08_14_20_12_36.jpg) (https://postimg.org/image/sbe7tqtll/)

It prolly does not spread to the game outside of the gallery cause I haven't seen a false identification for a long, long time. More likely it's some remnant of older system, when we used to try and access database 3 or 4 times that were not really needed due to older Rudi's code. Most of that code is still in play but after the last rewrite, system is more sound now, not using system paths anymore and letting Ren'Py handle most of the "action".
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 01:34:40 PM
Indifferent are pretty straightforward (https://www.dropbox.com/sh/wcb5061439wrlyc/AABxjbfLIWhEXHC57hEBCZMba?dl=0), just some neutral, calm pose with neutral face.
For tired ones it's hard to find pictures where character is standing (https://www.dropbox.com/sh/jysnav1nkvmopon/AAA1Rsrrd8MAb8Vs2Sy0p7TEa?dl=0). In most cases they sit or lie, sometimes even sleep.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 03:00:33 PM
for my example my blender output is 54 pngs with alpha.. i send those in AE to create the animation.. 0000 is shown 4 sec ( still image ) then 0001-0006 is the first animation then i show 0006 4sec then animation 0007-0012 show 0012 4sec then repeat till 0054


and the output was a .mov who had transparency and to make sure it was working i broke it downs with ffmpeg and he gave me 0001-1253 pngs with alpha so i knew it worked.. then spend a full day trying every encoder and cmd line to try to encode those 1253 pngs into webm ( proly got it right a few times not knowing it as when you break the webm result if you dont use the right parameters to recover the alpha its lost and you get a black BG ) its later i found out how i could test my webm to see if transparency was working with chrome and it did.. so build something to display it with html/js/css..


For Dark i could give him my 54 pngs and the AE file that makes the image transition there the alpha is intact..
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 03:06:32 PM
I think that just the pngs will do. We do not actually have any setup for animated images outside of story lines, but it's easy to add.

===============>>>
Weird enough... the tags thing is benign and cannot interfere with the game itself but it's pissing me off! I'll try to figure it out tonight, if not, I'll just drop it and work on the BE.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 03:48:55 PM
Ok saw you reply too late already packaged the whole thing..


https://www.dropbox.com/s/giejnp8b5cvg3zy/Test.rar?dl=0 (https://www.dropbox.com/s/giejnp8b5cvg3zy/Test.rar?dl=0) (usual PW with small P)


contains the EA and the main rendered files 0 6 12 up to 54 ( folders are for the pose to pose transitions so not usable as image as its vertex moving without bone constrain it was intended to move facial expressions and not body parts ) but when needed i can make real animation with bones..


Dark could you use my files and give me the result EA file you get when its done ( it would be faster than me having to find out browsing related forums to find out how to do it )
Title: Re: General Discussion
Post by: DarkTl on August 14, 2016, 04:41:32 PM
What do you mean by result here? It all looks like it's ready for importing into media encoder.
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 04:49:04 PM
Ok saw you reply too late already packaged the whole thing..


https://www.dropbox.com/s/giejnp8b5cvg3zy/Test.rar?dl=0 (https://www.dropbox.com/s/giejnp8b5cvg3zy/Test.rar?dl=0) (usual PW with small P)


contains the EA and the main rendered files 0 6 12 up to 54 ( folders are for the pose to pose transitions so not usable as image as its vertex moving without bone constrain it was intended to move facial expressions and not body parts ) but when needed i can make real animation with bones..


Dark could you use my files and give me the result EA file you get when its done ( it would be faster than me having to find out browsing related forums to find out how to do it )

Help me out here... we can load these to Ren'Py using my custom Animation class or using images system that come with the engine or creating .webm using AE. That is in no way a problem. There is in fact no problem here at all :)

There is a question: What do you want us to do with them? I would not mind creating a story for our only real custom (not "cured of greed" I mean) girl, it'll take time and some creativity. Dark already came up with a whole story line for Naruto Chars. That would prolly require story driven content though, not the other way around.

I always assumed that you could run the actual copy of the dev project? Outside of the dedicated story line, where do you imagine we use transitions between poses/moods. We can expand the system to be using it with jobs but it will look out of place... We can load these animation in any form, like webm, Animation class or image png sequence. It will all work (perfectly), I am just trying to figure out a use case. It's looks amazing, we just need to figure out where/how to use this content in the game.

===>>>
My point is: If you have any doubts about our ability to implement those animations in Ren'Py, they are unfounded. We can load them in a number of ways which will all work perfectly, without any glitches. Question remains: What so we do with them?
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 06:46:45 PM
What do you mean by result here? It all looks like it's ready for importing into media encoder.


I meant how do you only use alpha on red channel for the 2nd webm
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 06:55:13 PM
Help me out here... we can load these to Ren'Py using my custom Animation class or using images system that come with the engine or creating .webm using AE. That is in no way a problem. There is in fact no problem here at all :)

There is a question: What do you want us to do with them? I would not mind creating a story for our only real custom (not "cured of greed" I mean) girl, it'll take time and some creativity. Dark already came up with a whole story line for Naruto Chars. That would prolly require story driven content though, not the other way around.

I always assumed that you could run the actual copy of the dev project? Outside of the dedicated story line, where do you imagine we use transitions between poses/moods. We can expand the system to be using it with jobs but it will look out of place... We can load these animation in any form, like webm, Animation class or image png sequence. It will all work (perfectly), I am just trying to figure out a use case. It's looks amazing, we just need to figure out where/how to use this content in the game.

===>>>
My point is: If you have any doubts about our ability to implement those animations in Ren'Py, they are unfounded. We can load them in a number of ways which will all work perfectly, without any glitches. Question remains: What so we do with them?


i can use the dev version of course but got error msg nearly all the time.. and id rather no touch the code if possible.. if you can build me something to load a BG and 1 webm on top i could use that for my tests.. could access it from the left menu where you add your testing stuff.. ( if its not too time consuming to make )


It would be for me to create animated ST training sex/job related actions and if not a fluid animation at least a few frames like most VN have.. ( even if your not sure if you want em there i do and will make em..but could be for my own mod if your not interested.. )

My example was just to test webm and show you possible sitting poses i could use.. ( animated transition was to make the webm more a movie than slideshow ) lol
Title: Re: General Discussion
Post by: Xela on August 14, 2016, 07:35:54 PM
Ok, I'll cook up a working webm loading project tomorrow.

I meant how do you only use alpha on red channel for the 2nd webm

Not that I remember offhand, there are still projects that I tested to work perfectly, gonna try uploading that somewhere as well tomorrow too.
Title: Re: General Discussion
Post by: lamoli on August 14, 2016, 08:23:08 PM
Indifferent.. ( or kind of.. hard to guess what would be nice there )


(https://s20.postimg.org/v44u3j249/indifferent1pr.png) (https://postimg.org/image/v44u3j249/)(https://s20.postimg.org/a9shlp7qx/indifferent2pr.png) (https://postimg.org/image/a9shlp7qx/)
(https://s20.postimg.org/5wty39z09/indifferent1po.png) (https://postimg.org/image/5wty39z09/)(https://s20.postimg.org/xmqj47nuh/indifferent2po.png) (https://postimg.org/image/xmqj47nuh/)


Tired..


(https://s20.postimg.org/8knzrdhfd/tired1pr.png) (https://postimg.org/image/8knzrdhfd/)(https://s20.postimg.org/umea1f1x5/tired2pr.png) (https://postimg.org/image/umea1f1x5/)
(https://s20.postimg.org/igp2r0n7d/tired1po.png) (https://postimg.org/image/igp2r0n7d/)(https://s20.postimg.org/jlj4we9o9/tired2po.png) (https://postimg.org/image/jlj4we9o9/)


nbr2 looks even better for sad lol.. and for the PO looks like default camera isnt good enough i will have to adjust it for each of em so they look good..


Something went wrong with base model template correcting now ( should fix everyone iv made so far.. chr1/2 - Mari - Yui - Alishia )
Title: Re: General Discussion
Post by: DarkTl on August 15, 2016, 12:21:23 PM

I meant how do you only use alpha on red channel for the 2nd webm
Here. (https://www.dropbox.com/s/hqy6fnf02o22e6p/Test.aep?dl=0)
Title: Re: General Discussion
Post by: lamoli on August 15, 2016, 01:27:47 PM
Here. (https://www.dropbox.com/s/hqy6fnf02o22e6p/Test.aep?dl=0)


Wow AE does make really good masks..  ???  no wonder you said you didnt had any problems.. and yeah after seeing the result im convinced the 2 webm ( 1 normal and the other with alpha isnt even a quick fix but a real work around )


Now a quick question how to get that result ( alpha in red ) ?
Title: Re: General Discussion
Post by: DarkTl on August 15, 2016, 02:23:34 PM
You select all frames of the animation, then effect->channels->set channels. Then you set all 3 color channels to alpha and do nothing else.

Xela claims he was able to make a mask by disabling all channels but red, and setting only red to alpha. But in my experience mask can be less perfect in this case.
Title: Re: General Discussion
Post by: Xela on August 15, 2016, 04:52:54 PM
Simple project to test the webm: https://mega.nz/#!L0wQ2ArS
Title: Re: General Discussion
Post by: lamoli on August 16, 2016, 01:49:16 PM
Simple project to test the webm: https://mega.nz/#!L0wQ2ArS (https://mega.nz/#!L0wQ2ArS)
Decryption key ?
Title: Re: General Discussion
Post by: Xela on August 16, 2016, 01:59:41 PM
Decryption key ?

I tried so hard to get a link without a key... service is really going downhill, try this: https://mega.nz/#!L0wQ2ArS!DX3TpEOTxxwDN08OsqZDtVfTp_PjXbKYJgMvlKbIExc
Title: Re: General Discussion
Post by: lamoli on August 16, 2016, 07:32:55 PM
While browsing Deviantart yesterday for content that  i my get inspiration from i found something..


Original model from soulcalibur IV.. i coulnd believe how bad they all where ( like they used the basic daz G2f and barely changed anything.. ) i do agree it can be simpler to make girls even for games.. but if you cant do it well with that program just do it the normal way lol...


How in hell did they turn Cassandra from (pic 1 on the right) into a freak (pic 2)


(https://s20.postimg.org/z00r6u3y1/sophitia_cassandra_by_yunakingdom.jpg) (https://postimg.org/image/z00r6u3y1/)(https://s20.postimg.org/czkeq7la1/soulcalibur_iv_cassandra_by_sterrennacht_d46an.jpg) (https://postimg.org/image/czkeq7la1/)


some guy tried his best to use that terrible model and got this..


(https://s20.postimg.org/95qyh23y1/cassandra_by_sterrennacht_d468yjs_png.jpg) (https://postimg.org/image/95qyh23y1/)


I was so p@$#%d seeing that.. i made my own today... (mirror original solo pose)


(https://s20.postimg.org/5c23lnbzt/Cassandra900675.png) (https://postimg.org/image/5c23lnbzt/)


Still need work but atm should be enough...
Title: Re: General Discussion
Post by: Xela on August 16, 2016, 07:55:42 PM
You need to make a guide on how to do this... you 3D ==> 2D adaptations are the best that I've seen...
Title: Re: General Discussion
Post by: lamoli on August 17, 2016, 04:17:36 AM
You need to make a guide on how to do this... you 3D ==> 2D adaptations are the best that I've seen...


About that i just might.. but now i get better and better and learn lots of new tricks to do it or at the very least get used to work with organic modeling everyday.. just now i found out how to get Cassandra face a even closer look alike but not even sure i will use her in my renders as she is a popular char and would rather work or less known ones or random to make a pack.. but if a pack exists and missing actions like maid/stripper/others.. im willing to fill them.. for now a guide would be premature as im still improving ( skill aside ) what im using and how im using it.


On that note i finally got better control of light reflect on either cloth or skin like i did with Cassandra.. while i coulnd ( for the skin ) with previous models and funny thing is for her it only took 1 day for the current unfinished state.. lol
Title: Re: General Discussion
Post by: lamoli on August 17, 2016, 06:15:45 AM
Tired3..


(https://s20.postimg.org/n8qo19dh5/Tired3pr.png) (https://postimg.org/image/n8qo19dh5/)(https://s20.postimg.org/b5lcdp2ex/Tired3po.png) (https://postimg.org/image/b5lcdp2ex/)(https://s20.postimg.org/d7ltry0e1/Tired3extra1.png) (https://postimg.org/image/d7ltry0e1/)(https://s20.postimg.org/d8vrld27t/Tired3extra2.png) (https://postimg.org/image/d8vrld27t/)


I think i got the pose right.. but not sure about facial expression..


If you have a reference for that 1 it would be helpful..im just building those mimicking what i would do in such case.. lol
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 06:49:31 AM
You need to grab a copy of the game and make it work :) We have the whole gallery for the expressions!
Title: Re: General Discussion
Post by: lamoli on August 17, 2016, 07:43:42 AM
Ok not sure how girl packs works anymore.. i have the Naruto pack and the example.rpy is using Hinata / Sakura / Tenten and i have the 3 of em into that pack.. but for some reason only hinata loads and both Sakura and Tenten gives error screens
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 07:47:58 AM
Ok not sure how girl packs works anymore.. i have the Naruto pack and the example.rpy is using Hinata / Sakura / Tenten and i have the 3 of em into that pack.. but for some reason only hinata loads and both Sakura and Tenten gives error screens

Make a screenshot of your chars folder. They should all load correctly...
Title: Re: General Discussion
Post by: lamoli on August 17, 2016, 08:39:01 AM
here..


(https://s20.postimg.org/sdwgwmfsp/Floder.png) (https://postimg.org/image/sdwgwmfsp/)


doing this i remember having to make a Hinata json else she will not appear in game.. might be the cause..
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 09:18:11 AM
Seems legit, are these the new packs from the download section?
Title: Re: General Discussion
Post by: DarkTl on August 17, 2016, 09:54:31 AM
I can already see that you have more folders than data files there. Some files are missing.
Title: Re: General Discussion
Post by: lamoli on August 17, 2016, 10:00:17 AM
I can already see that you have more folders than data files there. Some files are missing.


yes at the time there was the data you see minus Hinata.. i created Hinata from Ino data to test it out and it worked.. meaning i need the data files for the others but coulnd find em.. maybe your giving those out now.. i thing the ones without data came from CW


Do you have the data files for the others im missing.. i could make them work just by making a copy of a working file but i would like to have their original stats/skill/traits
Title: Re: General Discussion
Post by: DarkTl on August 17, 2016, 10:48:32 AM
That's (https://www.dropbox.com/sh/qxi8jt0zc6n45np/AAAp1J7eDnwKS9189kF8Fx2ma?dl=0) my data files, everything works with them. I think I made them myself at some point, Cherry only provided packs.

Although, all data files are for testing anyway, we'll need to change some fields before the release.
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 11:25:04 AM
@Dark:

You keep deleting files from maple... are those duplicates?
Title: Re: General Discussion
Post by: DarkTl on August 17, 2016, 12:20:54 PM
Nope, they were converted to webm, so I deleted them to not create duplicates. What, you want them back? It's not too late to restore them.
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 12:23:22 PM
Nope, they were converted to webm, so I deleted them to not create duplicates. What, you want them back? It's not too late to restore them.

It might not be a bad idea... the thing is that we may create animation with separate frames. So they could be useful...
Title: Re: General Discussion
Post by: DarkTl on August 17, 2016, 12:35:37 PM
We create webms because it's a hell to work with maple animations manually due to custom alignment, but ok, I'll restore them.
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 12:39:39 PM
We create webms because it's a hell to work with maple animations manually due to custom alignment, but ok, I'll restore them.

True + we have sh!tloads of animations already. you don't have to restore them if it's annoying, just don't delete or simply move them to a different folder when you're done with webms.
Title: Re: General Discussion
Post by: DarkTl on August 17, 2016, 12:58:56 PM
After creating a few dozens I can say that in some cases animation requires truly custom alignment, unique for every sprite.
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 01:21:21 PM
After creating a few dozens I can say that in some cases animation requires truly custom alignment, unique for every sprite.

I know... but in my own custom animations I can align them if needs be.

Ok, I've done great work on BR shooting range tonight. PyTFall's time! Just need to remember where I left off last...
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 01:51:03 PM
Going to straighten interface a bit and look into adding more definitions for standard attack spells. Maybe look into how ready the system for multi attack skills atm.
Title: Re: General Discussion
Post by: DarkTl on August 17, 2016, 03:19:11 PM
MC needs the list of battle stats. Probably the same as other chars.
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 03:22:43 PM
MC needs the list of battle stats. Probably the same as other chars.

Maybe not, I haven't got there yet...
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 06:02:35 PM
Why do we not use some combination of agility + magic/intelligence/constitution/defense instead of the two new stats?
Title: Re: General Discussion
Post by: DarkTl on August 17, 2016, 07:22:16 PM
Because, given time, you can infinitely increase any stats but luck, disp and possibly joy. The new two stats are strictly monitored (by me  :) ) to not allow high values.

Specific traits and rare, powerful items also increase and decrease them, making a big difference between characters in battle. If tied to the same old stats, the said difference will be lost very soon.
Title: Re: General Discussion
Post by: Xela on August 17, 2016, 07:48:09 PM
Because, given time, you can infinitely increase any stats but luck, disp and possibly joy. The new two stats are strictly monitored (by me  :) ) to not allow high values.

Specific traits and rare, powerful items also increase and decrease them, making a big difference between characters in battle. If tied to the same old stats, the said difference will be lost very soon.

Ok... GUI fixes are going slow, most of what was left of Gismo's code broke down completely so i have to figure out what's wrong and how to recode it. I am done for the night, most of Hero's/Char's profile is done. If you notice something I don't, let me know.
Title: Re: General Discussion
Post by: DarkTl on August 18, 2016, 08:27:35 AM
We might need a function like SimpleAttack3X for some webms, if it's possible with renpy of course. Not right now, when I'll finish with converting to webms.
Title: Re: General Discussion
Post by: Xela on August 18, 2016, 11:15:49 AM
We might need a function like SimpleAttack3X for some webms, if it's possible with renpy of course. Not right now, when I'll finish with converting to webms.

It shouldn't matter what you use with the multiattack class.
Title: Re: General Discussion
Post by: Xela on August 18, 2016, 11:18:29 AM
Gonna keep hacking gui, a lot of which is messed up...
Title: Re: General Discussion
Post by: DarkTl on August 18, 2016, 04:09:57 PM
The polygon at MC screen is incorrect for luck.

Also, while you are at it, characters and MC stats need support for tooltips for a long time. That includes the polygon.
Title: Re: General Discussion
Post by: Xela on August 18, 2016, 04:21:31 PM
The polygon at MC screen is incorrect for luck.

Also, while you are at it, characters and MC stats need support for tooltips for a long time. That includes the polygon.

I am updating nd screen, which is one of the most complex that we have. Code left by Gismo there worked accidentally, it is almost impossible to fix by trying to force another accident so a complete rewrite is needed just to get it working as it was before...

No tooltips... I wanted a civ style encyclopedia after the beta release, maybe even a limited one before.

I'll take a look at the polygon thing when I can.
Title: Re: General Discussion
Post by: DarkTl on August 18, 2016, 05:02:38 PM
Quests and items transfer screens are messed up too.

At the MC screen there is now a free space after the friends button. Unless you freed it for a new button, it's not supposed to be there. And Skills and Traits buttons are not at the center.

There is also an old issue with traits with long names, like ALBoobs. The trait name is not centered for such long names, and looks not very good. If it's not fixable, it's better to change the name while it's not too widely used, ie now.
Title: Re: General Discussion
Post by: Xela on August 19, 2016, 05:45:26 AM
Ok, ND screen will prolly take another few hours tonight, there is just too much code to fix. I've also destroyed a bunch of flawed styles which broke even moar sh!t down :( I also want to style a couple more things in the game, just don't know if I should do it now or in a major code review.
Title: Re: General Discussion
Post by: lamoli on August 19, 2016, 07:43:53 AM
Looks like a fail.. maybe you can help me point out whats wrong..


(https://s20.postimg.org/jw1q09bax/selvaria.png) (https://postimg.org/image/jw1q09bax/)(https://s20.postimg.org/kmug61do9/selvaria0.png) (https://postimg.org/image/kmug61do9/)(https://s20.postimg.org/wd8dnf6gp/selvaria1.png) (https://postimg.org/image/wd8dnf6gp/)(https://s20.postimg.org/as3azt9q1/selvaria2.png) (https://postimg.org/image/as3azt9q1/)(https://s20.postimg.org/8c1hlyrnd/selvaria3.png) (https://postimg.org/image/8c1hlyrnd/)



Title: Re: General Discussion
Post by: Xela on August 19, 2016, 08:05:14 AM
Looks a bit like a guy but otherwise it's a nice render. Did you finish the blond girl?
Title: Re: General Discussion
Post by: Xela on August 19, 2016, 08:11:38 AM
Hmm... I just googled the source:

- She needs to be paler.
- Lips got to be a little bit thinner.
- Eyebrows got to match the color of hair.

I don't know her from source but she looks ok to me otherwise.
Title: Re: General Discussion
Post by: lamoli on August 19, 2016, 08:14:25 AM
Looks a bit like a guy but otherwise it's a nice render. Did you finish the blond girl?


Ok yeah somehow cant get closer to original.. http://vignette3.wikia.nocookie.net/valkyria/images/4/4e/Selvaria_Bles_Profile.png/revision/latest/scale-to-width-down/222?cb=20110820021638 (http://vignette3.wikia.nocookie.net/valkyria/images/4/4e/Selvaria_Bles_Profile.png/revision/latest/scale-to-width-down/222?cb=20110820021638) ( and indeed she looks like a guy wearing all that clothing.. i gues if a remove a layer or 2 she might look more girly ) i guess ill stop here for now.. for Cassandra no still need some work to make face look even more alike but can use her right now if needed..
I will try Alisa Amelia from God eater as like Selvaria she has a face type out of norm that i would need for random char ( as i can mix all the faces iv made to get lots of variants.. )
Title: Re: General Discussion
Post by: lamoli on August 19, 2016, 08:19:00 AM
Hmm... I just googled the source:

- She needs to be paler.
- Lips got to be a little bit thinner.
- Eyebrows got to match the color of hair.

I don't know her from source but she looks ok to me otherwise.


kk right will try to fix that.. maybe even lashes.. those big eyebrows/lashes remind me of Easdeath lol
Title: Re: General Discussion
Post by: DarkTl on August 19, 2016, 09:03:39 AM
Eyes are very important for this style, atm they looks pale, giving her lifeless appearance.

 Here (https://www.dropbox.com/s/mrqmicngyqmxsua/eye.jpg?dl=0) is an example of eye from AA2, not perfectly suitable for her, but still. The eye color and texture is not monotonous, it's varied like here (http://img08.deviantart.net/5fc5/i/2010/209/e/a/selvaria_by_cika.jpg). And light reflection has soft borders.
Another  (https://www.dropbox.com/s/hvi81aj4mf2po8i/eye1.jpg?dl=0)example.


Xela, take a look at Abnormally Large Boobs trait name in gui  :)
Either you can fix it to be centered perfectly, or I change name to simply Large for example.
Title: Re: General Discussion
Post by: Xela on August 19, 2016, 09:09:05 AM

Xela, take a look at Abnormally Large Boobs trait name in gui  :)
Either you can fix it to be centered perfectly, or I change name to simply Large for example.

I don't know, it should be possible to fix. Gonna try a bit later.

Edit:
Yeah, a simple text_align .5 aligns it perfectly. I'll push later along with some ND updates.
Title: Re: General Discussion
Post by: lamoli on August 19, 2016, 10:23:20 AM
Most definitely the texture of the eyes thats wrong lol...


(https://s20.postimg.org/9fllxxcah/test1.png) (https://postimg.org/image/9fllxxcah/)


witch means i have a problem as im really bad at 2d image editing...
Title: Re: General Discussion
Post by: lamoli on August 19, 2016, 11:14:55 AM
Hmm black or redish pupils ?


(https://s20.postimg.org/t47qm6mih/test2.png) (https://postimg.org/image/t47qm6mih/)
Title: Re: General Discussion
Post by: DarkTl on August 19, 2016, 12:12:28 PM
Here (http://no-info.no-ip.info/aa2/) are eyes textures and highlights, buttons at the top. If you can't access the website, use proxy (I have browsec plugin for firefox). Most textures are gray because the game that uses them can change their color on its own.
Title: Re: General Discussion
Post by: lamoli on August 19, 2016, 01:40:13 PM
Here (http://no-info.no-ip.info/aa2/) are eyes textures and highlights, buttons at the top. If you can't access the website, use proxy (I have browsec plugin for firefox). Most textures are gray because the game that uses them can change their color on its own.


Yeah last example use grey base i colored red and reflect it wounld be too hard to put the flat texture on the eyes but it would look really wrong so i need someone good with 2D image edit to turn then into what im using..


(https://s20.postimg.org/99zh5abg9/ToonIris2.jpg) (https://postimg.org/image/99zh5abg9/)(https://s20.postimg.org/yeqhipawp/ToonIris4.jpg) (https://postimg.org/image/yeqhipawp/)(https://s20.postimg.org/c5ckc5fg9/toonreflec1.jpg) (https://postimg.org/image/c5ckc5fg9/)



Title: Re: General Discussion
Post by: DarkTl on August 19, 2016, 04:02:35 PM
I think textures are fine now. Reflection looks a bit off though, not sure why.

I figured gif to webm processing in AE, all channels but alpha should be set to brightness. Of course it won't work if the animation has black color inside, in this case only manual editing will help.
Title: Re: General Discussion
Post by: Xela on August 19, 2016, 07:49:05 PM
I more or less fixed ND screens, a bunch of stuff that wasn't broken before elsewhere is now broken because Gismo's stats style has been deleted from the game (we're still using all of his graphics, which are great, it's just the code setups that were destroyed), but I'll fix everything in time. It should not break on updates anymore either, it broke down because code was borderlined insane with unneeded containers inside of other unneeded containers placed under forced offsets and alignment to make it all work somehow...
Title: Re: General Discussion
Post by: lamoli on August 19, 2016, 07:59:18 PM
Alisa Amiella test..


(https://s20.postimg.org/z9r9tc3uh/Alisa.png) (https://postimg.org/image/z9r9tc3uh/)(https://s20.postimg.org/bk1u4n5h5/Alisa0.png) (https://postimg.org/image/bk1u4n5h5/)(https://s20.postimg.org/jqttw7vjt/Alisa1.png) (https://postimg.org/image/jqttw7vjt/)(https://s20.postimg.org/9i1cqe7i1/Alisa2.png) (https://postimg.org/image/9i1cqe7i1/)(https://s20.postimg.org/nczn8v1x5/Alisa3.png) (https://postimg.org/image/nczn8v1x5/)


Hair need lots of rework and eyes wrong color but will fix that later..
Title: Re: General Discussion
Post by: Xela on August 19, 2016, 08:32:53 PM
 ::)

She looks great! Are you going to finish the random blond girl before switching to rendering unique chars? :D
Title: Re: General Discussion
Post by: lamoli on August 19, 2016, 11:59:41 PM
Who was that random blond again ? you lost me lol
Title: Re: General Discussion
Post by: DarkTl on August 20, 2016, 03:45:22 AM
Wow, she's so pretty and sexy  :)

About your Selvaria, I think light reflections are too big for her, she has rather narrow eyes compared to Alisa.
Title: Re: General Discussion
Post by: Xela on August 20, 2016, 06:06:21 AM
That's what I call her: https://postimg.org/image/v44u3j249/
Title: Re: General Discussion
Post by: lamoli on August 20, 2016, 06:54:32 AM
That's what I call her: https://postimg.org/image/v44u3j249/ (https://postimg.org/image/v44u3j249/)

Ohh she s ready yeah got everything working on her.. but she s also known.. ( that's if you know the tales of series ) but its not the 1 i wanted to make..i wanted Velvet but game not out yet here so settled for her the 1 on the anime running now..

I make those uniques to get face types.. then when i need a random i just have to mix those.. ( that way all the custom morphs i added will be already there and i wont have to recreate new one every time i create a new face for random ) also they come with defined clothing and sometimes more than 1 and i could use those as base to make variant ( as im lacking in concept design and 2D image editing skills ) but kinda ok with 3D in general.. well the 2D imaging weakness is a problem for textures.. i can create norm/disp/occ/light map out of a texture but need to have it first lol
Title: Re: General Discussion
Post by: lamoli on August 20, 2016, 06:58:43 AM
Those @#$%! artists and their freedom doing non realistic things..


(https://s20.postimg.org/yjupbqz5l/Alisaposed.png) (https://postimg.org/image/yjupbqz5l/)(https://s20.postimg.org/3qxe7fvcp/Anime_Alisa.jpg) (https://postimg.org/image/3qxe7fvcp/)

i had to make legs longer and still wasn't enough.. also each leg had different lengths.. well got closer to it but will not spend too more time on this now.. maybe later ( like fan skirt, navel depth and belly muscle  and other tweaks ) but at least i can see that my model of her did alright and can be used like this..

Edit: looks like the scale of her body vs sword isnt right but oh well later maybe
Title: Re: General Discussion
Post by: lamoli on August 20, 2016, 07:11:34 AM
To think of it.. i do need more known girl without packs can you give me a list of what you might want and il check whos got the other face types / clothing i might need.. this way i can make packs of those none done known girls as-well as getting part i need for random
Title: Re: General Discussion
Post by: Xela on August 20, 2016, 07:43:13 AM
Packs are not too difficult to make for any well known character. What I would really like to do would be to load one of your 3D girls into the game to see how she looks/plays. And to read that guide you thought were a good idea of writing ;)
Title: Re: General Discussion
Post by: DarkTl on August 20, 2016, 08:35:59 AM
Yeah, ironically most well known characters have many thousands various pictures and can easily get a high quality pack after 1-3 days of unhurried work.

I might have an idea though, there is a game series called Senran Kagura. Here it is on gelbooru (http://gelbooru.com/index.php?page=post&s=list&tags=senran_kagura_%28series%29&pid=0). It has quite a few very different characters, but at the same time not way too many pictures. I think it might be a good source of examples and will be a good rendered pack.
Title: Re: General Discussion
Post by: Xela on August 20, 2016, 08:54:43 AM
It's still a better bet to create 3D random characters, maybe themed. Unique once can also serve in that capacity as long as they are not too well known.
Title: Re: General Discussion
Post by: lamoli on August 20, 2016, 10:31:59 AM
Yeah i agree.. problem is.. i cant do design.. meaning if i dont see it i cant create it lol.. for me random is so random i can even define what it could be.. ( thats why i was thinking on making all those unique girls so i get faces / clothing design ) then try to mix them or make variants.. ( that least i can do )
Title: Re: General Discussion
Post by: lamoli on August 20, 2016, 10:34:11 AM
As i wasnt sure on what to do next i tweaked her closer to original..


(https://s20.postimg.org/pbtqmxu9l/Alisaposed.png) (https://postimg.org/image/pbtqmxu9l/)(https://s20.postimg.org/3qxe7fvcp/Anime_Alisa.jpg) (https://postimg.org/image/3qxe7fvcp/)


still need some work but a lil better..
Title: Re: General Discussion
Post by: lamoli on August 20, 2016, 10:45:07 AM
Yeah, ironically most well known characters have many thousands various pictures and can easily get a high quality pack after 1-3 days of unhurried work.

I might have an idea though, there is a game series called Senran Kagura. Here it is on gelbooru (http://gelbooru.com/index.php?page=post&s=list&tags=senran_kagura_%28series%29&pid=0). It has quite a few very different characters, but at the same time not way too many pictures. I think it might be a good source of examples and will be a good rendered pack.


Ok lets see if i can turn that http://ciripahn.deviantart.com/art/MMD-Senran-Kagura-269553607 (http://ciripahn.deviantart.com/art/MMD-Senran-Kagura-269553607) ( for shapes and character sheets as reference ) into something better..
only game model dont do as most 3d modler for those games dont even care if its right.. they just have to look like is.. ( ex: Ugly Cassandra 3D model from Soulcalibur IV )
Title: Re: General Discussion
Post by: DarkTl on August 20, 2016, 11:36:08 AM
Omg, small neat numbers at the equipment screen turned into huge, unusable ones. That's not gonna work, Xela  :(

Also, we don't have item field for non magic skills. I created a weapon skill and tested it via add_be_spells. It works, but adds skill to spells.
Title: Re: General Discussion
Post by: Xela on August 20, 2016, 11:39:47 AM
Omg, small neat numbers at the equipment screen turned into huge, unusable ones. That's not gonna work, Xela  :(

Also, we don't have item field for non magic skills. I created a weapon skill and tested it via add_be_spells. It works, but adds skill to spells.

I f*cking told you, a lot would break :)

Items will come after gui.
Title: Re: General Discussion
Post by: DarkTl on August 20, 2016, 11:48:26 AM
My eyes weren't ready for this nevertheless  :D

Even with add_be_spells field there is an issue. When you select not equipped item, gui shows which skills the item will give. But when you select already equipped item, it still shows that unequipping item will give this skill, while it should show that the skill will be lost.
Title: Re: General Discussion
Post by: lamoli on August 21, 2016, 12:46:56 AM
Tried to tweak the reflect..


(https://s20.postimg.org/kj20bwn09/Selvariarefoncornea.png) (https://postimg.org/image/kj20bwn09/)(https://s20.postimg.org/983y1a5ix/Selvariarefoncorneashadowoff.png) (https://postimg.org/image/983y1a5ix/)


Shadow of reflect on or off
Title: Re: General Discussion
Post by: DarkTl on August 21, 2016, 06:11:08 AM
I think you should try thin oval reflections, like here http://img08.deviantart.net/5fc5/i/2010/209/e/a/selvaria_by_cika.jpg
Big round ones don't suit her eyes.
Title: Re: General Discussion
Post by: lamoli on August 21, 2016, 06:32:59 AM
And now i found this.. late but now i can improve my design.. even the right eyes..


(https://s20.postimg.org/9d7paycu1/ef42cf8b53f9a492db14a58148a6d530.jpg) (https://postimg.org/image/9d7paycu1/)


now ill try to fit them into the texture template and see how it will end


But thats tweaking ill do 1 of the Senran Kagura fist..
Title: Re: General Discussion
Post by: lamoli on August 21, 2016, 08:24:25 AM
Nice i found that there is more costumes types than the others.. you mind picking interesting ones ( only taking Senran Kagura now )


http://rolance.deviantart.com/gallery/58152044/Dead-or-Alive-5-XNALARA-MODEL
Title: Re: General Discussion
Post by: DarkTl on August 21, 2016, 08:59:56 AM
Umm, are you sure it's a correct link? I see a user profile with tons of DOA characters costumes, and DOA characters are extremely well known, so using their clothes is debatable.
Title: Re: General Discussion
Post by: lamoli on August 21, 2016, 09:24:34 AM
Umm, are you sure it's a correct link? I see a user profile with tons of DOA characters costumes, and DOA characters are extremely well known, so using their clothes is debatable.


i never said ill use em like this.. but i do not have that much clothing variant ( clothing model ) and of course i wont use em like that ill make modifications and other textures..
what i need now is clothing genre like a bunch of skirts/tops/shorts/pants/leggings for their shapes and look like this guy compiled like everything those char had there.. also if base model type do not change too much its faster to make the clothing ( so 5-6 main models with lots of clothing variants is what i need )
Title: Re: General Discussion
Post by: lamoli on August 21, 2016, 09:29:17 AM
For Senran Kagura there is a problem.. official profile pictures and 3D model from games have the arount 14-15yo looks while on gelbooru she looks older ( smaler eyes and mouth/nose/eyes placed differently on a larger face.. ) if im doing those i need to age them else i cant make the eyes..


Like:


http://saryta-chan.deviantart.com/art/Angela-Balzac-Windows-100-572563610 (http://saryta-chan.deviantart.com/art/Angela-Balzac-Windows-100-572563610)
to
http://saryta-chan.deviantart.com/art/Angela-Balzac-Adult-Windows-100-584814318 (http://saryta-chan.deviantart.com/art/Angela-Balzac-Adult-Windows-100-584814318)

well in this case eyes are not a problem for the younger/older
Title: Re: General Discussion
Post by: lamoli on August 21, 2016, 10:32:32 AM
Here the variant base(young) to just modded (older)


(https://s20.postimg.org/58syd8cqh/baseyoung.png) (https://postimg.org/image/58syd8cqh/)(https://s20.postimg.org/pqdwovou1/baseolder.png) (https://postimg.org/image/pqdwovou1/)
(https://s20.postimg.org/5zloj0f3t/baseyoung1.png) (https://postimg.org/image/5zloj0f3t/)(https://s20.postimg.org/69t72ctq1/baseolder1.png) (https://postimg.org/image/69t72ctq1/)


in the past i tried those large eyes but failed as i need to use real eyes models to turn em up/down..left/right.. so far largest working where Yui ( aprox what i did with the older version here )


If that goes for you i can do it.. but im concerned about common folks.. will they still like a pack like this..
Title: Re: General Discussion
Post by: DarkTl on August 21, 2016, 11:18:23 AM
http://saryta-chan.deviantart.com/art/Angela-Balzac-Windows-100-572563610 (http://saryta-chan.deviantart.com/art/Angela-Balzac-Windows-100-572563610)
to
http://saryta-chan.deviantart.com/art/Angela-Balzac-Adult-Windows-100-584814318 (http://saryta-chan.deviantart.com/art/Angela-Balzac-Adult-Windows-100-584814318)
Well, in this particular case it's based on her story, she kinda has two bodies with different age according to wiki  :)
I don't care much about characters age, you can use the one you prefer. We only decided to not support kids when we started the project due to sexual content involved.

If that goes for you i can do it.. but im concerned about common folks.. will they still like a pack like this..
I dunno why you think people might not like it, it looks great.
Title: Re: General Discussion
Post by: lamoli on August 21, 2016, 11:27:25 AM
I don't care much about characters age, you can use the one you prefer. We only decided to not support kids when we started the project due to sexual content involved.
I dunno why you think people might not like it, it looks great.


Well for technical limitation i will restrict eyes max size to what i did with Older else it will look really bad and hard to move the eyes and yeah im not gona make girls who looks like a kids in my packs ill age them a bit or dont do them at all.


Ok gona work on it now..
Title: Re: General Discussion
Post by: DarkTl on August 21, 2016, 11:47:52 AM
Let's see...

I think you already have sport uniform, but these ones are pretty good
http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-11-Training-Gear-619260103?q=gallery%3Arolance%2F58619859&qo=10 (http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-11-Training-Gear-619260103?q=gallery%3Arolance%2F58619859&qo=10)
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-05-Training-Gear-2-605363013?q=gallery%3Arolance%2F58619861&qo=4 (http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-05-Training-Gear-2-605363013?q=gallery%3Arolance%2F58619861&qo=4)

Waitress
http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-14-Maid-610089628?q=gallery%3Arolance%2F58619859&qo=13 (http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-14-Maid-610089628?q=gallery%3Arolance%2F58619859&qo=13)
http://rolance.deviantart.com/art/DOA5-Kasumi-Costume-31-Maid-621109728?q=gallery%3Arolance%2F58619865&qo=21

Maid
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-30-Maid-618615319?q=gallery%3Arolance%2F58619861&qo=29 (http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-30-Maid-618615319?q=gallery%3Arolance%2F58619861&qo=29)
http://rolance.deviantart.com/art/DOA5-Phase-4-Costume-14-Maid-621126176?q=gallery%3Arolance%2F58619865&qo=43
http://rolance.deviantart.com/art/DOA5-Naotora-Costume-09-Maid-604697959?q=gallery%3Arolance%2F58619878&qo=8

Warrior
http://rolance.deviantart.com/art/DOA5-Phase-4-Costume-23-Tamiki-Wakaki-597157056?q=gallery%3Arolance%2F58619865&qo=47
http://rolance.deviantart.com/art/DOA5-Ayane-Costume-45-Falcom-Mashup-612947772?q=gallery%3Arolance%2F58619867&qo=1
http://rolance.deviantart.com/art/DOA5-Hitomi-Deception-ver3-598155490?q=gallery%3Arolance%2F58619879&qo=11
http://rolance.deviantart.com/art/DOA5-Naotora-Costume-02-Classic-Blue-618604988?q=gallery%3Arolance%2F58619878&qo=1
http://rolance.deviantart.com/art/DOA5-Leifang-Costume-45-Falcom-Mashup-597162540?q=gallery%3Arolance%2F58619893&qo=16

Mage
http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-16-Halloween-2014-610132531?q=gallery%3Arolance%2F58619859&qo=15 (http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-16-Halloween-2014-610132531?q=gallery%3Arolance%2F58619859&qo=15)
http://rolance.deviantart.com/art/DOA5-Leifang-Costume-52-Gust-Mashup-610941928?q=gallery%3Arolance%2F58619893&qo=19 without flowers and hat

Ninja
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-42-Falcom-Mashup-597158177?q=gallery%3Arolance%2F58619861&qo=41 (http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-42-Falcom-Mashup-597158177?q=gallery%3Arolance%2F58619861&qo=41)
http://rolance.deviantart.com/art/DOA5-Phase-4-Costume-20-Ninja-Clan-597348739?q=gallery%3Arolance%2F58619865&qo=44

Normal clothes
http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-35-Newcomer-Sports-604004384?q=gallery%3Arolance%2F58619859&qo=34 (http://rolance.deviantart.com/art/DOA5-Marie-Rose-Costume-35-Newcomer-Sports-604004384?q=gallery%3Arolance%2F58619859&qo=34)
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-21-Pop-Idol-598784009?q=gallery%3Arolance%2F58619861&qo=20 (http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-21-Pop-Idol-598784009?q=gallery%3Arolance%2F58619861&qo=20)
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-22-School-Uniform-3-598179005?q=gallery%3Arolance%2F58619861&qo=21 (http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-22-School-Uniform-3-598179005?q=gallery%3Arolance%2F58619861&qo=21)
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-45-Design-Award-618621342?q=gallery%3Arolance%2F58619861&qo=44
http://rolance.deviantart.com/art/DOA5-Hitomi-Costume-21-Pop-Idol-612380404?q=gallery%3Arolance%2F58619879&qo=2
http://rolance.deviantart.com/art/DOA5-Leifang-Costume-12-Special-Set-624463465?q=gallery%3Arolance%2F58619893&qo=3

Formal
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-09-Detective-618865747?q=gallery%3Arolance%2F58619861&qo=8 (http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-09-Detective-618865747?q=gallery%3Arolance%2F58619861&qo=8) without that detective-like textures and hat
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-50-Fairy-Tail-Mashup-616745371?q=gallery%3Arolance%2F58619861&qo=49
http://rolance.deviantart.com/art/DOA5-Kasumi-Costume-41-Tamiki-Wakaki-620938376?q=gallery%3Arolance%2F58619865&qo=31
http://rolance.deviantart.com/art/DOA5-Leifang-Costume-08-Leather-1-607772477?q=gallery%3Arolance%2F58619893&qo=2
http://rolance.deviantart.com/art/DOA5-Leifang-Costume-48-Design-Award-598227121?q=gallery%3Arolance%2F58619893&qo=17 without cat ears and tail

Revealing
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-28-Overalls-618636709?q=gallery%3Arolance%2F58619861&qo=27 (http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-28-Overalls-618636709?q=gallery%3Arolance%2F58619861&qo=27)
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-07-2-600743970?q=gallery%3Arolance%2F58619861&qo=61
http://rolance.deviantart.com/art/DOA5-Kasumi-Costume-24-Casual-2-607998687?q=gallery%3Arolance%2F58619865&qo=16
http://rolance.deviantart.com/art/DOA5-Kasumi-Costume-34-Police-621751246?q=gallery%3Arolance%2F58619865&qo=24 with neutral textures and without shoulder straps
http://rolance.deviantart.com/art/DOA5-Kasumi-Extra-Costume-02-Tropical-Sailor-606747720?q=gallery%3Arolance%2F58619865&qo=61
http://rolance.deviantart.com/art/DOA5-Ayane-Costume-16-607131171?q=gallery%3Arolance%2F58619867&qo=8
http://rolance.deviantart.com/art/DOA5-Leifang-Costume-11-607784662?q=gallery%3Arolance%2F58619893&qo=22


Swimsuit
http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-41-Hot-Summer-618620774?q=gallery%3Arolance%2F58619861&qo=40 (http://rolance.deviantart.com/art/DOA5-Kokoro-Costume-41-Hot-Summer-618620774?q=gallery%3Arolance%2F58619861&qo=40)
http://rolance.deviantart.com/art/DOA5-Kokoro-Hot-Summer-Costume-2-ver2-599223569?q=gallery%3Arolance%2F58619861&qo=55
Title: Re: General Discussion
Post by: Xela on August 21, 2016, 02:10:59 PM
Just pushed another bunch of gui updates.
Title: Re: General Discussion
Post by: DarkTl on August 21, 2016, 02:34:33 PM
MC portrait becomes messed up once you enter MC equipment screen from MC profile.
Title: Re: General Discussion
Post by: Xela on August 22, 2016, 12:47:18 AM
MC portrait becomes messed up once you enter MC equipment screen from MC profile.

Looks really cool... but unintended, I'll remove it.
Title: Re: General Discussion
Post by: lamoli on August 22, 2016, 03:17:18 AM
Hmm.. with those larger eyes types i wonder.. (with or without original solid lashes)


(https://s20.postimg.org/kfd8srnuh/baseolder2.png) (https://postimg.org/image/kfd8srnuh/)(https://s20.postimg.org/820eluy61/moddedolder0.png) (https://postimg.org/image/820eluy61/)(https://s20.postimg.org/lwyp4bsl5/moddedolder0withoutsolidbrows.png) (https://postimg.org/image/lwyp4bsl5/)(https://s20.postimg.org/g2jao34hl/moddedolder0ext.png) (https://postimg.org/image/g2jao34hl/)
(https://s20.postimg.org/pulytqfeh/baseolder2-1.png) (https://postimg.org/image/pulytqfeh/)(https://s20.postimg.org/pw0i0w6m1/moddedolder0-1.png) (https://postimg.org/image/pw0i0w6m1/)(https://s20.postimg.org/jwcqx8ltl/moddedolder0withoutsolidbrows-1.png) (https://postimg.org/image/jwcqx8ltl/)(https://s20.postimg.org/5r6xvfcs9/moddedolder0-1+ext.png) (https://postimg.org/image/5r6xvfcs9/)


BaseOlder/ModdedWith/ModdedWithout


( Its not final render just last step before sending to next program then back to blender for final render )


Edit:
Added a 4th with longer lashes.. but maybe they should be more dense
Title: Re: General Discussion
Post by: DarkTl on August 22, 2016, 05:32:34 AM
Hmm, I think long dashes suit this characters.
Title: Re: General Discussion
Post by: DarkTl on August 22, 2016, 12:21:52 PM
I don't understand how this stuff works together.
Quote
                                                target_damage_effect={"gfx": "battle_bounce", "initial_pause": 1.7},
                                                target_sprite_damage_effect={"gfx": "iced", "initial_pause": 0.6, "duration": 1.0},
                                                target_death_effect={"gfx": "dissolve", "initial_pause": 1.0, "duration": 0.5}
I mean, I know what all gfx effects do. But how could they shake if they are frozen? Or why there is generic death effect with initial_pause and stuff when target will disappear via dissolve anyway?
Title: Re: General Discussion
Post by: lamoli on August 22, 2016, 12:28:05 PM
First some reflect samples.. ( looks like too much reflect kills the anime look alike )


(https://s20.postimg.org/hbq0c26wp/Asuka0.55.png) (https://postimg.org/image/hbq0c26wp/)(https://s20.postimg.org/fu4k0i261/Asuka0.6.png) (https://postimg.org/image/fu4k0i261/)(https://s20.postimg.org/w6elq8ghl/Asuka0.7.png) (https://postimg.org/image/w6elq8ghl/)
0.55/0.6/0.7


unsure i did the lot in 0.6


(https://s20.postimg.org/azav283uh/Asuka0png.png) (https://postimg.org/image/azav283uh/)(https://s20.postimg.org/yexdlbczd/Asuka1png.png) (https://postimg.org/image/yexdlbczd/)(https://s20.postimg.org/6sum0mtmh/Asuka2.png) (https://postimg.org/image/6sum0mtmh/)(https://s20.postimg.org/re9dsjb7d/Asuka3.png) (https://postimg.org/image/re9dsjb7d/)
Title: Re: General Discussion
Post by: DarkTl on August 22, 2016, 12:29:36 PM
Nice  :)
0.6 is probably the best.
Title: Re: General Discussion
Post by: lamoli on August 22, 2016, 12:35:18 PM
Just realized.. she looks tanned lol original was too yellowish but thats too dark now


can always be tweakened later..


Edit:
Just how 1 little thing changes it a lot and looks even closer to original..


(https://s20.postimg.org/4s42fsxh5/Asuka0.6x1.png) (https://postimg.org/image/4s42fsxh5/)(https://s20.postimg.org/tzeyg20l5/Asuka0x1.png) (https://postimg.org/image/tzeyg20l5/)
Title: Re: General Discussion
Post by: Xela on August 22, 2016, 01:14:24 PM
I don't understand how this stuff works together.I mean, I know what all gfx effects do. But how could they shake if they are frozen? Or why there is generic death effect with initial_pause and stuff when target will disappear via dissolve anyway?

We have one general loop, where all effects are timed and executed. The loop has it's own rules but those are intuitive so you'd often get what you expect if you worked with the system for a while.

I don't understand what you mean here, target_damage_effect is the bouncing damage (numeral) you see, target_sprite_damage is the effect on the sprite itself as it gets hit, like shaking or getting covered in ice or getting an overlay of some sort. Death effect is how the target is destroyed, like exploding or disappearing.
Title: Re: General Discussion
Post by: Xela on August 22, 2016, 01:15:52 PM
Just realized.. she looks tanned lol original was too yellowish but thats too dark now


can always be tweakened later..


Edit:
Just how 1 little thing changes it a lot and looks even closer to original..


(https://s20.postimg.org/4s42fsxh5/Asuka0.6x1.png) (https://postimg.org/image/4s42fsxh5/)(https://s20.postimg.org/tzeyg20l5/Asuka0x1.png) (https://postimg.org/image/tzeyg20l5/)

She looks great! I once again don't really know the original so it's hard to advice how to approach it better.
Title: Re: General Discussion
Post by: lamoli on August 22, 2016, 01:24:27 PM
Maybe il try to give her a grown up body as well now she s a bit too chibi and ill use the DOA5 Senran Kagura clothing mod for that
Title: Re: General Discussion
Post by: DarkTl on August 22, 2016, 01:35:15 PM
Death effect is how the target is destroyed, like exploding or disappearing.
Targets disappear with dissolve if dead by default once the spell is over. What's the point of manual dissolve setting?
Title: Re: General Discussion
Post by: DarkTl on August 22, 2016, 01:36:35 PM
Maybe il try to give her a grown up body as well now she s a bit too chibi and ill use the DOA5 Senran Kagura clothing mod for that
Yeap, she is a bit too short atm.
Title: Re: General Discussion
Post by: Xela on August 22, 2016, 01:41:19 PM
Targets disappear with dissolve if dead by default once the spell is over. What's the point of manual dissolve setting?

None what so ever, if the default start timing and duration of the animation suits you, you can delete that whole like of code. There would be no point in it.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2016, 10:01:44 AM
in a perfect world we would have changed all definitions by now (even some magic is skill defined in the old fashion).
Should I still use P2P_MagicAttack and MagicArrows? Or they are obsolete and should be replaced with SimpleMagicalAttack somehow, or with some currently not existing function that you will add later?
Title: Re: General Discussion
Post by: Xela on August 23, 2016, 10:21:17 AM
Should I still use P2P_MagicAttack and MagicArrows? Or they are obsolete and should be replaced with SimpleMagicalAttack somehow, or with some currently not existing function that you will add later?

What's wrong with them?
Title: Re: General Discussion
Post by: DarkTl on August 23, 2016, 10:31:45 AM
From comments:
Quote
@Review: There may not be a good reason for this to be a magical attack instead of any attack at all!

There are no other ways to show bow attack, I mean a real bow attack with bow and arrows. But at the same time comment suggests it cannot support non magic attacks.
Title: Re: General Discussion
Post by: lamoli on August 23, 2016, 10:33:04 AM
With a more mature body.. ( looks less like a kid than before )


(https://s20.postimg.org/3okv6lapl/Asukamature0.png) (https://postimg.org/image/3okv6lapl/)(https://s20.postimg.org/3put00cjd/Asukamature1.png) (https://postimg.org/image/3put00cjd/)(https://s20.postimg.org/4gnj5sewp/Asukamature2.png) (https://postimg.org/image/4gnj5sewp/)(https://s20.postimg.org/5k7nhqzjt/Asukamature3.png) (https://postimg.org/image/5k7nhqzjt/)
(https://s20.postimg.org/8fkqom3jt/AsukaxPole.png) (https://postimg.org/image/8fkqom3jt/)


Also made 2 transfer models to port all the Senran Kagura and all the DOA clothing
Title: Re: General Discussion
Post by: Xela on August 23, 2016, 10:53:26 AM
From comments:
There are no other ways to show bow attack, I mean a real bow attack with bow and arrows. But at the same time comment suggests it cannot support non magic attacks.

Yeah... it's not very well thought through. Use this, I can fix it later, prolly the whole isinstance() approach to differentiate magic from attacks is a shitty idea. GUI is much better now so I'll try to mod BE a bit tonight.
Title: Re: General Discussion
Post by: Xela on August 23, 2016, 10:59:59 AM
With a more mature body.. ( looks less like a kid than before )


(https://s20.postimg.org/3okv6lapl/Asukamature0.png) (https://postimg.org/image/3okv6lapl/)(https://s20.postimg.org/3put00cjd/Asukamature1.png) (https://postimg.org/image/3put00cjd/)(https://s20.postimg.org/4gnj5sewp/Asukamature2.png) (https://postimg.org/image/4gnj5sewp/)(https://s20.postimg.org/5k7nhqzjt/Asukamature3.png) (https://postimg.org/image/5k7nhqzjt/)
(https://s20.postimg.org/8fkqom3jt/AsukaxPole.png) (https://postimg.org/image/8fkqom3jt/)


Also made 2 transfer models to port all the Senran Kagura and all the DOA clothing

Kinda looks like a hobbit now :D
Title: Re: General Discussion
Post by: lamoli on August 23, 2016, 11:07:09 AM
Kinda looks like a hobbit now :D


Turn out to be easier now lol the only part that takes time is adjusting the face.. but with the 5 types iv made so far im always really close to where i should end..
About that im missing Naruto squareish and Bleach V types of faces but will be doing at least 1 of each soon.. as it will make it easyer to model any char face later on if i have all the bases
Title: Re: General Discussion
Post by: Xela on August 23, 2016, 11:40:49 AM
@Dark:

What do we need BE to do? I forgot while working on the GUI :D

NM, found most of it in history, we need to post those in BE thread when discussing specifics.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2016, 12:04:00 PM
With a more mature body.. ( looks less like a kid than before )
I think she's still way too short to be accounted as adult. Although, in the game I played which they released in steam some time ago she's a schoolgirl, so it's fine.

@Xela:

1) Support for multielemental attacks, including physic+magic.

2) Item field for non magic skills.

3) Issue with gui, when equipment screen doesn't show which skills will be removed when you unequip items.

4) Weapons have fields like "attacks": ["SwordAttack"]. They mean that with that weapon character should have basic sword attack available. And without weapons with such fields only fists should be available.
Title: Re: General Discussion
Post by: Xela on August 23, 2016, 12:35:28 PM
1) Support for multielemental attacks, including physic+magic.

I have the multielemental option :( Maybe for post-beta? Physic+Magic I'll try to do tonight.

2) Item field for non magic skills.

? We have one, don't we?

3) Issue with gui, when equipment screen doesn't show which skills will be removed when you unequip items.

4) Weapons have fields like "attacks": ["SwordAttack"]. They mean that with that weapon character should have basic sword attack available. And without weapons with such fields only fists should be available.

3) is weird... I'll try to track it down. 4) Prolly yeah, you want it done differently?
Title: Re: General Discussion
Post by: DarkTl on August 23, 2016, 12:45:46 PM
I have the multielemental option :( Maybe for post-beta? Physic+Magic I'll try to do tonight.
Well, I figured there is zero difference between physic+magic and N damage sources. But yeah, we at least need physic+magic, with physic part being able to use crit hits.

? We have one, don't we?
For spells only. If used, the field adds even pure weapon skills to spells.

Prolly yeah, you want it done differently?
Err, no. There is no such system as far as I know. But there should be.
Title: Re: General Discussion
Post by: DarkTl on August 23, 2016, 01:36:49 PM
is weird... I'll try to track it down.
The thing is, we never had items which can be unequipped and give skills/spells when equipped. We only had scrolls as consumables, and they work with gui as intended.

But when a few days ago I added the very first weapon with skill for testing, turned out gui doesn't support this stuff.
Title: Re: General Discussion
Post by: Xela on August 23, 2016, 05:59:08 PM
I've made a list of stuff that needs to get checks, cannot focus on code with some many things at play...

Add new field to all skills so they can be sorted by them instead of isinstance().

Attack Ability:
-   Rows
-   Resources (MP/VP)

Attack Power:
-   Stats
-   Trait Modifiers?
-   Items Field Modifiers (Weapons)
-   Rows
-   BE Event Mods
-   Elemental

Defense Power:
-   Stats
-   Traits Modifiers?
-   Items Field Modifiers (Armor)
-   Rows
-   BE Event Mods
-   Elemental

Special Mods:
-   Absorption
-   Resistance
-   Critical
-   BE Events Mods
-   Inevitable
-   Missed
-   Status

Types:
-   Melee
-   Ranged
-   Magic
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 01:49:27 AM
-   Rows.
The current rows system works like:
Melee can only attack the first row while being in the first row. Ranged can only attack the first row no mater its own row. Piercing can attack any row while being in the first row. Ranged+Piercing can attack any row no matter its own row. True Piercing ignores all row penalties if they exist, but does nothing else.
I think it should stay like that.

-   Resources (MP/VP/Health)


Attack Power:
-   Trait Modifiers? - if you mean stuff like damage = damage * 1.1 for warrior class trait, then yeah, it's an interesting idea.
-   Rows -   It might be a good idea to add attack power penalty for the second row in addition to reduced damage, to balance things.

Special Mods:
-   Resistance <- We have Magic Immunity trait. It's supposed to provide immunity to all existing atm elements. I created an item which adds this trait, equipped it and attacked the character with magic. She died. Meaning your resistance does not work as intended!


Now, my part:

- Multielemental attacks:
For testing I created a spell with both air and ice attributes. It ignores ice keyword completely, so I can say for sure that atm the system doesn't support such things at all.

We can live without magic+magic+magic... attacks right now, but at very least we need physic+magic for beta. Where physical part can be critical, magic part is affected by all target elemental defenses and weaknesses, and the attack can miss, dealing no damage at all in result. It also will require a unique attack power formula which includes both attack and magic parts.

- Gui cannot support items which add skills/spells when equipped. It just ignores this stuff, while it should show everything, simply because there are places in gui created exactly to show skills changes.

- Characters should have basic attack provided by equipped weapon, provided by "attacks" item field. And no other basic attacks.
Meaning after equipping a sword to unarmed character you'll lose fistsattack and gain swordattack, and vice versa. Since there are two weapons, character may have two basic attacks, yeah.
It also should support multielemental basic attacks. I mean, if you equip some fire sword, you'll get not a simple swordattack, but (currently not existing) fire_sword_attack which has both physical and fire attributes.

- We have add_be_spells field which adds spells. But we don't have a field for adding skills. While we do have "attacks", its purpose is to add basic attacks, not skills.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 05:17:32 AM
-   Rows.
The current rows system works like:
Melee can only attack the first row while being in the first row. Ranged can only attack the first row no mater its own row. Piercing can attack any row while being in the first row. Ranged+Piercing can attack any row no matter its own row. True Piercing ignores all row penalties if they exist, but does nothing else.
I think it should stay like that.

Factually correct, technically not exactly but it doesn't matter.

-   Resources (MP/VP/Health)

Yeah, it is a good idea to add all these basics to the default check method. It can be overwritten for special attacks.

Attack Power:
-   Trait Modifiers? - if you mean stuff like damage = damage * 1.1 for warrior class trait, then yeah, it's an interesting idea.
-   Rows -   It might be a good idea to add attack power penalty for the second row in addition to reduced damage, to balance things.

Not just that, at one point we could add damage modifiers for weapons types through traits, like Warrior would get 20% damage in BE using a sword. I am trying to make a future safe system, while we haven't used one line of Jake's BE code, I modeled some code structure from it. We want more and more and more with every upgrade and it is becoming more and more difficult to code it in.

I am not sure about attack penalty, seems like a horrible idea, plain damage reduction feels like a perfect solution.

Special Mods:
-   Resistance <- We have Magic Immunity trait. It's supposed to provide immunity to all existing atm elements. I created an item which adds this trait, equipped it and attacked the character with magic. She died. Meaning your resistance does not work as intended!

I'll keep that in mind, there is a lot in play there... that's why I cannot write code for BE without a plan anymore :(

- Multielemental attacks:
For testing I created a spell with both air and ice attributes. It ignores ice keyword completely, so I can say for sure that atm the system doesn't support such things at all.

I didn't really want it to... was kind of hoping we could avoid that. I thought that there was code to account for it regardless but maybe there isn't... Even GUI will get fucked up :( We don't have a slot for ME attacks atm....

We can live without magic+magic+magic... attacks right now, but at very least we need physic+magic for beta. Where physical part can be critical, magic part is affected by all target elemental defenses and weaknesses, and the attack can miss, dealing no damage at all in result. It also will require a unique attack power formula which includes both attack and magic parts.

I'll do this, maybe even without unique formula if possible.

- Gui cannot support items which add skills/spells when equipped. It just ignores this stuff, while it should show everything, simply because there are places in gui created exactly to show skills changes.

I don't have a slightest clue why and don't fully understand what you mean here, I'll take a look anyway but prolly after BE update.

- Characters should have basic attack provided by equipped weapon, provided by "attacks" item field. And no other basic attacks.
Meaning after equipping a sword to unarmed character you'll lose fistsattack and gain swordattack, and vice versa. Since there are two weapons, character may have two basic attacks, yeah.
It also should support multielemental basic attacks. I mean, if you equip some fire sword, you'll get not a simple swordattack, but (currently not existing) fire_sword_attack which has both physical and fire attributes.

I am thinking a new "be" field which would be a dict, we may want a lot more than attack in the future. But we can also simply add fields as well... The thing is... feels (again) stupid and confusing, we're just doubling down on plain attack stat for which we have a cool mechanic in play that took weeks to design. It's like with your new two evasion stats :(

System is quickly becoming not just humongous but fucked up in a way where we breed stat after stats and bonus after bonus that do more or less the same thing. I'd really like to get rid of the new stats and add stuff like extra evasion mods just for BE through classes and items, calculating ability to evade based of agility.

- We have add_be_spells field which adds spells. But we don't have a field for adding skills. While we do have "attacks", its purpose is to add basic attacks, not skills.

I thought that it would work for both, gonna have to track down why it doesn't.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 05:52:18 AM
Yeah, it is a good idea to add all these basics to the default check method. It can be overwritten for special attacks.
Just keep my algorithm intact, when non integer resources mean %, ie 0.5 vitality means 50% of max character vitality.

Btw do mobs even have vitality and mp, or they are unlimited like in many games?

I didn't really want it to... was kind of hoping we could avoid that.
We have many absolutely amazing animations made from multiple elements. We don't need it for beta at all, but we do need it for the release. So it might be a good idea to prepare ME code now instead of rewriting everything later.

I don't have a slightest clue why and don't fully understand what you mean here, I'll take a look anyway but prolly after BE update.
Ah shit, I got it. I tested it with characters which have all attacks in the game due to being used in BE testing mode. In this case the system of showing skills just goes nuts. For normal characters it works fine  :D

I am thinking a new "be" field which would be a dict, we may want a lot more than attack in the future. But we can also simply add fields as well... The thing is... feels (again) stupid and confusing, we're just doubling down on plain attack stat for which we have a cool mechanic in play that took weeks to design.
Well, to be honest I don't like the system of double weapon -> double basic attack.
How about moving all weapons capable to attack to the main hand, and all others like shields and stuff to another one? No more issues with double attacks.

It's like with your new two evasion stats :(

System is quickly becoming not just humongous but fucked up in a way where we breed stat after stats and bonus after bonus that do more or less the same thing. I'd really like to get rid of the new stats and add stuff like extra evasion mods just for BE through classes and items, calculating ability to evade based of agility.
Aha. It used to be based on differences in agility and levels. Do you know what was going on in BE testing mode? Goblins coudn't do a thing without magic.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 06:48:41 AM
Just keep my algorithm intact, when non integer resources mean %, ie 0.5 vitality means 50% of max character vitality.

Btw do mobs even have vitality and mp, or they are unlimited like in many games?

- Noted.
- Mobs have the same limitations as any other char. You know this, you wrote their classes :)

We have many absolutely amazing animations made from multiple elements. We don't need it for beta at all, but we do need it for the release. So it might be a good idea to prepare ME code now instead of rewriting everything later.

I'll take a look...

Ah shit, I got it. I tested it with characters which have all attacks in the game due to being used in BE testing mode. In this case the system of showing skills just goes nuts. For normal characters it works fine  :D

Testing overwrites often bypass blocks used by normal operations.

Well, to be honest I don't like the system of double weapon -> double basic attack.
How about moving all weapons capable to attack to the main hand, and all others like shields and stuff to another one? No more issues with double attacks.

It's mostly an items design thing, we can also just mass rename the slot if required. It's a good idea on many levels...

Aha. It used to be based on differences in agility and levels. Do you know what was going on in BE testing mode? Goblins coudn't do a thing without magic.

So? It a matter of balancing classes, not adding more stats to solve a simple issue.


We can live without magic+magic+magic... attacks right now, but at very least we need physic+magic for beta. Where physical part can be critical, magic part is affected by all target elemental defenses and weaknesses, and the attack can miss, dealing no damage at all in result. It also will require a unique attack power formula which includes both attack and magic parts.

I don't understand this, we're prolly on a different page on these concepts:

- Weapons ("melee", "ranged")
- Magic ("magic")

Are mediums to carry over/produce damage (from stats like attack, magic, intelligence, agility, luck and etc.). Weapon damage vs Magic damage. I can understand Weapons carry over Elemental Damage just like magic does, but what the heck is the point in mixing those up? I mean, what is added to the game by adding a new formula except more work for us? How is "melee" + "magic" + "fire" any different from "melee" + "fire" other that creating more core code and confusion? You basically want new special class of weapons, owners of which could benefit from attack and magic stats combined... but that is confusing as sh!t and further complicates a concept that is already difficult to grasp. Do we really want to go there?
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 06:51:06 AM
If we're going to add "attack" of some kind to items, effect field is pointless for non-magical attacks as they would do the exact same thing, so it should be removed.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 06:51:41 AM
I need answers to these issues before I start coding...
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 07:14:06 AM
We don't force lowercase letters with code so your Magic Immunity prolly doesn't work properly cause most elements are capitalized:
Code: [Select]
    {
    "id": "Magic Immunity",
    "desc": "No damage from any magic.",
    "resist": ["ice", "Water", "Fire", "Air", "Earth", "Electricity", "Light", "Darkness", "Healing"]
    },

Also, this is more like elemental resistance, magical resistance might look something like:

Code: [Select]
    {
    "id": "Magic Immunity",
    "desc": "No damage from any magic.",
    "resist": ["magic"]
    },

Also, "Healing" might not belong there cause it can be status oriented, without involving magic (technically speaking), like some chars use faith based healing or tech based healing that might not be magical in nature. Healing doesn't belong here...

Edit: There should not be items in the game to allow this other than for testing purposes... this is so overpowering that it's game breaking. Could be a nice for Mobs though...
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 07:49:39 AM
- Mobs have the same limitations as any other char. You know this, you wrote their classes :)
BE may ignore limitations for the enemy team, it actually does so in many games. That's why in jrpgs enemies never run out of mp, or in shooters with limited ammo enemies have unlimited ammo. Because often there is no way for them to replenish it, unlike the player.

It's mostly an items design thing, we can also just mass rename the slot if required. It's a good idea on many levels...
Ok, I'll do that.
There is another issue thought, with default attack type. If a character has a weapon on the battle sprite, then her basic attack should not be default fists, but the weapon she has. Therefore we need a field for basic attack (without weapon equipped) in character data files, which by default will be fists.

So? It a matter of balancing classes, not adding more stats to solve a simple issue.
That's not about classes. Agility increases infinitely for any class, given time and/or levels
Let's say you have met a high level mob with superior agility. The battle will be irritating due to high chance of evasion, or even unwinnable without magic if the chance of evasion will not be capped.

And if you want to replace resistance with intelligence, then we already have tons of magic related things tied to intelligence due to lack of magic defense stat.

It also give me an option to make some items and traits better or worse by adding bonuses and penalties to the new stats. While giving bonus to intelligence pretty much increases everything about magic, bonus to resistance only increases resistance.

How is "melee" + "magic" + "fire" any different from "melee" + "fire" other that creating more core code and confusion?
Hm? There is no "melee" + "magic" + "fire", such combination is impossible. I can't even imagine how to use one if it will be added  :)

Look,
Step 1) check for crit hit and evasion for non magical attacks, and resistance for magic. And change starting multipliers according to checks if needed.
Step 2) calculating attack for attacker and defense for target. They both already calculate differently for magic and non magic skills.
Step 3) take into account elemental bonuses and penalties for elements, including resistance and absorption.
Step 4) deal the damage or avoid it

At the moment at step 2 we check if this is a spell or a weapon attack, and depending on this check attacking and defending powers calculated completely differently. It uses the "melee" and "ranged" keywords, and without them it sees the attack as a magical one.
So basically let's say I add there a new keyword, like "magic_weapon", which will lead to some another formula of attack and defense calculation, making magic a bit more useful for some (not all) skills. Because otherwise magic is pretty useless for pure warriors. That's the plan at least  :)

 I'm not insisting on it, but it's nothing special really, literally a few lines of code which I can add on my own.
 
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 08:58:13 AM
BE may ignore limitations for the enemy team, it actually does so in many games. That's why in jrpgs enemies never run out of mp, or in shooters with limited ammo enemies have unlimited ammo. Because often there is no way for them to replenish it, unlike the player.

We don't have that but it's not hard to arrange...

There is another issue thought, with default attack type. If a character has a weapon on the battle sprite, then her basic attack should not be default fists, but the weapon she has. Therefore we need a field for basic attack (without weapon equipped) in character data files, which by default will be fists.

We should already have that.

That's not about classes. Agility increases infinitely for any class, given time and/or levels

No, base classes can stop that, slow it down or increase the rate it's gained on level-ups.

And if you want to replace resistance with intelligence, then we already have tons of magic related things tied to intelligence due to lack of magic defense stat.

But is it not how you make the battle engine interesting. Weird enemy that cannot kill your party while endlessly evading it would be very unique, we could cap the the amount of max turns for BE, with battle resulting in a draw or something. Unique stuff is allowed to be annoying. We can also add running away option.

And if you want to replace resistance with intelligence, then we already have tons of magic related things tied to intelligence due to lack of magic defense stat.

I don't think that would be a bad thing. Not mentioning that I've already told you that I consider the whole magic resistance thing a bad idea, twice that much if done through a new stat.

My approach would have been a new status skill that partly shields from magical damage for x number of turns. I like and understand evasion from weapon attacks. I like resistance to elements, maybe to magic itself. But I don't get random reduction of damage based of a stat/health. I liked older system way better, it was more intuitive and could have been great just with better balancing.

It also give me an option to make some items and traits better or worse by adding bonuses and penalties to the new stats. While giving bonus to intelligence pretty much increases everything about magic, bonus to resistance only increases resistance.

Yeah, and that is exactly what I meant with new item "be" field. We can add stuff there effecting BE only. I mean, the thing that hurts me the most is that I've spent many month trying to develop a system that could create chars/mobs that would feel different from one another in the game/BE and you've basically said: Fuck That Shit! We're gonna add new stats that do not change and your Chars will have the same evasion at level 250 as they had at level 1. Not learning how to dodge anything in between.

Some spells can be dodged, depending usually on animation but that will be close to impossible to balance properly cause we don't draw animations ourselves... but:

Code: [Select]
defense = round(target.magic*0.2 + target.defence*0.6 + target.intelligence*0.2)
This seems like a reasonable magical defense setup, why do we need more? The whole resistance thing feels like really off :( We already have elemental resistance, damage reduction, base traits controlling development of all of these stats and will soon have item mods... maybe more trait mods in the future. The more I think about these two static evasion stats, the more I hate them  :(

Hm? There is no "melee" + "magic" + "fire", such combination is impossible. I can't even imagine how to use one if it will be added  :)

I thought that was what you were asking me to add :)

So basically let's say I add there a new keyword, like "magic_weapon", which will lead to some another formula of attack and defense calculation, making magic a bit more useful for some (not all) skills. Because otherwise magic is pretty useless for pure warriors. That's the plan at least  :)

But that was the whole point! Magic not being useful for pure warriors other than defending against it a little bit. That's how we differentiate between different case classes.

I just checked with traits_class file. You mutilated my Battle Mage class :D

The idea behind it was a class that would have moderate increases to mp/hp/magic/attack/defense. Kind of a jack of all (combat) traits (except agility) but kind of none. While Warrior would completely suck at mp/magic, mage would have shitty defence and attack but really high mp/magic, archer would have very high agility, moderate attack and very slow magic/mp and etc.

===>>
 I don't like magic weapon either.... I don't really like anything that would combine magic and attack into a singe damage formula. It kinda completely erases difference between magic and non magic combatants.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 09:33:09 AM
I am removing stuff like "elemental" damage from reports in BE. We may restore them later, we'll stick with just damage/defence bonuses, code will be a lot cleaner that way.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 10:17:19 AM
We should already have that.
But equipping a different weapon does not remove this default skill if it's not fists. And we already decided to get rid of double base attacks, up to the point of moving all weapons to the main hand.

No, base classes can stop that, slow it down or increase the rate it's gained on level-ups.
1) Base class won't help much with 100-200 levels of difference.
2) Too many factors involved for agility based evasion. Base class(es), equipment, relative bonuses to stats. It's impossible to predict the chance of evasion in particular case. While damage can be overcomed by high health, healing spells, defense and constitution, only agility can beat agility. I'm afraid it will lead to catastrophically unbalanced combat when the difference in levels is high enough.

My approach would have been a new status skill that partly shields from magical damage for x number of turns. I like and understand evasion from weapon attacks. I like resistance to elements, maybe to magic itself. But I don't get random reduction of damage based of a stat/health. I liked older system way better, it was more intuitive and could have been great just with better balancing.
Then we have a deal. Add a class for spells which shield party from either all magic or some element if you don't want resistance stat  :D
Perhaps it could be limited by the amount of absorbed damage, not just number of times.

Yeah, and that is exactly what I meant with new item "be" field. We can add stuff there effecting BE only.
If you don't want evasion and resistance stats, then what possibly could be affected? We don't have much options to control in BE, attack = attack, health = health, magic = magic, etc.

This seems like a reasonable magical defense setup, why do we need more?
Resistance is supposed to balance evasion. Evasion is a good way to avoid damage. When there is no way at all to avoid spells damage, it makes spells much better than normal attacks. Up to the point of not using normal attacks and only using warriors as tanks while mages do all damage.


I don't like magic weapon either.... I don't really like anything that would combine magic and attack into a singe damage formula. It kinda completely erases difference between magic and non magic combatants.
It's not my decision. I'm tied by available icons, and there are plenty of high quality magical weapons like burning swords.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 10:54:47 AM
But equipping a different weapon does not remove this default skill if it's not fists. And we already decided to get rid of double base attacks, up to the point of moving all weapons to the main hand.

Wow... I didn't expect that :D Wonder how I written that code, prolly just had it adding the fist skill directly...

1) Base class won't help much with 100-200 levels of difference.
2) Too many factors involved for agility based evasion. Base class(es), equipment, relative bonuses to stats. It's impossible to predict the chance of evasion in particular case. While damage can be overcomed by high health, healing spells, defense and constitution, only agility can beat agility. I'm afraid it will lead to catastrophically unbalanced combat when the difference in levels is high enough.

WHY?

First, if the difference between levels is in hundreds, the party should get fucking wasted... that's the whole point of picking the right battles, nothing should be of much help there! Some battles cannot be won, there will always be a point where you're not going to come back from the battle.

Two: Actually, magic would still hit... Critical Strikes override dodging too. We can maybe offset it somehow based off levels but I don't see a problem with level 200 archer with high agility wasting 3 level 20 dumbass warriors without ever getting hit once! Not just in Games, for example, Legolas wasted scores of melee highers in LOTR and movies are a lot harder to make.

You keep saying that it's a bad thing that a much higher characters dodges a lot vs some nub, while it is NOT!

Then we have a deal. Add a class for spells which shield party from either all magic or some element if you don't want resistance stat  :D
Perhaps it could be limited by the amount of absorbed damage, not just number of times.

It will look a lot like poison... I'll add one soon.

If you don't want evasion and resistance stats, then what possibly could be affected? We don't have much options to control in BE, attack = attack, health = health, magic = magic, etc.

In almost all games which I played with turn based BE, evasion chance and magical resistance were effected directly. Like boots that plainly add 10% chance to evade an attack. Or a ring that reduces magic damage by 10%. No stat is directly effected and description explains what the item does. Such items often don't have any other effects at all.

Magical Defense stat is common but we have Magic and Defence already and base class controls. I've never seen a game that has f*cking AGILITY STAT which was not used to evade in favor of a static evasion stat. Although it's been a while since I played RPGs.

Resistance is supposed to balance evasion. Evasion is a good way to avoid damage. When there is no way at all to avoid spells damage, it makes spells much better than normal attacks. Up to the point of not using normal attacks and only using warriors as tanks while mages do all damage.


I don't understand this... Not every character is good at evasion! I've played excellent games where it was almost impossible to kill a ninja class using a warrior class without using evasion chance lowering item or having a spellcaster to do the same thing. All the attacks would be dodged. It's just a difference between classes and levels of characters. And mages rule behind a tank but our spells consume waaaay to little MP at the moment and that should be balanced out as well.

But the thing is that it's not really solved by new stats. Just made plain, simple and boring. Normal attacks do not consume anything, I don't even like that they consume VP. And the way they were coded initially, they dished out very good amount of damage. There was balance... there can be again.

It's not my decision. I'm tied by available icons, and there are plenty of high quality magical weapons like burning swords.

You still haven't explained why:

"melee", "fire"

is not good enough? Idea behind magical weapons is usually so non magical characters can do elemental damage.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 11:54:46 AM
I forgot who came up with desc for elements but we need to change that... they're weird.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 12:56:22 PM
Code: [Select]
- Minor changes to reports
- We now allow multiple elemental multipliers

Ok, multiple elements should now work.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 12:58:19 PM
Code: [Select]
            if "melee" in self.attributes: # TODO: ADD WEAPONS EFFECTS IF THIS IS A WEAPON SKILLS
                attack = (a.attack*0.8 + a.agility*0.25 + self.effect) * self.multiplier
            elif "ranged" in self.attributes:
                attack = (a.attack*0.9 + (a.luck+50)*0.5 + self.effect) * self.multiplier # luck bonus is far more limited than agility bonus from melee, but ranged attacks should have drawbacks too

Did you remove agility from ranged as well? Why do you hate that stat this much? :D
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 12:58:58 PM
I forgot who came up with desc for elements but we need to change that... they're weird.
One of temporary writers, probably a year ago or so. I can only replace it by direct descriptions of strong and weak sides of elements, without vague artistical parts.

You keep saying that it's a bad thing that a much higher characters dodges a lot vs some nub, while it is NOT!
Too frequent evasions are often irritating when done by enemies, and make a game too easy when done by your team. How do you propose to calculate it? A.agility/t.agility or something?

I've never seen a game that has f*cking AGILITY STAT which was not used to evade in favor of a static evasion stat.
http://finalfantasy.wikia.com/wiki/Evasion (http://finalfantasy.wikia.com/wiki/Evasion)
Final Fantasy 10, pure (but hidden) evasion stat.

Normal attacks do not consume anything, I don't even like that they consume VP.
0 vitality = inability to do anything outside BE. Of course you shouldn't be able to fight too.

And the way they were coded initially, they dished out very good amount of damage.
There will be weapons skills to deal more damage. With free and powerful simple attacks what's the point of them? None, just spam normal attacks.

There was balance... there can be again.
Yeah, when people wrote guides how to beat the second monsters team at arena. Out of 10 teams iirc.

You still haven't explained why:

"melee", "fire"

is not good enough? Idea behind magical weapons is usually so non magical characters can do elemental damage.
In this case the game will use the formula developed for physical attacks to calculate fire damage. Isn't it illogical?
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 01:01:13 PM
Code: [Select]
            if "melee" in self.attributes: # TODO: ADD WEAPONS EFFECTS IF THIS IS A WEAPON SKILLS
                attack = (a.attack*0.8 + a.agility*0.25 + self.effect) * self.multiplier
            elif "ranged" in self.attributes:
                attack = (a.attack*0.9 + (a.luck+50)*0.5 + self.effect) * self.multiplier # luck bonus is far more limited than agility bonus from melee, but ranged attacks should have drawbacks too

Did you remove agility from ranged as well? Why do you hate that stat this much? :D
Because ranged characters are in less danger than melee ones.
But I'm thinking about using the melee formula for ranged attacks too, they are not so different.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 01:35:31 PM
If we're going to add "attack" of some kind to items, effect field is pointless for non-magical attacks as they would do the exact same thing, so it should be removed.
It depends. Do you want to add stuff like "physical damage 10-15 fire damage 2-6" to weapons? And then to all mobs? And then make sure that all npcs at arena have some weapons equipped to make sure they have proper attack range? (I don't  :) )

Also, this is more like elemental resistance, magical resistance might look something like:

Code: [Select]
    {
    "id": "Magic Immunity",
    "desc": "No damage from any magic.",
    "resist": ["magic"]
    },
Will it actually work with your code? Or it's just a general theoretical example?  :D

Also, "Healing" might not belong there cause it can be status oriented, without involving magic (technically speaking), like some chars use faith based healing or tech based healing that might not be magical in nature. Healing doesn't belong here...
Lack of healing should balance such powerful trait.

Edit: There should not be items in the game to allow this other than for testing purposes... this is so overpowering that it's game breaking. Could be a nice for Mobs though...
Only a few mobs have it in the whole game.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 01:58:06 PM
Ok, multiple elements should now work.
Define multiple elements. I have Northern Flow spell for testing which has air and ice. Atm only air works, as far as I can tell based on numbers color.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 02:24:05 PM
One of temporary writers, probably a year ago or so. I can only replace it by direct descriptions of strong and weak sides of elements, without vague artistical parts.

Prolly a better bet... right now they are plainly confusing.

Too frequent evasions are often irritating when done by enemies, and make a game too easy when done by your team. How do you propose to calculate it? A.agility/t.agility or something?

How was it done before the stat? Agility/Luck/Item Mods, something like:

ev =  min(t.agility*.1-a.agility*.1, 20) + max(1, t.luck-a.luck) + item.mods
if dice(ev):
    # evade...

http://finalfantasy.wikia.com/wiki/Evasion (http://finalfantasy.wikia.com/wiki/Evasion)
Final Fantasy 10, pure (but hidden) evasion stat.

Code: [Select]
Final Fantasy X

Evasion is increased by use of the Sphere Grid, and Evasion nodes are activated by using Speed Spheres. Out of all the characters in the party, Lulu has the highest overall Evasion in her section of the Sphere Grid, however, many do not use Evasion nodes, and instead use Luck as it performs this function and more.

In addition, the most accurate attack in the game (belonging to Dark Ixion) requires a combined total of 290 points of evasion to ensure dodge any evadable attack. To accomplish this, add the points of evasion together to the luck stat.

The ability Evade & Counter is the improved version of Counterattack ability, and mostly renders Evasion redundant as it guarantees evading; although Evade & Counter does not trigger on whole party attacks or attacks which themselves are a counter. The maximum Evasion stat matches the other stat maximums at 255. Magic is unaffected by Evasion as most Magic has a 100% hit rate; those spells which don't still have a fixed hit rate that is unaffected by stats.

For more information on the mechanics of Evasion in Final Fantasy X, please see the page on Accuracy.

??? But those are very combat oriented anyhow...

0 vitality = inability to do anything outside BE. Of course you shouldn't be able to fight too.

You shouldn't be able to start BE either. But this is fine, I don't really mind. One issue is that vitality is static so it should not matter on a level (of importance) that is anywhere near MP. Minor VP cost is a bit annoying but not enough so to make a case against :D

There will be weapons skills to deal more damage. With free and powerful simple attacks what's the point of them? None, just spam normal attacks.

Very true... a lot of games have a free attack + many attacks that consume SP (which we don't have). Vitality is fine, the only issue is that it's static.

Yeah, when people wrote guides how to beat the second monsters team at arena. Out of 10 teams iirc.

Yeap... but many steal beat the entire arena after a lot of grinding and buying items :)

In this case the game will use the formula developed for physical attacks to calculate fire damage. Isn't it illogical?

Matter of perspective I guess. Perceiving elemental weapons as shifting kinetic damage to elemental, it makes perfect sense. From coding perspective as well. But you can look at it differently, it all depends on the formula you propose, there might be a point at which some mixed class between a mage and a warrior will be able to use such weapons against almost everyone (except when element(s) align to enemies) at the same (or almost same) power as pure Warrior could use normal weapons or these elemental weapons. That would make Warrior/Archer classes trully peaces of shit.

So there is a danger when creating a weapon that consumes MP and VP and uses magic and attack stats. It might make such weapons a fair deal to mages as well. This needs to be decided, a lot in code depends on this, like absorption/resistance. In my concept, damage from these weapons would be impossible to absorb/resist.


We might want to switch to something like this: http://opengameart.org/content/multi-elemental-attacks-rpgs-there-cool-way-do-it

Might be easier to work with than absorption and resistance. Everything in one single mod from -1 to 1 (or from 0 - 200 like he suggests).
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 02:38:11 PM
Define multiple elements. I have Northern Flow spell for testing which has air and ice. Atm only air works, as far as I can tell based on numbers color.

First element you've specify in the attack will be used for color. That's another thing with multi-elemental attack that is shitty...

If you're talking number, don't forget that we have decided to use a mean of all elements, instead of stacking multiplier effects. Same with defense. It's not the best solution but it was a solution, otherwise stacked damage bonuses would make single elements idiotic to use. Not mentioning Neutral will become the shittiest thing ever.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 02:46:03 PM
Because ranged characters are in less danger than melee ones.
But I'm thinking about using the melee formula for ranged attacks too, they are not so different.

I'd make agility 50%+ of the ranged attack, somehow that stuck with me from some game I've played...

It depends. Do you want to add stuff like "physical damage 10-15 fire damage 2-6" to weapons? And then to all mobs? And then make sure that all npcs at arena have some weapons equipped to make sure they have proper attack range? (I don't  :) )

You're right. I forgot about mobs, we'll use both.

Will it actually work with your code? Or it's just a general theoretical example?  :D

Yes.

Even with very old code, resistance was and is still absolute. If ANY of the skill attributes are resisted, we don't even bother doing doing calculations... We will now prolly have to do something else, with ME attacks and sh!t. I just don't know what.

Lack of healing should balance such powerful trait.
Only a few mobs have it in the whole game.

Oki.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 02:58:10 PM
How was it done before the stat?
evasion_chance = (t.luck-a.luck)*0.1 + 0.005*(t.level-a.level) + (t.agility - a.agility)*0.01

Might be easier to work with than absorption and resistance. Everything in one single mod from -1 to 1 (or from 0 - 200 like he suggests).
Not everything. Our elements also provide bonuses and penalties to spells damage.
    "el_damage": {"electricity": -0.5, "water": 0.5},
    "el_defence": {"water": 0.2, "fire": 0.3, "ice": -0.6},

We don't force lowercase letters with code so your Magic Immunity prolly doesn't work properly cause most elements are capitalized:
No. I changed them all to not start with capital letters, same result.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 03:05:05 PM
No. I changed them all to not start with capital letters, same result.
Nevermind, forced recompile fixed that  :)
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 03:15:17 PM
Nevermind, forced recompile fixed that  :)

Well... this goes into: Sick, Random Crap pile :D Ren'Py doesn't do anything to jsons.
Title: Re: General Discussion
Post by: DarkTl on August 24, 2016, 03:21:39 PM
First element you've specify in the attack will be used for color. That's another thing with multi-elemental attack that is shitty...

If you're talking number, don't forget that we have decided to use a mean of all elements, instead of stacking multiplier effects. Same with defense. It's not the best solution but it was a solution, otherwise stacked damage bonuses would make single elements idiotic to use. Not mentioning Neutral will become the shittiest thing ever.
Let's say we have air and ice spell.
We:
1) Calculate attacking and defending levels for spell, as usual.
2) Divide it by two because we have 2 elements (3 for 3 elements, etc)
3) Calculate elemental bonuses for them separately. With divided by 2 elemental multipliers. (3 for 3 elements, etc)
4) Treat resulting two numbers of damage as two independent damages, with different colors, one after another.
Title: Re: General Discussion
Post by: Xela on August 24, 2016, 03:50:05 PM
Let's say we have air and ice spell.
We:
1) Calculate attacking and defending levels for spell, as usual.
2) Divide it by two because we have 2 elements (3 for 3 elements, etc)
3) Calculate elemental bonuses for them separately. With divided by 2 elemental multipliers. (3 for 3 elements, etc)
4) Treat resulting two numbers of damage as two independent damages, with different colors, one after another.

This is a rewrite and a bunch of messy code. I want a cleaner solution, like on that site...

And you're oversimplifying! It would go something like this:

1) ATT/DEF base.
2) Get per elements damage fraction. We however NEVER do it like this, we do everything else first and calculate damage last :( And there are a number of reasons for that...
3) You forgot resistance and absorption... per element...

for element in elements:
    multi = 1.0

    - check for resistance and skip the next item in loop, subtracting damage fraction from total damage (OR adding it to a dict, if we want reports with different colors).

in case of no resistance:
    - apply bonus and penalty to the damage fraction.
    - check for absorption and if it's applicable, reduce the damage fraction by absorption ratio and subtract from total damage. Go to next item in loop.

if no absorption:
    - add the resulting damage fraction to the total damage.

4) Easier said than done. And even if done, it will look absurd with 5 or 6 elements and we have like 8 total...

==============>>>
This is not all. This can no longer be a part of a method that calculates and account for other modifiers. We also need somehow to check for total resistance vs partial resistance because if all elements had been resisted, we want the attack to result in 0 as it does now, however that will not happen if we add other multipliers as well (like from your new resistance stat or item bonuses) while we do want to use them if at least one element went through... so it also means a complex and messy resistance_check method instead of a oneliner we have now (that doesn't even calc the damage if anything in skill's attrs was resisted).

You want more? We'd have to check defense on every step of that loop if we still wanted character "not to resist" element that can be absorbed.

There may be even more issues. On top of that, we'd have to keep all of this in mind and be able to work with the resulting code somehow... and all that to add a couple of ME skills that will either be stupidly overpowered if we allow stacking of bonuses like on that site or just the same as other attacks mean is drawn as we do now.

This feels like a really, really bad idea... especially without simplification of elemental system or moving part of variables from code to content somehow.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2016, 02:30:58 AM
I really hate that we cannot show many elements for multielemental attacks. Look here (http://images.bit-tech.net/content_images/2007/01/neverwinter_nights_2/cap5.jpg) for example, I mean the battle log. It tells you total damage and then all its parts, in different colors.

Even if it's not possible without deep rewriting, showing one element for ME spell is stupid. At least let's show it like" damage 130 (air+ice)".
Title: Re: General Discussion
Post by: DarkTl on August 25, 2016, 03:03:27 AM
Let's see...

Quote
Assume actors have an elemental resistance stat for each element.  0% is "normal" resistance, or full damage.  100% is full resistance.  200% is absorbing full damage, or full negative damage.  -100% is double damage.   This is a linear scale, so you can easily extrapolate the amount of damage done for any resistance value.
Our absorption works differently, it absorbs a fixed amount of spell damage. This system assumes full control over absorption rating, which is cool, but requires rewriting all absorption parts.

Quote
  • If you hit a creature with multiple elements that it's weak against, you should do significantly more damage than you would have with just one element that it's weak against.
  • If you hit a creature with multiple elements that it absorbs, it should absorb significantly more HP than it would have with a single element.
  • If you hit a creature with multiple elements, some of which it's very strong against and some of which it's very weak against, it should, at worst, do an average amount of damage.  Same with healing.
  • If it's immune to every element you hit it with, it should take zero damage.
  • If you hit a creature with an element that it has normal resistance to and an element it is immune to, it should do less than normal damage, but at least half.
  • The function should be relatively continuous; changing a single resistance by a small amount should never change the total damage by a large amount.
    So, let's try this:
     
    • Find the average off all the damage multipliers.
    • If the result is greater than 1, raise it to the power of the number of elements involved in the attack.
    • If the result is less than -1, do likewise (except preserve the negative sign if you end up squaring the value)
That sounds interesting, although not simple.
Quote
Let's go back to the original idea where we just add all the damage multipliers together to get the total damage.  Boring stuff, right?  It doesn't have to be if we spice it up in some other way.
Why not consider having multi-elemental attacks inflict status effects?  Now, coming up with all of the combinations will be time consuming, but it could net you something really cool.  Maybe adding ice and electricity together will inflict Slow?  Perhaps holy + fire has a chance of causing instant death to undead?  There are all sorts of other things you could do with various elemental combinations if you move away from just the idea of pure damage.  Plus, if you want, you can add these effects in addition to the high damage formula listed above.
Gismo suggested it before too... Will require advanced coding, since effects should be really unique to be meaningful.
Title: Re: General Discussion
Post by: Xela on August 25, 2016, 03:04:11 AM
I really hate that we cannot show many elements for multielemental attacks. Look here (http://images.bit-tech.net/content_images/2007/01/neverwinter_nights_2/cap5.jpg) for example, I mean the battle log. It tells you total damage and then all its parts, in different colors.

Even if it's not possible without deep rewriting, showing one element for ME spell is stupid. At least let's show it like" damage 130 (air+ice)".

It's not that we can't... too much effort needs to be put in to make our ME system work and even more to get it to report that way. It will also be a bit confusing to maintain. I'll try to think of a way to make it happen but not for Beta.

- Next I will add item mods.
- Then add a couple of new skills.
- Check the TODO list on what else needs to be done.

ME will have to wait.
Title: Re: General Discussion
Post by: Xela on August 25, 2016, 03:19:22 AM
Let's see...
Our absorption works differently, it absorbs a fixed amount of spell damage. This system assumes full control over absorption rating, which is cool, but requires rewriting all absorption parts.

This sort of absorbs a fixed amount as well...

Problem with this is similar to our system. It's just easier to work with this as resistance, absorption and damage are all handled through the same multiplier.

We'd prolly have to give up some of our logic too, but it wouldn't be a big deal. We also could add "physical" to the mix, mostly for ranged and melee. Maybe even specify ratios in the attacks.

That sounds interesting, although not simple.Gismo suggested it before too... Will require advanced coding, since effects should be really unique to be meaningful.

Nah, this is insane. Way too much work.

=======================>>>>
Maybe a complete rewrite... I haven't considered that yet.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2016, 03:41:31 AM
This sort of absorbs a fixed amount as well...
No. 200% absorbs all, 150% absorbs 50%.
Title: Re: General Discussion
Post by: Xela on August 25, 2016, 04:30:04 AM
No. 200% absorbs all, 150% absorbs 50%.

Yeah? We can do the same thing, can't we? Absorption rate of .5 or 1.0? I mean, we can adjust our system to the but I don't want extra code to add confusion.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2016, 04:47:43 AM
So it's damage = base_damage * (1-resistance*0.01), with negative result healing the target.

Elements however also give bonuses and penalties to spells damage. Which is a logical thing to do, if you have fire, your fireball should be better no matter your target. Might as well change their format to integers % too.
Title: Re: General Discussion
Post by: DarkTl on August 25, 2016, 04:51:44 AM
Item mods for BE may be able to affect enemies too btw. Like, decreasing their evasion chance.
Title: Re: General Discussion
Post by: lamoli on August 25, 2016, 04:07:19 PM
Next up.. ( this 1 i made out of a front/side face picture )


(https://s20.postimg.org/ol051y6ih/saeko.png) (https://postimg.org/image/ol051y6ih/)(https://s20.postimg.org/pok9dwr5l/saeko0.png) (https://postimg.org/image/pok9dwr5l/)(https://s20.postimg.org/xikuzayyh/saeko1.png) (https://postimg.org/image/xikuzayyh/)(https://s20.postimg.org/g6kidv5h5/saeko2.png) (https://postimg.org/image/g6kidv5h5/)(https://s20.postimg.org/4vhuphym1/saeko3.png) (https://postimg.org/image/4vhuphym1/)(https://s20.postimg.org/4k0ecqi61/saeko4.png) (https://postimg.org/image/4k0ecqi61/)

With Apron
(https://s20.postimg.org/ndm79qge1/saekoapron.png) (https://postimg.org/image/ndm79qge1/)

Twist/Deform test
(https://s20.postimg.org/wmsyxlent/saekoxpole.png) (https://postimg.org/image/wmsyxlent/)
Title: Re: General Discussion
Post by: lamoli on August 25, 2016, 04:17:24 PM
Again while browsing for content i found a char i liked turned into a freak so improved on it..


http://damianhandy.deviantart.com/art/Saeko-Busujima-Mod-308065246 (http://damianhandy.deviantart.com/art/Saeko-Busujima-Mod-308065246)
Title: Re: General Discussion
Post by: DarkTl on August 26, 2016, 05:59:46 AM
- It might be wise to simplify absorption and resistance for ME. If at least one element can be absorbed or resisted (in this order), then the whole spell will. It will make them more risky, so in return we can make them more powerful. For example, all elemental bonuses to damage provided by traits will be multiplying by the amount of elements in the spell if they are positive, and = 0 if they are negative.
- Showing one color for damage is not an option, it's confusing. At least "100 (air+ice)". We also could try unicode symbols like 🔥 🌊☁💎⚡❄☀☠☣
Title: Re: General Discussion
Post by: DarkTl on August 26, 2016, 06:24:32 AM
Next up.. ( this 1 i made out of a front/side face picture )


(https://s20.postimg.org/ol051y6ih/saeko.png) (https://postimg.org/image/ol051y6ih/)
Looks great, but I think Saeko hair are less dark and more blue/violet than here  :)
Title: Re: General Discussion
Post by: lamoli on August 26, 2016, 08:03:31 AM
Yeah pics i used had bright purple.. while on the web she was more often with darker blue hair like this 1 but color its just a rgb value to change so its fine lol


why is it so hard to find character sheets with front/side view.. i found good ones of akame ga kill so im doing Esdeath now
Title: Re: General Discussion
Post by: lamoli on August 26, 2016, 05:10:27 PM
Hmm.. ( its mmd clothes base reworked and hair so look bad but does she look like the real thing or at least good enough to make a game pack.. ) ?


(https://s20.postimg.org/n1d6mirnd/Esdeath.png) (https://postimg.org/image/n1d6mirnd/)(https://s20.postimg.org/6dqqh537d/Esdeath0.png) (https://postimg.org/image/6dqqh537d/)(https://s20.postimg.org/z4nk77915/Esdeath1.png) (https://postimg.org/image/z4nk77915/)(https://s20.postimg.org/p8mh7k395/Esdeath2.png) (https://postimg.org/image/p8mh7k395/)
Title: Re: General Discussion
Post by: DarkTl on August 27, 2016, 05:02:24 AM
Body is fine, but the hair are too thick. You use a few thick strands with noticeable distance between them, as a result they kinda start to look like tentacles. Here (http://img14.deviantart.net/5c63/i/2014/280/a/c/lady_esdeath_by_mimelex-d81xvie.jpg) you can see that her hair are rather slim.
Title: Re: General Discussion
Post by: lamoli on August 27, 2016, 05:41:35 AM
Body is fine, but the hair are too thick. You use a few thick strands with noticeable distance between them, as a result they kinda start to look like tentacles. Here (http://img14.deviantart.net/5c63/i/2014/280/a/c/lady_esdeath_by_mimelex-d81xvie.jpg) you can see that her hair are rather slim.


Yeah clothing texture and hair comes from mmd so its bad.. the rest i remodeled to match the reference picture and happy enough to have it that close.. i need to find a way to make the hair i want.. even Saeko i had to make em myself as no one ever did that type of front hair lol.. also there are 2 main types.. Esdeath poly with volume really had to control and make.. or Saeko flat type with hair texture transparency.. atm mi trying to find ways to better deal with flat ones.. there is also a few model types of those there..


http://moogleoutfitters.deviantart.com/gallery/47851035/Hair-Female (http://moogleoutfitters.deviantart.com/gallery/47851035/Hair-Female)


But of course not everything you might need so i have to make my own but hard to make it look right sometimes.. im getting better with realistic material ( witch isnt good for anime stile untill i find the right settings to make them look good )


For the 2 last models i used a more anime face and less like real world 1.. not sure if its right or not..
Title: Re: General Discussion
Post by: DarkTl on August 27, 2016, 05:58:39 AM
Err, you mean for the last 2 girls or for the last 2 pictures of the last girl?
Title: Re: General Discussion
Post by: DarkTl on August 27, 2016, 07:00:39 AM
Xela, I almost finished with converting animations. I'll need a field for adding groups of skills to weapons soon.
Title: Re: General Discussion
Post by: lamoli on August 27, 2016, 07:26:02 AM
Err, you mean for the last 2 girls or for the last 2 pictures of the last girl?


if you didnt notice a big change in good or bad thats fine i guess.. ( its because i had to use reference pictures front/left side )


Title: Re: General Discussion
Post by: DarkTl on August 27, 2016, 07:32:22 AM
Yeap, they don't look very different to me.
Title: Re: General Discussion
Post by: lamoli on August 27, 2016, 07:42:46 AM
Good meaning i should be able to make girls from pictures only now..
Title: Re: General Discussion
Post by: lamoli on August 27, 2016, 02:59:59 PM
Im worknig on hair atm but now unsure about the ligt and shadow..


(https://s20.postimg.org/wgtij3qm1/Alisax1.png) (https://postimg.org/image/wgtij3qm1/)(https://s20.postimg.org/h9diyqyrd/Alisax2.png) (https://postimg.org/image/h9diyqyrd/)
(https://s20.postimg.org/e3sx8jg55/Alisa0x1.png) (https://postimg.org/image/e3sx8jg55/)(https://s20.postimg.org/rlztktsah/Alisa0x2.png) (https://postimg.org/image/rlztktsah/)


I mean too much kills the anime look alike in general




Title: Re: General Discussion
Post by: DarkTl on August 27, 2016, 04:08:10 PM
Yeah, you right. More realistic light at the second picture makes her less anime-ish.

I don't think it's a big deal for big pictures, unless you want even more shadows. But for portraits, where you see face close enough, it would be wise to use less shadows to keep resemblance with the source.
Title: Re: General Discussion
Post by: Xela on August 27, 2016, 08:54:29 PM
@Dark:

You need to add this to the main gfx effects of attacks that got to be horizontally flipped if they're coming from other side. Most of the newer attacks you've added are messed up because of this.
Code: [Select]
"hflip": True
I know what to do about the new damage calcs now, gonna try it out tomorrow.

Title: Re: General Discussion
Post by: krakr on August 28, 2016, 03:57:55 AM
Hi guys. I'm so sorry I've been gone so long. Tons of RL shit followed by just forgetting about my comittment to the project. I'm currently in some RL shit & in no mood to write, but I will deliver.
That is if you're still interested in my texts. IDK, I been gone a long time & this is page 500+ of the thread lol so I assume a shitload got done in my absence.
Title: Re: General Discussion
Post by: DarkTl on August 28, 2016, 07:04:45 AM
I know what to do about the new damage calcs now, gonna try it out tomorrow.
You mentioned that we could support all the usual elemental stuff like resistances for physical attacks too. It will help greatly to make mobs more interesting, in some games some creatures (usually undead ones) are immune or highly resistant to normal weapons no matter how powerful the attacker is.

Hi guys. I'm so sorry I've been gone so long. Tons of RL shit followed by just forgetting about my comittment to the project. I'm currently in some RL shit & in no mood to write, but I will deliver.
That is if you're still interested in my texts.
Welcome back  :)
We are always interested in writes, contrary to common belief writing is not easy at all.
Title: Re: General Discussion
Post by: DarkTl on August 28, 2016, 07:10:50 AM
I forgot who came up with desc for elements but we need to change that... they're weird.
Rewrite of the rewrite, hopefully this time will be ok or closer to the description that is desired.

 


FIRE:
The wildest of the elements. Mercilessly and irreversibly destroying everything on its path. Leaving behind only scorched earth and ash. In hands of an amateur, is more dangerous to him then to his enemy. Fire Element regardless to its power, is weak against Water but have the advantage versus Air.


WATER: The most mysterious among the elements. Hiding it twisted and destructive nature under the calm surface.  Capable of both, in swiftly or prolonging the violence when taking lives. Leaving behind only rumble and bodies as proof of it fatal capabilities. Dominating Fire with ease, the Water Element is relatively weak against Earth.


AIR: The most agile of the elements. Utilizing its transparency and omnipresent to maximum. Besides that, the wielder that align with the Air Element gets the possibility to use lightning base spells. Being able to strike swiftly and almost undetected, in capable hands this element doesn’t give the opponent much time to react. The Air Element excels against Earth but struggles greatly when dealing with Fire.


EARTH: The slowest and sturdiest among the elements. Known for sacrificing speed in exchange for enchanting its destructive power. Unlike other elements that leaves evidence of their devastating acts, Earth is capable of literally burying the truth. The Earth Element have the upper hand against Water, but have a hard time against the swift Air.


LIGHT: One of the two elements born from men desires, thoughts and deeds. The Light nest itself inside everyone souls. Gaining its force from good acts and pure thoughts. Unfortunately the Light Element is sentenced  for eternal struggle against its rival and counterpart the Darkness. Being evenly matched, the outcome of this internal fight between them depends solely on ones choices.

DARKNESS: One of the two elements born from men desires, thoughts and deeds. Fuelling itself from anger, impure thoughts and evil acts. Dwelling deep in everyone’s soul, patiently expanding, slowly consuming ones soul. But its growth is successfully controlled by its greatest enemy and counterpart the Light Element. Being evenly matched, the outcome of this internal fight between them depends solely on ones choices.

NEUTRAL: Being Neutral is the most popular option among warriors that depends solely on power of their bodies. Not aligning with any element gives the benefit of not worrying of running out of magic or being countered by the opposing element. On other hand, being Neutral is the worst possible option for people basing their fighting style only on magic.
I'll fix descriptions a bit and add them to the game tonight + maybe fix a couple of minor issues and get rid of old and unused styles...

Edit: Small SF Update:

- Added descriptions by Klaus
- Got rid of some styles/screens
One could say you added them personally.
Title: Re: General Discussion
Post by: Xela on August 28, 2016, 08:00:23 AM
One could say you added them personally.

I guess that I've changed them a bit but not all and not enough... some of them sound sound a bit weird :(

You mentioned that we could support all the usual elemental stuff like resistances for physical attacks too. It will help greatly to make mobs more interesting, in some games some creatures (usually undead ones) are immune or highly resistant to normal weapons no matter how powerful the attacker is.

Yeap, it'll work somewhat differently but it will work.
Title: Re: General Discussion
Post by: Xela on August 28, 2016, 08:22:55 AM
@Dark:

You need to add this to the main gfx effects of attacks that got to be horizontally flipped if they're coming from other side. Most of the newer attacks you've added are messed up because of this.
Code: [Select]
"hflip": True

Just crossed my mind that this might not be enough due to different offsets. We have a correct class for this, I'll take a look which it is later.
Title: Re: General Discussion
Post by: lamoli on August 28, 2016, 08:23:31 AM
Hmmm..


(https://s20.postimg.org/vdnmvqr21/Alisa_V0_2.png) (https://postimg.org/image/vdnmvqr21/)


Got better hat form.. now you can see that the parts are stitched inside together as for the texture pattern its like the original ( but generayed it myself ) i just didnt positioned the same..


Now i should do the other parts of clothing.. the black and purple material what could those be ? ( plastic / rubber / textile ).. same for the like neck tie ( cotton / silk / velvet ).. ?
Title: Re: General Discussion
Post by: DarkTl on August 28, 2016, 08:52:58 AM
The dark pieces of clothing look like leather or something similar, they reflect light pretty noticeable here (http://orig11.deviantart.net/c19b/f/2014/277/f/e/alisa_ilinichina_amiella_render_by_bencdp-d81l4fu.png). Neck tie is probably too small to notice material difference, no?
Title: Re: General Discussion
Post by: DarkTl on August 28, 2016, 10:06:27 AM
Quote
DELIVERY = ["magic", "ranged", "melee", "status"] # Damage/Effects Delivery Methods
DAMAGE = ["physical", "fire", "water", "ice", "earth", "air", "electricity", "light", "darkness", "healing", "poison"] # Damage (Effect) types...
We might want to treat any healing spells separately, they shouldn't work only in very special cases. "Magic" delivery assumes magic defense formula should work against the spell.
Title: Re: General Discussion
Post by: lamoli on August 28, 2016, 10:59:43 AM
here the test leather/rubber


(https://s20.postimg.org/vhhgbzwjd/Leathercracked.png) (https://postimg.org/image/vhhgbzwjd/)(https://s20.postimg.org/vvisblgmx/rubber.png) (https://postimg.org/image/vvisblgmx/)


Even if i reduce the cracks in leather i think rubber will be closer to original..
Title: Re: General Discussion
Post by: DarkTl on August 28, 2016, 11:17:37 AM
Yeah, rubber looks very suitable.
Title: Re: General Discussion
Post by: lamoli on August 29, 2016, 08:13:14 AM
Yeah look even good for boots reflect ( kept left as original )


(https://s20.postimg.org/4bvrjdshl/clothing_V0_2.png) (https://postimg.org/image/4bvrjdshl/)


still need to rework on whats left of the older game texture but atm the skirt looks really flat while its not at all on the 3D model i need to fix that
Title: Re: General Discussion
Post by: Xela on August 29, 2016, 11:23:20 AM
still need to rework on whats left of the older game texture but atm the skirt looks really flat while its not at all on the 3D model i need to fix that

No... it really doesn't. It's as close to Anime as it gets, on par with AA2 chars or even better. Make a damn pack and a guide :)
Title: Re: General Discussion
Post by: lamoli on August 29, 2016, 03:24:28 PM
Yes im close of making my first pack but first i need to find the right balance of rendering settings for materials and those last renders are about that.. its not improving the shape but how it looks like and that really important if you want a random girl without defined clothing ( most unique would have them and a basis on how they should look ) so unless we get stuck with unique girls outfits that i put on random girls.. i have to improve how normal clothing ( without texture source ) looks like and from previous render you can see left and right leg.. texture vs generated and looks close enough.. i still have problem for generated fabrics like skirt who looks flat but will find a way to correct it for sure.. next up was the metals who have a fake transparency ( would look horrible on closer shot so need improvement then the left ( her right arm clothing )


When all that is done ill have the basis to work on ( cotton/velvet/leather/rubber/metal/silk ) and should be able to take any DOA clothing Dark choosed for me.. break em into pieces and create multi unique variants form their basis and create our random girl wardrobes you could say.. ( i could do that before but there was no way to replace original texture with something else as im not good with 2D edits ) but now i found ways to generate them in blender and make them look alright.. same for the hair.. previous link i posed leads to a guy who took all the different existing kind he found and this last hair type is a variant of 1 he had there..


For the Guide.. i guess i can explain how i do it but lots of steps require advanced skills working with 3D ( atm theres no press a button and done ) thats why im making all those unique girls who have different head types.. it made me do the last 3 girls like 4 to 5 times faster as i had already 4 other head as basis and at least 1 closer to what i needed.. i will make a quick list of what you need to get used too to make it work.. ( ill skip all the things where i found a fast way using a tool or alternative way and just tell the has to be skilled with part with the steps..)


1. If its from a already made 3D model.. you have to import it into blender, most of em will be XPS (Xnalara) or MMD.. blender has free addons to load those..
2. after you have the one you want loaded you have to import the base you want to use from Daz3D.. ( if you have something close to the targeted model use that else import the default G2F ( i will explain how to tweak it later ) separate them into layers if you want..
3. then you have to resize the G2F to the target height and this is where you see what need to be tweaked.. there is no first steps but there but im most cases unless you have made a model alike its not looking similar at all.. there if its MMD or XPS i use their rig to match the G2F T pose..
4. in general those models will use a different texture map so when it match the G2F T pose you have to apply the armature of every part of that model then export/import them as obj else when you join the parts with G2F the UV mapping will be useless once its done i join the target to G2F so i could resize G2F back to 1:1 with the target model with it.. then separate G2F then delete it to remain with target model who has the right size to be inported to Daz and make a G2F match of it
5. in Daz load the default G2f or close model like you have then import the model from blender as obj ( rig is useless from this point so always use obj format ) now tweak the G2F to match the imported model legs/arms/torso/neck length and legs/hip/waist/torso/neck witdh..
[/size]6. If you have made previous faces that could match the one you want now load it and tweak it as close as you can to match imported model if you do not have other faces tweak G2f but will for certain need a lot of work later on..
[/size]7. once both body and face are like the imported model or at least the closest you can do.. export as a obj
[/size]8. in blender with the file you exported the targed model with load the alike G2F model and resize it to the targeted model ( or dont resize and work on exported resized nodel ) both orks but with blender if its too large you migh have some camera display troubles..
[/size]9. with either above ways now you can either start on face or clothing.. usually i do clothing firs as its the fastest so will explain clothing first..
[/size]10. you previously joined the MMD/XPS parts as a model but did not remove the double or trash the always come with those ( not sure why but other than the one i make i never found a clean model to work with ).. to separate them go in edit mode and select parts using the material library.. this will allow you to split them back to their original parts
[/size]11. once all are separated as before you will have to take each part individually as the usually comes in groups ( ex: all the clothing material as a group like clothing on arms/legs/body ) what we need now is to clean everything ( remove the doubles/merge the parts that are separated to form complete parts like boots/gloves/body/skirt
[/size]12. most models will fake thickness or use a inner layer to display another material on the back side.. we dont need that in blender as we could ad something else on the back side without it ( and having thickness here now will cause trouble later ( so now we remove it then add it with blender as modifier later on ) basically we keep the normal pointing outside and delete the ones pointing inside.. also never have clothing vertex inside the body models body.. lots of clothing models have closing caps.. we need to cut those around the model of the body so nothing enters it.. also some models have their double on top of em with flipped normals we also need to delete those..
[/size]13. once extra normals layer/caps/thickness is deleted you can remove doubles.. ( if you do that too early some normals or inner texture will be on the wrong side ) and join the patrs..
[/size]14. now you need to convert triangles to quad.. there is a tool for that but its not perfect meaning you will probably have to inspect everything to make sure it worked.. it also mess with textures next to a seam.. so generaly limit my face selections to seam so textures arent messes with ( you could always correct those in UV editor but thats extra time.. )
[/size]15. when you have quads ( might end up with a few triangle but never had more than 10 om the whole model or 5 sided polys ) thats where you have to know about Topology.. to know where you can use those 3 or 5 faced polys.. else you will mess the subdivision and texture you will apply on it ( work as best as you can to get nice edge loops on the corners and model in general but edges are more important )
[/size]16. add subdivision surfaces modifier and check in wireframe how it looks like.. from this point you might have to correct the topology to get what you want..
[/size]17. now with subdivision on you will make the clothing part you need fits the Modified G2F body until you have no poke thru.. if the cothing has no defined volume you can shrinkwarp it around the body but takes skills to do it right.. i generaly use the grab magnet with connected function but also needs skills.. if your new at this best way would be to pull vertex 1 at time and keep relative space original used to keep clothes volume it had on original.. ( if you G2F body match almost perfectly you will almost have nothing to do there ) that why i usually make lots of body types with small modification i could tweak to have a perfect match and save up time on clothing )
[/size]18. once every part is done.. a important thing is to keep skirt separated when you export.. for the res its up to you to keep the rest as multi parts or single part..
[/size]19. on daz with the modified body loaded you can import you clothing part and transfer them into clothing item.. always transfer G2F/current -- clothing item no template options / reverse .. but for skirt its the same with the basicdress as template and when its transferent it will look out of shape.. thats where you chose the clothing item and load morph loader pro to morph it to original shape
[/size]20. now you can load the textures that came with the clothing.. then save em into library for future uses.. when used with poses you might have pokethru so you could add a smooth modifier.. but need to know a few trick to use it right.
[/size]21 the face.. if it you first time it wont be even close to target even with all the Daz morphs so like clothing you will have to pull those vertexes and here absolutely no separating parts.. only hiding is permitted else you will lose verts order and it will load all distorted in Daz.. in 99.9% of cases if its not a face you have made.. it lost all its symmetry as ppl making the base morph you used to match your target to the closest didnt care about that.. so we first need to restore that..
[/size]22. easiest way to get symmetry back is to make a double of the body select the middle verts loop of the body then make a seam on it ( you remove it when not needed anymore ) the select a vert on the right side of the body.. and limit linked selection to seam.. this will select everything on the right side of the body now invert selection then delete.. you will remain with right side only then mirror on X global and name it something like something warp target something..
[/size]23. now on original body select the left part with middle included and create a verts group from it named like warp something.. then apply a srinkwarp on original body and chose the warp target and vert warp as limiter and select to the closes vertex.. doing so will make left side symmetric to right apply modifier enter edit select all the body ad x mirror from options and pull left right.. this is where you see if symmetry worked.. sometimes some verts who where too close didnt ends where they should have so you need to pull them back manualy where they should be (remove x mirror first then use the tageted warp in wireframe on top of original body to have the verts position and correct em) in general you only have to work on the middle ones but not always..( middle need to be at x 0 )
[/size]24. ther than body you have eyes and mouth parts.. eyes you only keep right side delete left on the body double then x mirror to use as reference.. but since there lots of verts are close together you need to separate each object then make relative vetrs groups in the original body same for the mouth but like body you also need to separate right from left
[/size]25 once all the symmetry works you can start working on the face but remember for the daz expression/basic morph shapes to work right you need to keep most verts spacing around the mouth and eyes.. but with anime face and their big eyes you will lose for certain the eye closing.. but thats fine you will make a custom one later there like clothing you also use the MMD/XPS model shape to move those vert on the surface of it.. ( this is the longest part and need a lot of practice to keep the right verts spacing and shape ) being on the surface isnt enough as in most case it will be too flat and woulnd look good so you need skills to adjust it right afterwards..
[/size]26. when its done you can load it a morph into Daz and have you character ready for posing.. its where if you want you make a rig for the hair or lose part like skirt.. but if you imported skirt with basic dress you should already have some control.. when pose/expressions are done export and load into blender
[/size]27. now to make it look right iv spend a long time tweaking a file with ready to render settings.... using that to load the model.. you just have to add textures and render then its done.. ( but sometimes you need to correct a thing or 2 that Daz didnt correct while posing.
Title: Re: General Discussion
Post by: lamoli on August 29, 2016, 03:26:09 PM
noooooo.. ohh well screw that.. im not gone retype the 23 broken lines again..


Edit:
Maybe i can correct this but not sure how..
Title: Re: General Discussion
Post by: lamoli on August 29, 2016, 04:05:22 PM
And that was for pre existing models only..


For the made out of pictures.. you need the best highrez front side of a character sheet as they usualy keep the same proportions when they do those but most wont have the side view.. they will use a rotated version.. if its your first time trying those i would recommend doing a few faces from the 3D model basis tutorial first as since you have no way to know how face looks like in volume you need a few already 3D face that looks close to it to attempt it. ( it never took me more than day to make a face and now with more base models.. its even faster but skill related i guess) if you have a 3D model  that looks close to it load in in daz as morph then export/import into blender and start working on the front/side view untill they match .. when its done you will have to tweak without reference the rest ising the base shape who looked the closest or if skilled/practiced enough you know what to do to make it look right..


For either face or clothing its simpler to pose a look alike daz model to match the reference picture like we did in the other tutorial only difference is you will create clothing parts in front or left view then adjust is to warp around the body.. basic topology knowledge is not a requirement but could be best to have when you do this..


Basicaly before you do this type you need a lot of practice working on a already made 3D model else it would take so long you migh give up midway..
Title: Re: General Discussion
Post by: Xela on August 29, 2016, 05:27:33 PM
it would take so long you migh give up midway..

True... it's a far more complex process that I thought. This level of experience may not be "passable" through a guide. We can create a chat-room over the weekend. For now, I need to know a line of soft (cured of greed or simply open source) that is required. For now I can gather:

- DAZ3D
- Source FilmMaker
- Blender
- XNALara
- MikuMikuDance

I have three (XNA, DAZ and MMD) installed atm. Until we're on the same page with the soft and extensions, any guide is useless. So if more than this is needed, let me know. There is an excellent private chat system called "discord" so lets get on the same page with the basics. Once we have the same software setup, you can delegate some of the rendering required to make proper packs.

=====================>>>>
I am almost done with the new BE logic, gonna push tomorrow. I have it working in my dev version already :) All the new formulas and logic and per damage effect reports :)
Title: Re: General Discussion
Post by: DarkTl on August 30, 2016, 10:57:03 AM
We have more webm animations than we need for beta  :)
The plan is to make weapons rather unique, since every one has its own skill list (which you should add too btw, there is no support for skills atm, only for spells).
Title: Re: General Discussion
Post by: Xela on August 30, 2016, 12:27:41 PM
We have more webm animations than we need for beta  :)
The plan is to make weapons rather unique, since every one has its own skill list (which you should add too btw, there is no support for skills atm, only for spells).

Yeah, I remember that.
Title: Re: General Discussion
Post by: lamoli on August 30, 2016, 12:32:27 PM
True... it's a far more complex process that I thought. This level of experience may not be "passable" through a guide. We can create a chat-room over the weekend. For now, I need to know a line of soft (cured of greed or simply open source) that is required. For now I can gather:

- DAZ3D
- Source FilmMaker
- Blender
- XNALara
- MikuMikuDance

I have three (XNA, DAZ and MMD) installed atm. Until we're on the same page with the soft and extensions, any guide is useless. So if more than this is needed, let me know. There is an excellent private chat system called "discord" so lets get on the same page with the basics. Once we have the same software setup, you can delegate some of the rendering required to make proper packs.

=====================>>>>
I am almost done with the new BE logic, gonna push tomorrow. I have it working in my dev version already :) All the new formulas and logic and per damage effect reports :)


All thats needed atm is..
--------------------------


Default Daz3D.. i will provide you the morphs/models/poses iv made..
Blender with xps-tools and mmd-tools ( i use other scripts but those where for rope/chain physics but not working on those atm )


If your good at 2D edits..
---------------------------


CrazyBumps to extract the whole set of occ/disp/ligh/norm out of a plain texture ( bad at working with 2D so went generated textures in blender.. but having both would be best )


Other useful to have depending on what we might need..
------------------------------------------------------------


MikuMikuDance/metasequoia.. if we need a model thats only in the .mqo format to convert it
SourceFilmMaker.. for the same reason


but in general there are website giving their models for free..
Title: Re: General Discussion
Post by: lamoli on August 30, 2016, 12:50:21 PM
Only the Metal on arm and skirt missing but looks good enough so will stop here


(https://s20.postimg.org/7ddd1uqux/Alisa0_V0_3.png) (https://postimg.org/image/7ddd1uqux/)


the skirt need improvement still but it would require a normal map and since 2D isnt my thing i need to find something existing i could use..
but i could say results for textile/leather/velvet/silk/rubber/metal looks good enough to make the random clothes needed
Title: Re: General Discussion
Post by: DarkTl on September 02, 2016, 08:36:15 AM
Elements descriptions fixed, numbers rebalanced. Are you going to add that different elements system which combines all resistances and absorptions or not? I don't get it.
Title: Re: General Discussion
Post by: Xela on September 02, 2016, 08:59:19 AM
Elements descriptions fixed, numbers rebalanced. Are you going to add that different elements system which combines all resistances and absorptions or not? I don't get it.

Ours is basically the same but with an extra sprinkle on top and a bit more calculations most of which I've already wrote. So no :) Most of the code is ready, I am just putting all the small bits together and in the right order and working out the crashes which avalanche on me every time I rewrite complex code with complex code.
Title: Re: General Discussion
Post by: Xela on September 02, 2016, 09:00:57 AM
Elements descriptions fixed, numbers rebalanced. Are you going to add that different elements system which combines all resistances and absorptions or not? I don't get it.

Oh, and I've decided to do the "per damage type" damage as you've asked. It's messy and difficult but that is almost done too.
Title: Re: General Discussion
Post by: Xela on September 02, 2016, 09:36:54 AM
🔥 🌊☁💎⚡❄☀☠☣

Three of these characters are not supported, I'll see if we can dig up something else or we CAN use actual image icons directly in text which will prolly look way more awesome than unicode if we can find those...
Title: Re: General Discussion
Post by: DarkTl on September 02, 2016, 10:02:50 AM
For me these characters look very different in firefox on win7 and win10, even though it's the same firefox version with the same addons. In win 10 they are always multicolored and volumetric, almost like icons. I suppose there is advanced fonts support there.
Title: Re: General Discussion
Post by: DarkTl on September 02, 2016, 10:30:18 AM
Win7 (https://www.dropbox.com/s/j58ah9zrojz2xah/7.jpg?dl=0)    Win10 (https://www.dropbox.com/s/4hf7ckfadi12jg4/10.jpg?dl=0)
Needless to say, multicolor version is more suitable for the game.
Title: Re: General Discussion
Post by: Xela on September 03, 2016, 06:20:21 PM
Oh, and I've decided to do the "per damage type" damage as you've asked. It's messy and difficult but that is almost done too.

This is so f*cking messy and complicated and ugly... it wasn't worth the effort. It's almost done anyway, gonna push tomorrow. Lets get that upcoming push working right and call it enough for the beta. I've removed evasion stats from calculations, we'll use items to enhance dodging and magic shouldn't be "dodge-able" as it almost never is in games. There may be a way to have traits defend again delivery types.
Title: Re: General Discussion
Post by: Xela on September 03, 2016, 08:39:56 PM
Oki, pushed the first draft, it needs a good deal of testing and I have not translated damage names to unicode (yet).
Title: Re: General Discussion
Post by: DarkTl on September 04, 2016, 04:07:21 AM
Quote
  File "game/library/interactions/GM - negative.rpy", line 64, in script
    python:
  File "game/library/interactions/GM - negative.rpy", line 67, in <module>
    result = run_default_be(enemy_team, background=back)
  File "game/library/interactions/function - interactions (GM).rpy", line 389, in run_default_be
    battle.start_battle()
  File "game/library/be/core.rpy", line 169, in start_battle
    self.main_loop()
  File "game/library/be/core.rpy", line 98, in main_loop
    ev.controller()
  File "game/library/be/core.rpy", line 1542, in __call__
    skill(ai=True, t=targets)
  File "game/library/be/core.rpy", line 526, in __call__
    self.effects_resolver(t)
  File "game/library/be/content-classes.rpy", line 807, in effects_resolver
    if not self.check_resistance(t):
AttributeError: 'BasicHealingSpell' object has no attribute 'check_resistance'
Title: Re: General Discussion
Post by: Xela on September 04, 2016, 04:54:19 AM
...

Should be fixed,
Title: Re: General Discussion
Post by: DarkTl on September 04, 2016, 05:07:33 AM
So far look awesome. Of course damage color needs to be tweaked, it should be DMG:25 Ice:17 Air:8, not DMG:25 Ice:17 Air:8.
Title: Re: General Discussion
Post by: Xela on September 04, 2016, 07:26:16 AM
So far look awesome. Of course damage color needs to be tweaked, it should be DMG:25 Ice:17 Air:8, not DMG:25 Ice:17 Air:8.

We no longer report damage defense/absorption/resistance. It is really starting to feel like "too much information" if done on per damage type basis. Resistance should return 0 damage, absorption negative damage and bonus/penalty are included in the damage itself.

Still to do:

- Bind damage types to unicode and color them accordingly.
- Make sure all new items fields are in play (I've only added a few).
- Make sure absorption doesn't trigger defense from the character (maybe).
- Add new skills of all kinds.

- Test the system.


====>>
I am still thinking about changing the formula for final damage, it's a lot better now with the new system but I have not tested it in a fight between two high level chars yet (it looked plainly stupid under old system).
Title: Re: General Discussion
Post by: DarkTl on September 04, 2016, 07:59:33 AM
What's the renpy's Image-Based Fonts exactly? I have very few meaningful results from google for this term, is it using small pictures as characters? Our elements icons might be recognizable enough to be used as elements symbols in text if needed.


You left
Quote
evasion_chance = t.evasion # starting evasion chance = evasion stat
it's from the old evasion code. Unless it's gonna work for the new items fields.
I probably shouldn't edit core.rpy by myself at this point to avoid complex merging.

Quote
                if "critical_hit" not in effects and self.row_penalty(t):
                    multiplier *= .5
                    effects.append("backrow_penalty")
Critical effect ignores rows damage reduction? This is debatable, ranged attacks will destroy mages.

You should do something about party gui not showing in BE if the battle is not initiated exactly like you do it in the code. If you start a fight via interactions escalation, it will use function run_default_be I wrote to avoid writing the same lines over and over. And it won't have the characters gui with health and stuff.
Title: Re: General Discussion
Post by: Xela on September 04, 2016, 08:36:17 AM
What's the renpy's Image-Based Fonts exactly? I have very few meaningful results from google for this term, is it using small pictures as characters? Our elements icons might be recognizable enough to be used as elements symbols in text if needed.

Instead of a standard font sheet, a png image is used. It is cropped and letters are mapped to text. I've seen it used in some games even outside of Ren'Py, usually by people who draw well and want something that looks exactly like they want it to without any restrictions that ttf type formats may bring. As I've said, we can plainly insert images right into text if some Unicode char doesn't look too well.

You left  it's from the old evasion code. Unless it's gonna work for the new items fields.
I probably shouldn't edit core.rpy by myself at this point to avoid complex merging.

Critical effect ignores rows damage reduction? This is debatable, ranged attacks will destroy mages.

- I'll remove the evasion and recheck the formula.
- I've been thinking about adding new skill for "Tanks" so they could shield backrows but you're right. I'll remove this for the time being.

You should do something about party gui not showing in BE if the battle is not initiated exactly like you do it in the code. If you start a fight via interactions escalation, it will use function run_default_be I wrote to avoid writing the same lines over and over. And it won't have the characters gui with health and stuff.

Right, I'll rebind the interface to read the left team instead of hero team. Another thing for the TODO list.
Title: Re: General Discussion
Post by: Xela on September 04, 2016, 11:31:58 AM
Oh man.... I wrote the whole formula and approach for evasion and it looks like it's all gone now :( This stuff gets messed up because I wrote code at Desktop and Notebook both of which are connected to Dropbox and when they are on at the same time, index of of git (one of the most important files) gets all screwed up.

Gonna try and remember what the formula was like....
Title: Re: General Discussion
Post by: Xela on September 04, 2016, 04:01:16 PM
Oki, huge update, loads of stuff mentioned above is fixed. Reports are half/half, icons and unicode characters. I'd definitely keep electricity and one or two other as unicode but air would prolly also look like an icon. Maybe light as well...

New items fields are:

Code: [Select]
            # BE attributes:
            # self.evasion_multiplier = 0
            # self.ch_multiplier = 0 # Critical hit multi...
            # self.damage_multiplier = 0
           
            # self.defence_bonus = {} # Delivery! Not damage types!
            # self.defence_multiplier = {}
            # self.delivery_bonus = {} Expects a k/v pair of type: multiplier This is direct bonus added to attack power.
            # self.delivery_multiplier = {}

Prolly self-explanatory, like:

Code: [Select]
"evasion_multiplier": 0.1
adds 10% evasion chance.

and

Code: [Select]
"defence_bonus": {"magic": 100} # Delivery! Not damage types!
"defence_multiplier": {"magic": 0.2}

Will increase pure defense value against magic and add 20% to final result.
Title: Re: General Discussion
Post by: DarkTl on September 04, 2016, 04:36:24 PM
How do you treat exotic stuff like poison and healing? Can one be immune to them or have a partial resistance (which is a bad thing in case of healing, naturally)?
Title: Re: General Discussion
Post by: Xela on September 04, 2016, 04:49:55 PM
Items bonuses do not extend to those skills. I need to take a look if we can put them through some of the same methods... Healing cannot be resisted, poison can. You can take a look at the code.

Another push coming up, small adjustments to formulas + stats showing during the battle you've asked for.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2016, 12:43:29 AM
Items are less important than traits in this case. Characters and creatures immune or resistant to poisons are quite common.
As for healing, immunity to it has to work, I use it for some mobs.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2016, 02:58:05 AM
There is inconstancy with colors for ME. Usual spells and attacks have red damage numbers above target heads. The testing spell with wind+ice has green numbers.
Title: Re: General Discussion
Post by: Xela on September 05, 2016, 03:09:44 AM
There is inconstancy with colors for ME. Usual spells and attacks have red damage numbers above target heads. The testing spell with wind+ice has green numbers.

Should we just make it red everywhere? I know what's happened there, it can be fixed to work either way without too much fuss. I need to go over all derivative skills as well, to make sure they work. Also the isinstance thing remains, where you cannot use magic class for attacks, that should be fixable as well.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2016, 03:35:57 AM
Yeap, numbers always were red, I dunno why ME are different in that regard now.

Also, in log we have DMG:434 ☁ 237 ❄237. It should be DMG:434 ☁ 237 ❄237 to avoid confusion.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2016, 03:53:16 AM
Healing and poisoning are not reflected properly in the log. For healing it only says that healing was used, without numbers. And here (http://www.clker.com/cliparts/3/n/N/M/x/I/green-cross-hi.png) I found a decent "elemental icon" for heals  :)

Poison already has a unicode character "poison": "☠", but it's not used anywhere as far as I can tell, which is a shame. I suppose it also could use dark green color for log damage.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2016, 07:16:51 AM
Ah yes, I forgot about one thing. One of the main reasons why I used stats for evading and resistance is because stats can be freely used anywhere in the game with minimal coding.

Not only I had items which change evasion chance, I also added it to some traits and class traits. Specifically, heavy body types had small penalties to the evasion chance and vice versa, and agile classes had bonuses. They won't work now, naturally.

Quote
                    # Critical Hit Chance:
                    ch = (a.luck - t.luck + 10) * .75
Have you seen it in the testing mode? It makes the chance vs goblins 75%, almost guaranteed.
Title: Re: General Discussion
Post by: Xela on September 05, 2016, 11:15:14 AM
Yeap, numbers always were red, I dunno why ME are different in that regard now.

Also, in log we have DMG:434 ☁ 237 ❄237. It should be DMG:434 ☁ 237 ❄237 to avoid confusion.

Healing and poisoning are not reflected properly in the log. For healing it only says that healing was used, without numbers. And here (http://www.clker.com/cliparts/3/n/N/M/x/I/green-cross-hi.png) I found a decent "elemental icon" for heals  :)

Poison already has a unicode character "poison": "☠", but it's not used anywhere as far as I can tell, which is a shame. I suppose it also could use dark green color for log damage.

Ok, so next:

- Get total damage to be reported without color in viewport for ME attacks.
- Make sure that all damage bouncing number are always red, They were NOT! before. We used color of the element! I'll make them all red for now (cause it's easier) and we'll revisit this later.
- Add icon for healing.
- I'll go over all skills and see if we can get them to work for magic and attack skills without fuss.
- And make sure exotic skills calculations are up to date with the new system.


Ah yes, I forgot about one thing. One of the main reasons why I used stats for evading and resistance is because stats can be freely used anywhere in the game with minimal coding.

Not only I had items which change evasion chance, I also added it to some traits and class traits. Specifically, heavy body types had small penalties to the evasion chance and vice versa, and agile classes had bonuses. They won't work now, naturally.

Have you seen it in the testing mode? It makes the chance vs goblins 75%, almost guaranteed.

Yeah, I've changed my mind about those stats as they are basically direct chances gathered from traits and items. More or less the same thing I wanted to do, what threw me off was:

- They are not hidden.
- No other stats (agility/luck/magic) were used.
- I genuinely disliked the magic resistance idea.

We should allow traits to influence these chances as well but it's unacceptable that at level 1, chance is the same as at level 100... I'll try to cook up some way to mitigate this.

I'll change the chance. It's way too high, basically, I am thinking we should have a max for every source for CH and EV, like limit max that items can bring to the table and what stats can bring to the table (per stat if needs be). Maybe the same for defense that comes from stats.

======>>>
I'll recheck exotic skills and make reports work first.
Title: Re: General Discussion
Post by: DarkTl on September 05, 2016, 11:33:11 AM
If you want damage color to use the color of elements, we are kinda screwed by ME skills, they have two or more colors. In log we can clearly write what's going on, but not above the target's head.

If you use one color, the system loses clearness. And I have no idea how to use more than one color for damage numbers and still don't make it look like a circus poster.

I'll change the chance. It's way too high, basically, I am thinking we should have a max for every source for CH and EV, like limit max that items can bring to the table and what stats can bring to the table (per stat if needs be). Maybe the same for defense that comes from stats.
Luck is difficult to increase. Once you set it in character data file, it's more or less permanent, except a few rare items.
And mobs have permanent luck too, no matter the level. So if you compare luck in formula to get the crit chance, you will always have more or less the same value against the same mob.

I think that's not how crit chance works in most games, it's usually more random.
Title: Re: General Discussion
Post by: Xela on September 05, 2016, 12:46:41 PM
I wonder how other games handle exotic attacks in code. I've fixed all we talked about and right now trying to figure out a good way to handle special cases...


Edit:

Ok... so, at it's core, poison is a LOT like any normal attack. It does a number of extra stuff like:

Code: [Select]
                # Target resisted due to stats being too l33t:
                elif (t.intelligence + t.luck) > (a.intelligence + a.luck) * 1.3:
                    battle.log("%s not skilled enough to poison %s!" % (a.nickname, t.nickname))
                    t.beeffects = [0]
                    continue

Extra resistance check which we do not need at all.

Code: [Select]
                # And last, in case target is already poisoned:
                for ev in store.battle.mid_turn_events:
                    if t == ev.target and "poison" in ev.attributes:
                        battle.log("%s is already poisoned!" % (t.nickname))
                        t.beeffects = [0]
                        break

Check is a character is already poisoned, which we may improve...

Code: [Select]
                    battle.mid_turn_events.append(PoisonEvent(t, a, damage))
Add an event to the event queue.

====================>>>
I will try this:

- Remove that first check.
- Make adding an event an option in the default setup.
- Add new special resistance check based of event in queues.

This will render poison as a normal skill instead of "special". It will open possibilities for poisoned weapons. It will open possibilities for other attack adding be events, like fire damage per turn or defense reduction.

Which reminds me: Besides the trait effects, I need to add be event effects to open possibilities.

New TODO list:

- The above
- Traits effects
- BE Event effects

Which is a lot...
Title: Re: General Discussion
Post by: DarkTl on September 05, 2016, 01:04:44 PM
We should allow traits to influence these chances as well but it's unacceptable that at level 1, chance is the same as at level 100... I'll try to cook up some way to mitigate this.
A small character is not going to be any smaller at lvl 100. She might be more agile (they already are) and thus have more evading chance since it's tied to agility too. But base bonus to evasion based on the trait itself, ie her body size, will remain the same.

The same fields you use for items should work for traits, that's it.

Yeah, I've changed my mind about those stats as they are basically direct chances gathered from traits and items.
I don't think we should return to stats again. It was fine for 1-2 stats, but not for 7 or more.
Title: Re: General Discussion
Post by: Xela on September 05, 2016, 01:08:57 PM
I will also look into healing becoming a normal attack but that may not be possible. Reviving a character is too unique to ever be merged with base skill class without fucking up the code.

This will take some time and focus to rewrite so I'll check back in about an hour.
Title: Re: General Discussion
Post by: Xela on September 05, 2016, 04:30:18 PM
Oki, some was fixed with my last push, still on the list is:

- Traits effects
- BE Event effects

and:
- Sort skills by delivery instead of isinstance() checks. This should also make sure that we can use the same skills for attacks and magic.
- Smarter AI Algorithm.
- Infinite recursions prevention.

===>>
Hopefully past that it will be just the the new skills and minor adjustments to formulas (which are better but not where I'd like them to be, although maybe all we need are content adjustments and not formula once).

===>>
Decent BE is waaaay too much work, prolly also the reason why noone does it in H-Sim games :D
Title: Re: General Discussion
Post by: Xela on September 05, 2016, 04:31:33 PM
BTW: Ren'Py 6.11 is now an official release.
Title: Re: General Discussion
Post by: Xela on September 06, 2016, 02:32:06 AM
Gonna put some time into BR today, shooting range has been neglected for too long :)
Title: Re: General Discussion
Post by: DarkTl on September 06, 2016, 02:41:35 AM
I'm afraid poison will need more work  :D
Initial damage looks like ☠:169. But further damage over time uses the old version DMG: 56.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2016, 03:06:05 AM
SimpleAttack("Poison",  attributes=['status', 'physical', 'poison'] acts like physical+poison damage without poisoning the target.

BasicPoisonSpell("Poison", attributes=['status', 'physical', 'poison'] acts like a poisoning attack, ie it hits with both damages and then poisons the target for a few turns. That's what I need for stuff like assassin dagger.

The problem is, in gui I need BasicPoisonSpell("Poison", attributes=['status', 'physical', 'poison'] as a weapon skill, not as a spell. You attack with a poisoned dagger, it's not magic.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2016, 04:45:25 AM
I'm afraid poison will need more work  :D
Initial damage looks like ☠:169. But further damage over time uses the old version DMG: 56.
I fixed it by changing the line itself, since it's probably a unique case. Unless you want to make it a general method.
Title: Re: General Discussion
Post by: Xela on September 06, 2016, 07:00:22 AM
I fixed it by changing the line itself, since it's probably a unique case. Unless you want to make it a general method.

It is a general method, it's not used there :D
Title: Re: General Discussion
Post by: DarkTl on September 06, 2016, 07:56:20 AM
Not quite. PoisonEvent is heavily tied to poison with no way to use another damage source. If I want to add bleeding (I do want at some point  :) ), I'll have to copypaste the whole posion class and edit it in a few places.
Title: Re: General Discussion
Post by: DarkTl on September 06, 2016, 09:44:22 AM
Oki, some was fixed with my last push, still on the list is:

- Traits effects
- BE Event effects

and:
- Sort skills by delivery instead of isinstance() checks. This should also make sure that we can use the same skills for attacks and magic.
- Smarter AI Algorithm.
- Infinite recursions prevention.
- You mentioned webm skills get screwed for some reason when used by the enemy team, and wanted to take a look at classes to prevent it.
- And our oldest animation classes, P2P_ArealMagicalAttack and MagicArrows, do not look suitable for the current code due to
Quote
        """ ==> @Review: There may not be a good reason for this to be a magical attack instead of any attack at all!
        Point to Point magical strikes without any added effects. This is one step simpler than the MagicArrows attack.
        Used to attacks like FireBall.
        """

After that all that remains is adding actual skills, and possibly fix small issues with too complex animations. And then we are done with BE until the beta release.
Title: Re: General Discussion
Post by: Xela on September 06, 2016, 09:58:28 AM
Not "webm" skills... You are not setting stills that require hflip and possibly even different offsets right... we should have example for everything with "should" being the key word. I'll take a look into that later.

When attack comes in from the left flank, it sometimes needs to get a different offset and be flipped.

==>
Making sure that any attack can take any parameters is already on todo list. Interface and code in a number of places got to be fixed in order to make that work.

==>
Yeap... and the TODO: List...
Title: Re: General Discussion
Post by: Xela on September 06, 2016, 01:23:34 PM
Ok! Did some great work on Shooting Range today! It's getting more and more fun :D

Gonna see if I can take out something from our own TODO list as well before I fall asleep...
Title: Re: General Discussion
Post by: Xela on September 06, 2016, 03:16:01 PM
Oki, so I've got the traits effects down!

ONE VERY IMPORTANT DIFFERENCE AS COMPARED TO ITEMS!:

Code: [Select]
            # Special BE Fields:
            # self.evasion_bonus = () # Bonuses in traits work differently from item bonuses, a tuple of (min_value, max_value, max_value_level) is expected (as a value in dict below) instead!
            # self.ch_multiplier = 0 # Critical hit multi...
            # self.damage_multiplier = 0
           
            # self.defence_bonus = {} # Delivery! Not damage types!
            # self.defence_multiplier = {}
            # self.delivery_bonus = {} Expects a k/v pair of type: multiplier This is direct bonus added to attack power.
            # self.delivery_multiplier = {}

Everything that ends with a "bonus" expects a tuple, like:

Code: [Select]
"evasion_bonus": (2, 10, 100)
would mean that ev bonus is at least two at lower levels and 10 at level 100 and above. This might be something you'd want to use with Ninja base trait (if we have such a beast).

Code: [Select]
"defence_bonus": {"magic": (100, 100, 1)}
would mean a plain 100 points defense against increase vs magic from level one to infinity.

Multipliers are the same, evasion multi is obviously absent because it is exactly the same as bonus... like:

Code: [Select]
"evasion_bonus": (-2, -2, 1)
is what you mentioned earlier, a body trait that plainly reduces evasion chance by 2 at any possible level.
Title: Re: General Discussion
Post by: Xela on September 06, 2016, 03:17:31 PM
None of it has been properly tested, that falls onto you :D But if you don't get crash to desktop while adding active values, it should work as intended :)
Title: Re: General Discussion
Post by: DarkTl on September 06, 2016, 04:00:27 PM
Clarify possible defence_bonus and defence_multiplier options. You always use magic as example, can I use specific elements or it's only for delivery types?
Title: Re: General Discussion
Post by: Xela on September 06, 2016, 04:15:02 PM
Clarify possible defence_bonus and defence_multiplier options. You always use magic as example, can I use specific elements or it's only for delivery types?

Only delivery types like status, magic, melee and ranged.

Elements we handle in elemental traits.
Title: Re: General Discussion
Post by: Xela on September 06, 2016, 04:16:39 PM
New Babe Runner logo :D

Title: Re: General Discussion
Post by: Xela on September 06, 2016, 04:23:04 PM
And new Nika is a lot prettier:
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 02:28:36 AM
For a start I tested all items fields, looks like everything works. At least there are no CTD and numbers clearly become different when the fields are used  :)

You mentioned that instead of
Quote
    {
    "id": "Magic Immunity",
    "desc": "No damage from any magic.",
    "resist": ["ice", "water", "fire", "air", "earth", "electricity", "light", "darkness", "healing"]
    },
I could use "resist": ["magic"]. This is not true, the trait stops working.

I tested healing immunity, it doesn't work as intended. If you give it to one of the girls in battle team, both girls become immune to mass healing spells. I'm not really going to use it for characters, but it's probably true for mobs too.
I never tested it properly before, so I dunno if it started to act weirdly after rewrite or not
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 03:26:26 AM
Quote
    {
    "id": "Poison Immunity",
    "desc": "Cannot be poisoned.",
    "resist": ["poison"]
    },
Works against the initial damage. But the skill still poisons the target, and damage over time works as usual. Same for absorption.
It shouldn't apply the damage over time in the first place.

I also fixed a crash for all absorptions due to the new way of handling damage, when attack/defense in "resist = pow(attack/defense, .5)" was negative for absorbed elements leading to exception.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 04:05:09 AM
Everything that ends with a "bonus" expects a tuple, like:

Code: [Select]
"evasion_bonus": (2, 10, 100)
would mean that ev bonus is at least two at lower levels and 10 at level 100 and above.
Ok, so for items +10%=0.1 evasion bonus, but for traits +10%=10 evasion bonus? Make it consistent  ::)
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 05:29:07 AM

You mentioned that instead ofI could use "resist": ["magic"]. This is not true, the trait stops working.


No... this was before the update, I wrote that this will not work anymore. I'll take a look anyway.

I tested healing immunity, it doesn't work as intended. If you give it to one of the girls in battle team, both girls become immune to mass healing spells. I'm not really going to use it for characters, but it's probably true for mobs too.
I never tested it properly before, so I dunno if it started to act weirdly after rewrite or not

Gonna look into this right now.

Works against the initial damage. But the skill still poisons the target, and damage over time works as usual. Same for absorption.
It shouldn't apply the damage over time in the first place.

I also fixed a crash for all absorptions due to the new way of handling damage, when attack/defense in "resist = pow(attack/defense, .5)" was negative for absorbed elements leading to exception.

This is a bug, weird... I recall trying to prevent it. Gonna grab your changes and take a look as well.

Ok, so for items +10%=0.1 evasion bonus, but for traits +10%=10 evasion bonus? Make it consistent  ::)

I thought it was consistent in a sense that everything that requires floats is called multipliers and everything that calls for ints is called bonuses. Do you want me to change multi to bonus for items as well?
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 05:42:44 AM
No... this was before the update, I wrote that this will not work anymore. I'll take a look anyway.

This is very easy to add, but we need to be careful because for example magic immunity would also block healing. It's your call, I can make this work like before without a fuss.

Title: Re: General Discussion
Post by: Xela on September 07, 2016, 05:48:08 AM
Gonna look into this right now.

Dumbass mistake on my part, should be fixed with the next push.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 05:51:02 AM
I thought it was consistent in a sense that everything that requires floats is called multipliers and everything that calls for ints is called bonuses. Do you want me to change multi to bonus for items as well?
It is consistent in that sense, sure. But why do you use both floats and integers in different places for the very same stat? The only thing it achieves is makes my part harder  :)
I don't care which one it will be, but it should be only one.

This is very easy to add, but we need to be careful because for example magic immunity would also block healing. It's your call, I can make this work like before without a fuss.
I separated healing immunity from magic one to have more control, it's not needed any longer.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 05:58:22 AM
This is a bug, weird... I recall trying to prevent it. Gonna grab your changes and take a look as well.

I did try but poorly, should work now with resistance. I am not sure about absorption... I am prolly missing some obvious way of doing this.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 05:59:49 AM
It is consistent in that sense, sure. But why do you use both floats and integers in different places for the very same stat? The only thing it achieves is makes my part harder  :)
I don't care which one it will be, but it should be only one.

Ints are better here, I'll update the code and mass rename the fields with my next push.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 06:07:13 AM
I separated healing immunity from magic one to have more control, it's not needed any longer.

Oki, so we don't add it for now.

I have not renamed any item fields, heavy armor and weapons should prolly come with great evasion penalties too but this items stuff we'll prolly be working on for a looong time to come. Maybe someone will help out after the release...

Everything you mentioned should be fixed.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 06:34:55 AM
I've killed two BE issues and consolidated everything into one:

https://github.com/XelaPy/PyTFall/issues/168

Gonna go thought the rest of the issues to recall what else needs to be done and take something out from this BE checklist (if time permits).
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 06:36:08 AM
Everything you mentioned should be fixed.
Yeah, except the poison absorption. I suppose you could rewrite the poison code to make it use poison element which will be absorbed every turn if you cannot simply disable poisoning.

heavy armor and weapons should prolly come with great evasion penalties too but this items stuff we'll prolly be working on for a looong time to come. Maybe someone will help out after the release...
That would require a way to show that an item reduces or increases evasion, otherwise we force people to read items descriptions all the time. I'm not talking about showing numbers, it could be items subclasses like light and heavy which are visible in the gui, or very small icons that indicate how item changes BE values.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 06:51:53 AM
Yeah, except the poison absorption. I suppose you could rewrite the poison code to make it use poison element which will be absorbed every turn if you cannot simply disable poisoning.

Right, I'll take a look now, try to figure out what's best.

That would require a way to show that an item reduces or increases evasion, otherwise we force people to read items descriptions all the time. I'm not talking about showing numbers, it could be items subclasses like light and heavy which are visible in the gui, or very small icons that indicate how item changes BE values.

I love when that happens, some hidden item effects that you'd expect and may or may not be hinted towards in the description! :)

=======>>>
I've killed some old Issues, consolidated a few others, still looking at them...
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 06:57:21 AM
I love when that happens, some hidden item effects that you'd expect and may or may not be hinted towards in the description! :)
You propose almost every item to change evasion. At this point it's no longer a hidden effect, it's a routine mechanics.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 07:25:12 AM
The good news is physical "element" works as intended, now we'll have some decent high level undeads which cannot be easily or at all damaged by normal weapons  :)
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 07:49:47 AM
Xela, you destroyed items evasion just now  :D
Quote
                        # Items bonuses:
                        temp = 0
                        for i in t.eq_items():
                            if hasattr(i, "evasion_bonus"):
                                m += i.evasion_bonus
                        ev += temp
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 07:53:17 AM
It should. I actually considered renaming the field but decided to leave it until next major code refactoring. There is too much on the plate right now, I've also close a number of issues that called for plain code improvements, there is no time for that, game is getting more complicated.

Xela, you destroyed items evasion just now  :D

lmao, fix it :)
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 08:05:47 AM
Just pushed fix for absorption triggering be events. Poison should work fine now.

I am going to do skills sorting next, it has to be fixed all over the GUI and in several places in code so that's gonna take a while. Also gotta figure out a good way to get that done with all the recent changes.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 08:16:47 AM
Spells are sorted by element, which makes ME spells look out of place. I'm not really sure what to do with them without using advanced gui, where you have to select an element first, and then it shows you all spells with this element, including all ME.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 09:02:13 AM
I am going to do skills sorting next, it has to be fixed all over the GUI and in several places in code so that's gonna take a while. Also gotta figure out a good way to get that done with all the recent changes.

Proved to be a lot simpler than I expected! We do not sort them by instance, prolly was worked out of the game during last major code refactoring.

You can now safely create any skill you like. I'll take a look at Be interface, see what can be done for ME skills.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 10:02:32 AM
You can now safely create any skill you like.
No I can't.  (http://www.pinkpetal.org/index.php?topic=1291.msg41246#msg41246)
Not to mention that I'm gonna tie skills to weapons right after making them, so I need that ability too.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 10:10:01 AM
No I can't.  (http://www.pinkpetal.org/index.php?topic=1291.msg41246#msg41246)
Not to mention that I'm gonna tie skills to weapons right after making them, so I need that ability too.

? I don't follow, are you asking for explanation for to build gfx for skills that look differently from left and right or is there something else?
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 10:14:57 AM
First of all, I've yet to see a skill that needs that special field you mentioned. So yeah, I don't even know where to look for an example.

You also haven't changed the comment for P2P class, which leads me to believe it's not ready.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 10:35:29 AM
First of all, I've yet to see a skill that needs that special field you mentioned. So yeah, I don't even know where to look for an example.

You also haven't changed the comment for P2P class, which leads me to believe it's not ready.

Let me see what you did and what goes wrong with it. Class is ready, I've deleted the comment. I just updated the code through mass renaming, not went over it line by line.

There should be examples of everything...
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 10:58:19 AM
You haven't fixed the issue with default attacks I mentioned. If a character has a default attack other than fists, equipping a weapon does not remove it.

Let me see what you did and what goes wrong with it.
You said something is wrong with one of new skills when it's used by enemy, I have no idea what are you talking about  :D
You even haven't mentioned the name of the skills, I'm clueless here.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 11:17:51 AM
You haven't fixed the issue with default attacks I mentioned. If a character has a default attack other than fists, equipping a weapon does not remove it.

Right! I completely forgot :(

You said something is wrong with one of new skills when it's used by enemy, I have no idea what are you talking about  :D
You even haven't mentioned the name of the skills, I'm clueless here.

I forgot as well  ::) It was really late, I was a bit drunk and too tired to code so I tested the BE. Some new attacks looked off and one crashed due to missing art.

Let me check out the skills first. I'll add new option to setup base attacks to all chars after that.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 11:27:11 AM
Some should crash, yeah. Because I changed folders structure a few times while making webms, I'll fix them of course.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 11:28:46 AM
Ok, I'll write an explanation on how to create gfx effects because you're doing it wrong. Most attacks are broken when they come from right side because of that. I thought I wrote it already somewhere... gonna check for it first.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 11:34:23 AM
You have close to zero comments in both assets and content-classes rpys, of course I'm acting blindly  :)
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 11:49:04 AM
I tested fire arrow skill, which uses shatter gfx on death, which uses the infamous HitlerKaputt animation class.
When you kill mobs, they shatter all right, but at the same time the whole shattering cloud shakes, and it looks terrible.

It happens because the sprite damage effect, shake gfx, works at the same time as shatter gfx, and if you remove the shake part, shattering begins to work properly.

I could make the death effect work only after shaking ends by setting big initial_pause. But it looks weird when they explode after 1.5 seconds of shaking. It looks fine for the ice spell though, zero prism,  where damage effect is texture replacement. So we probably should have an option to cancel damage effect if death effect is about to play.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 12:26:11 PM
Ok, so we use this system to "aim":

Code: [Select]
                aim = self.main_effect["aim"]
                point = aim.get("point", "center")
                anchor = aim.get("anchor", (0.5, 0.5))
                xo = aim.get("xo", 0)
                yo = aim.get("yo", 0)

This is how you defined new attacks:

Code: [Select]
        SimpleSkill(u"Soul Blade", menu_pos=0, range=3, attributes=['melee'], effect=20, multiplier=1.2, vitality_cost=20, desc="Projects a huge blade made from the user's soul energy towards the target.",
                                           main_effect={"gfx": Transform("soul_sword", zoom=1.1), "sfx": "content/sfx/sound/be/soul_sword.mp3", "duration": 0.5, "aim": {"point": "bc", "anchor": (1.0, 1.0), "xo": -80}},
                                           target_sprite_damage_effect={"gfx": "shake", "initial_pause": .3, "duration": .5},
                                           target_death_effect={"gfx": "dissolve", "initial_pause": .5, "duration": .5})

This is the part that's important in main effects gfx context:

Code: [Select]
"aim": {"point": "bc", "anchor": (1.0, 1.0), "xo": -80}}
Reason why it is:

Most attack, especially the once that come from RPG Maker, are very plain and look exactly the same from both sides. Attacks like our Meteor (which you could have used for example), Same thing in the Ice element or Fist Of Bethel (strongest Earth Skill) are different (same counts for stuff like Arrows and FireBalls but they are setup to do the right thing by default). If you just play them like simple attack, they will look ok from the left but will look really bad from the right... It will look as if they are being from the left, just like if your party used them! Also if you used xoffset, it will work against you.

First, let me explain what the positioning means:

"point": "bc"
Point is where you aim the attack! Related to the target sprite. bc means bottom center... Other options are:

Code: [Select]
            center: center of the charcters image
            tc: top center of the characters image
            bc: bottom center of the characters image
            fc: front center (Special per row instruction (for offset) applies)

You'd usually use one of the top 3. This gives you a position of a point you aim at.

"xo": -80
This, can be used to offset the position as it is often required. yo is the other option for vertical offsets. It's all in pixels.

"anchor": (1.0, 1.0)

This is simple Ren'Py's anchor: https://www.renpy.org/doc/html/style_properties.html#style-property-xanchor

Once you got a point from two setting above, you can specify how the attack displayable (doesn't matter if it's a simple image, webm, animation or anything else) should be anchored to that image! So for example (.5, .5) will land it middle of the displayable dead on the point, your setting will land bottom, right corner of the displayable on the point and etc.

As you can imagine, for stuff like simple attacks, best setting would be:
Code: [Select]
"aim": {"point": "center", "anchor": (.5, .5)}
Like: Pick the dead center of a sprite and put the put the middle of the attack sprite right on top of it.


A lot depends in the displayable you're using, often it will require special offsets, sometimes it won't. So it's simple for simple attack... what we do with those "special" cases like Meteor is this:

Extra argument is added to the main gfx dict (not to the aim one):

Code: [Select]
        SimpleSkill("Meteor", menu_pos=12, attributes=['magic', 'fire'], effect=100, multiplier=6.0, mp_cost=15, range=4, true_pierce=True, type="se", desc="Summons flaming fragments of meteor.",
                                           attacker_effects={"gfx": "orb", "sfx": "default"},
                                           main_effect={"gfx": Transform('cataclysm_sideways', xzoom=-1), "sfx": "content/sfx/sound/be/fire8.mp3", "duration": 1.8, "aim": {"point": "bc", "anchor": (0.5, 0.1), "xo": 150, "yo": -370}, "hflip": True}, ...

"hflip": True
What it does is the following:

- It will horizontally flip the attack displayable (once again, no matter what it is).
- It will reverse horizontal offset ("xo").

With such attacks, you can never use anything other than: "anchor": (0.5, xx), because we do not reverse anchors. There should also be no good case when you need to use anything other than it because you can use offset property.


This is for SimpleSkill class...

Other classes:

ArealSkill: Instead of using gfx effect per character, we use one large effect to over the entire field. Point of aim will always be the dead center making "point" utterly useless.

P2P_Skill: Basically fireball, it follows it's own rules and flips the attack automatically.

ArrowsSkill: Similar with a couple of extras.

ATL_ArealSkill: This one is complex (and simple if you know ATL: https://www.renpy.org/doc/html/atl.html). Instead of using preset attacks, ATL is used to create the entire animation sequence. Main effect dict takes extra k/v pairs: right_args and left_args which will be passed to ATL function depending on which side the attack is coming from. We have two such skills: Water Blast and Ice Storm.

Code: [Select]
        ATL_ArealSkill(u"Water Blast", menu_pos=13, attributes=['magic', 'water', 'inevitable'], effect=200, multiplier=10.0, mp_cost=30, piercing=True, range=6, type="all_enemies",
                                                desc="Hits the taget with a massive water blast!",
                                                attacker_effects={"gfx": "orb", "sfx": "default"},
                                                main_effect={"atl": water_combined, "predict": ["water_attack", "water_wave"], "left_args": [1.8, -300], "right_args": [-1.8, 300], "sfx": "content/sfx/sound/be/water7.mp3", "duration": 1.6},
                                                target_sprite_damage_effect={"gfx": "shake", "initial_pause": 0.6, "duration": 0.9},
                                                target_damage_effect={"gfx": "battle_bounce", "initial_pause": 1.6},
                                                target_death_effect={"gfx": "dissolve", "initial_pause": 1.0, "duration": 0.5})

Code: [Select]
    image water_wave = FilmStrip('content/gfx/be/filmstrips/water_wave.png', (531, 213), (3, 3), 0.15, include_frames=range(7), loop=False)
    image water_attack:
        "content/gfx/be/animations/water_attack/00.png"
        pause 0.1
        "content/gfx/be/animations/water_attack/01.png"
        pause 0.1
        "content/gfx/be/animations/water_attack/02.png"
        pause 0.1
        "content/gfx/be/animations/water_attack/03.png"
        pause 0.1
        "content/gfx/be/animations/water_attack/04.png"
        pause 0.1
        "content/gfx/be/animations/water_attack/05.png"
        pause 0.1
        "content/gfx/be/animations/water_attack/06.png"
        pause 0.1
        "content/gfx/be/animations/water_attack/07.png"
        pause 0.1
        "content/gfx/be/animations/water_attack/08.png"
        pause 0.1
        Null()
       
    transform water_combined(xz, xo):
        # It's prolly a better design to work with the displayable directly using contains instead of replacing them with parallel...
        contains:
            "water_attack"
            xalign 0.5
            ypos 600
            yanchor 1.0
           
        contains:
            pause 0.6
            "water_wave"
            xalign 0.5
            ypos 650
            yanchor 1.0
            xzoom xz
            xoffset xo
            yzoom 1.8

You prolly want to play around with one of these attacks to see what's what or don't use this one.

FullScreenCenteredArealSkill: This one is simple, just show the attack displayable over the whole screen :D


===>>>
I'll fix two of your attacks and push so you have an example, you can tweak the others later.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 12:27:11 PM
I tested fire arrow skill, which uses shatter gfx on death, which uses the infamous HitlerKaputt animation class.
When you kill mobs, they shatter all right, but at the same time the whole shattering cloud shakes, and it looks terrible.

Timing might be off, I'll take a looksie...
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 12:41:29 PM
I think Areal aim of the left team might not be calculated properly. Most of our attacks are too large to notice but your new northern flow is clearly not being aimed correctly... Gonna try and trace the problem.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 12:47:21 PM
Btw will new BE-only stats work for class traits? And if yes, are they going to be doubled when the class trait is single?
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 12:51:29 PM
Btw will new BE-only stats work for class traits? And if yes, are they going to be doubled when the class trait is single?

Any trait, no doubling. But we can change that if you want, it's just two lines of code per effect.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 12:54:58 PM
I think Areal aim of the left team might not be calculated properly. Most of our attacks are too large to notice but your new northern flow is clearly not being aimed correctly... Gonna try and trace the problem.

Yeah, code was: perfect_middle_xr = BDP["r1"][1][0] + (BDP["r1"][1][0] - BDP["r0"][1][0]), it should have been: perfect_middle_xr = BDP["r0"][1][0] + (BDP["r1"][1][0] - BDP["r0"][1][0]). I am going to push but some magic screen in be is a bit messed up atm. I'll fix it in an hour or so.
Title: Re: General Discussion
Post by: DarkTl on September 07, 2016, 01:18:27 PM
Any trait, no doubling. But we can change that if you want, it's just two lines of code per effect.
I dunno what is the lesser evil here. Doubling will make some of them too powerful, no doubling will make double skills better than single ones in terms of BE-only stats :)
We'll see.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 01:22:51 PM
I dunno what is the lesser evil here. Doubling will make some of them too powerful, no doubling will make double skills better than single ones in terms of BE-only stats :)
We'll see.

I am thinking about limiting total possible bonuses. Maybe based of characters level or something like that. But I'll revisit balancing a bit later.
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 03:54:10 PM
Turned out a lot better than expected. There is now a special slot for ME attacks! Next on the list is default attack setting for any char!
Title: Re: General Discussion
Post by: Xela on September 07, 2016, 05:19:30 PM
New "default_attack_skill" field should now work for unique chars and mobs.

Random chars should be different, it might be a good idea to add the same to combat related base traits and draw it from them. Rules are the same as before but I am considering changing them to make sure that this default attack is always available. We can force it to only require VIT and crash the game if someone puts up MP/HP attack as default. It will make my job writing AI that much easier, because I could always depend on one attack being there.

Now that I wrote the above... it would not matter cause you're making new traits to resist any damage... so I cannot count on anything. I guess I'll just add 50 turns limit to logical combat and force draw after that.
Title: Re: General Discussion
Post by: DarkTl on September 08, 2016, 12:53:57 AM
You could check health every 50 turns to find out if it's lower than before. If not, then the battle is infinite and should be terminated.

I'm waiting for an item field for battle skills. Because as far as I know, "attacks" field is only for the basic attack which replaces default character attack.
Title: Re: General Discussion
Post by: Xela on September 08, 2016, 01:44:36 AM
I'm waiting for an item field for battle skills. Because as far as I know, "attacks" field is only for the basic attack which replaces default character attack.

But it works? Or not? We are gonna use it, if logic gotta be adjusted, I'll do it. If you want to rename it, I have no problem with that either.
Title: Re: General Discussion
Post by: DarkTl on September 08, 2016, 04:03:53 AM
I dunno yet, it will take considerable time to distribute BE-only fields among items and traits.

Btw what will happen if a misc item will have BE-only stat? It can be equipped, but at the same works differently.
Title: Re: General Discussion
Post by: Xela on September 08, 2016, 04:44:53 AM
Btw what will happen if a misc item will have BE-only stat? It can be equipped, but at the same works differently.

Nothing special will happen, I am not adding crazy complicated logic to places that can do without it (anymore :D). You'll just get the bonus as from any regular item.
Title: Re: General Discussion
Post by: DarkTl on September 08, 2016, 11:11:43 AM
Wait...
Quote
                        for i in t.traits:
                            if hasattr(i, "evasion_bonus"):
                                # Reference: (minv, maxv, lvl)
                                minv, maxv, lvl = i.evasion_bonus
                                if lvl >= t.level:
                                    temp += maxv
                                else:
                                    temp += max(minv, float(t.level)*max/lvl)
What are you trying to achieve with lvl < t.level?
Title: Re: General Discussion
Post by: Xela on September 08, 2016, 11:36:02 AM
Making sure that if you provide level 50 as max, char would not get x2 bonus at level 100.
Title: Re: General Discussion
Post by: DarkTl on September 08, 2016, 01:22:33 PM
Let's say we have "evasion_bonus": [-15, -10, 50] and level 10.
temp = max(-15, 10*(-10)/50) = max (-15, -2) = -2

So "evasion_bonus": [-15, -10, 50] gives -2 evasion at level 10. It's ridiculous.
Title: Re: General Discussion
Post by: Xela on September 08, 2016, 03:59:37 PM
You can still use fixed negatives like in my example. Do we really need to add if/else forks for this?
Title: Re: General Discussion
Post by: DarkTl on September 09, 2016, 02:40:00 AM
The idea was that characters learn to overcome their weaknesses a bit, but ok, we can live without it.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2016, 06:15:24 AM
There is add_beskills field mentioned in your post about class traits, which should in theory add BE skills. In reality though it does nothing but exists in the code, and probably should be removed.

I'm also confused about the mod field for class traits. We actually almost removed it from normal traits because we have a much better one, mod_stats. It only remained for special stats like upkeep and disposition.
However when I see stuff like
Quote
        "mod": {
            "magic": 10,
            "upkeep": 5,
            "intelligence": 5
        },
in a class trait, I can't help but wounder how will it work, since the mod field used to apply 10% of stat every 5 levels when we used it for normal stats, thus rising upkeep infinitely.

Either way, there should be consistency in traits. If mod field only increases once special stats like upkeep for normal traits, then it should do the same thing for classes. If we have support for mod_stats for normal traits, classes should support it too.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2016, 07:17:23 AM
For some reason I get
Quote
  File "game/library/be/labels.rpy", line 26, in script
    python:
  File "game/library/be/labels.rpy", line 68, in <module>
    battle.start_battle()
  File "game/library/be/core.rpy", line 169, in start_battle
    self.main_loop()
  File "game/library/be/core.rpy", line 117, in main_loop
    s(t=t)
  File "game/library/be/core.rpy", line 536, in __call__
    self.time_gfx(t, died)
  File "game/library/be/core.rpy", line 1244, in time_gfx
    self.timestamps[stamp]()
  File "game/library/be/core.rpy", line 1527, in show_target_damage_effect
    color = getattr(store, target.dmg_font)
AttributeError: 'StoreModule' object has no attribute '#7cfc00'
after trying mass heal in BE.
Title: Re: General Discussion
Post by: Xela on September 09, 2016, 08:48:42 AM
I'll take out the error soon. I wanted to leave traits to major refactoring, but if it pisses you off, I can take a look at them tonight as well, there are loose ends like that because we change concepts a lot in a very logically complex game.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2016, 09:48:02 AM
It should be done before the beta. Because completely usable, working classes will be needed for it.
Title: Re: General Discussion
Post by: Xela on September 09, 2016, 10:02:29 AM
Ok, I'll take a look at traits. The healing spell crash is fixed, code is getting to vast for me to keep everything in check so there are increasingly more and more errors.
Title: Re: General Discussion
Post by: DarkTl on September 09, 2016, 11:06:16 AM
I think I'll put the old elements descriptions in the library location. That's exactly the place for stuff like this.

How do you set spells for arena fighters? The log is full of errors about missing spells at arena, do you use characters data files?
Title: Re: General Discussion
Post by: Xela on September 09, 2016, 11:07:25 AM
There is add_beskills field mentioned in your post about class traits, which should in theory add BE skills. In reality though it does nothing but exists in the code, and probably should be removed.

I'm also confused about the mod field for class traits. We actually almost removed it from normal traits because we have a much better one, mod_stats. It only remained for special stats like upkeep and disposition.
However when I see stuff like in a class trait, I can't help but wounder how will it work, since the mod field used to apply 10% of stat every 5 levels when we used it for normal stats, thus rising upkeep infinitely.

Either way, there should be consistency in traits. If mod field only increases once special stats like upkeep for normal traits, then it should do the same thing for classes. If we have support for mod_stats for normal traits, classes should support it too.

Ok... so I've removed add_beskills from the code, I am not going to update docs cause we will change stuff and it takes too long. I am getting rid of mod field completely, we will use mod_stats for upkeep and disposition as well but only first index will be used ONCE on trait application or removal and everything else will be ignored.

I am also looking into this stats_mod code really closely tight now, I think it may be completely fucked at the moment (as in not working as you'd expect it to, but I may be wrong, it's a complex and intertwined system)...
Title: Re: General Discussion
Post by: Xela on September 09, 2016, 11:08:12 AM
I think I'll put the old elements descriptions in the library location. That's exactly the place for stuff like this.

How do you set spells for arena fighters? The log is full of errors about missing spells at arena, do you use characters data files?

No, I hard code that stuff. Arena review is on our todo list.
Title: Re: General Discussion
Post by: Xela on September 09, 2016, 11:38:36 AM
Just pushed again. mod field is gone as well, index 0 from stats mod field will be used for upkeep and disposition ONCE on traits application, rest of the indexes are ignored. I've also worked out a nasty bug that would have created massive, hard to trace "snowball" effect if a trait that modded stats were to be applied at higher levels. I expect that a trait that had 3+ stats to mod would have turned any character into a freaking monster if applied at level 100+ :D
Title: Re: General Discussion
Post by: DarkTl on September 09, 2016, 12:14:28 PM
Ohhkey, I added "upkeep": [1000] to mod_stats of one of the traits, and nothing happened in the game.
Title: Re: General Discussion
Post by: Xela on September 09, 2016, 12:59:45 PM
Ohhkey, I added "upkeep": [1000] to mod_stats of one of the traits, and nothing happened in the game.

I keep fucking up when changing old code. Try again...
Title: Re: General Discussion
Post by: DarkTl on September 09, 2016, 01:29:49 PM
Ok, I have "disposition": [1000], "upkeep":[1000] now. Disposition works. Upkeep doesn't.
Title: Re: General Discussion
Post by: Xela on September 09, 2016, 01:54:48 PM
Ok, I have "disposition": [1000], "upkeep":[1000] now. Disposition works. Upkeep doesn't.

I think it does.

We do not have a stable financial system at the moment, final upkeep is fixed with:

Code: [Select]
        def get_upkeep(self):
            # TODO: To be revised after skills are added!
            char = self.instance
           
            if char.status == 'slave':
                return 50
            else:
                return 0

It used to be this:
Code: [Select]
            # if char.status == 'slave':
                # if traits['Prostitute'] in char.occupations:
                    # bu = 20 * char.rank
                    # su = char.charisma/10 + char.refinement*1.5 + char.constitution/5 + char.reputation/2 + char.fame/2 # Stats Upkeep
                    # ssu = char.anal/8 + char.normalsex/8 + char.blowjob/8 + char.lesbian/8
                     
                    # return int(bu + su + ssu + char.upkeep)
 
                # elif traits['Stripper'] in char.occupations:
                    # bu = 3 * char.strip
                    # su = char.charisma/10 + char.refinement*1.5 + char.constitution/5 + char.reputation/2 + char.fame/2 # Stats Upkeep
 
                    # return int(bu + su + char.upkeep)
 
                # elif 'Server' in char.occupations:
                    # bu = 3 * char.service
                    # su = char.charisma/10 + char.refinement*1.5 + char.constitution/5 + char.reputation/2 + char.fame/2 # Stats Upkeep
 
                    # return int(bu + su + char.upkeep)
 
                # else:
                    # bu = 20
                    # su = 0 # Stats Upkeep
                    # for stat in char.stats:
                        # if stat not in ["disposition", "joy", "health", "vitality", "mood"]:
                            # su += getattr(char, stat)
 
                    # return int(bu + su + char.upkeep)
 
            # elif char.status == 'free':
                # return char.upkeep
 
            # else: # This is for any unknown types
                # bu = 50
                # su = 0 # Stats Upkeep
                # for stat in char.stats:
                    # if stat not in ["disposition", "joy", "health", "vitality", "mood"]:
                        # su += getattr(char, stat)
 
                # return int(bu + su + char.upkeep)

I had a decent idea to write special class to handle all of the fin balancing and shit. Or game would be close to impossible to balance out, but that was never implemented. I am not planning to make really advanced right off the bat, so it will not take too long once I get around to it.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2016, 04:33:46 AM
Quote
  File "game/library/interactions/GM - negative.rpy", line 64, in script
    python:
  File "game/library/interactions/GM - negative.rpy", line 67, in <module>
    result = run_default_be(enemy_team, background=back)
  File "game/library/interactions/function - interactions (GM).rpy", line 389, in run_default_be
    battle.start_battle()
  File "game/library/be/core.rpy", line 169, in start_battle
    self.main_loop()
  File "game/library/be/core.rpy", line 98, in main_loop
    ev.controller()
  File "game/library/be/core.rpy", line 1691, in __call__
    skill(ai=True, t=targets)
  File "game/library/be/core.rpy", line 529, in __call__
    self.effects_resolver(t)
  File "game/library/be/core.rpy", line 678, in effects_resolver
    defense = self.get_defense(t)
  File "game/library/be/core.rpy", line 905, in get_defense
    defense += max(minv, float(target.level)*max/lvl)
TypeError: unsupported operand type(s) for *: 'float' and 'builtin_function_or_method'
after 4x attack.
Title: Re: General Discussion
Post by: Xela on September 10, 2016, 08:24:20 AM
I am traveling right now, gonna fix this tonight.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2016, 09:20:01 AM
I could just round() it, but I dunno if it's what you want there.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2016, 12:35:23 PM
I tested fire arrow skill, which uses shatter gfx on death, which uses the infamous HitlerKaputt animation class.
When you kill mobs, they shatter all right, but at the same time the whole shattering cloud shakes, and it looks terrible.

It happens because the sprite damage effect, shake gfx, works at the same time as shatter gfx, and if you remove the shake part, shattering begins to work properly.

I could make the death effect work only after shaking ends by setting big initial_pause. But it looks weird when they explode after 1.5 seconds of shaking. It looks fine for the ice spell though, zero prism,  where damage effect is texture replacement. So we probably should have an option to cancel damage effect if death effect is about to play.
Title: Re: General Discussion
Post by: Xela on September 10, 2016, 03:13:57 PM
I could just round() it, but I dunno if it's what you want there.

No, no, no. It got nothing to do with rounding up. max(minv, float(target.level)*max/lvl) max should be maxv here, max is a buildin function, it's reserved.

==============>>>
Gonna look into the firearrow thing now.
Title: Re: General Discussion
Post by: Xela on September 10, 2016, 04:49:45 PM
...

Shaking to shatter thing is sort of fixed but it may pay off to review the methods at code refactoring in the future, some stuff is in there that feels like it shouldn't be.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2016, 04:55:12 PM
I'm getting weird results when trying to use a spritesheet animation for multiattack, it's not playing completely no matter how I change timing. Maybe I don't understand how it works?

It's Triple Ice Attack in the last push.

I mean, look at it and then at normal Ice Dagger Attack, they use the same gfx.
Title: Re: General Discussion
Post by: Xela on September 10, 2016, 05:54:20 PM
I'm getting weird results when trying to use a spritesheet animation for multiattack, it's not playing completely no matter how I change timing. Maybe I don't understand how it works?

It's Triple Ice Attack in the last push.

I mean, look at it and then at normal Ice Dagger Attack, they use the same gfx.

I only meant to use that class with very simple attacks, like the once that just show one image that is just a single frame. The idea was to reduce workload so you wouldn't have to import all those extra resources into the game, but you just went and did that anyway :D

It's would not be too hard to allow chaining any animation, if you want, I can look into that tomorrow.
Title: Re: General Discussion
Post by: DarkTl on September 10, 2016, 06:30:47 PM
I asked (http://www.pinkpetal.org/index.php?topic=1291.msg40960;topicseen#msg40960) before if multiattack can support webms, and you said it doesn't matter what you use... Turns out it does -_-
Title: Re: General Discussion
Post by: Xela on September 10, 2016, 06:41:52 PM
I asked (http://www.pinkpetal.org/index.php?topic=1291.msg40960;topicseen#msg40960) before if multiattack can support webms, and you said it doesn't matter what you use... Turns out it does -_-

Oki, I'll improve the class tomorrow. It does "technically" support webms or any displayable :) It just does it with fixed timing of .3 seconds (which is not very useful for animations) :)
Title: Re: General Discussion
Post by: Xela on September 11, 2016, 02:50:43 PM
I asked (http://www.pinkpetal.org/index.php?topic=1291.msg40960;topicseen#msg40960) before if multiattack can support webms, and you said it doesn't matter what you use... Turns out it does -_-

I've pushed an updated version but it's not good yet, just little better. There are too many ifs and buts there... just another thing that wasn't worth bothering with. I'll get it working next week.
Title: Re: General Discussion
Post by: DarkTl on September 11, 2016, 04:02:13 PM
If it's too difficult, you could just said so  ::)
I suppose you could just make the length of animations customable instead of the fixed 0.3 seconds.
Title: Re: General Discussion
Post by: Xela on September 11, 2016, 04:28:49 PM
For single frame attacks we want alpha-fade cause it looks cool, for animations, we do not cause it looks awful. For single frame attacks we want a different (and possibly adjustable) offset and delay randomization for the same reason. Those nuances need to be relayed between three classes and a function.

It's already half-done, I'll wrap it up next week. Stuff like this is just annoying to work at, there are comments in the class that suggest that it was a plan to update it at some point anyhow. I guess that after almost two years without any releases, delays from anything that isn't absolutely necessary are getting on my nerves, gotta start meditating or something :D
Title: Re: General Discussion
Post by: DarkTl on September 12, 2016, 02:04:53 AM
Now, now. When commercial devs release noticeably unfinished product (due to fixed release date usually), it always leads to disaster.

The problem is, when you said the function supports webms, it led me to converting many webms suitable only for multiattacks.
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 03:14:49 AM
Now, now. When commercial devs release noticeably unfinished product (due to fixed release date usually), it always leads to disaster.

Not commercial and product will be unfinished anyhow (being a Beta-release and all). In either case, some sense of urgency and "unnerving" was good so far, I've been putting way more time into PyTFall and BabeRunner in the last week than in couple of month before.

The problem is, when you said the function supports webms, it led me to converting many webms suitable only for multiattacks.

Yeah, looking at code and comments, I kept your request in mind when writing the sequence, just didn't expect you to rip all the webms so soon :) I'll try to wrap it up today.
Title: Re: General Discussion
Post by: DarkTl on September 12, 2016, 04:44:05 AM
Looks like testing mode properties + be gui prevent (https://www.dropbox.com/s/78zbeahmzdxj9qb/menu.jpg?dl=0) me from making more skills, at this point I cannot test new ones.
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 04:45:36 AM
Looks like testing mode properties + be gui prevent (https://www.dropbox.com/s/78zbeahmzdxj9qb/menu.jpg?dl=0) me from making more skills, at this point I cannot test new ones.

Don't you get two rows of skills? I thought that it was limited vertically...
Title: Re: General Discussion
Post by: DarkTl on September 12, 2016, 04:48:46 AM
There were two rows, then reduced to only one. I suppose there is a bug in gui?
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 05:59:28 AM
There were two rows, then reduced to only one. I suppose there is a bug in gui?

Fixed, I've also restored tripple ice dagger, if only just for testing (if you don't want it anymore). It's working much better now.
Title: Re: General Discussion
Post by: DarkTl on September 12, 2016, 06:39:24 AM
What menu_pos does in SimpleSkill functions? I don't see any changes in BE gui after changing it.
Title: Re: General Discussion
Post by: DarkTl on September 12, 2016, 08:08:38 AM
I pushed a few attacks (without suitable sounds mostly). One of them is Dagger Double Strike, it's a normal single webm. Another is Bone Dagger Attack 4X, it uses the same gfx plus MultiAttack animation.

The thing is, Bone Dagger Attack 4X position is noticeably wrong, even though Ice Dagger Attack3X position with almost the same code is fine. It's probably because MultiAttack uses wrong position for webms.
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 09:58:49 AM
What menu_pos does in SimpleSkill functions? I don't see any changes in BE gui after changing it.

It should sort it in under magic and do nothing in physical attacks. I'll fix it soon.

I pushed a few attacks (without suitable sounds mostly). One of them is Dagger Double Strike, it's a normal single webm. Another is Bone Dagger Attack 4X, it uses the same gfx plus MultiAttack animation.

The thing is, Bone Dagger Attack 4X position is noticeably wrong, even though Ice Dagger Attack3X position with almost the same code is fine. It's probably because MultiAttack uses wrong position for webms.

Oki, I'll check it out. Might be that "requirement" for custom offset I mentioned earlier.
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 10:32:14 AM
The thing is, Bone Dagger Attack 4X position is noticeably wrong, even though Ice Dagger Attack3X position with almost the same code is fine. It's probably because MultiAttack uses wrong position for webms.

Might be a Ren'Py bug, this is a very weird case. I'll try to figure it out.

Edit:
Right... found at least one issue...
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 11:04:08 AM
Ok, so I've tracked it down to the way we try to get a size of a displayble. WEBM movies in Ren'Py return 0, 0 because no movie can be rendered before it's starts playing (frames come in from C land) and we rely on dummy rendering of a frame to get size.

There might be a better way of doing this but I am not sure what this is. For now you'll have to specify size of the webm to make it work (safer) or you can obviously just use offset aim property which is prolly also safe unless some one day decides to get Ren'Py to return appropriate movie size.
Title: Re: General Discussion
Post by: DarkTl on September 12, 2016, 11:29:48 AM
Ok, I finished with dagger skills, for beta at least. All weapons will be rather unique, we can afford it with those hundreds animations in db+coded animations aka MultiAttack (and probably a few more after beta, like  https://www.youtube.com/watch?v=lDTjtXhKk9s&feature=youtu.be (https://www.youtube.com/watch?v=lDTjtXhKk9s&feature=youtu.be))
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 11:37:28 AM
Ok, I finished with dagger skills, for beta at least. All weapons will be rather unique, we can afford it with those hundreds animations in db+coded animations aka MultiAttack (and probably a few more after beta, like  https://www.youtube.com/watch?v=lDTjtXhKk9s&feature=youtu.be (https://www.youtube.com/watch?v=lDTjtXhKk9s&feature=youtu.be))

Awesome, that one I wanted use as a damage or death effect for some cool sword attack :)
Title: Re: General Discussion
Post by: DarkTl on September 12, 2016, 11:42:09 AM
If we could use arbitrary figures as masks to slice character to pieces like on the video, it will open another way to build animations.
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 12:20:14 PM
If we could use arbitrary figures as masks to slice character to pieces like on the video, it will open another way to build animations.

Actually, that is done with an "arbitrary" figure, but you need to know how to move slices and those always require unique programming.
Title: Re: General Discussion
Post by: DarkTl on September 12, 2016, 12:38:32 PM
Doesn't HitlerKaputt randomly send pieces to fly?
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 12:45:12 PM
Doesn't HitlerKaputt randomly send pieces to fly?

Yeap. It crops a displayable and sends the bits flying. I've written like 5 or 6 versions of the class for different games/purposes so i don't even remember which one we're using. There is usually some form of corrective algorithm making sure it looks decent cause simply setting directions doesn't look very good.
Title: Re: General Discussion
Post by: Xela on September 12, 2016, 12:56:50 PM
Doesn't HitlerKaputt randomly send pieces to fly?

I just figured out where you're going with this. That class is not very useful for the task because it's written to crop into equal bits, divide those bits into sectors along x, y axis and send them flying accordingly. If I recall correctly, there is some form of a corrective algorithm in place to make sure that the bits that make up the axis themselves which are also being cropped out to fly away using special settings because they would also fly in straight lines under default once.

===>>
Basically, it's not useful for a scenario where we use masks to create a number of images from a single sprite and send those flying.
Title: Re: General Discussion
Post by: DarkTl on September 13, 2016, 12:48:01 AM
Ideally we'll need static or animated textures for damage effects, like iced, for all elements. It's just not easy to find decent ones.
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 04:04:14 AM
Ideally we'll need static or animated textures for damage effects, like iced, for all elements. It's just not easy to find decent ones.

I don't remember if animated was simple or not in this case. Static just needs pics:

https://www.google.com/search?site=&tbm=isch&source=hp&biw=1239&bih=954&q=darkness&oq=darkness&gs_l=img.3..0l10.1731.6381.0.6578.9.8.0.1.1.0.147.812.1j6.7.0....0...1ac.1.64.img..1.7.728.ifkiEf2Dbnw#tbm=isch&q=earth+element
https://www.google.com/search?site=&tbm=isch&source=hp&biw=1239&bih=954&q=darkness&oq=darkness&gs_l=img.3..0l10.1731.6381.0.6578.9.8.0.1.1.0.147.812.1j6.7.0....0...1ac.1.64.img..1.7.728.ifkiEf2Dbnw#tbm=isch&q=lightning+element
https://www.google.com/search?site=&tbm=isch&source=hp&biw=1239&bih=954&q=darkness&oq=darkness&gs_l=img.3..0l10.1731.6381.0.6578.9.8.0.1.1.0.147.812.1j6.7.0....0...1ac.1.64.img..1.7.728.ifkiEf2Dbnw#tbm=isch&q=darkness+element

and etc.
Title: Re: General Discussion
Post by: DarkTl on September 13, 2016, 04:28:43 AM
I have a small problem with P2P_Skill. It appears that there is no way to use projectile_effects without main_effect and still make animation work. But I don't need main_effect sometimes, all I need is projectile and target_sprite_damage_effect. Without main_effect P2P_Skill just plays nothing at all.
Title: Re: General Discussion
Post by: DarkTl on September 13, 2016, 06:05:22 AM
I don't remember if animated was simple or not in this case. Static just needs pics:
Nah, it needs more attention than grabbing a random low quality picture from google. It's not a priority anyhow, even for version>1, but it will look good if done properly.
For example, multiple animated water drops after water attacks without replacing the whole target texture https://mrbubblewand.files.wordpress.com/2009/10/water_003.png
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 07:00:51 AM
I have a small problem with P2P_Skill. It appears that there is no way to use projectile_effects without main_effect and still make animation work. But I don't need main_effect sometimes, all I need is projectile and target_sprite_damage_effect. Without main_effect P2P_Skill just plays nothing at all.

Maybe it assumed that there always should be some main effect, what happens if you just set super low duration for it?
Title: Re: General Discussion
Post by: DarkTl on September 13, 2016, 07:58:03 AM
Yeap, super low duration and simple picture as gfx helped.

We definitely will need conditions for weapons skills after beta. Maybe level and stats. Without it they are kinda insipid.
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 08:04:57 AM
Yeap, super low duration and simple picture as gfx helped.

We definitely will need conditions for weapons skills after beta. Maybe level and stats. Without it they are kinda insipid.

We can add them before beta, it's very east in code, more timeconsuming adding conditions to every attack...

Put Null() as a dummy image, means empty render.
Title: Re: General Discussion
Post by: DarkTl on September 13, 2016, 08:33:56 AM
I wonder if it's possible to loop sounds in BE. An easy way to make both simple and advanced versions of a skill is to loop webm and show it 2-3 times, but it requires sound editing. Which is not a problem, but it increases the game size, so if we can avoid it, it would be cool.
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 08:43:08 AM
I wonder if it's possible to loop sounds in BE. An easy way to make both simple and advanced versions of a skill is to loop webm and show it 2-3 times, but it requires sound editing. Which is not a problem, but it increases the game size, so if we can avoid it, it would be cool.

MultiStrike loops sounds, even plays them simultaneously if needs be. You need other classes to do the same?
Title: Re: General Discussion
Post by: DarkTl on September 13, 2016, 09:51:25 AM
MultiStrike is fine, but I don't understand how to control overlapping (due to usual lack of comments  :) ).
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 10:06:31 AM
MultiStrike is fine, but I don't understand how to control overlapping (due to usual lack of comments  :) ).

You can't... it's just played one every new attack sequence which starts at random between whatever you put as interval and half of that number.
Title: Re: General Discussion
Post by: DarkTl on September 13, 2016, 10:13:10 AM
Ohhkey, if duration is pretty much random, then what duration field does there?
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 10:48:22 AM
Ohhkey, if duration is pretty much random, then what duration field does there?

Unfinished code on my part... That "duration" I've used as a "guess" of how long animation might take, it worked fairly well so I never have. Current setup is this:

Skill class(es) ==> UDD class ==> ATL function

ideally, I should have created a preset of fixed random timing for the whole sequence at step one and fed them into UDD. But it was faster both to write the code and to test it if done directly at step 2 (UDD). So after done with all the testing, the idea was to change the order and do just that but I never got around to that + as I've said, it worked reasonably well.
Title: Re: General Discussion
Post by: DarkTl on September 13, 2016, 11:41:23 AM
After my last push there are Weapon Dance and Weapon Dance Multi skills. The latter one looks very weird no matter how I change numbers.
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 12:31:48 PM
After my last push there are Weapon Dance and Weapon Dance Multi skills. The latter one looks very weird no matter how I change numbers.

I'll take a look, working on the range right now.
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 05:30:32 PM
After my last push there are Weapon Dance and Weapon Dance Multi skills. The latter one looks very weird no matter how I change numbers.

This is a very weird issue, I can't even run the animation once properly through multi strike class. Gonna investigate but if it doesn't work, my belief that webm would behave the same as other displayable may be false :(
Title: Re: General Discussion
Post by: Xela on September 13, 2016, 07:30:00 PM
Well... failure :(

I spent three and a half hours trying to figure out what's going on and why. I simply do not understand it. WEBM support is far more limited when trying to chain it, what I don't understand is why. It most likely is due to its "flow" being controlled using sound channels instead of the usual Displayable timer and some form of desynchronisation takes place.

===>>
I might be worth looking into writing our own UDD class somehow. I did manage to improve the attack, it actually doesn't look bad at all but it's nowhere near what it should be like (I've tried about everything I could think off and plainly not every frame of the movie is being played, even if only one movie is played by the class, that sh1t is particularly weird... there may be a simpler solution than trying to rewrite Movie class but I don't know what it is (yet)).

Edit (at almost 4 AM):
Nope... there is no "writing" our own UDD, syncing is too heavily integrated with sound channels :( There may be some form of workaround but I doubt it.

Our best chance for chaining WEBM is our ATL Attack class and custom scenarios for each animation. WEBM also would have to be in infinite loop for this one. It's far from perfect solution and it may be time consuming to write but there is no other option for chaining them in perfect sync :( Or, if it looks ok, multi attack class may still offer something on case per case basis...
Title: Re: General Discussion
Post by: DarkTl on September 14, 2016, 12:45:10 AM
The idea is to loop both webm and sound and play them twice to make the attack longer. Looping webm and showing it via normal function works fine as far as I know, I tried it once. So only looping sound remains.
Title: Re: General Discussion
Post by: DarkTl on September 14, 2016, 05:29:39 AM
I played a bit vs mobs. They actively use powerful attacks, run out of mp/vitality and start spamming normal attacks. It's boring.
I think they should have minor vitality and mp regeneration, maybe 5-10 per turn.
Title: Re: General Discussion
Post by: Xela on September 14, 2016, 05:54:35 AM
I played a bit vs mobs. They actively use powerful attacks, run out of mp/vitality and start spamming normal attacks. It's boring.
I think they should have minor vitality and mp regeneration, maybe 5-10 per turn.

I'll look into it.
Title: Re: General Discussion
Post by: Xela on September 14, 2016, 07:27:18 AM
The idea is to loop both webm and sound and play them twice to make the attack longer. Looping webm and showing it via normal function works fine as far as I know, I tried it once. So only looping sound remains.

Yes it does but sound files need to be synced manually in software like audacity. I've added the ability to loop sounds and an example:

Code: [Select]
"sfx": ["content/sfx/sound/be/multi.mp3"]*2, "loop_sfx": True
You can also use different sounds, this is the same as entering that file name twice. In either case, I liked the "broken" version better :D

PS: One trick to make sure webm animation don't overshoot or end too early is setting the amount of loops when you define them instead of endless loop as I have.
Title: Re: General Discussion
Post by: DarkTl on September 14, 2016, 08:11:54 AM
I think they should have minor vitality and mp regeneration, maybe 5-10 per turn.
Either this, or waiting option should restore 5-10 vitality and mp for enemies and be used by AI often enough.
Title: Re: General Discussion
Post by: Xela on September 14, 2016, 08:56:34 AM
Either this, or waiting option should restore 5-10 vitality and mp for enemies and be used by AI often enough.

Vitality is already restored for everybody but yeah... I'll handle this one when improving AI.
Title: Re: General Discussion
Post by: DarkTl on September 14, 2016, 11:54:50 AM
The difference is, it should be more powerful for enemies than for player team. Because we most likely will have some kind of items inside BE.

Perhaps the best bet is to introduce BE-only stats that provide regeneration for hp, mp or vitality per turn, give those stats via traits to mobs, and (optional) weaker versions via items to player team.
Title: Re: General Discussion
Post by: Xela on September 14, 2016, 12:30:22 PM
The difference is, it should be more powerful for enemies than for player team. Because we most likely will have some kind of items inside BE.

Perhaps the best bet is to introduce BE-only stats that provide regeneration for hp, mp or vitality per turn, give those stats via traits to mobs, and (optional) weaker versions via items to player team.

Nah, very high rate of regen on skipping is fine, maybe full restoration even... we'll see.
Title: Re: General Discussion
Post by: DarkTl on September 14, 2016, 01:37:40 PM
The death effect from the youtube video will be perfect for Moon Slice attack from the last push, if you still have the code.
Title: Re: General Discussion
Post by: Xela on September 14, 2016, 01:42:36 PM
The death effect from the youtube video will be perfect for Moon Slice attack from the last push, if you still have the code.

No, I've deleted it long time ago.
Title: Re: General Discussion
Post by: DarkTl on September 16, 2016, 01:53:26 PM
I don't think I'll need something else coded for BE until the beta. All that remains is to tie a dozen webms to attacks and then attacks to weapons.

You, however, wanted to code a function for magic shield of some kind instead of the resistance stat.
Title: Re: General Discussion
Post by: Xela on September 16, 2016, 02:01:38 PM
I don't think I'll need something else coded for BE until the beta. All that remains is to tie a dozen webms to attacks and then attacks to weapons.

You, however, wanted to code a function for magic shield of some kind instead of the resistance stat.

Yeah, I am planning a codding run for both games tomorrow if time permits. Gonna try to write better AI and the shield skill + Esper mechanics for BR.
Title: Re: General Discussion
Post by: DarkTl on September 16, 2016, 03:11:24 PM
I added some time ago Slave_BE_AI part, it's for slaves characters involved in BE but not allowed to fight. You probably could allow them to use healing spells.
Title: Re: General Discussion
Post by: Xela on September 16, 2016, 03:49:30 PM
I added some time ago Slave_BE_AI part, it's for slaves characters involved in BE but not allowed to fight. You probably could allow them to use healing spells.

I'll prolly do some inheritance thing... there is a bunch to think about when writing this bit cause it'll be used a lot and I'd avoid adding too much overhead from BE in next day calculations.

(so if possible, I want a complex version we'll be expanding for a long, long time and a simple, dummy version for logical fighting).
Title: Re: General Discussion
Post by: DarkTl on September 17, 2016, 05:27:48 AM
A VN writer contacted me and proposed a (better) short story for the hidden village. I'll need a bit better matrix though to make areas disappear when there is nothing inside instead of doing something with them every time they are not needed. Here's the issue. (https://github.com/XelaPy/PyTFall/issues/185)
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 08:09:19 AM
Can you confirm point 1)? It should have been fixed! I am like 99.99% sure of that :D

Two/three are obviously doable but you might now be able to update matrix "in real time" anymore because we'll have to manage the data internally.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2016, 08:17:35 AM
Take a look at Emerald Arrow skill in my last push. It's absolutely screwed for no apparent reason. My guess is ArrowsSkill doesn't support webms properly (which is weird, since P2P attack works as usual).
Title: Re: General Discussion
Post by: DarkTl on September 17, 2016, 08:30:40 AM
Can you confirm point 1)? It should have been fixed! I am like 99.99% sure of that :D
Hm. Yeah, you right. The last time I used matrix it wasn't fixed, but not anymore. Guess some sneaky push changed it  :)

Two/three are obviously doable but you might now be able to update matrix "in real time" anymore because we'll have to manage the data internally.
I figured it will be easier in terms of code to hide/show areas while the matrix in question is not active, but in fact it doesn't matter if areas will appear/disappear in real time or not.
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 08:39:33 AM
Hm. Yeah, you right. The last time I used matrix it wasn't fixed, but not anymore. Guess some sneaky push changed it  :)

You've asked my to fix that when you were still working on it and I have, you prolly forget since we're working like in 10 different directions with the game..

I figured it will be easier in terms of code to hide/show areas while the matrix in question is not active, but in fact it doesn't matter if areas will appear/disappear in real time or not.

Oki, I'll write a controller class or something along those lines.
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 08:44:14 AM
Take a look at Emerald Arrow skill in my last push. It's absolutely screwed for no apparent reason. My guess is ArrowsSkill doesn't support webms properly (which is weird, since P2P attack works as usual).

I've missed this post. I should work because we're not passing it through a render like last time so it should be free to do whatever the heck it wants.

Edit:
Yeah.. talk about messed up... I don't even know where to begin investigation...
Title: Re: General Discussion
Post by: DarkTl on September 17, 2016, 08:55:01 AM
It works differently on the top and bottom goblins in the testing mode. So it's clearly something in the code.
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 08:55:47 AM
It works differently on the top and bottom goblins in the testing mode. So it's clearly something in the code.

Actually... first thing that came to mind are the definitions, let me try something...
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 08:59:21 AM
Actually... first thing that came to mind are the definitions, let me try something...

Yeap! I was right! Check my push, I tried making fixing it funny :D
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 09:01:37 AM
Ok.. so are we in a hurry with polygon mapping update? Or should i get cracking on BE's TODO list?
Title: Re: General Discussion
Post by: DarkTl on September 17, 2016, 09:14:03 AM
No, we are not in a hurry. There is enough stuff for me to do as it is.

So, webm channels could have any names, huh. You always used main_gfx_attacks, I figured it's a must have.
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 09:23:07 AM
So, webm channels could have any names, huh. You always used main_gfx_attacks, I figured it's a must have.

Yeah, any name but the thing is that renpy can play only one track per channel properly (unless it's "audio" channel, which is special and can be used to play any amount of sound tracks simultaneously). So main_gfx_channel is fine as long as it's the main gfx attack which we seem to never run more that one of. If you're making gfx for sprite damage or defense, you can make up channel names like "defence", "you_shall_not_pass", "OUCH" and etc. :D

If we play movies at the same time but on different channels, it should work much better.

Edit: Ren'Py will keep the channels, I don't think it gets rid of them over time. They are really light weight but you might want to standardize their name somehow. If you have some effects that gotta be played "per target" like damage or main gfx animations and they don't work, we'll have to define them three times on a channel with default name + target index. I'll make sure that it is anticipated in code but this may not be required (so it needs testing).
Title: Re: General Discussion
Post by: DarkTl on September 17, 2016, 11:36:21 AM
ArrowsSkill ignores duration for firing_effects. As a result, it can shoot arrow before bow animation finishes if the bow animation is long enough, like it does for trinity arrow from my last push.
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 11:56:00 AM
Something came up. I am going to finish defense buff and take a look at the skill.
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 01:47:08 PM
There is a number of unexpected difficulties with the buff events. I am going to shelf it for now and take a look at your new skill.
Title: Re: General Discussion
Post by: Xela on September 17, 2016, 02:31:40 PM
Odd... I recall commenting on every damn line of code after writing this:

Code: [Select]
        """This is the class I am going to comment out really well because this spell was not originally created by me
        and yet I had to rewrite it completely for new BE.
        """

But there is almost no comments in the class... it was not written as a universal solution btw. It was written to fin the parameters of Fire and Ice arrows. firing duration will now be respected as long as it's greater than .6 seconds but there are a lot of improvement to be made for this class if we're to use it a lot.
Title: Re: General Discussion
Post by: DarkTl on September 17, 2016, 03:01:29 PM
It will be used. There are quite many bow-like animations. And also gun-like and canon-like ones. I'm not gonna touch them until beta though.
Title: Re: General Discussion
Post by: DarkTl on September 18, 2016, 02:20:34 PM
Weapons attacks menu in BE was wrecked by the amount of attacks again  :)
It will never look like this outside of testing mode because it will be impossible to have so many, but it really complicates testing itself.
Title: Re: General Discussion
Post by: Xela on September 19, 2016, 01:58:23 AM
Weapons attacks menu in BE was wrecked by the amount of attacks again  :)
It will never look like this outside of testing mode because it will be impossible to have so many, but it really complicates testing itself.

Oki... you can sort the skills before adding them, like if "ranged" in skill.attributes: ...

Or I can make the buttons really small. Gonna be traveling until tomorrow so it's have to wait.
Title: Re: General Discussion
Post by: DarkTl on September 19, 2016, 02:07:53 AM
I finished with weapons attacks for now, but the number of attacks will increase greatly after the beta.
Either we stop giving all existing attacks to MC and chars and test skills by equipping weapons (since all skills are tied to weapons), or there should be scrolling.
Title: Re: General Discussion
Post by: DarkTl on September 20, 2016, 03:04:58 AM
I found and pushed a damage effect for water. The idea is do nothing with sprite but show the bubbles webm over it. Pretty much like we do with on_fire damage effect, however there is no need to recolor or hide sprite itself because webm is transparent.
Sadly, we don't have such effects yet, so I don't have an example to make it work.
Title: Re: General Discussion
Post by: lamoli on September 23, 2016, 07:36:12 AM
Once again im short on free time..

So if its possible for you to fix the things that prevents me to play the game ( dev ) like grilsmeet ( you got nothing better to say ) then send back to title screen or other things like those there .. buildings ( at least 1 even the shack lol ) girls jobs/stats well mostly job related skills that are in the S tab.. not sure they work right.. so this way i could test the girlpacks im gonna make and wont have to worry about a difference between alpha and dev version..

If you can do those things when taking a break from BE ill focus my free time doing whats missing to make those packs
Title: Re: General Discussion
Post by: Xela on September 23, 2016, 10:26:22 AM
Once again im short on free time..

So if its possible for you to fix the things that prevents me to play the game ( dev ) like grilsmeet ( you got nothing better to say ) then send back to title screen or other things like those there .. buildings ( at least 1 even the shack lol ) girls jobs/stats well mostly job related skills that are in the S tab.. not sure they work right.. so this way i could test the girlpacks im gonna make and wont have to worry about a difference between alpha and dev version..

If you can do those things when taking a break from BE ill focus my free time doing whats missing to make those packs

Welcome back!

I need to know what does wrong for you, we're running separate testing files, that is why you are not getting any buildings. I can link you to my own file if you like. There will be an issue with next day if you include the FG business as I do but rest of the businesses should work. Girstmeets should just work with the dev version, I can't imagine why they would not. I've been busy for the whole week and gonna have free time for dev stuff only on Sunday.
Title: Re: General Discussion
Post by: DarkTl on September 23, 2016, 11:02:14 AM
I was pwned by work this week too -_-

Here's (https://www.dropbox.com/s/5uiox4ka1oisgu5/testing.rpy?dl=0) Xela's testing rpy. Without it the dev version might be unstable. With it there only could be CTDs in very old parts of the game. It goes to game/library.
Title: Re: General Discussion
Post by: lamoli on September 24, 2016, 10:34:11 AM
test files works fine.. but there is still the GM problem.. if i compliment clever 1 times its ok but if i do it again i get the  ( you already complimented her .... msg thats normal ) then she says something then it sends me back to title screen..

Ahh errors so still stuck there lol

at start of game ( related to test file it seems:

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 288, in script call
    call testing
  File "game/library/testing.rpy", line 8, in script
    python:
  File "game/library/testing.rpy", line 61, in <module>
    hero.add_char(new_random_girl)
  File "game/library/characters/classes - characters.rpy", line 1199, in __getattr__
    raise AttributeError(msg % (key, self.__class__.__name__))
AttributeError: 'add_char' is neither a gamestat nor an attribute of Player

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/script.rpy", line 288, in script call
    call testing
  File "game/library/testing.rpy", line 8, in script
    python:
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\ast.py", line 806, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\python.py", line 1577, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/library/testing.rpy", line 61, in <module>
    hero.add_char(new_random_girl)
  File "game/library/characters/classes - characters.rpy", line 1199, in __getattr__
    raise AttributeError(msg % (key, self.__class__.__name__))
AttributeError: 'add_char' is neither a gamestat nor an attribute of Player

Windows-7-6.1.7601-SP1
Ren'Py 6.99.10.1227
PyTFall 0.56 Step by Step...

Then after placing the girl in the test building and then i press action i get this:

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/character_profile.rpy", line 12, in script
    $ result = ui.interact()
  File "game/library/screens/character_profile.rpy", line 12, in <module>
    $ result = ui.interact()
  File "game/library/custom_screens.rpy", line 716, in execute
    screen set_action_dropdown(char, pos=()):
  File "game/library/custom_screens.rpy", line 716, in execute
    screen set_action_dropdown(char, pos=()):
  File "game/library/custom_screens.rpy", line 735, in execute
    frame:
  File "game/library/custom_screens.rpy", line 739, in execute
    vbox:
  File "game/library/custom_screens.rpy", line 740, in execute
    if isinstance(char.location, NewStyleUpgradableBuilding):
  File "game/library/custom_screens.rpy", line 742, in execute
    $ jobs = char.location.get_valid_jobs(char)
  File "game/library/custom_screens.rpy", line 742, in <module>
    $ jobs = char.location.get_valid_jobs(char)
  File "game/library/businesses&buildings/classes - core_buildings.rpy", line 658, in get_valid_jobs
    if job.is_valid_for(char):
AttributeError: 'str' object has no attribute 'is_valid_for'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/library/screens/character_profile.rpy", line 12, in script
    $ result = ui.interact()
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\ast.py", line 806, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\python.py", line 1577, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/library/screens/character_profile.rpy", line 12, in <module>
    $ result = ui.interact()
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\ui.py", line 277, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\core.py", line 2425, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\core.py", line 2693, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\core.py", line 396, in visit_all
    d.visit_all(callback)
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\core.py", line 396, in visit_all
    d.visit_all(callback)
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\core.py", line 396, in visit_all
    d.visit_all(callback)
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\screen.py", line 386, in visit_all
    callback(self)
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\core.py", line 2693, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\screen.py", line 396, in per_interact
    self.update()
  File "F:\Renpy\renpy-6.99.10-sdk\renpy\display\screen.py", line 565, in update
    self.screen.function(**self.scope)
  File "game/library/custom_screens.rpy", line 716, in execute
    screen set_action_dropdown(char, pos=()):
  File "game/library/custom_screens.rpy", line 716, in execute
    screen set_action_dropdown(char, pos=()):
  File "game/library/custom_screens.rpy", line 735, in execute
    frame:
  File "game/library/custom_screens.rpy", line 739, in execute
    vbox:
  File "game/library/custom_screens.rpy", line 740, in execute
    if isinstance(char.location, NewStyleUpgradableBuilding):
  File "game/library/custom_screens.rpy", line 742, in execute
    $ jobs = char.location.get_valid_jobs(char)
  File "game/library/custom_screens.rpy", line 742, in <module>
    $ jobs = char.location.get_valid_jobs(char)
  File "game/library/businesses&buildings/classes - core_buildings.rpy", line 658, in get_valid_jobs
    if job.is_valid_for(char):
AttributeError: 'str' object has no attribute 'is_valid_for'

Windows-7-6.1.7601-SP1
Ren'Py 6.99.10.1227
PyTFall 0.56 Step by Step...

Title: Re: General Discussion
Post by: DarkTl on September 24, 2016, 10:49:45 AM
Yeap, there was a small error in the code, just pushed the fix.
Title: Re: General Discussion
Post by: DarkTl on September 24, 2016, 11:07:23 AM
Do not copy lines that go after Full Traceback, they are not needed.

Other errors do not exist on my end. That means you should pull last changes from the repo, update your renpy to the last prerelease version (update channel in launcher preferences should be set to prerelease), and then force recompile the game (the option in renpy launcher).

You also need at least random character iirc. Random chars go to game\content\rchars\random\
Title: Re: General Discussion
Post by: lamoli on September 28, 2016, 01:42:14 AM
Whats strange is without the test file it was working fine did i miss something to along with it ?

Ok nm.. working now but interface is messed up in some places like slave market..( but its alright for what i need so far)

Meaning since you changed to git i never was able to pull an update and make it work i always need to erase and clone the whole thing lol

After first next day on player profile checking finance i get this error:(resumed)

  File "game/library/screens/mc_profile.rpy", line 833, in <module>
    taxes = hero.fin.get_total_taxes(days)
  File "game/library/characters/classes - characters.rpy", line 523, in get_total_taxes
    for girl in char.girls:
  File "game/library/characters/classes - characters.rpy", line 1197, in __getattr__
    raise AttributeError(msg % (key, self.__class__.__name__))
AttributeError: 'girls' is neither a gamestat nor an attribute of Player
Title: Re: General Discussion
Post by: DarkTl on September 28, 2016, 07:21:27 AM
Yeap, Xela created finance screen and slave market long time ago, before we even knew what kind of concept we want. And never updated since then because they should be updated after more important modules will be finished, and also because we never use them even for testing.

If git returns a specific error when you try to pull changes, post it here. Most likely you have wrong settings in Git extensions, assuming that you use it like we do.
Title: Re: General Discussion
Post by: Xela on September 28, 2016, 05:54:49 PM
Meaning since you changed to git i never was able to pull an update and make it work i always need to erase and clone the whole thing lol

Why? We can help you setting up software and add you to dev team if you also want to push code (anyone can pull from open repo).

=====>>>
Do you copy files to new folder? Deleting old stuff every time? Taxes should be disabled completely, it's odd that you get that error.
Title: Re: General Discussion
Post by: DarkTl on September 30, 2016, 05:12:57 AM
How to increase max value of a stat via code?
Title: Re: General Discussion
Post by: Xela on September 30, 2016, 12:45:21 PM
How to increase max value of a stat via code?

There is no method because it's almost always hardcoded so you need to access the dicts directly, something like:

Code: [Select]
char.stats.max["charisma"] += 100
char.stats.lvl_max["charisma"] += 100
Title: Re: General Discussion
Post by: cursed on October 01, 2016, 03:22:21 PM
Hi , is there a way to play the ver. under development using something like SVN ?
Title: Re: General Discussion
Post by: Xela on October 01, 2016, 07:49:23 PM
No, there is nothing that is setup as a coherent game at the moment.
Title: Re: General Discussion
Post by: DarkTl on October 02, 2016, 07:26:06 AM
An attempt to create a list of chars with specific tags
Quote
                choices = []
                for i in chars.values():
                    if i not in hero.chars and not i.arena_active and i.location in ["city", "girl_meets_quest"] and i not in gm.get_all_girls() and i.has_image(has_tags):
                        choices.append(i)
Quote
  File "game/library/screens/locations/swimming_pool.rpy", line 4, in script
    $ gm.enter_location(has_tags=["pool", "sfw"], curious_priority=False)
  File "game/library/screens/locations/swimming_pool.rpy", line 4, in <module>
    $ gm.enter_location(has_tags=["pool", "sfw"], curious_priority=False)
  File "game/library/interactions/classes - interactions (GM).rpy", line 347, in enter_location
    cell = GmCell(self.label_cache, **kwargs)
  File "game/library/interactions/classes - interactions (GM).rpy", line 42, in __init__
    if i not in hero.chars and not i.arena_active and i.location in ["city", "girl_meets_quest"] and i not in gm.get_all_girls() and i.has_image(has_tags):
  File "game/library/characters/classes - characters.rpy", line 3367, in has_image
    imgset = tagdb.get_imgset_with_all_tags(tags)
  File "game/library/classes - tags.rpy", line 115, in get_imgset_with_all_tags
    pathset = self.get_imgset_with_tag(tag)
  File "game/library/classes - tags.rpy", line 103, in get_imgset_with_tag
    imgpathset = self.tagmap[tag]
TypeError: unhashable type: 'RevertableList'
I dunno what to do at this point  ::)
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 10:56:59 AM
An attempt to create a list of chars with specific tagsI dunno what to do at this point  ::)

Unpack the tags instead of passing the list:

i.has_image(has_tags) ==> i.has_image(*has_tags)
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 11:05:01 AM
Quote
(before beta) An ability to freely add and remove available matrix areas (while outside of the matrix) depending on conditions, like flags. So if you don't need a certain area anymore you can hide it, and vice versa.

We will do this by passing a list of ids we wish to hide as we call the poly-matrix screen.

Quote
(optional, maybe after beta) an ability to add one or more areas with a preset size and form, but random coordinates. Will be useful for random stuff like finding items.

Does the shape actually matter? We can do this two ways:

1) We create a simple rectangular mouse area and randomly align it.

2) We allow polygons of any shape, you'll draw them at the center and specify offsets that will be applied to every point. This one is a lot harder due to how screens are coded in Ren'Py and I don't see any advantage as opposed to a rect?
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 11:32:44 AM
Post-Alpha of shooting range: https://www.youtube.com/watch?v=4wZhf3TQV6M&feature=youtu.be

Tis getting a bit better :)
Title: Re: General Discussion
Post by: DarkTl on October 02, 2016, 12:09:08 PM
Does the shape actually matter? We can do this two ways:

1) We create a simple rectangular mouse area and randomly align it.

2) We allow polygons of any shape, you'll draw them at the center and specify offsets that will be applied to every point. This one is a lot harder due to how screens are coded in Ren'Py and I don't see any advantage as opposed to a rect?
Only size matters. I'm going to use only simple rectangular areas for random matrix anyway, but it's hard to tell what is the best size without trying out.
Title: Re: General Discussion
Post by: DarkTl on October 02, 2016, 12:11:06 PM
Post-Alpha of shooting range: https://www.youtube.com/watch?v=4wZhf3TQV6M&feature=youtu.be (https://www.youtube.com/watch?v=4wZhf3TQV6M&feature=youtu.be)

Those gray wall textures are super depressing, but the animation is awesome  :)
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 12:11:54 PM
Only size matters. I'm going to use only simple rectangular areas for random matrix anyway, but it's hard to tell what is the best size without trying out.

Ok, I'll take the entire issue out today or tomorrow. 2) has been ready for weeks but I haven't pushed yet cause after updating just a few lines per day here and there, some stuff broke down in a  weird way that I need to trace to it's source.
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 12:15:27 PM
Those gray wall textures are super depressing, but the animation is awesome  :)

The whole game is very dark... it really, really goes badly with the "hentai" edge. But I didn't pick the setting, I am planning to insist on something much, much brighter and "breezier" for the next design, just got to get this one "out of the way" first.
Title: Re: General Discussion
Post by: DarkTl on October 02, 2016, 12:50:57 PM
Unpack the tags instead of passing the list:

i.has_image(has_tags) ==> i.has_image(*has_tags)
Nice, works great. It will help to pick better chars for specific locations such as swimming pool, where we definitely don't need those who don't even have pics with swimsuits.
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 01:17:30 PM
Nice, works great. It will help to pick better chars for specific locations such as swimming pool, where we definitely don't need those who don't even have pics with swimsuits.

So it's an expansion for gm module? Or global function of some sorts?
Title: Re: General Discussion
Post by: DarkTl on October 02, 2016, 02:14:42 PM
It's an update for the function which selects characters for locations during GMs. Even though the whole GM/interactions system will be rewritten after 1.0 according to an issue, it felt wrong to leave it without such an option.

I suppose it could hit performance when there are many chars to pick from, but I didn't noticed any changes in loading times after adding it to a new location.
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 03:33:44 PM
It's an update for the function which selects characters for locations during GMs. Even though the whole GM/interactions system will be rewritten after 1.0 according to an issue, it felt wrong to leave it without such an option.

I suppose it could hit performance when there are many chars to pick from, but I didn't noticed any changes in loading times after adding it to a new location.

I thought so. Not exactly "rewritten", it will be merged and made whole, code will also be cleaned up. Possibly right after beta release. I am planning to spend a couple of weeks just on the code review, future development might not be possible without that, codebase is getting far to large and it is organized poorly.
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 03:36:11 PM
New Nika btw, way prettier than the old Nika :D

(https://s18.postimg.org/e9c8hvw5x/14303922444580546990.jpg) (https://postimg.org/image/e9c8hvw5x/)
Title: Re: General Discussion
Post by: DarkTl on October 02, 2016, 03:59:26 PM
Is she a main character there?
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 04:10:48 PM
Yeap. Female MC is also not what I would have chosen but she's cute.
Title: Re: General Discussion
Post by: Xela on October 02, 2016, 10:41:52 PM
New status overlay is in for the be (like for poison skill)... isn't much but it's working. Gonna try to wrap out new defence buff skill soon, it'll go there as well.
Title: Re: General Discussion
Post by: TheGho7t on October 03, 2016, 02:45:41 AM
I might be stupid here so I'm sorry if that is the case but:

Is there any way I can PLAY the repository? I tried many times rearranging the files with the Alpha, I assume it's not playable unless I do some fancy thing I wasn't aware of.

Thanks and great job with the game all around!
Title: Re: General Discussion
Post by: Xela on October 03, 2016, 05:41:28 AM
Repo is not setup as a game so not really.
Title: Re: General Discussion
Post by: DarkTl on October 03, 2016, 08:21:30 AM
You use use top_stripe(True) to show the upper menu on screens. I wonder if there is a way to hide it when needed without hiding the whole screen.

We now have a minor skill, swimming, which will be used for water events  :)
In theory only MC should have it since it's useless for chars, but the game does not support different sets of skills.
Title: Re: General Discussion
Post by: Xela on October 03, 2016, 10:53:46 AM
You use use top_stripe(True) to show the upper menu on screens. I wonder if there is a way to hide it when needed without hiding the whole screen.

Pff... possibly. I'll have to cook up a function. We usually hide the strip when we want to prevent saving, you can also add parameter to the "master" screen and condition strip off it.
Title: Re: General Discussion
Post by: Xela on October 03, 2016, 10:21:39 PM
Oh man... finally wrapped up alpha version of the defence buff class. I've used "restore/heal" graphics for it and there could be bugs. Please add some appropriate gfx/sfx when you have time. We might also want to add a couple more of these skills, maybe for other stuff as well.

It's code is all over the place but it doesn't feel "messy" anymore... it turned out better/cleaner than I originally thought at any rate.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 01:15:04 AM
I know it's something we rejected in the past, but how about we make status/revive/restore types elements bound as well? It will make interface more consistent and will prolly feel ok...

Edit: I need to add extra checks for spells that move sprites on damage gfx, like tornado. It doesn't look good when the shield stays and sprite flies away... also status overlay icons should be locked into place and disappear when attack sequence starts. Gonna look into this later today.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 05:10:08 AM
Pff... possibly. I'll have to cook up a function. We usually hide the strip when we want to prevent saving, you can also add parameter to the "master" screen and condition strip off it.
In some cases it's possible to interrupt, and thus break forever, events by using the top menu at the wrong time. Naturally, it won't happen if you always switch to another screen when doing anything unusual (like I do now, after finding out about the issue).

I know it's something we rejected in the past, but how about we ma ke status/revive/restore types elements bound as well? It will make interface more consistent and will prolly feel ok...
That's almost how it's done in D&D games, they have so called positive energy which heals alive creatures.

Our healing already works like an element, with traits and immunities supported. It just has negative "damage" resulting in healing the target. Gui is pretty much the only thing that will change if there will be an official healing element, so why not.

Btw I wonder how hypothetical Healing Absorption trait will work, in theory it should decrease the target health during healing  :)
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 08:31:07 AM
We might also want to add a couple more of these skills, maybe for other stuff as well.
Based on available animations, there could be elemental based shields. At very least fire, ice and wind, possibly more.

That reminds me of some spells from D&D, where elemental shields absorb the corresponding elemental damage and also damage attackers in close combat with this element.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 09:20:08 AM
In some cases it's possible to interrupt, and thus break forever, events by using the top menu at the wrong time. Naturally, it won't happen if you always switch to another screen when doing anything unusual (like I do now, after finding out about the issue).

But why can't you just hide the overlay screen and show it without the top stripe??? I don't feel much like trying to access screens args and flipping the variable it is conditioned of.

That's almost how it's done in D&D games, they have so called positive energy which heals alive creatures.

Our healing already works like an element, with traits and immunities supported. It just has negative "damage" resulting in healing the target. Gui is pretty much the only thing that will change if there will be an official healing element, so why not.

Oki, I'll rewrite sorting mech. We might also introduce different types of healing, like Light/Water/Wind based or some stuff like that. Or maybe even "Life Drain" for Darkness.

Btw I wonder how hypothetical Healing Absorption trait will work, in theory it should decrease the target health during healing  :)

I think absorption is blocked there, but I am not sure.

Based on available animations, there could be elemental based shields. At very least fire, ice and wind, possibly more.

That reminds me of some spells from D&D, where elemental shields absorb the corresponding elemental damage and also damage attackers in close combat with this element.

Maybe... but prolly after Beta, we have enough on the plate as it is.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 11:00:00 AM
Oki, I'll rewrite sorting mech. We might also introduce different types of healing, like Light/Water/Wind based or some stuff like that. Or maybe even "Life Drain" for Darkness.

It's prolly done. Poison Rune appears under ME spells because there is no good way of sorting it out, that scenario should not be possible under normal gameplay because it will always be sent to attack skills if it is weapon bound.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 11:13:42 AM
At the swimming pool location I switch between screens via
Quote
    use location_actions("swimming_pool")
    $ img_swim_pool = ProportionalScale("content/gfx/interface/icons/sp_swimming.png", 90, 90)
    imagebutton:
        pos(290, 510)
        idle (img_swim_pool)
        hover (im.MatrixColor(img_swim_pool, im.matrix.brightness(0.15)))
        action [Hide("swimming_pool"), Show("swimmong_pool_swim")]
...
            button:
                xysize (240, 40)
                yalign 0.5
                action [Hide("swimmong_pool_swim"), Show("swimming_pool")]
                text "Leave" size 15
It however works without dissolve, so doesn't work very good. It there a way to include dissolve?
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 11:20:29 AM
At the swimming pool location I switch between screens viaIt however works without dissolve, so doesn't work very good. It there a way to include dissolve?

Code: [Select]
action [Hide("swimming_pool"), Show("swimmong_pool_swim"), With(dissolve)]
Same when hiding. Possibly a better option is to ATL the screen itself if it's unique, like adding:

Code: [Select]
at fade_in_out(t1=0.6, t2=0.3)
To the screen, I like the ATL thing better than dissolve transition but it's a matter of personal preference. Also there seems to be a background missing cause I get errors in the pool.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 11:28:09 AM
But why can't you just hide the overlay screen and show it without the top stripe??? I don't feel much like trying to access screens args and flipping the variable it is conditioned of.
I thought it's a simple thing, since renpy was developed for screens manipulations  :D
Naturally, we can live without it just fine.

Oki, I'll rewrite sorting mech. We might also introduce different types of healing, like Light/Water/Wind based or some stuff like that. Or maybe even "Life Drain" for Darkness.
It's hard to imagine the logic of tying healing to different elements. I mean, we could use different types of healing, like insta heal, regeneration over time, life drain, converting mp/vitality to health, etc.
And then give them name related to other elements, like Healing Wind.

But actually tie the said Healing Wind to wind element? How?
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 11:36:53 AM
But actually tie the said Healing Wind to wind element? How?

Expand calculations, if caster is a wind mage, healing spell is stronger!

I am worried about spell/skill imbalances... And Buff is now "fixed", feels like there should be a "caster" bonus in it. We'll have to set some time aside to balance everything in terms of cost and power and menupos before release.

We'll also prolly need more flags with skills, those will be needed for writing algorithms when building NPC warriors of all sorts. Same prolly for items but we have a lot of flags there so it might be ok.

I think that overlay screen is not also fixed, gonna test and push if all is well.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 11:41:18 AM
Yeah! Looks great :)

Last two things for tonight are taking down your matrix issue and making sure shield is not shown for skills that intensely f*ck with sprites, I think that we only have Tornado like that at the moment.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 11:47:29 AM
And something is to be said about finding icons for all elements and delivery types... images that we use completely outshine unicode that we use.

I thought it's a simple thing, since renpy was developed for screens manipulations  :D
Naturally, we can live without it just fine.

But it is a simple thing, you just hide the screen and show it again providing different params. You can even stuff that into a func. It's a bit messy to access screens namespace as you suggest.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 11:55:34 AM
Also there seems to be a background missing cause I get errors in the pool.
I just fixed a narrator line available only for swimming =>100 which caused crashes, but other than that, everything is stable in the pool. I suppose force recompile is needed.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 12:05:01 PM
Oki, I'll check again + I didn't have your last push.

Is there a scenario when you might want the random area inside of the polymatrix screen? Or just outside of it?
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 12:08:58 PM
Excuse me? How is it possible to have a matrix area, no matter if random or not, outside of the matrix screen?
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 12:11:44 PM
everything is stable in the pool. I suppose force recompile is needed.

Code: [Select]
label swimming_pool:
    ...
    scene bg pool_inside

I've mentioned this before a couple of times, game expects image to be named after the label or this default behavior to be overridden when calling interactions. Girlsmeets are f*cked, so that was the error... renaming the image is prolly simpler.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 12:15:52 PM
Excuse me? How is it possible to have a matrix area, no matter if random or not, outside of the matrix screen?

I've just coded it as a separate screen... you basically provide a name and a size for the rect as screen arguments. But you obviously also want to in the matrix for I'll throw it in there as well. There is no point to add this random element into the JSON file, it should be handled in script.

It may also require a function so the area doesn't "jump" around... which reminds me, do we want this area to jump around every time screen is activated or should it's position be randomized just once?
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 12:27:21 PM
re a couple of times, game expects image to be named after the label or this default behavior to be overridden when calling interactions. Girlsmeets are f*cked, so that was the error... renaming the image is prolly simpler.
This limitation will bite us in the future if we'll have multiple bgs for the very same location depending on the time (morning/day/evening/night).

I've just coded it as a separate screen... you basically provide a name and a size for the rect as screen arguments. But you obviously also want to in the matrix for I'll throw it in there as well. There is no point to add this random element into the JSON file, it should be handled in script.
Ohhkey, as long as it works just like a normal matrix but with one or more randomly placed areas, it's fine by me.
I don't need it for a normal matrix.

It may also require a function so the area doesn't "jump" around... which reminds me, do we want this area to jump around every time screen is activated or should it's position be randomized just once?
Well... I want to use it to randomly hide items and events. It means that after you found an item or an event, the area should no longer be there at least until the next day.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 12:30:01 PM
It may also require a function so the area doesn't "jump" around... which reminds me, do we want this area to jump around every time screen is activated or should it's position be randomized just once?
Ideally, it should be under control. When we need to randomize random matrix anew, we do so. When we don't, we don't.

If it's too much trouble, it should be randomized every time you enter it.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 12:48:56 PM
This limitation will bite us in the future if we'll have multiple bgs for the very same location depending on the time (morning/day/evening/night).

It's totally wrong to call this a "limitation" in any sense of form. As I've said, you can specify background when you call the GM, it's a major convenience... not a limitation. Not mentioning that if in some ridiculously improbable scenario where we add times of day, we will prolly still use generalizations like this by adding appendixes to image names and using color masks if there are none (once again, with a possibility to specify exceptions).

Ohhkey, as long as it works just like a normal matrix but with one or more randomly placed areas, it's fine by me.
I don't need it for a normal matrix.

Oki, then it's prolly done, just untested.

Well... I want to use it to randomly hide items and events. It means that after you found an item or an event, the area should no longer be there at least until the next day.

Ideally, it should be under control. When we need to randomize random matrix anew, we do so. When we don't, we don't.

You prolly want to condition this yourself... I am going to leave as much freedom as possible and recode the screen to take more args just so positions could be randomized outside of it.

Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 01:02:15 PM
It's totally wrong to call this a "limitation" in any sense of form. As I've said, you can specify background when you call the GM, it's a major convenience...
I feel like storing the current background in a variable, like gm.label_cache does for labels, and use it for GMs is a better solution.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 01:08:13 PM
I feel like storing the current background in a variable, like gm.label_cache does for labels, and use it for GMs is a better solution.

That's what I am saying... it IS!

Code: [Select]
self.bg_cache
is the field. When you start gm:

Code: [Select]
def start(self, mode, girl, img=None, exit=None, bg=None):
You can specify background. If you do NOT:

Code: [Select]
            elif bg is not None:
                self.bg_cache = "bg " + bg

which is an error left by Thewlis I think, it should just be:

Code: [Select]
self.bg_cache = bg
But I don't think we ever used it so it's prolly not debugged or debugged to work with the error.
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 01:41:21 PM
Oki, pushed another update, it should ensure that shield is not shown for "fly_away" damage type, effects will still be applied! Gonna hack BabeRunner for a while.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 01:59:00 PM
I've mentioned this before a couple of times, game expects image to be named after the label or this default behavior to be overridden when calling interactions. Girlsmeets are f*cked, so that was the error... renaming the image is prolly simpler.
Right, so why is this expected? The game basically uses gm.label_cache as self.bg_cache instead of having independent gm.bg_cache which is not tied to labels. Is it impossible to do?
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 02:10:44 PM
Right, so why is this expected? The game basically uses gm.label_cache as self.bg_cache instead of having independent gm.bg_cache which is not tied to labels. Is it impossible to do?

... lol?

I don't know how many more ways are left there to say it :D

They are independent if you want them to be:

Code: [Select]
label swimming_pool:
    ...
    while 1:
        $ result = ui.interact()
       
        if result[0] == 'jump':
            $ gm.start_gm(result[1], bg="pool_inside_background_image")

and you have it your way. But there is no reason to do this... because the other way is automatic and is used almost everywhere else.
Title: Re: General Discussion
Post by: DarkTl on October 04, 2016, 02:17:12 PM
I mean, when we write scene bg swimming_pool, can't it be automatically saved in a variable and used by GMs or any other system?
Title: Re: General Discussion
Post by: Xela on October 04, 2016, 02:33:33 PM
I mean, when we write scene bg swimming_pool, can't it be automatically saved in a variable and used by GMs or any other system?

Sure... but why? You can rebind the tag:

Code: [Select]
image bg swimming_pool = ...webm background with waves?
Backgrounds are bound automatically at init -999 but you can overwrite them at later inits. The example default to init 0. GM will pick it up using the usual mech described above (bg + label_name).
Title: Re: General Discussion
Post by: DarkTl on October 05, 2016, 01:46:34 AM
I am worried about spell/skill imbalances... And Buff is now "fixed", feels like there should be a "caster" bonus in it. We'll have to set some time aside to balance everything in terms of cost and power and menupos before release.

We'll also prolly need more flags with skills, those will be needed for writing algorithms when building NPC warriors of all sorts. Same prolly for items but we have a lot of flags there so it might be ok.
I suppose the buffs defence_multiplie could be min(caster.magic*0.01, 0. 8) .

If you try spells/skills vs characters of high levels, for example vs Nami after BE testing mode upgraded her, they won't look overpowered, even the strongest ones.

Skills are tied to weapons, we could just equip a weapon when we build warriors.
Title: Re: General Discussion
Post by: DarkTl on October 06, 2016, 11:42:22 AM
I wonder why in the dev mode MC doesn't have specific items types, like those with "slot": "loot". Even though it's done via
Quote
            for i in items.values():
                h.inventory.append(i, 5)
                hero.inventory.append(i, 5)
They don't count as items or something? I kinda need them for testing.
Title: Re: General Discussion
Post by: Xela on October 06, 2016, 06:45:10 PM
I wonder why in the dev mode MC doesn't have specific items types, like those with "slot": "loot". Even though it's done via They don't count as items or something? I kinda need them for testing.

Really? I'd expect them to be there... maybe we're filtering them out in the inventory screen itself?
Title: Re: General Discussion
Post by: DarkTl on October 07, 2016, 03:40:07 AM
Oh boy...
Quote
            if last_label in ("items_transfer"):
                self.FILTERS = self.GEQ_FILTERS
            else:
                self.FILTERS = self.ALL_FILTERS + ["resources"] # TODO: Fix this to a more sound design.
This is a very bad design with little to no control over items filters. We need a high degree of control over inventory categories because we have more categories than space in gui.
Title: Re: General Discussion
Post by: Xela on October 07, 2016, 05:16:35 AM
Oh boy...This is a very bad design with little to no control over items filters. We need a high degree of control over inventory categories because we have more categories than space in gui.

Suggestions? I think that we talked about not showing filters for which char doesn't have items for at all. And combining some items types into single filters... otherwise we'd have to mess with GUI. Better would be to disable filter buttons by greying them out but that wouldn't save us any GUI space.

I've been messing with BR a lot, gonna wrap up some stuff there and put some time into PyTFall tonight/tomorrow.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2016, 05:40:07 AM
I think that we talked about not showing filters for which char doesn't have items for at all.
It's for shops only, where unnecessary, unused filters look messy. If cafe doesn't buy or sell anything but consumables, then showing there filters for anything but consumables is 100% pointless and also possibly confusing for some players.

And combining some items types into single filters...
Yup, we need filters to show more than one slot when needed. Even your resources items should be in some specific category, probably together with loot items, instead of being visible in ALL filter only.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2016, 07:29:02 AM
And something is to be said about finding icons for all elements and delivery types... images that we use completely outshine unicode that we use.
Done  :)
Title: Re: General Discussion
Post by: Xela on October 07, 2016, 08:10:14 AM
Done  :)

Awesome!

While messing with BR, I may have figured out how to get our inherit from ADVCharacter directly... not 100% certain yet but we may be able to do stuff like:

Code: [Select]
hero "Hello"
$ hero.health += 10

and

Code: [Select]
nami "Hello"
$ nami.health += 10
$ nami.mood_override() # Or whatever it's called...

Right now you gotta type nami.say "Hello" which is a bit inconvenient.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2016, 09:45:41 AM
I was under impression that it's unsafe to write stuff like $ hero.health += 10, and one should use $ hero.mod("health", 10) to check if health is less than all maxes before applying.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2016, 10:45:36 AM
While messing with BR, I may have figured out how to get our inherit from ADVCharacter directly...
Funny, I don't see BR on github anymore. It was there just a few days ago.
Title: Re: General Discussion
Post by: Xela on October 07, 2016, 12:17:10 PM
I was under impression that it's unsafe to write stuff like $ hero.health += 10, and one should use $ hero.mod("health", 10) to check if health is less than all maxes before applying.

No, it's perfectly safe, our character class will redirect it accordingly.

Funny, I don't see BR on github anymore. It was there just a few days ago.

The idea for the repo was to be private, it was for a while and TW was paying for it. We decided to switch to BitBucket which allows private repositories for free. I can add you there if you have an account with them. I just added killer class that inherits from three parent classes so you can do stuff like:

Code: [Select]
$ nika.stat += 10
$ nika.expr("face_expression")
$ nika.set_flag("fucked_the_capitain")
nika "Hi, I am Nika!"

which will really simplify the development in the future. I must be getting better at this sh!t cause I couldn't figure out how to do this in three prior attempts (one in PyTFall included) :) Prolly the most convenient way imaginable to dev the game!

I've also put my PyTFall's experience with image tags to good use :D The doll with all the clothing and all the expression is constructed fully automatically from files names and with "exceptions" through JSON file. It's possible to test new shit that was added almost "on the fly" using a special screen and use Ren'Py to recolor any set of clothing (although we're not planning to do that as precolored options that are bound to items are used, could become a thing in the future).

They made a mess of locations, flags and wrote some classes that might have worked in pure python but are not renpy safe, I need to clear that sh!t before story can be developed...
Title: Re: General Discussion
Post by: DarkTl on October 07, 2016, 12:41:26 PM
Fix BE menu for weapon attacks when you'll have time. I believe scrolling of some kind is the only solution, since we'll have more and more attacks in the dev mode.
Title: Re: General Discussion
Post by: Xela on October 07, 2016, 12:44:21 PM
Fix BE menu for weapon attacks when you'll have time. I believe scrolling of some kind is the only solution, since we'll have more and more attacks in the dev mode.

Oki, I'll add a viewport there right now.
Title: Re: General Discussion
Post by: Xela on October 07, 2016, 01:10:45 PM
Oki, I'll add a viewport there right now.

Done, we'll need to come up with proper names at some point, for once, you enter a menu called "attacks" and almost every options ends with "Attack"... it's about the same as adding "Spell" after every magical skill. Also some of the names are too long, menu names should be used to create abbreviations of some kinds.
Title: Re: General Discussion
Post by: DarkTl on October 08, 2016, 05:19:31 AM
There is a free game on steam, Crush Crush. They have a few curious ideas.

- Characters have many statuses depending on disposition level, from Adversary to Lover. They don't really do much, but it looks neat in their profiles.
- MC can spend time on various hobbies and gain hobbies levels from it. They don't do much, but certain characters like certain hobbies.
- Gifts are separated by types like books, flowers, candies, etc. And characters like not specific gifts, but specific types of gifts.
Title: Re: General Discussion
Post by: Xela on October 08, 2016, 05:48:26 AM
Not bad, but this will overload players brain in pytfall :)
Title: Re: General Discussion
Post by: DarkTl on October 08, 2016, 07:55:33 AM
Gifts types make gifting simpler. Once you know what the character likes, you don't need to guess what to buy.
Title: Re: General Discussion
Post by: DarkTl on October 08, 2016, 01:49:33 PM
Wait a sec...

First of all, after
Quote
call screen hidden_area(areas={...})
_result variable does not exist, unlike normal matrix. So I pretty much cannot know what the screen returns.

Secondly, I changed buttons alpha to 1.0 to test how matrix works. And with
Quote
call screen hidden_area(areas={"fish_0": ((100, 100), (.1, .5)), "fish_1": ((100, 100), (.1, .5)), "fish_2": ((100, 100), (.1, .5)), "fish_3": ((100, 100), (.1, .5)), "fish_4": ((100, 100), (.1, .5)), "fish_5": ((100, 100), (.1, .5)), "fish_6": ((100, 100), (.1, .5)), "fish_7": ((100, 100), (.1, .5)), "fish_8": ((100, 100), (.1, .5)), "fish_9": ((100, 100), (.1, .5))})
all ten areas are located in top left corner, with zero randomness.

The random matrix is not operational  ::)
Title: Re: General Discussion
Post by: Xela on October 08, 2016, 08:45:07 PM
:(

I'll check it out tomorrow evening (gonna be traveling in morning/afternoon). Push your testcases so I can take a look.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2016, 08:09:12 AM
I dunno why _return doesn't work. But I don't really see any attempts to randomly place hidden buttons, so the lack of randomness is not surprising.
Title: Re: General Discussion
Post by: Xela on October 09, 2016, 08:25:56 AM
I am pulling your testcase off the server right now.
Title: Re: General Discussion
Post by: Xela on October 09, 2016, 08:51:27 AM
I dunno why _return doesn't work. But I don't really see any attempts to randomly place hidden buttons, so the lack of randomness is not surprising.

... ok, so: # Data is randomized outside of this screen!

Means that you have to randomize it outside of the screen. That's the freedom we talked about, I'll adjust the code accordingly.

I thing _return works but you've called it _result in your code.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2016, 09:18:42 AM
I thing _return works but you've called it _result in your code.
Yeap, notepad+ autocorrect  :)

Quote
        # Expects a dict, like: {"hidden_cache_1": ((100, 100), (.1, .5)), "hidden_cache_2": ((50, 50), (.54, .10)), } If cache is found, screen (which should be called) will return: "hidden_cache_1" string. Tuple is the size in pixels.
I don't see a word about coordinates. Only about size. How am I supposed to randomize them?
Title: Re: General Discussion
Post by: Xela on October 09, 2016, 09:21:22 AM
I don't see a word about coordinates. Only about size. How am I supposed to randomize them?

We don't do coordinates there, it's alignments. I've just pushed a working version of the code, fish is sometimes really difficult to find :D

It should be pretty easy to get them to move around randomly without leaving the screen, I'll look into that as well tonight.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2016, 11:44:53 AM
Ok, assuming that all code at the beach screen is correct:
Quote
            fish_list = []
            fish = list(i for i in items.values() if i.slot == "loot" and "Fishing" in i.locations and i.price <= hero.get_skill("fishing")) # Get a list of fishing items player is skilled enough to fish out! We should prolly add some normal items here as well.
            # Also maybe one super, buper item at very low chance of catching :D
            while len(fish_list) < 9:
                fish_list.append(random.choice(fish))
fish list contains all fishable items. Then we randomly pick 8 items from the list and create fish_list from them. This way there won't be all existing items at the same time, and also there will be a chance to have multiple copies of the same item on the screen.

Quote
                for i in fish_list:
                    temp= ((100, 100), (random.random(), random.random()))
                item = renpy.call_screen("fishing_area", temp)
                hero.add_item(item)
                hero.say("I caught %s!" % item.id)
Then we give every element random alignment and send them to the hidden matrix screen. And see one single webm there instead of 8.

Did you coded it to show only one area, by any chance? Because that's not how normal matrix works, it supports as many areas as you need at the same time.

I tested it with static picture to make sure it's not a webm related problem, the result is the same.
Title: Re: General Discussion
Post by: DarkTl on October 09, 2016, 12:42:47 PM
I tested the hidden_area screen a bit using fishing code.

By default it shows zero areas for some reason. I used 500x500 buttons, impossible to miss even if it shows just one instead of 8.
Then I changed buttons alpha from .0001 to .01 and it started to show one button in the top left corner, without any randomness.

If I have to guess, 0001 alpha is too small for renpy to work with. Dunno why .01 works like that though.
Title: Re: General Discussion
Post by: Xela on October 09, 2016, 01:51:41 PM
I'll make it work tonight, maybe add some movement as well.
Title: Re: General Discussion
Post by: Xela on October 09, 2016, 05:11:53 PM
I am a bit surprised that so many webs just run on the same channel this well but it seems to be working now.
Title: Re: General Discussion
Post by: Xela on October 09, 2016, 05:52:59 PM
http://www.netanimations.net/water_waves_ocean_ripple_high_quality_animated_gif.gif

Maybe we should use some animation like this :D

Going to clean up our Events/Quests module tomorrow and port it to BR. Later I'll clear something off pytfall's todo list unless you have something of high priority in mind/
Title: Re: General Discussion
Post by: DarkTl on October 10, 2016, 04:19:52 AM
Lol, those moving webms look awesome  :D

I'm only concerned about hidden_area screen which will be needed for the city, without visible buttons. One thing is to show one area instead of eight, and another is
 
I tested the hidden_area screen a bit using fishing code.

By default it shows zero areas for some reason. I used 500x500 buttons, impossible to miss even if it shows just one instead of 8.
Then I changed buttons alpha from .0001 to .01 and it started to show one button in the top left corner, without any randomness.

If I have to guess, 0001 alpha is too small for renpy to work with. Dunno why .01 works like that though.
even though fishing screen at least showed one area randomly with the same code.
Title: Re: General Discussion
Post by: Xela on October 10, 2016, 04:33:20 AM
I'll take a look at that tonight, we'll get it to work in the end :D

But city... it will be weird because random position in the water is fine but city is very different, unless you're looking for a bird or something.
Title: Re: General Discussion
Post by: DarkTl on October 10, 2016, 04:57:21 AM
It depends on the background.
Title: Re: General Discussion
Post by: DarkTl on October 10, 2016, 05:14:26 AM
http://www.netanimations.net/water_waves_ocean_ripple_high_quality_animated_gif.gif (http://www.netanimations.net/water_waves_ocean_ripple_high_quality_animated_gif.gif)

Maybe we should use some animation like this :D
I found very good (http://www.3dxo.com/textures/animated) animated water textures. However, we probably will need a custom class for them. I'm talking about a list of 250 jpg images, 256x256 each. So in order to show it full screen we need to multiply them to cover the whole area. Doing it manually for all 250 images is a very bad scenario.
Title: Re: General Discussion
Post by: Xela on October 10, 2016, 05:27:15 AM
Are they? Animated I mean? We do not have a working OpenGL shared in Ren'Py that would reliably work on all or even most PCs...

NM, I've downloaded one. We have a class, we even have a system to load stuff like this automatically... you should know it by now :) I'll add one later.
Title: Re: General Discussion
Post by: DarkTl on October 10, 2016, 05:31:13 AM
You download there an archive with 250 jpgs which become an animation after
Quote
    image water:
        "water1.jpg"
        pause 0.1
...
        "water250.jpg"
We never tried to multiply animations before though, as far as I know.
Title: Re: General Discussion
Post by: Xela on October 10, 2016, 08:29:32 AM
Thats not it. We have auto animations folder, you don't even need to declare the image. I'm on android atm, gonna do that when i get back.
Title: Re: General Discussion
Post by: DarkTl on October 10, 2016, 10:07:40 AM
I remember about it. My point is we never tried to use small animations as tiles to make one big fullscreen animation. Is it even possible with renpy with acceptable performance?
Title: Re: General Discussion
Post by: DarkTl on October 10, 2016, 10:46:51 AM
Remind be how to hide characters sprites by HitlerKaputting them, it's been a while since I used it  :)
Title: Re: General Discussion
Post by: Xela on October 10, 2016, 02:38:25 PM
I remember about it. My point is we never tried to use small animations as tiles to make one big fullscreen animation. Is it even possible with renpy with acceptable performance?

I recon the idea is to resize the animation, not to tile it. Although both are perfectly possible and should run well. I've added two options, first one seems a little bit better but I am not crazy about either one. Seems like there is a ramp missing, like in breeding season :D Something for MC to stand on.

Any "jumps" you see in the animation are due to lack of prediction and will work great the second time you load it. Adding better image prediction is on the todo list.

Remind be how to hide characters sprites by HitlerKaputting them, it's been a while since I used it  :)

I imagine you just show them as:

Code: [Select]
show expression HitlerKaputt(displayable, crops) as meow
pause 1.5
hide meow

With the displayable being anything you can show in Ren'Py and crops the amount of crops you want to have the image split into (10 makes 100 pieces I think). It's been a while since I used it as well :)
Title: Re: General Discussion
Post by: DarkTl on October 10, 2016, 03:54:43 PM
I've yet to see a non vector picture which look good after resizing from 265 to 1280. That's why I mentioned possible custom class, to create one big animation from small ones by showing them next to each other.
Title: Re: General Discussion
Post by: Xela on October 10, 2016, 07:04:27 PM
There was something that did that by default... I'll look into it.
Title: Re: General Discussion
Post by: Xela on October 10, 2016, 08:31:17 PM
Done, tis tiled now!

I tried to precompile conditions for the events/quests system to make code look "cooler" and get it to run faster (which we did not really need) but it completely broke saving so it was a major fail :( Saving is back now anyway.

==>>
Back to sleep, that damned saving error kept nagging me deep inside :D
Title: Re: General Discussion
Post by: DarkTl on October 11, 2016, 03:25:35 AM
Sadly, circles webm doesn't look good when zoomed a lot, I replaced it with bubbles webm.

I have another similar minigame in mind. We show a few fast moving webms just like at the fish screen, preferably with more complex trajectories, but you can see them only in a small area around the cursor, like a radar with 100-200 pixels radius  :)
The circles webm probably will look good as the cursor image there.

But it's for the future. Right now we need the ability to freely disable and enable any areas in normal matrix when needed.
Title: Re: General Discussion
Post by: Xela on October 11, 2016, 09:35:10 AM
But it's for the future. Right now we need the ability to freely disable and enable any areas in normal matrix when needed.

I've added that functionality, you should be able to add areas to hidden property of the polymatrix screen. With that you should have full control.
Title: Re: General Discussion
Post by: Xela on October 11, 2016, 09:38:01 AM
Sadly, circles webm doesn't look good when zoomed a lot, I replaced it with bubbles webm.

I have another similar minigame in mind. We show a few fast moving webms just like at the fish screen, preferably with more complex trajectories, but you can see them only in a small area around the cursor, like a radar with 100-200 pixels radius  :)
The circles webm probably will look good as the cursor image there.

Maybe zooming to different sizes/shapes... there was a project that allowed to precode complex trajectories by clicking on the screen and storing that data. We'll check it out when we get to it.
Title: Re: General Discussion
Post by: DarkTl on October 11, 2016, 09:50:35 AM
I wonder if it's possible/wise to make a webm instead of 250 pictures to use as tiles. No need for image prediction, less size.
Title: Re: General Discussion
Post by: Xela on October 11, 2016, 10:57:29 AM
I wonder if it's possible/wise to make a webm instead of 250 pictures to use as tiles. No need for image prediction, less size.

We could try... I am still not completely clear on when webms running the same audio channel work and when they not. Working theory is that if you start webms at the same time and repeat them at the same time, they run well so it should be perfectly possible.
Title: Re: General Discussion
Post by: DarkTl on October 11, 2016, 11:12:34 AM
Well,
Quote
add Frame("water_texture", tile=True, xysize=(1280, 720))
where
Quote
image water_texture = Movie(channel="main_gfx_bow", play="content/gfx/animations/water_texture_webm/movie.webm")
does nothing, it's basically invisible  :D

I pushed it, maybe you could do something.
Title: Re: General Discussion
Post by: Xela on October 11, 2016, 11:51:56 AM
I pushed it, maybe you could do something.

I'll take a stab at it...

Man... I am so FUCKING tired of these shitty, fucked and dumb saving/loading issues. Loading doesn't work due to an "impossible" bullshit issue again.
Title: Re: General Discussion
Post by: Xela on October 11, 2016, 12:04:19 PM
Webm thing is fixed. I'll consider myself really, really lucky if I track down the fucking saving/loading issue by the day after tomorrow...
Title: Re: General Discussion
Post by: DarkTl on October 11, 2016, 01:42:56 PM
Nice. Perhaps we should reset the repo after releasing beta to get rid of useless archived resources.

Fishing is more or less ready. You can only catch items with price <= fishing skill, that includes some pretty rare stuff. But if player has 6000 fishing skill without cheating, he deserves a chance to catch Excalibur  :)
Title: Re: General Discussion
Post by: Xela on October 11, 2016, 02:08:22 PM
:)

We could. I am gonna keep looking into wtf is wrong with the loading/saving system, I've tested it like 100 time since SmartTracker was added and now it bitches it's not coded properly...
Title: Re: General Discussion
Post by: Xela on October 11, 2016, 09:16:35 PM
I've completely rewrote the container we're using for traits and skills so watch out for new errors here and there, it's a big change and I doubt that I've fished out all the errors. Saving system is working again...
Title: Re: General Discussion
Post by: DarkTl on October 12, 2016, 06:00:05 AM
I usually keep sound disabled unless it needs testing. And sometimes, when I launch the game, start a new game and from the initial brothel screen immediately go to the settings menu and click one of the volume bars to increase the volume, renpy crashes with no error. It happens very rarely, like once per 1-2 months. I cannot even reproduce it, it just happens. But it could happen at least on two different devices.

Today I got this shit again and checked all logs. There is nothing in game and renpy logs. But there are traces in windows logs:
Quote
Faulting application name: pythonw.exe
Faulting module name: renpysound.pyd
Exception code: 0xc0000005
Fault offset: 0x0000c851
Faulting process id: 0x2fa0
Faulting application start time: 0x01d2246bb5fc1827
Faulting application path: C:\Pytfall\RenPy\lib\windows-i686\pythonw.exe
Faulting module path: C:\Pytfall\RenPy\lib\windows-i686\lib\renpy\audio\renpysound.pyd
Title: Re: General Discussion
Post by: Xela on October 12, 2016, 06:26:49 AM
I've never seen this error before, prolly some weird OS/Drivers thing. We are not doing anything weird to sound/music... that saving issue I talked about was due to a poor coding practice that seemed to be working well and looked really cool (in code) but, just as guys at stackoverflow warned in their posts/explanations, was a bad and dangerous idea that failed eventually :(

Stuff like these saving errors is really annoying because it's really, really hard to track down. I got pretty good at it few years back though, after backtracking the whole code base, figure out renpy savedumps and reading into pickle modules, so it went quicker this time around :)
Title: Re: General Discussion
Post by: DarkTl on October 12, 2016, 06:51:40 AM
Yeah, I bet not many people disable/enable sound in renpy dozens times every day to get this error once in a few months  :)

c0000005 is memory access violation, I suppose sometimes sound module doesn't load into ram properly if all sound is disabled.
Title: Re: General Discussion
Post by: Xela on October 12, 2016, 07:04:54 AM
Maybe... sound controls got a lot better after Ren'Py moved to SDL2 or at least about the same time... I haven't heard that many complains since then.
Title: Re: General Discussion
Post by: Xela on October 12, 2016, 07:12:01 AM
BTW, did you try to hide stuff in polymatrix? Do you have a testing case I can access if it has issues?
Title: Re: General Discussion
Post by: DarkTl on October 12, 2016, 07:13:20 AM
No, not yet. I'll try it a bit later.

Do you think it's a wise idea to create dozens non interactable random chars only to make them fight at arena? We have many good npcs sprites in dropbox instead.
Title: Re: General Discussion
Post by: DarkTl on October 12, 2016, 07:23:25 AM
Actually, I added a testing case really quick. Now in the village you cannot see the ninja shop icons until you find the shop in matrix mode, and after you did it and the icon became visible, you cannot enter it via matrix any longer. Works as intended.
Title: Re: General Discussion
Post by: Xela on October 12, 2016, 07:24:08 AM
Do you think it's a wise idea to create dozens non interactable random chars only to make them fight at arena? We have many good npcs sprites in dropbox instead.

Nor sure... it's in plans to allow normal characters that fight there to parttake in game world and interactions outside of the Arena as well but Arena Characters were meant to be simpler.
Title: Re: General Discussion
Post by: DarkTl on October 12, 2016, 12:43:24 PM
 
Quote
File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 81, in script call
    call next_day_calculations
  File "game/library/screens/next_day.rpy", line 142, in script
    $ building.run_nd()
  File "game/library/screens/next_day.rpy", line 142, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core_buildings.rpy", line 595, in run_nd
    self.env.run(until=100)
Exception: (ZeroDivisionError('float division by zero',), ZeroDivisionError('float division by zero',))
After 5-6 days.

Quote
  File "game/library/screens/next_day.rpy", line 81, in script call
    call next_day_calculations
  File "game/library/screens/next_day.rpy", line 142, in script
    $ building.run_nd()
  File "game/library/screens/next_day.rpy", line 142, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core_buildings.rpy", line 595, in run_nd
    self.env.run(until=100)
Exception: (ZeroDivisionError('float division by zero',), ZeroDivisionError('float division by zero',))
Next attempt, already on second day.

These errors prevent timed events testing completely  :(
Title: Re: General Discussion
Post by: Xela on October 12, 2016, 02:07:45 PM
Just get rid of all businesses in testing file...
Title: Re: General Discussion
Post by: DarkTl on October 13, 2016, 10:30:20 AM
When I ripped some bgs from another renpy-steam game, Just Deserts, I noticed a curious anticheating solution. They don't just disable config.developer, they also intercept special combinations like shift+O and make them do nothing  :)
Title: Re: General Discussion
Post by: Xela on October 13, 2016, 10:38:49 AM
I don't believe that Shift+O does anything without dev mode, at least it used to do nothing.
Title: Re: General Discussion
Post by: DarkTl on October 13, 2016, 10:40:39 AM
Anyone can enable dev mode. But not anyone can change the code to stop interception.
Title: Re: General Discussion
Post by: Xela on October 13, 2016, 10:43:48 AM
I don't really care to act in spirit of preventing cheating. There is a lot, lot we can do to make it harder, issue it's actually worth writing one line of code for...
Title: Re: General Discussion
Post by: DarkTl on October 13, 2016, 10:50:38 AM
They probably did it to protect steam achievements supported by the game, I don't see any other reasons.

You wanted to rewrite items sorting code btw to make it support multiple slots/types when needed  :)
Title: Re: General Discussion
Post by: Xela on October 13, 2016, 11:00:56 AM
You wanted to rewrite items sorting code btw to make it support multiple slots/types when needed  :)

What do you have in mind?
Title: Re: General Discussion
Post by: DarkTl on October 13, 2016, 11:16:55 AM
 
Quote
           self.ALL_FILTERS = ['all', 'weapon', 'smallweapon', 'head', 'body', 'wrist', 'feet', 'cape', 'amulet', 'ring', 'consumable', 'gift', 'misc', 'quest']
            self.GEQ_FILTERS = ['all', 'weapon', 'smallweapon', 'consumable', 'head', 'body', 'wrist', 'feet', 'cape', 'amulet', 'ring', 'misc', 'quest']
            self.FILTERS = self.ALL_FILTERS

        def set_page_size(self, size):
            self.page_size = size
            self.page = 0
            self.set_max_page()
           
        def apply_filter(self, direction):
            """Filter for items.
           
            Currently filtered by slot.
            """
            # if last_label in ("char_profile", "char_equip", "items_transfer"):
            if last_label in ("items_transfer"):
                self.FILTERS = self.GEQ_FILTERS
            else:
                self.FILTERS = self.ALL_FILTERS + ["resources", "loot"] # TODO: Fix this to a more sound design.
Current filters don't allow more than one slot per gui category. There should be enough control over filters to show any slots when needed.
Like gifts, resources and loot for example.
Title: Re: General Discussion
Post by: DarkTl on October 14, 2016, 02:23:08 PM
I just added killer class that inherits from three parent classes so you can do stuff like:

Code: [Select]
$ nika.stat += 10
$ nika.expr("face_expression")
$ nika.set_flag("fucked_the_capitain")
nika "Hi, I am Nika!"
$ n = chars["Naruko_Uzumaki"]
n "..."
Quote
  File "game/library/events/StoryI/naruto_quests.rpy", line 166, in script
    n "..."
Exception: Sayer n is not a function or string.
Title: Re: General Discussion
Post by: Xela on October 15, 2016, 08:05:41 AM
To BR... I thought that was made clear in the post. I am still looking into our own design, it looks like it's worth trying... maybe with some extra magic.
Title: Re: General Discussion
Post by: DarkTl on October 15, 2016, 08:34:06 AM
Ah, I thought you added it to us and then to BR, so I tried to test it.
I think it's even more a waste of time than protection vs cheating though. Because you can
$ n = chars["Naruko_Uzumaki"].say
n "..."
Title: Re: General Discussion
Post by: DarkTl on October 15, 2016, 01:14:13 PM
This is the code from chars_list screen.
Quote
        hbox:
                style_group "content"
                spacing 14
                pos (17, 15)
                for l in chars_list:
                    vbox:
                        spacing 14
                        for c in l:
                            $ char_profile_img = c.show('portrait', resize=(98, 98), cache=True)
                            $ img = "content/gfx/frame/ink_box.png"
                            button:
                                idle_background Frame(Transform(img, alpha=0.4), 10 ,10)
                                hover_background Frame(Transform(img, alpha=0.9), 10 ,10)
                                xysize (470, 115)
                                action Return(['choice', c])
I need to build similar screen for a few characters.
"for l in chars_list" is the loop for characters, l = character. So far so good.

But then we have another loop "for c in l", where l is a character already, so it kinda starts to operate with letters. When I copy this code to another place, it says string cannot have show method. And yet this code works at the chars_list screen.
I'm confused how does it work in the first place  ::)
Title: Re: General Discussion
Post by: Xela on October 16, 2016, 01:12:50 AM
I'll take a look... that code does look a bit strange but we're listing characters there so that's prolly why.
Title: Re: General Discussion
Post by: DarkTl on October 16, 2016, 09:07:56 AM
I suspect chars_list is not just a list of chars, but something more complex.
Title: Re: General Discussion
Post by: Xela on October 16, 2016, 10:01:39 AM
I suspect chars_list is not just a list of chars, but something more complex.

Yeap... it's presorted matrix (lists of lists). It was required due to a weird sorting thing longint did when he wrote that code. What are you trying to do?
Title: Re: General Discussion
Post by: DarkTl on October 16, 2016, 10:36:23 AM
I wanted to build a similar, though lesser, screen for a quest. In the end I just used imagebuttons with idles = portraits, much easier than trying to understand the chars_list logic  :)
The screen would require some improvements to look symmetrical not matter how many chars it shows, but it could be done before the release when you will recheck all events personally.
Title: Re: General Discussion
Post by: Xela on October 16, 2016, 11:09:41 AM
Ok, please leave comments on what needs to be done, like: @Alex: or TODO:

Title: Re: General Discussion
Post by: Xela on October 18, 2016, 12:33:12 PM
Code: [Select]
$ pytfall.world_quests.get(event.quest).next_in_label(...)
Sounds like a mouthful :D

Might be a good idea to add an alias, something like:

Code: [Select]
$ advance_quest("quest", ...)
Also... next_in_label... it should not be possible to advance any quest in init without taking extraordinary measures. So it's a weird name for a method.
Title: Re: General Discussion
Post by: DarkTl on October 18, 2016, 12:50:07 PM
You know how in many games there are generic random quests, like collect N pieces of X item or kill Y enemy T times... Often they are even repeatable, so player can get some cash and exp by completing them if needed.

I'm not entirely sure it could be done with the current system. Such quests should be generated more or less automatically based on provided lists of items and enemies. Meaning no unique names too.
Title: Re: General Discussion
Post by: Xela on October 18, 2016, 01:05:55 PM
I can't see why not... We would have to generate names and tasks for these quests anew every time but it should work just fine.
Title: Re: General Discussion
Post by: DarkTl on October 18, 2016, 01:12:39 PM
Quests should have unique names, no? Ie register_quest("Strange Idol", manual=None).

While all quests to kill enemies inside SE would be called Extermination for example.
Title: Re: General Discussion
Post by: Xela on October 18, 2016, 01:25:10 PM
Quests should have unique names, no? Ie register_quest("Strange Idol", manual=None).

While all quests to kill enemies inside SE would be called Extermination for example.

System might break but that's not how it should be done. We can assign more unique names when these quests are randomly generated and keep track of what we're doing. Alternatively, we can create unique ids for every such quest since we're going to handle them in code always and modders don't require direct access.

New funcs for prettier code:

Code: [Select]
    # Unility funcs to alias otherwise long command lines:
    # TO BE USED IN LABELS (during gameplay aka not in init)!
    def create_quest(*args, **kwargs):
        return register_quest(*args, **kwargs)
   
    def advance_quest(name, *args, **kwargs):
        quest = pytfall.world_quests.get(name)
        quest.next_in_label(*args, **kwargs)
       
    def finish_quest(name, *args, **kwargs):
        quest = pytfall.world_quests.get(name)
        quest.finish_in_label(*args, **kwargs)
Title: Re: General Discussion
Post by: Xela on October 18, 2016, 01:38:34 PM
Smart thing would be to simply register all events and quests after game start... might be worth looking into. It's most likely the reason why Thewlis passes around strings during events instead of the objects.
Title: Re: General Discussion
Post by: DarkTl on October 18, 2016, 02:28:20 PM
It could also be an internal SE-only system which has nothing to do with usual quest system, I suppose. You won't meet many enemies and find many loot outside of it.

Title: Re: General Discussion
Post by: DarkTl on October 18, 2016, 02:45:05 PM
They have some good ideas for traits in the aevojoey's WM. We cannot take game breaking stuff like blind or deaf, it would require rewriting most interactions to make these traits work as they should.
But traits like Bad Eyesight or Open Minded will be fun and simple to add.
Title: Re: General Discussion
Post by: DarkTl on October 19, 2016, 03:25:39 AM
Xela, I need a function which will return the total amount of X item in inventory of provided character or list of characters, and false if they have none.
Title: Re: General Discussion
Post by: Xela on October 19, 2016, 12:49:40 PM
Xela, I need a function which will return the total amount of X item in inventory of provided character or list of characters, and false if they have none.

Code: [Select]
    def has_items(item, chars):
        amount = 0
        for c in chars:
            amount += c.inventory[item]
        return amount

Just pushed. I woke up at 6 am and just got back home so I cannot do more than this tonight :(

False is an alias for 0 in python so unless you do something crazy like:

Code: [Select]
if has_item("name") is False:
    ...

and stick with normal syntax, like:

Code: [Select]
if not has_item("name"):
    ...

or

Code: [Select]
if has_item("name") > 0:
    ...

It should be fine. This is untested but it should just work. I just pushed the func. It expects an iterable like list or teams as chars argument, just one char will not work unless it's a list or team with one char in it.
Title: Re: General Discussion
Post by: DarkTl on October 19, 2016, 12:59:40 PM
Yeah, it's sufficient for my goals, ie counting consumables. But it's not all-purpose, it doesn't see equipped items.
Title: Re: General Discussion
Post by: Xela on October 19, 2016, 02:55:22 PM
doesn't see equipped items.

Those are removed from inventory but it can be arranged.
Title: Re: General Discussion
Post by: DarkTl on October 20, 2016, 01:19:59 PM
Those are removed from inventory but it can be arranged.
It'll add there comment that it should be done after the beta.

Done with the village, finally. There are a few places that could be improved or fixed (not by me) before the release though.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 05:59:47 AM
The game ignores all traits effects atm. I need them working to add a few new ones.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 08:23:58 AM
The game ignores all traits effects atm. I need them working to add a few new ones.

What does this mean? Effects field is not applied (I thought we tested it)?
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 08:47:14 AM
I am going to clean-up/refactor Inventory code. Gonna port generic parts of it to BR tonight and we need better filters, not mentioning that parts of it seem fucked due to being ancient and modified by three or four people...
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 09:35:52 AM
I dunno why exactly they don't work if that's what you ask  :)
They worked at some point, but not anymore. If you give character Pessimist trait, her joy is not going to decrease every day like it should. For testing I even changed the Pessimist code from -1 to -50 joy per day to make sure, still 100 joy every day. Same for other traits effects.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 10:06:39 AM
Ok, going take a look. I wouldn't ask you why they didn't work :D but there was a chance that I didn't understand you correctly because everything was fine last I checked.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 11:08:54 AM
I am in the middle of rewriting inventory code, what slots do we want "merged"?
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 11:31:46 AM
I thought about loot + resources + quest items. They are very similar, ie cannot be used directly. I think the very last filter at the equipment screen is for quest items.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 12:22:29 PM
I thought about loot + resources + quest items. They are very similar, ie cannot be used directly. I think the very last filter at the equipment screen is for quest items.

Ok.

Best inventory code improvement of the day goes to:

Code: [Select]
        @property
        def max_page(self):
            return len(self.paged_items)
from:
Code: [Select]
        def calc_max_page(self):
            """Calculates the max page.
            """
            self.max_page = len(self.filtered_items) / self.page_size if len(self.filtered_items) % self.page_size not in [0, self.page_size] else (len(self.filtered_items) - 1) / self.page_size

 :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D

But the code in general is now 10 times better and more dynamic!
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 12:32:22 PM
Aaand github is down worldwide, so take your time  :)

While you are at it, shops gui is broken too once you select an item there.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 01:38:12 PM
Quote
192.30.253.113 github.com
in the hosts file fixes it for now.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 02:01:55 PM
New slots system is adaptive :) It will not display slots that we lack items for! For some reason items info gui is broken as well, I'll take a look at the shops first and fix char_equip and transfer later. Our Inventory core code is now close to perfect :D GUI/equipment/auto methods needs to catch up though.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 03:09:36 PM
Quote
    class GeneralStore(ItemShop):
        '''General Store (sells basic items)
        '''
        def __init__(self, name, inv_length, locations, *args, **kwargs):
            ItemShop.__init__(self, name, inv_length, locations, *args, **kwargs)
Clarify locations, please. We always run shops manually, how locations can even be used here?
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 03:26:23 PM
What does manually mean in this context?
Code: [Select]
        def init_shops(self):
            # Shops:
            self.shops = ['General Store', 'Cafe', 'Work Shop', 'Witches Hut', 'Tailor Store']
            self.general_store = GeneralStore('General Store', 18, ['General Store'])
            self.cafe = ItemShop('Cafe', 18, ['Cafe'], sells=["food"])
            self.workshop = ItemShop('Work Shop', 18, ['Work Shop'], sells=["armor", "dagger", "fists", "rod", "claws", "sword", "bow"])
            self.witches_hut = ItemShop('Witches Hut', 18, ['Witches Hut'], sells=["amulet", "restore", "smallweapon"])
            self.tailor_store = ItemShop('Tailor Store', 18, ['Tailor Store'], sells=["dress"])
            self.hidden_village_shop = ItemShop("Ninja Tools Shop", 18, ["Ninja Shop"], gold=1000, sells=["armor", "dagger", "fists", "rod", "claws", "sword", "bow", "amulet", "smallweapon", "restore", "dress"], sell_margin=0.85, buy_margin=3.0)
       

Hidden village shop for example is called "Ninja Tools Shop" but it's location is set to "Ninja Shop" in items code. Sells is a bad name for the "sells" field, should prolly be buys... General Store is a special class cause we override some of it's methods.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 03:32:38 PM
Ah, so it's not a location in terms of the screen where we call it, but more like a unique id of the shop?
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 03:42:37 PM
Ah, so it's not a location in terms of the screen where we call it, but more like a unique id of the shop?

Yeap, we using one screen for all shops. Labels are unique for every shop (and background is called using scene statement, seller sprite using show). Shop screen is now fixed (without one feature I would like it to have, but that is too difficult to code for this late at night), char_equip is next.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 03:53:24 PM
I have troubles with interactions screen. After jumping to some location from interactions disposition meter and character picture remain at the screen forever. I suppose I should hide the screen first, but there are so many jumps and calls that I can't figure out it.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 03:55:35 PM
I have troubles with interactions screen. After jumping to some location from interactions disposition meter and character picture remain at the screen forever. I suppose I should hide the screen first, but there are so many jumps and calls that I can't figure out it.

How do you jump? There should be an example of a proper way somewhere...
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 03:56:34 PM
Just jump to the location label, as if MC goes there normally.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 03:58:50 PM
The problem is, I can't return to the location where interaction was started, so I cannot use normal means.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:05:14 PM
I think that you're supposed to jump to label girl_interactions_end...

That label is actually quite pointless... it should be fully encapsulated into GirlsMeets.end method. It should be doable just by copypasting the damn thing and "safe" argument will work properly, because it is useless right now as it doesn't do half of the things it is supposed to.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:06:57 PM
I think that you're supposed to jump to label girl_interactions_end...

That label is actually quite pointless... it should be fully encapsulated into GirlsMeets.end method. It should be doable just by copypasting the damn thing and "safe" argument will work properly, because it is useless right now as it doesn't do half of the things it is supposed to.

But you can use it for now, I'll encapsulate it later and leave the label at $ gm.end() :D
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 04:13:51 PM
No, I'm talking about situation when in
Quote
gm.start("girl_interactions", chars[char], chars[char].get_vnsprite(), place, background)
normally you return to place after interaction is over. But after picking a certain option you return to some another place.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:18:44 PM
Which option? That's what I am talking about, there is likely an option that exits girlsmeets incorrectly.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 04:27:13 PM
Well, a unique quest option which is available via event_to_interactions flag, if it means something in this case  :D
Of course it exits GMs incorrectly because I dunno how to do it correctly and jump to another location at the same time. I suppose it's not even possible with the current GMs.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:31:29 PM
What the heck is "unique_to_interactions" flag? It will use whatever label you were on to return to but it may not always be desirable.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:33:50 PM
Looks like github is back btw...
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 04:38:30 PM
You don't remember? It's the system you coded for interactions, when a character with set_flag("event_to_interactions_flag_name", value={"label": "...", "button_name": "...", "condition": "True"}) will have a unique option in dialogue which will be called button_name and will jump to label.

It doesn't matter though. The problem is, normally we create interactions via gm.start("girl_interactions", chars[char], chars[char].get_vnsprite(), place, background), and after they are over, we return to place. Jumping to label girl_interactions_end will return you to place too.
However, I wonder if it's possible to return to some other location.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:42:20 PM
Pull my last push and use:

Code: [Select]
$ gm.end(safe=True)
jump any_location
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:45:34 PM
Oh, and inventory related stuff that I haven't fixed yet is prolly f*cked, so look out for bugz :)
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:47:16 PM
Oh, and we're missing item icons for good bait and ruby fish so it crashes when you get them in inventories.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 04:52:42 PM
Traits panel looks a bit messed up.
https://www.dropbox.com/s/a9pbvtolbgapih2/3.jpg?dl=0 (https://www.dropbox.com/s/a9pbvtolbgapih2/3.jpg?dl=0)
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 04:55:54 PM
Yeap, it got misaligned somehow... I am working on items transfter atm which is a mess, gonna fix this later.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 04:59:08 PM
Don't forget about traits effects  :)
Since they are not even visible in gui, I suppose they are not added to characters despite having the needed traits.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 05:10:11 PM
Don't forget about traits effects  :)
Since they are not even visible in gui, I suppose they are not added to characters despite having the needed traits.

Prolly not tonight, items screen is completely f*cked... too many things go wrong, it's the least I had to change in past few refactoring efforts.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 05:37:56 PM
Yeah... forget about it... both logic and gui code for transfer are mental, logic cause I wrote it years ago and gui cause Gismo tried to align stuff. It warrants a complete rewrite.
Title: Re: General Discussion
Post by: DarkTl on October 21, 2016, 05:51:47 PM
Hmm. We use raw names of slots in some places, like the shop filter. Sadly, "Smallweapon" slot name is a terrible name to be used in gui. Especially now, when we have stuff like Tower Shield in that slot.
I'm going to mass rename a few slots, like left hand instead of smallweapon for example, unless you can add gui-only names to slots.
Title: Re: General Discussion
Post by: Xela on October 21, 2016, 07:17:01 PM
unless you can add gui-only names to slots.

We can now do just that. I don't believe you can mass rename slots, smallweapon might work but if you mr something like weapon, we're fucked...
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 03:47:28 AM
Yeah, the plan was to mass rename smallweapon as a unique name, and based on it track down all places where slots should be renamed.

I wonder what will happen if autoequipment system will use an item with "jump_to_label" field. It probably should be forbidden.
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 03:55:08 AM
Remind me what all effects are supposed to be doing please, I think most of them are idle. You can use trait.effects field, it will only apply the effect. What unique name were you going to use for smallweapon?
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 05:33:08 AM
Should have been:

Code: [Select]
    {
    "id": "Optimist",
    "desc": "She is very cheerful and is rarely in a bad mood. She enjoys what she does, a lot.",
    "blocks": ["Pessimist"],
    "effects": ["Optimist"],
    "character_trait": true
    },

some effects might not do anything useful atm.
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 05:51:18 AM
You mean like these "crutches"?
Quote
        def __setattr__(self, key, value):
            if key in self.STATS:
                if key == 'disposition':
                    # This is a temporary crutch:
                    if last_label.startswith("gm_"):
                        if key == "disposition":
                            value = value + hero.charisma / 2

                    if self.__dict__['effects']['Sibling']['active']:
                        if self.__dict__['effects']['Introvert']['active']:
                            value = value + int((value + self.__dict__["stats"]['disposition'])*0.2)
                        elif self.__dict__['effects']['Extrovert']['active']:
                            value = value + int((value - self.__dict__["stats"]['disposition'])*0.6)
                        elif self.__dict__['effects']['Impersonal']['active']:
                            value = value + int(round((value - self.__dict__["stats"]['disposition'])*0.1))
                        else:
                            value = value + int(round((value - self.__dict__["stats"]['disposition'])*0.4))
                    elif self.__dict__['effects']['Introvert']['active']:
                        value = value - int((value - self.__dict__["stats"]['disposition'])*0.2)
                    elif self.__dict__['effects']['Extrovert']['active']:
                        value = value + int((value - self.__dict__["stats"]['disposition'])*0.2)
                    elif self.__dict__['effects']['Impersonal']['active']:
                        value = value - int(round((value - self.__dict__["stats"]['disposition'])*0.3))
I'm not sure they are working atm.
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 06:12:07 AM
I thought it was deleted...

This is a crutch:

 
Code: [Select]
                   # This is a temporary crutch:
                    if last_label.startswith("gm_"):
                        if key == "disposition":
                            value = value + hero.charisma / 2

Rest of that code should be rewritten to look more reasonable or maybe moved to Stats but that logic/approach is sound.
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 07:21:53 AM
Ok, I vastly improved that code bit and restored the interactions disposition increment animation. It should work and work much better than before. I am not actually 100% sure that older code calculated bonuses correctly. Also I've changed bonuses, most likely lowering their intended effects but I wasn't sure what old code was supposed to be doing exactly.

There should be a better way of doing this also, I may move it to getattr at some point... All effects are equally modified at the moment, we may want to change that to make sure that we handle the effect differently at positive and negative values.
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 07:26:10 AM
Yeah... I am 100% sure that older effects were not functioning properly, introvert along would have more that doubled disposition on every modification...
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 08:54:44 AM
I believe the idea was that it's easier to change (increase and decrease) disposition for Extrovert and vice versa for Introvert effects. So every time we try to change it by 10, it would be 5 for Intro and 15 for Extra (as an example, I don't remember actual numbers).

And looks like it works now, although numbers are not integer  :)
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 09:35:29 AM
I cannot find any actual code for Fast and Slow Learner effects, except their activation and deactivation. Looks like it was deleted at some point...
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 09:53:56 AM
They were xp related? I am on android atm...
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 09:55:55 AM
And looks like it works now, although numbers are not integer  :)

I'll double check this later... thought that i had...
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 10:00:31 AM
They were xp related? I am on android atm...
Yeap. I think it was x1.2 and x0.8 exp.
I don't see it even in the initial commit, so original code is lost forever  :D
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 10:29:19 AM
Quote
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 94, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 81, in script call
    call next_day_calculations
  File "game/library/screens/next_day.rpy", line 238, in script
    python:
  File "game/library/screens/next_day.rpy", line 298, in <module>
    pytfall.next_day()
  File "game/library/classes - support.rpy", line 127, in next_day
    char.next_day()
  File "game/library/characters/classes - characters.rpy", line 4074, in next_day
    result = self.auto_buy(amount=randint(3, 7))
  File "game/library/characters/classes - characters.rpy", line 1681, in auto_buy
    hasitems = set([items for i in self.inventory]) if self.inventory else set()
KeyError: <store.Item object at 0x0F1013D0>

During next day.

Although the forum thinks that [ i ]  from the code is Italicized font  ::)
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 11:38:07 AM
Use code not quote. It looks like it should be i instead of item. I'll take a look at it tomorrow.
Title: Re: General Discussion
Post by: Sarabada on October 22, 2016, 11:43:33 AM
Why not just call the smallweapon slot the 'offhand' slot as most other RPG's? Or even just the 'secondary' slot.

And I've tried to look up what 'Fast Learner' did in the alpha before, but didn't find anything besides two blocks setting self.effects["Fast Learner"]['active'] to true and false.
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 11:58:59 AM
It appears that your old normalizations prevent vitality based effects from working (and also starting the game if said effects exist).
Code: [Select]
While running game code:
  File "game/script.rpy", line 110, in script
    python:
  File "game/script.rpy", line 116, in <module>
    chars = load_characters("chars", Char)
  File "game/library/functions - loading_data.rpy", line 227, in load_characters
    char.init() # Normalize!
  File "game/library/characters/classes - characters.rpy", line 3244, in init
    setattr(self, stat, self.get_max(stat))
  File "game/library/characters/classes - characters.rpy", line 3317, in __setattr__
    if key == 'vitality' and effects['Drowsy']['active']:
KeyError: 'Drowsy'
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 12:08:29 PM
I wonder what will happen if autoequipment system will use an item with "jump_to_label" field. It probably should be forbidden.

Those are quest consumables only... so they should be filtered out the first thing.
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 12:10:57 PM
Why not just call the smallweapon slot the 'offhand' slot as most other RPG's? Or even just the 'secondary' slot.
"Secondary" slot is a very vague name. And offhand is asymmetrical to the Right Hand slot.
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 12:12:10 PM
It appears that your old normalizations prevent vitality based effects from working (and also starting the game if said effects exist).
Code: [Select]
While running game code:
  File "game/script.rpy", line 110, in script
    python:
  File "game/script.rpy", line 116, in <module>
    chars = load_characters("chars", Char)
  File "game/library/functions - loading_data.rpy", line 227, in load_characters
    char.init() # Normalize!
  File "game/library/characters/classes - characters.rpy", line 3244, in init
    setattr(self, stat, self.get_max(stat))
  File "game/library/characters/classes - characters.rpy", line 3317, in __setattr__
    if key == 'vitality' and effects['Drowsy']['active']:
KeyError: 'Drowsy'

Noted. It does not look like vitality offhand. Effect might not be defined.

Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 12:21:55 PM
Ah yes, you right, there is one more place where effects should be written  :)

Those are quest consumables only... so they should be filtered out the first thing.
Quest? Nope, just consumables with unique effects. Like
Code: [Select]
    $ h = eqtarget.get_max("health")-eqtarget.health
    $ eqtarget.health += int(0.5*h)
    $ h = eqtarget.get_max("vitality")-eqtarget.vitality
    $ eqtarget.vitality += int(0.5*h)
    $ eqtarget.mp = 0
    $ eqtarget.remove_item("Emerald Tincture")
    jump char_equip
Title: Re: General Discussion
Post by: Sarabada on October 22, 2016, 12:31:35 PM
"Secondary" slot is a very vague name. And offhand is asymmetrical to the Right Hand slot.

It may be vague, but it's commonly accepted as meaning "the second hand slot" in most other games that have the ability to equip items in multiple hands. It's difficult when you want to get precise for exactly the reason that you can equip all sorts of things in there, from weapons to shields to whatever else you might eventually have. That's why most games have it as a 'vague' term that could work with all kinds of equipment.

If you want to 'pair' it with the right hand slot, that slot would be called 'Main' hand, or 'Primary' which is understood as generally the slot your big/primary weapon goes.
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 12:52:05 PM
If you want to 'pair' it with the right hand slot, that slot would be called 'Main' hand, or 'Primary' which is understood as generally the slot your big/primary weapon goes.
Yeah, primary and offhand sound nice.
Title: Re: General Discussion
Post by: DarkTl on October 22, 2016, 01:24:28 PM
It looks like it should be i instead of item.
Yeap, autobuying works again with that. Now bad news:

When stats are changed via self.loggs during jobs, they ignore effects. It's a major limitation which makes many potential interesting and fun effects almost ineffective.

For example self.loggs('vitality', -40) ignores
Code: [Select]
                if key == 'vitality' and effects['Drowsy']['active']:
                    old_val = stats.get_stat(key)
                    mod_val = value - stats.get_stat(key)
                    if mod_val < 0:
                        mod_val = int(mod_val*.5)
                        value = int(round(old_val + mod_val))
It has to be changed somehow.
Title: Re: General Discussion
Post by: Xela on October 22, 2016, 04:20:48 PM
Gonna take a look but I already wrote about effects being applicable only trough use of default python mechs. Our own functions will ignore them, I'll try to apply correct behavior whereever sensible.


I dislike "off/main" hand aliases but I can change them on my own play-through once the game is ready and force an override through hidden testing.rpy file if it bugs me through the development.

It has to be changed somehow.

This is with regard to your post:
Another issue with effect bonuses is that we adjust them whenever stat actually increases, assuming that is achieved through default methods for accessing Python classes/instances so it will require extra effort if we want job stats to be adjusted before they are applied. Basically, job reports are simply a gathering of plain stats and girl reports are the pure, true difference between yesterdays and today's stats so there will be inconsistencies under current design unless we decide that fixing that is worth the effort.

Honestly, I'd rather remove those job logs (*Edit: I am talking about stat logs here, not the text/event logs!) from the game and roll with the final, character next day "stats" logs only. We cannot reliably log pure "per event" changes because new system is smart and may redirect workers all over the place as it sees fit and encapsulating effect calculations in functions to show correct results plainly means that we'll have to do the same calculations 2 to 20 times just to display adjusted interim stat changes while knowing for 100% that final increase at the end of the day will account for everything...
Title: Re: General Discussion
Post by: DarkTl on October 23, 2016, 01:05:20 AM
I dislike "off/main" hand aliases but I can change them on my own play-through once the game is ready and force an override through hidden testing.rpy file if it bugs me through the development.
The problem with right/left hand slots is they are not vague enough for left-handed characters. We kinda tell them to use main weapon/tool in their right hand as if it's their main hand, which is impossible. And left-handed characters are pretty common.

Either we use names for slots without left/right part (not necessary off/main, and definitely not weapon/smallweapon), or add left-handed trait with unusual logic which makes items in left hand slot stronger compared to right hand slot. Such trait would be pretty fun, I suppose.

Speaking of aliases, shops filters still use raw slots names instead of them.


Honestly, I'd rather remove those job logs (*Edit: I am talking about stat logs here, not the text/event logs!) from the game and roll with the final, character next day "stats" logs only. We cannot reliably log pure "per event" changes because new system is smart and may redirect workers all over the place as it sees fit and encapsulating effect calculations in functions to show correct results plainly means that we'll have to do the same calculations 2 to 20 times just to display adjusted interim stat changes while knowing for 100% that final increase at the end of the day will account for everything...
Ok, how about applying effects only in the very end? We can log as much changes as we need, but the resulting difference between yesterday and tomorrow vitality will be affected by the vitality effect. We even may write about effect doing its work somewhere in the log.
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 01:16:40 AM
Ok, how about applying effects only in the very end? We can log as much changes as we need, but the resulting difference between yesterday and tomorrow vitality will be affected by the vitality effect. We even may write about effect doing its work somewhere in the log.

I am not sure what you mean here. We gather the stats from every ND event sequence and apply them once, during that application (or any application), effects are applied over them automatically. It is close to impossible to write any of that in the ND log, unless we do something awkward like:
Code: [Select]
def on_the_run_effects_mod():
    ...

and apply it to dummy stats before exposing ND event to the player and then have the system properly apply it to the stats themselves. But it's once again, work for no huge benefit + we can always make note that stats you see in job reports are unadjusted.
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 01:18:19 AM
Speaking of aliases, shops filters still use raw slots names instead of them.

Right, I am going to look into this now. And go over all the ways we are allowed to change stats to try and make sure they all go through the same process.
Title: Re: General Discussion
Post by: DarkTl on October 23, 2016, 01:27:37 AM
I am not sure what you mean here. We gather the stats from every ND event sequence and apply them once, during that application (or any application), effects are applied over them automatically.
I don't get it. If they are already applied, then why self.loggs('vitality', -40) ignores the testing effect which should make it -20?
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 01:59:02 AM
I don't get it. If they are already applied, then why self.loggs('vitality', -40) ignores the testing effect which should make it -20?

Ok, think about it like this (which is exactly how it is working):

Code: [Select]
class Char():
    ...

char.vitality += 100 is where the magic happens.

Code: [Select]
class Job():
    ...

Job.events():
    self.loggs('vitality', -40)
    self.loggs('vitality', 20)
    self.loggs('vitality', -30) # All three of this commands plainly log the change to a dict, they do not apply anything.

Job.end():
    build_nd_event() # with raw data from self.loggs
    for stat, value in self.loggs:
        char.stat += value # This is where the actual magic is happening, but it is not exposed in any way or form to outside scopes.

Code: [Select]
class Char():
    ...

Char.next_day():
    ...
    This method creates a copy of old stats dict.
    On every next day, it checks new values vs old values, these are final, true, concrete values including all magic, newly equiped items and etc. So basically everything...



We can rip effects mods calculations from the Char class and calculate it for every Job ND Event and than have the magic still happen on application but I don't particularly like create more mess in code, especially before another decent cleanup/refactoring effort.
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 02:17:49 AM
If you think about it, we might not even want to f*ck with jobs data. It might be confusing to both players and ourselves, not mentioning that if a worker, say, gained:

10 JOY
5 ATTACK

during the events but both of these stats are maxed out, if we go through the true dict, it'll show up as if nothing happened at all... if we put them through some windmill of logic before displaying them, balancing and keeping track of jobs will become that much harder for both, us and players. While pointing out that what you see there is raw data, seems to negate all of that.
Title: Re: General Discussion
Post by: DarkTl on October 23, 2016, 05:18:02 AM
There might be something wrong with reports atm.

Our testing file gives Nami 0 vitality from the beginning. If you set her to rest and go to the next day, the next day log will have two events about her. One will give +70 vitality, another one about -60. And the resulting vitality will be about 80 if you look at her stats.

Two events happen because we mistakenly have two places which could restore vitality.
Code: [Select]
                if self.AP > 0:
                            if self.health < 90:
                                txt += "She had some strength left left over today so she took some time to heal her wounds. \n"
                                self.health += self.AP*2
                                self.vitality += self.AP*4
                           
                            else:
                                txt += "She had some strength left over today so she spent some time taking a break and having fun. \n"
                                self.joy += self.AP
                                self.vitality += self.AP * 5
and
Code: [Select]
            while self.worker.AP and not all([(self.worker.vitality + self.workermod.get('vitality', 0) >= self.worker.get_max("vitality") - 50),
                                                          (self.worker.health + self.workermod.get('health', 0) >= self.worker.get_max('health') - 5)]):
                self.loggs('health', randint(2, 3))
                self.loggs('vitality', randint(35, 40))
                self.loggs('mp', randint(1, 3))
                self.loggs('joy', randint(1, 2))
                self.worker.AP -= 1
But it's not the point. Even if these events work one after another, there is no way for self.vitality += self.AP * 5 to give -60, and there is no way for 70-60=80, nor 70+60=80. And she doesn't even have any special traits with effects.
Title: Re: General Discussion
Post by: DarkTl on October 23, 2016, 05:54:34 AM
If jobs cannot be directly affected, it makes the (re)creation of slow learner and fast learner effects complicated...

If you think about it, we might not even want to f*ck with jobs data. It might be confusing to both players and ourselves
Ok, what about consumables? I did some testing, effects do not affect them.
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 06:31:55 AM
I am on Andoid again. Items prolly go around the usual python mech. It may be possible to force the effects, I didn't have time to look into that yet.
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 07:03:03 AM
Yeah... I just ran a search over the whole project... stats modification is a fucking mess because of all the ways it can be achieved. It could be worth the effort of another rewrite and adding _ in front of all methods that should not be accessed directly.

It's just very difficult and confusing system to work with because of all the fucking insane complexity we've added to it, like special consumables, misc items, normal items that mod a whole other stats dict, traits, trying to sure stats are not messed up by temporary consumables and misc items and when normal items are equipped and unequipped and all the special considerations made for traits and other shit like that. But code seems to be in an ok shape, I'll just try move effects from Char.__setattr__ to Stats and try setting some solid rules to how stats are to be modified, updating code that does it in other ways... it'll prolly take a good while.
Title: Re: General Discussion
Post by: DarkTl on October 23, 2016, 07:06:40 AM
I always can make custom effects by hacking your code directly.
Just now I added Left-Handed trait which makes all left-handed weapons/tools twice as effective, and vice versa for right handed ones. It's permanent, so there is no need recalculate stuff for it.

I can just as easily tie consumables to any other trait instead of rewriting the whole process of items control.
Title: Re: General Discussion
Post by: DarkTl on October 23, 2016, 07:50:35 AM
I don't understand the meaning of this insanely long check in the rest job  :D
Quote
            while self.worker.AP and not all([(self.worker.vitality + self.workermod.get('vitality', 0) >= self.worker.get_max("vitality") - 50),
                                                          (self.worker.health + self.workermod.get('health', 0) >= self.worker.get_max('health') - 5)]):
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 10:18:29 AM
I think it will run the loop until "worker" runs out of AP or both gets max_health - 5 and max_vitality - 50.
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 10:20:21 AM
I always can make custom effects by hacking your code directly.
Just now I added Left-Handed trait which makes all left-handed weapons/tools twice as effective, and vice versa for right handed ones. It's permanent, so there is no need recalculate stuff for it.

I can just as easily tie consumables to any other trait instead of rewriting the whole process of items control.

Why...? without making slots interchangeable it will just feel stupid and half-implemented...
Title: Re: General Discussion
Post by: DarkTl on October 23, 2016, 10:34:13 AM
Because it's a fun effect which makes balance more interesting. It shouldn't be perfectly logical.
For instance, all shields immediately become twice as powerful, so defense will be better with this trait, at the cost of attack of course.
Title: Re: General Discussion
Post by: Xela on October 23, 2016, 08:30:32 PM
Is there any chance we can do without traits/items that can fuck up max/min limits beyond reason? There is a lot of clumsy code that is required because of that, I was wondering if there is something we could agree on content level...
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 01:09:41 AM
Min values I use only in special cases to make item/trait a bit more unique. Although, every one of them can be replaced with unique effect, assuming that items support equippable effects (I think they should, but never tried before).

As for maxes, unlike WM (the last time I played it, at least), we have level max and max. They guarantee that simple bonuses to stats, without touching max values, very soon will be useless once value=max value due to training and using consumables.

If you want to get rid of bonuses to max values, the only alternative is to make items bonuses ignore characters maxes. So max attack will only restrict character's own attack, but a weapon with +10 attack will give that +10 once equipped no matter what, and will remove that 10 once unequipped no matter what.

This will make items system much simpler, yet all items still will be useful. Consumables will be a bit tricky though, we don't want healing potions to heal higher than max health.
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 01:27:59 AM
No, I don't want to get rid of those bonuses completely but if there is some way you can see to make sure they don't send max to negative territory and send min above max values and other stuff like that, I'd like to know... it's how we mainly got into trouble in the first place, traits and items (especially monster-fuck items that send stats flying all over the place with huge modifications) would snowball and completely mess up the system. I've put safeguards at your request and they seem to be working but the resulting code is really difficult to work with as it is becoming increasingly harder to recall what safeguards against what even with some comments I left behind.

In either case, it's a bit better now... I've put a lot of time into refactoring stats code but it is still pretty fucked up and I don't believe that it can be significantly improved upon. The system is simply too complex and tries to anticipate too many things that can go wrong with all the features we put into the game for code to (perhaps ever) be clean and intuitive. I am sure that some things broke down and would have to be fixed as we go and get errors and there were many collisions between changes you and I made at the same time and I am not 100% sure that I've fixed all of them correctly :(


All and all, there are many new improvements now and I have some ideas on how to further improve upon them but it will be slow...
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 01:36:16 AM
My point still stands. Making items and traits work in different "layer", independently of characters maxes, will make everything simpler.
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 01:56:02 AM
Not really... We have separated char stats from items and traits stats but I don't see how max/min dicts will benefit from the same arrangement. Problems that we had with them were along the lines of combinations of crazy items and traits lowering max below min or pushing min above max. It was also reported to GUI in a seriously messed up ways. Splitting them will not protect the system against that. Our safeguards seem to be doing ok for now and maybe I am offbase here... I have about an hour right now so I'll rename some stuff and look into how else stats code could be refactored.
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 02:41:43 AM
There won't be need to check if bonuses provided by items are higher that character maxes, and there won't be need in double system of maxes, ie max and lvl_max. Although, it will make all items more powerful too.

As for min...
The min field is truly useful only in a few cases. Here it freezes joy at 50.
Code: [Select]
    {
    "id": "Mysterious Gray Ring",
    "desc": "«If early day, or late at night, it's not my problem, I'll be alright. No cause you name is worth the fight, but if I'm bored, then yeah, I might.»",
    "icon": "content/items/ring/gray_l.png",
    "price": 5000,
    "sex": "female",
    "chance": 1,
    "badness": 0,
    "eqchance": 5,
    "hidden": false,
    "infinite": false,
    "slot": "ring",
    "max": {"joy": -50, "magic": 150, "mp": 150},
    "mod": {"luck": 5, "defence": 100},
    "min": {"joy": 50},
    "evasion_bonus": 2,
    "damage_multiplier": 0.05,
    "defence_multiplier": {"melee": 0.1, "ranged": 0.05, "magic": 0.05},
    "locations": ["Exploration", "Fishing"],
    "goodtraits": ["Indifferent"]
    }
And this one makes sure character will always have at least 5 mp.
Code: [Select]
    {
    "id": "Rune Staff",
    "desc": "This staff is constantly drawing energy from other planes of existence and channels it to its wielder.",
    "icon": "content/items/sweapon/rus.png",
    "price": 3000,
    "sex": "unisex",
    "chance": 10,
    "badness": 50,
    "eqchance": 50,
    "hidden": true,
    "infinite": false,
    "slot": "smallweapon",
    "type": "rod",
    "max": {"magic": 100, "mp": 100},
    "mod": {"magic": 40, "character": 50, "attack": -80},
    "min": {"mp": 5},
    "delivery_bonus": {"magic": 50},
    "delivery_multiplier": {"magic": 0.1},
    "locations": ["Exploration"]
    }
In all other cases min field is almost cosmetic, because the chance of it being used is super low.

I suppose the staff could just restore mp every day. But since effects are ineffective against jobs and items, I can't really achieve the same result for the ring by using effects. We can get rid of all min fields entirely any time as long as you provide other means to freeze a stat reliably. Ie just to have a fixed stat value no matter what as long as an item or a trait is equipped.
Yeah, for traits too. We had to get rid of retarded trait because it didn't prevent intelligence from increasing, giving enough time, so it had little sense. But if it freezes intelligence at 10, then it works as it should.
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 03:38:07 AM
Now maxes...
Even if we get rid of artificial bonuses to min values, there is still a possibility that negative max will bring stats to zero.

We cannot get rid of max penalties completely. Training and consumables can easily enough overcome simple penalties to current stat values, making them ineffective.
We could replace absolute negative penalties by relative ones. "max_penalty": ["agility" : 0.9] would mean current agility*0.9, max agility*0.9 and min agility*0.9.
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 03:48:41 AM
So with other words "no"... we cannot try and make sure that stat limits don't get fucked by content and will have to keep trying normalize that on code level :) I got it.

I've been trying to improve code readability whereever possible in the stats system and to try and make sure that all calculations go through the same checks and routines. I believe code is getting more manageable, although slower that I would have liked.
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 03:50:40 AM
I dunno what to do about max field yet...
But I bet that freezing stat is much easier than logic for min field.
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 03:55:33 AM
I dunno what to do about max field yet...
But I bet that freezing stat is much easier than logic for min field.

Nothing... system is working at present, does it not? I can look into adding even more checks if we run into more crazy shit like a trait modding min joy to 50 and some item modding max joy to 40 and you'd get some crazy crap like 50/40 joy in GUI at some point, but for now I just want to clean up what we have at the moment before adding more if/else forks to it, especially before we get actual cases with issues.
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 04:56:01 AM
No, there won't be such things, unless they will be added by players. Moreover, I like how joy becomes 0/0 after equipping two such rings, works as it should  :)
Should be the same for 50/40 cases, I think. If something breaks the logic, we make it 0/0. Or 1/1.
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 05:12:00 AM
How about adding descriptions and tooltips for effects, just like traits have? Or you are against it?
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 05:22:17 AM
Or you are against it?

Ofcourse not, you can just add them to the definition dicts as "desc": "description text". It's very easy to add them to interface.
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 05:33:36 AM
We are now allowing traits for MC, I wonder if we should allow effects as well. Desc will now appear in girls profile if you add it.
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 05:43:00 AM
Certainly. Food Poisoning and Caught a Cold, Poisoned effects are universal, and in fact already can be available for MC.
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 10:06:42 AM
Certainly. Food Poisoning and Caught a Cold, Poisoned effects are universal, and in fact already can be available for MC.

Oki, I'll have to look into adding effects dict to mc and gui.
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 10:28:32 AM
The game is not launching after our combined merges  ::)
Code: [Select]
  File "game/script.rpy", line 110, in script
    python:
  File "game/script.rpy", line 116, in <module>
    chars = load_characters("chars", Char)
  File "game/library/functions - loading_data.rpy", line 138, in load_characters
    char.apply_trait(traits[trait])
  File "game/library/characters/classes - characters.rpy", line 2420, in apply_trait
    self.traits.apply(trait, truetrait=truetrait)
  File "game/library/characters/classes - characters.rpy", line 306, in apply
    char.disposition += trait.mod_stats.get("disposition", 0)
TypeError: unsupported operand type(s) for +=: 'float' and 'list'

In the "Stats update" push you replaced

Code: [Select]
                for key in trait.mod_stats:
                    # We prevent disposition from being changed by the traits or it will mess with girl_meets:
                    if key in ["disposition", 'upkeep']:
                        setattr(char, key, getattr(char, key) + trait.mod_stats[key][0])
with
Code: [Select]
                if hasattr(char, "upkeep"):
                    char.upkeep += trait.mod_stats.get("upkeep", 0)
                if hasattr(char, "disposition"):
                    char.disposition += trait.mod_stats.get("disposition", 0)
You probably don't have active characters with traits with bonuses to disposition, unlike me.
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 02:13:11 PM
I see the error but why is the depositions mod a list again?
Title: Re: General Discussion
Post by: DarkTl on October 24, 2016, 02:34:47 PM
Because mod_stats expects a dict of lists. And in order to not create a separate field solely for disposition and upkeep you changed the code to read them from lists too, ignoring the second number in the list.
In "mod_stats": {"disposition": [200, 1]} the 1 means nothing.
Title: Re: General Discussion
Post by: Xela on October 24, 2016, 03:26:49 PM
Because mod_stats expects a dict of lists. And in order to not create a separate field solely for disposition and upkeep you changed the code to read them from lists too, ignoring the second number in the list.
In "mod_stats": {"disposition": [200, 1]} the 1 means nothing.

Aaaah, right! Increment/level... Dis/Upkeep apllied once... oki, I'll fix it.
Title: Re: General Discussion
Post by: Xela on October 25, 2016, 03:48:07 AM
Oki, I've added effects to MC and his profile screen under traits.

Certainly. Food Poisoning and Caught a Cold, Poisoned effects are universal, and in fact already can be available for MC.

I am not entirely sure that this is true, MC might not have joy/disposition. We could add them to prevent errors or add special checks to intercept stuff like this or add special field to effects dict.
Title: Re: General Discussion
Post by: Xela on October 25, 2016, 03:53:41 AM
Ok... I gtg, right now only the "Learner" effects remain for me to take care off (besides finding some way to prevent effects crashing MC I mean)? Does everything else related to stats/items/effects/traits work?
Title: Re: General Discussion
Post by: Xela on October 25, 2016, 04:23:18 AM
Added fast/slow learner effects modifiers (+/- 10% for now).
Title: Re: General Discussion
Post by: Xela on October 25, 2016, 04:34:16 AM
We need to decide on how to handle MC's issues. Possible options:

- Add flags on content level (like: char_only=True would mean trait only for chars)
- Simply add all stats to MC and ignore the once that are not used

- Add checks all over the place (this is the worst option)..
- More...?
Title: Re: General Discussion
Post by: DarkTl on October 25, 2016, 05:02:19 AM
Does everything else related to stats/items/effects/traits work?
I was thinking about a trait field or an effect which changes expected wages. But when I looked in the code yesterday, wages were 100% afk, so there is nothing we can do about it at the moment  :)

We need to decide on how to handle MC's issues.
In case of MC the game always should know how to ignore stats that he doesn't have. Otherwise problems begin much sooner due to unisex items which may have such stats too. I suppose adding all stats and hiding those he doesn't use is the best way.

- Add flags on content level (like: char_only=True would mean trait only for chars)
Most likely such flags will be required for traits anyway. Some of them can be useful for MC, some cannot.
Title: Re: General Discussion
Post by: Xela on October 25, 2016, 07:20:49 AM
I was thinking about a trait field or an effect which changes expected wages. But when I looked in the code yesterday, wages were 100% afk, so there is nothing we can do about it at the moment  :)

Yeah... I wrote a number of times about that already. The plan is to generalize everything that we can and package the logic in separate modules (classes), like wages and ranks (ranks prolly post beta) are to be handled through "Tier" module. There is an issue about it...

The amount of stats and skills we have to deal with is simply too vast to maintain without centralized system.

In case of MC the game always should know how to ignore stats that he doesn't have. Otherwise problems begin much sooner due to unisex items which may have such stats too. I suppose adding all stats and hiding those he doesn't use is the best way.

Ok, I'll make one default dict with all stats for everybody.

Most likely such flags will be required for traits anyway. Some of them can be useful for MC, some cannot.

Oki, NPC/ArenaFighter/Mobs classes can benefit from flags as well, I think we already have some form of mob_only flag, I don't remember if we check for it in code but we must at one point.


I am going to take care of the common stats dict now.
Actually, I think that we can just check if the character has a stat... it will be more appropriate. Especially if we add more trait flags.
Title: Re: General Discussion
Post by: Xela on October 25, 2016, 07:50:55 AM
After a negative reply to strong compliment in gm, game goes to main menu (open title). I think there is a return after a jump somewhere.
Title: Re: General Discussion
Post by: DarkTl on October 25, 2016, 09:48:33 AM
We don't have such things atm, but in theory it's possible to have a stat/skill unique for MC and unavailable for characters too.

After a negative reply to strong compliment in gm, game goes to main menu (open title). I think there is a return after a jump somewhere.
Surprisingly, it was reported before by lamoli and I fixed it back then... Fixed again.
Title: Re: General Discussion
Post by: DarkTl on October 26, 2016, 10:38:41 AM
I added a simple alcohol system which allows you to get Drunk effect if you drink too much. The effect disappear on the next day no matter what, except it only does so for characters. MC can get the effect but it never disappears, meaning his effects system is not working as it should.
Title: Re: General Discussion
Post by: DarkTl on October 26, 2016, 11:22:03 AM
If character has very low vitality, all stats will be red at the equipment screen.
Title: Re: General Discussion
Post by: Xela on October 26, 2016, 01:24:02 PM
If character has very low vitality, all stats will be red at the equipment screen.

... I thought I fixed this, wtf...?
Title: Re: General Discussion
Post by: Xela on October 26, 2016, 01:36:50 PM
I added a simple alcohol system which allows you to get Drunk effect if you drink too much. The effect disappear on the next day no matter what, except it only does so for characters. MC can get the effect but it never disappears, meaning his effects system is not working as it should.

Code: [Select]
            elif effect == "Drunk":
                for key in self.effects["Drunk"]:
                    self.effects["Drunk"][key] = False

This code makes little sense. It should destroy description, counter and disable the effect. I am too tired to try and find out why it is working for chars and not MC, it should mess up the effect for everyone.
Title: Re: General Discussion
Post by: DarkTl on October 26, 2016, 01:39:30 PM
This code is the direct copy of your code from Food Poisoning effect, with a bit different mechanics of counters.
Title: Re: General Discussion
Post by: Xela on October 26, 2016, 01:51:12 PM
This code is the direct copy of your code from Food Poisoning effect, with a bit different mechanics of counters.

Which needs to be updated as it kills description as well. It is still unclear why it works differently for MC and Chars. I'll see if I can figure it out tomorrow morning.
Title: Re: General Discussion
Post by: Sarabada on October 26, 2016, 06:46:50 PM
How about adding descriptions and tooltips for effects, just like traits have? Or you are against it?

Hurray! Happy to see this. I may be biased, though.
Title: Re: General Discussion
Post by: DarkTl on October 27, 2016, 02:46:40 PM
Gifts are too chaotic now, I'll change the system. They will be tied to MPtraits only, and there will be types of gifts. Certain MPtraits will like or hate certain types of gifts. Within types there won't be much difference between items.
Title: Re: General Discussion
Post by: Xela on October 27, 2016, 03:05:20 PM
Anything to simplify the design... I am working on BR's Inventory/Items/Equipment systems, it's gonna take a while.
Title: Re: General Discussion
Post by: DarkTl on October 27, 2016, 04:23:18 PM
We have old poison effect, I'm not entirely sure how to get it. Perhaps there is no way atm.
I see one possibility, if character was poisoned inside BE and the poison didn't ended before battle was over, the effect enables outside BE.
Title: Re: General Discussion
Post by: DarkTl on October 28, 2016, 11:58:45 AM
Gifts will need your attention too.

- giving a gift does not show the flying disposition number like other interactions.
- gift like
Code: [Select]
{
        "id": "Wild Flowers",
        "icon": "content/items/gift/wf.png",
        "desc": "This fresh bouquet of colorful flowers picked outside the city is guaranteed to brighten any girl's mood. It might not be enough to prevent her from getting mad at you for boning her best friend, but you'll be a step closer to that lofty goal.",
        "price": 30,
        "slot": "gift",
        "chance": 80,
        "dismod": 5,
        "cblock": 1,
        "infinite": true,
        "type": "flowers",
        "locations": ["General Store", "Look around"],
        "traits": {
            "Imouto": -10,
            "Ane": 10,
            "Impersonal": -20,
            "Deredere": 20
        }
    },
will always give +5 disposition, completely ignoring the traits field. Probably because you rewrote traits container, since no one touched the gifts code for a while.
Title: Re: General Discussion
Post by: Xela on October 28, 2016, 12:02:37 PM
Ok, the disposition thing is prolly due to incorrectly named label, you may be right about traits.
Title: Re: General Discussion
Post by: Xela on October 28, 2016, 12:12:43 PM
I'll push a  bit later, there is some weird shit in the code I do not remember writing.
Title: Re: General Discussion
Post by: Xela on October 28, 2016, 03:18:49 PM
BR early shop concept: https://youtu.be/3bGeLccCFvs
Title: Re: General Discussion
Post by: DarkTl on October 28, 2016, 03:27:55 PM
Does it load something when showing the "traveling" screen? Or it's a cosmetic thing?
Title: Re: General Discussion
Post by: Xela on October 28, 2016, 03:37:38 PM
Actually the tech is the circling items paging :D There is supposed to be a kickass (skippable) driving animation there: https://66.media.tumblr.com/9d379d54c11c8ffc4a68cde47e1595e5/tumblr_oevtxy5B2F1rhbm8qo1_500.gif

Interface/filtering is still not implemented. Just pushed the gifts refactoring for PyTFall. Everything is more or less the same but dispositions mods should now be reflected with animated text. I've removed older, weird occupations related code and another off check that would reset dismod to 5 in a lot of cases...
Title: Re: General Discussion
Post by: DarkTl on October 28, 2016, 04:05:37 PM
Actually the tech is the circling items paging :D
Yeah, I figured as much. It looks unusual, but impractical. With our type of inventory those few items could be visible at one single page  :)
Title: Re: General Discussion
Post by: Xela on October 29, 2016, 03:37:30 AM
Yeah, I figured as much. It looks unusual, but impractical. With our type of inventory those few items could be visible at one single page  :)

Yeap, but there are few games with so many items. Also we could have made 2 or even 3 circles :D
Title: Re: General Discussion
Post by: DarkTl on October 29, 2016, 05:39:39 AM
Xela, fix food and drink effects. I need their code as a base for other effects.
Title: Re: General Discussion
Post by: Xela on October 29, 2016, 05:50:13 AM
In what way are they broken?
Title: Re: General Discussion
Post by: DarkTl on October 29, 2016, 05:58:11 AM
I added a simple alcohol system which allows you to get Drunk effect if you drink too much. The effect disappear on the next day no matter what, except it only does so for characters. MC can get the effect but it never disappears, meaning his effects system is not working as it should.
Code: [Select]
            elif effect == "Drunk":
                for key in self.effects["Drunk"]:
                    self.effects["Drunk"][key] = False

This code makes little sense. It should destroy description, counter and disable the effect. I am too tired to try and find out why it is working for chars and not MC, it should mess up the effect for everyone.
This code is the direct copy of your code from Food Poisoning effect, with a bit different mechanics of counters.
Which needs to be updated as it kills description as well. It is still unclear why it works differently for MC and Chars. I'll see if I can figure it out tomorrow morning.
::)
Title: Re: General Discussion
Post by: Xela on October 29, 2016, 06:00:06 AM
Rgr.

The MC issue is due to the fact that we're not running parents class nd method for him. The other issue is just bad code, I'll fix it and push.
Title: Re: General Discussion
Post by: Xela on October 29, 2016, 06:04:09 AM
Actually resetting everything is more or less of because we are setting everything up again at the effect activation. We just need to make sure that description is left out of that loop.
Title: Re: General Discussion
Post by: Xela on October 29, 2016, 06:12:00 AM
You can alias stuff for better readable code: unstable = self.effects['Unstable']. It's a matter of personal preference, just as an example:

Code: [Select]
            elif effect == "Unstable":
                unstable = self.effects['Unstable']
                unstable['day_log'] += 1
                if unstable['day_log'] == unstable['day_target']:
                    self.joy += unstable['joy_mod']
                    unstable['day_log'] = day
                    unstable['day_target'] = day + randint(2,4)
                    unstable['joy_mod'] = randint(20, 30)
                    if dice(50):
                        unstable['joy_mod'] = -unstable['joy_mod']

Everything should be fixed, try it.
Title: Re: General Discussion
Post by: Xela on October 29, 2016, 06:21:58 AM
We need to check disposition mods on next day... they are absurdly powerful ranging from -130 to 350 in just 14 days without any user interactions... but it might be old code that just gives incorrect bonuses when wages are paid.
Title: Re: General Discussion
Post by: DarkTl on October 29, 2016, 06:31:49 AM
Well, effects do not ignore missing stats properly. For Drunk:
Code: [Select]
  File "game/library/screens/next_day.rpy", line 81, in script call
    call next_day_calculations
  File "game/library/screens/next_day.rpy", line 228, in script
    python:
  File "game/library/screens/next_day.rpy", line 288, in <module>
    pytfall.next_day()
  File "game/library/classes - support.rpy", line 133, in next_day
    hero.next_day()
  File "game/library/characters/classes - characters.rpy", line 3317, in next_day
    super(Player, self).next_day()
  File "game/library/characters/classes - characters.rpy", line 2763, in next_day
    self.apply_effects(key)
  File "game/library/characters/classes - characters.rpy", line 2710, in apply_effects
    self.joy -= 5
  File "game/library/characters/classes - characters.rpy", line 1274, in __getattr__
    (self.__class__, key))
AttributeError: <class 'store.Player'> object has no attribute 'joy'


We need to check disposition mods on next day... they are absurdly powerful ranging from -130 to 350 in just 14 days without any user interactions... but it might be old code that just gives incorrect bonuses when wages are paid.
Wages code is mostly disabled anyway.
Title: Re: General Discussion
Post by: Xela on October 29, 2016, 06:43:47 AM
I moved the dict with all stats to parent class, should work now as we discussed couple of days ago (dummy stats for MC/Mobs).
Title: Re: General Discussion
Post by: DarkTl on October 29, 2016, 09:38:26 AM
We need to check disposition mods on next day... they are absurdly powerful ranging from -130 to 350 in just 14 days without any user interactions... but it might be old code that just gives incorrect bonuses when wages are paid.
Paying wages is a perfectly normal thing. It shouldn't increase disposition infinitely. At best it could give +1 as long as disposition is < 0, or even < -100.
Title: Re: General Discussion
Post by: Xela on October 29, 2016, 12:02:00 PM
Paying wages is a perfectly normal thing. It shouldn't increase disposition infinitely. At best it could give +1 as long as disposition is < 0, or even < -100.

Yeah, once we have teirs, next day methods should be rewritten as well.
Title: Re: General Discussion
Post by: DarkTl on October 30, 2016, 06:34:17 AM
If character has very low vitality, all stats will be red at the equipment screen.
Title: Re: General Discussion
Post by: Xela on October 30, 2016, 01:39:49 PM
It's weird because I was sure that we've fixed it. Gonna take a look at it tomorrow. Do you really think that this new coin is better? It's like a shiny blob on the screen that your sight instantly goes to, if nothing else, it stands out way too much.
Title: Re: General Discussion
Post by: DarkTl on October 30, 2016, 04:03:51 PM
Yeah, can't say I like it. I'll search for better ones. The old one has the $ symbol, which kinda breaks the forth wall, but we always can return it if there is nothing better out there.

How about improving the load_frame_by_frame_animations_from_dir function to automatically register webms too with name=folder name? I tried to, but since it runs before other places, it doesn't know about MovieLooped function and cannot use it.
Title: Re: General Discussion
Post by: Xela on October 30, 2016, 06:13:17 PM
How about improving the load_frame_by_frame_animations_from_dir function to automatically register webms too with name=folder name? I tried to, but since it runs before other places, it doesn't know about MovieLooped function and cannot use it.

Sure, what pattern is best to scan for? Do we need it to try and find mask movie as well?
Title: Re: General Discussion
Post by: DarkTl on October 31, 2016, 05:13:30 AM
If renpy cannot easily check if the folder has webms inside and not just pictures, then folder should start with "webm". Otherwise there are name, channel and loop. Spaces are separators, just like with usual images.

So it would be "image_name channel_name 1" folder name for looped movie, or "image_name channel_name" for non looped one. We could use a default channel, probably main_gfx_attacks since I use it everywhere if possible to not create new channels.
So it also could be image_name 1 for default channel + looped or just image_name for non looped + default channel.

As for webms names inside he folder, they are always "movie.webm" and optional "mask.webm".
Title: Re: General Discussion
Post by: lamoli on October 31, 2016, 06:55:21 AM
Good news..


Im finally able to get full rig for bodies and hair/clothing in blender so now animations will be really easy.. but i need to rework a few things since in the past i had 1 render file for a pose ( around 100 in total ) but now i could do everything with 1 so it will be simpler to use for anyone else than me.. and there s almost a perfect conversion now so save up a lot of time when importing and assembling assets.. but for the creating process its the same.. but once we created enough content it will be really easy to create the scene you want for whatever we might need the renders for..


The fbx animation with correcting shape keys wont do anything good for Pytfall unless you want to do something with UE4 where most of my normal work is but you can render every frame of the animation in blender to make a webm for possible animated scenes in Pytfall
Title: Re: General Discussion
Post by: Xela on October 31, 2016, 07:15:53 AM
Good news indeed! Great news would be when we have a couple of unique random girls :) It's awesome that we can share rendering workload, I'll look into setting up the needed software as soon as you have the instructions.
Title: Re: General Discussion
Post by: DarkTl on October 31, 2016, 09:40:45 AM
Rendering is a great way to create items icons (we already have a few unique icons made by lamoli) and decent scenes for ST, that's for sure. That alone worth the trouble to learn it, at very least once beta systems will be done.
Title: Re: General Discussion
Post by: Xela on October 31, 2016, 02:42:56 PM
Auto-webms are ready.

Pattern is: /"tag loops channel"/

tag must always be present, loops will default to 1 and inf should be used for infinite looping (original Ren'Py class). Channel defaults to main gfx as we discussed. If you specify the channel, you must also specify amount of loops you want or it'll crash.

I tested it just with one option, seems to be working.
Title: Re: General Discussion
Post by: Xela on October 31, 2016, 02:49:07 PM
Coin is still too flashy... I liked the old one better.
Title: Re: General Discussion
Post by: DarkTl on October 31, 2016, 03:13:23 PM
It's the old coin, just without the symbol and with x2.5 higher rotating speed, because there are not enough frames to look good enough with low speed, so it looked twitching before. In terms of gui it will be wise to make it darker to match the gold number next to it, but the old coin wasn't dark enough to begin with.
Title: Re: General Discussion
Post by: DarkTl on November 01, 2016, 07:58:16 AM
we'll need to come up with proper names at some point, for once, you enter a menu called "attacks" and almost every options ends with "Attack"... it's about the same as adding "Spell" after every magical skill. Also some of the names are too long, menu names should be used to create abbreviations of some kinds.
Done, I'll push it a but later.

There are two things remained for me, finishing beach stuff and restore and improve the tavern.
After that there is not much I can do with the current code base to make the release closer.

We need SE and jobs events to continue.
By job events I mean stuff like in WM/WM EX, when a certain trait or effect with a certain probability affects the current job during the next day phase, running a small text event which makes the job easier or harder. While I can write such events right in the jobs code, they won't really affect the job outcome because I don't see the job outcome there, in classes-jobs.rpy. Only some skill checks which affect only text.
Title: Re: General Discussion
Post by: Xela on November 01, 2016, 04:42:30 PM
You can do a lot in this area: https://github.com/XelaPy/PyTFall/issues/2

I wrote a whole mess of logic where you can use 4 different labels that the game will autocall. You can reuse them, create new once and etc. Options here are limitless and very interesting, not to mention, potentially the most important towards gameplay.


I'll be very busy for the next two weeks, but there will be still be some dev time so I may be able to wrap up base SE. We should also discuss how we see jobs, tiers and balancing for the beta.


Someone opened a Pull request in the github, I'll go over it tonight.
Title: Re: General Discussion
Post by: Xela on November 01, 2016, 05:38:33 PM
Someone opened a Pull request in the github, I'll go over it tonight.

@Dark:

Diff my testing.rpy vs yours (or just grab mine), adverts were moved to JSON so you'll crash after next pull.

There are some good bugfixes which we (mostly) didn't see because we never run the game without a building or hired chars + some gui fixes (some are still using Gismos styles so those are not future safe) + overexcessive code safety measures + new monstrous python module that matches JSON files to predetermined data patterns. There is also a good fix that adds extra information to SimPy error reports.
Title: Re: General Discussion
Post by: DarkTl on November 02, 2016, 10:15:23 AM
You can do a lot in this area: https://github.com/XelaPy/PyTFall/issues/2 (https://github.com/XelaPy/PyTFall/issues/2)
In terms of logic maybe. Making a starting screen where you pick options for MC before the game begins is a different story.

Also, he could use effects which affect all characters under his command. That's something we don't have in the code, we only check characters own effects.

For example, there could be effect which restores 1 vitality per day for MC. And there could be a different effect which does it for all characters. Since they are different, I cannot just check if hero.effect.['active'].
Title: Re: General Discussion
Post by: DarkTl on November 02, 2016, 12:00:27 PM
It's weird because I was sure that we've fixed it.
Found it, you removed the fix for some reason 3 months ago during stats rewriting...
Title: Re: General Discussion
Post by: Xela on November 02, 2016, 01:06:52 PM
In terms of logic maybe. Making a starting screen where you pick options for MC before the game begins is a different story.

Also, he could use effects which affect all characters under his command. That's something we don't have in the code, we only check characters own effects.

For example, there could be effect which restores 1 vitality per day for MC. And there could be a different effect which does it for all characters. Since they are different, I cannot just check if hero.effect.['active'].

Screen and effects can come later. Logic/design needs to happen first, we'll have a lot of effects. MC needs trait setups, stats, bonus items, starting money, maybe even short stories, it can all be done now and I can fill in the blanks in GUI and code (not having the time to take out major crap at the moment).
Title: Re: General Discussion
Post by: Xela on November 02, 2016, 01:11:46 PM
Found it, you removed the fix for some reason 3 months ago during stats rewriting...

And I've fixed this! :D Two days ago: https://github.com/XelaPy/PyTFall/commit/b970050530ed24329e4fa321510946f1e95710ce
Title: Re: General Discussion
Post by: DarkTl on November 02, 2016, 01:19:48 PM
Yeah, it's true for setups themselves.

But MC has less stats, cannot have personality, race or body type. In order to have many traits there should be effects that affect characters. Otherwise there is not much for traits to change.

And I've fixed this! :D Two days ago: https://github.com/XelaPy/PyTFall/commit/b970050530ed24329e4fa321510946f1e95710ce (https://github.com/XelaPy/PyTFall/commit/b970050530ed24329e4fa321510946f1e95710ce)
Nope. I dunno what it fixes, but definitely not red text at the equipment screen. I restored your old fix a hour ago, and it really fixes it.
Title: Re: General Discussion
Post by: DarkTl on November 02, 2016, 01:46:06 PM
I need help with timed progress bar in the last push. I made it based on this (https://www.renpy.org/wiki/renpy/doc/cookbook/Timed_menus) example, and yet it doesn't work like it supposed to  ::)
Title: Re: General Discussion
Post by: Xela on November 02, 2016, 02:35:08 PM
But MC has less stats, cannot have personality, race or body type. In order to have many traits there should be effects that affect characters. Otherwise there is not much for traits to change.

I am not 100% sure about no personality anymore but ok, lets roll with no personality... Race he can have. Body type prolly as well, it could be bound to the image somehow, but not for beta. Traits are f*cking important for MC because it will determine how you're going to use him. Effects we need but those can come later, lets say you add a super, buper Casanova Base trait that doubles all disposition bonuses and halves all disposition penalties, we can always add the effect at later times as long as there is a TODO list for the MC setups, we need content and ideas first!

Nope. I dunno what it fixes, but definitely not red text at the equipment screen. I restored your old fix a hour ago, and it really fixes it.

It fixes the stats going red... remove your variable and check it yourself. Or don't waste your time... two fixes is better than one :)
Title: Re: General Discussion
Post by: Xela on November 02, 2016, 02:35:37 PM
I need help with timed progress bar in the last push. I made it based on this (https://www.renpy.org/wiki/renpy/doc/cookbook/Timed_menus) example, and yet it doesn't work like it supposed to  ::)

Oki, gonna take check it out.
Title: Re: General Discussion
Post by: DarkTl on November 02, 2016, 02:47:44 PM
It fixes the stats going red... remove your variable and check it yourself. Or don't waste your time... two fixes is better than one :)
Of course I did it before pushing. Nami has 0 vitality by default thanks to the testing file. If you go to her equipment screen and select an  item from MC inventory, all her stats will become red without the $ tempc = "#F5F5DC" fix.

Title: Re: General Discussion
Post by: Xela on November 02, 2016, 02:58:52 PM
How do you want diving to work?
Title: Re: General Discussion
Post by: DarkTl on November 02, 2016, 03:16:20 PM
For a start I wanted the bar to work. Then I planned to activate random matrix at the same time with the bar, and once the bar is over, matrix is over too. The random matrix will use items with "diving" location, almost like the fishing screen.
So it will be random matrix with small invisible areas and limited time to find them.
Title: Re: General Discussion
Post by: Xela on November 02, 2016, 03:50:50 PM
Just pushed, scope your variables, there is no reason to pollute global scope with every little thing, it's already in not the best of shapes. Screens, functions, classes all have their own namespaces you can use. They is now even new way to scope variables to labels, it should get really good with the next release.
Title: Re: General Discussion
Post by: Xela on November 02, 2016, 03:53:17 PM
http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html
https://www.python.org/dev/peps/pep-0008/

https://youtu.be/OSGv2VnC0go

Some good stuff is in there.
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 01:34:49 AM
That has nothing to do with python because it doesn't have screens like renpy. And the screen CTDed until I made the variables global like in the wiki example  :D

Just wonders of screen language again, when you cannot pass variables to a screen like you can to a function, not without the "default" statement.
 
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 01:59:40 AM
Just wonders of screen language again, when you cannot pass variables to a screen like you can to a function, not without the "default" statement.

Yeah... this feels like a particularity bad design. You can access them nut you cannot mod them using default Actions.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 03:40:44 AM
BTW, I am getting more and more issues with Git, after some (small bit of) research, this was one of the first suggestions:

Code: [Select]
$ git gc --prune=now
$ git remote prune origin

(you open git extensions and click Tools ==> Git Bash to type in commands). You might want to do the same, especially if you haven't freshly cloned in a while.
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 04:21:41 AM
I wrote a whole mess of logic where you can use 4 different labels that the game will autocall. You can reuse them, create new once and etc. Options here are limitless and very interesting, not to mention, potentially the most important towards gameplay.
I don't understand what are you talking about here. There is nothing unusual in your recent pushes.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 04:47:25 AM
I don't understand what are you talking about here. There is nothing unusual in your recent pushes.

I've coded that system over an year ago, it's quite powerful and adaptive and it calls a chain of four labels, if they exist. The concept behind the design is that you can modify the MC as you wish in those labels, create unique items, add traits and etc. Those labels are also reusable so you can sort of build MC out of different "blocks". I don't remember if the system allows to add icons to MC screen or not but we can take care of that later.

Just like with any other system, it'll take some trial and error but it doesn't mean that we cannot start messing with it.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 05:12:29 AM
Take a look/play around with mc_choices.rpy file, there are some comments there as well. It's in the mc_setup folder, I'll be back in the evening (switching to Android).
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 09:09:31 AM
I wrote short testing code which should use the hidden matrix to hide 5 objects at the screen.

Either I don't understand something, or the hidden matrix is broken. By default there are zero areas at the screen. I know it for sure, because for testing I created them with 500x500 size, impossible to miss. But once I changed alpha of hidden matrix buttons to 1, there is always one single area at the top left corner, with zero randomness. Even though the corner is always empty with the old alpha = 0.001.

I dunno why your hidden matrix acts like that, even if I gave it incorrect dict somehow, it acts differently with different alpha.

I had the very same issues when tried to use it for fishing screen before making different screen with imagebuttons.
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 11:11:08 AM
Take a look/play around with mc_choices.rpy file, there are some comments there as well. It's in the mc_setup folder
Sadly, the setup is absolutely incompatible with dual class system. I'd prefer a dual menu where you select traits/classes for MC's mother and father at the same time, which in turn give certain traits/classes for MC. Including dual classes if parents classes are different.

Also not all options should be hierarchical - in fact, most shouldn't. Strict hierarchy complicates things a lot.
For example, MC's mother could have any race, giving MC certain race bonuses. But race cannot be a part of big, strict hierarchy, it's not tied to class for example.

Basically, the setup screen is so old compared to the current concept that it would be easier to use multiple renpy menu statements to setup MC than use the setup screen.
Title: Re: General Discussion
Post by: picobyte on November 03, 2016, 03:01:49 PM
BTW, I am getting more and more issues with Git, after some (small bit of) research, this was one of the first suggestions:

Code: [Select]
$ git gc --prune=now
$ git remote prune origin


With this you can check your git history.

Code: [Select]
$ git fsck --full
 It may show dangling blobs. They are harmless, usually. Git tries to keep almost anything in history, even if you staged something once. They idea is that you can get back to the state of the code at that time. I believe after a while you can get some that lost their reference. The prune will indeed remove those but you may also lose some history.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 03:11:42 PM
I wrote short testing code which should use the hidden matrix to hide 5 objects at the screen.

Either I don't understand something, or the hidden matrix is broken. By default there are zero areas at the screen. I know it for sure, because for testing I created them with 500x500 size, impossible to miss. But once I changed alpha of hidden matrix buttons to 1, there is always one single area at the top left corner, with zero randomness. Even though the corner is always empty with the old alpha = 0.001.

I dunno why your hidden matrix acts like that, even if I gave it incorrect dict somehow, it acts differently with different alpha.

I had the very same issues when tried to use it for fishing screen before making different screen with imagebuttons.

Do you have a use case? I never tested that screen and I was half-dead when I coded it.

Sadly, the setup is absolutely incompatible with dual class system. I'd prefer a dual menu where you select traits/classes for MC's mother and father at the same time, which in turn give certain traits/classes for MC. Including dual classes if parents classes are different.

Also not all options should be hierarchical - in fact, most shouldn't. Strict hierarchy complicates things a lot.
For example, MC's mother could have any race, giving MC certain race bonuses. But race cannot be a part of big, strict hierarchy, it's not tied to class for example.

Basically, the setup screen is so old compared to the current concept that it would be easier to use multiple renpy menu statements to setup MC than use the setup screen.

It's... creative, so we'll have to get creative as well :) I can give it a shot at some point before beta release if you don't feel like messing with it.


With this you can check your git history.

Code: [Select]
$ git fsck --full
 It may show dangling blobs. They are harmless, usually. Git tries to keep almost anything in history, even if you staged something once. They idea is that you can get back to the state of the code at that time. I believe after a while you can get some that lost their reference. The prune will indeed remove those but you may also lose some history.

Thx. It fixed an error I've had with another project, I found the instructions on StackOverflow.
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 03:24:01 PM
Do you have a use case? I never tested that screen and I was half-dead when I coded it.
Yeap, beach screen, diving option, label city_beach_diving_checks. I stopped coding diving immediately after failed test of hidden matrix.

It's... creative, so we'll have to get creative as well
It will never support dual classes decently anyway. I'm fine with it, but you wanted dual classes support for MC too.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 03:32:14 PM
Yeap, beach screen, diving option, label city_beach_diving_checks. I stopped coding diving immediately after failed test of hidden matrix.

Oki, I'll hack at it will it can fly :D

It will never support dual classes decently anyway. I'm fine with it, but you wanted dual classes support for MC too.

And why the heck not? It doesn't have to be literal and precise... Any one of the four choices can add both base traits. Some selections could add one (at double power by default of the design). We're not sending out a mars crawler here, some obfuscation and mystery + decent descriptions can go a long way...
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 03:46:19 PM
We don't have a writer to write those mini stories for all combinations.

There are four ways to do something in the game: have a business, fight at arena, explore SE, interact with characters. Also there will be ST. That gives us 5 base classes. 10 double combinations + 5 single ones = 15 possible classes sets for MC.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 04:00:11 PM
We don't have to fill everything and we don't really have to write all the stories, small descriptions will do and labels could be used just for logical applications. We could have way more classes than that. Managers, Warriors (Mage/Warrior/Ninja/Battle Mage and combinations), Casanova and combinations. I figured out the screen issue, buttons needed to get kicked in the butt with fixed size... I'll clean up your code and push.
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 04:11:40 PM
And why the heck not? It doesn't have to be literal and precise... Any one of the four choices can add both base traits. Some selections could add one (at double power by default of the design).
No, such system, while possible, is too chaotic for me to maintain. If you want double classes, you will have to run the setup screen twice, with the current setup screen I only can do it for single class.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 04:17:35 PM
Oki, I'll take care of it.


You C and Delphi people with your while loops  :D
Code: [Select]
        dive_list = []
        while len(dive_list) < 5:
            our_loot = list(i for i in items.values() if "Diving" in i.locations and dice(i.chance))
            if our_loot:
                item = random.choice(our_loot)
            else:
                item = None
            dive_list.append(item)
        underwater_loot = {}
        i = 0
        while len(underwater_loot) < 5:
            m = random.random()
            n = random.random()
            underwater_loot[i] = [(100, 100), (m, n)]
            i += 1


Python baby:

Code: [Select]
   $ underwater_loot = {choice(list(i for i in items.values() if "Diving" in i.locations and dice(i.chance)) or [None]): [(100, 100), (random.random(), random.random())] for i in range(5)}
::)
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 04:33:09 PM
Huh? Dicts can have only unique keys. If you use items themselves as keys, you can never have repeatable items.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 04:37:22 PM
Good point! It should have never been a dict, it's useless there.
Title: Re: General Discussion
Post by: DarkTl on November 03, 2016, 06:51:04 PM
Wtf... There is no place in MC inventory where you can see loot and resources, except the All filter. Again.
Title: Re: General Discussion
Post by: Xela on November 03, 2016, 11:50:28 PM
Wtf... There is no place in MC inventory where you can see loot and resources, except the All filter. Again.

For me, it's under the scroll thingy (used to be quest items or something like that).
Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 03:24:23 AM
Yeap, force recompile fixed that.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 05:40:44 AM
There is one issue with diving screens. Once timer is over, it closes both timer and diving screen immediately. Even if you have the message about found item at the screen. It doesn't look good, ideally it should wait until the player reads it and makes left click.
I dunno what to do about it.
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 05:41:55 AM
Hold on, I need to pull your last changes.
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 06:15:47 AM
Did you get this error?
Code: [Select]
While running game code:
  File "game/library/initialization.rpy", line 1, in script
    init -999 python:
  File "game/library/initialization.rpy", line 29, in <module>
    import jsonschema
IOError: [Errno 2] No such file or directory: u'game/python-packages/jsonschema\\schemas/draft3.json'
???
Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 06:18:49 AM
Yeah, after last pushes made by picobyte.
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 06:24:38 AM
Hold on, it's not the only one. We need to doc out basic dev guidelines somewhere, it's been a while since someone pushed new code outside of our usual motley crew :D

I think there is a good way to handle those screen, I just need to clear ctds before testing it.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 06:34:43 AM
Good thing I finished the diving before pulling the last changes.
Once CTDs are over, I will be able to starting working on MC setups...
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 08:12:04 AM
You'll have to diff testing.rpy again. Diving loop is more sensible now, might need more testing... Also I noticed that you're just hero.AP -= 1 everywhere which can force it to go below 0, I think we should have something like if hero.take_ap(1): ... else... somewhere. Or it can be intercepted on button level (like making buttons insensitive if AP or vit are too low). Wood buttons looks out of place there btw, did you use them o purpose or because it was the first style you saw? :D
Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 08:54:38 AM
I usually check if AP > 0 before even giving access to the part where hero.AP -= 1, I just didn't added it there yet.

And it's not like we have dozens buttons styles to choose from. You use them everywhere, and so do I.
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 09:01:54 AM
I usually check if AP > 0 before even giving access to the part where hero.AP -= 1, I just didn't added it there yet.

Oki.

And it's not like we have dozens buttons styles to choose from. You them everywhere, and so do I.

We have at least a dozen but it can be improved at any time.
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 09:11:40 AM
...

First, welcome to the forums/project!

Second, when you push/create pull requests, try to make sure that game can run with them. Also, we're all using testing.rpy files that are not version controlled in order to setup our own testing scenarios for whatever we're working on at that point. Those files assume that Characters, Buildings, Items, Traits, Businesses and Battle Skills can be instantiated outside of loading function so every time you change loading routines (like changing the way adverts are loaded or changing data structure you're loading them from), stuff in testing file breaks down. It's ok to mess with that stuff in order to improve it, but please post changes relevant to creating/setting up those objects to the forum so it's easier to adjust without going over all the commits.

I've left this as a comment to the last pull request, but you must accept invitation to a project before you can push to it directly.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 09:22:46 AM
I searched for all style_groupes and tried them one by one. Only 3 can be used for buttons: the wooden one, the one we have in main menu and the one we have in interactions. The one from main menu is wooden too, and the one from interactions is not the best option even for interactions.
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 09:25:27 AM
I need to clean up and make testing screen for styles, like we have for fonts... prolly after beta.
Title: Re: General Discussion
Post by: picobyte on November 04, 2016, 01:59:31 PM
Did you get this error?
Code: [Select]
While running game code:
  File "game/library/initialization.rpy", line 1, in script
    init -999 python:
  File "game/library/initialization.rpy", line 29, in <module>
    import jsonschema
IOError: [Errno 2] No such file or directory: u'game/python-packages/jsonschema\\schemas/draft3.json'


Sorry, I think I know where it went wrong. The jsonschema validates schemas you present it with a draft jsonschema, but the path seperators I used were os specific. I'll fix it.


Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 03:22:53 PM
I don't understand the logic behind so called "classes" at the mc setup screen. Most likely it's incompatible with the current concept. I'll just ignore it and disable parts of the code which cause CTDs because of that.
Title: Re: General Discussion
Post by: picobyte on November 04, 2016, 05:18:08 PM
Second, when you push/create pull requests, try to make sure that game can run with them.

I do. In this case it worked for me, Linux.
Renpy does funny things with paths and I fixed it badly when I tried to get the jsonschema module working, sorry. The bug got exposed for you (not me) when I moved the import jsonschema outside the class.

Also, we're all using testing.rpy files that are not version controlled in order to setup our own testing scenarios for whatever we're working on at that point. Those files assume that Characters, Buildings, Items, Traits, Businesses and Battle Skills can be instantiated outside of loading function so every time you change loading routines (like changing the way adverts are loaded or changing data structure you're loading them from), stuff in testing file breaks down. It's ok to mess with that stuff in order to improve it, but please post changes relevant to creating/setting up those objects to the forum so it's easier to adjust without going over all the commits.

ok, do not change, or rarely, how stuff is loaded, and at least report changes. got it.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 05:29:07 PM
ok, do not change, or rarely, how stuff is loaded, and at least report changes. got it.
This (https://www.dropbox.com/s/5uiox4ka1oisgu5/testing.rpy?dl=0) is our default testing file, which Xela updates every time something is changed to make sure the game can work in the dev mode despite having unfinished parts here and there.
Title: Re: General Discussion
Post by: DarkTl on November 04, 2016, 06:47:04 PM
I need to know how to set base classes for MC, since they are more than just traits. At first I tried the "classes" at the setup screen, but it brought nothing but CTDs.

Finished one warrior branch at the setup screen, it's pretty fun  :)
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 06:51:09 PM
I do. In this case it worked for me, Linux.
Renpy does funny things with paths and I fixed it badly when I tried to get the jsonschema module working, sorry. The bug got exposed for you (not me) when I moved the import jsonschema outside the class.

Yeah... we've had four different programmers messing with file access... truth is that renpy's list_files and renpy.file are the best and safest ways, and the only ways that will work reliably may we ever decide to release for android/ios. There are like two or three path normalizations we have but don't really need.

ok, do not change, or rarely, how stuff is loaded, and at least report changes. got it.

More like: Change but post about what you've done if you changes the way stuff get instantiated/loaded :)


which Xela updates every time something is changed to make sure the game can work in the dev mode despite having unfinished parts here and there.

Actually, game works even outside of devmode. Those files were created when Thewlis kept rewriting my testing routines in order to test out his ST module. It worked out well in the end, everyone could have their own test setups.


I don't understand the logic behind so called "classes" at the mc setup screen. Most likely it's incompatible with the current concept. I'll just ignore it and disable parts of the code which cause CTDs because of that.

I am not 100% sure what you mean by classes. Gonna take a look at it tomorrow.
Title: Re: General Discussion
Post by: Xela on November 04, 2016, 06:52:02 PM
I need to know how to set base classes for MC, since they are more than just traits. At first I tried the "classes" at the setup screen, but it brought nothing but CTDs.

Finished one warrior branch at the setup screen, it's pretty fun  :)

Oki, I am falling asleep... Assuming that I don't get into insomnia phase, I'll take a look at it tomorrow.
Title: Re: General Discussion
Post by: picobyte on November 04, 2016, 08:33:29 PM
This (https://www.dropbox.com/s/5uiox4ka1oisgu5/testing.rpy?dl=0) is our default testing file, which Xela updates every time something is changed to make sure the game can work in the dev mode despite having unfinished parts here and there.

Ha, and better not break it! My adverts change just did that and more :-/ hopefully I did a better job this time. Found the invite and just pushed. It should restore the adverts for the buildings, and the linesep issue.

BTW Maybe you like the long line in testing.rpy better written as:

Code: [Select]
testBuilding.add_adverts(filter(lambda a: a['name'] in ["Sign", "Flyers", "Magazine", "Billboard", "Girl", "Celebrity"], adverts))
Title: Re: General Discussion
Post by: DarkTl on November 05, 2016, 01:01:44 PM
BE is in a pretty good condition, it won't be hard to make warriors/mages MC setups. Same for interaction-based setups.

The jobs, however, is something I cannot hack on my own, at least in their current condition. I simply don't see a place where those bonuses should go in the code.
Title: Re: General Discussion
Post by: Xela on November 05, 2016, 01:13:02 PM
BE is in a pretty good condition, it won't be hard to make warriors/mages MC setups. Same for interaction-based setups.

Skills still feel pretty unbalanced and I don't think that all tiered spells are at the same level of power.

The jobs, however, is something I cannot hack on my own, at least in their current condition. I simply don't see a place where those bonuses should go in the code.

Since we're not allowing MC to work normal jobs yet, manager is the only relevant position and code for that is not ready. Those MC variations would have to wait till it is.
Title: Re: General Discussion
Post by: Xela on November 05, 2016, 01:16:17 PM
Code: [Select]
testBuilding.add_adverts(filter(lambda a: a['name'] in ["Sign", "Flyers", "Magazine", "Billboard", "Girl", "Celebrity"], adverts))

Code: [Select]
testBuilding.add_adverts([a for a in adverts if a['name'] in ["Sign", "Flyers", "Magazine", "Billboard", "Girl", "Celebrity"]])
Wouldn't make it any shorter :)
Title: Re: General Discussion
Post by: DarkTl on November 05, 2016, 01:26:24 PM
And I still wonder how to set base classes in the setup menu.
Title: Re: General Discussion
Post by: Xela on November 05, 2016, 01:42:19 PM
I need to know how to set base classes for MC, since they are more than just traits. At first I tried the "classes" at the setup screen, but it brought nothing but CTDs.

And I still wonder how to set base classes in the setup menu.

Actually classes work... you can bind them to setups. Why/How did you get CTD? The system needs to get more flexible though, right now we sort of shove two classes down the MCs throat, there should be an option for just one.
Title: Re: General Discussion
Post by: DarkTl on November 05, 2016, 02:09:23 PM
As far as I understand, the system forces me to give classes exactly where it wants it (not gonna happen, different setups require different approach).
Title: Re: General Discussion
Post by: Xela on November 05, 2016, 02:15:53 PM
As far as I understand, the system forces me to give classes exactly where it wants it (not gonna happen, different setups require different approach).

It is setup to add one class when you choose each of the main branches. Do you want to be able to set it using subbranches?
Title: Re: General Discussion
Post by: DarkTl on November 05, 2016, 02:17:40 PM
Of course. Not to mention the support for a single class.
Title: Re: General Discussion
Post by: Xela on November 05, 2016, 02:30:56 PM
Of course. Not to mention the support for a single class.

Oki, I'll try to set it up tonight.
Title: Re: General Discussion
Post by: Xela on November 05, 2016, 03:07:13 PM
Right.. it might work now!

You can setup class under main branches and under subbranches with the class under sub always being prioritized. Old code also allowed for a single class setups, you just had to pick the same class twice. Same thing will work now, you can not specify a class in which case it will be None or specify the same class twice in which case it will be applied only once.

Also, you can NEVER pick two classes from the same branch-tree! It simply will not work.

Also :D Do not take the suggested farther/mother/parents/mc order as dogma, I want to allow any deviations from that design as long as descriptions/headers support it.

+ we need testing, it seems to work but you never know when a ctd will creep up on your with datastructure this branched out.


For some reason highlighting and sepia mask is fucked on mc tree, gonna look into that before I call it a night.
Title: Re: General Discussion
Post by: Xela on November 05, 2016, 03:11:09 PM
And may I suggest to always set a default for at least one of the tree branches, cause in an off chance that you don't and forget to cover every sub, you'll get a very weak mc without a baseclass.
Title: Re: General Discussion
Post by: DarkTl on November 05, 2016, 03:23:58 PM
Setting a mother is good way to give something unique to MC and explain it well, and also to show a cool girl picture in the process. And we lose nothing by using father's backstory as a reason for MC's first base class. When you select the father's story, ie assassin, it also should give this class to MC.

I especially dislike how the last setup choice only gives a minor item in the caravan story, it is next to useless. While I give unique (really unique) traits depending on mother race  :)
Title: Re: General Discussion
Post by: Xela on November 05, 2016, 04:41:56 PM
I especially dislike how the last setup choice only gives a minor item in the caravan story, it is next to useless. While I give unique (really unique) traits depending on mother race  :)

Yeap, that is a nice touch. We can make stuff like that really meaningful, like adding a Casanova/Romeo baseclasses with disposition bonuses or Fire Mage with unique spell unavailable anywhere else. That item you do not like, we can make something that grows in power with MCs level (for BE only, cause it's simple to setup there).

Told you we could make this work, I am looking forward to setup a couple of cases myself as well :D In either case, screen is updated and works much sensible now.


I'll have very little dev time in the upcoming few weeks but it should get much better thereafter. I'll resume serious coding then, for now it'll just have to be small peripheral fixes/refactoring.
Title: Re: General Discussion
Post by: picobyte on November 05, 2016, 08:53:28 PM
I just pushed, all seemed okish in wine (windows emulator), except that I added one commit which changes the screen tag displayed in the dev menu to a button to open at the screen or label in your editor. Does this work for you? In Linux it works, in wine it did not entirely. If not it should just display as previously. it was displayed however as button, but the link did not resolve. But just maybe this is just wine?

Also I added an issue (https://github.com/XelaPy/PyTFall/issues/189)
Title: Re: General Discussion
Post by: DarkTl on November 06, 2016, 01:46:15 AM
I pushed a fix for your changes. You checked wrong folders names, as a result the game stopped seeing my packs.

default prereqs = exist(["content/chars/", "content/rchars/"])
not
default prereqs = exist(["content/char/", "content/rchar/"])

I added one commit which changes the screen tag displayed in the dev menu to a button to open at the screen or label in your editor. Does this work for you? In Linux it works, in wine it did not entirely. If not it should just display as previously. it was displayed however as button, but the link did not resolve. But just maybe this is just wine?
Yep, works perfectly. That's an awesome option  :)
Title: Re: General Discussion
Post by: DarkTl on November 06, 2016, 01:15:29 AM
Quote
preferable at least add one character and one random character to the repo.
I can add a few really small packs. But I have no idea how to make git extensions stop ignoring a certain folder in the chars folder. I tried a few things in the gitignore file, they didn't worked.
Title: Re: General Discussion
Post by: Xela on November 06, 2016, 01:39:26 AM
Also I added an issue (https://github.com/XelaPy/PyTFall/issues/189)

I can add a few really small packs. But I have no idea how to make git extensions stop ignoring a certain folder in the chars folder. I tried a few things in the gitignore file, they didn't worked.

Guys... come on, this is not even remotely useful. Anyone who seriously wanted to help with development so far figured it out or asked us for instructions. Noone is bloody likely to develop with one character, it's confusing as f*ck cause all chars in the game look the same and it's boring. If either of you feels like action here is needed, write a comprehensive guide on how to clone the game from the git repo for some specific software (like GitExtension which we use) and install packs. We had one such guide in the past.

So please don't add base chars or generate dummy chars, if you must: use renpys internal function to check is chars/rchars folders exist and throw a very clear clear Exception that packs which can be downloaded from our forums are required but please don't complicate the code with useless bloat, we change stuff all the time through relentless refactoring of old code and as logic/design updates, the more code you need to go through to refactor something, the more time it takes and we've been developing for little over four years, admittedly with breaks and times where we were able to spend just 15 mins per day on the project but we've established our own way in this time which works and work well for us.

Time would be much better spent documenting, refactoring, advancing logic, fixing parts of interface that broke down on last renpy update (mostly "stats" style group which I rewrote as "proper_stats", but there are other issues) and so on.


I'll be traveling most of the next week, so it'll be mostly android and minor coding on laptop...
Title: Re: General Discussion
Post by: DarkTl on November 06, 2016, 01:48:20 AM
Guys... come on, this is not even remotely useful. Anyone who seriously wanted to help with development so far figured it out or asked us for instructions.
True. But we gonna release the game with default packs anyway, it won't be 100% empty. Might as well add them to repo. For example, the village will cause ctds without naruto chars.
Title: Re: General Discussion
Post by: Xela on November 06, 2016, 02:14:20 AM
True. But we gonna release the game with default packs anyway, it won't be 100% empty. Might as well add them to repo. For example, the village will cause ctds without naruto chars.

Yeah, but we discussed it and made a decision not to so everyone could have their own characters base, so repo is not bloated, so there are no copyrighted images on the open rep (remember two mega accounts of mine that they banned due to that, they kept plaguing me with emails long after the fact because account could not be deleted and whatever the method they used to check, kept finding new violations).

Edit:
You can condition your events/quests btw, to make sure village code doesn't run without the pack but I can't see a need for that at this point, it's not like we have 1000 other quest lines to choose from.
Title: Re: General Discussion
Post by: DarkTl on November 06, 2016, 02:27:01 AM
they kept plaguing me with emails long after the fact because account could not be deleted and whatever the method they used to check, kept finding new violations
Lol  :D

We probably could wait until lamoli makes a rendered random pack, which won't be affected by copyright.
Title: Re: General Discussion
Post by: Xela on November 06, 2016, 04:31:52 AM
Lol  :D

We probably could wait until lamoli makes a rendered random pack, which won't be affected by copyright.

Yeap... but it would still not be very useful, I once loaded a game with just one rchar, it was a horrible and confusing gameworld experience   :D

I am a bit unhinged due to minor concerns about recent code addons.

Truth is that out of about 40 people who helped with the project over the years, about 5 were capable coders. What we have left of their code in the game are Eliont's data structure, Thewlis's GM/Interactions/refactored schools, longints sorting functionality, Rudi's tagdb and etc... so all the things that were written to improve the game itself. All peripheral stuff that was added... I had to remove because the moment something we didn't absolutely need started throwing errors and person who knew exactly why was no longer around, took too much time to maintain. So we just ended up throwing it out :( Same with code styling, I try to stick to pep8 (not religiously) but all the personal twerks and preferences in core code that fall outside of those guidelines are usually getting refactored back once people who added them get fed up with working on the project and leave.


but my "unhingement" is more likely due to hectic shit in rl at the moment, so it'll pass in a couple of weeks!
Title: Re: General Discussion
Post by: picobyte on November 06, 2016, 05:30:32 AM
I pushed a fix for your changes. You checked wrong folders names, as a result the game stopped seeing my packs.

default prereqs = exist(["content/chars/", "content/rchars/"])
not
default prereqs = exist(["content/char/", "content/rchar/"])
Yep, works perfectly. That's an awesome option  :)

Very strange. I am quire certain I fixed that and comitted it before the push
Title: Re: General Discussion
Post by: picobyte on November 06, 2016, 05:37:29 AM

Quote from: Picobyte
preferable at least add one character and one random character to the repo.

Guys... come on, this is not even remotely useful. Anyone who seriously wanted to help with development so far figured it out or asked us for instructions.

Ok, I see your point. scrap 3, it was mostly about clarifying the instructions anyway, but maybe the banner when missing is clear enough already.
Title: Re: General Discussion
Post by: Xela on November 06, 2016, 06:06:48 AM
Ok, I see your point. scrap 3, it was mostly about clarifying the instructions anyway, but maybe the banner when missing is clear enough already.

We had a very, very detailed set of instructions at one point but it got outdated when we moved to GitHub and was never updated... It didn't seem to be useful outside of people who just wanted to sneakpeak at what we've been up to.


I am off (to Android) till this evening/tomorrow.
Title: Re: General Discussion
Post by: DarkTl on November 06, 2016, 08:21:47 AM
Speaking of clear code, the way how I make traits affect equipment is not very clean. I keep adding new branches to the equipment process, which means up to 6 additions for every case: max/min/mod for equip and unequip.

It cannot be done by adding some exotic traits fields because effects are too different. But I wonder if there is some another way to do it.
Title: Re: General Discussion
Post by: Xela on November 06, 2016, 09:04:45 AM
What??? I did not understand any of it.
Title: Re: General Discussion
Post by: DarkTl on November 06, 2016, 09:16:39 AM
Search for "Sword Master" trait in rpys and look how it works.
Title: Re: General Discussion
Post by: Xela on November 06, 2016, 09:25:50 AM
Search for "Sword Master" trait in rpys and look how it works.

Oki. I will try when I get to laptop. Android sux :-)
Title: Re: General Discussion
Post by: DarkTl on November 06, 2016, 09:30:52 AM
I have the repo copy on my Android  :)
It doesn't work, but still is useful for coding far from larger devices.
Title: Re: General Discussion
Post by: DarkTl on November 06, 2016, 10:29:48 AM
It goes like
Code: [Select]
            for key in item.max:
                if "Left-Handed" in self.traits and item.slot == "smallweapon":
                    self.stats.max[key] += item.max[key]*2
                elif "Left-Handed" in self.traits and item.slot == "weapon":
                    self.stats.max[key] += int(item.max[key]*0.5)
                elif "Knightly Stance" in self.traits and key == "agility" and item.max[key] <0:
                    self.stats.max[key] += int(item.max[key]*0.5)
                elif "Sword Master" in self.traits and item.type == "sword":
                    self.stats.max[key] += int(item.max[key]*1.5)
                else:
                    self.stats.max[key] += item.max[key]
The easiest way to simplify it would be
Code: [Select]
if "Left-Handed" in self.traits and item.slot == "smallweapon":
    max_modifier*2
...
self.stats.max[key] += int(item.max[key]*max_modifier)
But it won't work for traits like Knightly Stance, since it should work only for agility [key], which we don't see outside of the "for" loop.
Title: Re: General Discussion
Post by: Xela on November 06, 2016, 11:11:16 AM
I can refactor it into shorter code or add new json fields but that looks legit.
Title: Re: General Discussion
Post by: DarkTl on November 07, 2016, 04:25:02 AM
Well, if you think you can make the json filed flexible enough while not making the code 100 times more complex... I mean, it should understand what slot and what type of item it affects, which stats it affects, and in some cases understand if the stat change provided by item is positive or negative.
That would be one hell of a system  :D

Direct coding keeps logic clean, but also increases that amount of "ifs". It's still very readable, but I bet 6 "ifs" per trait is a blasphemy against pep8.
Title: Re: General Discussion
Post by: Xela on November 07, 2016, 04:36:56 AM
I'll take a look at it when I can, if forks are not anti pep8, it doesn't cover that but we might be able to restructure logic and make code better readable (and readability counts) :)
Title: Re: General Discussion
Post by: DarkTl on November 07, 2016, 07:02:55 AM
I need a controllable effect.
Quote
"Regeneration": {"active": False, "desc": "Health restores every day.", "amount": 0}
This one will restore the amount of health per day.

I can set the amount in the code, like self.effects['Regeneration']['amount'] = 5, and it will work.
But I dunno how to take this amount from a json. When I write json field like
Code: [Select]
"effects": ["Regeneration"],I need to specify effect amount somehow.
Title: Re: General Discussion
Post by: Xela on November 07, 2016, 07:16:39 AM
Make 3 effects:

- Regen

- QuickRegen

- HealingFactor

:)

You can't really pass arguments through that fields without messing with code which loads them.
Title: Re: General Discussion
Post by: Xela on November 07, 2016, 09:23:33 AM
I rewrote that code bit but your version was perfectly fine... and there isn't a better way to do it other than maybe pushing conditioning to JSONs. I am not really sure if that would result in better system.

There are some things you just need forks for... question is if pushing conditioning for those forks elsewhere in order to get rid of them is sensible or not.
Title: Re: General Discussion
Post by: DarkTl on November 07, 2016, 11:47:28 AM
I rewrote that code bit but your version was perfectly fine... and there isn't a better way to do it other than maybe pushing conditioning to JSONs. I am not really sure if that would result in better system.
Ok, I restored the old code, since with the new one all items maxes just stopped working...

You can't really pass arguments through that fields without messing with code which loads them.
I hoped it's possible to trick the system somehow, like give it a list or a dict instead of string  :)
Title: Re: General Discussion
Post by: Xela on November 07, 2016, 12:21:02 PM

I hoped it's possible to trick the system somehow, like give it a list or a dict instead of string  :)

Sure, but we'd have to resolve that in loading code, it actually wouldn't be hard at all so if you need this, let do it.
Title: Re: General Discussion
Post by: DarkTl on November 07, 2016, 12:28:22 PM
I thought maybe it would be easier to add a new trait field instead of rewriting effects code, like effect_power.
Title: Re: General Discussion
Post by: Xela on November 07, 2016, 03:26:13 PM
Prolly more difficult and more confusing...
Title: Re: General Discussion
Post by: picobyte on November 08, 2016, 03:11:02 AM
committed some json schema updates. should not interfere and probably not too interesting, although this (https://github.com/picobyte/PyTFall/blob/master/game/schema/data_types.json) file gives you an overview of most of the current concepts.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2016, 03:20:17 AM
I don't really want to duplicate effects or rewrite them when it's possible to avoid it. I think I'll tie effect power to traits names. The effect will check character traits and calculate total regeneration.

committed some json schema updates. should not interfere and probably not too interesting, although this (https://github.com/picobyte/PyTFall/blob/master/game/schema/data_types.json) file gives you an overview of most of the current concepts.
I'm 100% sure that we don't have spells like "Fire 1", "Fire 2", "Fire 3" in the assets rpy. Those are remainings of very old version of BE in some old parts of the code like arena, which will be rewritten. All real, existing spells are only in be/assets.rpy.
Title: Re: General Discussion
Post by: Xela on November 08, 2016, 03:46:37 AM
If you say so. Effects are basically dicts so it would not be out of place to add a dict option to traits which activate them.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2016, 04:51:41 AM
What will happen if somehow someone will get two traits with the same effect but different power of effect? For traits-based effects such collisions can be resolved easily, even with additional logic when needed.
Title: Re: General Discussion
Post by: Xela on November 08, 2016, 05:14:01 AM
They would be overwritten, that's why I told you to make unique effects for every trait and I recall as discussing that it needs to be kept this way when as we added effects to the game.


I am simply not as strong of a proponent of "perfect" logic as I was in the past. It's not something 90% of players would notice and it usually requires a lot of layered, forked and annoying code. So it's up to you... I can add dicts to overwrite the same effect with different power or unique effects which would be safer.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2016, 05:30:59 AM
Text fields at the mc setup screen don't have scrolling. It especially affects the right field which shows text for two choices at the same time. As a result, more or less big texts cannot fit in.
Title: Re: General Discussion
Post by: Xela on November 08, 2016, 06:57:47 AM
Text fields at the mc setup screen don't have scrolling. It especially affects the right field which shows text for two choices at the same time. As a result, more or less big texts cannot fit in.

Actually that was discussed and we decided to remove scrolling from there in favor of shorter text cause it looked shitty and broke a decent design. That was also where labels came from, you can unfold story lines, explanations, awards and etc. in there while providing only the most basic info in the textboxes.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2016, 07:23:03 AM
There is plenty of unused space at the setup screen. The whole right part can be much higher, and the left text filed can be higher too.
Title: Re: General Discussion
Post by: Xela on November 08, 2016, 07:33:38 AM
There is plenty of unused space at the setup screen. The whole right part can be much higher, and the left text filed can be higher too.

But it looks so good! :D

Gonna try to move the left frame higher but the idea was to leave the screen as it is.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2016, 10:12:32 AM
Actually that was discussed and we decided to remove scrolling from there in favor of shorter text cause it looked shitty and broke a decent design. That was also where labels came from, you can unfold story lines, explanations, awards and etc. in there while providing only the most basic info in the textboxes.
How do you propose to do it exactly with the help of labels? Every time player clicks on icon we interrupt the whole mc setup to show text related to that icon? If yes, then it's a terrible design.
Title: Re: General Discussion
Post by: Xela on November 08, 2016, 10:25:55 AM
How do you propose to do it exactly with the help of labels? Every time player clicks on icon we interrupt the whole mc setup to show text related to that icon? If yes, then it's a terrible design.

As I wrote in the post, you provide summarized, short bit of info in the screens itself. After player is done with the choices and clicks stats, if labels are provided, you can add entire unfolded stories/explanations there.
Title: Re: General Discussion
Post by: DarkTl on November 08, 2016, 10:28:55 AM
Ah, you mean after the game was started already. That's kinda late, but ok, you always can start the game anew.
Title: Re: General Discussion
Post by: picobyte on November 08, 2016, 07:02:48 PM
I'm 100% sure that we don't have spells like "Fire 1", "Fire 2", "Fire 3" in the assets rpy. Those are remainings of very old version of BE in some old parts of the code like arena, which will be rewritten. All real, existing spells are only in be/assets.rpy.

The schema reflected only the spells found in json files, for the fields I referenced as Magic. Some were incorrect and some item locations were incorrect. They will probably appear in the shops now.
Title: Re: General Discussion
Post by: Xela on November 10, 2016, 05:12:33 AM
Damn that SE code is rough... I am trying to ease back into it in order to wrap up the main loops/methods. After that the plan is to start coding Tier modules and figure out which control variable we can centralize on building or even game basis and which we have to bind to businesses themselves. Some info we can/will have to retrieve from chars obviously. I only have a vague concept in my head at the moment on how to put all of that together so if you got any ideas, I am open to suggestions. I recon that we have a week to discuss before we'll have commit to some specific code/logic setup.
Title: Re: General Discussion
Post by: DarkTl on November 10, 2016, 07:01:05 AM
Let's see... Things that tiers could control:
- base wages. Irl your position is clearly visible, unlike hypothetical list of stats, and wage is based on it before everything else.

- max money income for jobs which have income. Even if you are skilled, low position can prevent you from using skills to the fullest. Perhaps with diminished returns, ie at some point increasing skills/stats becomes almost unnoticeable in terms of income until you raise the tier.

- clients "tiers" can be tied to chars tiers. Elite clients would like to be served by elite workers, and will be unhappy and leave otherwise.

- for warriors it becomes complicated because they don't generate income directly. It could affect available arena events and SE areas, you need high tier warriors to have access.

- equipable items and spells might have min_tier field required to equip/use them. This is especially true for weapons and spells, you can't just equip them and wear like some dress, you should know how to use them properly.

- skills can be limited by tiers directly, and become unlimited only at the highest tier.

Before we continue, are you going to use tiers for buildings/businesses? Or only for chars?
Because businesses can have tiers depending on average tier of used chars. And higher tiers attract better customers.
Title: Re: General Discussion
Post by: Xela on November 10, 2016, 08:26:34 AM
Let's see... Things that tiers could control:
- base wages. Irl your position is clearly visible, unlike hypothetical list of stats, and wage is based on it before everything else.

- max money income for jobs which have income. Even if you are skilled, low position can prevent you from using skills to the fullest. Perhaps with diminished returns, ie at some point increasing skills/stats becomes almost unnoticeable in terms of income until you raise the tier.

Yeap, wages will be easy to figure out that way. Max money I am not sure about, I'd rather do something like a fixed price (adjustable by player) for services. It will be the minimum client is expected to pay. Traits/Teirs/Other stuff may push that price above what you set it to but if client is not willing to pay over it, manager can decide if the worker got to do it or not based on internal code.

- clients "tiers" can be tied to chars tiers. Elite clients would like to be served by elite workers, and will be unhappy and leave otherwise.

- for warriors it becomes complicated because they don't generate income directly. It could affect available arena events and SE areas, you need high tier warriors to have access.

- equipable items and spells might have min_tier field required to equip/use them. This is especially true for weapons and spells, you can't just equip them and wear like some dress, you should know how to use them properly.

- skills can be limited by tiers directly, and become unlimited only at the highest tier.

Warriors don't need Tiers calculations for jobs that deal with clients. Service workers that deal with cleaning don't need them either.

Items thing I do not like. It would be more prudent to bind items to baseclass generalizations and/or level and/or stats/skills. But we could do Tiers as well I guess. But honestly, we already have max system that limits item usefulness. We'd be doubling the effort and complicating the code even further. And yes, that system is not perfect but no system is...

Before we continue, are you going to use tiers for buildings/businesses? Or only for chars?
Because businesses can have tiers depending on average tier of used chars. And higher tiers attract better customers.

I want tiers to be separate object that we bind to businesses, characters and clients alike. Same 6 to 0 object, depending on how much we decide that we need.

Business with tier3 will attract customers with tier3-4 and require girls of tiers 3-n... to work there. If you put weaker chars, customers will be unhappy even if the stats match. We will not relay that data directly but obscure it with something like: Client expected better service.


bb in 2 - 3 hours...
Title: Re: General Discussion
Post by: DarkTl on November 10, 2016, 09:33:53 AM
Warriors probably could use their own tiers of some kind for SE, but it can be a part of SE itself.

Slaves tiers can be limited. If max tier is 10, they could have only 3-5.

Backgrounds for characters interactions will be based on their tiers. We have multiple rooms bgs from cheap to expensive, because I planned it for a long time  :)

There should be requirements of some kind for hiring high tiers. Maybe hero level, or fame, or high disposition.
Title: Re: General Discussion
Post by: Xela on November 10, 2016, 12:34:03 PM
Warriors probably could use their own tiers of some kind for SE, but it can be a part of SE itself.

I do not (yet) see how this can benefit us from coding/balancing perspective. But we don't even have as much a working simpy loop for SE yet...

Slaves tiers can be limited. If max tier is 10, they could have only 3-5.

Yeah, we talked about something like this in the past, when we had "Ranks". This is a brilliant idea and a nice touch, so we're on the same page here.

Backgrounds for characters interactions will be based on their tiers. We have multiple rooms bgs from cheap to expensive, because I planned it for a long time  :)

Awesome!

There should be requirements of some kind for hiring high tiers. Maybe hero level, or fame, or high disposition.

I believe it should be just the money. Or money and reputation (or flags).


Ok... businesses/jobs are in a sorry shape atm. It's very difficult to maintain and to code for, it is due to older buildings/jobs code which more gets in a way of simpy that helps it, but rewriting so much logic is not something that we can afford atm. Tiers will help a bit but they will not fix it. We'll have to refactor code bit by bit.
Title: Re: General Discussion
Post by: DarkTl on November 10, 2016, 12:43:17 PM
What logic are you talking about? SimPy?
Title: Re: General Discussion
Post by: Xela on November 10, 2016, 02:42:42 PM
No...

I've explained it in bits over many posts but it prolly lacked context... some history:

Originally, jobs were functions. I watched this: https://www.youtube.com/watch?v=o9pEzgHorH0 just before writing them :D

Rudi turned them into classes (without asking). They didn't do anything more, they just looked differently...

Later Thewlis did that weird thing to the WhoreJob that added a whore series of confusing classes which created confusing data-structure for different iterations of the job... it was close to impossible to work with and keep updated so I refactored it out of the game (until better days).


When I first started to work on the SE, I tried to write a special kind of loop for it but it took too much time so I dropped that project and wrote it as a slightly more complicated building/job combo (we did have a completely working SE version until Gismo destroyed it).


At some point SimPy was suggested as an option and it did exactly the same as I tried to code in for SE (practically to the letter).

After studying the module, I've explained the possible benefits and we've decided that it was worth to implement it.

The problem is, that simpy completely takes over the logic and execution of all workers, client handling, client matching, jobs logic, waiting and redirecting of workflow and etc. Now our Job classes looks really stupid because they are sort of used as markers that are bound to characters actions, do weird shit like setting up internal attributes in arbitrary methods in order to pass them to other methods just to be reset milliseconds later and etc. Most of that is so just because it was faster to use with simpy without completely refactoring jobs out of the game.

Problem is that we're loosing a good bit of flexibility that simpy offers for free (just because it's simpy) and most importantly, all of that is really difficult to keep straight in the head...

So yeah... logic and code structure is a mess, my plan is to refactor the whole thing after beta release and to hope that this added confusion due to mixed code structure doesn't take too much off the development time before then.
Title: Re: General Discussion
Post by: DarkTl on November 11, 2016, 02:25:19 AM
If you think it's worth it, we can leave SE for post beta and focus on jobs and businesses instead, refactoring them right now.
Title: Re: General Discussion
Post by: Xela on November 11, 2016, 02:30:44 AM
If you think it's worth it, we can leave SE for post beta and focus on jobs and businesses instead, refactoring them right now.

It's not the best option because SE is the first "job" that will be coded fully in SimPy. So experience with that is import for refactoring the rest.
Title: Re: General Discussion
Post by: DarkTl on November 11, 2016, 02:51:27 AM
Btw special fields for traits and items that work inside SE, like the ones for BE, will be welcomed. For better MC setups too.
Title: Re: General Discussion
Post by: Xela on November 11, 2016, 04:23:07 AM
Btw special fields for traits and items that work inside SE, like the ones for BE, will be welcomed. For better MC setups too.

Wouldn't that be an overkill? We're working with huge amount of data already. In either case, I am focusing on these things at the moment:

- Exploration based off effectiveness and points. Points will be the AP converted and effectiveness will be how well the team is at exploring.
- Traveling: travel_points: Getting there and back.
- Camping/Overnight to heal/restore.
- And fighting obviously combat.

I think I can make something like that work without too much fuss, maybe even preserving a good deal of the old logic.

There is still shitloads to do... for once, the succinct, most important events in a special format of the guild itself which we never had need to be arranged and interface for them created. More data to make exploration more unique and meaningful. Special events in/out that you asked for.
Title: Re: General Discussion
Post by: DarkTl on November 11, 2016, 09:41:40 AM
We only have one exploration skill. It doesn't give much place for imagination - or MC setups.

I mean stuff like skill/field which helps to avoid traps. These things basically affect only those special events I asked for. Ie we have a trap event (because traps are events). Base chance to get into trap is 50. But there is a skill/field which can reduce it for all traps.

I suppose I can just check for some trait instead, like Trap Master. But then I need means to do so, ie check the whole team inside SE for this trait when the trap event begins. It's probably the best bet in order to avoid complexity with new fields.
Title: Re: General Discussion
Post by: Xela on November 11, 2016, 11:18:03 AM
I mean stuff like skill/field which helps to avoid traps. These things basically affect only those special events I asked for. Ie we have a trap event (because traps are events). Base chance to get into trap is 50. But there is a skill/field which can reduce it for all traps.

Traps in the old design are not events, it's more like a terrain modifier. We can add more check... and more if/else forks :D

We only have one exploration skill. It doesn't give much place for imagination - or MC setups.

Leaves plenty of room, we didn't even start with casanova or manager mp setups yet.

I suppose I can just check for some trait instead, like Trap Master. But then I need means to do so, ie check the whole team inside SE for this trait when the trap event begins. It's probably the best bet in order to avoid complexity with new fields.

You'll have to figure out at least in general how we're using simpy. Then, after I am done with the general logic, we can slowly add event/traits checks and make the whole thing meaningful and well integrated into the rest of the game.


It'll have to wait till I have more dev time anyway, all I can do right now is to write 5 - 6 lines per day and getting back into "Jobs/Businesses" mode from BE/GUI mode :D
Title: Re: General Discussion
Post by: DarkTl on November 11, 2016, 11:23:16 AM
Old design? You mean that time when you wanted to build maps from tiles? Is it still legit for simpy?
Title: Re: General Discussion
Post by: DarkTl on November 11, 2016, 11:25:45 AM
Leaves plenty of room, we didn't even start with casanova or manager mp setups yet.
Not for explorer class. If you only can have high exploration skill to be good in exploration, you can't have different brunches in MC setup. They all will have high exploration -> meaningless to make brunches in the first place.
Title: Re: General Discussion
Post by: Xela on November 11, 2016, 01:58:41 PM
Old design? You mean that time when you wanted to build maps from tiles? Is it still legit for simpy?

Did you read the post with explanations I wrote? We did have a fully functioning SE, as in Simulated Exploration. Same as I am working on now only with less advanced main loop. CW wrote a lot of content for it which I am using to load into the current version.

Map from tiles was never meant to serve as simulated anything, it was player controlled.

Not for explorer class. If you only can have high exploration skill to be good in exploration, you can't have different brunches in MC setup. They all will have high exploration -> meaningless to make brunches in the first place.

MC will not parttake in SE before beta anyway. So only exploration oriented manager position is useful for MC at this stage.
Title: Re: General Discussion
Post by: DarkTl on November 11, 2016, 02:19:01 PM
I don't recall terrain modifiers newer than that. Where is this code? I only see tiles in the library/exploration folder.
Title: Re: General Discussion
Post by: Xela on November 12, 2016, 05:50:26 AM
I don't recall terrain modifiers newer than that. Where is this code? I only see tiles in the library/exploration folder.

It's called hazard I think...
Title: Re: General Discussion
Post by: DarkTl on November 12, 2016, 05:51:22 AM
Hm. I only found one mention about hazards, from 2014 (http://www.pinkpetal.org/index.php?topic=1291.msg29387#msg29387). This can't be right, we had to discuss it somewhere before you added it, but there is nothing even in google.
Not much in the code either. I see old exploration code, but not actual content.

Anyway, I don't remember much about the old SE, since I wasn't aware about the game code as much as now  ::)
Title: Re: General Discussion
Post by: Xela on November 12, 2016, 07:01:00 AM
Lets talk. We didn't discuss cause when I wrote original SE I was in "full out" mode. So I had like 8 hours dev time per day and focused on code so it was done really fast and without too much chatter. What do you have in mind for the new system?
Title: Re: General Discussion
Post by: DarkTl on November 12, 2016, 07:28:38 AM
We already did, here (http://www.pinkpetal.org/index.php?topic=3752.0). You didn't explain what do you mean exactly by hazards, but I figured there will be comments in the code anyway  :)

I only can show a screenshot (https://www.dropbox.com/s/5wopr4g82g0weug/2.jpg?dl=0) from neptunia minigame again, that's how I imagine SE in work, with different interface of course. Maybe without detailed battle logs if it's too hard to add.
The team can find enemies, chests or events. Chests contain loot/gold and may have traps. Events lead to arbitrary label and can do anything to the team. Strictly speaking, all chests can be events too, since they just give items or activate traps.

By events in general I mean text events and a few python lines, like increase/decrease health or give an item. Or for example check if the team has a lockpick if they found a locked chest. Those events will be visible only in SE log.
Title: Re: General Discussion
Post by: Xela on November 12, 2016, 08:02:29 AM
We already did, here (http://www.pinkpetal.org/index.php?topic=3752.0). You didn't explain what do you mean exactly by hazards, but I figured there will be comments in the code anyway  :)

Oki. I remembered most of that discussion even though I forgot the thread was there :D

It'll take some time as rewriting old code is slow... I've considered just writing new code before but decided not to.
Title: Re: General Discussion
Post by: picobyte on November 12, 2016, 10:37:21 AM
For better micromanagement I've adapted (https://github.com/picobyte/PyTFall/commit/a9e6aaa71827d80a1f986e929a47eb26eb376d8d#diff-2a939f2e950a5042264769d111fe22ce) the char_list screen. Girls on page get a selection box that can also be manipulated with buttons 'These" (to toggle selection on page) 'All' to select all with current filters or 'None'. Filters are also diplayed differently.

Currently I've implemented one mass action: training, but I think it would be useful to add more, for instance
* equipment
* activity
* location
* control
* get rid

The implementation for a selection in training.rpy and training - classes.rpy is somewhat hackish, the required functions are now recursed in a case of a list. Maybe they should by modified to expect a list in any case, with at least one character.

BTW I removed the sprite editor commit from my branch for now. It has save/restore issues for instance, so it's not yet ready.
Title: Re: General Discussion
Post by: Xela on November 12, 2016, 11:20:17 AM
For better micromanagement I've adapted (https://github.com/picobyte/PyTFall/commit/a9e6aaa71827d80a1f986e929a47eb26eb376d8d#diff-2a939f2e950a5042264769d111fe22ce) the char_list screen. Girls on page get a selection box that can also be manipulated with buttons 'These" (to toggle selection on page) 'All' to select all with current filters or 'None'. Filters are also diplayed differently.

Currently I've implemented one mass action: training, but I think it would be useful to add more, for instance
* equipment
* activity
* location
* control
* get rid

The implementation for a selection in training.rpy and training - classes.rpy is somewhat hackish, the required functions are now recursed in a case of a list. Maybe they should by modified to expect a list in any case, with at least one character.

Oki, So it is not possible to set multiple characters up for training?

BTW I removed the sprite editor commit from my branch for now. It has save/restore issues for instance, so it's not yet ready.

What do you mean by "sprite editor"?
Title: Re: General Discussion
Post by: picobyte on November 12, 2016, 11:40:08 AM
Oki, So it is not possible to set multiple characters up for training?

yes, it is.

What do you mean by "sprite editor"?

I added its code yesterday as a commit to my branch but removed it for now as I think I cannot merge it yet. It is from a renpy project I wrote earlier to compose a body, using multiple images, using layers and the renpy camera code, the former project wasn't published. I'll add the code in a development branch, but it requires art for which I used Akabur's witch trainer images combined with an old scarecrow kisekae set from the owl. I'm not sure want their art shared.
Title: Re: General Discussion
Post by: Xela on November 12, 2016, 11:50:48 AM
I added its code yesterday as a commit to my branch but removed it for now as I think I cannot merge it yet. It is from a renpy project I wrote earlier to compose a body, using multiple images, using layers and the renpy camera code, the former project wasn't published. I'll add the code in a development branch, but it requires art for which I used Akabur's witch trainer images combined with an old scarecrow kisekae set from the owl. I'm not sure want their art shared.

To use as NPC? I doubt that it would be possible to use something like that as a char without a lot of extra code to the show method, which is likely to create an extra mess we can do without.


I wrote something along those lines for another game we're working on. It loads sprites directly from images files to a UDD, handles gesture and closing and has a complicated system setup for expressions (main character has 470+ expressions (we're obviously not using all of them but still :D )).

We have 7 or 8 character with layers, expressions and clothing without a single image declaration except for their names.
Title: Re: General Discussion
Post by: DarkTl on November 12, 2016, 01:07:18 PM
For better micromanagement I've adapted (https://github.com/picobyte/PyTFall/commit/a9e6aaa71827d80a1f986e929a47eb26eb376d8d#diff-2a939f2e950a5042264769d111fe22ce) the char_list screen. Girls on page get a selection box that can also be manipulated with buttons 'These" (to toggle selection on page) 'All' to select all with current filters or 'None'. Filters are also diplayed differently.
Huh? But I don't see anything new at the chars_list screen, even after force recompile...
Title: Re: General Discussion
Post by: picobyte on November 12, 2016, 01:26:20 PM
Sorry not pushed yet, I have done that now. please ignore the equipment button, I will remove that shortly.

Edit: actually I see I didn't push the equipment button yet. It is a local change to try to get it working.
Title: Re: General Discussion
Post by: Xela on November 12, 2016, 02:57:52 PM
Look good, there is less space for filters now, amount of which increases with businesses and available jobs but this one is definitely worth it.

Alignment breaks depending on if char is a slave or not. Also we have a "proper" empty check box icon (somewhere).
Title: Re: General Discussion
Post by: picobyte on November 12, 2016, 03:51:32 PM
The decreased space is to allow more mass actions except training. Equipment is a tough one. I'm thinking about creating a PytGroup class for this purpose.

Quote
* equipment
* activity
* location
* control
and maybe: get rid
Title: Re: General Discussion
Post by: Xela on November 13, 2016, 03:37:44 AM
Classes are usually an overkill for sorting/grouping, screens, label with a while loop intercepting ui.interact and maybe a couple of funcs are enough. But if you think that class can result in clearer, better readable code, knock yourself out :)

That weird thing longint did with sorting for chars list screen is a very old and confusing code in of itself. I tried cleaning it up a bit but there is always something else to work on so I left it for major refactoring effort after beta release.


Pyt are also old and weird naming style, you can call the class CharsGroup or SortingGroup or something along those lines if you decide to go with a class.
Title: Re: General Discussion
Post by: Xela on November 13, 2016, 04:19:26 AM
The decreased space is to allow more mass actions except training.

And yeah, I figured :)

But I am not going over new code after every push. I've tested old design with a lot of filters and there will be an overflow of space for filter option when player has loads of buildings and lot of jobs option. If there is a viewport there already or you put one in, this post is not relevant. If there is not, there should be one so we don't get a new bug (which we can take out now) that pops up when people start testing after beta release.
Title: Re: General Discussion
Post by: Xela on November 13, 2016, 10:37:59 AM
@Dark:

Did you delete the track we used to play during BE testing all the time? It was one of my favs and I can't find it anymore.
Title: Re: General Discussion
Post by: DarkTl on November 13, 2016, 01:31:17 PM
I deleted some tracks that cannot be easily looped, which led to awkward silence in the middle of battle. I think I deleted the one you talking about by mistake, it was already looped properly. If we taking about the same track, of course. I restored it.
Title: Re: General Discussion
Post by: Xela on November 13, 2016, 02:05:03 PM
I deleted some tracks that cannot be easily looped, which led to awkward silence in the middle of battle. I think I deleted the one you talking about by mistake, it was already looped properly. If we taking about the same track, of course. I restored it.

Yeap, that's the one I was talking about. There is at least another one of mine missing but we can do without it.


It all got to start somewhere :D :
(https://s13.postimg.org/dd73bn4sj/2016_11_13_20_58_56.jpg) (https://postimg.org/image/dd73bn4sj/)
Title: Re: General Discussion
Post by: DarkTl on November 13, 2016, 02:58:00 PM
When in doubt, use indifferent portraits, they are always suitable no matter the situation  :)
Title: Re: General Discussion
Post by: picobyte on November 13, 2016, 08:51:19 PM
But I am not going over new code after every push.
Fine with me. Just reporting changes here.

If there is a viewport there already or you put one in, this post is not relevant.
It was already in place there.

I've added a group equip implementation. Items are only shown, retrieved or given if all members of the group have an item or can be provided.

Title: Re: General Discussion
Post by: Xela on November 14, 2016, 05:06:59 AM
I've added a group equip implementation. Items are only shown, retrieved or given if all members of the group have an item or can be provided.

- Trying to equip items to a group of characters at least one of which doesn't want or cannot equip it causes ctd.
- Transfer button causes ctd. It should either be disabled or preferably lead to transfer screen with all of the chosen chars and mc.
- Some GUI stuff is still misaligned.

And most importantly:
- ALL item operations must go through their respective functions defined in item functions file. You should not pass items between inventories directly or equip them directly. There are cases where this doesn't matter but normal transfer/equipment is never one of those cases.

Reason for this is that in PyTFall a free character may refuse to receive, equip or give away an item. There are also counters in place that attempt to track how many items were transferred between characters (for character to which that matters) so they would give back an item that MC gave them but not one of their own items.

There may also be rules that prevent character transferring or equipping specific items.

All of those functions where such things are relevant take a "silent" argument, when set to True, characters do not try to explain or complain why they don't want to do some specific thing which is useful when dealing with them in bulk.
Title: Re: General Discussion
Post by: picobyte on November 14, 2016, 05:24:05 AM
Thanks for review. Will go through it later - got to work now.
Title: Re: General Discussion
Post by: Xela on November 14, 2016, 06:48:58 AM
If you're gonna test new Ren'Py prerelease, pull from github. They are slowly prepping migration to Python 3 so isinstance(..., str) which Thewlis used a lot has changed it's meaning due to new imports.
Title: Re: General Discussion
Post by: DarkTl on November 14, 2016, 06:54:45 AM
...meaning schools and interactions gonna get wrecked?
Title: Re: General Discussion
Post by: Xela on November 14, 2016, 07:08:08 AM
...meaning schools and interactions gonna get wrecked?

They got a little bit wrecked but my last push fixed them (in python 3 all strings are unicode so there is no more splitting of "basestring" to "str" and "unicode" as there is in Python 2). When they migrate to Python 3, a lot of stuff will break... for now they just imported some stuff that partially mimics Python 3 behavior. It's not that difficult to migrate but there will be some difficult cases, like for example, in Python 2, dividing two ints returns an int, in Python 3 it returns a float...
Title: Re: General Discussion
Post by: DarkTl on November 14, 2016, 07:28:12 AM
Ah yes, I even had a testing menu where I checked python divisions. Because in delphi I was taught that division result is always float -_-
Let's see... (http://sebastianraschka.com/Articles/2014_python_2_3_key_diff.html)
- xrange does not exist in python 3, for some reason you use it a lot in the code.
- .next() method does not exist in p3, we use it in quests system and calendar
- zip(), filter() and dictionary methods don't return lists any longer. We don't use zip and filter much, but dictionaries are used a lot. Also has_key method is gone, which is used in a few places.
Title: Re: General Discussion
Post by: Xela on November 14, 2016, 08:39:00 AM
- xrange does not exist in python 3, for some reason you use it a lot in the code.

Because it's what you're supposed to use (returns generator instead of a list). It's renamed to range in Python 3 and original range is no more.

- .next() method does not exist in p3, we use it in quests system and calendar

Not relevant, these methods are defined by us so they are not subject to this change.

- zip(), filter() and dictionary methods don't return lists any longer. We don't use zip and filter much, but dictionaries are used a lot. Also has_key method is gone, which is used in a few places.

It's an easy fix.


It may be a while till they actually switch so there is no urgency.
Title: Re: General Discussion
Post by: Xela on November 14, 2016, 08:44:14 AM
They don't have basestring in Python 3 either so this code would have to be adjusted but I don't want to try and write compatible code like importing string types for six. I don't expect this project to have serious issues with migration. SimPy would have to be adjusted a little bit (it always needs to be for Ren'Py) but it's not hard either. I am not sure about the json validator thing but they should have Python 3 support as well.
Title: Re: General Discussion
Post by: DarkTl on November 14, 2016, 09:25:02 AM
I know what we missing  :)
We missing Continue option in the main menu which loads the most recent save, and is disabled if there are no saves. It's de facto standard in modern games. I wonder how hard it would be for renpy.
Title: Re: General Discussion
Post by: Xela on November 14, 2016, 10:18:31 AM
We had one in alpha. It is not difficult at all, I think there is a builtin func for that or i wrote one. Gismo got rid of I think.
Title: Re: General Discussion
Post by: picobyte on November 14, 2016, 08:25:29 PM
- Trying to equip items to a group of characters at least one of which doesn't want or cannot equip it causes ctd.
this seems fixed now

- Transfer button causes ctd. It should either be disabled or preferably lead to transfer screen with all of the chosen chars and mc.
Some of it fixed, but there are some issues still.

- Some GUI stuff is still misaligned.
better now?

And most importantly:
- ALL item operations must go through their respective functions defined in item functions file. You should not pass items between inventories directly or equip them directly. There are cases where this doesn't matter but normal transfer/equipment is never one of those cases.

Reason for this is that in PyTFall a free character may refuse to receive, equip or give away an item. There are also counters in place that attempt to track how many items were transferred between characters (for character to which that matters) so they would give back an item that MC gave them but not one of their own items.

There may also be rules that prevent character transferring or equipping specific items.

All of those functions where such things are relevant take a "silent" argument, when set to True, characters do not try to explain or complain why they don't want to do some specific thing which is useful when dealing with them in bulk.

I think the checks should be in place. Are you aware of a path where checks do not happen?
Title: Re: General Discussion
Post by: Xela on November 15, 2016, 04:36:04 AM
this seems fixed now
Some of it fixed, but there are some issues still.

ctds are gone but transfer still doesn't go through functions or something is still off.

better now?

Little bit, I can do this myself.

I think the checks should be in place. Are you aware of a path where checks do not happen?

SE is one such an examples, because we deal with consumables and it's a life and death situations so the idea is that they just share.
Title: Re: General Discussion
Post by: DarkTl on November 15, 2016, 04:51:43 AM
Speaking of consumables, don't forget that  ideally cblock field should work in SE too.
Title: Re: General Discussion
Post by: lamoli on November 15, 2016, 06:41:00 AM
Hey,


Just to say iv made major improvements on clothing extraction to use em as layer 1 click no errors as before even on the AA level... and it works with body-parts as-well.. like boobs size for example.. (body-parts arent perfected yet bu will improve results soon)


(https://s20.postimg.org/huchz85yx/Strip_Base.png) (https://postimg.org/image/huchz85yx/)(https://s20.postimg.org/5m3f1znll/Strip_M.png) (https://postimg.org/image/5m3f1znll/)(https://s20.postimg.org/v3ltll5bt/Strip_L.png) (https://postimg.org/image/v3ltll5bt/)(https://s20.postimg.org/3vke0i62h/Strip_panty.png) (https://postimg.org/image/3vke0i62h/)
(https://s20.postimg.org/y96fbsny1/Strip_dress.png) (https://postimg.org/image/y96fbsny1/)(https://s20.postimg.org/jopcgyszd/Strip_dress_M.png) (https://postimg.org/image/jopcgyszd/)(https://s20.postimg.org/s5ourvxo9/Strip_dress_L.png) (https://postimg.org/image/s5ourvxo9/)
Layer those and check result.. ( im really happy so far as i just press the render button and everything is automated for the extraction)



And here body types with training degree pose (not rendered)


(https://s20.postimg.org/4v63igvuh/LoliAgainst.jpg) (https://postimg.org/image/4v63igvuh/)(https://s20.postimg.org/o1jalncc9/LoliNormal.jpg) (https://postimg.org/image/o1jalncc9/)(https://s20.postimg.org/5n8rho01l/LoliShy.jpg) (https://postimg.org/image/5n8rho01l/)
(https://s20.postimg.org/mpasb8to9/YoungAgainst.jpg) (https://postimg.org/image/mpasb8to9/)(https://s20.postimg.org/t49t7x0e1/YoungNormal.jpg) (https://postimg.org/image/t49t7x0e1/)(https://s20.postimg.org/pyp7hphrt/YoungShy.jpg) (https://postimg.org/image/pyp7hphrt/)
(https://s20.postimg.org/5efs5hcmx/Mature3.jpg) (https://postimg.org/image/5efs5hcmx/)(https://s20.postimg.org/ysbil2fcp/Mature2.jpg) (https://postimg.org/image/ysbil2fcp/)(https://s20.postimg.org/rntpc183d/Mature1.jpg) (https://postimg.org/image/rntpc183d/)

Well i made those for JoNt2 but who knows if you need em later on..

I would say.. unless its full 3D like the latest Illusion game.. better skip customization ( i got the rig working with auto correcting joints and morphs to shape everything the way i want it but it will be nearly impossible to 2D render all those reshaping morphs and make them work unless your ok having thousands of images only for that... and there will be no animation with customization lol )
Title: Re: General Discussion
Post by: lamoli on November 15, 2016, 07:00:03 AM
Btw i wanted to pull from repo to see whats new but now there is 2 branch (Master and Femtobyte) who got the latest things ?


arf as usual i cant make it work lol
Title: Re: General Discussion
Post by: Xela on November 15, 2016, 07:38:35 AM
Btw i wanted to pull from repo to see whats new but now there is 2 branch (Master and Femtobyte) who got the latest things ?

Master is the latest.


"JoNt2"?


Are you still planning to put a rgirl pack together?
Title: Re: General Discussion
Post by: Xela on November 15, 2016, 07:40:16 AM
Speaking of consumables, don't forget that  ideally cblock field should work in SE too.

Code is not there yet, I barely have time for main loop atm.
Title: Re: General Discussion
Post by: lamoli on November 15, 2016, 08:04:03 AM
"JoNt2"?
Jack o nine Tails 2 ( clone project in python )


Are you still planning to put a rgirl pack together?


Of course.. those where part of the new rig/pose/render system im perfecting atm and part of what i needed ( with the exception of body-parts )


I now need to improve clothing collision/elasticity in blender somehow to truly fix any clothing adjustments that migh be required (making auto correction morphs for clothing could also be an option but will make the process of creation new clothing a pain so i try to avoid it)
Title: Re: General Discussion
Post by: Xela on November 15, 2016, 09:39:23 AM
Jack o nine Tails 2 ( clone project in python )

I usually keep tabs on these things... do they have a forum? What engine will they use?


I wrote a very cool class for Ren'Py that can load layers directly from filenames, it's an overkill for something that simple but if it ever gets more complex, we could use it in PyTFall as well.
Title: Re: General Discussion
Post by: DarkTl on November 15, 2016, 10:21:45 AM
You didn't know? Here (https://github.com/Gfurst/Jack-o-Nine-2) they are.
I wonder how different their engine, godot, from renpy, there is not much info about the differences.
Title: Re: General Discussion
Post by: Xela on November 15, 2016, 11:50:57 AM
You didn't know? Here (https://github.com/Gfurst/Jack-o-Nine-2) they are.

I see.

I wonder how different their engine, godot, from renpy, there is not much info about the differences.

Very different, it's closer to Unity in it's concept and has nothing to do with Python or Ren'Py.
Title: Re: General Discussion
Post by: Xela on November 15, 2016, 03:03:28 PM
There is a nasty zero division error in the be somewhere... it'll take a while to track down.

Found it.
Title: Re: General Discussion
Post by: lamoli on November 15, 2016, 05:23:03 PM
Ahh ok he said it used python.. but never checked it out as i was making improvements on my character creation templates..
on another note i found probably the best software to make clothes and its simple to use.. (Marvelous designer) might be worthy to spend some time using it as what i need the most now is clothing and hair
Title: Re: General Discussion
Post by: DarkTl on November 17, 2016, 11:49:31 AM
If item has both ctemp and addeffects fields, will ctemp affect addeffects?
Title: Re: General Discussion
Post by: Xela on November 17, 2016, 12:27:17 PM
If item has both ctemp and addeffects fields, will ctemp affect addeffects?

Most likely, yes... don't over-complicate things, all systems are overloaded with logic as it is.
Title: Re: General Discussion
Post by: DarkTl on November 17, 2016, 12:37:24 PM
I'm not asking to add something. I need to know how it works to make items. Because items code is so complicated, I cannot check it directly. And testing might not give valid results because it's been a while since it was written, so it might not work as intended after so many pushes.
Title: Re: General Discussion
Post by: Xela on November 17, 2016, 01:11:36 PM
I'm not asking to add something. I need to know how it works to make items. Because items code is so complicated, I cannot check it directly. And testing might not give valid results because it's been a while since it was written, so it might not work as intended after so many pushes.

It should just work, it only adds a downcounter, all usual logic should still apply. I am not 100% sure if it will auto disable effect after x days but I can check.
Title: Re: General Discussion
Post by: DarkTl on November 18, 2016, 08:24:50 AM
I am not 100% sure if it will auto disable effect after x days but I can check.
That's kinda very important. If I add effect, I should know if it's permanent or not.
Besides, some effects disappear by itself. If I add such effect to ctemp item, and it will disappear sooner than ctemp ends, I need to be sure it won't cause ctd.
Title: Re: General Discussion
Post by: Xela on November 18, 2016, 10:52:58 AM
and it will disappear sooner than ctemp ends, I need to be sure it won't cause ctd.

I went over the code, best I can tell is: Yes.

This will happen when the counter reaches 0:

Code: [Select]
            if hasattr(self, "effects"):
                for entry in item.addeffects:
                    if self.effects[entry]['active']:
                        self.disable_effect(entry)
                       
                for entry in item.removeeffects:
                    if not self.effects[entry]['active']:
                        self.enable_effect(entry)

So it will call disable_effect method of the effect specified in the item json. As I have said before, we do not have special layer or class to keep track of effects so it will be disabled even if it was activated by something else after the item was applied.
Title: Re: General Discussion
Post by: picobyte on November 18, 2016, 05:57:16 PM
Speaking of consumables, don't forget that  ideally cblock field should work in SE too.

I believe I fixed most issues, but not sure if the above was meant for me, if so please elaborate, I don't understand.

Beside the group changes there was a bug in the items transfer fixed: Items were sent the wrong way sometimes due plotting of buttons on top of one another in a loop.

The pytgroup seems to work for the transfer purpose, not sure if it can be extended to fighting. For instance, how you want to consider traits for a group depends on the situation. If we ever want to extend this, then I think we'll have to write methods that provide resolutions dependent on the situation.

The groups enable micromanagement, which should be nice later on in the game. Maybe we could let the availability of group management depend on the number and turns management jobs were fulfilled.
Title: Re: General Discussion
Post by: Xela on November 18, 2016, 07:37:37 PM
No, he aimed that at me :)

I believe I fixed most issues

There is still at least one issue with transfer, it doesn't seem to go through the respective func. If you mass transfer an item to a free char, they never seem to want to give it back. It works normally when old way with just the one char is used.
Title: Re: General Discussion
Post by: DarkTl on November 19, 2016, 07:06:36 AM
There is a major issue with mass equipment. Special consumables with scripted effects (they have jump_to_label field in json) are either don't work as they should or give CTD. Because they always expect a single valid target.
Such items should be unavailable for mass equipment.
Title: Re: General Discussion
Post by: picobyte on November 19, 2016, 01:18:38 PM
There is still at least one issue with transfer, it doesn't seem to go through the respective func. If you mass transfer an item to a free char, they never seem to want to give it back. It works normally when old way with just the one char is used.

This seems fixed now, free characters seem more selective. Or is there still odd behaviour?
Title: Re: General Discussion
Post by: picobyte on November 19, 2016, 01:27:02 PM
Special consumables with scripted effects (they have jump_to_label field in json) are either don't work as they should or give CTD. Because they always expect a single valid target.
Such items should be unavailable for mass equipment.

I've disabled their equipment or transfer for groups. Is that sufficient?
Title: Re: General Discussion
Post by: Xela on November 19, 2016, 02:09:56 PM
This seems fixed now, free characters seem more selective. Or is there still odd behaviour?

Yes, but I am not sure where :( I still managed to break it through mass transfer somehow, gonna test it some more right now.

I'd also like to thank you for your persistence, most coders give up quickly after finding out how much logic there is behind the game and leave the mess to us:

Dus: Van haarte bedankt :)
Title: Re: General Discussion
Post by: DarkTl on November 19, 2016, 02:33:33 PM
I've disabled their equipment or transfer for groups. Is that sufficient?
Yeah, I don't see any more problems there.
Title: Re: General Discussion
Post by: Xela on November 19, 2016, 02:40:59 PM
Yes, but I am not sure where :( I still managed to break it through mass transfer somehow, gonna test it some more right now.

I think this was a testing fluke. I transferred an item using the transfer screen without realizing that it was a consumable and free chars don't seem to ever give those back per design. There do not seem to be any more issues I can find atm.
Title: Re: General Discussion
Post by: picobyte on November 19, 2016, 02:57:39 PM
Yes, but I am not sure where :( I still managed to break it through mass transfer somehow, gonna test it some more right now.

I'd also like to thank you for your persistence, most coders give up quickly after finding out how much logic there is behind the game and leave the mess to us:

Dus: Van haarte bedankt :)

Ha, graag gedaan hoor! [happy to help you.] But it would have probably been merely a halfway decent hack without the scrutiny of you two :-)
Title: Re: General Discussion
Post by: picobyte on November 19, 2016, 07:38:08 PM
I notice some issues still though. If you try to group equip something that gives refinement.
Title: Re: General Discussion
Post by: picobyte on November 19, 2016, 08:19:12 PM
I get an error when I focus on running boots which has -20 refinement as stats. In the PytChar class it seems refinement is not defined as a stat, but rather a skill? is the items_feet json entry wrong?
Code: [Select]
{
    "id": "Running Boots",
    "desc": "Boots made of firm but light leather. Just wearing them arouses a desire to run.",
    "icon": "content/items/feet/rb.png",
    "price": 125,
    "sex": "unisex",
    "chance": 70,
    "badness": 75,
    "eqchance": 25,
    "hidden": false,
    "infinite": false,
    "slot": "feet",
    "type": "dress",
    "evasion_bonus": 1,
    "max": {"vitality": 15},
    "mod": {"agility": 10, "refinement": -20},
------------------------------^^^^^^
    "mod_skills": {"refinement": [0, 0, -0.08, 0, 0]},
    "locations": ["Tailor Store", "Ninja Shop"],
    "goodtraits": ["Athletic"]
    },

Edit: If the json is incorrect, there are more items with the same issue elsewhere.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 04:59:46 AM
Edit: If the json is incorrect, there are more items with the same issue elsewhere.

It's Dark's department but stat field is prolly old code that hasn't been adapted to skills system yet.
Title: Re: General Discussion
Post by: DarkTl on November 20, 2016, 05:32:28 AM
Yeah, refinement used to be a stat 2 years ago because we didn't have skills system, now it's a skill. It's hard to catch all such cases manually.
Title: Re: General Discussion
Post by: picobyte on November 20, 2016, 06:27:50 AM
Yeah, refinement used to be a stat 2 years ago because we didn't have skills system, now it's a skill. It's hard to catch all such cases manually.

No problem, can list the ones, they are listed in the backtrace after "strict" schema validation. For the items in git I have removed the refinement stat entries. Or is that too simple? Also some characters have it, they are not in git.

Code: [Select]
content/rchars/random_classes/data_Dark_Elf.json
content/rchars/random_classes/data_Noble_Elf.json
content/rchars/random_classes/data_Ranger_Elf.json

If there's more out of date, take a look at the schema/data_types.json. I can fix entries in json semi-automated, but I'll have to tackle each one at a time.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 06:49:13 AM
No problem, can list the ones, they are listed in the backtrace after "strict" schema validation. For the items in git I have removed the refinement stat entries. Or is that too simple? Also some characters have it, they are not in git.

Code: [Select]
content/rchars/random_classes/data_Dark_Elf.json
content/rchars/random_classes/data_Noble_Elf.json
content/rchars/random_classes/data_Ranger_Elf.json

If there's more out of date, take a look at the schema/data_types.json. I can fix entries in json semi-automated, but I'll have to tackle each one at a time.

I doubt refinement can be loaded as a stat from character JSONs (more likely that it will simply be ignored), we have a lot of stuff that prevents it. I think we may even had checks during item application but I've recently removed them so errors like this crash the game instead of writing warning to devlog.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 06:55:51 AM
Gonna try to wrap up core loop for SE tonight, maybe even start working on detailed reports interface if time permits.
Title: Re: General Discussion
Post by: picobyte on November 20, 2016, 07:01:36 AM
So I was thinking, we have char_equip screen and the item_transfer subscreen. I like the item_transfer screen layout, but is there anything that you can do here that you cannot do in the char_equip screen?
Title: Re: General Discussion
Post by: DarkTl on November 20, 2016, 07:38:51 AM
I think I fixed all repo cases. As for characters jsons, it's too early to update them considering how often we change stuff, since it cannot be done as easily as changing repo files.

So I was thinking, we have char_equip screen and the item_transfer subscreen. I like the item_transfer screen layout, but is there anything that you can do here that you cannot do in the char_equip screen?
Transfer items directly between characters.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 07:48:57 AM
So I was thinking, we have char_equip screen and the item_transfer subscreen. I like the item_transfer screen layout, but is there anything that you can do here that you cannot do in the char_equip screen?

Transfer items directly between characters.

Yeah, it also has a more convenient interface for transferring items. You misunderstood me about the intentions towards that screen and items transfer, the items transfer mechanics are not really designed to be just between the MC and the Char you picked from the profile screen, it's there cause someone asked me to throw that in. Originally it was designed to be activated from Buildings. When used that way, all characters in the building are loaded into the screen and you can make your choices.

So when I suggested loading a "group" into transfer screen, I did not mean your new sorting/grouping class. The idea was to just take the selected characters list, add MC there and feed that data to items transfer screen so you could transfer between character of your choice individually.
Title: Re: General Discussion
Post by: picobyte on November 20, 2016, 08:48:10 AM
So when I suggested loading a "group" into transfer screen, I did not mean your new sorting/grouping class. The idea was to just take the selected characters list, add MC there and feed that data to items transfer screen so you could transfer between character of your choice individually.

I missed it supported that, great idea, I implemented it. Maybe good to know though that it is still possible to transfer between groups, if you call the transfer screen with groups in the array. Also, I now display the odd indexed characters to the left, the even to the right.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 08:54:03 AM
Also, I now display the odd indexed characters to the left, the even to the right.

Awesome.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 10:09:28 AM
core loop for SE tonight

It's more or less working, really basic setup but they can go to the location, explore and come back. Fighting seems to be working as well although I had to add 100 turns limit to logical be cause it and SE content are very unbalanced.

Camping and overnight resting are next, maybe detailed interface after that.

...

Interface improvements are always welcome but if you decide to hit core logic, let us know first cause it is not explained anywhere in great detail. Like you've restored buildings loading from JSONs but those are there just for reference from Alpha release. In Beta, we're planning to generate buildings using code (once they are finished).
Title: Re: General Discussion
Post by: DarkTl on November 20, 2016, 10:38:29 AM
There is nothing wrong with finding unbeatable enemy. That means you need higher level and/or different skills.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 10:50:20 AM
There is nothing wrong with finding unbeatable enemy. That means you need higher level and/or different skills.

Agreed, but there was something else wrong, maybe I messed something up when setting up testing scenario because two weak teams kept fighting for 500 000 turns (we log it to devlog.txt). It doesn't matter, BE AI is still in the plans and this never happened with manual team setups.

There is a lot to do still from: http://www.pinkpetal.org/index.php?topic=3752.0 but with a working core loop, it's gonna go faster now. Interface logic is also incomplete, even logic that is working now.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 11:11:10 AM
You know... as you write code, ideas pop into the head. It's almost criminal that we do not have an item like "Tent" for SE :D Maybe I can set it up as a flag or something...
Title: Re: General Discussion
Post by: DarkTl on November 20, 2016, 11:20:22 AM
Unless you use wolves everywhere, they probably found enemies immune to physical damage  :)
Such things require elemental weapons or spells.

We also should limit enemies mp and vitality to prevent unfair spells spamming. They might have significant mp and vitality regeneration, but definitely not infinite resources.

You know... as you write code, ideas pop into the head. It's almost criminal that we do not have an item like "Tent" for SE :D Maybe I can set it up as a flag or something...
We even can have different types, with more expensive ones giving better bonuses after rest.
Title: Re: General Discussion
Post by: Xela on November 20, 2016, 12:24:52 PM
We even can have different types, with more expensive ones giving better bonuses after rest.

Yeap :)

(https://s17.postimg.org/6evthp563/2016_11_20_19_20_34.jpg) (https://postimg.org/image/6evthp563/)

I'll try to put some time into interface now but it's one of the most complex setups in the game so chances are it's not gonna get finished tonight :(
Title: Re: General Discussion
Post by: Xela on November 21, 2016, 02:54:40 AM
Man... Ren'Py new GUI boundaries handling is awesome. I can finally enjoy working on screens again!  ;D
Title: Re: General Discussion
Post by: DarkTl on November 21, 2016, 08:26:46 AM
Hmm. I'm not sure how to handle magic setups. There are 4 pure warriors classes, which gives plenty of room. But it's harder for pure mages, leaving combinations like assassin+mage aside.

I suppose before making setups we need the same amount of classes for mages too.
Title: Re: General Discussion
Post by: Xela on November 21, 2016, 11:53:54 AM
You don't need to cover every combination... it's like in Babe Runner, our artist drew like 19 separate images for facial expressions and I wrote the code for combining them. Turned into like 500 unique expressions. It's fun as hell but not usable in practice.

Pick the once you find the most interesting!
Title: Re: General Discussion
Post by: Xela on November 23, 2016, 06:01:52 AM
We prolly want to combine SE's Exploration and Logs screens and set "mods" like for stats/skills in chars profile screen. Right now the screens feel kinda "forced" and empty. In either case, I'll try to wrap up simple designs, fix most basic bugz and push a simple version of SE for testing/reviewing tonight.
Title: Re: General Discussion
Post by: DarkTl on November 23, 2016, 09:45:40 AM
You don't need to cover every combination... it's like in Babe Runner, our artist drew like 19 separate images for facial expressions and I wrote the code for combining them. Turned into like 500 unique expressions. It's fun as hell but not usable in practice.
No, there are not too many combinations. On the contrary, there are not enough magic classes to make as many pure mage setups as fighters classes have.
There could be separation into damager class and support class. But at this state we have only a few support spells, it's not nearly enough compared to the amount of damaging spells.
Even worse, support spells require more than just another animation from After Effects, they need unique coding from you most of the time, I mean stuff like magic shield or resurrection.
Title: Re: General Discussion
Post by: Xela on November 23, 2016, 09:57:48 AM
We'll add more as we develop. Beta doesn't have to include everything. Base screens for SE are ready, without any advanced logic yet but everything seems to be working. I am going to kill the most annoying logical bugs and crap I used for testing and push v.01 of the new SE :)
Title: Re: General Discussion
Post by: DarkTl on November 23, 2016, 10:27:28 AM
mc_stories["Mage"]["choices"] = OrderedDict(Arcane Knight="content/gfx/interface/images/mc/arc.png") doesn't work.
mc_stories["Mage"]["choices"] = OrderedDict("Arcane Knight"="content/gfx/interface/images/mc/arc.png") doesn't work too.

I need it to have two words.
Title: Re: General Discussion
Post by: Xela on November 23, 2016, 11:20:46 AM
mc_stories["Mage"]["choices"] = OrderedDict(Arcane Knight="content/gfx/interface/images/mc/arc.png") doesn't work.
mc_stories["Mage"]["choices"] = OrderedDict("Arcane Knight"="content/gfx/interface/images/mc/arc.png") doesn't work too.

I need it to have two words.

Proper:

Code: [Select]
mc_stories["Mage"]["choices"] = OrderedDict()
mc_stories["Mage"]["choices"]["Arcane Knight"] = "content/gfx/interface/images/mc/arc.png"

Ok as well if you need to instantiate just with one entry:

Code: [Select]
mc_stories["Mage"]["choices"] = OrderedDict({"Arcane Knight": "content/gfx/interface/images/mc/arc.png"})
Title: Re: General Discussion
Post by: Xela on November 23, 2016, 01:42:53 PM
Just pushed early version of FG :)
Title: Re: General Discussion
Post by: DarkTl on November 23, 2016, 02:59:15 PM
I don't see any traces of FG. Or, rather, there were more traces of it before your push, now I don't see anything related to it  :D
Title: Re: General Discussion
Post by: Xela on November 23, 2016, 03:01:01 PM
I don't see any traces of FG. Or, rather, there were more traces of it before your push, now I don't see anything related to it  :D

You need to add it to your testing file or grab mine. It was never supposed to have it's own button on main screen. It's a business just like any other business.
Title: Re: General Discussion
Post by: DarkTl on November 23, 2016, 03:11:20 PM
Yeah, the game tells it sends a team to exploration with your current testing file. And I see 3 new random characters called Test Fighter in the girl list, which are located in TestBuilding and do nothing. That's it.

Btw how are we supposed to pick location for explorations without exploration screen?
Title: Re: General Discussion
Post by: Xela on November 23, 2016, 03:20:39 PM
Yeah, the game tells it sends a team to exploration with your current testing file. And I see 3 new random characters called Test Fighter in the girl list, which are located in TestBuilding and do nothing. That's it.

Btw how are we supposed to pick location for explorations without exploration screen?

Didn't you help me test the guild interface? It's been there for a couple of month. You click buildings ==> details under Exploration Guild ==> Team setup under Team ==> Send team under explore (fixed time exploration runs atm) ==> Pick the area under logs once the teams get back to see what reports there will look like.

Nothing is completely finished yet but it's a start.

I forgot about the team, you can comment it out somewhere closer to the end of file, it's a unconditioned test setup.

Title: Re: General Discussion
Post by: DarkTl on November 23, 2016, 03:30:27 PM
It's been there for a couple of month. You click buildings ==> details under Exploration Guild
Atm there is nothing but TestBuilding at the Building screen. I can't see the guild anywhere.
Title: Re: General Discussion
Post by: Xela on November 23, 2016, 03:51:04 PM
Atm there is nothing but TestBuilding at the Building screen. I can't see the guild anywhere.

https://youtu.be/11Y5Mv5aIUE
Title: Re: General Discussion
Post by: DarkTl on November 23, 2016, 10:36:33 PM
Right...
https://www.dropbox.com/s/xpi0cl8xpio2fk0/3.jpg?dl=0
Title: Re: General Discussion
Post by: Xela on November 24, 2016, 02:32:33 AM
How can this even be possible? Delete all .rpyc manually?
Title: Re: General Discussion
Post by: DarkTl on November 24, 2016, 02:46:30 AM
Yeap. Force recompile didn't helped this time, deleting helped.
Title: Re: General Discussion
Post by: Xela on November 24, 2016, 05:18:24 AM
Yeap. Force recompile didn't helped this time, deleting helped.

That does seem to happen every so often when code is moved or files are deleted. Old byte code gets compiled as well, I just don't understand why it doesn't cause more issues than business not showing up.
Title: Re: General Discussion
Post by: DarkTl on November 24, 2016, 09:07:59 AM
Ok, let's see...
- InSlots and ExtSlots are absolutely counterintuitive, I can't even begin to guess what are they.
- Items and enemies probably should be hidden until have been found at least once. Maybe not enemies, but definitely items.
- Drag and Drop at the team screen is not complete. Once you dropped a character to the team frame, you cannot drop another character instead if you changed your mind, AND you cannot drag and drop the selected character out of the team frame to free the slot. Due to such inconstancy d&d is not as useful as it could be.
Title: Re: General Discussion
Post by: Xela on November 24, 2016, 09:36:53 AM
- InSlots and ExtSlots are absolutely counterintuitive, I can't even begin to guess what are they.

Interior and Exterior space in the building to place businesses/upgrades for them.

- Items and enemies probably should be hidden until have been found at least once. Maybe not enemies, but definitely items.

Both will be, I am showing all of them because I need to test GUI (which tends to break a lot lately between renpy versions cause they are trying to make it smarter (with great degree of success)).

- Drag and Drop at the team screen is not complete. Once you dropped a character to the team frame, you cannot drop another character instead if you changed your mind, AND you cannot drag and drop the selected character out of the team frame to free the slot. Due to such inconstancy d&d is not as useful as it could be.

You can remove them through pop-up menu (move back to the common pool). Not sure that dragging them back is a good idea in general cause it may require more logic, but i'll check it tomorrow. The idea behind drag and drop is that you can shove them into a correct team quickly and intuitively. Shoving from team to team or back into the main pool will (most likely) require annoying code and possibly a full rewrite of that part of interface into python which I do not consider an option for beta. If a simple way of doing it becomes apparent, we'll throw it in.
Title: Re: General Discussion
Post by: DarkTl on November 24, 2016, 12:07:31 PM
I can't find a way to rename teams.

i don't understand why gui became messed up (https://www.dropbox.com/s/xpi0cl8xpio2fk0/3.jpg?dl=0) when we did nothing to that screen. The size is still 330 everywhere, yet the left frame is thinner now, which results in circle frame looking too big (in fact it's the only thing which still has correct size).
Title: Re: General Discussion
Post by: Xela on November 24, 2016, 01:34:27 PM
I can't find a way to rename teams.

i don't understand why gui became messed up (https://www.dropbox.com/s/xpi0cl8xpio2fk0/3.jpg?dl=0) when we did nothing to that screen. The size is still 330 everywhere, yet the left frame is thinner now, which results in circle frame looking too big (in fact it's the only thing which still has correct size).

Maybe i haven't added naming the team yet...

Ren'Py calculates displayable boundaries completely differently now. We'll fix gui before releasing.
Title: Re: General Discussion
Post by: lamoli on November 25, 2016, 09:51:06 AM
Im now using a program to calculate clothing physics/collision so i would never have to tweak it again before render.. but there is a down side.. now the clothing item is by character type.. if body size change i need to make adjustments on clothing like in real life but on the good side the clothing will act and move like the real stuff..


Im currently rendering a small video at 6 fps so you see more clearly what happens and will link it once its done ( no scene settings a basic camera and 2 light its just to show clothing nothing else )


Also i didnd add textures or special volumes to the clothing ( its as flat as paper now.. if movement is alright.. ill improve its looks )
Title: Re: General Discussion
Post by: lamoli on November 25, 2016, 11:44:39 AM
Here it is..


https://www.dropbox.com/s/b0bx9t5jsh0thba/schooluni0090-0181.avi?dl=0 (https://www.dropbox.com/s/b0bx9t5jsh0thba/schooluni0090-0181.avi?dl=0)


Choosing something too close to pure white was a wrong move as you cant see the details of the clothing.. and also i used pose from template ( might need to adjust it for every clothing type as the hands collide skirt lol ) but id say getting those clothes moving like this is nice.. now i need to find something for the hair who are static atm ( i could rig/pose em or make hard physics hair like the mmd but i search for something better if there is else it will take long to get lots of hair styles )


Also looks like the pose importer didnt bring facial expressions >.<
(now i wish i was better with python to improve this scrip for blender)
Title: Re: General Discussion
Post by: DarkTl on November 25, 2016, 12:56:52 PM
Well, it looks good, but the lack of facial expressions is a problem.
Also, it is useful for animations, but this limitation ("if body size change i need to make adjustments on clothing like in real life") on the contrary complicates pictures creation. After all, you cannot use animated pics everywhere, at very least portraits and profile pictures don't need animations. Or, rather, they could be animated too, but it would require insane amount of rendering to be done properly.


Xela, how about adding an experience field to mobs which determines base exp reward for killing the mob inside SE/arena? The resulting exp could be something like base exp + mob level*5.
Title: Re: General Discussion
Post by: Xela on November 25, 2016, 01:55:27 PM
Xela, how about adding an experience field to mobs which determines base exp reward for killing the mob inside SE/arena? The resulting exp could be something like base exp + mob level*5.

That would be too much + we can prolly move towards the dnd experience bonuses at least for combat (I don't remember how it works but I do recall that properly leveled mobs and chars is what was required).

We need to think about jsons in general here... old jsons carry a lot of good data but it's prolly not enough for simpy design to which we'll be adding more logic soon. I am kinda stuck at how far to push it for beta atm...
Title: Re: General Discussion
Post by: Xela on November 25, 2016, 02:00:10 PM
Also looks like the pose importer didnt bring facial expressions >.<
(now i wish i was better with python to improve this scrip for blender)

You still didn't write any guides for rendering, I can help out with python code if needs be but I need at the very least a test setup.
Title: Re: General Discussion
Post by: lamoli on November 25, 2016, 05:45:18 PM
Original pose file had expression and it should have changed while she change pose.. but the pose importer script didnt import it and only noticed it when it was done.. so i could say all is good but the hair..


As for the body type limitation its allright as i already planned 3 body size like (loli/young/mature) as for boobs size its a simple change on the clothing pattern.. so yeah like in real life everything is sewed now lol ( this sailor outfit took me 1 day ) but i still lacks knowledge on how to do more complicated stuff so i need to make other more complicated clothing to improve my skills making them


The good thing doing so is if we keep 3 body types changes are simple and the process of creating the clothing is like night and day when you compare ( millions of vertex pulling VS cutting piece of clothing and sewing it in 3d ) not to mention the working clothing physics..


Other problem im face with now is i need patterns ( how is most of the everyday clothing drafted... ) i managed to make a few of those but yet to find how to make a bra lol


As for the how to do so.. im still working on the thing..


1 Making a Named or Random girl ( so far character creation works fine, will need more skills if you want to look like someone known )
2 Posing the girl for profile or scene ( got a few self made poses and managed to get the auto correcting the joints when posing as well )
3 Clothing for girls ( clothing problem i had are more or less resolved but need more experience to make more of those)
4 finding a system to move the hair ( atm its a rigid model you can pull vertex with but need either a normal rig or mmd solid physic rig or better something like for the clothing )


Poses comes with facial expression..
(in the past i used a system that morphed clothing with girl shape and it was nice but had its down side as you might have to pull lots of vertex to fix problems)
Title: Re: General Discussion
Post by: Xela on November 26, 2016, 01:42:18 PM
Team can now be renamed:

(https://s11.postimg.org/j4t5gp2gf/2016_11_26_20_37_31.jpg) (https://postimg.org/image/j4t5gp2gf/)

I am not going to calculate and adjust text size for every option, player should pick names that fit the design. Like KUKUMAMATATA breaks it while Kukuma Matata gits the frame and is aligned all pretty to .5 :) Button will obviously remain functional if text goes out of bounds. We do not check for name repetitions, that should not break anything cause we're passing objects around but it can get confusing when reading reports.
Title: Re: General Discussion
Post by: Xela on November 26, 2016, 02:15:58 PM
- Drag and Drop at the team screen is not complete. Once you dropped a character to the team frame, you cannot drop another character instead if you changed your mind, AND you cannot drag and drop the selected character out of the team frame to free the slot. Due to such inconstancy d&d is not as useful as it could be.

I've looked into it. It may not just be too annoying of a logic to write for Beta but the same prolly counts for final release as well. It's possible but the merit of such feature does not justify the time it'll require to write the required code.
Title: Re: General Discussion
Post by: DarkTl on November 26, 2016, 03:27:17 PM
In this case we'll need means to clear the whole team instantly - instead of clicking on every character manually.

When you use equip and profile options, they sometimes (pretty often) become red (https://www.dropbox.com/s/xpi0cl8xpio2fk0/3.jpg?dl=0).
Title: Re: General Discussion
Post by: Xela on November 26, 2016, 05:40:09 PM
In this case we'll need means to clear the whole team instantly - instead of clicking on every character manually.

If you say so...

When you use equip and profile options, they sometimes (pretty often) become red (https://www.dropbox.com/s/xpi0cl8xpio2fk0/3.jpg?dl=0).

I am going to try and figure out why/when. This happened before and there may be some form of a new feature in Ren'Py I don't know about (yet).
Title: Re: General Discussion
Post by: Xela on November 26, 2016, 06:32:15 PM
All done :)
Title: Re: General Discussion
Post by: Xela on November 26, 2016, 10:06:12 PM
...

Looks like I found the issue what f*cked up BE and several other things:

Code: [Select]
-                'health': [100, 0, 100, 200],
+                'health': [200, 50, 200, 400],

I am not entirely sure what you were trying to do here, but please don't ever do that again :)
Title: Re: General Discussion
Post by: DarkTl on November 27, 2016, 01:43:25 AM
I hoped it will prevent health going down to 0 when too many traits/effects that decrease health are involved. You mentioned that BE operates separately from the main game, I never thought it will be affected too.
Title: Re: General Discussion
Post by: Xela on November 27, 2016, 04:59:26 AM
I hoped it will prevent health going down to 0 when too many traits/effects that decrease health are involved. You mentioned that BE operates separately from the main game, I never thought it will be affected too.

I see, actually that was old Jake's BE, fighters there were completely isolated from PyTFall's characters. Minimum should always be 0... if we were starting to code the system today, I'd make that 0 even for luck and disposition and remove it from settings.

Basically min 50 means that health can never go below 50, making all characters in the game immortal unless whatever is supposed to kill them does at least damage of 50 or more (but even in this case, there health will still remain at 50 eve though death was triggered). So when we are testing SE with a setup of weak wolves vs weak team, all the nubs on both sides fight till their health is at 50 and only occasionally critical strike is rolled that would cause damage over 50 and finally finish someone off/ends the BE.

It was a weird case which I couldn't figure out for a while :) In some cases, when traits that improve defense were rolled on top of Warrior trait for at least one of the testing characters, BE would go into infinite loop because even critical strikes from such shitty opponents could no longer kill her. And apparently level 1 random warrior without equipment never trumps level 10 wolf... no matter how lucky they get with traits.
Title: Re: General Discussion
Post by: DarkTl on November 27, 2016, 07:40:28 AM
Quote
    # Useful keymappings (first time I try this in PyTFall): ====================================>
    if focusitem:
        key "mousedown_2" action Return(["item", "equip/unequip"])
    else:
        key "mousedown_2" action NullAction()
    key "mousedown_3" action Return(['control', 'return'])
    key "mousedown_4" action Function(inv_source.inventory.next)
    key "mousedown_5" action Function(inv_source.inventory.prev)
    key "mousedown_6" action Return(['con', 'return'])
Curious example of using additional mouse buttons in the code. But it would work much better if you could equip/unequip without selecting the item first via left mouse button, just by pointing at it.
Title: Re: General Discussion
Post by: DarkTl on November 27, 2016, 08:19:30 AM
We still have old slots names (aka smallweapon) at the equipment screen, inside the equipment doll slots.
Title: Re: General Discussion
Post by: Xela on November 27, 2016, 08:22:12 AM
Curious example of using additional mouse buttons in the code. But it would work much better if you could equip/unequip without selecting the item first via left mouse button, just by pointing at it.

I am fairly sure that it's not hard to arrange for but it seems very impracticable. Focusing item by clicking on it to see it's effects first is more intuitive. Maybe we can poll this after the release and change in a patch if people like the idea.

We still have old slots names (aka smallweapon) at the equipment screen, inside the equipment doll slots.

Right... those need to be aliased as well. I've noticed it couple of days as well ago but did get around to fixing it yet.
Title: Re: General Discussion
Post by: DarkTl on November 27, 2016, 08:52:27 AM
Ideally we could use there slots icons instead of slot names. Like the ones we use for filters, but with transparent background. Too bad we don't have the source pictures used by Gismo when he made the filters icons.
Without the source it's not an easy task to find suitable icons, so meanwhile aliases are better than raw names.

key "mousedown_3" action Return([...']) is a great way to exit beach minigames at any point without finishing them, if one desires to.
Title: Re: General Discussion
Post by: Xela on November 27, 2016, 09:06:25 AM
Ideally we could use there slots icons instead of slot names. Like the ones we use for filters, but with transparent background. Too bad we don't have the source pictures used by Gismo when he made the filters icons.
Without the source it's not an easy task to find suitable icons, so meanwhile aliases are better than raw names.

I'll ask him when he's on. He might still have them.

key "mousedown_3" action Return([...']) is a great way to exit beach minigames at any point without finishing them, if one desires to.

Feel free to add that.
Title: Re: General Discussion
Post by: DarkTl on November 28, 2016, 09:09:01 AM
It wasn't as hard to delete backgrounds as I feared. I think doll slots look pretty good now.
Title: Re: General Discussion
Post by: picobyte on November 28, 2016, 03:47:06 PM
I have been tinkering with the PytGroup, but not pushed because there are some flaws still.

Local changes include a sepia equipment for the most abundant item, if only a part of the group has it (similar to partially owned items). Also I have the `char control' (button/screen) working to some extent, added a grey marked checkbox for partial selection. Issues that remain:

Girl control is not restricted correctly to free / non-free chars. With all chars selected it is possible to set/unset options in `char control' that toggle these options also for characters where this  shouldn't be possible. There is some restriction, but it is not the total restriction of the entire selection of characters.

Equipment filters often do not work as supposed for items present in part of the group and sometimes do not show.

Edit: nice addition by the way, the items backgrounds.
Title: Re: General Discussion
Post by: picobyte on November 28, 2016, 06:43:10 PM
Fixed Girl control restriction and filters so I've pushed changes.
Title: Re: General Discussion
Post by: Xela on November 28, 2016, 06:59:05 PM
I'll try it out tomorrow, code looks unnecessary complicated for something that groups a bunch if chars and applies funcs to the groups but as long as it's working :)
Title: Re: General Discussion
Post by: picobyte on November 29, 2016, 03:03:28 AM
Care to suggest some improvements?  8)
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 05:40:57 AM
Whoa.. just noticed a drop in quality using avi(jpg) versus normal transparent png to make webm
As your using webm it would be best to make a animation you might need using pngs them making a webm out of it like i did before


Im rendering the same 3 poses as before with the higher grade school uniform i just made..
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 06:11:44 AM
Care to suggest some improvements?  8)

I would love to go over your entire code thoroughly to see what everything does, there is barely time to write my own and even when there is, I am too tired to :(

Besides the design which I called "unnecessary complicated" as I do not understand why it was required, obvious flaw is:

Code: [Select]
        def setSelection_for_chars_list(sel, lst, value="from_lst"):
            for l in lst:
                sel[l.name] = l if value == "from_lst" else None

char_list_selection = { c.name: None for c in char_lists_filters.sorted }

Names are not guaranteed to be unique (it's even possible to rename character in the profile screen unless someone disabled the button), this does not look like it'll benefit from being a dict either. If you make it a set:

Code: [Select]
                    button: # select all on current listing, deselects them if all are selected
                        xysize (66, 40)
                        action Function(setSelection_for_chars_list, char_list_selection, chars_list[0] + chars_list[1], value=None if all(char_list_selection[x.name] for x in chars_list[0] + chars_list[1]) else "from_lst")
                        text "These"

would become something along the lines of:

Code: [Select]
                    $ chars_on_page = set(chars_list[0] + chars_list[1])
                    button: # select all on current listing, deselects them if all are selected
                        xysize (66, 40)
                        if char_list_selection.issuperset(chars_on_page)):
                            action SetVaraible("char_list_selection", char_list_selection.difference(chars_on_page))
                        else:
                            action SetVaraible("char_list_selection", char_list_selection.union(chars_on_page))
                        text "These"

it's clean, efficient, everyone knows what it does and it doesn't require writing extra function. (code is unchecked/untested, I just typed it out in the forum) But even if you don't likes sets, you can use Chars as keys in the dict, it'll be safe and reliable as well and you can just toggle the False/True as values.


I have no clue what problems you were trying to solve with 200 lines of "delegator" classes, the tasks as I see them:

1) Create a group (set) of characters in the listing screen.
2) Pass the group to other screens, like equipment/training and etc.
3) Fix the interface on those screens through isinstance(Char/set) checks whereever required.
4) Write a number of funcs or update existing once to get the group functionality working.

there are no issues with this that I can foresee but I obviously never actually tried adding this functionality.

Code: [Select]
                elif isinstance(var, (dict, renpy.python.RevertableDict)):
                elif isinstance(var, (Char, rChar))

Python will check parent classes as well so:

Code: [Select]
elif isinstance(var, dict):
elif isinstance(var, Char):

will work in the same way.


I'll have a LOT more time for development starting around mid December, I can take a look at the rest of the addons then (but only if something is broken, rewriting code without a good reason is unwise, not before Beta release anyway).


I don't think items transfer is working correctly, you are supposed to have the same characters in both viewports! The screen itself will make sure that you cannot pick two of the same character from both sides. It's a simple func if I recall correctly, you can take a look at how it's done in the buildings, just copy/paste the code and change the container (at least I hope that it's this simple*).
Title: Re: General Discussion
Post by: DarkTl on November 29, 2016, 06:33:45 AM
Names are not guaranteed to be unique (it's even possible to rename character in the profile screen unless someone disabled the button)
I think in the old gui you had to click on character name to rename her. It doesn't matter now, because in the new gui screen char_rename is not used anywhere.

According to the code (action Show("char_rename", char=hero)) it should work for MC, but it doesn't.
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 06:37:36 AM
I think in the old gui you had to click on character name to rename her. It doesn't matter now, because in the new gui screen char_rename is not used anywhere.

According to the code (action Show("char_rename", char=hero)) it should work for MC, but it doesn't.

Yeah, we need to come up with a proper renaming screen, especially now that renpy allows greater input convenience. I think we have like two or three different ways atm and none of them is using new toolz :(
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 06:51:19 AM
Depending on her disposition and love for you it would be nice to be able to call her silly names and ask her to call you master or something alike ( but her profile tab would show her real name or something ) if you didn't ask for it.


Of course she may refuse and lose dispo/love..


(For general renaming)
If she was born with a name she woulnd want to change it unless there was a good reason..


May as well use dispo for that
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 07:18:45 AM
Depending on her disposition and love for you it would be nice to be able to call her silly names and ask her to call you master or something alike ( but her profile tab would show her real name or something ) if you didn't ask for it.


Of course she may refuse and lose dispo/love..


(For general renaming)
If she was born with a name she woulnd want to change it unless there was a good reason..


May as well use dispo for that

We have a fairly basic friend/lovers system setup, with plans to expand the logic in the future. There are also "nicknames" but no petnames (yet).
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 07:32:55 AM
this does not look like it'll benefit from being a dict either. If you make it a set:

This (https://youtu.be/o9pEzgHorH0?t=1042) explains almost exactly the same issue: doesn't need to be a dict cause it's recreated for every new use and membership testing mimics booleans.
Title: Re: General Discussion
Post by: DarkTl on November 29, 2016, 08:44:52 AM
(For general renaming)
If she was born with a name she woulnd want to change it unless there was a good reason..
Slaves don't have a choice.
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 09:07:28 AM
Poorly trained slave ( not 1 from slave market ) might resist like a normal girl would.. but slave sold from market do not have a choice but to accept


Not sure if your gona implement a girl capture from quest or converting a normal girl ( random / unique ) to a slave girl.. and so on so planning ahead its not a bad idea to leave her the choice to refuse as long as we do not meet the right parameters
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 09:13:24 AM
Hmm 3 layer of clothing is too much for me atm as each layer may bounce to disturb the others while switching poses and i have a hard time controlling them.. so i guess for now my limit will be 2 layer of clothing with clothing physics for animation.. without animation there is no problem no matter how much layers i have.. and the clothing drape alright on any pose..


Looks like im close to that 3 layered sample ( but errors remains ) and im not even sure you want those animations yet..
But they will work for sure in scene where there is no more than 2 layer of clothing like sex/training scene and as for profile.. well we could add animation but im not planning on making those as im making parts for paper dolls with fixed poses to visualy see what your making her wear( it was just simpler to show dress on profile poses thats all )
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 09:32:22 AM
Poorly trained slave ( not 1 from slave market ) might resist like a normal girl would.. but slave sold from marked do not have a choice but to accept yes

Resist or not, name gets changed anyway... we can resolve them starting a fight over it or disposition falling with interactions.

Not sure if your gona implement a girl capture from quest or converting a normal girl ( random / unique ) to a slave girl.. and so on

Converting, prolly not for beta. We will have capture for sure, it's half done already. We are planning a whole political module that will deal with rules set to the world, such as: is slavery allowed, where does the city money get invested to (what kind of clients you get/what workers are attracted to city/what businesses or practices are banned and etc.), what other states/empires pytfall is friendly with (depends on government system in place) and etc.

Converting and rules for converting will be added once that is in place. Maybe we'll do something simple for now but I doubt it.
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 09:47:17 AM
This new clothing technique is a bit of a pain atm as its new to me but it will be perfect for lets say ( opening clothing like blouse/shirt.. pulling up/down bra shifting panty left/right making the girl strip and so on as space between vertex making the clothing keep a constant distance calculated by fabric property or elasticity factor that you add or not.. and of course draping all the clothing making it look real all the time with collision and wrinkles..


While i would spend days trying to move vetrex to something close to 1 of those results above.. it would take only a few minutes pulling it in the new program like you would do in RL to get the right result..


As for adapting clothing to char with different height and weight im getting better at understanding what need to be changed for the fit so its not really a problem anymore ( that said.. this process will limit who make the clothing unless a person who wants to make some learn how to use Marvelous Designer )
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 09:51:58 AM
im not even sure you want those animations yet..

What we all want is a dedicated random girl pack with normal images, just like in other packs (for starters ;) ).

Else-wise, for future, absolutely perfect dreamcase would be:

On different layers for each image:

- Body (skin) (maybe for recoloring)
- 3 Boobs sizes
- Clothing that adapts to that (maybe also for recoloring?)
- Hair separately (for recoloring in the engine)
- Eyes (iris) separately (for recoloring in the engine)

Anything that can be recolored, preferably rendered white (ish?).

But we don't need "absolutely perfect dreamcase" or "perfect dreamcase" or even "dreamcase" :-) Any one from the above as an extension to the normal pack would be great. Any animations you feel that are worth rendering to be added are great but those are likely to break consistence of any recoloring we (could possibly?) do or would require a lot of work/messing around.

It's not my call, I am just hoping that we'll get a couple of cool packs rendered for the game. I don't know which way this should be heading to, I am not even sure which way it can (technically) be heading to according to how your rendering routines are setup. For Beta release, just the normal packs would be great.
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 09:56:30 AM
I think this girl was my fav: http://pixxxels.org/image/n8qo19dh5/

But other are awesome too :)
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 10:11:01 AM
Allright...


Like for the stripper dress up example i previously posted.. a scene with naked body as first layer where you add panty as second layer then dress as third..


For me it would be the same to extract what you want.. a scene with naked body as first layer then panty on second dress on third eyes on fourth and hair on fift..

what need to be tested is the coloring.. i can get everything needed as white with darker areas  for shadows but i need to test if the diffuse (natural color spill) of other nearby colors still work in the same way on the item.. else it woulnd look as good after coloration.. unless you can colorize above a withe with shadows/color spill base..

worst case.. you rerender the items with the color you want instead of coloring afterwards ( witch make 1 more file for the same item but with another color.. like a replace image item 20 by item 20 x to change result on composited layered result
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 10:16:11 AM
Well i like her aswell but shes from a unique girl set you could say.. ( not sure if anyone made a pack with her yet ) but as known char i dont think i could use her as random girl


Or i make a unique pack with her lol..
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 10:20:58 AM
Once the animation of the new school uniform is done ill extract what you need to test out colorize from the stripper scene i previously made a example of
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 10:40:18 AM
what need to be tested is the coloring.. i can get everything needed as white with darker areas  for shadows but i need to test if the diffuse (natural color spill) of other nearby colors still work in the same way on the item.. else it woulnd look as good after coloration.. unless you can colorize above a withe with shadows/color spill base..

This is what it looks like in Babe Runner: https://youtu.be/OQMhQa5Kd4U

There is not a single image declaration for this, everything is loaded from filesnames, it works on android (not using os to load files) and also manages expressions (she has 470 unique variants but we're presently using like 8 ). If you make a render, I can prolly cook up something similar (we are not likely require full complexity of this doll cause here parts of clothing are put on different layers, hand moves it's position when coat is equipped and etc.).

Title: Re: General Discussion
Post by: Xela on November 29, 2016, 10:43:23 AM
That said, we should do a simple, normal pack for Beta release and mess with coloring and clothing for final release.
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 10:50:07 AM
Well i like her aswell but shes from a unique girl set you could say.. ( not sure if anyone made a pack with her yet ) but as known char i dont think i could use her as random girl


Or i make a unique pack with her lol..

You make it sound like we can't use a famous char for a random girl... a lot of similar games do it and I have not heard complains so far, as long as she can be removed if someone really wants her to be unique.

Piick which one you want to work with first! It doesn't matter as long as we can squeeze a dedicated random pack out of it :)
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 11:05:00 AM
Ok, with 2D drawings its simpler but as i would probably go with 3d in general i will have RL shadows and diffuse and i already see a problem... as the rendered clothing will take on a few pixels of its own color mixed with another color of a nearby item like ( clothing / BG ) we could remove the diffuse to make it work everywhere (any clothing combination / BG )but it woulnd integrate as good as it should have.. but i think its still possible to get good results..


For a pack im still lacking a few more clothing items ( general outfits / lingerie ) then manually pose some of the hair types i have ( it wont look as good as the RL thing as i havent found the right method for hair yet ) from my previous scene pose i had like 80/85 pose done from the CG Dark gave me so i should have almost everything..


So as long as i make the missing clothing i should be able to render packs..
Title: Re: General Discussion
Post by: DarkTl on November 29, 2016, 12:26:38 PM
As someone mentioned a few weeks ago, with the currently existing packs some traits are very rare, while customers want all types of traits.
Specifically, small boobs/abnormally large boobs. There is simply not enough original pictures to make random packs for these traits like I usually do.

This is something we can achieve only via rendering.
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 01:09:56 PM
Indeed another thing that could easily be done is pregnancy its almost never done for me its only setting a slider between 0 and 100% lol and clothing would follow


witch means i need to combine the old and new clothing technique to achieve a RL looking drape/collision/wrinkles and auto adapting clothing ( but for now without animation as i need to improve the system first )
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 01:48:52 PM
Details up to you :)

The only thing I'd point on for 100th time is that it would serve us well to have a simple, default pack first for beta and move to complex stuff afterwards.
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 03:07:55 PM
Here the other school outfit..


https://www.dropbox.com/s/v49hzek4r80bcw7/schooluni20091-0331.avi?dl=0 (https://www.dropbox.com/s/v49hzek4r80bcw7/schooluni20091-0331.avi?dl=0)


As you can see on the 30 body pause frames or between poses layer 2 and 3 have problems in some areas
simulation dosnt like toes or finger it seems.. so the best way would be to use physics for the looks then use the auto adapting approach from that shape
 

Damm there is a bug and expressions where not rendered lol making another file..
Title: Re: General Discussion
Post by: lamoli on November 29, 2016, 03:09:06 PM
Yes to make a basic pack all thats missing are more clothes...


and i think i found out what was causing the expressions rendering problem
Title: Re: General Discussion
Post by: picobyte on November 29, 2016, 05:59:31 PM
What you refer to I wrote quite a while before this push, and I agree it contained some dirty hacks. I'll look into it. However, once you tried to get a group to act as a person, I think you'll have to agree that what is handled is complicated; the delegator class and friends for that purpose are not so much.

I have no clue what problems you were trying to solve with 200 lines of "delegator" classes, the tasks as I see them:

1) Create a group (set) of characters in the listing screen.
2) Pass the group to other screens, like equipment/training and etc.
3) Fix the interface on those screens through isinstance(Char/set) checks whereever required.
4) Write a number of funcs or update existing once to get the group functionality working.

1, 2 and 4 is basically contained in the PytGroup class, why shouldn't it be a class?
3 occurs only where  necessary. I don't think you'd want to pollute the screens either with branches for Char and Set, or would want to duplicate the screens for either.

The set of chars in a class is what I started with. You can create properties and delegate each get and set attribute to each member of the group. It gets complicated when you want to get the value of an attribute of something contained in the members of the group. An attribute, a function, or e.g. the icon of an item contained in an char.eqslots['belt']. The deep access and return of a single value, requires some form of attribute/dict/list/function recursion and problem solving in case it gives multiple answers. Delegatorception.

there are no issues with this that I can foresee but I obviously never actually tried adding this functionality.

Code: [Select]
                elif isinstance(var, (dict, renpy.python.RevertableDict)):
                elif isinstance(var, (Char, rChar))

Python will check parent classes as well so:

Code: [Select]
elif isinstance(var, dict):
elif isinstance(var, Char):

Thanks I will address these as well.

I understand you want to stabilize for beta, just fixes where required. Ok with me, I'll put serious changes in a development branch.

I don't think items transfer is working correctly, you are supposed to have the same characters in both viewports! The screen itself will make sure that you cannot pick two of the same character from both sides. It's a simple func if I recall correctly, you can take a look at how it's done in the buildings, just copy/paste the code and change the container (at least I hope that it's this simple*).

This is something that I thought of after the patch it was introduced. It is nice to have a shorter list though, therefore I solved it by adding a switch active characters button, in the center, that allows to temporarily swap the characters to the other side and allow transfer of either with the alternate group.
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 07:59:35 PM
== Deleted ==
Title: Re: General Discussion
Post by: Xela on November 29, 2016, 08:12:58 PM
== Deleted ==

Those comments were less than useful. As long as the system works reliably, it should be fine.
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 12:08:26 AM
Yeah.. i found how to fix the facial expressions


https://www.dropbox.com/s/kcrhfaf9gcwdzns/schooluni2v20091-0331.avi?dl=0
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 03:13:34 AM
Here are the parts..


(http://s20.postimg.org/47oee50zd/strip_BG.png) (http://postimg.org/image/47oee50zd/)(http://s20.postimg.org/h1r1l83sp/strip_body.png) (http://postimg.org/image/h1r1l83sp/)(http://s20.postimg.org/py1tp5uex/strip_dress_b.png) (http://postimg.org/image/py1tp5uex/)(http://s20.postimg.org/r7zn47o6x/strip_panty_b.png) (http://postimg.org/image/r7zn47o6x/)(http://s20.postimg.org/uz97qj1vd/strip_hair_b.png) (http://postimg.org/image/uz97qj1vd/)


Not sure how you do the eyes so extracted different parts..


(http://s20.postimg.org/9s5h2ip89/strip_irispup_b.png) (http://postimg.org/image/9s5h2ip89/)(http://s20.postimg.org/91cqwqmux/strip_iris_b.png) (http://postimg.org/image/91cqwqmux/)(http://s20.postimg.org/ne66v26ux/strip_pupil_b.png) (http://postimg.org/image/ne66v26ux/)


And here clothing/hair/accessory shadow and pole shadow reflection


(http://s20.postimg.org/pvdcol1dl/strip_body_shadows.png) (http://postimg.org/image/pvdcol1dl/)(http://s20.postimg.org/9j7wclcft/strip_pole_refsha.png) (http://postimg.org/image/9j7wclcft/)


Looks like i need to find 1 of my old files to see how i extracted object transparent shadows ( this will fix the need of shadow overlay part but not the reflect ) and there is a AA color blending problem.. ill see what i can do about this later


Also until i extract object with their transparent shadows.. you have to be careful colorizing items rendered with shadow on like the panty who is white as dress but has dress shadow on it
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 07:20:50 AM
Looks good :)
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 07:22:44 AM
not sure about the eyes.. but hair and clothes can have their shadow and cleaned of AA spill


(http://s20.postimg.org/py1tp5uex/strip_dress_b.png) (http://postimg.org/image/py1tp5uex/)(http://s20.postimg.org/8oqenoawp/dress_spill.png) (http://pixxxels.org/image/8oqenoawp/)(http://s20.postimg.org/nyq9uv6ex/dress_corr.png) (http://pixxxels.org/image/nyq9uv6ex/)
  AA spill no shadow but blank        AA spill shadow                        no spill shadow


i think it should be good enough.. no AA spill mean we can combine it with any other clothing/body color and having shadow let us use a clean base body
(but as you see we lose the body color difuse spill on dress but this will make it compatible with everything but we cant get the effect back atm ill look into it later)


if the blank color works with colorize ill make a no spill shadow version of it
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 08:37:30 AM
As expected the pole reflection where lost.. but if body color changes reflect has to change aswell so id say its a good thing


(http://s20.postimg.org/47oee50zd/strip_BG.png) (http://postimg.org/image/47oee50zd/)(http://s20.postimg.org/69yj38unt/body_corr.png) (http://postimg.org/image/69yj38unt/)(http://s20.postimg.org/rat61wnjt/panty_corr_b.png) (http://postimg.org/image/rat61wnjt/)(http://s20.postimg.org/rkw37ics9/dress_corr_b.png) (http://postimg.org/image/rkw37ics9/)(http://s20.postimg.org/rm610xem1/hair_corr_b.png) (http://postimg.org/image/rm610xem1/)


need the eyes still.. wich 1 do you use (irispupils iris ?)


Here the layered result


(http://s20.postimg.org/n2ydt5m49/Layered_result.png) (http://pixxxels.org/image/n2ydt5m49/)
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 09:21:22 AM
I am not using either one, I think that it's working:

https://youtu.be/InPQhkfP2qg

quality is low cause sprite size is very small but it looks perfectly usable.
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 09:35:07 AM
ok i can increase resolution and will make the iris one then


ill make 1600x1200 that you can resize to 800x600
Title: Re: General Discussion
Post by: DarkTl on November 30, 2016, 09:59:38 AM
Yeah.. i found how to fix the facial expressions

https://www.dropbox.com/s/kcrhfaf9gcwdzns/schooluni2v20091-0331.avi?dl=0 (https://www.dropbox.com/s/kcrhfaf9gcwdzns/schooluni2v20091-0331.avi?dl=0)
But her clothes are kinda shaking from time to time, super unnaturally  :)
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 10:01:26 AM
yes thats the problem with 3 layer animated.. atm it only works with 2 layer.. or unlimited layers without animations also the shaking usually happens when she pauses body movements for 30 frames we might cut those and copy past the first good 1 for x frames for the pause.. but like i said its just a test.. im only gona use animation in scenes and with 2 layer clothing so not a problem


Thats until i find a better solution.. and im also thinking on combining the 2 system.. i use simulation for keyframe pose only and the rest is generated so no layer bouncing on each other.. and that combined with the older clothes auto adapting to body shape
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 10:29:12 AM
ill make 1600x1200 that you can resize to 800x600

Oki, it's fine for testing but such res is too huge for the game.
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 10:56:33 AM
when you resize 1600x1200 to 800x600 dont you have a better quality ?


Also now i cleaned the iris and pupil from hair shadow and spill so it should be easier to colorize even on the 800x600 version
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 11:01:09 AM
Oki. I am not sure about "better quality" but it's possible.
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 11:09:01 AM
of try using those..


(http://s20.postimg.org/thxeptsu1/bg1600x1200.png) (http://postimg.org/image/thxeptsu1/)(http://s20.postimg.org/ijm57n48p/body1600x1200.png) (http://postimg.org/image/ijm57n48p/)(http://s20.postimg.org/bzjd1aq7t/pupil1600x1200.png) (http://postimg.org/image/bzjd1aq7t/)(http://s20.postimg.org/xjehvhl4p/iris1600x1200.png) (http://postimg.org/image/xjehvhl4p/)(http://s20.postimg.org/fumr3v9dl/panty1600x1200.png) (http://postimg.org/image/fumr3v9dl/)(http://s20.postimg.org/rfwxbkuux/dress1600x1200.png) (http://postimg.org/image/rfwxbkuux/)(http://s20.postimg.org/3q7hmvwhl/hair1600x1200.png) (http://postimg.org/image/3q7hmvwhl/)
i got something strange with pupils so its important to follow the order from left to right ( even if you dont use the BG )
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 11:44:33 AM
I found where was the problem with iris and pupils so rendering the 800x600 and 1600x1200 corrections


for the body i usually use a hue to change texture color but i could try make a white base of the texture for you to test out..


the 1600x1200 corrections..


(http://s20.postimg.org/pvw6qxbuh/pupil1600x1200.png) (http://postimg.org/image/pvw6qxbuh/)(http://s20.postimg.org/4xlff3mm1/iris1600x1200.png) (http://postimg.org/image/4xlff3mm1/)


the 800x600 corrections..


(http://s20.postimg.org/5eb8f9zqx/pupil_corr.png) (http://postimg.org/image/5eb8f9zqx/)(http://s20.postimg.org/874fzb03d/iris_corr.png) (http://postimg.org/image/874fzb03d/)
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 12:03:54 PM
Damn, it didn't occur to me to follow the link to the image. Your first variant was perfectly fine... I'll load the new large version anyway.
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 12:22:54 PM
first one had lots of crap on it.. AA/diffuse spill and hair shadow.. so you should use the last ones i rendered for clean ones
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 12:41:49 PM
Looks really good!:

https://youtu.be/0Qf19e051FA
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 12:44:49 PM
Not sure how you colorize but i think its simpler if i remove parts that do not need it..


1600x1200..


(http://s20.postimg.org/cgicsyi49/body_b_1600x1200.png) (http://postimg.org/image/cgicsyi49/)(http://s20.postimg.org/m2bx999a1/mouth1600x1200.png) (http://postimg.org/image/m2bx999a1/)


800x600


(http://s20.postimg.org/u93x0tzcp/body_b.png) (http://postimg.org/image/u93x0tzcp/)(http://s20.postimg.org/6w5vibj95/mouth.png) (http://postimg.org/image/6w5vibj95/)

not sure if order matters for body or mouth
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 01:05:45 PM
Not sure how you colorize but i think its simpler if i remove parts that do not need it..


1600x1200..


(http://s20.postimg.org/cgicsyi49/body_b_1600x1200.png) (http://postimg.org/image/cgicsyi49/)(http://s20.postimg.org/m2bx999a1/mouth1600x1200.png) (http://postimg.org/image/m2bx999a1/)


800x600


(http://s20.postimg.org/u93x0tzcp/body_b.png) (http://postimg.org/image/u93x0tzcp/)(http://s20.postimg.org/6w5vibj95/mouth.png) (http://postimg.org/image/6w5vibj95/)

not sure if order matters for body or mouth

(https://s4.postimg.org/ws2s179zt/2016_11_30_20_03_57.jpg) (https://postimg.org/image/ws2s179zt/)
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 01:19:43 PM
Implications of working pre-rendered 3D doll for a game like PyTFall are mind blowing... with two or three hair samples we can populate the entire city with unique looking characters :) I hope we'll get it done one day.
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 02:51:11 PM
something else to wear to see if shadow works allright..


1600x1200..


(http://s20.postimg.org/7n371ub09/dress_2_1600x1200.png) (http://postimg.org/image/7n371ub09/)(http://s20.postimg.org/dp68ela2h/dress_3_1600x1200.png) (http://postimg.org/image/dp68ela2h/)


800x600


(http://s20.postimg.org/a5ow2iwqh/dress_2.png) (http://postimg.org/image/a5ow2iwqh/)(http://s20.postimg.org/fjj2wbx2x/dress_3.png) (http://postimg.org/image/fjj2wbx2x/)
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 03:09:26 PM
(https://s22.postimg.org/oxdajb67x/2016_11_30_22_07_17.jpg) (https://postimg.org/image/oxdajb67x/) (https://s22.postimg.org/q0xev9qv1/2016_11_30_22_05_50.jpg) (https://postimg.org/image/q0xev9qv1/)
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 03:50:44 PM
another hair type..


1600x1200..


(http://s20.postimg.org/c55htxr21/hair11600x1200.png) (http://postimg.org/image/c55htxr21/)(http://s20.postimg.org/cgmy6p7i1/hair1ornament1600x1200.png) (http://postimg.org/image/cgmy6p7i1/)


800x600


(http://s20.postimg.org/twh48e6gp/hair1.png) (http://postimg.org/image/twh48e6gp/)(http://s20.postimg.org/427bim6gp/hair1ornament.png) (http://postimg.org/image/427bim6gp/)
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 03:55:45 PM
hmm messed up the V bikini.. remaking it now lol
Title: Re: General Discussion
Post by: lamoli on November 30, 2016, 04:02:57 PM
fixed


1600x1200..


(http://s20.postimg.org/7n371ub09/dress_2_1600x1200.png) (http://pixxxels.org/image/7n371ub09/)


800x600..


(http://s20.postimg.org/a5ow2iwqh/dress_2.png) (http://pixxxels.org/image/a5ow2iwqh/)
Title: Re: General Discussion
Post by: Xela on November 30, 2016, 07:13:04 PM
It's great!
Title: Re: General Discussion
Post by: lamoli on December 01, 2016, 03:03:15 AM
Indeed i do like the assembled result.. whats missing is a better normal map in general to give hair more details them when you colorize on to of that it would be even better..


Now i have to find bra patterns and make a base to work from then from it a few night dress..
Title: Re: General Discussion
Post by: Xela on December 01, 2016, 04:47:44 AM
Indeed i do like the assembled result.. whats missing is a better normal map in general to give hair more details them when you colorize on to of that it would be even better..

Yeah, and while you we recolor from any color, white seems to work best and your sample was blond. But it may be worth looking at why that is sometimes... I guess it should be possible to recolor to white first and to some other color later.
Title: Re: General Discussion
Post by: lamoli on December 01, 2016, 04:46:52 PM
if your talking about the blond hair that recolored well its because it had a texture defining where it should go to a darker color..


Here a nightgrown..


1600x1200..


(http://s20.postimg.org/abg2sa3w9/nightgrown1600x1200.png) (http://pixxxels.org/image/abg2sa3w9/)


800x600..


(http://s20.postimg.org/n446s7fi1/nightgrown.png) (http://pixxxels.org/image/n446s7fi1/)


its just the basic shape iv seen all around.. i can add all the custom part on it like lace ends/frill or make some parts more transparent.. and from it i could make variants..


the best part is how real the clothing drape lol


this 1 for example will have no problem for animation even if girl has underwear
Title: Re: General Discussion
Post by: lamoli on December 01, 2016, 10:16:54 PM
Added some box pleats ( good for training as maids / barmaids / some shirt use them )


1600x1200..

(http://s20.postimg.org/ayezht0s9/nightgrown_V011600x1200.png) (http://pixxxels.org/image/ayezht0s9/)

800x600..

(http://s20.postimg.org/x92uhry2h/nightgrown_V01.png) (http://pixxxels.org/image/x92uhry2h/)

Title: Re: General Discussion
Post by: lamoli on December 02, 2016, 07:10:38 AM
Hmmm how exactly does your colorize work ??


you add the same amount of color to every pixels ?
you mix the same amount of color to every pixels ?
you add color with color ramp letting you chose whos pixels get more or less color ?
you use another method ?

can you keep transparency if i add it ( fully transparent should be alright but what about just a little less ? )

if i understand how it works i could prepare the parts or normals to make sure it looks good after colorize..


or could you make me a stand alone version of your tool so i could mix myself and get the desired result.. even for body color ?
Title: Re: General Discussion
Post by: lamoli on December 02, 2016, 07:28:25 AM
here the base of nearly all bras.. (from it i should be able to cut down almost any bra design as its large enough)


1600x1200..

(http://s20.postimg.org/4wgjisr3t/brabaseforcut1600x1200.png) (http://pixxxels.org/image/4wgjisr3t/)

800x600..

(http://s20.postimg.org/m8gw48kl5/brabaseforcut.png) (http://pixxxels.org/image/m8gw48kl5/)

Base doesn't look great bu once i remove whats not needed for the design i would look awesome..
unlike Illusion honey select i wont be only applying a bra texture with whats not needed as transparent but will trim whats not needed as i dont know how your colorize works yet..


Probably not mentioned before but anything i do like this to fit the test stripper wear will work on any pose as im animating the clothing from base to reach this pose.. ( so now im building the clothing library while showing how it looks on that test model )
Title: Re: General Discussion
Post by: lamoli on December 02, 2016, 10:33:52 AM
The base panty with different panty cut from it.. (like bra it covers enough skin to nearly cut any panty type out of if)


1600x1200..


(http://s20.postimg.org/hgbo6jfax/pantybase1600x1200.png) (http://postimg.org/image/hgbo6jfax/)(http://s20.postimg.org/p6igbohmh/panty21600x1200.png) (http://postimg.org/image/p6igbohmh/)(http://s20.postimg.org/h2ac6xv7d/panty31600x1200.png) (http://postimg.org/image/h2ac6xv7d/)


800x600..


(http://s20.postimg.org/tm0vgxu0p/pantybase.png) (http://postimg.org/image/tm0vgxu0p/)(http://s20.postimg.org/5fq85t7w9/panty2.png) (http://postimg.org/image/5fq85t7w9/)(http://s20.postimg.org/njt8qg5kp/panty3.png) (http://postimg.org/image/njt8qg5kp/)


Of course there should be more with addons on it or transparent materials in some parts to give the lace effect on it but as long as we have a base and find design to cut/texture we are good
Title: Re: General Discussion
Post by: Xela on December 02, 2016, 04:23:37 PM
Hmmm how exactly does your colorize work ??


you add the same amount of color to every pixels ?
you mix the same amount of color to every pixels ?
you add color with color ramp letting you chose whos pixels get more or less color ?
you use another method ?

can you keep transparency if i add it ( fully transparent should be alright but what about just a little less ? )

if i understand how it works i could prepare the parts or normals to make sure it looks good after colorize..


or could you make me a stand alone version of your tool so i could mix myself and get the desired result.. even for body color ?

Quote
Function:

   im.Recolor    (im, rmul=255, gmul=255, bmul=255, amul=255, force_alpha=False, **properties):

This adjusts the colors of the supplied image, im. It takes four arguments, rmul, gmul, bmul and amul, corresponding to the red, green, blue and alpha channels, with each being an integer between 0 and 255. Each channel has its value mapped so that 0 is 0, 255 is the argument supplied for that channel, and other values are linearly mapped in-between.

This is what we use. There is a more modern way, but I haven't tried it our yet:

https://www.renpy.org/doc/html/displayables.html#im-matrixcolor

I can prolly rip the doll code out of br but it's gonna take a while and you've seen what it does. Also, in all likelihood, I will write a different class for pytfall anyway.

There is also this function:

Quote
Function:

   im.Twocolor    (im, white, black, force_alpha=False, **properties):

This takes as arguments two colors, white and black. The image is mapped such that pixels in white have the white color, pixels in black have the black color, and shades of gray are linearly interpolated inbetween. The alpha channel is mapped linearly between 0 and the alpha found in the white color, the black color's alpha is ignored.

Or we can write out own custom function... I am not good with coloring stuff in any software, you tell me what you need and I'll try to find out what the best approach might be, assuming it's possible at all.
Title: Re: General Discussion
Post by: lamoli on December 02, 2016, 05:26:48 PM
Hmm ok hard to know how it works the way i do as code like as i use Blender or UE4 material nodes or compositor with images or renders i can use a large panel of math function combined with color / vector / converters to extract mix combine differ what i need.. ( best would be for you to go check the nodes in blender to see what im talking about and since those node replace real programming function you should be able to replicate it code wise to get a optimal recoloring function)


Also i found out how to extract body parts more efficiently now.. witch makes the template to extract the body parts and wearable item nearly good for anyone to use.. ( now for clothing i just need to import it set 1 on object index.. set resolution i want then press render thats all.. and this works with any loaded pose) but i need to improve how we get the clothing in..


For the body parts we are limited as its rendered images and not a 3d engine so i need to see what can be done and see whats the layer order needed for it to work.. for boobs size its all set but id like to combine it with pregnancy with any boobs size and the 3 body types (loli/young/mature)


If you think on something else that we need for the body parts let me know..
Title: Re: General Discussion
Post by: Xela on December 02, 2016, 07:35:52 PM
Hmm ok hard to know how it works the way i do as code like as i use Blender or UE4 material nodes or compositor with images or renders i can use a large panel of math function combined with color / vector / converters to extract mix combine differ what i need.. ( best would be for you to go check the nodes in blender to see what im talking about and since those node replace real programming function you should be able to replicate it code wise to get a optimal recoloring function)

I am not sure that the effort it would take to get Ren'Py to mimic whatever Blender is doing would justify what we'll get out of it. On top of that, Blender is also using a python package written in C to mess with colors that isn't a part of standard library, we cannot import that into Ren'Py without rebuilding the engine itself (which is not an easy task and would have to be done on every update). So I'd have to go over C code, rewrite it to Python, figure out what Blender does with it, how to transform that to standard color matrix to (maybe) get a marginally better results...

For the body parts we are limited as its rendered images and not a 3d engine so i need to see what can be done and see whats the layer order needed for it to work.. for boobs size its all set but id like to combine it with pregnancy with any boobs size and the 3 body types (loli/young/mature)

Which adds even more rendering time for every pose in every dress :(

If you think on something else that we need for the body parts let me know..

I am not the right person to be asking this. My motto is to start with simple stuff and build on that. Doing complex stuff right off the bat always kills the project/concept.

We cannot preserve alpha channel using the old function. I believe that we can using the new function and a lot more but some some practice is needed to make it work for us. For now I have an idea how to get it to preserve original alpha channel.
Title: Re: General Discussion
Post by: lamoli on December 02, 2016, 07:50:44 PM
Alright.. if you coulnd think of anything instantly but even more render time then its good lol.. i will restrict pregnancy to profile and some specific action to cut down its rendering needs so boobs and body types.. i need to know in advance else it will be harder to change later on..


ill start with 1 body type no boobs change to make the first pack but whats needed for other body types are done.. ill try making 1 and see whats missing..


Title: Re: General Discussion
Post by: Xela on December 02, 2016, 09:24:38 PM
PMed you a test project so you could take a look at the recoloring. I figured out that the way it works is that it takes rgba channels and remaps them between 0 and whatever value the original image has. So it will preserve Alpha and white(ish) images are still the best. That they call "tinting".

I believe that if we need to, we can write a function that can remap anything to anything... but I am not entirely sure how to write one that does the job better than the one we already have. It may be a thing to just apply matrices randomly and see which results we like most but that may take a while. In either case, we have a capable class already and we can improve in the future if needs be. The only thing I can think of is a function that can also scale up instead of just down...
Title: Re: General Discussion
Post by: lamoli on December 03, 2016, 06:33:53 AM
Ok i see whats not working right for some items in the recolor.. its the lack of control for brightness/contrast ( and thats why so far everything thats closer to white works better as its the brightest without colors ) usually when i recolor texture like the body part i use a HUE node it gives the control needed ( hue / saturation / value )

Hue:           to change the color (not sure how this works but best recolor system as whatever original set of colors he can uniformly change them around rgb)
Saturation: to gain or lose color (can turn any colored texture to BW after losing all its color or can do the reverse)
Value:         intensify its base color +/-

Saturation/value are like bright/contrast but different

Its a balance or Saturation/Value to get the right result when you found the color tint..
Title: Re: General Discussion
Post by: lamoli on December 03, 2016, 10:17:39 AM
Nice i was able to import xps hair and join rigs so the pose the same..


1600x1200..


(http://s20.postimg.org/7kg5ax9a1/riggedhair11600x1200.png) (http://pixxxels.org/image/7kg5ax9a1/)


800x600..


(http://s20.postimg.org/5elugf5tl/riggedhair1.png) (http://pixxxels.org/image/5elugf5tl/)

From: http://moogleoutfitters.deviantart.com/art/Skysims-casual-bun-405044140 (http://moogleoutfitters.deviantart.com/art/Skysims-casual-bun-405044140) ( lots to choose from.. might need rerig some or adapt to my char head )
Of course i could desaturate it to max for the recolor process 
Also i did it before and its realy easy to customize the general look adding bangs or hair in general..

Title: Re: General Discussion
Post by: DarkTl on December 03, 2016, 02:32:32 PM
I'm having strange problems with BE, label city_beach_monsters_fight. When BE starts, all enemies are located at the very same place inside BE instead of being on three different levels.
Title: Re: General Discussion
Post by: Xela on December 04, 2016, 05:24:32 AM
I am in process of moving to a different city so if it's something complex, I can only fix it in 5 or 6 days.
Title: Re: General Discussion
Post by: Xela on December 04, 2016, 05:37:49 AM
I'm having strange problems with BE, label city_beach_monsters_fight. When BE starts, all enemies are located at the very same place inside BE instead of being on three different levels.

Fixed, you cannot use one mob object 3 times, you need to copy that object or better yet, just create 3 objects.
Title: Re: General Discussion
Post by: picobyte on December 04, 2016, 12:59:22 PM
More changes in group management are available for merging. It adds, in my op, useful functionality, but you indicated you wanted to stabilize, so lets discuss. In case you don't want it now, though, but do later, then it'll be up to you to resolve arisen merge conflicts.

Most notable function changes:
* A subset of the original group can be target for items transfer and equip. The character names are clickable to include/exclude it as a target.
* It is possible to click an item, owned by a part of the group, to select all members of the  group that own this item.
* Similarly items equipped by a part of the group can be clicked to select the members that have it equipped.
* If there are alternate items, for other members, for this equipment slot, then clicking the slot again will select those members with this next item equipped.
* There's an select all persons button.

Explanation is less intuitive than just trying it.
Title: Re: General Discussion
Post by: Xela on December 04, 2016, 03:16:13 PM
Sounds reasonable.
Title: Re: General Discussion
Post by: Xela on December 05, 2016, 12:39:01 AM
...

Items transfer still doesn't work like it did. You are supposed to have the same container with character listed from both sides.

Edit:
Also, there seem to be instances when you get a huge list of traits removed (top-right part of the screen) when focusing an item on a group.
Title: Re: General Discussion
Post by: DarkTl on December 05, 2016, 10:51:47 AM
Clarify how you made Slow and Fast Learner traits work. Should I use adjust_exp function every time I deal with experience, or they always work?
Title: Re: General Discussion
Post by: Xela on December 05, 2016, 12:19:19 PM
Clarify how you made Slow and Fast Learner traits work. Should I use adjust_exp function every time I deal with experience, or they always work?

You should use the adjust function, until we have a more sound method.
Title: Re: General Discussion
Post by: picobyte on December 05, 2016, 02:11:07 PM
Items transfer still doesn't work like it did. You are supposed to have the same container with character listed from both sides.

Well I take it you didn't like the char swap solution? okie, reverted.


Also, there seem to be instances when you get a huge list of traits removed (top-right part of the screen) when focusing an item on a group.

Yep that's the dummy not comparing well with the group. now it shows trait differences for the first char, which is right in most cases. There's no perfect solution. No trait display for groups is another option.
Title: Re: General Discussion
Post by: picobyte on December 05, 2016, 02:33:56 PM
looks nice, all the art coming by, btw. Is there a schedule/roadmap somewhere for planned changes?
Title: Re: General Discussion
Post by: Xela on December 05, 2016, 02:36:42 PM
Well I take it you didn't like the char swap solution? okie, reverted.

Thx! It was a bit confusing.

Yep that's the dummy not comparing well with the group. now it shows trait differences for the first char, which is right in most cases. There's no perfect solution. No trait display for groups is another option.

Your call.
Title: Re: General Discussion
Post by: Xela on December 05, 2016, 02:48:20 PM
looks nice, all the art coming by, btw. Is there a schedule/roadmap somewhere for planned changes?

We tried that, didn't work out :(

My hope is that we can release a stable beta in end-January. I should have a lot more devtime in a week or two, but I am working on two projects. If we can manage a stable demo for the other project by xmass, end-Jan should be possible for pytfall assuming that Dark also has enough free time to wrap up content addons.

I still have no clue about the time required to make 3D-rendered packs.
Title: Re: General Discussion
Post by: DarkTl on December 05, 2016, 11:49:30 PM
I think you have much more work to release the beta than me. Arena, Graveyard, Autobuy/Autoequip are 100% yours. There is not much I can do there, it's pure, complex logic.
Title: Re: General Discussion
Post by: Xela on December 06, 2016, 05:21:23 AM
I think you have much more work to release the beta than me. Arena, Graveyard, Autobuy/Autoequip are 100% yours. There is not much I can do there, it's pure, complex logic.

So is SE, BE, Wage/Status Tiers, Building/Businesses/rChars Generation, Taxes and SimPy stuff. I do have almost unreasonable expectations towards myself when working uninterrupted so the plan is to take out all of that in a week or two in January, even while working on other project(s) + as codebase grows, you can add events, texts and image calls + balance stuff out.

Another plan is to try game development fulltime with patreon account for at least for a half an year to see if I can swing that. I've worked hard to make sure that there is enough money to last at least for two years without any income (which cut down game development time in the past 6 month to almost 0) so we'll have a beta out in the first quarter even if we keep expanding the concept and expectations towards it :D
Title: Re: General Discussion
Post by: DarkTl on December 06, 2016, 06:26:57 AM
Yeah, some artists at patreon get absolutely unreasonable sums every month, considering how little they actually do due to laziness or  lack of free time.

However, Pytfall contains many copyrighted resources, even packs aside. BE animations, music and sounds, items icons. Pretty sure patreon will not appreciate emails from content owners.  Meaning you also should hire Gismo to draw everything from scratch  :D
Title: Re: General Discussion
Post by: Xela on December 06, 2016, 07:01:29 AM
I am not planning to officially feature pytfall there, we'll start off with baberunner demo :) We got three copyright claims just from the pytfalls youtube techdemo! but nowadays they just stick commercials in and earnings go to respective copyright owners.
Title: Re: General Discussion
Post by: DarkTl on December 06, 2016, 09:26:50 AM
Babe Runner already has a page at patreon - with insignificant income. Secondary patreon pages will get even less. Then again, I suppose you can mention Pytfall there without advertising it.

Personally, I used to support a few games there, but stopped after this (http://www.pcgamesn.com/hentai-game-breeding-season-cancelled) awesome story. Unlike kickstarter, there are zero mechanics to make sure that either a game will be ready eventually or money will be returned.
Title: Re: General Discussion
Post by: Xela on December 06, 2016, 09:39:45 AM
That page belongs to the artist who used it on per work basis instead of per month basis. There is no demo of BR either. We'll see, I do not hold any high hopes for BR itself, it has nice art and coding techs but it's too dark and lacks direction. I want a simple, breezy game with a nice gui and bright setting next. If we can get a couple of k between two account, we can start incorporating cooler techniques or even different engines, but we need to get there first.
Title: Re: General Discussion
Post by: lamoli on December 06, 2016, 10:49:03 AM
Ill try to make some simple BG for scene like seeing parts of:


Bed/floor (angle down)
Bed/sealing (angle up)
bed/wall (sides)
bed (mostly topview)

for dungeon training room i could make the stone with wooden pillars ( more like European style ) and full wood ( more like Asian type ) for those i got some reference..

for holding cells i guess it depends is its euro or asian to use stone or wood..

But i need to know how the interiors will look like for more general scenes...

Title: Re: General Discussion
Post by: Xela on December 06, 2016, 11:08:26 AM
We do not have dungeon. There was one in the past but we decided to leave it till after beta.
Title: Re: General Discussion
Post by: DarkTl on December 06, 2016, 11:12:18 AM
I believe you have access to the repo. There are pictures in game\content\gfx\bg\locations starting with girl_room. That's more or less how living interiors look like. I just avoid high tech devices when look for backgrounds.
Title: Re: General Discussion
Post by: picobyte on December 06, 2016, 07:37:55 PM
In the very last commit in my branch, a patch (https://github.com/picobyte/PyTFall/commit/a213f592c8d94e594c41dd04c1a37c7c3d30e000) to cleanup the auto-buy function. There were a few potential ctds. Is this ok or does the autobuy require a complete rewrite?
In case of an amount==1 auto-buy, the chance to select items from the lower sections of this function is slim. This due to the top-down traversal and a return on the first appropriate item.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 05:53:20 AM
In the very last commit in my branch, a patch (https://github.com/picobyte/PyTFall/commit/a213f592c8d94e594c41dd04c1a37c7c3d30e000) to cleanup the auto-buy function. There were a few potential ctds. Is this ok or does the autobuy require a complete rewrite?
In case of an amount==1 auto-buy, the chance to select items from the lower sections of this function is slim. This due to the top-down traversal and a return on the first appropriate item.

Oki, so if you;re willing to mess with deepest anals of pytfalls code:  :D

This method should be optimized for speed instead of code readability, the first version of this I wrote was executed in 12 secs buying 10 items for 1000 chars. Last version did .6 - .8 secs if i recall correctly. We do randomize when chars go shopping and it is not bloody likely that there will ever actually be 1000 free chars in the game world buying sh!t at the same time but it can theoretically happen (also even chars that player has not met yet, still go shopping as long as they are in "city" location).

Code: [Select]
+            pool = set(item for item in auto_buy_items if not(item.badtraits.intersection(self.traits)) and (item.price <= self.gold))
+
             if self.status == "slave": # for slaves we exclude all weapons, spells and armor immediately
-                pool = list(item for item in auto_buy_items if not(item.badtraits.intersection(self.traits)) and (item.price <= self.gold) and not(item.slot in ("weapon", "smallweapon")) and not(item.type in ("armor", "scroll")))
-            else:
-                pool = list(item for item in auto_buy_items if not(item.badtraits.intersection(self.traits)) and (item.price <= self.gold))
+                pool = pool.difference(item for item in pool if item.slot in ("weapon", "smallweapon") or item.type in ("armor", "scroll"))
             
I am pretty sure that this is a step in the wrong direction, also the general rule is to use sets if you do a lot of membership testing and lists when you got to iterate over them. You can also do choice from lists at lighting speeds. So you end up with:
Code: [Select]
selected_item = random.choice(tuple(newpool))
creating tuples all over the place to get functionality we had by default with lists.

Code: [Select]
+                newpool = set(item for item in pool if item.type == "restore")
Iterating over items in sets a lot, which is also a bit slower.

And I do not believe that we're actually testing if an item is in the pool anywhere...


Other than that, there are issues with the code itself, cause while it was working in the past, data structures were changed and it is a complete fail today :( As you pointed out, it can ctd because of the money filter which I think was added later. It would not ctd on shuffle as you can shuffle a list if it's empty.

Code: [Select]
            for i in pool:
                # This will make sure that girl will never buy more than 5 of any item!
                if i.id in self.inventory

This code is meaningless and broken everywhere it is used in the game, we no longer use if strings in inventory, we now use item objects. So it can prolly be fixed with:

Code: [Select]
if i in self.inventory:
I am also not sure if this does anything meaningful either, as it did in the past:

Code: [Select]
newpool = list(item for item in pool if item.goodtraits.intersection(self.traits))
(I've tested it and it does work, guess it was updated at some point).


Otherwise, a lot can be improved in the method, in terms of logic, design and speed but the idea was:
Quote
Figure out best logic for items buying/equipping.
Autobuy/equip methods. They do work reasonably well as it is, might require a go over just in case, both content and code.

to do exactly what you did, trying to fish out new problems. Maybe also to throw out some of the old code and add new but I am not even sure what that means myself, we've added base traits, different job handling, skills and etc. Problem is that it may be too early to actually write code for that in auto_buy func, at least until those concepts are finalized and their code and structure is rock solid. I figure if what we have now is optimized and tested, it should be good enough for Beta release.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 05:58:32 AM
PS:

We do only care about code optimization inside of stuff that we execute a lot of times during next day and especially inside of tight loops (I once put a complex calculation that only had to be done once inside of a for loop in strippers job, it took 50 secs to finish under testing conditions) :) Moving it outside improved performance like 2000 times :D

In VN/Interface mode stuff like this doesn't matter at all. It also doesn't matter that much for funcs that we call on the next day once (although I try to keep it in the back of my head when writing them).
Title: Re: General Discussion
Post by: DarkTl on December 07, 2016, 07:20:42 AM
Problem is that it may be too early to actually write code for that in auto_buy func, at least until those concepts are finalized
No, it's not that bad. Unlike autoequipment, which may have differences from character to character but still should be useful for the current job, autobuying is not supposed to be perfectly logical and predictable.

During shopping people, especially females, often make weird decisions even irl. While character with low hp will try to buy something that restores health, under normal conditions there are no strict rules. Only various dices based on mood, traits and some items fields. It should be totally possible for chars to buy something totally useless - maybe even only to sell it a few turns later
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 07:30:56 AM
No, it's not that bad. Unlike autoequipment, which may have differences from character to character but still should be useful for the current job, autobuying is not supposed to be perfectly logical and predictable.

During shopping people, especially females, often make weird decisions even irl. While character with low hp will try to buy something that restores health, under normal conditions there are no strict rules. Only various dices based on mood, traits and some items fields. It should be totally possible for chars to buy something totally useless - maybe even only to sell it a few turns later

It's one of those things I was talking about earlier. Background logic that we cannot properly relay to player is meaningless. It'll look random and confusing or we'd have to add more info to reports. We got to be careful about stuff like this as it breeds useless code that adds almost nothing to gameplay and is often difficult to maintain. It's nice when stuff happens "behind the curtains" but results of these things must have noticeable effects on gameworld/play and even better, be relayed to player somehow.
Title: Re: General Discussion
Post by: DarkTl on December 07, 2016, 08:35:14 AM
Reports already contain info about bought items. If both autobuying and autoequipping systems will be perfectly logical, there will be nothing for player to do in terms of items management.

I've encountered a problem. Sex scene can only exist inside GMs, and doesn't work with direct jump to it. But sometimes I need to activate it outside of GMs. I dunno how.
While it's possible to rewrite it to make sure it works everywhere, it means full rewriting. Perhaps it's possible to forcibly initiate GMs and then run the scene?
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 09:05:58 AM
I've encountered a problem. Sex scene can only exist inside GMs, and doesn't work with direct jump to it. But sometimes I need to activate it outside of GMs. I dunno how.
While it's possible to rewrite it to make sure it works everywhere, it means full rewriting. Perhaps it's possible to forcibly initiate GMs and then run the scene?

What label does it start on?
Title: Re: General Discussion
Post by: DarkTl on December 07, 2016, 09:12:20 AM
There are many labels depending on how it was started. The safest one is interactions_sex_scene_select_place, it doesn't need additional variables (if I'm not mistaken). You just need to make char=needed character.

The problem is, it heavily relies on gm.set_img(...) which does nothing at all outside GMs, so while logic works, pictures don't change.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 09:18:26 AM
There are many labels depending on how it was started. The safest one is interactions_sex_scene_select_place, it doesn't need additional variables (if I'm not mistaken). You just need to make char=needed character.

The problem is, it heavily relies on gm.set_img(...) which does nothing at all outside GMs, so while logic works, pictures don't change.

Have you tried using this function:

Code: [Select]
    def interactions_run_gm_anywhere(char, place, background):
        """           
        Runs (or doesn't) gm or interactions with the char based on her status; place is where we jump after gm is over
        """
        if chars[char].status == "slave" or not(chars[char].is_available):
            narrator("Nobody's here...")
            renpy.jump(place)
        elif chars[char] in hero.chars:
            gm.start("girl_interactions", chars[char], chars[char].get_vnsprite(), place, background)
        else:
            gm.start("girl_meets", chars[char], chars[char].get_vnsprite(), place, background)

It looks like something that could work?
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 09:21:59 AM
No, it will still just to the main interactions menu :(
Title: Re: General Discussion
Post by: DarkTl on December 07, 2016, 09:23:23 AM
It's my function which helps to write less lines sometimes, it cannot do fancy stuff  :D
It will initiate normal GMs, while I need a certain part of GMs, ie sex scene.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 09:58:38 AM
Try it now, I've extended the functionality a bit but so many people worked on the system that I can't tell for sure if it's going to work reliably. You may be required to add something like:

Code: [Select]
if gm.mode == "custom":
    $ gm.exit()
else:
    # Whatever happened before.

to exit point from the intercourse interactions.

Also you may be required to set up sayers. I am not 100% sure. The idea is to run the function and show background/setup sayers and/or flags so you'd have more control. I can do better (more automation) if you come up with a testing case (if you feel that it's required) but whatever is needed for basic gm functionality should work.
Title: Re: General Discussion
Post by: DarkTl on December 07, 2016, 11:39:20 AM
Ok, either one of us or we both don't understand something  :D

I added testing case. You should include a character into MC team (if there are two, one will be picked randomly) and go to city_beach_left. There will be button with palms. It should (after a few lines from another event that was there before testing case) start GMs using label interactions_sex_scene_begins. Without any other GMs functionality, such as greetings or GM menu. It should, but it doesn't atm because I don't understand the logic behind you push.

Moreover, even simple $ interactions_run_gm_anywhere(member, exit="city_beach_left", background="beach_rest", custom=True) gives a weird error
Quote
  File "game/library/screens/locations/beach_left.rpy", line 190, in script
    $ interactions_run_gm_anywhere(member, exit="city_beach_left", background="beach_rest", custom="interactions_sex_scene_begins")
  File "game/library/screens/locations/beach_left.rpy", line 190, in <module>
    $ interactions_run_gm_anywhere(member, exit="city_beach_left", background="beach_rest", custom="interactions_sex_scene_begins")
  File "game/library/interactions/function - interactions (GM).rpy", line 294, in interactions_run_gm_anywhere
    gm.start("custom", chars[char], chars[char].get_vnsprite(), exit, background)
KeyError: <store.rChar object at 0x0E48B350>

If it requires major rewriting of GMs, it can wait until beta, when you wanted to rewrite GMs anyway.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 12:16:56 PM
If it requires major rewriting of GMs, it can wait until beta, when you wanted to rewrite GMs anyway.

It does not require anything of a sort, the problem is that I don't know interactions script beyond the GM class itself cause it was written by you and CW. Like for example, you set a whole bunch of required variables in a label where you choose a location for interaction... so I need to trace all the global vars required and make sure they are setup before we jump to the interactions label with positional choices. Give me 15 more mins.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 12:35:54 PM
Oki, try it now.

Also, as you write core, try to separate your thoughts with empty lines, it's really hard to read when it's just one endless wall of script/lines.
Title: Re: General Discussion
Post by: DarkTl on December 07, 2016, 01:10:47 PM
Yeap, works like it should. Nice.

Also, as you write core, try to separate your thoughts with empty lines, it's really hard to read when it's just one endless wall of script/lines.
So that's why those 16 random empty lines in GM - sex.rpy exist in the last push  :D
I dunno, it looks good in notepad++, with different colors and stuff.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 01:29:52 PM
I dunno, it looks good in notepad++, with different colors and stuff.

It's still not a bad idea to do that.

I am actually fishing for a new text editor to try and increase productivity. I've tried NP++ which is nice but I couldn't get all the stuff that I wanted in under 20 mins so I dropped it :D I've also tried Editra which I hated and Vim which was too weird and unintuitive.

I am presently trying out Atom which seems nice, intuitive and I could figure out everything that I need in under 10 mins, problem is that I went with a portable version which I expected to work from dropbox folder between desk/laptop according to docs but it did some weird thing where it did not transfer settings and kept increasing it's folder size till it was something like 2Gb, at which point it went into some sort of infinite recursions loop. Right now I am reinstalling a normal version to see if it can do any better cause it looks awesome and does everything I want except that it can't unfold all folded lines selected at once. The only other options I wanna try are ST3 and VS if Atom does the same thing when properly installed, otherwise I'll just stick with JEdit.
Title: Re: General Discussion
Post by: DarkTl on December 07, 2016, 01:54:46 PM
There are a few guides about np+ at the renpy lemma btw.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 02:01:35 PM
There are a few guides about np+ at the renpy lemma btw.

You're right, I didn't know that. It may be worth giving another shot if atom thing doesn't pan out.
Title: Re: General Discussion
Post by: Xela on December 07, 2016, 02:59:39 PM
But this does look awesome:
(https://s18.postimg.org/fg8ewonat/2016_12_07_21_55_45.jpg) (https://postimg.org/image/fg8ewonat/)

It even shows you what files you've edited but not pushed to git yet out of the box :)
Title: Re: General Discussion
Post by: DarkTl on December 08, 2016, 01:07:46 AM
Would be even better if there wouldn't be commits aka "git went berserk again" in repo, which are probably caused by dropbox+atom  :)
Pure git extensions always work for me, unless there is a super complex merging involved.
 
Title: Re: General Discussion
Post by: Xela on December 08, 2016, 01:15:37 AM
Would be even better if there wouldn't be commits aka "git went berserk again" in repo, which are probably caused by dropbox+atom  :)
Pure git extensions always work for me, unless there is a super complex merging involved.

Yeap, I use ge as well and atom came after those commits so it got nothing to do with that. They happen when git lock is not released as git or two git extensions are running at the same side on laptop and desktop. I try to check if that's the case but sometimes forget, which leads to issues.
Title: Re: General Discussion
Post by: DarkTl on December 08, 2016, 03:33:57 AM
I'm using external hdd with renpy+pytfall and all needed portable editors when it's too cold to take laptop outdoors, like right now.

I took a look at Atom, sadly they don't support systems older than win7 (not simply don't support, it just refuses to work), which will limit my options greatly since I work on very different systems from time to time. Unlike np++.
Title: Re: General Discussion
Post by: DarkTl on December 08, 2016, 01:28:44 PM
I have to say, I tried dark theme in np+, like your screenshots show. I just can't work with it, it totally distracts me  :D
Title: Re: General Discussion
Post by: picobyte on December 08, 2016, 08:47:19 PM
thanks for the pointers. I now seem to have something that does autobuy in 0.08 to 0.09 for me. It is intended to behave similar as previously. In essence some logic is stored in auto_buy_items dict early (after loading the items).

Edit:
 I think we may hot loop if we have almost no money and can buy nothing while we have some to buy amount still.
Title: Re: General Discussion
Post by: Xela on December 09, 2016, 06:11:01 AM
I took a quick glace at the code, you've changed code a lot so I can't tell if it does the same thing or not but it doesn't really have to as long as it is working. One thing that stood out is:

Code: [Select]
                count = self.inventory[selected_item] + 1 if self.eqslots[selected_item.slot] == selected_item else 0
which looks like it plainly sets count to 0 if not item is equipped.

Code: [Select]
                count = self.inventory[selected_item] + self.eqslots.values().count(selected_item)
I think this is a more sound solution, especially since a character can have more than one of the same rings equipped. We'd want to disable characters buying more than one of the same item... 3 is a good amount for rings and 5 is the max amount for consumables.


Problems with methods like this one is that they can be improved/made smarter almost indefinitely. It's really hard to say when to stop improving them... Is .08 secs presently required for a single call?
Title: Re: General Discussion
Post by: DarkTl on December 09, 2016, 12:42:25 PM
How weird... This is infinite loop:
Quote
    $ i = 1
    while i < randint(3, 5):
        $ i += 1
        call city_tavern_thugs_fight
       
And this works as expected:
Quote
    $ i = 1
    while i < randint(3, 5):
        call city_tavern_thugs_fight
        $ i += 1
Title: Re: General Discussion
Post by: Xela on December 09, 2016, 12:52:10 PM
I doubt it, you're prolly doing something weird to i in the label.
Title: Re: General Discussion
Post by: DarkTl on December 10, 2016, 02:21:22 AM
Indeed. I got used to the loop variable always being local in delphi  :)
Title: Re: General Discussion
Post by: picobyte on December 11, 2016, 05:53:07 PM
there are a few issues I overlooked, so more changes for the auto_buy(). Most important, I missed items for chars with 'free' status. There was also a hot-looping in case of little money.
After this performance wasn't as good as before, but a bit more hacks and now I get again somewhat nice figures, 0.08-ish.
I think if we really want performance, we should order and group process chars, but I'm not sure if there really is need for that in practice.
BTW I never seem to get scrolls for Casters. They are present in game/content/db/items_scrolls.json, but it seems they are not yet loaded? probably a known issue..
Title: Re: General Discussion
Post by: picobyte on December 11, 2016, 06:57:54 PM
Code: [Select]
    $ i = 1
    while i < randint(3, 5):
        $ i += 1
        call city_tavern_thugs_fight

Not sure if it matters here, but this does probably not what you intend: The chance of breaking the loop is not equally distributed between 3 and 5. To show this try running the code below in a python console a few times with test(100):

Code: [Select]
def test(end):
   i=0
   while i < random.randint(1,end):
        i += 1
        print(str(i))

You'll notice that it almost never reaches 50.  The loop tends to stop earlier, since a new end is tested each iteration. It's better to define the end before the loop:

Code: [Select]
    $ i = 1
    $ end = randint(3, 5)
    while i < end:
        $ i += 1
        call city_tavern_thugs_fight

As to your original question, you figured out it was something different, but in contrast the code below can be an infinite loop:

Code: [Select]
    $ i = 1
    while i != randint(3, 5):
        $ i += 1
        call city_tavern_thugs_fight
Title: Re: General Discussion
Post by: DarkTl on December 12, 2016, 03:02:02 AM
BTW I never seem to get scrolls for Casters. They are present in game/content/db/items_scrolls.json, but it seems they are not yet loaded? probably a known issue..
I'm not sure yet how to handle them, or if we need them at all. There are a lot of them, they all look the same and do the same thing. Perhaps some kind of menu or a scripted item, like a book of spells, will be better.

You'll notice that it almost never reaches 50.  The loop tends to stop earlier, since a new end is tested each iteration. It's better to define the end before the loop
I see, thanks.
Title: Re: General Discussion
Post by: picobyte on December 12, 2016, 08:04:56 PM
I think I'll move on to auto_equip next. 0.05  secs to run to equip 1000 chars should be good enough.

And ehrm.. can I get a status upgrade, or will I be newbie forever? ::)
Title: Re: General Discussion
Post by: DarkTl on December 13, 2016, 12:14:29 AM
It's up to you, status is based on the number of posts  :)
If I'm not mistaken, the second level requires 50, and the fifth level, Hero Member, requires 1000 posts.
Title: Re: General Discussion
Post by: Xela on December 13, 2016, 12:40:09 PM
Finally got my net back, now with a new shiny optical connection! I cannot mess with forum status, or I don't think that I can, it will update itself after required amount of posts is reached.
Title: Re: General Discussion
Post by: lamoli on December 13, 2016, 01:40:42 PM
Nice.. finally found a possible good inspiration source for Pytfall clothing..


https://chan.sankakucomplex.com/?tags=houtengeki (https://chan.sankakucomplex.com/?tags=houtengeki)


can you check if his work is alright for Pytfall clothing.. (from the 215 iv browsed so far it looks great)


Next up is action poses with expression only having 1 is a big problem and not happy until i find more..
Title: Re: General Discussion
Post by: DarkTl on December 13, 2016, 02:26:57 PM
Yeah, they are perfect.
Title: Re: General Discussion
Post by: picobyte on December 13, 2016, 02:34:39 PM
It's up to you, status is based on the number of posts  :)
If I'm not mistaken, the second level requires 50, and the fifth level, Hero Member, requires 1000 posts.

Ah haha, maybe I'll just post my patches here as well then, for review purposes, of course
Title: Re: General Discussion
Post by: DarkTl on December 14, 2016, 11:40:59 AM
I added a (free yet) dice minigame in tavern. While it works as intended, it could use cool renpy-based animations to show dices, which is beyond my capabilities.
Title: Re: General Discussion
Post by: Xela on December 14, 2016, 12:07:02 PM
I added a (free yet) dice minigame in tavern. While it works as intended, it could use cool renpy-based animations to show dices, which is beyond my capabilities.

Like what? Is this like black-jack with dice?
Title: Re: General Discussion
Post by: DarkTl on December 14, 2016, 12:42:22 PM
Yeap. Many big games these days have cards/dices minigames, sometimes with quite complex rules - like dice poker in Witcher.

For example, when new dice appears, dices that already are on the "table" could move to the left to free enough space for it, and the new dice will appear via zoomin or slideleft.
Title: Re: General Discussion
Post by: Xela on December 14, 2016, 12:55:42 PM
It may not be worth the effort for beta, position of each dice might have to be controlled with custom code. I'll try something simple(r) but it prolly not gonna work.

Edit: Scratch that, I keep forgetting that they keep improving sh!t :)
Title: Re: General Discussion
Post by: picobyte on December 17, 2016, 08:41:07 AM
I have a deep respect for whoever wrote the skill code. It must have required a lot of action points, multipliers and training.
Title: Re: General Discussion
Post by: picobyte on December 17, 2016, 09:04:23 AM
If I got this straight, for skills there are three multiplier, and 2 linear stats, multipliers are within bounds: 0.5 to 1.5. The first linear describes the 'action', the number of points for the stat, it has the first multiplier. the 2nd linear, determines the training: beyond where action points are going to weight only 1/3, withthe 2nd a multiplier. The third multiplier acts on the result: the action value up to the training threshold, plus the thirds beyond.
This is what you get when you call get_skill(), however, the multiplier is also applied for each new skill point that is added, and again there is another training threshold, but here, beyond, the addition is multiplied by the maximum of 0.1 and 1 - (training beyond / 3000).

Edit: strike last sentence as __setattr__ is not called on apply_item_effects()
Title: Re: General Discussion
Post by: DarkTl on December 17, 2016, 09:13:55 AM
Here (http://www.pinkpetal.org/index.php?topic=3504.msg31163#msg31163) Xela outlined his skills concept in general.
Title: Re: General Discussion
Post by: Xela on December 17, 2016, 11:50:20 AM
Yeah, it's a bit confusing in code but the concept itself is not difficult to explain and should be flexible enough to milk it in the future. It has not passed players test yet thought as it was added after alpha release :(
Title: Re: General Discussion
Post by: picobyte on December 17, 2016, 12:52:42 PM
Here (http://www.pinkpetal.org/index.php?topic=3504.msg31163#msg31163) Xela outlined his skills concept in general.

thanks. FYI: I'm rewriting the auto_equip() to try and make a better decision based on stat and skill bonusses/penalties per item. A question I have is how we should weigh stat mods versus skills mods.
To make them comparable I think I could normalise (scale) them by their respective max values, or should a stat increase e.g. always outweigh a skill benefit?
Title: Re: General Discussion
Post by: DarkTl on December 17, 2016, 01:12:42 PM
A question I have is how we should weigh stat mods versus skills mods.
To make them comparable I think I could normalise (scale) them by their respective max values, or should a stat increase e.g. always outweigh a skill benefit?
Skills have super high max values, almost unobtainable without cheats. Dunno how are you going to normalize them  :D
And multipliers to action and training counters don't have big maxes but are very, very useful, especially in the long run.

Possible ideas:
- use item price to figure out which item is more powerful when in doubt
- items with bonuses to skill counters > items with bonuses to skill > items with no bonuses to skill
- check how useful the item with stats for the character; if it gives charisma+50, but current charisma is 49/50, it's useless compared to any item with skill bonuses.
Title: Re: General Discussion
Post by: picobyte on December 17, 2016, 01:43:23 PM
multipliers to action and training counters don't have big maxes but are very, very useful, especially in the long run.

The general idea was: calculate exactly for each item what the resulting target stats and skills will be and equip the item based on that. This includes the diminished action value beyond training penalty calculation and only counting until max is reached.

Code: [Select]
         for item in itemlist:

                if item.slot != slot or not item.eqchance or item.type == "permanent" or item.ceffect or item in skip:
                    continue

                if item.id in self.consblock or item.id in self.constemp or not can_equip(item, self):
                    continue

                if slot == "consumable":
                    if item.type == "alcohol" and self.effects['Drunk']['activation_count'] >= 30:
                        continue

                    if item.type == "food" and elf.effects['Food Poisoning']['activation_count'] >= 6:
                        continue
                    next_itemlist.append(item)

                weight = 0
                applicable = True
                for stat, value in item.mod.iteritems():

                    in_target_stats = True if stat in target_stats else False

                    if value < 0 and in_target_stats or stat in exclude_on_stats:
                        applicable = False
                        break

                    if in_target_stats:
                        # limit to remaining applicable for stat
                        weight += min(value, self.get_max(stat) - self.stats._get_stat(stat))

                if not applicable:
                    continue

                (stat_max_avg, stat_ct) = (0, 0)
                for stat, value in item.max.iteritems():

                    in_target_stats = True if stat in target_stats else False

                    if value < 0 and in_target_stats or stat in exclude_on_stats:
                        applicable = False
                        break

                    if in_target_stats:

                        stat_max = self.get_max(stat)
                        stat_max_avg += stat_max
                        stat_ct += 1
                        stat_remaining = stat_max - self.stats._get_stat(stat)

                        # if the max doesn't shift, at least give a weight up to 1 for the increased max.
                        # if max decreases, give a penalty, more severe if there is little stat remaining.
                        weight = value / (stat_remaining + min(value, 1)) # stat_remaining is >= 0

                        # if stat increases due to shifted max, weight accordingly
                        weight += item.get_stat_eq_bonus(self, stat)

                if not applicable:
                    continue

                # for normalisation
                stat_max_avg = stat_max_avg / stat_ct if stat_ct else 1

                for skill, effect in item.mod_skills.iteritems():

                    in_target_skills = True if skill in target_skills else False

                    if value < 0 and in_target_skills or skill in exclude_on_skills:
                        applicable = False
                        break

                    if in_target_skills or value < 0 and skill in exclude_on_skills:

                        skill_max = SKILLS_MAX[key]

                        skill_remaining = skill_max - self.get_skill(skill)
                        if skill_remaining <= 0:
                            # calculate skill with mods applied, as in apply_item_effects() and get_skill()

                            mod_action = self.stats.skills[0] + effect[3]
                            mod_training = self.stats.skills[1] + effect[4])
                            mod_skill_multiplier = self.stats.skills_multipliers[2] + effect[2]

                            training_range = mod_training * 3
                            beyond_training = mod_action - training_range

                            if beyond_training >= 0:
                                mod_training += training_range + beyond_training / 3.0
                            else:
                                mod_training += mod_action
                            new_skill = mod_training*max(min(mod_skill_multiplier, 1.5), 0.5)

                            stat_scale = stat_max_avg / skill_max
                            if in_target_skills:
                                # limit to remaining applicable for skill
                                weight += min(new_skill, skill_remaining) * stat_scale
                            else:
                                weight += value * stat_scale

                if not applicable:
                    continue
Title: Re: General Discussion
Post by: picobyte on December 17, 2016, 01:59:29 PM
..and this is work in progress. the general idea search which item gives the max weight, and apply that. Only one except consumables, reiterate consumables until the benefit and costs outweigh consumption.
Title: Re: General Discussion
Post by: DarkTl on December 17, 2016, 01:59:57 PM
Strictly speaking, auto equipment does not have to be completely perfect all the time. It should be adequate, but a perfect one will make the option to directly access character inventory (slaves and lovers) mostly useless.
Title: Re: General Discussion
Post by: picobyte on December 17, 2016, 02:24:00 PM
Strictly speaking, auto equipment does not have to be completely perfect all the time. It should be adequate, but a perfect one will make the option to directly access character inventory (slaves and lovers) mostly useless.

That's a good point, but it it may be a good starting point though. We could add randomness and let eqchance, price and badness weigh. And some more trait based preferences.
Title: Re: General Discussion
Post by: Xela on December 17, 2016, 04:14:55 PM
Yeah, especially at first, plan was to pick based on occupations and eqchance. We may have a lot more information with jobs implementation in the future.
Title: Re: General Discussion
Post by: DarkTl on December 18, 2016, 02:30:08 AM
Xela, there is a small but pesky limitation at the MC setup screen. If the second class is tied to the third choice, ie MC mother, you cannot see it until you pick one of options from the last choice.
Title: Re: General Discussion
Post by: Xela on December 18, 2016, 03:25:52 AM
I'll take a look at it when I can.
Title: Re: General Discussion
Post by: picobyte on December 18, 2016, 06:17:39 PM
Ok I have an  auto_equip() that works to some extent. In my branch for now. In case anyone wants to look at it, maybe just review the result here (https://github.com/picobyte/PyTFall/blob/099e94ead86305f6358d22e32f16fda4c977402c/game/library/characters/classes%20-%20characters.rpy#L1964). In the beginning I started with modifying the existing code, but after a while I thought it best to simply replace it.

as the commit message states: In this version an attempt is made to get the 'perfect' auto_equip - later trait and random driven deviations from this perfect selections are planned, some of which are already present as commented code.

There are also some patches that touch core functions. I've made them small enough for review and so that I'm confident that they do the right thing. They were committed on and after December 17th.

There were a few pytgroup and other bugfixes.
I've added a unequip all button to the inventory screen.
Title: Re: General Discussion
Post by: Xela on December 18, 2016, 06:48:14 PM
Sounds nice!

Can you add two or three setups for inventory that could be stored? It was requested by a bunch of people during the alpha release phase. Basically you just have to store equipped dicts and add checks to make sure that if an item was sold or given away (no longer in inventory). Also it should unequip current equipped items before equipping the saved preset.

The reason it was asked is that they wanted a combat/interactions/work oriented setups and wished to conveniently toggle between them, which sounds like a perfectly reasonable request. It's prolly the last thing from alpha suggestions that we didn't add to the game or did not make plans to implement.


I can't check the auto-equip atm, but if it feels like it's doing the right thing, it's a good design. Stuff like that can be improved almost indefinitely and it's almost always a bad idea to try and make it ultra smart.
Title: Re: General Discussion
Post by: picobyte on December 18, 2016, 07:27:32 PM
Thanks. I think that should be not too hard.

Can you add two or three setups for inventory that could be stored? It was requested by a bunch of people during the alpha release phase. Basically you just have to store equipped dicts and add checks to make sure that if an item was sold or given away (no longer in inventory). Also it should unequip current equipped items before equipping the saved preset.

Storage of equip dicts per person, and I guess somewhere saved in the inventory screen, and maybe add a [1] [2] [3] button to swap in the character listing, if a person has it.
Title: Re: General Discussion
Post by: DarkTl on December 19, 2016, 10:47:55 AM
The reason it was asked is that they wanted a combat/interactions/work oriented setups and wished to conveniently toggle between them, which sounds like a perfectly reasonable request.
It's a bit tricky though due to design-based limitations. For example, slaves cannot have a combat setup because they cannot equip most weapons and armors. And unless the character is a slave or a lover, you don't have direct access to inventory, so the same should be true for her setups.
Title: Re: General Discussion
Post by: picobyte on December 19, 2016, 11:21:41 AM
It's a bit tricky though due to design-based limitations. For example, slaves cannot have a combat setup because they cannot equip most weapons and armors. And unless the character is a slave or a lover, you don't have direct access to inventory, so the same should be true for her setups.

I have something that works now. The equipment is stored per person and from an equiped state, so unless the character has a status change, this cannot be an issue. What is not yet implemented is the checks for discarding and selling items. Where should these checks occur?

I pushed the changes in the main branch, so you can see the results for yourself.
Title: Re: General Discussion
Post by: DarkTl on December 19, 2016, 11:36:57 AM
so unless the character has a status change, this cannot be an issue.
Enslaving will wait until dungeon, but freeing someone (after paying a certain sum) will be in the next release.

What is not yet implemented is the checks for discarding and selling items. Where should these checks occur?
Ideally, we should try to prevent cases when at 200 turn everyone has 50+ items in inventory. Especially multiple copies of the same item. It's fine to keep 5-10 potions, but not 50.
For example, if character has 10 items with "dress" type and "body" slot, it might be wise to use auto equipment algorithm and then sell 1-2 dresses with the smallest "weight".

There is a small catch though: Xela implemented a system when you can give an item to a free character, and she may agree to take it and then even equip/use it (or disagree, of course). But at the same time you can take this item anytime, because it was yours in the first place.

So such items should not be sold, or considered to be duplicates in the first place.
Title: Re: General Discussion
Post by: picobyte on December 19, 2016, 12:56:04 PM
if character has 10 items with "dress" type and "body" slot, it might be wise to use auto equipment algorithm and then sell 1-2 dresses with the smallest "weight".

There is a small catch though: Xela implemented a system when you can give an item to a free character, and she may agree to take it and then even equip/use it (or disagree, of course). But at the same time you can take this item anytime, because it was yours in the first place.

So such items should not be sold, or considered to be duplicates in the first place.

I'm not sure whether I'm willing to venture into this mess. With this setup, for every item operation, you have to do list checks, a lot of work. Why not just say, if you've given the item, in particular to a free person, all bets are off?
Title: Re: General Discussion
Post by: DarkTl on December 19, 2016, 01:10:20 PM
Fine by me. However, slaves definitely shouldn't sell any items.
Title: Re: General Discussion
Post by: DarkTl on December 19, 2016, 01:20:08 PM
I pushed the changes in the main branch, so you can see the results for yourself.
Your system allows creation of infinite copies of equipable items. Once you saved presets, you can take items from the character and they still will work, creating items in her inventory out of nowhere.
Title: Re: General Discussion
Post by: picobyte on December 19, 2016, 02:46:47 PM
yes there's more to do, also badtraits(?) and can_equip(item, char), I think these need to be checked again. I guess that's it?

Also what if any one fails, we still try to equip the rest, or just forget about it?
Title: Re: General Discussion
Post by: DarkTl on December 19, 2016, 03:06:16 PM
Yes, I think bad traits and can_equip cover all possibilities.

Either the game still should try to equip the rest (after removing from the preset those items that didn't passed the checks) or give a message to explain what's wrong with the preset, otherwise it might be confusing for players when preset just stops working.
The first option seems more elegant, but the second is fine too.
Title: Re: General Discussion
Post by: picobyte on December 19, 2016, 05:37:00 PM
Yes, chose for the first option. I think this should prevent duplication or wrong equipment.

(⌐■_■)
Title: Re: General Discussion
Post by: picobyte on December 19, 2016, 06:52:15 PM
Ideally, we should try to prevent cases when at 200 turn everyone has 50+ items in inventory. Especially multiple copies of the same item. It's fine to keep 5-10 potions, but not 50.
For example, if character has 10 items with "dress" type and "body" slot, it might be wise to use auto equipment algorithm and then sell 1-2 dresses with the smallest "weight".

I was thinking a bit about this. I think the auto_equip could receive another arg, dict slot_max_for_discard, and after weighing all items cap each per slot with the values therein. Currently the weighing depends on the given target_stats and skills, though. The selection will be dependent on this. Also item.eqchance will be a very strong factor.

The given items are in given_items, lookup by item.id, maybe this is doable. Split the auto_equip function in two. where weigh_inventory(), is called both by auto_equip() and by cap_inventory().
Title: Re: General Discussion
Post by: lamoli on December 20, 2016, 05:32:04 AM
Other than kiss games who have lots of event bg.. do you know other games where i could inspire me to make my 3D version of those ?
Title: Re: General Discussion
Post by: picobyte on December 20, 2016, 06:27:07 AM
Other than kiss games who have lots of event bg.. do you know other games where i could inspire me to make my 3D version of those ?

A lot of ren'py games have nice backgrounds. I use rpatool (https://github.com/Shizmob/rpatool) to extract them from the rpa files, which may contain them.
Title: Re: General Discussion
Post by: DarkTl on December 20, 2016, 06:36:33 AM
True, lately I often take resources from various renpy games. You usually want games released in steam - being commercial, they often have higher art quality, and yet almost always you can open them via rpatool.

Also g.e-hentai.org has a huge library of pics from various games, including backgrounds.
Title: Re: General Discussion
Post by: picobyte on December 20, 2016, 07:46:22 PM
FYI: There are several things wrong with the way I implemented auto_equip, I am still working on it.
Title: Re: General Discussion
Post by: lamoli on December 21, 2016, 05:04:30 AM
Well not BG but event BG... like..


(http://s20.postimg.org/y75xlr0op/EV010_bg_1_1.png) (http://postimg.org/image/y75xlr0op/)(http://s20.postimg.org/au7w38kl5/EV010_bg_1_2.png) (http://postimg.org/image/au7w38kl5/)(http://s20.postimg.org/t78hdsv21/Capture.jpg) (http://pixxxels.org/image/t78hdsv21/)




(http://s20.postimg.org/pmh78bfw9/EV208_bg_6_1.png) (http://postimg.org/image/pmh78bfw9/)(http://s20.postimg.org/pu08r31h5/EV208_bg_1_1.png) (http://postimg.org/image/pu08r31h5/)(http://s20.postimg.org/xb9g6ar09/EV208_bg_2_1.png) (http://postimg.org/image/xb9g6ar09/)(http://s20.postimg.org/6eu2bpxkp/EV208_bg_3_1.png) (http://postimg.org/image/6eu2bpxkp/)
(http://s20.postimg.org/ocesfiwqh/Capture0.jpg) (http://pixxxels.org/image/ocesfiwqh/)


Like me they have the base BG then add the girl(s) then a layer on top to merge the 2 better


Those are the parts i need to make in 3D to give my girls a scene BG


Sometimes there is even day and night with their proper on top layer to give the right effect


Edit:
Still hard to find the right ones. like for example nbr 4 BG on example 2 doenst fit with what i think of what pytfall should have lol ( wrong bed-frame style but interior art style could be alright i guess )
Title: Re: General Discussion
Post by: picobyte on December 21, 2016, 06:58:02 AM
google searches with some hits:
"anime bedroom background"
"unmade bed"
"drawing bed sheets"
"anime curtains bedroom bed"

some random hits:

0 (https://www.pinterest.com/pin/548031848385995884/) 1 (http://www.howtodrawmanga.com/pages/tutorial_clothes) 2 (https://www.pinterest.com/pin/514254851179247837/) 3 (https://animelandscape.blogspot.nl/search/label/House)

4 (http://www.anime-sharing.com/forum/hentai-games-38/english-best-xxx-adult-games-collection-%E3%83%99%E3%82%B9%E3%83%88%E5%90%8C%E4%BA%BA%E3%82%A2%E3%83%80%E3%83%AB%E3%83%88%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-541352/index11.html) I like the NSFW videogame, but for other games a lot of the 3D rendered scenes look a bit dull in my op.

pixel art, not sure if appropriate 5 (http://www.loshadka.org/wp/?p=1441) 6 (http://theultralinx.com/2013/05/stunning-animated-gifs-backgrounds-fighting-games/)

or for inspiration maybe look at regular bedroom sites:
orbitron (http://orbitron.us/category/bedroom/page/5/)

jack-o-nine-tails has some nice bedrooms in content/pic/bg/interiors
henthighschool hase some in Schools/NormalSchool/Locations/*/Bedroom
also very nice scenes in BlossomingLoveDemo  (https://krispycat.itch.io/blossoming-love-demo)in my opinion the backgrounds are much nicer than the characters

some nice ones here (http://rumiflan.deviantart.com/journal/In-a-dire-need-of-Walfas-backgrounds-610503978) as well, including these

http://epicwallcz.blogspot.nl/ (http://epicwallcz.blogspot.nl/)

(http://hd.wallpaperswide.com/thumbs/bedroom_anime_art-t2.jpg)(http://static.tvtropes.org/pmwiki/pub/images/koto_room.jpg)
(http://www.intothepixel.com/images/artwork-lg/The%20Last%20of%20Us%20-%20Remembering-O.JPG)

(http://www.intothepixel.com/images/artwork-lg/cottage_l.jpg)
(http://www.intothepixel.com/images/artwork-lg/The%20Pelican%20Inn_l.jpg)
(http://www.intothepixel.com/images/artwork-lg/2010-the_farm.jpg)
(https://2.bp.blogspot.com/-oU8yuh4SUd8/UaNae73_P-I/AAAAAAAAAiM/aGzZ-2KqJ4Y/s1600/Indoor+Anime+Landscape+07.jpg)
.. well probably pretty of topic. but nice anyway.

HTH
Title: Re: General Discussion
Post by: lamoli on December 21, 2016, 08:05:15 AM
Omg i played Jack but never noticed there where so many good interiors lol
Those will help a lot..


What would be missing it the accommodation lvl from really poor to well furnished.. i mean i need more than 1 (like the slum house of jack at the start)
Ohh no he changed those interior pics as the game evolved lol no more really poor accommodations now
Title: Re: General Discussion
Post by: lamoli on December 21, 2016, 12:24:37 PM
Ohh while browsing on brothel game to find clothing idea and BGs i foud this..


http://www.dlsite.com/maniax/work/=/product_id/RJ176115 (http://www.dlsite.com/maniax/work/=/product_id/RJ176115)


and its a simple but rather well made monster girl brothel :D
Title: Re: General Discussion
Post by: picobyte on December 21, 2016, 07:56:04 PM
improved auto_equip is added to master branch. Also added some specializations for equipment:

Code: [Select]
            if purpose == "Battle Mage":
                returns.extend(self.auto_equip(['health', 'mp', 'attack', 'magic'], exclude_on_stats=["agility", "luck", 'defence', 'intelligence'], slots=slots, real_weapons=True))

            elif purpose == "Barbarian":
                returns.extend(self.auto_equip(['health', 'attack', 'defence', 'constitution'], exclude_on_stats=["luck", 'agility'], slots=slots, real_weapons=True))

            elif purpose == "Wizard":
                returns.extend(self.auto_equip(['mp', 'magic', "luck", 'intelligence'], exclude_on_stats=["health", 'defence'], slots=slots, real_weapons=True))

(in favor of combat) Also to show that it makes the distinction.

Edit: also added was a left/right char button in equipment

BTW, what was the intention of the girls list, is it broken?
Title: Re: General Discussion
Post by: DarkTl on December 21, 2016, 11:48:11 PM
The girls list? If you mean cemetery, it will show dead characters - ie those with "After Life" location. There are many ways to make them useful, with and without resurrection.
Title: Re: General Discussion
Post by: picobyte on December 22, 2016, 04:47:45 AM
The girls list? If you mean cemetery, it will show dead characters - ie those with "After Life" location. There are many ways to make them useful, with and without resurrection.

No I was referring to in equipment screen of character. how do I get to the cemetary? I see a graveyard, but it only has a meet girls button. btw pushed fix for hero equipment.
It seems there is still a lot of hidden content, do I need to add something to my testing.rpy?
 
Title: Re: General Discussion
Post by: DarkTl on December 22, 2016, 06:21:57 AM
Ah, I see. It looks like Xela's (?) attempt to implement equipment setups based on character occupation using "equip_for" function - which is too outdated to work properly anyway.
And the whole thing probably should be deleted, because characters already have autoequipment system.

I'll finish and push cemetery today, but it won't work without dead characters. In theory they should die at Arena and inside Exploration module, but meanwhile dead ones can be added via kill_char function.
Title: Re: General Discussion
Post by: DarkTl on December 22, 2016, 09:57:26 AM
Alright, cemetery screen is ready - as a button at the graveyard screen. As long as you have in testing file something like
Code: [Select]
        for i in xrange(10):
            new_random_girl = build_rc(pattern="Warrior")
            hero.add_char(new_random_girl)
            new_random_girl.status = "free"
            kill_char(new_random_girl)
it will have chars to show.

Now I wonder what to do with the characters there. We decided to not have true resurrection because death should be a meaningful event, a serious punishment for miscalculations. But maybe something else could be done with them. Like resurrecting with lvl 1 and all stats at 5, or stealing their exp...
Title: Re: General Discussion
Post by: picobyte on December 23, 2016, 02:03:48 PM
yes that works, I guess I miss these things since I do not play the game long enough to notice. I'd like to reimplement some of the wage calculations, a lot can be ported, but were there plans for changes in this already?
I was also thinking about setting the location/job for selected persons (in girl control), because that is tedious to do if you have many chars. The location is a bit odd, though.
Title: Re: General Discussion
Post by: DarkTl on December 23, 2016, 04:10:18 PM
Wages were mostly disabled at some point during code rewriting after alpha. In case of core classes - such as prostitute - wages should be a part of tiers system to help balancing them. It's something that Xela wants to implement once he's done with Babe Runner demo.
However, simple occupations without direct income (like cleaner) do not require tiers and can use simpler logic.

Location is a very wide concept, it's not limited to player buildings. I'd say it's not safe to mess with it too much.
Title: Re: General Discussion
Post by: DarkTl on December 25, 2016, 11:10:15 AM
Xela, are you still in the project, considering your absence from the forum? Because if yes, then I have a few questions about DefenceBuffSpell, and if no, then Eliont and Old Huntsman are still active with their games.
Title: Re: General Discussion
Post by: picobyte on December 25, 2016, 06:19:44 PM
I have in my branch a set location and/or action for multiple selected chars via `girl control'. I think this should be desireable for micromanagement, too.
(@DarkTi: could be there are social obligations at times like this)

One thing I was wondering before: a free char does not generally allow access to its equipment, but is it then still allowed to auto equip?
Title: Re: General Discussion
Post by: DarkTl on December 26, 2016, 12:10:26 AM
I used to work as a delphi coder, so all my knowledge about python is based on pytfall development, where I never was the main coder.
Even though I know a thing or two about python and renpy now, it's not nearly enough to understand complex systems like sympy or battle engine.

A free character (without lover status) always has auto equipment enabled, and decides by herself which items to use/equip. You can give her items, but she may or may not take them, and may or may not equip/use them.
If you mean the three equipment sets you added recently, then yes, they are useless for free characters too.
Title: Re: General Discussion
Post by: picobyte on December 26, 2016, 07:38:34 PM
I used to work as a delphi coder, so all my knowledge about python is based on pytfall development, where I never was the main coder.
Even though I know a thing or two about python and renpy now, it's not nearly enough to understand complex systems like sympy or battle engine.
Well you do a little every day, work on something and after a while, during the process you create something, also you learn during the time. Rome was not built in a day. Some things can be difficult, but usually you can find somewhere how things can be done. Personally I am not too afraid of doing some calculations. Where is sympy in use then?

A free character (without lover status) always has auto equipment enabled, and decides by herself which items to use/equip. You can give her items, but she may or may not take them, and may or may not equip/use them.
If you mean the three equipment sets you added recently, then yes, they are useless for free characters too.
You mean that auto equip should not be available for free characters, right?
Title: Re: General Discussion
Post by: Xela on December 26, 2016, 09:18:15 PM
I am still around, gonna get heavy coding again early next year. I'll read through missed posts tomorrow or the day after.
Title: Re: General Discussion
Post by: DarkTl on December 27, 2016, 03:46:02 AM
Well you do a little every day, work on something and after a while, during the process you create something, also you learn during the time.
When you do something by yourself, yeah.
But when I look at Xela's most advanced code, I feel like I try to read Japanese text -_-

If I'll have to choose between maintaining his BE on my own and writing a simpler one (like that one in Old Huntsman's games), it will be the second option.

Where is sympy in use then?
It's used to simulate jobs workflow at very least, and possibly for exploration module too - since it's not ready yet, I cannot tell for sure.

You mean that auto equip should not be available for free characters, right?
Ohhkey, define auto equip then  :D

Because we usually mean auto equipment algorithm.
 Free characters decide on their own what to equip, and player cannot tell them what to equip. In order to do so they have to use autoequip algorithm of some kind, there is no way around  :)
 
Title: Re: General Discussion
Post by: DarkTl on December 27, 2016, 04:07:37 AM
I took a look at so called engines made for renpy by third party devs.

I kinda expected the old tiles engine to not work, but even Jake's battle engines don't work anymore in the modern renpy due to major changes in screens system.
Title: Re: General Discussion
Post by: picobyte on December 27, 2016, 12:49:53 PM
When you do something by yourself, yeah. But when I look at Xela's most advanced code, I feel like I try to read Japanese text -_-

The code is very well structured. I have not gotten to the battle engine of PytFall yet. But in general, for tough code, if you split code up in sensible steps, where every function does one particular thing, then even tough code can be made readable. There can also be abstract steps, understandable only if you know why they are needed; parts of an algorithm to do a something efficiently. Then you need to read a bit about the algorithm being used, to understand the code.

If I'll have to choose between maintaining his BE on my own and writing a simpler one (like that one in Old Huntsman's games), it will be the second option.
It's used to simulate jobs workflow at very least, and possibly for exploration module too - since it's not ready yet, I cannot tell for sure.

I'm not sure what is part of the battle engine, but I guess it's the Arena. It's a bit like mugen, the queen of fighters, mortal combat or tekken. Sorry to say, but not exactly my game preference. I rather like rpg or adventure. Nonetheless I do like the magic/battle effects, but I find the characters during fight currently too static. It would be nice if characters were moving a bit when in rest, like in mugen. Maybe mugen packs could be a resource for this?

Ohhkey, define auto equip then  :D

Because we usually mean auto equipment algorithm.
 Free characters decide on their own what to equip, and player cannot tell them what to equip. In order to do so they have to use autoequip algorithm of some kind, there is no way around  :)
 

Well I meant the auto equip button in the inventory screen. It uses the auto-equip algorithm. My question is: should it work for free characters? because it seems like a way to circumvent the normal 'hey I decide my own clothing style' response of the free characters.
Title: Re: General Discussion
Post by: DarkTl on December 27, 2016, 02:03:24 PM
It's a bit like mugen, the queen of fighters, mortal combat or tekken. Sorry to say, but not exactly my game preference. I rather like rpg or adventure. Nonetheless I do like the magic/battle effects, but I find the characters during fight currently too static. It would be nice if characters were moving a bit when in rest, like in mugen. Maybe mugen packs could be a resource for this?
It's a classic turn-based jrpg battle engine. It's not very interesting yet because I'm unable to freely add new unique types of effects - or change existing ones a lot - without Xela due to lack of code understanding. Even Xela admitted that it wasn't easy for him to build the battle engine.

You are welcomed to write mugen-like battle engine though; I don't even know where to start since renpy wasn't developed for making fightings at all.

Well I meant the auto equip button in the inventory screen. It uses the auto-equip algorithm. My question is: should it work for free characters? because it seems like a way to circumvent the normal 'hey I decide my own clothing style' response of the free characters.
No, it shouldn't work for free chars - unless check_lovers(hero, character) is True.
Title: Re: General Discussion
Post by: Xela on December 28, 2016, 12:58:27 AM
Xela, there is a small but pesky limitation at the MC setup screen. If the second class is tied to the third choice, ie MC mother, you cannot see it until you pick one of options from the last choice.

Try it now...
Title: Re: General Discussion
Post by: DarkTl on December 28, 2016, 10:12:40 AM
Yeah, it works flawlessly now.

There is an issue with BE buffs. Turns out if you have multiple spells made via DefenceBuffSpell, they all can be applied at the same time, and each will show its own buff icon above the target. It's super confusing, so either buffs should have slightly different unique icons, or we'll have a system which prevents multiple buffs of the very same kind.
Title: Re: General Discussion
Post by: Xela on December 28, 2016, 02:16:30 PM
There is an issue with BE buffs. Turns out if you have multiple spells made via DefenceBuffSpell, they all can be applied at the same time, and each will show its own buff icon above the target. It's super confusing, so either buffs should have slightly different unique icons, or we'll have a system which prevents multiple buffs of the very same kind.

I added option to add buff_icon argument to the defence buff class (untested).
Title: Re: General Discussion
Post by: DarkTl on December 29, 2016, 01:55:25 PM
Nope, doesn't work. It shows default one, and if I remove the ProportionalScale("content/gfx/be/fists.png", 30, 30), it throws an error.
Title: Re: General Discussion
Post by: Xela on December 29, 2016, 06:47:12 PM
Nope, doesn't work. It shows default one, and if I remove the ProportionalScale("content/gfx/be/fists.png", 30, 30), it throws an error.

buff_icon... not icon?

There is a lot of ready to use poker logic available on github.
Title: Re: General Discussion
Post by: DarkTl on December 30, 2016, 02:12:24 AM
Yes, it should be buff_icon  :D

There is only one dice poker algorithm for python, and its ai is even simpler than current mine.
Title: Re: General Discussion
Post by: DarkTl on December 30, 2016, 07:59:47 AM
Wait a sec... Even the very same DefenceBuffSpell can be applied infinitely. It's insane, at least the very same spell should not stack.
Title: Re: General Discussion
Post by: Xela on December 30, 2016, 11:14:53 AM
Wait a sec... Even the very same DefenceBuffSpell can be applied infinitely. It's insane, at least the very same spell should not stack.

I'll take a look, if these defense buffs trigger only defense stat itself, we can come up with some form of hierarchy...
Title: Re: General Discussion
Post by: picobyte on December 30, 2016, 05:10:56 PM
As you asked I've added a auto-discard function. It can currently be tested in the equipment screen, for characters or groups. using the Auto discard button (in place of Girls list, i.e right pannel, upper part, center). But I guess this button should probably eventually be removed and the auto_discard could become a next_day (or next_week?) event.

and added to testing.rpy:

Quote
        for i in chars.values():
            i.gold = 100000000
            i.auto_buy(amount=200)
Title: Re: General Discussion
Post by: Xela on December 31, 2016, 04:33:50 AM
Day is the term we're working with.
Title: Re: General Discussion
Post by: DarkTl on December 31, 2016, 08:52:10 AM
Well, after finishing dice minigames I know much more about lists and dicts functions in python  :)

Happy New Year!
Title: Re: General Discussion
Post by: Xela on December 31, 2016, 10:11:22 AM
Happy New Year!

qft ;)
Title: Re: General Discussion
Post by: picobyte on January 01, 2017, 07:29:19 AM
You too HNY. I added a small mausoleum puzzle, a dungeon crawler to the cemetery. It's very basic at the moment but it could be extended with monsters and a party. I rendered the walls. What do you think?
Title: Re: General Discussion
Post by: DarkTl on January 01, 2017, 10:58:15 AM
Looks great. We wanted to try something like this in the very beginning, but couldn't find suitable pictures for walls and floor.

There are also dungeon generators (like this (https://github.com/Mizipzor/roguelike-dungeon-generator) one)  for python which can make exploration more interesting.
Title: Re: General Discussion
Post by: Xela on January 01, 2017, 12:02:12 PM
Looks good. We can hook up BE to this for encounters. Is the code yours or something from the cookbook?
Title: Re: General Discussion
Post by: picobyte on January 01, 2017, 02:00:49 PM
Looks good. We can hook up BE to this for encounters. Is the code yours or something from the cookbook?

Good to hear you like it too and thanks for the dungeon generator. The code is from the cookbook (https://lemmasoft.renai.us/forums/viewtopic.php?f=51&t=19245), it has public domain license. Kudos for the original author. It is the 2.0 version adapted to allow walls beyond 2 deep.

The BE was also what I had in mind.  There's something in there for combat, we'll have to replace it. Also the current version displays all images always, also for tiles that cannot be seen. And the used coordinate system is not really the best way in my opinion.

I'd also like to add a small party, as used in many such games, e.g eye if the beholder.
Title: Re: General Discussion
Post by: DarkTl on January 01, 2017, 02:38:12 PM
The game already has party, ie hero.team, which always has MC and may have two other characters.
Title: Re: General Discussion
Post by: Xela on January 02, 2017, 12:30:00 PM
Good to hear you like it too and thanks for the dungeon generator. The code is from the cookbook (https://lemmasoft.renai.us/forums/viewtopic.php?f=51&t=19245), it has public domain license. Kudos for the original author. It is the 2.0 version adapted to allow walls beyond 2 deep.

Right, I thought it was. There is a more powerful raycasting version floating somewhere as well,  I worked with a bit in the past.

I'd also like to add a small party, as used in many such games, e.g eye if the beholder.

We need a door... maybe a chest and something simple like a floating semi-transparent simple shape similar to bunny black to signify enemies. A* implementation wouldn't hurt either.
Title: Re: General Discussion
Post by: Xela on January 04, 2017, 09:51:49 AM
Phew... I am back!

Got over moving to a new city and holiday festivities :) Just need to remember wtf I was working on last... prolly something to do with the SE.
Title: Re: General Discussion
Post by: DarkTl on January 04, 2017, 11:28:43 AM
When you select equipped item on a character, there will be option "Give to Player". Atm it does not work until you manually unequip item first.

I don't remember if it worked before, but either it should work, or there shouldn't be such option on equipped items at all.
Title: Re: General Discussion
Post by: Xela on January 04, 2017, 11:44:38 AM
I haven't touched that code in a while, pico can prolly fix it quicker. Looks like I was last working on setting up basecamp for SE.
Title: Re: General Discussion
Post by: DarkTl on January 04, 2017, 12:26:26 PM
I recall there was a system when if a character data file has "location" = existing location, then you can find her in that location via GMs. I don't think it works. I have multiple chars with "location": "hiddenvillage_entrance", but the game ignores it and shows random ones there.
Title: Re: General Discussion
Post by: Xela on January 04, 2017, 01:11:29 PM
I don't think that it ever worked like that.
Title: Re: General Discussion
Post by: Xela on January 04, 2017, 03:37:01 PM
Oki, I've fixed some stuff that broke and wrote a bit of new SE code. Good enough for "easing back into the dev game" :D

Nice job on dice games and the beginning of dungeon, I finally tested them out a bit.
Title: Re: General Discussion
Post by: DarkTl on January 04, 2017, 04:20:57 PM
I don't think that it ever worked like that.
No it does... The problem was in testing rpy, it already gave all those chars to MC, so GMs had no choice but to show random chars  :D

It's not exactly like I imagined it, if there are no suitable chars for special locations, it's still not a reason to show random ones. I'll fix it a bit.
Title: Re: General Discussion
Post by: DarkTl on January 04, 2017, 04:59:58 PM
I don't understand one thing about renpy screens.

I wanted to animate the moment when you select a dice in poker via transform.
Quote
            $ img = "content/events/tavern_dice/"+str(i)+".png"
            if number != selected_dice:
                imagebutton:
                    at dice_roll_zooming()
                    idle img
                    hover (im.MatrixColor(img, im.matrix.brightness(0.15)))
                    action Return(number)
            else:
                imagebutton:
                    at dice_roll_selecting()
                    idle im.Recolor(img, 0, 255, 0, 255)
                    hover (im.MatrixColor(im.Recolor(img, 0, 255, 0, 255), im.matrix.brightness(0.15)))
                    action Return(number)
The orange line animates the moment when you select a dice, but only once for every dice. If you try to unselect and select it again, it won't be animated anymore, it just will change the color.
Title: Re: General Discussion
Post by: Xela on January 05, 2017, 05:45:21 AM
Maybe adding an event to the atl instructions will fix that?
Title: Re: General Discussion
Post by: DarkTl on January 05, 2017, 09:18:46 AM
An event? I only found this  (https://www.renpy.org/wiki/renpy/DSE#Events)about events, and I don't see how is it connected to alts.
Title: Re: General Discussion
Post by: Xela on January 05, 2017, 09:29:20 AM
An event? I only found this  (https://www.renpy.org/wiki/renpy/DSE#Events)about events, and I don't see how is it connected to alts.

I mean like a selected_idle/selected_hover atl external event triggers. I need to see the code but it is worth trying.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2017, 11:09:06 AM
So, after the renpy update where they updated python strings a bit there is no need to use u before strings, like here?
Code: [Select]
text (u"{color=#F5F5DC}%s/%s"%(hero.health, hero.get_max("health"))) xalign 1.0 style_suffix "value_text" xoffset -6 yoffset 4
Title: Re: General Discussion
Post by: Xela on January 05, 2017, 11:46:37 AM
There was no need in the past either, some people claimed usecases where strings crashed the engine without unicode conversion but I never encountered anything of a sort.
Title: Re: General Discussion
Post by: DarkTl on January 05, 2017, 01:42:14 PM
I added prototype of traits info screen, it shows once you click on trait in character or MC profile. I'm not sure how much info it should show, but such screen is needed anyway, without it we force people to read traits jsons.

For skills bonuses/penalties I found icons to avoid showing raw numbers. I had a hard time searching for suitable icons, and while they are more or less suitable, they are not perfect. But I ran out of ideas  :)
Title: Re: General Discussion
Post by: Xela on January 06, 2017, 05:31:25 AM
Looks good!
Title: Re: General Discussion
Post by: DarkTl on January 06, 2017, 10:47:57 AM
I'm unable to show there stuff like evasion bonus because it's not registered in the Trait class, and once I register it there, it stops working.

Battle-only stats can be hidden, but if you prefer to show them, it's up to you to register them properly in the trait class.

Xela, resolve the problem with DefenceBuffSpell. We can justify many things, but not the case when you can cast the very same spell twice or thrice getting double or triple defence buff.
Title: Re: General Discussion
Post by: Xela on January 06, 2017, 11:29:23 AM
Xela, resolve the problem with DefenceBuffSpell. We can justify many things, but not the case when you can cast the very same spell twice or thrice getting double or triple defence buff.

I'll take a look but this is tricky, a more appropriate control system is required. I'll add this to the BE TODO Issue.
Title: Re: General Discussion
Post by: Xela on January 06, 2017, 12:36:44 PM
Ok... so in the best case scenario, how do we want buffs to work?
Title: Re: General Discussion
Post by: DarkTl on January 06, 2017, 01:49:22 PM
Ideally: all buffs/debuffs spells, including future ones, have special keywords as arguments.
If, for example, the target already has active buff/debuff with X keyword, then ANY spells with the X keyword cannot be casted on the target (or can be casted, but won't work anyway) until this active buff/debuff with the X keyword ends. It will allow full control for all buffs.

Easy way out: if defence_multiplier in current target effects, then no spells with defence_multiplier can be casted. I'm not sure though how well it will work with items and traits, since they can give defence multipliers too.
Title: Re: General Discussion
Post by: Xela on January 06, 2017, 04:16:48 PM
Ideally: all buffs/debuffs spells, including future ones, have special keywords as arguments.
If, for example, the target already has active buff/debuff with X keyword, then ANY spells with the X keyword cannot be casted on the target (or can be casted, but won't work anyway) until this active buff/debuff with the X keyword ends. It will allow full control for all buffs.

Ok, so we'll add a new property, lets call it "buff_group" and we add two options to it: ["kind_of_a_buff", level]. We'll apply the buff only if target does have the buff already or has one with the higher or same level?

If you confirm this, I'll code it in tomorrow.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2017, 01:28:53 AM
Simply
Code: [Select]
DefenceBuffSpell("Solid Field", attributes=["status", "earth"], defence_multiplier={"melee": 1.5},  "buff_group" = "kind_of_a_buff", ...If the target has active buff/debuff with "buff_group" == "kind_of_a_buff", then no spells with the same kind_of_a_buff can be casted on it. Until the buff/debuff ends, of course.
It will allow us to control how buffs stack, and also will automatically prevent cases when the very same spell stacks with itself.
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 03:44:42 AM
It will allow us to control how buffs stack, and also will automatically prevent cases when the very same spell stacks with itself.

Ok, that would prevent stronger spell taking over though... but we can always add that later.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2017, 04:26:09 AM
Nothing wrong with it. Not our problem if player or ai decided to apply a weak spell when had a chance to apply a strong one.
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 05:12:28 AM
Nothing wrong with it. Not our problem if player or ai decided to apply a weak spell when had a chance to apply a strong one.

If you say so, we can always add that at some latter point. There is a system in place already that should prevent the second buff from being applied, it is odd that it's not working or maybe it does work reports that describe what's happening are off. The latter is more likely according to standing code.

I'll add the new field in either case and see if reports can be improved.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2017, 05:25:59 AM
Perhaps secondary buffs don't actually work, I didn't tested it so deeply. But I managed to cast the very same spell 9 times on the same character, and that led to 9 buffs icons above her head.
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 05:59:12 AM
It's done. It was a case of reports only with just the one buff being active at any time. It still works like that but you now can specify the buff_group to allow more than one active buff.
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 06:42:33 AM
Decided to take out some more standing BE issues. BE now takes a new max_skill_level argument which allows to block spells according to their menu_pos. Setting it to for example 5 will cut off all major spells and can be used for indoor fighting where civs are nearby.
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 07:58:15 AM
You can now add "master_shake": True to the target effects dict, it will shake the screen as targets are being hit.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2017, 08:03:22 AM
I added max_skill_level to the tavern fights, work perfectly.

Just noticed that half of spells use casting_effects=[...], which does not work anymore, while the other half use attacker_effects={...}, which works. How weird  :)
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 08:29:25 AM
I'll take a look, it is weird cause both old and new way used to work...
Title: Re: General Discussion
Post by: DarkTl on January 07, 2017, 08:39:52 AM
I'll just change everything to attacker_effects, and you can remove old casting_effects code.
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 08:54:21 AM
I'll just change everything to attacker_effects, and you can remove old casting_effects code.

I've added new effect to signify whos attacking turn it is to clear your request from 10 days ago, looks nice :)
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 09:00:05 AM
I'll just change everything to attacker_effects, and you can remove old casting_effects code.

It's weird, they are setup to work based of sorting index which I don't think we even use anymore.

Code: [Select]
sfx=None, gfx=None, zoom=None, aim=None, xo=0, yo=0, pause=None, anchor=None, target_damage_gfx=None, # <=== These should die off in time!
All of these are very old and have been replaced.

Edit:
Ah, I see what happened... when trying to setup default values for different attack types, some older definitions got disabled.

It doesn't make sense to get rid of one old field but keep the others around, we'll get rid of them once we're sure that all older fields are gone.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2017, 09:17:02 AM
I found and pushed a damage effect for water. The idea is do nothing with sprite but show the bubbles webm over it. Pretty much like we do with on_fire damage effect, however there is no need to recolor or hide sprite itself because webm is transparent.
Sadly, we don't have such effects yet, so I don't have an example to make it work.
The webm is located in content\gfx\autowebm\be_water_mask. Now, I have no idea if it's possible to do with webms in renpy, or easy enough to make sense. In which case it should be deleted.

I've added new effect to signify whos attacking turn it is to clear your request from 10 days ago, looks nice :)
Looks awesome!  :)
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 11:15:33 AM
The webm is located in content\gfx\autowebm\be_water_mask. Now, I have no idea if it's possible to do with webms in renpy, or easy enough to make sense. In which case it should be deleted.

Done, you can use "on_water" to activate the effect. There is also an option to get the enemy sprite to shake at the same time, to do that it must end with shake, like: "on_water_with_shake".

I've also corrected/improved some stuff like arrows used to pick target.

Edit: master shake is separated from all of that so it can be used at the same time.
Title: Re: General Discussion
Post by: DarkTl on January 07, 2017, 01:12:56 PM
Ah, I see what happened... when trying to setup default values for different attack types, some older definitions got disabled.

It doesn't make sense to get rid of one old field but keep the others around, we'll get rid of them once we're sure that all older fields are gone.
I updated all skills and spells, they all use the new format now.

It, however, led to unexpected problem. Some simplest attacks have more than one sound, which used to be selected randomly by the old format. Now I use
Code: [Select]
        SimpleSkill("Whip Strike", attributes=["melee", "physical"], critpower=.4, desc="Lashing with a whip.", effect=4, range=1, vitality_cost=1, menu_pos=0,
                              main_effect={"gfx": ProportionalScale("content/gfx/be/whip.png", 150, 150), "sfx": list("content/sfx/sound/be/whip_attack_%d.mp3"%i for i in xrange(1, 2))},
                              target_sprite_damage_effect={"gfx": "shake", "initial_pause": .05, "duration": .5})
but I don't see it working. It always plays the very first sound in the list.
Title: Re: General Discussion
Post by: Xela on January 07, 2017, 02:41:50 PM
but I don't see it working. It always plays the very first sound in the list.

Wow... that's unexpected...

There is a lot of garbage code floating around between the skill classes, mostly dealing with going from old to new styles of arguments, it is worth the effort to clear some of that before major refactoring effort.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 04:43:03 AM
It's funny :) In a bunch of places, there are 2 - 3 ways in BE classes to do same or very similar things... prolly working on BE on and off, I kept forgetting what was already there.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 06:24:48 AM
Oki, I've completely refactored SimpleSkill out of the code, let me know if the sound thing persists and if it does.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 06:42:08 AM
The bug is still there. You can test it via Throw attack.
Code: [Select]
        BE_Action("Throw", attributes=["ranged", "physical"], desc="Throwing a projectile.", effect=5, range=3, vitality_cost=1, menu_pos=0,
                              main_effect={"gfx": ProportionalScale("content/gfx/be/throw.png", 150, 150), "sfx": list("content/sfx/sound/be/throwing_attack_%d.mp3"%i for i in xrange(1, 2))},
                              target_sprite_damage_effect={"gfx": "shake", "initial_pause": .05, "duration": .5})
There are two very different mp3, throwing_attack_1 and throwing_attack_2, but it always uses the first one. Maybe I should set sfx somehow differently, I don't know.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 07:13:25 AM
Maybe I should set sfx somehow differently, I don't know.

Ranges were off, it never worked correctly even under old code.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 07:18:24 AM
I modified BE testing mode, now enemies have all spells too, and are controlled by player.

Take a look at Ground Shockwave weapon skill. When enemies use it, it's totally wrong. Probably because of high xo, but I can't remove it, animation is too specific.

Edit: same for Shocker Whip.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 07:40:20 AM
Take a look at Ground Shockwave weapon skill. When enemies use it, it's totally wrong. Probably because of high xo, but I can't remove it, animation is too specific.

Animation is just like any other, you're skill having trouble visualizing how point, anchor and offsets work together :(
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 07:44:15 AM
Code: [Select]
        P2P_Skill(u"Midnight Arrow", menu_pos=3, range=3, attributes=["ranged", "physical", "darkness"], effect=65, multiplier=1.8, vitality_cost=15, health_cost=10, desc="Releases explosive arrow made of dark energy.",
                                           projectile_effects={"gfx": "demon_bow_arrow_webm", "sfx": "content/sfx/sound/be/elf_bow.ogg", "duration": 0.56, "aim": {"point": "center", "anchor": (.5, .5)}},
                                           main_effect={"gfx": "demon_bow_hit_webm", "sfx":"content/sfx/sound/be/demon_core.ogg", "duration": 0.36, "aim": {"anchor": (0.5, 0.5), "xo": 0 ,"yo": 0}, "hflip": True},
                                           target_sprite_damage_effect={"gfx": "shake", "initial_pause": 0.01, "duration": 0.2},
                                           target_death_effect={"gfx": "dissolve", "initial_pause": .2, "duration": .15},
                                           dodge_effect={"initial_pause": 0.005})
Midnight Arrow has specific main_effect animation which should be flipped when used by enemy. But it ignores "hflip": True.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 07:46:22 AM
Midnight Arrow has specific main_effect animation which should be flipped when used by enemy. But it ignores "hflip": True.

It always flips, this is a highly customized class that runs it's own methods, I'll take a look. Other two issues are fixed.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 07:52:34 AM
Well, it's always right for player party and always wrong for enemies.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 07:54:08 AM
Well, it's always right for player party and always wrong for enemies.

Yeap, it does auto-thing for projectile but we never had a case where the main effect had to be flipped, I am getting it to respect hflip now.

Edit: Done as well.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 09:01:33 AM
Some attacker_effects need hflip too, they ignore it atm.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 09:18:37 AM
Some attacker_effects need hflip too, they ignore it atm.

I need names of skills where it goes wrong, attacker effects can be really tricky to work with, especially for some cases.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 09:47:01 AM
All simple spells use attacker_effects={"gfx": "water_1", "sfx": "default"}, attacker_effects={"gfx": "fire_1", "sfx": "default"}, etc.

That particular "_1" effect is noticeably asymmetrical, that can be seen when enemies use simple spells.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 09:55:46 AM
Weird, I am not sure that I notice the difference. BB in an hour, gonna take a better look then.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 10:03:53 AM
The right part is higher. So for enemies it's still higher without hflip.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 11:18:04 AM
Ohh while browsing on brothel game to find clothing idea and BGs i foud this..


http://www.dlsite.com/maniax/work/=/product_id/RJ176115 (http://www.dlsite.com/maniax/work/=/product_id/RJ176115)


and its a simple but rather well made monster girl brothel
Well, I hoped there will be interesting concepts, but the whole gui is Japanese, so nope.
But I managed to extract resources from the game archive, there are very cool backgrounds and items icons. Sadly, not nearly enough characters pictures to make packs.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 12:07:01 PM
The right part is higher. So for enemies it's still higher without hflip.

I still can't see it :)

It's not difficult code to add but this is prolly a weird case to do it for.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 12:18:59 PM
game\content\gfx\be\auto-animations\cast_dark_1 0.07\data01_08231.png

It's the best way to see asymmetry.
Title: Re: General Discussion
Post by: Xela on January 08, 2017, 12:23:41 PM
game\content\gfx\be\auto-animations\cast_dark_1 0.07\data01_08231.png

It's the best way to see asymmetry.

Yeap, but even knowing that, I cannot "see" the issue in the game :)
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 12:47:40 PM
Well, then there are no more problems with BE atm, aside from imperfect balance, AI based solely on RNG and lack of damaging effects for all elements.

I suppose finding electricity webm is easy enough, but I don't even know where to start for air or light damage effects.

All other issues are post beta.
Title: Re: General Discussion
Post by: DarkTl on January 08, 2017, 01:27:29 PM
And speaking of balance, healing spells are insanely strong if level is high enough. Because they use the default get_attack function to calculate power, but don't use get_defense which reduces damage for non-healing spells.

As a result, even the weakest spell restores 100% health most of the time. Therefore I changed all spells to restore a fixed part of target's hp.
Title: Re: General Discussion
Post by: Xela on January 09, 2017, 05:41:11 AM
Sure, you're in charge of balancing stuff out!  :D Prolly the most difficult task atm so I am kinda afraid of going there   :'(
Title: Re: General Discussion
Post by: DarkTl on January 09, 2017, 02:08:26 PM
Alright, only light and air damage effects remained.

I can think of one way to make damage effect for air. You made blurred_vision and double_vision_on functions a long time ago to simulate drunk effect. I use double_vision_on since it's more suitable, and blurred_vision is not used anywhere.

But transformation used in blurred_vision might look good if implemented to the target sprite for some air spells, as if air flows distort the image. Maybe you could try to make such target_sprite_damage_effect?
Title: Re: General Discussion
Post by: Xela on January 09, 2017, 03:17:46 PM
I am not sure that it is easy to apply to BE. We can use shake or something else...
Title: Re: General Discussion
Post by: DarkTl on January 10, 2017, 04:06:15 AM
Ok, this alt rotates the sprite, is if wind does it.
Code: [Select]
    transform blowing_wind():
        parallel:
            easeout_bounce 0.1 xzoom -1.0
            easeout_bounce 0.1 xzoom 1.0
        repeat
But it "rotates", ie zooms around the sprite's left side. How to do it around the sprite center?
Title: Re: General Discussion
Post by: Xela on January 10, 2017, 04:14:20 AM
Either anchor, center or around. I need to try it myself to see which one works best, I'll do that in 15 mins.
Title: Re: General Discussion
Post by: DarkTl on January 10, 2017, 04:24:02 AM
I mean, I tried xanchor 0.5, and it rotates as I need it. But before the rotate it also moves the sprite from it original position for some reason.
Title: Re: General Discussion
Post by: Xela on January 10, 2017, 04:28:02 AM
Code: [Select]
transform blowing_wind():
    xanchor .5
    easeout_bounce .1 xzoom -1.0
    easeout_bounce .1 xzoom 1.0
    repeat

This is prolly the correct way... we'll have to offset that initial movement manually.

Edit: My guess is that you have to offset it by .5 of the sprites width, but that could be wrong. Offset should also depend on sprites position on the battle field.
Title: Re: General Discussion
Post by: DarkTl on January 10, 2017, 04:56:54 AM
Sprites are ProportionalScale objects which don't have width attribute. I can get maxwidth from your ProportionalScale class, but since aspect ratio of the image is conserved, I cannot guarantee that it's the true current width  ::)

I went with
Code: [Select]
    transform blowing_wind():
        parallel:
            easeout_bounce 0.1 xzoom -1.0 xanchor 0.1 xoffset 20
            easeout_bounce 0.1 xzoom 1.0 xanchor 0.0 xoffset 0
which is not perfect, but not ugly either.
Title: Re: General Discussion
Post by: Xela on January 10, 2017, 05:58:27 AM
Push what you got, I know the system better so I can improve upon the animation.
Title: Re: General Discussion
Post by: DarkTl on January 10, 2017, 12:00:06 PM
I'm not sure if perfectly aligned rotation will look better, it already looks pretty cool.

Unlike all other healing spells, ReviveSpell uses red color for font when showing the number of added health above the target.

I've attempted to make an alt which recolors sprites, making them brighter.
Code: [Select]
    transform light_ray(sprite, time):
        im.MatrixColor(sprite,im.matrix.brightness(0.5)) with Dissolve(time*0.5, alpha = True)
        pause 0.1
        im.MatrixColor(sprite,im.matrix.brightness(0)) with Dissolve(time*0.5, alpha = True)
Code: [Select]
                elif type.startswith("on_light"):
                    what = target.besprite
                    t = self.target_sprite_damage_effect.get("duration", 1)
                    at_list = [light_ray(target.besprite, t)]
It works, but for some reason ignores time variable, dissolves are always too fast.
Title: Re: General Discussion
Post by: picobyte on January 10, 2017, 01:47:05 PM
Two types of walls, both with a background, a door and three barrel formations, all in two different light settings (L on the keyboard) all in all now 354 files, 52Mb. This is somewhat comparable to the content for a single character. Is this going to be a problem? Could compress images to reduce their size.
Title: Re: General Discussion
Post by: Xela on January 10, 2017, 02:03:04 PM
Code: [Select]
    transform light_ray(sprite, time):
        im.MatrixColor(sprite,im.matrix.brightness(0.5)) with Dissolve(time*0.5, alpha = True)
        pause 0.1
        im.MatrixColor(sprite,im.matrix.brightness(0)) with Dissolve(time*0.5, alpha = True)

try making it pause time*.5+.1 and add the same after the second sequence.

Two types of walls, both with a background, a door and three barrel formations, all in two different light settings (L on the keyboard) all in all now 354 files, 52Mb. This is somewhat comparable to the content for a single character. Is this going to be a problem? Could compress images to reduce their size.

I don't believe so, it could become an issue if we decide to add more locations. If you're worried about the size, you can switch to a better raycasting option(s) as I've suggested earlier, code is a lot more complex but only 1/10 of the resources would be required to do the same thing.
Title: Re: General Discussion
Post by: Xela on January 10, 2017, 02:31:11 PM
I've updated the light transform, it's good. Air transform is outright amazing :)
Title: Re: General Discussion
Post by: DarkTl on January 10, 2017, 02:46:33 PM
The whole text in ReviveSpell class is broken, it seems, not just numbers color.
Code: [Select]
                s.append("%s brings %s back!" % (char.nickname, t.name))

                s = s + self.effects_to_string(t, default_color="green")
In the log it should be green too judging by this line, but it's white.
Title: Re: General Discussion
Post by: Xela on January 10, 2017, 02:52:10 PM
Ok, I'll see if I can trace it to the source of the problem.
Title: Re: General Discussion
Post by: DarkTl on January 10, 2017, 02:54:02 PM
Two types of walls, both with a background, a door and three barrel formations, all in two different light settings (L on the keyboard) all in all now 354 files, 52Mb. This is somewhat comparable to the content for a single character. Is this going to be a problem? Could compress images to reduce their size.
That's a not very popular character, popular ones have 200-300 MB  :)

The dungeon looks awesome. I don't see a problem with 50 MB per dungeon unless you want to render more than 10 completely different dungeons, in which case it's more than 500.
Title: Re: General Discussion
Post by: picobyte on January 10, 2017, 04:00:56 PM
Thanks for the responses. I agree the raytracing would be ideal, but we really would need more than a few programmers in spare time to write that. It's going to be a lot of difficult code. There is a simple pygame (https://github.com/Mekire/pygame-raycasting-experiment/blob/master/raycast.py) and a doom clone (https://github.com/pinnthedeveloper/pygame-FPS/blob/master/world.py) both written in python to prove that it can be done. Not sure whether c libraries would have to be compiled in ren'py though. I expect it to be more doable in c++/opengl. Personally I favor playing the 90 degrees angles in rpg games and not not the 360 degrees, which are more apt for first person shooters. But the rotations would be nice anyway to animate rotation and walking.

It is still a minimal environment, I think it would be nice, to render more objects, than the barrel formations, I have some ideas. but there is an issue. Currently objects always show the same face to the player. In effect objects rotate if the char does. To change this, objects with polarity could be rendered in all four orientations. This would multiply the nr of object images (i.e. in both lightings) by 4, and require some code changes. For most objects, this would be very nice visually. Maybe we can provide the current, only one face version as a minimum, and later provide the other orientations as a 'Mega' extension set.
The floor and ceiling are currently a rendered background. To be able to walk from one environment to another (instead one background per 'level'), the ground and ceiling could also be rendered as parts, like the walls. This gives some flexibility per level, but the image size would increase, also the render screen a bit more work.

Some more options to reduce size/images beside compressing images: Initially I had only the left images, I cheated on the right ones by mirroring. The difference was notable for near walls. We could reinstate the mirrored images for distant walls - in dark or misty environments. Or create the mirrored right ones during load if only left ones are on disk. Also, probably some walls could be created instead by image scaling and composition in ren'py. This will make the code more complex and the lighting of objects may not be as nice. Some objects we could only display when near in absence of light.
Title: Re: General Discussion
Post by: Xela on January 10, 2017, 05:56:16 PM
Thanks for the responses. I agree the raytracing would be ideal, but we really would need more than a few programmers in spare time to write that. It's going to be a lot of difficult code. There is a simple pygame (https://github.com/Mekire/pygame-raycasting-experiment/blob/master/raycast.py) and a doom clone (https://github.com/pinnthedeveloper/pygame-FPS/blob/master/world.py) both written in python to prove that it can be done. Not sure whether c libraries would have to be compiled in ren'py though. I expect it to be more doable in c++/opengl. Personally I favor playing the 90 degrees angles in rpg games and not not the 360 degrees, which are more apt for first person shooters. But the rotations would be nice anyway to animate rotation and walking.

As I've said before, there is a raycaster code to renpy (ported from pygame). It's a bit slow for high resolutions but only for 360 degree view, we can prolly rig it to work 90 and fix the steps to tiles.

This is up to you completely... it's your project, there is not likely to be any significant advantage to use raycaster instead of nyaa's engine other than smaller size of gfx resources.
Title: Re: General Discussion
Post by: DarkTl on January 11, 2017, 03:48:50 AM
By the way: in order to use battle engine inside your dungeon we could use a suitable background. While we could just use any random dungeon-like background, if you can render it using the same style you use for the dungeon, it will look better.
Title: Re: General Discussion
Post by: Xela on January 11, 2017, 05:29:19 AM
Just had an idea to make BE a bit more interesting, we could make skills more powerful depending on what week it is and cycle. Like one week ranged attacks are l33t, next fire based attacks and etc.

It might be a nice touch...
Title: Re: General Discussion
Post by: DarkTl on January 11, 2017, 06:13:48 AM
Does the calendar at the main screen work somehow, or it's just for show? I mean that piece of art right above day of week.

It looks like a decent place to show such things.
Title: Re: General Discussion
Post by: Xela on January 11, 2017, 01:16:04 PM
Does the calendar at the main screen work somehow, or it's just for show? I mean that piece of art right above day of week.

It looks like a decent place to show such things.

That is a bit different, it is showing the moonphase.
Title: Re: General Discussion
Post by: DarkTl on January 11, 2017, 01:34:36 PM
It's still a great place to show stuff related to week/month. Maybe adding a small button somewhere near the calendar, or in the tooltip.
It's almost pure BE coding though. I could come up with weeks/bonuses names and values, but logic itself is yours to implement.

Is there a way to access special traits fields like evasion_bonus? It's not a big deal, but "evasion +" for positive evasion_bonus would look neat at the trait info screen.
Title: Re: General Discussion
Post by: Xela on January 11, 2017, 01:57:53 PM
Is there a way to access special traits fields like evasion_bonus? It's not a big deal, but "evasion +" for positive evasion_bonus would look neat at the trait info screen.

It should be a field like any other, why can't you access it like everything else?
Title: Re: General Discussion
Post by: DarkTl on January 11, 2017, 02:12:16 PM
That's how I access traits fields:
Code: [Select]
                if trait_info.min:
                    label (u"Min:") text_size 20 text_color goldenrod text_bold True xalign .45
                    for i in trait_info.min:
                        frame:
                            xsize 150
                            button:
                                background Null()
                                xsize 150
                                action NullAction()
                                if trait_info.min < 0:
                                    text (str(i).title() + ": " + str(trait_info.min)) size 15 color red align .5, .5 text_align .5
                                else:
                                    text (str(i).title() + ": +" + str(trait_info.min)) size 15 color green align .5, .5 text_align .5
It works for everyone.

But if I try:
Code: [Select]
                if trait_info.evasion_bonus:
                    label (u"Evasion:") text_size 20 text_color goldenrod text_bold True xalign .45
                    frame:
                        xsize 150
                        button:
                            background Null()
                            xsize 150
                            action NullAction()
                            if trait_info.evasion_bonus[1] < 0:
                                text ("minus") size 15 color red align .5, .5 text_align .5
                            elif trait_info.evasion_bonus[1] > 0:
                                text ("plus") size 15 color green align .5, .5 text_align .5
and then select a trait which doesn't have evasion_bonus, I'll get
Quote
  File "game/library/screens/character_profile.rpy", line 801, in execute
    if trait_info.evasion_bonus:
AttributeError: 'Trait' object has no attribute 'evasion_bonus'
Meanwhile trait class has evasion_bonus among other BE-only attributes, but they all are commented out. And if I uncomment evasion_bonus attribute, the game begins to CTD during evasion calculations.
Title: Re: General Discussion
Post by: Xela on January 12, 2017, 06:34:10 AM
I recon that you just need to change:

Code: [Select]
if trait_info.evasion_bonus:to
Code: [Select]
if hasattr(trait_info, "evasion_bonus"):
and it'll be fine.
Title: Re: General Discussion
Post by: DarkTl on January 12, 2017, 08:59:28 AM
Hm. Attack and defence formulas are fine. The issue is damage formula.
Damage = attack/defence, you need super high attack to deal noticeable damage, while equal opponents will deal 1-2 damage to each other, making fights very long. I need to think about it, we need more aggressive formula, but with diminished returns.
Title: Re: General Discussion
Post by: Xela on January 12, 2017, 09:12:30 AM
True... damage is really weird in some battle scenarios and fights are often too drawn out, especially at higher levels.

On sidenote, timings for some skills are off, it's ok for the most part but we'll have to take another look at skills after the beta.
Title: Re: General Discussion
Post by: DarkTl on January 13, 2017, 07:21:13 AM
I found a promising yet simple damage formula. But I now I have major difficulties with testing and implementing it because hero is irreplaceable part of hero.team inside BE and because he seems to ignore base traits.

Quote
label dev_testing_menu:
    if config.developer:
        menu:
            "Debug Mode":
                $ hero.apply_trait("Mage")
                $ initial_levelup(hero, 100, max_out_stats=True)
This is the code we run before launching debug mode. I added the orange line to make MC mage, in order to test how well he'll resist spells compared to warriors-characters. But his stats are the same with and without this line.

Maybe I should add base traits using some another function, but that's how you add them in mc_setup.rpy too.

So either MC ignores base traits, or another function is needed. In any case, it's very difficult to test BE balance with classless MC.
Title: Re: General Discussion
Post by: Xela on January 13, 2017, 08:02:41 AM
No... that's not how we do it, at least I don't think so. There is a basetraits set, they need to be added there first and later applied (at least that's how I remember it).
Title: Re: General Discussion
Post by: Xela on January 13, 2017, 08:10:30 AM
Yeah.. you basically do this:

Code: [Select]
hero.traits.basetraits.add(traits["Mage"])
first. Maximum two traits in total. Then you apply them just like you did.
Title: Re: General Discussion
Post by: DarkTl on January 13, 2017, 12:28:03 PM
Here is an experiment, after my last push of course.
I made MC a pure mage of 50 lvl with maxed stats and without items equipped. Then I created a team of mobs, also pure mages, with 50 lvls and maxed stats, ie
Code: [Select]

    {
        "name": "Electrificator",
        "desc": "An ancient defensive mechanism.",
        "front_row": 0,
        "battle_sprite": "content/npc/mobs/dv.png",
        "portrait": "content/npc/mobs/dv1.png",
        "race": "Droid",
        "locations": [],
        "min_lvl": 45,
        "basetraits": [
            "Mage"
        ],
        "stats": {
            "attack": 100,
            "defence":100,
            "magic": 100,
            "agility": 100,
            "luck":-50,
            "charisma":100,
            "constitution": 100,
            "intelligence": 100
        },
        "skills": {},
        "traits": ["Android", "Electricity"],
        "attack_skills": [
           
        ],
        "magic_skills": ["Ion Storm", "Electromagnetism", "Thunderstorm", "Arcane Field"
        ]
    },
Then I launched BE and used the Cataclysm spell.
Mobs dealt 55-146 damage, depending on character class.
MC, a pure mage 50 lvl just like mobs, dealt 450(!) dmg.

Either BE does something incorrectly, or mobs stats are messed up. We cannot balance BE like that, it should be fixed.
Title: Re: General Discussion
Post by: DarkTl on January 14, 2017, 09:47:51 AM
Another experiment.

This is the Mage class.
Code: [Select]
    {
        "id": "Mage",
        "occupations": [
            "Warrior", "Caster"
        ],
        "desc": "A little spark of magic within one's soul gives the ability to manipulate arcane energies.",
        "basetrait": true,
        "mod_stats": {"magic": [1, 1], "intelligence": [1, 1]
        },
        "init_lvlmax": {
            "magic": 50,
            "intelligence": 50,
            "mp": 75
        },
        "init_max": {
            "magic": 25,
            "mp": 50
        },
        "init_mod": {
            "magic": 15
        },
        "init_skills": {},
        "leveling_stats": {
            "attack": [
                -1,
                -1
            ],
            "magic": [
                3,
                3
            ],
            "mp": [
                3,
                3
            ]
        }
    }
If I create MC as mage of lvl 1, he'll have 30 maximum mp. Even though mage class has init_max mp+50 and init_lvlmax mp+75, there is no way to have 30 mp even at level 1.



Looking at the code, it's not surprising.
Code: [Select]
            if trait in self.basetraits:
                multiplier = 2 if len(self.basetraits) == 1 else 1
                for stat in trait.init_lvlmax: # Mod value setting
                    if stat in stats:
                        stats.lvl_max[stat] += trait.init_lvlmax[stat] * multiplier
                    else:
                        msg = "'%s' trait tried to apply unknown init lvl max stat: %s!"
                        devlog.warning(str(msg % (trait.id, stat)))
This is the part which implements init_lvlmax. It's a part of apply function. So the only way to make init_lvlmax work is to apply trait AND add it to basetraits. Ie

Code: [Select]
            hero.traits.basetraits.add(traits[t])
            hero.apply_trait(traits[t])
Without any of these lines base traits don't give all stats they have to give.
But with them base traits are visible in traits list - not surprising, since we added them as base traits and then as normal traits, so we kinda have four traits now.

Conclusion: base traits are afk, just like mobs stats. Balancing BE is impossible until it will be fixed properly.
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 03:32:53 AM
Conclusion: base traits are afk, just like mobs stats. Balancing BE is impossible until it will be fixed properly.

I'll investigate this tonight...
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 05:23:47 AM
Ok, you have to be a tad more precise where your investigations took your and what can be done to fix it. Basetraits are not applied twice, they are first added to a simple set, that action does not carry any logic and them applied. If, when applied, they are in the set, extra logic is triggered. I said that you had to do both in my post.

Knowing that, what's the problem right now?
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 06:06:46 AM
Wait a sec. I thought stats were wrong because base traits weren't applied properly.

But the problem was in init_max/init_lvlmax themselves. You never mentioned here (http://www.pinkpetal.org/index.php?topic=3524.msg31701#msg31701) that init stats also multiplied by two if the class is one. You only said so for leveling_stats, as a result init stats don't work properly for single class, they are not balanced to do so  :o

That aside, explain how pure MC mage of 50 level with no equipment deals three times more damage than pure mob mage of 50 level, both with maxed stats. With no meaning elemental traits involved.
It's in the testing BE at the moment, I tested it on cataclysm spell.
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 07:30:38 AM

That aside, explain how pure MC mage of 50 level with no equipment deals three times more damage than pure mob mage of 50 level, both with maxed stats. With no meaning elemental traits involved.
It's in the testing BE at the moment, I tested it on cataclysm spell.

Both with max stats? MCs stats are maxed due to dev mode, mobs stats are basically default leveling, there is nothing that maxes them out. Try it now...
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 07:40:01 AM
It looks better now.
But these mobs have
Code: [Select]
        "stats": {
            "attack": 100,
            "defence":100,
            "magic": 100,
            "agility": 100,
            "luck":-50,
            "charisma":100,
            "constitution": 100,
            "intelligence": 100
        },
in the json. It should mean maxed out stats anywhere.
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 08:10:37 AM
Fair enough, try it now, DO NOT USE: max_out_stats if you want this functionality! Just level the mob up normally.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 08:48:10 AM
I don't know how to explain what I see. So I'll just write down a log.

1) Started a new game, went to BE. Hero deals 105 dmg with cataclysm. Mobs deal 550 dmg. Party is quickly destroyed.
2) Run BE test again. This time MC deals ~318 dmg. Mobs are destroyed.
3) Run BE test again. Mobs deal ~ 110 dmg. Hero deals about 105 damage. Terminated BE mode.
4) Run BE again. Hero deals about 105 damage. Mobs deal about 500 dmg. Party destroyed.

I removed all randomness from damage calculations to test damage. It shouldn't be possible to have such huge damage leaps.

Besides, the damage stays the same every turn. So it's not a random BE factor.
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 09:07:55 AM
It's odd indeed. I think it's a bug in BE somewhere, but it's a shot in the dark atm :(
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 09:18:10 AM
What I did now:
- replaced mobs by Nami from the usual be testing mode. She's still 50 lvl, but her class is mage now.
- ran BE multiple times in a row. Every time I skipped everyone but MC, casted cataclysm on her, then terminated BE.

Results are astonishing. Every attempt is a bit weaker than before. I started from 50 dmg, after ten or so tries MC deals 28 damage. Every round, so it's not damage randomness.

Then I did the same for her. After every test she becomes stronger, dealing more damage.

All stats are the same, they are maxed out after all. So looks like part of BE data remains between fights and somehow changes the outcome.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 09:44:27 AM
I made her level 2 to test the terminate option. At 2 level she will easily die without terminating BE. The results are the same.
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 09:48:39 AM
Code: [Select]
            # Decreasing based of current health:
            healthlevel=(a.health/a.get_max("health"))*0.5 # low health decreases attack power, down to 50% at close to 0 health.
            attack *= (1-healthlevel)

See if this could be culprit, I don't believe this does what you expect it to. Also you're dividing two ints, possible expecting a float as result so both logic and python are unsound.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 10:09:56 AM
I already commented it out, the result is the same.
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 10:15:56 AM
Hinata and Nami both get huge amount of XP every time you start BE testing scenario, she gets stronger, attacks vs her get weaker.

Remove health lines and check if you still get erratic damage results.
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 10:23:26 AM
I think that the huge damage difference between the attacks were due to the faulty health formula.

Nami getting more l33t with every BE iteration, is due to initial_levelup(n, 50, True), that increases her EXP every time you start the BE. You may have noticed that her health is also "magically" restored and she gets more health and MP.


I cannot find any more flaws and I spent 3 or 4 hours on this (just going over code)...
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 10:25:15 AM
But their levels stay the same. How is it possible?
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 10:35:59 AM
But their levels stay the same. How is it possible?

The function has "initial" in it for a reason, it is game breaking to use it on a character more than once (or not from level 1), it may not cause ctd, but it messed up stats. Her leveling system is reset, but her stats are not... so you get moar and moar stats every time it's used.

There is no place in code where this can happen in the game, this is my setup for dev testing mode...
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 10:42:06 AM
One last thing...

I improved code for loading mobs a bit (logic remaining the same, except for stats: {} dict). It will now crash the game on faulty skills, traits and stats so a number of mods can no longer be loaded. I am beginning to take a more aggressive stance towards catching errors cause we're moving closer to beta release.

Gonna take a long walk after going over BE and Char code :D
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 10:46:02 AM
Yeah, I don't see any more problems with damage. I'll have to change BE testing mode to allow multiple runs without such issues.

There is a lot to balance, starting from class and elemental traits, they are too powerful.
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 10:51:33 AM
I updated mobs recently, there shouldn't be any faults - there are none in the dev log atm. All errors go from hardcoded arena and old characters jsons.

However,
Code: [Select]
Lilica has a string location: citysince when it's an error?
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 12:04:55 PM
I updated mobs recently, there shouldn't be any faults - there are none in the dev log atm. All errors go from hardcoded arena and old characters jsons.

These guys all have issues, mostly with BE Skill names I believe. You rename them but forget to do the same for mobs/chars. You can just load them in console with build_mob("Seductive Slime") to see what's causing them exactly.

CRITICAL PyTFall 0.56 Step by Step... Seductive Slime
CRITICAL PyTFall 0.56 Step by Step... Undine
CRITICAL PyTFall 0.56 Step by Step... Harpy Queen
CRITICAL PyTFall 0.56 Step by Step... Link Wolf
CRITICAL PyTFall 0.56 Step by Step... Wind Spirit
CRITICAL PyTFall 0.56 Step by Step... Seraph
CRITICAL PyTFall 0.56 Step by Step... Wild Dryad
CRITICAL PyTFall 0.56 Step by Step... Heaven Guardian
Title: Re: General Discussion
Post by: Xela on January 15, 2017, 12:10:27 PM
since when it's an error?

It should be a warning, not an error (pretty sure that it is). Aimed at me, more than at anyone else. I wanted all locations to become class instances at some point.

You can log with different messages:
Quote
Logger.info(msg, *args, **kwargs)

    Logs a message with level INFO on this logger. The arguments are interpreted as for debug().

Logger.warning(msg, *args, **kwargs)

    Logs a message with level WARNING on this logger. The arguments are interpreted as for debug().

Logger.error(msg, *args, **kwargs)

    Logs a message with level ERROR on this logger. The arguments are interpreted as for debug().

Logger.critical(msg, *args, **kwargs)

    Logs a message with level CRITICAL on this logger. The arguments are interpreted as for debug().


There is a lot to balance, starting from class and elemental traits, they are too powerful.

Goal should be to make class traits and elements meaningful, so it's not too big of a stretch that they are a bit overpowered. Spells also got to be balanced to cause more or less the same amount of base damage. We're using menu_pos to try and guess power of a skill and they are not all on the same level.

I also believe that spells should cost a lot more. Percentages in damage and cost of skills also need to be kept in check or we'll have weak chars casting powerful sh!t or do good amount of damage at far less of a cost than powerful chars.

System is in a fairly decent shape, you can tweak it or even rewrite it but it is playable as it is. Main issue are super spells atm, whoever gets a chance to attack first, wins the round :D
Title: Re: General Discussion
Post by: DarkTl on January 15, 2017, 12:24:03 PM
Elemental traits are a part of this. Cataclysm, as the highest fire spell, is dangerous as it is, but with Fire trait it just wrecks everything.
Title: Re: General Discussion
Post by: DarkTl on January 16, 2017, 06:42:52 AM
Well, that's interesting. In "mobile" version on external hdd I killed Nami in the testing rpy a few weeks ago to test graveyard, and forgot to restore her. Yet all this time it wasn't a problem for BE testing mode, she was there  :D
Title: Re: General Discussion
Post by: DarkTl on January 16, 2017, 07:24:56 AM
We're using menu_pos to try and guess power of a skill and they are not all on the same level.
It's not a very accurate way, especially for weapon skills. Weapon with higher amount of skills will have higher max menu_pos, no matter how strong these skills are.
Title: Re: General Discussion
Post by: Xela on January 16, 2017, 08:36:10 AM
It's not a very accurate way, especially for weapon skills. Weapon with higher amount of skills will have higher max menu_pos, no matter how strong these skills are.

There is nothing else... maybe something can be derived from effect/multi or something like that but it feels messy.
Title: Re: General Discussion
Post by: DarkTl on January 16, 2017, 08:45:58 AM
We could add a new field to skills, it will be responsible for power level only... I suppose it's fine for beta anyway.
Title: Re: General Discussion
Post by: DarkTl on January 16, 2017, 11:29:50 AM
Alright, at the first step I'll balance damage - mage vs mage for spells and warrior vs warrior for weapon skills - to make sure spells/skills deal not too big and not too small damage under equal conditions.
Naturally, weapons are more dangerous for mages/shooters, and spells are more dangerous for warriors/assassins.

Also, even after today nerf elemental traits are very noticeable at any level, as well as items that give secondary elemental traits. In the future, once you add support for items sets, we may even have elemental sets with average stats but superior elemental bonuses.

At the second step, probably tomorrow, I'll balance spells/skills cost. Percentages cost will serve as a secondary limitation, it never will be the only one.
Title: Re: General Discussion
Post by: krakr on January 16, 2017, 06:16:24 PM
Hi guys, finally got back to work on the fuck texts. I 'm done with all the beautiful & plain texts, should I make one for the ugly bitches too?
Attached are all the 3_3,3_2, 3_1. 2_3, 2_2 and 2_1 texts. Sorry they're all not original, some are just edited versions of a similar encounter, but there's 114 different ones altogether. and well over 50% are straight outta my skull.
I found a couple typos in some of the older ones I already upped here, so these copies supercede any previous ones.
Title: Re: General Discussion
Post by: DarkTl on January 17, 2017, 06:10:37 AM
Great, thanks a lot!  :)

Xela, base traits now have defence_multipliers, we cannot rely on stats alone to make classes meaningful in BE. They should be doubled for a single base trait too.
 
Title: Re: General Discussion
Post by: Xela on January 18, 2017, 03:36:46 AM
Xela, base traits now have defence_multipliers, we cannot rely on stats alone to make classes meaningful in BE. They should be doubled for a single base trait too.

Ghm... ok, what do we double? Just the def multi?
Title: Re: General Discussion
Post by: DarkTl on January 18, 2017, 04:57:11 AM
Yes. Since all defence formulas are connected (all use defence), we cannot use only stats to make mage less vulnerable against spells for example. But defence_multiplier does it perfectly.

I found a bug in BE while balancing menu_pos. All multielemental spells ignore the menu_pos field and are always sorted alphabetically.
Title: Re: General Discussion
Post by: DarkTl on January 19, 2017, 03:04:12 PM
Well, the balance is not perfect, but it's true for everything in beta. At least it's not terribad anymore. I think defence multiple should be double for single base class after I changed it to
Code: [Select]
                if hasattr(i, "defence_multiplier"):
                    if i in target.traits.basetraits and len(target.traits.basetraits)==1:
                        m = m + 2*i.defence_multiplier.get(self.delivery, 0)
                    else:
                        m = m + i.defence_multiplier.get(self.delivery, 0)
And I think I fixed menu sorting in BE, which is a bit more complex due to lack of comments in that section. I mean, they are sorted now, but I wonder how ctd-proof is it.

Nothing else we can do for BE aside from adding content post beta.

Title: Re: General Discussion
Post by: Xela on January 20, 2017, 04:37:16 AM
Looks solid! :)
Title: Re: General Discussion
Post by: picobyte on January 20, 2017, 06:09:39 PM
In an attempt to display an item.icon in my 3d view, I was trying a transform that positions and zooms the icon, according to the distance and lateral position where it should lie, that is this image after the tranformation, without animation. Without a transform, or with empty [] at_list list the image is shown, with an Transform function in this list, however, it is not. Any idea why this could be occurring?

Edit: probably something caused it to be drawn off screen - I saw the image now with the transform..

Code: [Select]
transform sprite_default(xx,yy,zz):
    ypos renpy.config.screen_height*yy
    xpos renpy.config.screen_width*xx
    zoom zz
    pause 60
    repeat

#...

renpy.show(icon, at_list=[sprite_default((3 + lateral)/7, 1 - distance/12, 1/(distance+1))])

Added a second level to the dungeon, by the way.
Title: Re: General Discussion
Post by: Xela on January 21, 2017, 04:06:04 AM
In an attempt to display an item.icon in my 3d view, I was trying a transform that positions and zooms the icon, according to the distance and lateral position where it should lie, that is this image after the tranformation, without animation. Without a transform, or with empty [] at_list list the image is shown, with an Transform function in this list, however, it is not. Any idea why this could be occurring?

Edit: probably something caused it to be drawn off screen - I saw the image now with the transform..

Code: [Select]
transform sprite_default(xx,yy,zz):
    ypos renpy.config.screen_height*yy
    xpos renpy.config.screen_width*xx
    zoom zz
    pause 60
    repeat

#...

renpy.show(icon, at_list=[sprite_default((3 + lateral)/7, 1 - distance/12, 1/(distance+1))])

You did not push this code bit. You are prolly correct, zoom is prolly causing sprite to be drawn off screen. You can try adding anchor (.5, .5) or use center/around to try and fix it. Also, you usually want to place a tag instead of an icon as the first argument of your show function, it's easier to hide it later.
Title: Re: General Discussion
Post by: Xela on January 21, 2017, 05:28:02 AM
@Dark:

I am getting a zero dev error from time to time when building random girls. I think max stats have been pushed down way too much and every now and then, they hit 0. It's really difficult to track down...
Title: Re: General Discussion
Post by: DarkTl on January 21, 2017, 05:57:07 AM
I'll take a look.

I accidentally pressed F1 in the game, and it opened empty page in Internet Explorer, even though Firefox is my default browser. Wtf?  :D
Title: Re: General Discussion
Post by: DarkTl on January 21, 2017, 06:30:23 AM
I nerfed some negative max values which I overlooked due to their rareness, and raised initial maxes a bit just in case. If you'll still have the error, I will need archive with all your random chars jsons to track down the problem further, since they are most likely even more outdated than mine.
Title: Re: General Discussion
Post by: picobyte on January 21, 2017, 09:50:56 AM
You did not push this code bit. You are prolly correct, zoom is prolly causing sprite to be drawn off screen. You can try adding anchor (.5, .5) or use center/around to try and fix it. Also, you usually want to place a tag instead of an icon as the first argument of your show function, it's easier to hide it later.

I try to push code when it works, or at least I think it does. Positioning was one reason, for the err, the other was that the transformation xpos and ypos do not seem to work when they receive floats. Now it is pushed - items (their icons) can now be found on the ground, lighting 3d transformation is applied. They are the "Replica Sword" and "Shuriken"  point item entries.
Title: Re: General Discussion
Post by: Xela on January 21, 2017, 10:40:35 AM
I nerfed some negative max values which I overlooked due to their rareness, and raised initial maxes a bit just in case. If you'll still have the error, I will need archive with all your random chars jsons to track down the problem further, since they are most likely even more outdated than mine.

Great, I'll try it tonight.
Title: Re: General Discussion
Post by: DarkTl on January 21, 2017, 12:37:05 PM
The dungeon looks pretty cool. I especially like this part https://www.dropbox.com/s/xnm27u7ow30oxic/3.jpg?dl=0 with an item in the wall. It's a great way to put items in location instead of chests.
Title: Re: General Discussion
Post by: Xela on January 21, 2017, 02:20:21 PM
Yeah... it looks amazing even thought it's a bit too dark. I've been fighting with Ren'Py in BR for most of the day, there seem to be a lot of bugs in transforms/screens :(
Title: Re: General Discussion
Post by: DarkTl on January 23, 2017, 08:50:44 AM
I came to the conclusion that we shouldn't waste development time om making unique content for specific packs or characters - unless we'll have someone who wants to do only it and nothing else, or maybe much after the release.

Since we adhere to the principle of freely adding/removing packs and even characters, it's very unwise and costly to make something that may not even be in the game for many people. Instead we'll use multiple generic prehistory quests (which most likely will require updated GMs) which either will be selected randomly or specified in jsons.
Title: Re: General Discussion
Post by: Xela on January 23, 2017, 08:59:17 AM
What about Naruto/DOA quests? I'll be coding for PyTFall tonight, done some decent work on BR's GUI over the past few days. If there is something that needs to be taken care of, let me know. Otherwise I'll keep hacking SE.
Title: Re: General Discussion
Post by: DarkTl on January 23, 2017, 09:22:28 AM
DOA quest is a sketch. It requires working slave training to work as intended - that means post beta.

As for Naruto quest, it
1) heavily relies on matrix, which is not a bad thing, but it complicates the ability to make the quest removable, since matrix calls and menu should be optional even though they are integrated into location;
2) it does so because we don't have SE, using it was my intention from the beginning.
Title: Re: General Discussion
Post by: DarkTl on January 23, 2017, 10:06:42 AM
Speaking of quests, with minor tweaks we can use the old Nami quest. I do hope that putting
Code: [Select]
if "Nami" in chars: before all quest code is sufficient to make sure it won't cause ctd without her.
Title: Re: General Discussion
Post by: Xela on January 23, 2017, 10:30:49 AM
DOA quest is a sketch. It requires working slave training to work as intended - that means post beta.

As for Naruto quest, it
1) heavily relies on matrix, which is not a bad thing, but it complicates the ability to make the quest removable, since matrix calls and menu should be optional even though they are integrated into location;
2) it does so because we don't have SE, using it was my intention from the beginning.

Speaking of quests, with minor tweaks we can use the old Nami quest. I do hope that putting
Code: [Select]
if "Nami" in chars: before all quest code is sufficient to make sure it won't cause ctd without her.

Nami quest is far too basic but if you want to include it, you can:

1) Put the quest in her folder.
2) Add "Nami in chars" to whatever triggers her quest (usually an event).

Either one will do but both are possible if you want to be really thorough.

I am sure that we can setup Naruto quests, matrix and SE exactly like we want it.
Title: Re: General Discussion
Post by: DarkTl on January 23, 2017, 10:45:08 AM
It becomes complicated from the moment when we need to add matrix button at village screen to actually run the matrix. It no longer can be kept inside a separate file inside naruto folder, it requires changes in the location rpy - while player may or may not have some characters from the pack, making possible fail-safe checks complicated.
Title: Re: General Discussion
Post by: Xela on January 23, 2017, 11:38:44 AM
I'll have to take a look at the setup, it should be easy to condition everything just right.
Title: Re: General Discussion
Post by: DarkTl on January 23, 2017, 11:55:20 AM
Well, simple "if "Nami" in chars" is not enough...
I attached simplified version of the rpy to this post. If I remove her data file from the game, the event is still active - and gives an error when eventually tries to access her sprite.
Title: Re: General Discussion
Post by: Xela on January 23, 2017, 11:58:31 AM
I told you not to do that... kinda surprised that parser accepted the code.

Try adding to trigger event:

Code: [Select]
simple_conditions=["'Nami' in chars"],
Title: Re: General Discussion
Post by: Xela on January 23, 2017, 12:08:56 PM
Gonna clear new bugz instead, they are bugging me knowing that they're there :D
Title: Re: General Discussion
Post by: DarkTl on January 23, 2017, 12:09:46 PM
Yes, since I didn't get any errors, I hoped it will be so simple in renpy to make a pluggable rpy.

Sadly, in this case register_quest("Treasure Seeker") line still will be executed no matter what.
Title: Re: General Discussion
Post by: Xela on January 23, 2017, 12:19:17 PM
Yes, since I didn't get any errors, I hoped it will be so simple in renpy to make a pluggable rpy.

Sadly, in this case register_quest("Treasure Seeker") line still will be executed no matter what.

- We can more the quest to Namis folder.
- We can add the quest only after the event has been executed (in the event label).

Other, worse option:
- We can make a special event that executes if Nami is in the chars and does nothing else but registering the quest.


We do not show Unstarted Quests outside of dev mode btw, so even if registered, player will never know about it, trigger event is more important.
Title: Re: General Discussion
Post by: DarkTl on January 23, 2017, 01:10:30 PM
Yes, I moved it to her folder.

I am sure that we can setup Naruto quests, matrix and SE exactly like we want it.
Initially I made matrix based on houses on the background. So if you want to find a character, you should enter matrix mode and find her house there.

It looks neat. But it leads to a shit-ton of checks for every character even before we begin to check whether character exists in the game or not. Not to mention that none of them can be the main quest giver, since anyone may not exist in the game.

So I used another system which you added even before the matrix. With specific settings GMs in location contain only characters whose location field == location name. The idea is to add characters to village as you locate them inside SE. Of course we need SE for a start, but after that we just can easily change their location any time, adding them to GMs.



I have troubles with screen show_trait_info - it shows info once you click on any character trait/hero trait/main trait icon in character profile. The closing button, cross, creates a noticeable gap on the top of the window. I dunno how to deal with it.
Title: Re: General Discussion
Post by: Xela on January 23, 2017, 01:21:58 PM
Yes, I moved it to her folder.
Initially I made matrix based on houses on the background. So if you want to find a character, you should enter matrix mode and find her house there.

It looks neat. But it leads to a shit-ton of checks for every character even before we begin to check whether character exists in the game or not. Not to mention that none of them can be the main quest giver, since anyone may not exist in the game.

So I used another system which you added even before the matrix. With specific settings GMs in location contain only characters whose location field == location name. The idea is to add characters to village as you locate them inside SE. Of course we need SE for a start, but after that we just can easily change their location any time, adding them to GMs.

I am still thinking that it should be doable but it's hard to me to follow as I am not familiar with how Naruto quest chain is setup.

I have troubles with screen show_trait_info - it shows info once you click on any character trait/hero trait/main trait icon in character profile. The closing button, cross, creates a noticeable gap on the top of the window. I dunno how to deal with it.

Got two more bugs to clear (3 are squashed), gonna take a look at this after that's done.
Title: Re: General Discussion
Post by: Xela on January 23, 2017, 02:14:17 PM
I have troubles with screen show_trait_info - it shows info once you click on any character trait/hero trait/main trait icon in character profile. The closing button, cross, creates a noticeable gap on the top of the window. I dunno how to deal with it.

I wrote bit of a hack, you focus on xsize for most displayable in that screen so Ren'Py has a bit of a hard time to calc the ysize. I recon this is sort of a bug cause it does draw the screen correctly but is not capable of positioning it accordingly.
Title: Re: General Discussion
Post by: DarkTl on January 24, 2017, 03:06:07 PM
When you bother a hired free character and she refuses to talk to you eventually, you got
Code: [Select]
  File "game/library/screens/character_profile.rpy", line 14, in script
    if isinstance(result, (list, tuple)):
  File "game/library/screens/character_profile.rpy", line 14, in <module>
    if isinstance(result, (list, tuple)):
NameError: name 'result' is not defined
You wrote this code, not me, so I'm not sure what's wrong.
Title: Re: General Discussion
Post by: Xela on January 25, 2017, 04:17:29 AM
Looks like a bit of an impossible error... seeing how result is defined one statement above in code. I'll try to get this error myself.
Title: Re: General Discussion
Post by: Xela on January 25, 2017, 04:23:32 AM
When you bother a hired free character and she refuses to talk to you eventually, you got
Code: [Select]
  File "game/library/screens/character_profile.rpy", line 14, in script
    if isinstance(result, (list, tuple)):
  File "game/library/screens/character_profile.rpy", line 14, in <module>
    if isinstance(result, (list, tuple)):
NameError: name 'result' is not defined
You wrote this code, not me, so I'm not sure what's wrong.

You need to be a bit more precise on what to do to get this crash, I keep bugging them till they start a fight and still nothing happens.
Title: Re: General Discussion
Post by: DarkTl on January 25, 2017, 12:55:14 PM
I figured it out. I also use result variable in some interactions to calculate outcome, and after using delete it. So under certain conditions the game is left without result variable at all.

Yeap, we definitely will have to thoughtfully update interactions and their code right after releasing beta.
Title: Re: General Discussion
Post by: DarkTl on January 25, 2017, 01:28:29 PM
On sidenote, timings for some skills are off, it's ok for the most part but we'll have to take another look at skills after the beta.
I looked though BE skills today for the last time before beta.
If you mean cases when damage effect starts earlier or ends later than spell animation itself, it's most likely because I think it will look better this way. While of course there could be a few overlooked errors, not all such cases are errors.
Title: Re: General Discussion
Post by: Xela on January 25, 2017, 02:51:49 PM
Oki, I noticed some timing were off, but nothing really stood out as "broken".
Title: Re: General Discussion
Post by: Xela on January 26, 2017, 03:27:42 AM
I figured it out. I also use result variable in some interactions to calculate outcome, and after using delete it. So under certain conditions the game is left without result variable at all.

Yeap, we definitely will have to thoughtfully update interactions and their code right after releasing beta.

This "no more deleting result to prevent ctds in gui" may be a rather nasty bug in Ren'Py... Nothing is happening between statements where the result is set and where it's checked for. Just something to keep in the back of our heads.
Title: Re: General Discussion
Post by: DarkTl on January 26, 2017, 06:07:32 AM
It also wasn't easy to reproduce. You had to use intimacy interactions one by one on a character with ~200 starting disposition - that's the stating bonus from one of traits - until you reach kiss. This disposition is not high enough for intimacy, yet not low enough to immediately trigger blowoff flag.
Kiss triggered _day_countdown_interactions_blowoff flag, and after trying to talk to the character again the game showed you refusing screen, returned you to character profile and gave the error.
Meanwhile simply using kiss from the beginning didn't cause the error.

I have no idea why is it so complicated, perhaps interactions themselves are bugged since they use very old code. But since renpy wants its result variable so badly, it can have it for now  :)

 
Title: Re: General Discussion
Post by: Xela on January 26, 2017, 06:52:57 AM
Maybe the error is misreported and caused by something else... There will be a rewrite of interactions module but I recon the idea behind it will remain the same, so it will release control of the game flow just like it does now.
Title: Re: General Discussion
Post by: DarkTl on January 26, 2017, 08:28:39 AM
Deleting all results deletions fixed the error though, before this sequencing guaranteed the error.

Maybe it's a coincidence, but I also updated renpy to 6.99.12.2.2029 the day before yesterday. Changelog suggests namespaces were updated, so they might be updated with errors.

Title: Re: General Discussion
Post by: DarkTl on January 29, 2017, 08:30:32 AM
There is a turn-based BE in Babe Runner? The same as ours?
Title: Re: General Discussion
Post by: Xela on January 29, 2017, 09:19:54 AM
There is a turn-based BE in Babe Runner? The same as ours?

There will be a stripped down version with simpler damage calc and animated sprites.
Title: Re: General Discussion
Post by: DarkTl on January 29, 2017, 09:33:29 AM
I've seen turn-based BEs with a little bit of real time control, for example evasion helps to evade, but only as long as player has good enough reaction to press evade button in time.
Title: Re: General Discussion
Post by: Xela on January 29, 2017, 09:37:48 AM
I've seen turn-based BEs with a little bit of real time control, for example evasion helps to evade, but only as long as player has good enough reaction to press evade button in time.

That is easier to do with UDD controller than with our setup. + it's prolly not a very popular option.
Title: Re: General Discussion
Post by: DarkTl on January 29, 2017, 10:39:52 AM
Maybe it's a coincidence, but I also updated renpy to 6.99.12.2.2029 the day before yesterday. Changelog suggests namespaces were updated, so they might be updated with errors.
Turns out even 6.99 has this issue. Weird.
Title: Re: General Discussion
Post by: Xela on January 30, 2017, 04:42:43 AM
Prolly not. I still expect it to just be a false error report.
Title: Re: General Discussion
Post by: DarkTl on January 31, 2017, 12:05:45 PM
I updated recently this (https://github.com/XelaPy/PyTFall/issues/184) issue, it's quite close to be closed.
I don't see auto equip (successfully updated by pycobyte) working for free chars by default, it should work all the time unless for example manually disabled for lovers. Atm it doesn't work like that, but it does work correctly if you force the character to use it.

I just finished combat-orientated MC setups (14 in total plus 3 secondary traits for each one). Others, like manager or cazanova types, require actual mechanics allowing them to work on all characters before I can make them, my imagination is just not good enough to make setups based on nothing but vague ideas.

That leaves
So is SE, BE, Wage/Status Tiers, Building/Businesses/rChars Generation, Taxes and SimPy stuff. I do have almost unreasonable expectations towards myself when working uninterrupted so the plan is to take out all of that in a week or two in January, even while working on other project(s) + as codebase grows, you can add events, texts and image calls + balance stuff out.
and some events I'll need to finish, with many of them being based on SE.

I restored from the repo depths my old matrix based dungeon which I'll finish before the beta, making it not based on specific packs to ensure 99% compatibility with any set of packs. But in general there is nothing for me to do if the main code will not advance any further.
Title: Re: General Discussion
Post by: Xela on January 31, 2017, 12:18:20 PM
We're rushing some stuff in BR a bit... we lost our writer as well :(

I'll put in 10 - 15 hours into PyTFall this week, it should be enough to wrap up core code for businesses, including SE. We'll have to use local char or Discord (if you have it) to discuss what to do about content for them.
Title: Re: General Discussion
Post by: DarkTl on February 01, 2017, 09:11:01 AM
I'm not rushing you, I'm not a project manager  :)
You can focus only on BR until it will be finished, I'll find stuff to do meanwhile. Like you said many times in the past, we all work at our own pace.

But I'll tell it straight: when I see no activity other than my own for weeks, I lose motivation to do stuff too. Not because I cannot work alone, but because the project has zero chances to be finished (in every sense of the word "finished") without the person who started it in the first place aka its main coder.
Title: Re: General Discussion
Post by: Xela on February 01, 2017, 09:14:06 AM
Noted!

I'll focus on PyTFall tomorrow. We've decided to rush demo version of BR and switch to something else. Full version we'll try to queue up with the movie.
Title: Re: General Discussion
Post by: Xela on February 02, 2017, 04:29:37 AM
use local char or Discord (if you have it) to discuss what to do about content for them.

Do you have discord btw? Everyone seem to moving to it nowadays...
Title: Re: General Discussion
Post by: DarkTl on February 02, 2017, 10:39:19 AM
I do believe in advertising via making posts which are visible to everyone all the time. It's not unusual to see 5-20 guests reading this thread almost around the clock.

We can discuss stuff via chats of course, in which case the local chat is the easiest solution, since I don't have discord or skype. But if you think discord is somehow better for our needs, I can create an account there.
Title: Re: General Discussion
Post by: Xela on February 02, 2017, 11:01:36 AM
I do believe in advertising via making posts which are visible to everyone all the time. It's not unusual to see 5-20 guests reading this thread almost around the clock.

Me too, problem is that we need to make a large number of important decisions and I got to walk you through SimPy code which is immensely complex.

Basically, SimPy code skeleton is ready. There will be code clean-ups before beta but we're good to go for adding content and adjusting interface to match. Decisions need to be made:

- Do we get rid of Jobs now or after beta?
- What do we do with Managers?
- What do we need from SE in terms of special mechanics (both for interface and logic) that will deal with quests/events?
- How do we balance the whole thing? SimPy allows for some really cool stuff but it also make balancing stuff more complicated and debugging SimPy code is time consuming due to very little info about errors.
- What Updates do we want and how should they effects the balance?

Since you're the one in charge of content and balancing stuff out, you need to know what's happening in SimPy, the only idea I have is to write a new Tiers class that will deal with setting up some constants and boundaries when dealing with balancing stuff. That may help in terms of having a lot of code that deals with balance in one place.

We can discuss stuff via chats of course, in which case the local chat is the easiest solution, since I don't have discord or skype. But if you think discord is somehow better for our needs, I can create an account there.

Doesn't matter much, Discord is simpler in a sense that I am online whenever I am coding. We need to coordinate when we meet in local chat somehow + you prolly will have a lot of questions when we start dealing with all of the stuff above.


Took me 3 hours to recall how businesses were setup. I finished setting up basecamp and char capture code (just don't know yet what to do with captured chars). Gonna take a walk to get rid of headache, bb in an hour. I'll work on PyTFall 2 or 3 hours every day from now on and 5 or 6 on BR, taking long breaks from PyTFall code is a really bad idea cause getting back after the break is too taxing.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2017, 12:40:29 PM
I would prefer to use chats during daytime or at Friday's and Saturday's eventide. Because every time we discussed something at eventide via chat in the past it led to 4-5 hours of sleep before work instead of my usual 7, and that sucks big time in the morning  ::)

- Do we get rid of Jobs now or after beta?
- What do we do with Managers?
The last time I checked jobs code in classes-jobs.rpy I couldn't find any traces of simpy there. As if jobs have nothing to do with it.
Since managers are supposed to affect simpy algorithm, I have a hard time imagining how it will be possible with jobs not controlled properly by simpy.

What do we need from SE in terms of special mechanics (both for interface and logic) that will deal with quests/events?
Outputting arbitrary string, ie "team found X" in the SE log, maybe using unusual font color. And the ability to advance quests and set/delete flags after that to make it meaningful.

As for SE events conditions, they are the same as for quests, except instead of city areas where quest event may trigger they deal with SE areas.

A separate topic is team checks. Ideally, we could use a system which treats exploration team as a single complex unit. So there won't be need to check every single character in the team every time, you can just write for example "if current_team.agility > 10 and current_team.level <= 10" and it checks if at least one of the characters suits it.


Title: Re: General Discussion
Post by: Xela on February 02, 2017, 01:08:43 PM
I would prefer to use chats during daytime or at Friday's and Saturday's eventide. Because every time we discussed something at eventide via chat in the past it led to 4-5 hours of sleep before work instead of my usual 7, and that sucks big time in the morning  ::)

Friday/Saturday evening it is then.

The last time I checked jobs code in classes-jobs.rpy I couldn't find any traces of simpy there. As if jobs have nothing to do with it.
Since managers are supposed to affect simpy algorithm, I have a hard time imagining how it will be possible with jobs not controlled properly by simpy.

#My point exactly!

We pass data to jobs cause all the previous work is in there but it is a complication that will only get worse as we add new stuff to businesses.

Outputting arbitrary string, ie "team found X" in the SE log, maybe using unusual font color. And the ability to advance quests and set/delete flags after that to make it meaningful.

As for SE events conditions, they are the same as for quests, except instead of city areas where quest event may trigger they deal with SE areas.

Ok, we should prolly work with some made up example for testing. There prolly should also be some marker in GUI...

It may be too complicated and unnecessary to do SE events the same way as world events. SE is it's own "world", we need to work within it's structure somehow.

A separate topic is team checks. Ideally, we could use a system which treats exploration team as a single complex unit. So there won't be need to check every single character in the team every time, you can just write for example "if current_team.agility > 10 and current_team.level <= 10" and it checks if at least one of the characters suits it.

We already have that, it's called Tracker, I'll explain how that works in chat. We'll decide what else is needed from it there.
Title: Re: General Discussion
Post by: DarkTl on February 02, 2017, 01:46:46 PM
We pass data to jobs cause all the previous work is in there but it is a complication that will only get worse as we add new stuff to businesses.
Jobs are kinda the core of gameplay. Even SE is a job too, to make combat characters more useful than just being guards.
I think it's not wise to ignore this problem for beta. Even if we postpone managers.

It may be too complicated and unnecessary to do SE events the same way as world events. SE is it's own "world", we need to work within it's structure somehow.
No, I mean only the structure of conditions.
Priority, max_runs, dice, simple_conditions, locations (= SE areas where it can happen). They are very useful for any SE events, especially non-quest ones when generic events happen.
Title: Re: General Discussion
Post by: Xela on February 03, 2017, 03:30:57 AM
I've been going over buildings code, it may be a good idea to clean that up as well before the beta. Gonna try to untangle inheritance chain and see whats what...
Title: Re: General Discussion
Post by: Xela on February 03, 2017, 05:23:05 AM
Oki... so I went over Buildings code and some of the training code.

Buildings:
- Inheritance is misused a bit, but this will be an easy fix.
- Some logic is scattered all over the place.
- A whole bunch of logic is needlessly mirrored over a whole bunch of different buildings classes.
- Training Dungeon is using older upgrades system but in a really simple way.

Most work here lies in simply making sure we don't have multiple flags, containers and methods that do the same basic function.

Training:
We did decide not to use it for Beta but the problem is that training is intertwined with Jail, SlaveMarket and Schools (very heavily). There is a lot of references to it in Interactions code but that looks isolated.

I managed to restore TD but sending a char there and trying to start training session led to errors, I've cleared 3 or 4 of those in the row and said f*ck it (cause they just kept coming) :)

Largest problem here is that I don't know 60% of Training code + it's not written in my style, everything is a proxy and everything leads to or wraps around something else... Good news is that school seems to be working!


I've cleared old building classes, NewStyle classes have renamed. A bunch of older code dealing with differences between them is also gone. There is also little bit of new stuff for SE.

This is it for pytfall for the day, we'll chat in the evening if time permits :)
Title: Re: General Discussion
Post by: DarkTl on February 03, 2017, 06:01:17 AM
Training dungeon? It's part of ST, we don't even touch it until beta, it's too big to handle it right now. Schools are sufficient for everyone.

I need faster dissolve for changing backgrounds, the default one takes too long for matrix map. However, since I don't know how it was written in the first place, I cannot write the same one with faster timing.
Title: Re: General Discussion
Post by: Xela on February 03, 2017, 07:40:09 AM
I don't think we have a default dissolve for changing background, we do that in every location separately with a simple with statement.
Title: Re: General Discussion
Post by: DarkTl on February 03, 2017, 09:56:51 AM
Renpy does have default dissolve, and we use it. I found info about Dissolve(time, alpha, time_warp) in renpy wikia, but it tells me nothing, "with dissolve(time=0.2)" doesn't work.
Title: Re: General Discussion
Post by: Xela on February 03, 2017, 10:26:53 AM
Renpy does have default dissolve, and we use it. I found info about Dissolve(time, alpha, time_warp) in renpy wikia, but it tells me nothing, "with dissolve(time=0.2)" doesn't work,

but

Code: [Select]
with Dissolve(.2)
will work. You can define it as well:

Code: [Select]
qdissolve = Dissolve(.2)
and do:

Code: [Select]
with qdissolve
later.
Title: Re: General Discussion
Post by: DarkTl on February 03, 2017, 10:56:42 AM
Right, that explains it. I'm still forgetting about case sensitivity in python from time to time.
I'll be in chat if you want to discuss "a large number of important decisions"  :)
Title: Re: General Discussion
Post by: DarkTl on February 04, 2017, 03:15:40 PM
As I feared, under unusual circumstances it's impossible to use top_stripe to access MC profile and inventory  :(
It's all hardcoded to work only where it works now. You can jump there from anywhere, but the game won't return you to the place where you jumped from, effectively breaking any events including matrix dungeon.

I will have to make simplified version of profile and inventory which will work everywhere, allowing to watch over team status and heal it...
Title: Re: General Discussion
Post by: Xela on February 07, 2017, 05:15:45 AM
As I feared, under unusual circumstances it's impossible to use top_stripe to access MC profile and inventory  :(
It's all hardcoded to work only where it works now. You can jump there from anywhere, but the game won't return you to the place where you jumped from, effectively breaking any events including matrix dungeon.

I will have to make simplified version of profile and inventory which will work everywhere, allowing to watch over team status and heal it...

Heu, I am back (at diminished capacity for the day due to hangover) :)

Stripe allows making changes to team and inventory, you do not normally want it to be available during event/quests. Also saving will rollback entire events if jump argument is unused. I can adjust the stripe disabling some buttons if you really need parts of it.
Title: Re: General Discussion
Post by: DarkTl on February 07, 2017, 06:38:59 AM
As a part of main quest, I'm making dungeon crawler based on matrix. It's not nearly as powerful as actual dungeon crawler engine like the one which picobyte tried to add, but it's also 100 times easier and doesn't require rendering textures. It's close to be finished, actually.

Player has to have access to party inventory when personally exploring a dungeon, to heal party members if nothing else.

I modified equipment screen, it now can be called in a safe mode, when actions and items which can break events are not allowed (unless I missed something). And added status screen which shows MC team portraits with levels of health, mp and vitality, where by clicking on the portraits game jumps to character inventory.

Together they provide all required team control, and can be used anywhere as long as it's possible to provide a label where the game can safely return from equipment screen at any point without ruining events.

There was a weird issue with new health/mp/vitality bars used in status screen. The empty bar picture wasn't entirely transparent, it used gray color with high alpha. It resulted in weird effect if the bar wasn't full, as if there were two bars at the same time, one normal and one half-transparent, with normal one showing actual value and half-transparent showing a bit higher value.

It might be a bug in renpy, since once I made empty bar fully transparent, this effect disappeared.
Title: Re: General Discussion
Post by: Xela on February 07, 2017, 07:18:57 AM
It might be a bug in renpy, since once I made empty bar fully transparent, this effect disappeared.

As long as it's working. I can look into it if you like. You need to tell me what you're doing with the top)stripe and how are the SE fields coming along.

Going to slowly start messing with tiers today if I am able to.
Title: Re: General Discussion
Post by: DarkTl on February 07, 2017, 08:35:37 AM
I just canceled bars changes, the bug is there again.

At the main screen there is a button, Test MD. Once you are inside MD, make hero health not full, I usually do hero.health -= 100 in console. There will be double health bar.  It looks like https://www.dropbox.com/s/j91i5fce8hmuwn5/1.png?dl=0 (https://www.dropbox.com/s/j91i5fce8hmuwn5/1.png?dl=0)
Title: Re: General Discussion
Post by: DarkTl on February 07, 2017, 01:36:35 PM
Renpy allows syntax like
Code: [Select]
label label_name(i="default_value")However, I don't understand how to pass the i value while jumping to such label from a screen section using action.
Title: Re: General Discussion
Post by: Xela on February 07, 2017, 03:29:42 PM
Renpy allows syntax like
Code: [Select]
label label_name(i="default_value")However, I don't understand how to pass the i value while jumping to such label from a screen section using action.

You can't. Local vars on label are valid only when calling or calling in new context.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2017, 08:27:08 AM
Any conclusion about bars issue?
Title: Re: General Discussion
Post by: Xela on February 08, 2017, 09:38:53 AM
Any conclusion about bars issue?

It's not a bug, Ren'Py simply isn't magical enough to deal with this. Bars are images cropped from right and left, besides having different amount of pixels on both sides of your images, you have a "frame" inside of the bar itself. You're also forcing the size of render and sides (xysize/im.Scale), which may be another issue (not sure about this one). There are too many things here that go wrong from the start to get this to work perfectly with just code, a very highly customized live crop would work but not the bar...

If you want a bar like that working perfectly, you need to separate the frame from the bar and make sure that there are no transparent boarders on bar images (I hate them on frame images as well, they are too time consuming to deal with and take 3 seconds to add with code may you actually need them).

Otherwise, you can do what you did before (make the inner area of the left bar fully transparent), you'd want to add gutters cause this bar does not interpolate correctly for reasons mentioned above. Might look something like:

Code: [Select]
                bar:
                    right_bar Frame"content/gfx/interface/bars/empty_bar2.png")
                    left_bar Frame"content/gfx/interface/bars/vitality2.png")
                    value l.vitality range l.get_max("vitality")
                    thumb None
                    left_gutter 10 right_gutter 10 # I am not sure about these values...
                    xysize (102, 14)

It will still be a little bit off though... due to difference in transparent pixels on the sides, if you get rid of those, it may work out fine.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2017, 10:40:19 AM
Yeah, that's what I did to make it work: removed all transparency.

However, as far as I understand, renpy cuts two bar images to make a bar, not resizes them. Therefore I don't understand why it cannot cut bars as they are, including all transparency. Since their size is the same., including all transparency.

From the viewpoint of logic, transparent boarders may cause bars to show incorrect value because renpy cuts transparency at first, and we don't see it until it starts to cut visible parts. But not cause double bar.
Title: Re: General Discussion
Post by: Xela on February 08, 2017, 11:05:52 AM
True, but as I've said, there seems to be different amount of transparent pixels on each side... I have not investigated this too deeply.
Title: Re: General Discussion
Post by: DarkTl on February 08, 2017, 01:55:14 PM
You're also forcing the size of render and sides (xysize/im.Scale), which may be another issue (not sure about this one).
Btw I'm using your code from BE bars.

I tried everything, the bug remains as long as empty bar picture uses transparent gray in the center. Once I make it fully transparent, it works as intended - even with different amount of transparent pixels on each side.
I conclude that by default renpy doesn't support partially transparent empty bars pictures. Not a big deal, but good to know in the future.
Title: Re: General Discussion
Post by: Xela on February 09, 2017, 03:46:03 AM
BE bars are "normal" for Ren'Py. I have no idea about the semi-transparent thing, feels like it should work... but maybe not.
Title: Re: General Discussion
Post by: DarkTl on February 10, 2017, 05:31:13 AM
I wonder how well a looped animation will work as a mob sprite.

I bet webm will cause ctd due to damage effects which recolor or replace sprites. But manually animated sprite sheet might have a chance.
Title: Re: General Discussion
Post by: Xela on February 10, 2017, 07:21:08 AM
I wonder how well a looped animation will work as a mob sprite.

I bet webm will cause ctd due to damage effects which recolor or replace sprites. But manually animated sprite sheet might have a chance.

BR will use our BE and have animated sprites, stuff like damage effects would have to be recoded indeed but there are alternatives to what we use now that should do the same t
Title: Re: General Discussion
Post by: DarkTl on February 11, 2017, 08:07:25 AM
Personally, I believe that the project is unwell, so to speak. Starting from November I feel like I'm forcing you to do stuff for the project, while you would prefer to do something else - maybe working on Babe Runner, maybe irl stuff, doesn't matter.

It wouldn't be so bad if for these 3.5 months you didn't make and then break a dozen promises to code stuff, something you never did before. Maybe picobyte noticed it too.

It's somewhat normal for a paid job, when you are not interested in something but still do it for money. But it will end badly for a free project.
Title: Re: General Discussion
Post by: Xela on February 11, 2017, 09:01:42 AM
Nov/Dec were rl issues. Now I can't seem get on the right track in BR or PyTFall :(

Going to finish porting BE to BR first and work Tiers concept afterwards.
Title: Re: General Discussion
Post by: DarkTl on February 12, 2017, 03:40:13 AM
Those countless promises seriously exhausted your credibility. I started to feel myself like a naive idiot after making pushes.
Title: Re: General Discussion
Post by: Xela on February 12, 2017, 06:12:11 AM
Well, I have no intentions to abandon the project what so ever. I am not sure what you mean by "countless promises" but this is not the first time you "overpace" me in development. For the last couple of month you have been contributing a lot more than anyone else but I did support those effort best I could. Every time you ran into an issue, found a bug or needed something to work just right, I don't believe that I've let you down once and my responses have been very promptly.

The shit I've been dealing with irl is temporary, it's not health or money related, which means that it'll blow over, even if it is taking too long to sort out. I don't think that there is anything I'd rather do that code for PyTFall and BR, but I get so frustrated and tired from dealing with rl shit that just pops up out of nowhere over and over again. I've even started drinking in the evenings because of that, instead of coding which I did in the past.

Look, for me, it's just a bad beat. It'll blow over and everything will get back on track, if you think that there is a risk that your efforts will fall into the void like with hundreds of unfinished games, take a break. I'd hate for you to abandon the project due to frustration with the main coder + unless I meet an untimely demise, there is no version of this that I can foresee where I am abandoning PyTFall.
Title: Re: General Discussion
Post by: lamoli on February 13, 2017, 02:24:53 AM
Just to say im still around..

I just dont have time to work on my part atm but intend on doing so when free..
(I dont even have the time to make Velvet from Tales of Barseria since its out on pc and already out as unrigged max model lol and i was waiting on this for a long time..)

And as usual im never able to test out git version ( i always get errors lol )
Title: Re: General Discussion
Post by: Xela on February 13, 2017, 03:26:15 AM
You need to post errors you get, git version is not setup for playing but it is stable for testing.
Title: Re: General Discussion
Post by: DarkTl on February 13, 2017, 07:38:51 AM
For example at some point ~two months ago you even planned to finish all main systems (!) for beta in January - like for 1-2 weeks (!) of hard, focused work. Naturally, I was highly skeptical about it, but at some point such claims in the absence of pushes cannot be taken seriously any longer.

It's fine to be busy with something. But lately I feel like I'm on Patreon, where many devs tend to make promises every week to keep the status quo while delaying actual content.

I personally very rarely make promises, especially time related. Because breaking them decreases disposition level, using the game terms.

Feel free to prove me wrong by coding tiers and converting existing jobs to simpy. Both tasks are up to you anyway.
Title: Re: General Discussion
Post by: Xela on February 13, 2017, 09:48:41 AM
Yeah... never ask devs about their deadlines is a good approach. I did believe that it could be done within those timeframes. Technically, it was possible but reality kicked us in the nuts.

planned to finish all main systems (!)

- All SimPy businesses simulations work.
- BE is in the best shape it's ever been.
- Arena needs minor UI adjustments due to Ren'Py version upgrade but it's logically good to go.
- All profile screens are operational.
- Items logic is even more advanced than planned due to pico's efforts.
- Schools are working, last I checked anyway.
- Events/Quests logic is operating as it should.
- I've fixed a number of bugs in SM, which now also seems to be operational.
- Interactions are gtg for beta.

Those are the main systems.

Now we need a way to manage relative char abilities, expectations and balance. From there we can balance businesses, upgrades, arena, random character generation and everything else. Tiers concept is the only way that I can think of to do that, but details of it's implementation are unclear.

BE port to BR will be finished soon, I'll start writing/pushing tiers code after that, good or bad. There must be a good and intuitive way to implement that, we'll figure it out along the way.
Title: Re: General Discussion
Post by: DarkTl on February 13, 2017, 10:15:53 AM
- Arena is questionable in both logic and gui. Gui aside, it still uses mostly alpha logic which is highly incompatible with most beta mechanics.
Besides, I'm almost completely sure that creating dozens rchars only to be used as fighters at arena is like to shoot sparrows with a cannon.

- Finance and Friends tabs at the hero screen are afk. Both are small, independent systems.

- SE and simpy-based jobs are not operational, making any characters activity problematic.
Title: Re: General Discussion
Post by: Xela on February 13, 2017, 11:32:53 AM
- Arena is questionable in both logic and gui. Gui aside, it still uses mostly alpha logic which is highly incompatible with most beta mechanics.
Besides, I'm almost completely sure that creating dozens rchars only to be used as fighters at arena is like to shoot sparrows with a cannon.

Over a hundred... actually. And I cannot update rchar creation without normalization routines (tiers again...).

- Finance and Friends tabs at the hero screen are afk. Both are small, independent systems.

Both worked perfectly fine last I checked them. If something was edited in the meanwhile, it was not done so by me. You do actually need data for them, like at least some fin stuff to build reports and at least one friend/lover.

- SE and simpy-based jobs are not operational, making any characters activity problematic.

They are fully and completely operational. To balance and make them meaningful, we need tiers (yet again), but from the stand point of logic, we're good. Clients are well managed, they wait for girls to free up, they are redirected to bar/club and wait for their turn if brothel within the same building does not have rooms/chars and etc. All reports are generated and sent to ND screen. Cleaning broke down for reasons unclear to me, but that is one of the easier setups. Workers can now now not only be given very specific duties but are "smart", in a way that when, for example, building gets too dirty to provide service and there are no cleaners or not enough of them to coop with that, other workers that don't consider themselves beneath doing a bit of cleaning, do just that. SE writes to ND reports, it writes to FG reports and a lot of logical functionality is basically operational.

Skeleton code is sound and doesn't ctd under normal operations. I've ran into the same wall as with everything else, it's close to impossible to judge workers relative productivity vs client demands/expectations vs character generation and progression during the game play.

But to say that they are not operational... is plainly wrong. You even get adaptive job options depending on what businesses are present in the buildings, same when you sort chars in chars list screen. They are not balanced or provide sound rewards, so they are not very interesting. Code setup is confusing due to usage of old Job classes and complexity of SimPy, but they are working in a way that they do provide random bonuses, redirect clients and workers, build reports and etc.
Title: Re: General Discussion
Post by: DarkTl on February 13, 2017, 12:25:34 PM
Both worked perfectly fine last I checked them. If something was edited in the meanwhile, it was not done so by me. You do actually need data for them, like at least some fin stuff to build reports and at least one friend/lover.
Indeed. I was under impression they are not working because they don't show a thing at turn 1, while in theory they should show zero.

Then one problem remains, gui used for finance screens, both MC and buildings, are undoubtedly the worst gui in the whole game atm.

They are fully and completely operational.
I don't see a single mention of simpy in classes-jobs. And it's the main file for jobs skills checks.


As I feared, it's plainly impossible to use webms as mobs sprites, the game does not expect such format. And I'm not really sure how to make mob.battle_sprite = manually animated image, such as
Code: [Select]
    image test_test:
        "content/gfx/animations/mob_test 0.13 1/25734.png"
        "content/gfx/animations/mob_test 0.13 1/25735.png"
        "content/gfx/animations/mob_test 0.13 1/25736.png"
        "content/gfx/animations/mob_test 0.13 1/25737.png"
        "content/gfx/animations/mob_test 0.13 1/25738.png"
        "content/gfx/animations/mob_test 0.13 1/25739.png"
        "content/gfx/animations/mob_test 0.13 1/25740.png"
        repeat
Title: Re: General Discussion
Post by: Xela on February 13, 2017, 12:56:16 PM
Then one problem remains, gui used for finance screens, both MC and buildings, are undoubtedly the worst gui in the whole game atm.

I am not sure how to improve upon that without a complex adaptive spreadsheet setup of some kind.

I don't see a single mention of simpy in classes-jobs. And it's the main file for jobs skills checks.

We talked about that in chat, skill checks should now be in business methods, they generate data that is sent to Jobs to generate reports and award bonuses. It's a horrific setup code-wise due to clumsiness and complexity, but it does work reasonably well. Trouble is that without tiers/jobs restructure, if we continue with "working reasonably well" setup, we'll bury ourselves in that complexity.


As I feared, it's plainly impossible to use webms as mobs sprites, the game does not expect such format. And I'm not really sure how to make mob.battle_sprite = manually animated image, such as
Code: [Select]
    image test_test:
        "content/gfx/animations/mob_test 0.13 1/25734.png"
        "content/gfx/animations/mob_test 0.13 1/25735.png"
        "content/gfx/animations/mob_test 0.13 1/25736.png"
        "content/gfx/animations/mob_test 0.13 1/25737.png"
        "content/gfx/animations/mob_test 0.13 1/25738.png"
        "content/gfx/animations/mob_test 0.13 1/25739.png"
        "content/gfx/animations/mob_test 0.13 1/25740.png"
        repeat

I know, it's mostly this code:

Code: [Select]
            sprite = char.show("battle_sprite", resize=char.get_sprite_size("battle_sprite"))
            char.besprite_size = sprite.true_size()

that prevents that. I've recoded that for a more universal setup in BR just few minutes ago, gonna adapt it to our setup when diving into BE code again.

We'll still need adaptation of color gradient overlays, BR setup is much simpler and doesn't do that or does that with sprites from photoshop instead of code... so it's a bit more complicated for our needs.
Title: Re: General Discussion
Post by: DarkTl on February 13, 2017, 01:28:52 PM
We also have masks damage effects, when mob sprite is used as a mask for static or animated picture.
Is it possible to use a webm as a mask for something else? Because a monophonic texture of desired color and low alpha which uses webm as a mask can replace plain recolors. Although I doubt it can be achieved easily.

In the worst case unsupported damage effects will be disabled, since only special mobs will have animated sprites.

Anyway, I need any kind of support for animated mobs sprites, be it webms or sprite sheets. Webms are better due to custom alignment, but if sprite sheets can natively support more damage effects, they are probably better.
Title: Re: General Discussion
Post by: Xela on February 13, 2017, 01:33:14 PM
We also have masks damage effects, when mob sprite is used as a mask for static or animated picture.
Is it possible to use a webm as a mask for something else? Because a monophonic texture of desired color and low alpha which uses webm as a mask can replace plain recolors. Although I doubt it can be achieved easily.

In the worst case unsupported damage effects will be disabled, since only special mobs will have animated sprites.

Yes, it should be possible to mask over animated sprite to look just as good as recoloring thing we do now.

Anyway, I need any kind of support for animated mobs sprites, be it webms or sprite sheets.

Both will prolly work equally well.
Title: Re: General Discussion
Post by: DarkTl on February 13, 2017, 01:34:45 PM
Also, since bestiary requires a static sprite to show a mob, they probably need both animated and static sprites.
Title: Re: General Discussion
Post by: Xela on February 13, 2017, 01:48:50 PM
static sprite to show a mob

We have no mechanics to store animation reference for any kind of a sprite. Mobs are fairly simple... I've already thought of a way to support animations globally if lamoli wraps up a pack before beta.

One of the main problems is that animated sprite will look really silly with most of our effects... like it's be animated at it's idle state while shaking and stuff like that :(
Title: Re: General Discussion
Post by: DarkTl on February 13, 2017, 02:05:22 PM
They won't be humanoids. Any humanoid would require advanced animation system to look naturally anyway.

But there is nothing wrong with a boiling plasma ball if it keeps boiling while being shaken.
Title: Re: General Discussion
Post by: Xela on February 13, 2017, 05:43:30 PM
They won't be humanoids. Any humanoid would require advanced animation system to look naturally anyway.

But there is nothing wrong with a boiling plasma ball if it keeps boiling while being shaken.

K... default animated state is surprisingly easy to setup, I'll port code from BR to PyTFall for that tomorrow.
Title: Re: General Discussion
Post by: Xela on February 13, 2017, 06:54:28 PM
We also have masks damage effects, when mob sprite is used as a mask for static or animated picture.
Is it possible to use a webm as a mask for something else? Because a monophonic texture of desired color and low alpha which uses webm as a mask can replace plain recolors. Although I doubt it can be achieved easily.

Code: [Select]
image movie = Movie(channel="main_gfx_attacks", loops=3, play="movie.webm", mask="mask.webm", to_image=Image("gallery2.jpg"))

init python:
    def ColorBlend(d, color="#000", alpha=.5):
        return AlphaBlend(Transform(d, alpha=alpha), d, damage_color, alpha=True)
       
init -1:
    transform damage_color:
        Solid("#732626", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#7A1F1F", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#821717", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#8A0F0F", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#821717", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#910808", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#990000", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#910808", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#8A0F0F", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#821717", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#7A1F1F", xysize=(config.screen_width, config.screen_height))
        0.05
        Solid("#732626", xysize=(config.screen_width, config.screen_height))
        0.05
        repeat

image darkend_sprite = ColorBlend("movie")

label start:
    while 1:
        show darkend_sprite
        pause
        hide darkend_sprite
        pause

Kind of a proof of concept... just randomly copypasted color hexes from here: http://www.december.com/html/spec/colorhslhex.html

I tried finding some form of interpolation formula but no luck so far... It'd be cool if we could overlay to any color like we do with still image sprites already.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2017, 04:03:43 AM
It's possible to get rid of recolors using mask based effects instead. I found some promising animations.

Surprisingly, even though poison damage animation is the easiest to imagine (some kind of poisonous looking bubbles moving around), it's also the hardest to find.
There are very cool animated poison textures, but they are not free.
Title: Re: General Discussion
Post by: Xela on February 14, 2017, 05:11:17 AM
We prolly can't use webms for this, they all have to run on separate channels to avoid timing collisions. Than can add badly.
Title: Re: General Discussion
Post by: Xela on February 14, 2017, 09:37:09 AM
FUCK!

Found serious issue in BE timing manager, we run the functions before waiting for pause... I am 30 - 60 mins away from wrapping up base port, gonna move some of the new code to PyTFall afterwards and see what happens...

Edit: Phew... maybe nothing got broken somehow? Everything seems to be timed even better now :D
Title: Re: General Discussion
Post by: DarkTl on February 14, 2017, 10:40:57 AM
We prolly can't use webms for this, they all have to run on separate channels to avoid timing collisions. Than can add badly.
Too late for that, there are at least two damage effects based on webm.
Title: Re: General Discussion
Post by: Xela on February 14, 2017, 11:20:37 AM
Too late for that, there are at least two damage effects based on webm.

They are likely to work but they should be on unique channels.


Just pushed BE update.

- Huge fix for timing management, we were running all queued funcs one turn too early. That caused a number of issues which I believed to be due to imperfections in Ren'Py animations mechanics. Now BE timings should run perfectly on queue. All Skills I've tested are the same or are acting better (without abrupt endings), why nothing broke down is a bit of a mystery.

- Mobs can now take animated sprites. It works like this: We do a search for a renpy image tag and see if there is something bound to it, tag pattern is:

Code: [Select]
mod.id + "_besprite_idle"
For example, to test, I renamed old miku auto-animation from Alpha to "mikudance_besprite_idle 0.2 1". Using auto-animations is not needed, one can simply:

Code: [Select]
image mikudance_besprite_idle = Movie(channel="miku", .....webm, ...)and etc.

If not found, normal sprite will be used. Obviously everything that is targeted at animated sprite that expects it to be a still image will throw "Got displayable instead of expected image Exception".

Miku is in the BE testing scenario.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2017, 01:41:41 PM
Ok, we need to replace all simple recolors, they are not gonna work with webms.
I added a new darkness effect, and looks like there is an issue with webm-based effects. Different skills want me to assign webm in different places, or give ctd.

Spells want it in core.rpy:
Code: [Select]
                elif type == "on_darkness":
                    be_dark_mask = Transform(Movie(channel="main_gfx_bow", play="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/movie.webm", mask="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/mask.webm"), zoom=1.2, alpha=0.7
                    size = (int(target.besprite_size[0]*1.5), int(target.besprite_size[1]*1.5))
                    what = Fixed(target.besprite, Transform(be_dark_mask, size=size, offset=(-30, -50)))
                    t = self.target_sprite_damage_effect.get("duration", 1)
                    at_list=[fade_from_to_with_easeout(start_val=1.0, end_val=0.2, t=t)]
And P2P skills want it in assets.rpy:
Code: [Select]
init -1:
...
    python:
        be_dark_mask = Transform(Movie(channel="main_gfx_bow", play="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/movie.webm", mask="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/mask.webm"), zoom=1.2, alpha=0.
You can see them both in the last push. Once I remove one of them, corresponding BE functions cannot find it any longer and give ctd.
Title: Re: General Discussion
Post by: Xela on February 14, 2017, 02:16:49 PM
You can see them both in the last push. Once I remove one of them, corresponding BE functions cannot find it any longer and give ctd.

What skills? I don't think that we even have darkness p2p skill.
Title: Re: General Discussion
Post by: DarkTl on February 14, 2017, 02:18:14 PM
Midnight Arrow.
Title: Re: General Discussion
Post by: Xela on February 14, 2017, 02:20:32 PM
Midnight Arrow.

I've commented out code from python block in the init and there are no ctd with Midnight Arrow. These effects are drawn from one place, there should be no need for redefining them.

Did you try out my proof of concept from earlier post? I'll throw it into pytfall to use with some fire animation so we can see what it looks like, hold on...

Edit: Pull and try Firaja. Keep in mind that those were randomly picked colors.
Title: Re: General Discussion
Post by: Xela on February 14, 2017, 02:59:15 PM
Ok, I pushed again. There was a minor error that crashed the game when exiting BE.

After you check out the conceptual fire thing, change this:
Code: [Select]
                elif type == "new_fire":
                    what = AlphaBlend(Transform(target.besprite, alpha=.8), target.besprite, damage_color(*target.besprite_size), alpha=True)
                    # what = AlphaBlend(Transform(target.besprite, alpha=.8), target.besprite, Transform("fire_mask", size=target.besprite_size), alpha=True)

to

Code: [Select]
                elif type == "new_fire":
                    # what = AlphaBlend(Transform(target.besprite, alpha=.8), target.besprite, damage_color(*target.besprite_size), alpha=True)
                    what = AlphaBlend(Transform(target.besprite, alpha=.8), target.besprite, Transform("fire_mask", size=target.besprite_size), alpha=True)

And check it out :D This one used out "fire_mask" to overlay all sprites!
Title: Re: General Discussion
Post by: Xela on February 14, 2017, 03:04:38 PM
Check our Darkra... Itachi amaterasu all the way :)
Title: Re: General Discussion
Post by: DarkTl on February 15, 2017, 02:55:37 AM
Can't pull right now, will check it later.

There are a few issues with the damage effect which places something on the target sprite without changing the sprite itself. I think it was one of the first damage effects you coded. The darkness damage effect from yesterday is also based on it.
Code: [Select]
                    size = (int(target.besprite_size[0]*1.5), int(target.besprite_size[1]*1.5))
                    what = Fixed(target.besprite, Transform("content/gfx/be/frozen_2.png", size=size, offset=(-30, -50)))
                    t = self.target_sprite_damage_effect.get("duration", 1)
                    at_list=[fade_from_to_with_easeout(start_val=1.0, end_val=0.2, t=t)]

1) It tries to show the damage effect only inside the mob sprite. Most mobs have square sprites, but most characters have rather thin sprites. It's mostly ok (but not perfect) for the static "frozen" effect which shows a simple png, but it twists terribly webms when used by mobs against MC team because it doesn't care about keeping proportions.

It should be based on sprite size, but not limited by it, because it breaks webms immediately.

2) Static offset doesn't seem reliable for all cases. I tried to replace it by proper align, but the animation just doesn't work with it. Anchors work, but I wonder if they will be any better for different cases than offsets.
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 04:14:58 AM
I need attack names and aiming instructions (who tries to waste who). It's difficult to figure out the problem otherwise.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2017, 05:21:12 AM
For darkness, it's one of simple darkness spells, like dark or darkra, vs default hero team in BE testing mode.

For ice, it's for example Big Ice Break weapon skill, also against MC party.
The issue with ice is especially weird: Blizzarja spell also uses "frozen" damage effect, and works properly. But Big Ice Break skill for some reason resizes the png sprite to fit into target sprite, even though their code is almost the same.
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 06:33:47 AM
I don't understand what your new darkness effect is supposed to do, it looks like an extra attack.

Ice thing you don't like cause it resizes the overlay sprite too aggressively?

Edit:
For ice, it's for example Big Ice Break weapon skill, also against MC party.
The issue with ice is especially weird: Blizzarja spell also uses "frozen" damage effect, and works properly. But Big Ice Break skill for some reason resizes the png sprite to fit into target sprite, even though their code is almost the same.

Best I can tell they both resized in exactly the same way and look pretty good.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2017, 07:36:53 AM
I don't understand what your new darkness effect is supposed to do, it looks like an extra attack.
Something like the effect which you added to show whose turn is it atm. Like an aura of energy swarming around the target feet. Current resizing works much worse for small webms, so it stopped me from figuring out and setting required offset to make it look like an aura.

Best I can tell they both resized in exactly the same way and look pretty good.
You right, I was confused by massive blizzarja animation around the target, so it felt like png is bigger too.

But the issue with resizing remains. I attached to this port two small screenshots to show the deference in size for sprites.
For thin sprites it already looks like an icicle, and there could be even thinner sprites.

It looks ok for png picture, but it breaks small webms. For them resizing should keep proportions.

As for the offset part, it's the only damage effect based on offset. If we'll even have nonstandard big sprites - like dragons - it might not work for them properly, unlike aligns.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2017, 11:43:38 AM
I've commented out code from python block in the init and there are no ctd with Midnight Arrow. These effects are drawn from one place, there should be no need for redefining them.
I think I confused two dark effects yesterday, we have three different ones  :D

But first of all, why do I have to define it manually to avoid ctds if it's already located in the autowebm folder, which should automatically define it? Is there no way to avoid it?

Did you try out my proof of concept from earlier post? I'll throw it into pytfall to use with some fire animation so we can see what it looks like, hold on...

Edit: Pull and try Firaja. Keep in mind that those were randomly picked colors.
Yes, looks great. We already have two mask-based fire effects, but it will be perfect for healing effect which used to recolor sprites.
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 12:05:16 PM
Manually define what? I've reread the entire conversation three times and still can't make heads or tails of it. Ice overlay is adapted to the size of the sprite to create covered in ice effect. When we'll have "Freeze" Curse of some kind to make, I want to use the same to stay for a turn or two. I think it's perfectly reasonable to resize it exactly the way it is now.

You need to explain to me what you want your new Dark effect to do exactly, and I'll try to arrange that. Been working on BE in BR for most of the day (fully animated, it feels very different), it's pytfalls time soon.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2017, 12:30:49 PM
Code: [Select]
be_dark_mask = Transform(Movie(channel="main_gfx_bow", play="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/movie.webm", mask="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/mask.webm"), zoom=1.2, alpha=0.As you can see by its path, it's located in the autowebm folder. So in theory I don't have to define it anywhere in the game as long as I call it by its name, be_dark_mask. That's how all spells/skills webms inside BE worked so far.

And yet if I don't define the webm here, I will get ctd.
Code: [Select]
                elif type.startswith("on_darkness"):
                    be_dark_mask = Transform(Movie(channel="main_gfx_bow", play="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/movie.webm", mask="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/mask.webm"), zoom=1.2, alpha=0.
                    size = (int(target.besprite_size[0]*1.5), int(target.besprite_size[1]*1.5))
                    what = Fixed(target.besprite, Transform(be_dark_mask, size=size, offset=(-30, -50)))
                    t = self.target_sprite_damage_effect.get("duration", 1)


As for the new darkness effect, it basically should look like the effect which shows whose turn is it - maybe with different Y offset though.
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 12:39:42 PM
Code: [Select]
be_dark_mask = Transform(Movie(channel="main_gfx_bow", play="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/movie.webm", mask="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/mask.webm"), zoom=1.2, alpha=0.As you can see by its path, it's located in the autowebm folder. So in theory I don't have to define it anywhere in the game as long as I call it by its name, be_dark_mask. That's how all spells/skills webms inside BE worked so far.

And yet if I don't define the webm here, I will get ctd.
Code: [Select]
                elif type.startswith("on_darkness"):
                    be_dark_mask = Transform(Movie(channel="main_gfx_bow", play="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/movie.webm", mask="content/gfx/autowebm/be_dark_mask inf main_gfx_bow/mask.webm"), zoom=1.2, alpha=0.
                    size = (int(target.besprite_size[0]*1.5), int(target.besprite_size[1]*1.5))
                    what = Fixed(target.besprite, Transform(be_dark_mask, size=size, offset=(-30, -50)))
                    t = self.target_sprite_damage_effect.get("duration", 1)


I don't buy that, you're prolly not using it right. If you predefine the image manually or automatically, this line:
Code: [Select]
what = Fixed(target.besprite, Transform(be_dark_mask, size=size, offset=(-30, -50)))
should be:

what = Fixed(target.besprite, Transform("be_dark_mask", size=size, offset=(-30, -50)))

and it should work. There is no other good way of doing it. You way is better because you're using a different channel here from what we normally do and that can be very important, but it would not cause CTD, just graphical artifacts.

As for the new darkness effect, it basically should look like the effect which shows whose turn is it - maybe with different Y offset though.

Ok, I'll take a look. What is it currently called and what do you use for testcase?
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 12:43:42 PM
If it's the effect presently bound to Dark spell, it seems to do exactly what you suggest, it's like a dark aura/cloud over the sprite. It kinda looks like an attack or part of that attack, not a sprite effect but it is scaled pretty well for both sides.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2017, 12:53:18 PM
Check our Darkra... Itachi amaterasu all the way
Indeed. But we lack a suitable darkness spell for such cool effect, unfortunately. It will have to wait until beta.

You way is better because you're using a different channel here from what we normally do and that can be very important
Nah, autowebm folder allows to freely change channel. The darkness effect uses main_gfx_bow channel, it is also used by p2p-type skills to show the bow, which is no longer visible by the time we need to show any damage effects.

If it's the effect presently bound to Dark spell, it seems to do exactly what you suggest, it's like a dark aura/cloud over the sprite. It kinda looks like an attack or part of that attack, not a sprite effect but it is scaled pretty well for both sides.
How should I say... It scales too much by Y axis. If you compare the screenshots, you can see the difference in Y axis part.
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 01:04:33 PM
How should I say... It scales too much by Y axis. If you compare the screenshots, you can see the difference in Y axis part.

LoL

I can't see anything wrong! Or anything off about the second image. First one (our it's your turn effect) been like that for ages, I was thinking about setting up minimum size for it cause it really small for some character but seemed like an overkill cause it doesn't look bad.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2017, 01:13:00 PM
Let me rephrase it: only its length aka X aixs should scale according to sprite width. The height aka Y axis should remain the same = original sprite height.
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 01:27:19 PM
Let me rephrase it: only its length aka X aixs should scale according to sprite width. The height aka Y axis should remain the same = original sprite height.

Ok, this I understand, hold on!
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 01:47:40 PM
Oki, looks better now.
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 01:49:50 PM
My Tiers idea is a bust... there is no good way to put that much data and logic in one place. It's neither practical nor a good coding practice. I am trying to come up with a good way to spread data between Tiers, Jobs and Chars.
Title: Re: General Discussion
Post by: DarkTl on February 15, 2017, 02:10:18 PM
Sadly, the new way of recoloring sprites cannot reproduce the effect of decreasing or increasing brightness which I used for darkness and light damage effects. It just doesn't look right, no matter the colors.
I found an opened dropbox folder full of animations (the new darkness effect is from there), maybe I'll find something for light there too.

We need tiers mostly to control wages and daily income. And also to pick a more or less rich background for character room. It can't be THAT difficult  :)
Title: Re: General Discussion
Post by: Xela on February 15, 2017, 02:51:01 PM
Sadly, the new way of recoloring sprites cannot reproduce the effect of decreasing or increasing brightness which I used for darkness and light damage effects. It just doesn't look right, no matter the colors.
I found an opened dropbox folder full of animations (the new darkness effect is from there), maybe I'll find something for light there too.

Well... it's not possible to do it the way it was done before without much better OpenGL support than Ren'Py has to offer. We could use the third party OpenGl shader but I am not familiar with it.

We need tiers mostly to control wages and daily income. And also to pick a more or less rich background for character room. It can't be THAT difficult  :)

We need them to judge relative capability during jobs. Expected wage and accommodations. Figure out how skills/stats/level combinations convert to performance. We plainly need a sharp way to figure out what's character is good for during jobs and world actions.

Wages and income is not difficult, rest is. It cannot all be in one class as I've said above.


I may have improved the healing overlay a bit. There are thousands of particle animations out there, take a look at simplest Water spell after you pull.
Title: Re: General Discussion
Post by: DarkTl on February 16, 2017, 03:25:44 AM
When specific level, relevant skills and stats are reached by character, tier goes up. Together with wage/accommodations. And wage/accommodations stay put until the next tier. That was your plan. It's simple enough, checking level, stats and skills every turn.
Although, there should be more checks than just level and stats - maybe something like fame. Otherwise it will be too easy.

Figure out how skills/stats/level combinations convert to performance. We plainly need a sharp way to figure out what's character is good for during jobs and world actions.
For example, any action has difficultly. Performance = tier level/difficulty level. If character has 100 cleaning and 2 tier, but the difficulty of cleaning task is 10, then her cleaning becomes 100 * (2/10) = 20. Same for stats.

You still can overcome the penalty by having huge skills and stats, but tiers make it much easier.
Title: Re: General Discussion
Post by: Xela on February 16, 2017, 07:35:49 AM
When specific level, relevant skills and stats are reached by character, tier goes up. Together with wage/accommodations. And wage/accommodations stay put until the next tier. That was your plan. It's simple enough, checking level, stats and skills every turn.
Although, there should be more checks than just level and stats - maybe something like fame. Otherwise it will be too easy.

I wanted to do it on per general occupation basis (Service/SIW/Warriors/Managers). Problem is that you cannot interpolate tier reliably even if you bind corresponding skills/stats to those occupation and get a mean. Warriors fighting in the arena or guarding will always be at disadvantage compared explorers. It's even worse for Service chars.

So it should prolly be done on per Job basis. There should be "Current Job" and "Best Job". Best Job should be a target for every char and reevaluated every 25 days or so using raw stats (no items/temp modification) and base class(es). Current job is important only for free chars as you'll be hiring them for specific duties and they have a right to disagree doing stuff they don't like/want. It doesn't mean that they will not help cleaning or doing other tasks within their general occupations, but you cannot set them to focus on those tasks. SimPy will handle this.

We'll bind skills/stats on per Job basis, I took a look and some of that is done already. Jobs will also get new methods to calculate effectiveness and relative strength (for Best Job). I will also add this to interactions once the system is ready.

Tiers themselves will be calculated based of level, base class(es), stats and skills (we'll also have to make those bindings, prolly directly in JSON). They will be responsible for something akin to social status, to quickly figure out what chars expectations are, and stuff like wages, upkeep and etc.

For example, any action has difficultly. Performance = tier level/difficulty level. If character has 100 cleaning and 2 tier, but the difficulty of cleaning task is 10, then her cleaning becomes 100 * (2/10) = 20. Same for stats.

You still can overcome the penalty by having huge skills and stats, but tiers make it much easier.

Yeap, I arrived to a very similar conclusion yesterday. I am thinking we're gonna keep Job classes to keep present job assignment system in tact. They will also hold stats/skills required for them. So basically what I wrote about above. Each job (or most jobs) will have methods to figure out expected performance and actual performance, prolly on a scale of 0 - 200. Expected will be base, actual will also count data from actual job events.


I am still getting all of this straight in my head and making notes. If you need something coded in, let me know tonight cause I am leaving tomorrow and will be back on Monday if all goes well. I'll have my laptop but no idea what kind of internet connection will be available.
Title: Re: General Discussion
Post by: DarkTl on February 16, 2017, 09:55:35 AM
Well, it sounds much more interesting than doing it per class anyway. It also will allow to use less classes, because a class can have any "preferred" job.

If you need something coded in, let me know tonight cause I am leaving tomorrow and will be back on Monday if all goes well. I'll have my laptop but no idea what kind of internet connection will be available.
Ok, here is a case for you: in the last push for testing I just changed sprites of mobs used in BE testing mode to webm. Now I get
Code: [Select]
  File "game/library/be/labels.rpy", line 76, in script
    python:
  File "game/library/be/labels.rpy", line 80, in <module>
    battle.start_battle()
  File "game/library/be/core.rpy", line 178, in start_battle
    self.show_char(i, at_list=[Transform(pos=self.get_icp(team, i))])
  File "game/library/be/core.rpy", line 262, in get_icp
    sprite = char.show("battle_sprite", resize=char.get_sprite_size("battle_sprite"))
  File "game/library/characters/classes - characters.rpy", line 3371, in show
    return prop_resize(what, resize[0], resize[1])
  File "game/library/UDDs.rpy", line 784, in prop_resize
    ratio = min(maxwidth/float(width), maxheight/float(height))
ZeroDivisionError: float division by zero
Title: Re: General Discussion
Post by: Xela on February 16, 2017, 11:59:03 AM
Ok, here is a case for you: in the last push for testing I just changed sprites of mobs used in BE testing mode to webm. Now I get

Sadly, there is no way around this except setting up default (fixed) size OR adding size of the webm to the JSON (which is preferable)... One of the webm limitations we encountered earlier in development.

Also, it's prolly a good idea to put all of these mobs on unique channels named after them somehow. I'll get your setup and see what's what.
Title: Re: General Discussion
Post by: Xela on February 16, 2017, 12:34:28 PM
Oki, require a bit of tinkering but it seems to be working now.
Title: Re: General Discussion
Post by: DarkTl on February 16, 2017, 01:47:26 PM
It was a bad design to use mob name as a base for webm name. Because mobs names may have spaces, while autowebm folder uses spaces as separators to define webms properly. These logics are incompatible.
Title: Re: General Discussion
Post by: Xela on February 16, 2017, 01:59:19 PM
It was a bad design to use mob name as a base for webm name. Because mobs names may have spaces, while autowebm folder uses spaces as separators to define webms properly. These logics are incompatible.

We can always just use a JSON field for it... that should be perfectly safe. In fact, prolly binding imagename: size to the dict that is already there is a decent bet.
Title: Re: General Discussion
Post by: Xela on February 16, 2017, 02:31:58 PM
JSON does seem to make everything better, code is more sound now as well.

New field is this:

Code: [Select]
        "be_webm_sprites": {"idle": ["BlStar_idle", [200, 150]]},
Where "BlStar_idle" is the name of Ren'Py internal imagetag and [200, 150] size of the webm movie frames. Our code is a lot cleaner with this as well. One thing: we expect "be_webm_sprites" to host "idle"! If the dict exists but is empty, you get a ctd.
Title: Re: General Discussion
Post by: Xela on February 16, 2017, 02:46:09 PM
Code: [Select]
                elif type.startswith("on_darkness"):
                    size = int(target.besprite_size[0]*1.5), 60
                    what = Fixed(target.besprite, Transform("be_dark_mask", size=size, align=(.5, .5)), xysize=(target.besprite_size))
                    if type.endswith("shake"):
                        at_list = [damage_shake(0.05, (-10, 10))]

Using offset here was a bad idea, no matter what values we assign, it will screw us over for sprites of different height and either they are on left or the right side of battle field. Aligning inside of the Fixed seems like a perfect solution that cannot fail unless BE sprite itself is screwed up.
Title: Re: General Discussion
Post by: lamoli on February 18, 2017, 12:06:26 PM
Hmm just found a rpg maker MV game that has nice combat animations.. ( well spine movements ) it uses pixi-spine you know about that system ? from a png image containing body part and a json they make character animation like kick/block/idle movements .. well maybe it wont work on renpy..


I could render parts with blender and put them in a single .png then .atlas and .json does all the rotation of any of those part to make animation..
Title: Re: General Discussion
Post by: DarkTl on February 19, 2017, 12:20:00 PM
It's most likely possible from the viewpoint of code.

From the viewpoint of design if we aim to have more or less animated battle sprites for everyone, then we need simple looped animations for all mobs. Ie we need an artist willing to draw sprite sheets which I can animate, since finding enough free, animated 2D mobs with decent resolution is impossible.
Title: Re: General Discussion
Post by: Xela on February 21, 2017, 02:20:35 AM
I am back :)

Hmm just found a rpg maker MV game that has nice combat animations.. ( well spine movements ) it uses pixi-spine you know about that system ? from a png image containing body part and a json they make character animation like kick/block/idle movements .. well maybe it wont work on renpy..


I could render parts with blender and put them in a single .png then .atlas and .json does all the rotation of any of those part to make animation..

There are many option and this will work in Ren'Py but should NOT be a priority... We need you to render a simple pack first. We can move to doll technology later and come up with some idea for battle sprites afterwards.

From the viewpoint of design if we aim to have more or less animated battle sprites for everyone, then we need simple looped animations for all mobs. Ie we need an artist willing to draw sprite sheets which I can animate, since finding enough free, animated 2D mobs with decent resolution is impossible.

Well, not really a priority either, I don't really know why you want to have animated sprites anyway, BE is plenty cool with still images and animated overlays.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2017, 05:01:53 AM
I don't really know why you want to have animated sprites anyway, BE is plenty cool with still images and animated overlays.
Many looped db animations cannot be used as spells. Now it's possible to use them as rare, non humanoid mobs. That's the whole reason  :)
I won't refuse if someone will propose to draw looped sheets for all mobs, but I don't aim for that either.

Finishing matrix dungeon, I realized that we lack something important: post battle screen. In most games player can see experience progression after the battle is finished, with experience bars raising in real time, and even notifications about level ups.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2017, 10:18:09 AM
Yeap, I can't do the real time bars part on my own.

I want to show how a group of chars gets exp after a fight (including arena) or some other event. I use portraits and xp bar from hero profile, the prototype is in the last push.

The idea is to give that screen the amount of xp which every character should get (as a list of numbers), and then the screen shows how bars gradually (for 4-5 seconds) become fuller. They also should reset once character levels up, multiple times if needed.

But I'm not sure how to animate the process in real time.
Title: Re: General Discussion
Post by: Xela on February 21, 2017, 11:49:17 AM
The idea is to give that screen the amount of xp which every character should get (as a list of numbers), and then the screen shows how bars gradually (for 4-5 seconds) become fuller. They also should reset once character levels up, multiple times if needed.

This part sounds very tricky... rest is simple, gonna do that now.
Title: Re: General Discussion
Post by: Xela on February 21, 2017, 12:43:45 PM
Yeap, I can't do the real time bars part on my own.

I want to show how a group of chars gets exp after a fight (including arena) or some other event. I use portraits and xp bar from hero profile, the prototype is in the last push.

The idea is to give that screen the amount of xp which every character should get (as a list of numbers), and then the screen shows how bars gradually (for 4-5 seconds) become fuller. They also should reset once character levels up, multiple times if needed.

But I'm not sure how to animate the process in real time.

How badly do we want this? Animated bar from value x to value y in Ren'Py is two lines of code, but we're not talking about from x to y. We're talking taking a very complex leveling system, figuring out (on per character basis) "step" based of difference between old and new xp values, increasing the value gradually over time based on that step, updating state of displayable on every step and on queue, when level updates, running a new animation. All of that need to be positioned according to each individual character.

This is a UDD... any setup in screen/using renpy.show will be too messy. It'll take a good while to setup... I'll think about how to structure UDD best unless you kill this in the meanwhile.
Title: Re: General Discussion
Post by: DarkTl on February 21, 2017, 12:59:46 PM
Yeah, that's why I can't do it on my own  :)

Neat animations can wait until full release, I'll make a simpler version for now.

Instead take a look at label storyi_bossroom. I use there star animation which looks flawlessly as long as I don't change its zoom. And when I do, it looks like it uses wrong anchor or something.
Title: Re: General Discussion
Post by: Xela on February 21, 2017, 01:04:51 PM
Oki, I'll update the screen to add a simple animation for now.
Title: Re: General Discussion
Post by: Xela on February 21, 2017, 01:21:09 PM
Instead take a look at label storyi_bossroom. I use there star animation which looks flawlessly as long as I don't change its zoom. And when I do, it looks like it uses wrong anchor or something.

Code: [Select]
    show sinister_star at Position(xpos = 704, xanchor=0.5, ypos=91, yanchor=0.5):
        anchor (0.5, 0.5)
        zoom 0.03
        alpha 0
        linear 1.5 alpha 1.0

using Position is always a mistake, it's there only for backwards compatibility and should never be used in modern code for a number of reasons. You should only look at docs for info, maybe Q&A/Cookbook, wiki is very, very, very old.


Edit:

Also... that is a weird code, there is no difference between at and the instructions below. Internally they will be applied together anyway. More appropriate code might be:

Code: [Select]
    show sinister_star:
        pos (704, 91)
        anchor (0.5, 0.5)
        zoom 0.03
        alpha 0
        linear 1.5 alpha 1.0

but I will check what that actually looks like in a sec :)

Looks good now...
Title: Re: General Discussion
Post by: DarkTl on February 21, 2017, 01:36:55 PM
using Position is always a mistake, it's there only for backwards compatibility and should never be used in modern code for a number of reasons.
Really? I figured it would be the same as "show at left".
Title: Re: General Discussion
Post by: Xela on February 21, 2017, 01:50:38 PM
Really? I figured it would be the same as "show at left".

No... you can do:

Code: [Select]
show sinister_star at Transform(pos=(704, 91), anchor=(.5, .5))
which is perfectly reasonable. It would still be weird to do this and give instructions below, you can simply just add everything to the below area. Position is old and sometimes incompatible with modern code.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2017, 02:21:27 AM
No, it solved nothing. The star still deviated left and right while being zoomed. I thought it's because of animation imperfection which is not visible under normal circumstances, but even the single first frame of the animation looked the same while being zoomed.

Subpixel True helped, I wonder though while it worked incorrectly only during zoom.
Title: Re: General Discussion
Post by: Xela on February 22, 2017, 02:31:17 AM
No, it solved nothing. The star still deviated left and right while being zoomed. I thought it's because of animation imperfection which is not visible under normal circumstances, but even the single first frame of the animation looked the same while being zoomed.

Subpixel True helped, I wonder though while it worked incorrectly only during zoom.

This is very odd... it worked for me perfectly (I checked). I am on one of the experimental inbetween versions of Ren'Py, maybe something was changed.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2017, 03:57:48 AM
Matrix dungeon will be ready after my next push. It will be a part of a quest where you find it using SE.

There is one more issue: spells distribution. Having a scroll for every single spell is quite messy. It wouldn't be so bad if scrolls icons would be unique, but it's too much trouble without artists.

Maybe most spells should be learned only via events (such as talking to some npc) or by passing the knowledge between player's characters at the cost of current exp.
Title: Re: General Discussion
Post by: grishnak on February 22, 2017, 07:09:02 AM
How large are your spell icons? Can you give an example? Maybe you can just use a small scroll as canvas and icons for the spells (as in Baldurs Gate)? Or maybe have one icon per school of spells?
Title: Re: General Discussion
Post by: DarkTl on February 22, 2017, 11:03:54 AM
I attached to this post an example of water spell scroll. We can use other scroll icons, but no matter the scroll it won't be easy to find an icon for every spell.

Atm we have 74 spells in total, and it's just for beta. Finding 74 unique, suitable icons (and even more in the future) is not an easy task.
Title: Re: General Discussion
Post by: grishnak on February 22, 2017, 11:59:04 AM
Can you attach a list with the spell names and maybe what they do (unless it is obvious like fireball or ice bolt :))? Maybe i can draw some example icons.

I am going to make my own spell system for a different game with schools and need icons for that anyway. Maybe we can exchange what schools you use and how you categorize the spells (right now i have fire, water, earth, air, life, death, (meta)magic). Some spells might fall in more than one school, too.
Title: Re: General Discussion
Post by: Xela on February 22, 2017, 12:25:37 PM
What we have now sounds reasonable, unique icons sound like a headache and I am already down with a horrible migraine :)
Title: Re: General Discussion
Post by: DarkTl on February 22, 2017, 12:53:03 PM
What we have now sounds reasonable
Atm we have 24 scrolls in the dev mode, about 1/3 of the total count. Because I animated other spells after I created scrolls json.
And you can't sort them by element or alphabetically to make it better.

Now imagine how it will look like when we will have 74 scroll types, and more in the future. It's ok for beta, but not for release.

Can you attach a list with the spell names and maybe what they do
I attached the file with spells code. Spells start after
Code: [Select]
##### Magic:line.

Code: [Select]
        P2P_Skill(u"Fireball", menu_pos=0.5, attributes=["magic", "fire"], effect=50, multiplier=1.3, mp_cost=30, range=4, piercing=True,
                desc="Launches an exploding fireball at one enemy.",
                projectile_effects={"gfx": "fire_6", "sfx": "content/sfx/sound/be/fire7.mp3", "duration": 1.0},
                main_effect={"gfx": Transform("fire_6_1", zoom=1), "sfx": None, "duration": 1.2, "aim": {"anchor": (0.5, 0.5), "xo": 0 ,"yo": 0}},
                attacker_effects={"gfx": "fire_2", "sfx": "default"},
                target_sprite_damage_effect={"gfx": "burning_with_shake", "initial_pause": 0.1, "duration": 0.7},
                target_death_effect={"gfx": "dissolve", "initial_pause": 0.1, "duration": 0.5},
                dodge_effect={"initial_pause": .1})
For example, Fireball is name, and "Launches an exploding fireball at one enemy" is description.
Title: Re: General Discussion
Post by: grishnak on February 22, 2017, 01:26:28 PM
I already like your scrolls, too. They should work well with divison or sorting by school. And it seems there is room enough in the png to include a small effect icon or a rune combination to uniquely identify them. If you have the spellscrolls treated as items anyway, can't you keep the current ones and expand the icons later (should be just a json or xml question by then)? I see no problem to use the same icon for the spell under skills as under items, too...but if they need to be different you could use the transparent scroll and icon and put it on top of a book for skills for example.

I included a quickdraw for a scroll where the icon is on the scroll. Though it looks you kept the top 50% of the png transparent for a reason, in which case my png would be useless.
Title: Re: General Discussion
Post by: DarkTl on February 22, 2017, 04:07:49 PM
Every other item has a unique icon, so with some experience you can quickly find and recognize it by appearance. Meanwhile with identical scrolls it will never work like that.
Graphical inventory suddenly becomes text based, when you have to read items names to find an item no matter how well you know the game.

In some games, such as HOMM, player has a book of spells. I wonder if it can serve as a more clean and neat way to handle spells - even without icons.

I guess I'll try to use frames from spells as icons...
Title: Re: General Discussion
Post by: DarkTl on February 23, 2017, 03:45:54 AM
I just noticed unusual lines in some spells.
Code: [Select]
main_effect={"atl": ice_storm, "predict": ["ice_twin_explosion", "ice_strike"], ...Should I use predict too somehow?
Title: Re: General Discussion
Post by: Xela on February 23, 2017, 04:17:04 AM
I just noticed unusual lines in some spells.
Code: [Select]
main_effect={"atl": ice_storm, "predict": ["ice_twin_explosion", "ice_strike"], ...Should I use predict too somehow?

You could. Internal prediction system can be used to preload images. Our use of that is somewhat limited atm and I am not quite sure what that does to webm files.
Title: Re: General Discussion
Post by: DarkTl on February 23, 2017, 08:10:36 AM
I almost finished with scrolls. They are not perfect, but at least better than identical ones.

That's it, I have nothing to do as long as you don't have any progress in adding new systems.
Title: Re: General Discussion
Post by: Xela on February 23, 2017, 10:46:53 AM
Gonna try to make some tonight. We'll have to work together on balancing stuff out when the core system is setup.
Title: Re: General Discussion
Post by: Xela on February 24, 2017, 12:09:25 PM
I've added base_stats and base_skills dicts to jobs and traits that should go like:

"base_skills": {"exploration": 90}

where the 90 is "weight" (how important the skill is to the job or base trait). I am going to try and come up with some formulas tonight and implement the whole thing tomorrow (you'll have to add the values to Jobs and JSON) and I'll try to evaluate them to simpy land and general gameplay.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2017, 07:50:32 AM
Ohhkey, I added the dicts to base classes. Not sure where exactly to add them in jobs rpy.
Title: Re: General Discussion
Post by: picobyte on February 25, 2017, 07:51:17 AM
Sorry I didn't get back here for a while. I was ill for a week and thereafter had to do a lot at my work - didn't feel like doing coding in my free time. I cannot promise to keep working on this project forever so maybe it is best to share the blender file and the way I create the objects for the dungeon in the 3d orientations.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2017, 09:23:37 AM
Sure, it will help.

Xela, what's the deal with the recent BR closed update containing tags "bad news" and "refund"? And right after the promise to release the beta 28 Feb, no less. Is it because of your writer or something?
Title: Re: General Discussion
Post by: Xela on February 25, 2017, 12:11:44 PM
Writer left a while back and there doesn't seem to be a way to beat all systems into shape before 28th. I don't think it will be a long delay, but there will be a delay.
Title: Re: General Discussion
Post by: picobyte on February 25, 2017, 12:21:59 PM
blender zip is shared here: here (https://file.io/KOFmeR), below a small tutorial how I created objects in all orientations.

Create your object, (usually) within the confines of a block (i.e. mossy or bluegray object)
In this case the object (ring) was resized/positioned to lie within the alcove of the mossy_inset object.

When happy with the result I do the rendering, which requires four copy/paste actions.

First In the blender python console: I copy/paste:
Code: [Select]
import os

#adapt these:
dungeon_dir = 'P:\\ath\\to\\PyTFall\\game\\content\\dungeon\\'

# what objects you want to render, there can be multiple. These objects will be moved about.
tgts=["ring"]

# a tag to append to the folder name
tag="ring"

# the light indication to use in the folder name, either '' (dark) or '_torch' (light)
light=''

# Also make sure that only for the objects below the `camera' is set (in outliner - to ensure these are rendered only)
# - the object you want to draw (here: ring)
# - Camera
# - The light you want to render (for the red stones: mossy_dark or mossy_light)

Next, to store the original locations of the to-be rendered objects:
Code: [Select]
sc = bpy.data.scenes["render"]
bpy.context.screen.scene = sc
origloc = {}
for obj in sc.objects:
    if any(obj.name[:len(t)] == t for t in tgts):
        origloc[obj.name] = [obj.location[0], obj.location[1]]

Then copy/paste code below to start the rendering. This takes a while and blender seems to stall. There should be files created in your output folder. In case you want to stop it, create a file named 'blender_break' in your dungeon_dir. Blender stops right after the next image.
Code: [Select]
distal = {"b": 2, "c": 4 }
for depth in range(0, 6):
    y = (depth-1)*2
    for side in ["left%dc", "left%db", "left%d", "front%d", "right%d", "right%db", "right%dc"]:
        x = 2 if side != "front%d" else 0
        dir = dungeon_dir
        if os.path.isfile(dir+"blender_break"):
            continue
        filename = os.path.join(dungeon_dir + tag + light, "dungeon_" + tag + light + "_" + side % depth)
        if os.path.isfile(filename+".png"):
            print(filename+" exists")
            continue
        if x:
            if side[-1] in distal:
                v = distal[side[-1]]
                if depth < v:
                    continue
                x += v
            if side[:4] == "left":
                x = -x
        for obj in sc.objects:
            if not obj.name in origloc:
                continue
            if x:
                if side[:4] in obj.name:
                    obj.hide_render = True
                    obj.hide = True
                    continue
            elif "left" in obj.name or "right" in obj.name:
                obj.hide_render = True
                obj.hide = True
                continue
            obj.hide_render = False
            obj.hide = False
            obj.location[0] = origloc[obj.name][0] + x
            obj.location[1] = origloc[obj.name][1] + y
            bpy.context.screen.scene = sc
            bpy.context.scene.objects.active = obj
            obj.select = True
        bpy.data.scenes["render"].render.filepath = filename
        bpy.ops.render.render(write_still=True)

And finally, to restore the image to the original state, copy/paste:
Code: [Select]
sc = bpy.data.scenes["render"]
bpy.context.screen.scene = sc
for obj in sc.objects:
    print(str(obj.name))
    if not obj.name in origloc:
        continue
    if "left" in obj.name or "right" in obj.name:
        obj.hide_render = True
        obj.hide = True
        continue
    obj.hide_render = False
    obj.hide = False
    obj.location[0] = origloc[obj.name][0]
    obj.location[1] = origloc[obj.name][1]
    bpy.context.screen.scene = sc
    bpy.context.scene.objects.active = obj
    obj.select = True


Title: Re: General Discussion
Post by: Xela on February 25, 2017, 12:44:48 PM
Thnx.

I keep trying to fix next day after moving some code around but game just keeps crashing... prolly went a bit too aggressive on refactoring jobs.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2017, 01:29:45 PM
blender zip is shared here: here (https://file.io/KOFmeR), below a small tutorial how I created objects in all orientations.
I get 404 error trying to download it  ::)
Title: Re: General Discussion
Post by: picobyte on February 25, 2017, 01:58:34 PM
I get 404 error trying to download it  ::)

It seems it gets deleted right after the download. I sent you a PM with a new link.
Title: Re: General Discussion
Post by: DarkTl on February 25, 2017, 02:00:36 PM
Got it, thanks.
Title: Re: General Discussion
Post by: lamoli on February 26, 2017, 05:26:13 AM
can i also get that blender file.. as i said before im not so good with background that looks good enough for my girls renders..
Title: Re: General Discussion
Post by: DarkTl on February 26, 2017, 05:51:51 AM
I pmed you the link from my dropbox.
Title: Re: General Discussion
Post by: lamoli on February 26, 2017, 07:42:26 AM
Thnx dark..


Ok nm i see what you want you can get out of those renders but its not as highly detailed as i expected.. there are some free resource out there for walls that looks great with bricks volume or crevasse/cracks into walls and with diffuse/norm/spec/AO maps provided


if i had python skills for blender i could generate all this but its not the case atm.. same for my girls renders.. im using some badly made scripts to get Daz models in but lots of problem.. and i added the correcting morphs manually and they work with drivers so i never wave something ugly when extreme posing something..
(but i could use a script that does all that.. load every morph target/bone axis + and - then assign the required drivers)
Title: Re: General Discussion
Post by: Xela on February 26, 2017, 08:41:30 AM
OK... I killed all changes made yesterday and today after somehow getting to the point where Ren'Py claimed there was an error on an empty line :D Gonna do the same thing but in small bits and getting everything to run correctly every time I move methods around.
Title: Re: General Discussion
Post by: DarkTl on February 26, 2017, 10:21:33 AM
if i had python skills for blender i could generate all this but its not the case atm.. same for my girls renders.. im using some badly made scripts to get Daz models in but lots of problem.. and i added the correcting morphs manually and they work with drivers so i never wave something ugly when extreme posing something..
(but i could use a script that does all that.. load every morph target/bone axis + and - then assign the required drivers)
I suppose Xela can handle it if you explain what you need clearly and in details.
Title: Re: General Discussion
Post by: Xela on February 26, 2017, 10:45:31 AM
I suppose Xela can handle it if you explain what you need clearly and in details.

I already offered without a reply. In either case, we'd have to come up with some form of a chat to coop on that level, like Discord or Skype.


What we did with wages in Alpha is almost comical, it's so needlessly complicated and confusing, with code being all over the place... guess it was coded really, really long time ago.
Title: Re: General Discussion
Post by: DarkTl on February 26, 2017, 12:12:59 PM
I do have access to skype as an owner of microsoft account which I created to log in win10, it works for all microsoft services.

Discord is cool because it can work from a browser, but I can't say that I understand its concept about servers.
And there are so many settings and options... I felt the same way when I launched photoshop or after effects for the first time, even the black gray interface is similar.

But for a start I'll need to check (tomorrow) if discord in browser can bypass our corporative firewall. Because skype can.
Title: Re: General Discussion
Post by: DarkTl on February 26, 2017, 04:05:53 PM
I tested AlphaBlend on spell animation, it looks pretty good, removing the need to remake webm when you just need to colorize it.

I only wish there would be more control over the spell resistance animation for DefenceBuffSpell, ie a line like
Code: [Select]
dodge_effect={"gfx": AlphaBlend("magic_shield_webm", "magic_shield_webm", gray_shield(340, 330), alpha=True)}would actually work, replacing the default one.
Title: Re: General Discussion
Post by: picobyte on February 26, 2017, 07:57:23 PM
Ok nm i see what you want you can get out of those renders but its not as highly detailed as i expected.. there are some free resource out there for walls that looks great with bricks volume or crevasse/cracks into walls and with diffuse/norm/spec/AO maps provided

Yes I found some as well, any help with rendering is welcome of course. I've added some triggers and code hooks required for game play. Pressure plates, keys, levers, sensors for particular magic, instructions on a wall parchment etc. there's a lot to do.
Title: Re: General Discussion
Post by: DarkTl on February 27, 2017, 07:11:31 AM
Xela, I need the option to control the "resist" animation which shows when magic shields from DefenceBuffSpell work. Just like every spell has its own buff icon, they could use a field for the resist animations.

Because without it I pretty much cannot change the main_effect animation for shields, any other webm won't suit the default resist animation.
Title: Re: General Discussion
Post by: Xela on February 27, 2017, 10:52:57 AM
Xela, I need the option to control the "resist" animation which shows when magic shields from DefenceBuffSpell work. Just like every spell has its own buff icon, they could use a field for the resist animations.

Because without it I pretty much cannot change the main_effect animation for shields, any other webm won't suit the default resist animation.

More details, I am not sure what you're talking about. We have a number of methods that execute in specific order for both targets and attackers, I need to know when you need resist to run and when.
Title: Re: General Discussion
Post by: DarkTl on February 27, 2017, 12:00:07 PM
I mean the resist animation from "content\gfx\be\auto-animations\resist 0.07 1" folder. It plays when a shield works against something.

There is no control over it, it plays for all shields.
Quote
               elif "magic_shield" in target.beeffects:
                    if self.target_sprite_damage_effect.get("gfx", None) not in ["fly_away"]: # This should ensure that we do not show the shield for major damage effects, it will not look proper.
                        tag = "dodge" + str(index)
                        renpy.show(tag, what=ImageReference("resist"), at_list=[Transform(size=(300, 300), pos=battle.get_cp(target, type="center"), anchor=(.5, .5))], zorder=target.besk["zorder"]+1)
Would be cool have different "resist" per shield spell, just like we have different icons for them.

So it could be set in spells properties like 
Quote
        DefenceBuffSpell("Solid Shield", menu_pos=-1, attributes=["status", "earth"], kind="buff", defence_multiplier={"melee": 3.0}, buff_group="melee shield", vitality_cost=0.7, mp_cost=0.2, buff_icon=ProportionalScale("content/gfx/be/buffs/big_melee_def.png", 30, 30), range=4, type="sa",
                desc="Sets up a powerful force field around the target, shielding from melee damage.",
                main_effect={"gfx": Transform("magic_shield_webm", zoom=1.1), "sfx": "content/sfx/sound/be/m_shield.ogg", "duration": 1.27, "aim": {"point": "center", "anchor": (.5, .5), "yo": 0}},
                target_sprite_damage_effect={"gfx": None},
                target_damage_effect={"gfx": None},
                target_death_effect={"gfx": None},
                resist_effect={"gfx": "resist"})

Without it we have no choice but to use the same main_effect animation for all shields, because other animations (like content\gfx\be\filmstrips\shield_1.png) look very weird when used with the very same yellow resist animation.
Title: Re: General Discussion
Post by: Xela on February 27, 2017, 03:50:39 PM
Some confusing cr@p right here... it's basically considered to be "dodge" effect...

Try adding other options to target_sprite_damage_effect dict as "shield_gfx": my_new_shield.

my_new_shield can be anything, string is prolly simpler bet, you can resolve displayable in the method you quoted, along the lines of:

Quote
        DefenceBuffSpell("Solid Shield", menu_pos=-1, attributes=["status", "earth"], kind="buff", defence_multiplier={"melee": 3.0}, buff_group="melee shield", vitality_cost=0.7, mp_cost=0.2, buff_icon=ProportionalScale("content/gfx/be/buffs/big_melee_def.png", 30, 30), range=4, type="sa",
                desc="Sets up a powerful force field around the target, shielding from melee damage.",
                main_effect={"gfx": Transform("magic_shield_webm", zoom=1.1), "sfx": "content/sfx/sound/be/m_shield.ogg", "duration": 1.27, "aim": {"point": "center", "anchor": (.5, .5), "yo": 0}},
                target_sprite_damage_effect={"gfx": None, "shield_gfx": "magic_wall"},
                target_damage_effect={"gfx": None},
                target_death_effect={"gfx": None},
                resist_effect={"gfx": "resist"})

and:

Code: [Select]
                elif "magic_shield" in target.beeffects:
                    gfx = self.target_sprite_damage_effect.get("shield_gfx", ImageReference("resist")) # We use "resist" as default...
                    if gfx not in ["fly_away"]:
                        if gfx == ImageReference("resist"): # This should ensure that we do not show the shield for major damage effects, it will not look proper.
                            tag = "dodge" + str(index)
                            renpy.show(tag, what=gfx, at_list=[Transform(size=(300, 300), pos=battle.get_cp(target, type="center"), anchor=(.5, .5))], zorder=target.besk["zorder"]+1)

Quote
elif gfx == "magic_wall":
    tag = "dodge" + str(index)
    renpy.show(tag, what=..., at_list=[...], ...)

You need to pull first cause we didn't have an option to choose shield before.
Title: Re: General Discussion
Post by: DarkTl on February 28, 2017, 09:40:30 AM
Yeah, I tried to change the code like that on my own, it didn't work. It still doesn't work, the animation is always default (pull my last push with an example).
Title: Re: General Discussion
Post by: Xela on February 28, 2017, 12:44:15 PM
Yeah, I tried to change the code like that on my own, it didn't work. It still doesn't work, the animation is always default (pull my last push with an example).

I'll check it out, feels like it should have done the trick...
Title: Re: General Discussion
Post by: Xela on February 28, 2017, 01:28:23 PM
Hmm... we're not getting the info from the correct class. I'll adjust the code and test it with your setup but this might be a tiny bit trickier.

Edit: Issue is that we don't really know which buff is activated, what we did before is binding the defense animation to the battle skill, which is not very sensible. I am trying to come up with a good way to do this.
Title: Re: General Discussion
Post by: DarkTl on February 28, 2017, 03:13:36 PM
We kinda know something, because for example melee shield animation won't be active against a spell. So there is a check of some kind.
Title: Re: General Discussion
Post by: Xela on February 28, 2017, 04:09:22 PM
We kinda know something, because for example melee shield animation won't be active against a spell. So there is a check of some kind.

Took some effort but it is working. Problem is that we're pushing logic really, really far before refactoring to accommodate more advanced setups. The whole defence buff thing is a bit of a hack as it is, it's a good and reliable hack but it is not integrated into BE properly and for that reason, it cannot be extended as effortlessly as battle skills, timing logic, overlays and etc.

Code: [Select]
defence_gfx="gray_shield",
this is the new field, what we used before was entirely inaccurate cause that was not even used to get the animation, we simply checked if there was fly away in the damage effect to make sure we don't activate shield on complex animation, like my whirlwind thing.

Also, we basically use the first activated buff we can find! There is prolly no way around this cause it may not be reasonable to run two (or more) buff animations if they got all triggered on that battle turn.
Title: Re: General Discussion
Post by: DarkTl on March 01, 2017, 03:55:28 AM
Yeah, looks like it works properly now.

This is because initially resistance was like evasion vs magic, a part of universal mechanics which are the same for everyone. But you wanted shields instead, and used my dodge-based logic to make them work  :)
But now they are no longer a part of universal mechanics, they are spells. And our spells are very customizable by design.

We probably will need a more general class in the future to handle all buffs and debuffs.
Title: Re: General Discussion
Post by: Xela on March 02, 2017, 03:28:47 AM
I don't what it was, but "dodging" magic seemed like a bad idea for a number of reasons. I'll refactor BE after beta, maybe even flip it into UDD! I've been wanting to try that for a very long time...
Title: Re: General Discussion
Post by: DarkTl on March 02, 2017, 04:31:52 AM
There is a rare bug in BE interface.

Start testing battle, select any weapon attack which affects more than one target (like Rapid Strikes), move the cursor over the blue arrows above enemies but don't click left mouse button to execute it.
Instead after moving it over arrows move cursor to the cancel button, and it's frame will change size.

It's probably confusing, so there are screenshots attached. At first cursor is over blue arrows above enemies. Then cursor is over the cancel button, and its size becomes different.
Title: Re: General Discussion
Post by: Xela on March 02, 2017, 04:36:56 AM
IC, it's an easy fix. Somehow Cancel button found itself in a size_group with some other buttons. Styles in the game are still a bit of a mess :(

I'll be fixing this and advancing jobs/tiers refactoring tonight.
Title: Re: General Discussion
Post by: DarkTl on March 02, 2017, 04:56:25 AM
Mirage class used for special effects inside BE enforces background resizing.
Code: [Select]
    class Mirage(renpy.Displayable):
        def __init__(self, displayable, resize=(1280, 720), ycrop=8, amplitude=0, wavelength=0, **kwargs):
It's fine only as long as battle background is 1280x720 already. If it's not, then before animation appears you see abrupt change in size, and then it jumps back to initial size after the animation. It looks terrible.

I'm not sure why you have to resize something before miraging it, but we need a decision here: either you make it universal or I resize all battle backgrounds.
Title: Re: General Discussion
Post by: Xela on March 02, 2017, 05:01:38 AM
Mirage class used for special effects inside BE enforces background resizing.
Code: [Select]
    class Mirage(renpy.Displayable):
        def __init__(self, displayable, resize=(1280, 720), ycrop=8, amplitude=0, wavelength=0, **kwargs):
It's fine only as long as battle background is 1280x720 already. If it's not, then before animation appears you see abrupt change in size, and then it jumps back to initial size after the animation. It looks terrible.

I'm not sure why you have to resize something before miraging it, but we need a decision here: either you make it universal or I resize all battle backgrounds.

Either one... I don't see any reason why not to resize backgrounds but resizing inside of the class should be quite easy as well.
Title: Re: General Discussion
Post by: DarkTl on March 02, 2017, 05:31:39 AM
Yup, I'll resize them in the next push.
Title: Re: General Discussion
Post by: Xela on March 02, 2017, 12:47:35 PM
Oki, I fixed mirage and cancel button issues. Gonna hack tiers/jobs a bit. Tomorrow I'll start with PyTFall on fresh head in the morning and hopefully get some real work done on those concepts.
Title: Re: General Discussion
Post by: Xela on March 02, 2017, 01:35:00 PM
I am trying to figure out Discord (I've been using it for a long time but never ran a server), this may be an invitation to the server: https://discord.gg/4tT4qmW

Title: Re: General Discussion
Post by: DarkTl on March 03, 2017, 02:34:01 AM
I think it works, although it's probably a free invitation for anyone. I wonder if discord keeps chat history like the forum chat does.
Title: Re: General Discussion
Post by: Xela on March 03, 2017, 02:46:56 AM
I think it works, although it's probably a free invitation for anyone. I wonder if discord keeps chat history like the forum chat does.

It does! All the way, I've seen that on all channels I am a member of. Forum chat looses history eventually, Discord seems to keep it around forever.


I am trying to come up with a good way to calculate tiers. I found our old Rank class:

Code: [Select]
    class Rank(_object): # Will not be used for the next release...
        """
        Ranks, currently not in use in the game.
        """
        WhRANKS = OrderedDict()
        WhRANKS["0"]=dict(name=('No Rank: Kirimise', '(Almost beggar)'), price=0)
        WhRANKS["1"]=dict(name=("Rank 1: Heya-Mochi", "(Low-class prostitute)"), skills={"oral": 10, "vaginal": 10, "anal": 5}, total_skill=100, price=1000, exp=10000) # note: refinement is not a stat anymore!
        WhRANKS["2"]=dict(name=("Rank 2: Zashiki-Mochi", "(Middle-class Prostitute"), skills={"oral": 25, "vaginal": 15, "anal": 15}, total_skill=300, price=3000, exp=25000)
        WhRANKS["3"]=dict(name=("Rank 3: Tsuke-Mawashi", "(Courtesan)"), skills={"oral": 55, "vaginal": 40, "anal": 25}, total_skill=600, price=5000, exp=50000)
        WhRANKS["4"]=dict(name=("Rank 4: Chûsan", "(Famous)"), skills={"oral": 100, "vaginal": 80, "anal": 50}, total_skill=1000, stats={"refinement": 100}, price=7500, exp=100000)
        WhRANKS["5"]=dict(name=("Rank 5: Yobidashi", "(High-Class Courtesan)"), skills={"oral": 250, "vaginal": 150, "anal": 130}, total_skill=1250, stats={"refinement": 150}, price=10000, exp=250000)
        WhRANKS["6"]=dict(name=("Rank 6: Koshi", "(Nation famous)"), skills={"oral": 500, "vaginal": 500, "anal": 500}, total_skill=2500, stats={"refinement": 500}, price=25000, exp=400000)
        WhRANKS["7"]=dict(name=("Rank 7: Tayu", "(Legendary)"), skills={"oral": 1500, "vaginal": 1500, "anal": 1500}, total_skill=5000, stats={"refinement": 800}, price=50000, exp=800000)...

This is not a very good design for two reasons, one being that they are too job specific and it's simply too much work to do this on per job basis and second that it's not interpolating target values automatically. Using experience in favor of levels is also really, really weird.

We need to make a decision if there is going to be a fixed number of ranks or we just calculate them based of some general formula and they can increase indefinitely, like level and stats (still have fixed max values). If we decide to have a fixed number, we can one day name them :) Bit of an issue may be character that are somehow working a wrong job... but there are always favjob and currentjob to figure stuff like that out...
Title: Re: General Discussion
Post by: Xela on March 03, 2017, 05:09:43 AM
We prolly still should come up with a number of tiers... even if just pull some number out of our asses. It may turn out to be just as confusing as before otherwise. I am thinking 10 might be a nice round number :D
Title: Re: General Discussion
Post by: DarkTl on March 03, 2017, 05:48:28 AM
Naturally, I cannot use skype or discord at work as freely as forum, since they require more undivided attention than logging in, writing a post and logging out.

Every next rank might be harder to get than previous one, so 10 is fine. The question is, what to do after 10th rank has been achieved.
Also some simple jobs might have less ranks in total - like cleaner. Assuming that it won't be too confusing.
Title: Re: General Discussion
Post by: Xela on March 03, 2017, 05:54:10 AM
Naturally, I cannot use skype or discord at work as freely as forum, since they require more undivided attention than logging in, writing a post and logging out.

Every next rank might be harder to get than previous one, so 10 is fine. The question is, what to do after 10th rank has been achieved.
Also some simple jobs might have less ranks in total - like cleaner. Assuming that it won't be too confusing.

Question is if it can be achieved at all. I am calcing it at level 200 with skills/stats maxed out atm. It would take way too long to get there... They are going to install some furniture, so I am "going dark" for a while :)
Title: Re: General Discussion
Post by: DarkTl on March 03, 2017, 10:03:30 AM
Ok, I'll try out the discord.
Title: Re: General Discussion
Post by: DarkTl on March 04, 2017, 06:38:39 AM
I'm not satisfied with shields icons, they are pretty, but uninformative - even for me, even though I added them myself. I'll make more understandable ones.
And some elemental damage effects could use more work after we had to get rid of sprites recolors.

But in terms of bringing the release closer these things are as effective as making packs or adding items  :D
Title: Re: General Discussion
Post by: Xela on March 04, 2017, 06:54:30 AM
I'm not satisfied with shields icons, they are pretty, but uninformative - even for me, even though I added them myself. I'll make more understandable ones.
And some elemental damage effects could use more work after we had to get rid of sprites recolors.

I was thinking of maybe making them bigger so they move out of the frame somehow?

But in terms of bringing the release closer these things are as effective as making packs or adding items  :D

True :)
Title: Re: General Discussion
Post by: DarkTl on March 04, 2017, 11:56:41 AM
I can't find the code where you make buffs icons change alpha all the time. It should be reduced, they do it too much.
Title: Re: General Discussion
Post by: Xela on March 04, 2017, 12:05:11 PM
I can't find the code where you make buffs icons change alpha all the time. It should be reduced, they do it too much.

Search for:

Code: [Select]
add Text(status_icon) at status_overlay(sv1=.3, ev1=1.0, t1=.9, sv2=1.0, ev2=.3, t2=.9) yalign .5
Increase t1 and t2 values to make alpha change slower. Don't ask me why it's Text()... cause I don't remember :D
Title: Re: General Discussion
Post by: DarkTl on March 04, 2017, 01:08:14 PM
Eventually we could take into account perspective inside BE - the closer characters battle sprites to the camera, the bigger they are, within very moderate limits. Especially if you'll go for UDD rewriting.
Title: Re: General Discussion
Post by: Xela on March 05, 2017, 01:27:20 AM
Eventually we could take into account perspective inside BE - the closer characters battle sprites to the camera, the bigger they are, within very moderate limits. Especially if you'll go for UDD rewriting.

UDD rewriting is mostly needed to allow more perfectly timed gfx/sfx. We are presently running pause based design which is somewhat inferior. Making sprites bigger is quite simple, but some skills may have to be adjusted.
Title: Re: General Discussion
Post by: DarkTl on March 05, 2017, 05:04:41 AM
It's just not such a big deal to spend time on it. But when major BE rewriting will take place, we might as well add this too.

This (https://www.colourbox.com/preview/10191006-progress-bar-with-gift-boxes.jpg) bar looks nice, I'll try to add it to gifts system...
Title: Re: General Discussion
Post by: picobyte on March 05, 2017, 05:18:49 PM
The dungeon is minimal but has the elements in place to function. Spawn moves and is killed on the first hit, all items on the first level can be picked up but no real inventory hooks yet. They are probably next on the list. What do you think so far?
If you try and get stuck.. there's a button to open the doors.
Title: Re: General Discussion
Post by: Xela on March 06, 2017, 03:44:30 AM
The dungeon is minimal but has the elements in place to function. Spawn moves and is killed on the first hit, all items on the first level can be picked up but no real inventory hooks yet. They are probably next on the list. What do you think so far?
If you try and get stuck.. there's a button to open the doors.

I'll properly test it next week, maybe go over the code a bit to figure out how difficult it might be to expand in the future. There is an error:
Quote
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/library/screens/dungeon.rpy", line 404, in script
    call screen dungeon_move(hotspots)
  File "renpy/common/000statements.rpy", line 471, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "game/library/screens/dungeon.rpy", line 162, in execute
    screen dungeon_move(hotspots):
  File "game/library/screens/dungeon.rpy", line 162, in execute
    screen dungeon_move(hotspots):
  File "game/library/screens/dungeon.rpy", line 164, in execute
    for sw in reversed(show):
  File "game/library/screens/dungeon.rpy", line 165, in execute
    if isinstance(sw, list):
  File "game/library/screens/dungeon.rpy", line 166, in execute
    if sw[2]:
  File "game/library/screens/dungeon.rpy", line 194, in execute
    add mco at [sprite_default(xx, yy, xz, yz, rot)]
  File "game/library/screens/dungeon.rpy", line 194, in keywords
    add mco at [sprite_default(xx, yy, xz, yz, rot)]
NameError: name 'yy' is not defined

That keeps popping up near some door I think. Tis been looking good for a while already. I am not sure about using items instead of the chests, looks really good but could be a lot more work.
Title: Re: General Discussion
Post by: DarkTl on March 06, 2017, 08:25:18 AM
Yeah, I got this error pretty often too, so it's hard to test the dungeon properly  :)

I feel like sometimes it loads the next step a but slower if there are many objects like barrels. It probably could use some of renpy's image predictions.


Btw you could use show_mc_team_status screen to show team status and provide access to characters inventory, like I did in MD.
Title: Re: General Discussion
Post by: picobyte on March 06, 2017, 01:54:19 PM
I missed one essential line, which was surrounded by commented code I don't want to push. It happens when you run into a mob. Sorry about that. Latest commit should fix it.

Also thanks for the suggestions. appreciated.
Title: Re: General Discussion
Post by: Xela on March 06, 2017, 02:41:00 PM
Well, first impression is that it's absolutely awesome! I especially loved finding elixir in the wall :D

Level design is really confusing and I didn't get very far cause I want to cook tiers a little bit more tonight but overall, this is a job very well done!

Title: Re: General Discussion
Post by: picobyte on March 06, 2017, 04:11:11 PM
Thanks, great to hear!  :) Also good to see all the changes that are added, and some of the screen captures look really nice.
Title: Re: General Discussion
Post by: DarkTl on March 06, 2017, 04:21:42 PM
A few doors cannot be opened. If they require a key or something, it's better to inform that they are locked to let the player know it's not a bug... if it's not a bug  :)
Title: Re: General Discussion
Post by: picobyte on March 06, 2017, 08:35:10 PM
I've added a locked sound for that now. They were closed on purpose, there are buttons to open the doors.
Title: Re: General Discussion
Post by: DarkTl on March 07, 2017, 07:19:20 AM
We never expected mobs sprites to be used outside of BE and bestiary. As a result, in many cases sprites resolution is low, since sprites size is rather small in BE. I'm not sure what to do about it, aside from using random encounters instead of patrolling mobs.
Title: Re: General Discussion
Post by: Xela on March 07, 2017, 08:00:43 AM
I suggested something like:

Link (http://vignette3.wikia.nocookie.net/softhousechara/images/c/c4/Dungeon_view.jpg/revision/latest?cb=20150110120912)

it looks cool and we can't really use mobs cause some mob parties may be mixed. There could also be friendly encounters. Iirc red is used for strong mobs, yellow for normal and green for friendlies.
Title: Re: General Discussion
Post by: DarkTl on March 07, 2017, 09:41:56 AM
I updated items a bit, specifically replaced low quality icons and removed items that became useless since alpha due to design changes.

Do we keep slaves running away events for beta? Because we have a few items left from the ST attempt which give Restrained trait, it should prevent escaping in theory.
Title: Re: General Discussion
Post by: Xela on March 07, 2017, 09:48:40 AM
Do we keep slaves running away events for beta? Because we have a few items left from the ST attempt which give Restrained trait, it should prevent escaping in theory.

I was looking into that but code is a bit confusing. It feels like we should but I am going to do tiers/jobs first. Tomorrow is pytfalls time, got a headache from working on BR today.

Tool to help with directing:

(https://s8.postimg.org/j2vq6oupd/2017_03_06_18_03_32.jpg) (https://postimg.org/image/j2vq6oupd/)

there are too many expressions to remember. Any portraits can be clicked to send corresponding script to clipboard so it can be copy-pasted to editor.
Title: Re: General Discussion
Post by: DarkTl on March 07, 2017, 10:44:05 AM
Classes-training.rpy is insanely big and complex, considering that it just handles ST and a very small part of schools.

Code: [Select]
        def __init__(self, mod=None, min=None, max=None, props=None, flags=None, traits=None, noTraits=None, effect=None, noEffect=None, funcs=None):
            """
            Creates a new PytStatCheckCheck instance.
            mod = A condition dict to match stats or skills.
            min = A condition dict to match minimum stats.
            max = A condition dict to match maximum stats.
            props = A condition dict to match character properties.
            flags = A condition dict to match flags.
            traits = A list of traits needed.
            noTraits = A list of traits that aren't wanted.
            effect = A list of effects needed.
            noEffect = A list of effects that aren't watned.
            funcs = A list of functions to call.

            mod, min, max, props and flags shoud be formatted as:
            {
            "lt": An object of {"stat": number} keys to match a < condition.
            "le": An object of {"stat": number} keys to match a <= condition.
            "eq": An object of {"stat": number} keys to match a == condition.
            "ne": An object of {"stat": number} keys to match a != condition.
            "ge": An object of {"stat": number} keys to match a >= condition.
            "gt": An object of {"stat": number} keys to match a > condition.
And I'm not a fan of checking conditions using special keys, it works much better in quests system where you can just pass usual condition string...
Title: Re: General Discussion
Post by: DarkTl on March 08, 2017, 06:15:44 AM
We need an item field which makes items equipable only on slaves, just like gender field does it for genders. Even without ST we have some items that free chars should never agree to use.
Title: Re: General Discussion
Post by: Xela on March 08, 2017, 08:24:21 AM
We need an item field which makes items equipable only on slaves, just like gender field does it for genders. Even without ST we have some items that free chars should never agree to use.

Don't we have badness for that?


I am suffering from splitting headache since morning. Gonna try coding something if it goes away, but do you think it's a good bet to mess with logic like item transfer/equipment before beta? That seems to be pretty stable right now.
Title: Re: General Discussion
Post by: DarkTl on March 08, 2017, 09:44:19 AM
Lover status and very high disposition overwrite badness. They overwrite almost anything except bad traits. You can effortlessly chain free chars with high disposition.
On the other hand Picobyte wrote interesting algorithm for autoequipment, perhaps it could be used for manual equipment too, I'll look into it.


It's not normal to have regular headaches btw, it usually means lack of blood supply to the brain, and should be treated, not endured. I know what I'm talking about, proper treatment helps (real treatment, not alcohol  :) )

That being said, I do hope it means the "pytfalls time" will be the next time you gonna code, not only after another BR session which can give you another headache, killing any progress whatsoever.
Title: Re: General Discussion
Post by: DarkTl on March 08, 2017, 12:30:25 PM
Yeap, now eqchance 0 makes items unusable/unequipable manually, unless slave status or good traits are involved.

I especially like these part in new items algorithms added by Pico:
Code: [Select]
            for trait in self.traits:

                if trait in trait_selections["badtraits"] and item in trait_selections["badtraits"][trait]:
                    return None

                if trait in trait_selections["goodtraits"] and item in trait_selections["goodtraits"][trait]:
                    chance.append(100)

                if trait == "Kamidere": # Vanity: wants pricy uncommon items
                    chance.append((100 - item.chance + min(item.price/10, 100))/2)

                elif trait == "Tsundere": # stubborn: what s|he won't buy, s|he won't wear.
                    chance.append(100 - item.badness)

                elif trait == "Bokukko": # what the farmer don't know, s|he won't eat.
                    chance.append(item.chance)
Code: [Select]
            for t in self.traits:

                # bad eyesightedness may cause inclusion of items with more penalty
                if t == "Bad Eyesight":
                    min_value = -10

                # a clumsy person may also select items not in target skill
                elif t == "Clumsy":
                    target_skills = set(self.stats.skills.keys())

                # a stupid person may also select items not in target stat
                elif t == "Stupid":
                    target_stats = set(self.stats)

                elif t == "Smart":
                    upto_skill_limit = True
I never thought about using traits as modifiers for equipment chances.
Title: Re: General Discussion
Post by: Xela on March 09, 2017, 02:49:39 AM
I think we'd be mimicking functionality... if you are going to add the some form of new blocking field for slaves, maybe something like:

Code: [Select]
"blocks_equipping": ["slave"]
So we could add traits or other flags there as well?
Title: Re: General Discussion
Post by: Xela on March 09, 2017, 03:34:09 AM
It's not normal to have regular headaches btw, it usually means lack of blood supply to the brain, and should be treated, not endured. I know what I'm talking about, proper treatment helps (real treatment, not alcohol  :) )

That being said, I do hope it means the "pytfalls time" will be the next time you gonna code, not only after another BR session which can give you another headache, killing any progress whatsoever.

It's not that simple... my "house-doctor" that gives out "directions" to specialists is 400km away cause we moved to a different city. You can get a new one only on last week of December and July. Plus I am pretty sure this sh!t is due to lack of normal living routine which should get better soon, rest of the furniture comes in on Friday and everything major in the house should be finished this weekend.

I've ordered new pc rig as well, gonna be here tomorrow if they don't f*ck something up. Once I can keep normal hours nest week, I'll do two dev sessions a day, in morning and in evening, keeping br-pytfall-br-pytfall-... in mornings and do simple sh!t in evenings whereever they may be needed.
Title: Re: General Discussion
Post by: Xela on March 09, 2017, 05:26:26 AM
considering that it just handles ST and a very small part of schools.

Yeah... I think it needs to be written anew because of that. Rewriting code like that take (in my case) 3 - 5 times longer that it would take to write a new design based of old data/content. We can't afford huge body of complicated code doing simple things anyway, not in a project this large.

Don't know if this should be done before or after beta. Everything seems to be working just fine in schools and we don't mess with ST atm.
Title: Re: General Discussion
Post by: DarkTl on March 09, 2017, 09:01:05 AM
Yesterday evening I already limited slaves-only items by giving them 0 equipment chance and changing the code. Before it only affected autoequipment, now any item with 0 or less eqchance cannot be equipped manually on free chars no matter the disposition, which makes sense since we also allow good items with 70+ eqchance to be freely equipped.

It doesn't solve the problem with items from ST though: either you make sure running away works and items that prevent it work too, or I remove all ST-related items until ST rewriting, which will happen after the beta. Because during beta they will just confuse everyone.
Title: Re: General Discussion
Post by: DarkTl on March 09, 2017, 09:28:51 AM
Yeah... I think it needs to be written anew because of that. Rewriting code like that take (in my case) 3 - 5 times longer that it would take to write a new design based of old data/content.
As far as I understand, it was written to support free-for-all ST, when you can have 100 slaves trained by 200 different characters without even involving MC himself.
I played only one game with a similar concept, Otherworld. And its development ended very badly  :D
WM doesn't count since you can have only one dungeon assistant there.

In ST, JoNT and several half-translated Japanese games that I played player still should actively participate in ST, it's never a mass, conveyor production. You still can have assistants, but they cannot train without the main character.
Title: Re: General Discussion
Post by: Xela on March 09, 2017, 01:11:10 PM
It doesn't solve the problem with items from ST though: either you make sure running away works and items that prevent it work too, or I remove all ST-related items until ST rewriting, which will happen after the beta. Because during beta they will just confuse everyone.

Ok, lets allow running away and items to prevent that for beta.

As far as I understand, it was written to support free-for-all ST, when you can have 100 slaves trained by 200 different characters without even involving MC himself.
I played only one game with a similar concept, Otherworld. And its development ended very badly  :D
WM doesn't count since you can have only one dungeon assistant there.

In ST, JoNT and several half-translated Japanese games that I played player still should actively participate in ST, it's never a mass, conveyor production. You still can have assistants, but they cannot train without the main character.

Still, i don't believe that code setup is justified. Original schools were coded really poorly and Thewlis basically fixed that bad design and build ST on top of it. I'll reevaluate it before rewriting but I am 99% sure that it would have to be done in the end.
Title: Re: General Discussion
Post by: DarkTl on March 09, 2017, 01:45:47 PM
You once proposed to use special lines for characters when you for example give them very good item. It's a bad design because it forces the player to click over that line every time.

But if such special lines are said without requiring additional actions from the player, then it's not a bad design any longer. Ie we don't use the narrator window and wait for mouse click, we show the line in a small window next to character sprite, it does not affect gui at all and disappears by itself after some time.
Title: Re: General Discussion
Post by: Xela on March 09, 2017, 02:00:39 PM
You once proposed to use special lines for characters when you for example give them very good item. It's a bad design because it forces the player to click over that line every time.

But if such special lines are said without requiring additional actions from the player, then it's not a bad design any longer. Ie we don't use the narrator window and wait for mouse click, we show the line in a small window next to character sprite, it does not affect gui at all and disappears by itself after some time.

Maybe a popup like quest notification is also an option here, but this can be arranged.
Title: Re: General Discussion
Post by: DarkTl on March 09, 2017, 02:12:38 PM
I mean something like that small dialogue window (https://www.dropbox.com/s/6bov1huiqtxjirr/321.jpg?dl=0) in the bottom left corner in last Atelier games.
Title: Re: General Discussion
Post by: Xela on March 13, 2017, 03:01:03 AM
I mean something like that small dialogue window (https://www.dropbox.com/s/6bov1huiqtxjirr/321.jpg?dl=0) in the bottom left corner in last Atelier games.

Shouldn't be an issue... we need a frame like that.
Title: Re: General Discussion
Post by: DarkTl on March 13, 2017, 04:48:25 AM
I pushed a dialogue frame, it even should be suitable for resizing of any kind.

Looks like I will have much more free time closer to summer than usual, and it will last several months. It can lead to major development progress if you'll manage to settle things on your end.
Title: Re: General Discussion
Post by: Xela on March 13, 2017, 04:55:49 AM
I pushed a dialogue frame, it even should be suitable for resizing of any kind.

Looks like I will have much more free time closer to summer than usual, and it will last several months. It can lead to major development progress if you'll manage to settle things on your end.

They are already settled for the most part!


They delivered my new hardware twenty minutes ago, I am putting it all together now :)
Title: Re: General Discussion
Post by: DarkTl on March 14, 2017, 04:40:03 AM
Specs?
Title: Re: General Discussion
Post by: Xela on March 14, 2017, 08:30:25 AM
Specs?

I tried finding best value deals, coming up with:

Монитор 27" AOC I2769VM
Cooler Master MasterCase 5, Черен
2X 8GB DDR4 2666 Crucial Ballistix Tactical
Видео карта Palit GeForce GTX 1060 3GB StormX OC
Твърд диск 256GB SSD Samsung PM961 Bulk
Процесор Intel Core i5-7600 (3.5GHz)
Дънна платка MSI Z270 SLI Plus
Геймърска мишка SteelSeries Rival 700, Черен
Твърд диск 4TB Seagate BarraCuda ST4000DM005

which is a huge step up from my previous setup, some parts of which were 8 years old :D

One of the scariest things is the SSD, sh!t gets instantly downloaded from good servers... kept checking if files came out corrupted yesterday. I wrapped up installation of Win10 + all drivers (MSI has awesome driver support where everything gets installed automatically and downloaded at 200 mbs (or more, that is the limit of my current connection)) and copying old all the files from old harddrives (I had like 4 300 - 500 GB drives). Going to do Dropbox next.
Title: Re: General Discussion
Post by: DarkTl on March 14, 2017, 10:15:51 AM
Ooh, nice. Do you use an ups?
Title: Re: General Discussion
Post by: Xela on March 14, 2017, 10:20:39 AM
Ooh, nice. Do you use an ups?

Burned three month ago... completely forgot to order a new one :(
Title: Re: General Discussion
Post by: DarkTl on March 14, 2017, 10:32:09 AM
They become kinda expensive if you have a powerful enough PSU, but somehow even that price doesn't prevent them from getting burned  :)

Btw now you may have the same text scaling issues in renpy as me on my win10 laptop.
Title: Re: General Discussion
Post by: Xela on March 14, 2017, 10:36:18 AM
Btw now you may have the same text scaling issues in renpy as me on my win10 laptop.

No idea, I am still downloading dropbox stuff who seem to have really shitty servers. Whole devkit is there.
Title: Re: General Discussion
Post by: Xela on March 14, 2017, 01:04:15 PM
Win10 is weird, it sent PC into sleep while I was AFK and DB was syncing with server. 8.1 never done anything of the sort, it'll take a while to setup and get used to...
Title: Re: General Discussion
Post by: DarkTl on March 14, 2017, 02:12:13 PM
And it doesn't support the most convenient and reliable way of running non unicode applications, applocale  :(
Title: Re: General Discussion
Post by: Xela on March 14, 2017, 02:46:33 PM
ghm... doesn't sound very good :(

DB is still syncing... 25k files left out of 100k. I am trying to figure out how to kill uac. One ok thing is notifications window, feels less annoying somehow.
Title: Re: General Discussion
Post by: Xela on March 14, 2017, 03:01:59 PM
No idea, everything looks perfectly fine in Ren'Py, I especially love boarder-less window but that is prolly theme related. Colors are also really good on the new monitor.

I still got a lot of sh!t to install...
Title: Re: General Discussion
Post by: DarkTl on March 14, 2017, 03:43:25 PM
It happens when you use screen scaling (https://www.thurrott.com/windows/windows-10/4597/windows-10-feature-focus-display-scaling) in win10 plus extend in renpy. Spaces between characters in text change a bit after every extend.
Title: Re: General Discussion
Post by: Lurker on March 14, 2017, 04:21:09 PM
Hey lads.
I've been kinda bored lately and feel like doing some girlpack related stuff or similar but since i kinda lost interest in regular WM i figured I'd ask you lads if you want some help in that department or anything else image related?
If not, i'll leave to your work. :3

Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 02:21:15 AM
Hey.
We could use some help with packs, yeah. You have an impressive collection of packs, so you may even convert them instead of creating new ones if you want to.

Characters already can be added to the game, and while their data file format is not finished yet (it could be changed a bit before and after the release), pictures themselves will stay.

Here (https://www.pinkpetal.org/index.php?topic=3533.0) I described the process of tagging images. It's a bit more complex than in WM, you need to download the tagger I made to rename pictures according to the game format, because it would be too difficult to rename pictures manually.

You can also download some of my packs (https://www.pinkpetal.org/index.php?topic=3401.0) to understand the general concept.
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 04:00:47 AM
or/and you can put together a Fairy Tail pack if you don't have one already. If you feel up to it, you can try and setup dev environment for pytfall to see how your creations feel in the game.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 04:31:49 AM
A fun fact: someone added a turban item for head slot (don't remember who, not me) as an Easter egg related to Lurker's profile picture  :)
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 04:43:08 AM
I'm going to update credits before I forget about it, we had many people helping us at some point since the alpha release.

So, does our current BE have anything to do with Jake's BE? Like parts of code or general logic. Because it's mentioned in credits atm.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 05:01:25 AM
Welp, I'm not allowed to delete threads. Xela, delete this (https://www.pinkpetal.org/index.php?topic=3747.0) tread - delete, not just close. Otherwise it may confuse people and they will keep sending pms.
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 05:20:23 AM
So, does our current BE have anything to do with Jake's BE? Like parts of code or general logic. Because it's mentioned in credits atm.

Nope.



Title: Re: General Discussion
Post by: Xela on March 15, 2017, 06:30:41 AM
It happens when you use screen scaling (https://www.thurrott.com/windows/windows-10/4597/windows-10-feature-focus-display-scaling) in win10 plus extend in renpy. Spaces between characters in text change a bit after every extend.

I am still not sure what you're talking about here. I tried the scaling thing and it feels more or less the same as simply lowering screen resolution. Nothing really changed in Ren'Py except for everything getting proportionally bigger.
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 06:33:22 AM

or/and you can put together a Fairy Tail pack if you don't have one already. If you feel up to it, you can try and setup dev environment for pytfall to see how your creations feel in the game.
Sure, i can give that a go. Think i have one or two of the Fairy Tail girls laying arouind somewhere.


A fun fact: someone added a turban item for head slot (don't remember who, not me) as an Easter egg related to Lurker's profile picture  :)
Hah! I'm honored. xD
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 08:33:20 AM
Sure, i can give that a go.

Let us know if you need help, it's not easy to figure out, especially if you never dealt with git before.

And it doesn't support the most convenient and reliable way of running non unicode applications, applocale  :(

While this sux, there is a lot good about it as well. Multiple monitor support is better, I like how notifications are handled, most features that annoyed me were easy to get rid off. Everything seems to be really stable and all of the software I need seems to work without issues (I tried win10 when it was in beta, most things seemed not to work so I went back to 8.1 after 20 mins).
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 09:09:16 AM
I personally hate minimalistic win10 design. White borderless windows everywhere, as if it's not a pc screen but a stack of paper documents. And no aero on top of that.
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 09:21:40 AM
I personally hate minimalistic win10 design. White borderless windows everywhere, as if it's not a pc screen but a stack of paper documents. And no aero on top of that.

Boarders are not too bad, thought that was theme related and I picked a cool one :)

It doesn't have polished feel win8.1 had (maybe due to SSD speed). Some thing happen too quickly, bounding box has some weird artifacts and etc. But all things considered, it's perfectly usable, gonna install something graphical soon and test that. Gotta clean up a bit afterwards (all the boxes/old stuff is just lying around, my old trusty q6600 needs to be shelved somewhere :D ) and I can start writing some code again. There is also some weird RAM drive that I never seen before, read about that a bit, some people suggest it's not a good idea so maybe I should get rid of that.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 09:44:36 AM
I just donate my old pcs to anyone who's willing to take them, without hdds. Because the alternative is to store them on a shelf somewhere for years until they become completely useless and then just throw away when you need free space for something else  ::)
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 09:52:20 AM
It still doesn't need to lie around on the floor :D But you're obviously right, no idea why I keep old shit around, it's not even compatible with newer rigs so you can't use old parts for testing if something breaks down... I still have DDR/DDR2 memory sticks and old 100mb PCI LAN and soundblaster pci card from creative...
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 10:02:21 AM
Let us know if you need help, it's not easy to figure out, especially if you never dealt with git before.


Oh i got the game running just fine. Get a bunch of script errors at some places though, dunno if thats how it is or if i did something wrong. xD
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 10:06:04 AM

Oh i got the game running just fine. Get a bunch of script errors at some places though, dunno if thats how it is or if i did something wrong. xD

There should be no errors... dev version runs without any obvious crashes.
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 10:11:49 AM
There should be no errors... dev version runs without any obvious crashes.


No crashes. Just an error that seems to relate to girlpacks. (I only have 1 unique and 1 random installed) And 1 error in the Jail when i go to the cells. I'll try to install it again though see if that helps.
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 10:22:37 AM
No crashes. Just an error that seems to relate to girlpacks. (I only have 1 unique and 1 random installed) And 1 error in the Jail when i go to the cells. I'll try to install it again though see if that helps.

Jail may be bugged. You should not have to install anything, just sync with git server and get renpy devkit.
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 10:28:37 AM
Jail may be bugged. You should not have to install anything, just sync with git server and get renpy devkit.


Yeah im syncing again now. See how it works out. (Which is what i meant by installing it again, wrong choice of words  on my end. xD )


Edit:
This is the error I get when starting a new game. If i choose ignore i can just bypass it and it all works fine.


(https://puu.sh/uK1ew/c88adf4716.png)

Title: Re: General Discussion
Post by: Xela on March 15, 2017, 10:48:30 AM
That is bad code for a number of reasons but you do not have any characters..? Otherwise, even under bad code, this should not occur. I'll see if this can be improved and if git is working on new os.
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 10:50:35 AM
That is bad code for a number of reasons but you do not have any characters..? Otherwise, even under bad code, this should not occur. I'll see if this can be improved and if git is working on new os.


I downloaded some of Darks girls and made a chars and rchars folder and put them in the content folder. No girls show up in game though.
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 11:13:11 AM

I downloaded some of Darks girls and made a chars and rchars folder and put them in the content folder. No girls show up in game though.

You need their data files as well, packs and data files are separate from one another.
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 11:18:18 AM
You need their data files as well, packs and data files are separate from one another.


The json files? Yeah i have those too.


(http://puu.sh/uK4ha/e7455a2695.png)
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 11:24:27 AM
No, it should be Pytfall\game\content\chars\Naruto. You can't just throw them into chars folder  :)
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 11:25:32 AM
No, it should be Pytfall\game\content\chars\Naruto. You can't just throw them into chars folder  :)


Right. I tried it with the naruto folder too. Do i need to drop the json files in the naruto folder aswell?
Got it. ^^
What about the random girls though? Do i dump the json in the image folder or what?

Title: Re: General Discussion
Post by: Xela on March 15, 2017, 11:26:49 AM

Right. I tried it with the naruto folder too. Do i need to drop the json files in the naruto folder aswell?

Yeap. I used to load from the main folder as well, we prolly disabled it for some reason. You should also have at least one random girl, preferably them all (it's just about 10 total I think).
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 11:28:48 AM
Yeap. I used to load from the main folder as well, we prolly disabled it for some reason. You should also have at least one random girl, preferably them all (it's just about 10 total I think).
Only have 2 atm
(https://puu.sh/uK4RM/276d0f32ce.png)
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 11:31:33 AM
You also may want this (https://www.dropbox.com/s/5uiox4ka1oisgu5/testing.rpy?dl=0) file in Pytfall\game\library, it's our testing file which gives some characters from the very beginning for easier testing.

As for random chars, I keep them all in one folder, rchars\random. But it's not mandatory, they all could be in different folders.
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 11:37:38 AM
You also may want this (https://www.dropbox.com/s/5uiox4ka1oisgu5/testing.rpy?dl=0) file in Pytfall\game\library, it's our testing file which gives some characters from the very beginning for easier testing.

As for random chars, I keep them all in one folder, rchars\random. But it's not mandatory, they all could be in different folders.


Putting them in a folder named "random" seems mandatory. Since they showed up when i added them there. :3


The testing file goes in the game folder im guessing?


Another question: Does the game add traits to girls at random or do i do that myself when making a pack? If so how do i go about it?
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 11:42:43 AM
Oh boy... Pico improved main menu by showing special message if there are no chars and rchars folders.

But if these folders exist then the game doesn't show the message even if they are empty. Xela, you should improve it to show the message if the game doesn't see characters, no matter the folders.

The testing file goes in the game folder im guessing?
In Pytfall\game\library.

Does the game add traits to girls at random or do i do that myself when making a pack? If so how do i go about it?
Traits are located in jsons. Like
Code: [Select]
    "random_traits": [
    ["Long Legs", 20],
    ["Big Boobs", 40],
    ["Elegant", 10],
    ["Clumsy", 10],
    ["Virgin", 90],
    ["Tsundere", 50],
    ["Kuudere", 50],
    ["Yandere", 15],
    ["Frigid", 10],
    ["Lesbian", 15],
    ["Bisexual", 10],
    ["Human", 100]
    ],
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 11:49:04 AM
Xela, you should improve it to show the message if the game doesn't see characters, no matter the folders.

Feels like more trouble than it's worth, we don't know if chars loaded or not at the main menu. Simpler may be preventing the game from loading if no chars have been found after player clicks on start...
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 11:50:33 AM
Another question: Does the game add traits to girls at random or do i do that myself when making a pack? If so how do i go about it?

We are in process of improving character design so this is a subject to change. Dark is correct otherwise and most of this data will remain in use.
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 11:51:08 AM
Traits are located in jsons.


Right so i make my own jsons then i guess?
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 11:52:04 AM
We are in process of improving character design so this is a subject to change. Dark is correct otherwise and most of this data will remain in use.


Gotcha gotcha.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 12:09:17 PM
Right so i make my own jsons then i guess?
Well, I usually take existing one, edit it and save under another name, it's a bit faster than creating a new one  :D
Title: Re: General Discussion
Post by: Lurker on March 15, 2017, 12:11:37 PM
Well, I usually take existing one, edit it and save under another name, it's a bit faster than creating a new one  :D


Yeah that was my plan too xD


Also, where can i see what traits are available in game? Got a list somewhere?
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 12:16:55 PM
You can find traits in Pytfall\game\content\db, there are multiple json files starting with "traits_", except traits_class_mobs which is for mobs and traits_MC which is for main character. I usually open them with notepad+.

Character must have one personality trait, one boobs trait, one body trait and one race trait, since any character has them.
If you don't specify them, the game will add Deredere, Average Boobs, Slim and either Human or Unknown (don't remember) when character will be added to the game.
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 12:46:19 PM
I might have missed someone in credits since some people had different names here and on github. Ideally it would require checking all old posts to figure out who did what, but that means thousands posts...

Anyway, Xela, you promised to look at the Pico's dungeon code this week to figure out how good it is and how well we can use it in the future.
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 12:59:49 PM
Xela, you promised to look at the Pico's dungeon code this week to figure out how good it is and how well we can use it in the future.

I keep running into lack of soft that is "always" there, like java, winrar and etc. Atom text editor is not properly configured either yet. I'll take a looksie tonight but main issue there may be resources and not code.
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 01:13:56 PM
Git is off... wish there was a mercurialhub. Some weird dll seems to be missing:

(https://s16.postimg.org/xfec6xea9/2017_03_15_19_11_38.png) (https://postimg.org/image/xfec6xea9/)

And it tripped the size of my .git folder somehow, DB doesn't sync any longer :(
Title: Re: General Discussion
Post by: DarkTl on March 15, 2017, 01:25:32 PM
I don't think it's super hard to render stuff, multiple people did it for us on many occasions. I didn't know how to make webm animations just a year ago  :)
But if we gonna use it, it definitely should support random dungeons building.

I never had any problems with our repo at win10 btw, it works there just like it works on win7.
Title: Re: General Discussion
Post by: Xela on March 15, 2017, 01:31:32 PM
I don't think it's super hard to render stuff, multiple people did it for us on many occasions. I didn't know how to make webm animations just a year ago  :)
But if we gonna use it, it definitely should support random dungeons building.

It should be possible somehow but pico can prolly arrange for that better than I can.

I never had any problems with our repo at win10 btw, it works there just like it works on win7.

I reinstalled git, getting 64 bit version and cleaned up the repo, everything seems to be back to normal but I will not know before pushing something...
Title: Re: General Discussion
Post by: Xela on March 16, 2017, 05:35:21 AM
You once proposed to use special lines for characters when you for example give them very good item. It's a bad design because it forces the player to click over that line every time.

But if such special lines are said without requiring additional actions from the player, then it's not a bad design any longer. Ie we don't use the narrator window and wait for mouse click, we show the line in a small window next to character sprite, it does not affect gui at all and disappears by itself after some time.

Are we talking gifts or inventory here? Are lines going to be in a label?
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 05:39:15 AM
Inventory. Lines can be in a label, but I wonder if it's possible. Because we have lines for refusing to equip really bad items, and they cannot be integrated into a label, you had no choice but to include them into inventory code.
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 10:40:30 AM
No, I'm mistaken. It's the lines when you try to take away an item.
Code: [Select]
        # Free girls should always refuse giving up their items unless MC gave it to them:
        # (Unless action is forced):
        if not force:
            if all([isinstance(source, Char), source.status != "slave", not(check_lovers(source, hero))]):
                if any([item.slot == "consumable", (item.slot == "misc" and item.mdestruct), source.given_items.get(item.id, 0) - amount < 0]):
                    if not silent:
                        source.override_portrait("portrait", "indifferent")
                        if "Impersonal" in source.traits:
It's pure python code all over, so labels cannot be called. Thus you had no choice but to add lines directly into the code.
Title: Re: General Discussion
Post by: Xela on March 16, 2017, 11:21:11 AM
They can but they shouldn't (due to code/logic complexity required). I will prolly make it a screen on pytfall displayable layer (or just high zorder on screens layer) tonight, that should work out just fine.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 11:49:11 AM
Some questions regarding the image tags:


I'm guessing the Special clothes tag are used for when the character wears non standard clothes like armor and bikinis and stuff. If the character is just in their normal clothes do i even need to touch these tags?


The "sprite" (not battlesprite) images are just for the inventory screen etc, correct?


The profile images without a background, see-through with alpha channel, are mainly used for "girlsmeets" tag, yes?
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 12:01:22 PM
I'm guessing the Special clothes tag are used for when the character wears non standard clothes like armor and bikinis and stuff. If the character is just in their normal clothes do i even need to touch these tags?
You can if you want to. If character wears armor 99% of the time, I usually tag them as armor and as everyday clothes, since armor is everyday clothes for her.

The "sprite" (not battlesprite) images are just for the inventory screen etc, correct?
For inventory, and sometimes when we need to show the character during dialogue outside of girlsmeets.

The profile images without a background, see-through with alpha channel, are mainly used for "girlsmeets" tag, yes?
Yes, but most of them can be used as profile pictures too. Alpha channel is not mandatory though, I just keep it sometimes if I like it.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 12:18:46 PM
You can if you want to. If character wears armor 99% of the time, I usually tag them as armor and as everyday clothes, since armor is everyday clothes for her.



Alright. Im also wondering is if when you equip armor or clothes that you've bought/found/whatever to a character their profile/inventory/sex image will change to one thats tagged with the relevant tag?
Cause I've got a bunch of sprite images and profile images that can be used like that. Or will it be more along the lines of WM where equipment doesnt really impact images?
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 12:27:11 PM
Not yet. I have it in plans after the beta release, that's why we have these tags.

It would be very easy if we could guarantee that every character will have all tags. But since we work with packs and have no control over pictures, algorithms for showing the best possible picture are quite complex. The algorithm for showing pictures during sex scenes has over 700 lines of code.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 12:31:48 PM
Not yet. I have it in plans after the beta release, that's why we have these tags.

It would be very easy if we could guarantee that every character will have all tags. But since we work with packs and have no control over pictures, algorithms for showing the best possible picture are quite complex. The algorithm for showing pictures during sex scenes has over 700 lines of code.


Gotcha! Guessing the same goes for emotions? I'll tag the profile stuff then and leave the sex images alone as far as clothes go. Atleast then the images can be used for testing once you add that stuff.
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 12:40:46 PM
Emotions tags are used already. Not as widely as they should, but the game will show you different profile pictures and portraits depending on character joy level.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 01:29:00 PM
Emotions tags are used already. Not as widely as they should, but the game will show you different profile pictures and portraits depending on character joy level.


Cool cool!
Final question for a while now. xD
I'm guessing pregnancy and monster sex is not something thats gonna be in game so theres no use gathering images like that?
Title: Re: General Discussion
Post by: farik on March 16, 2017, 02:16:13 PM
Hey been waiting for this game a while and excited!!


I do a lot of character pack creations for Java Simbro and did some for Sbi1x or whatever it was.


Expecting to do packs for here. HAvent played since alpha thougih so not sure how it feels now.


Been fooling around with tagger just not sure of each image I should be setting up.


Cant wait til you guys get beta out so I can start pumping out a couple packs off the bat.
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 02:42:22 PM
Pregnancy pics are very rare for many characters. If we'll have pregnancy (nothing wrong with it, aside from the fact that 1 turn = 1 day, while in WM 1 turn = 1 week, so it will take a lot of turns), we will avoid showing pregnancy pics at any cost. Even if it means temporally removing character from the game.

As for monsters, they are inconsistent. We try to match texts and pictures more than WM does it. But monsters pictures are very different. There could be humanoids of any kind, tentacles, animals, etc. It would be very hard to deal with them.
We could limit it, for example to tentacles only, to make sure texts are always correct. But in this case many characters simply won't have suitable monsters pictures, just like with pregnancy.

Cant wait til you guys get beta out so I can start pumping out a couple packs off the bat.
Yeap, it's been 3 years since the alpha. The game was pretty amateurish back then, now we know much more about coding and creating resources.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 03:09:02 PM
Pregnancy pics are very rare for many characters. If we'll have pregnancy (nothing wrong with it, aside from the fact that 1 turn = 1 day, while in WM 1 turn = 1 week, so it will take a lot of turns), we will avoid showing pregnancy pics at any cost. Even if it means temporally removing character from the game.

As for monsters, they are inconsistent. We try to match texts and pictures more than WM does it. But monsters pictures are very different. There could be humanoids of any kind, tentacles, animals, etc. It would be very hard to deal with them.
We could limit it, for example to tentacles only, to make sure texts are always correct. But in this case many characters simply won't have suitable monsters pictures, just like with pregnancy.
Yep yep makes sense, figured I'd check. :3
Title: Re: General Discussion
Post by: Xela on March 16, 2017, 03:20:26 PM
You once proposed to use special lines for characters when you for example give them very good item. It's a bad design because it forces the player to click over that line every time.

But if such special lines are said without requiring additional actions from the player, then it's not a bad design any longer. Ie we don't use the narrator window and wait for mouse click, we show the line in a small window next to character sprite, it does not affect gui at all and disappears by itself after some time.

Ok, there is no way to do this without blocking large parts of interface which will make this just as annoying as clicking to continue. You can also transfer items in two different screens and items transfer screen from two sides making the idea very annoying to code for a feature this small. We could introduce a festive pop-up screen just with the small text, similar to how notification screen works in renpy, truth is that we prolly don't need it for beta...

I feel we should cut down on stuff we don't really need and focus on stuff we absolutely must have. Gonna restore brothel and the club and see where these damned errors are coming from.
Title: Re: General Discussion
Post by: Xela on March 16, 2017, 03:32:06 PM
Oki, I ran ND for couple of days with a full brothel, nothing crashed :)


Gonna go over dungeon code, try to figure out what's what.
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 03:36:27 PM
I never said we need it exactly for beta, but
Ok, there is no way to do this without blocking large parts of interface
this is simply not true.

There we go. (https://www.dropbox.com/s/v72ow41ooxbqef7/21342143.jpg?dl=0)
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 04:10:26 PM
Here's Erza beta. xD Figured id toss it to you guys so can check it out at your leasure and then tell me whats shit and whats good.



https://mega.nz/#!zcpQHaCY!AHFNmALNktQtreZzVD9jt7S2DmrmXRzB7dJLpFm0qWA (https://mega.nz/#!zcpQHaCY!AHFNmALNktQtreZzVD9jt7S2DmrmXRzB7dJLpFm0qWA)

Title: Re: General Discussion
Post by: Xela on March 16, 2017, 04:12:40 PM
I never said we need it exactly for beta, butthis is simply not true.

There we go. (https://www.dropbox.com/s/v72ow41ooxbqef7/21342143.jpg?dl=0)

Everything looks simple at first but text here is very small, character sprite height is not guaranteed and we need this for items transfer screen as well. We can comeback to this after beta.


I went over dungeon code, there is not a lot of it but it's pretty complex. Good thing is that it's straightforward, in a sense that nothing leads elsewhere 100 times like in Jakes BE or our training code. I still will not be able to understand all of it without playing with it and see what happens when stuff is changed. Positioning is prolly the hardest to get a grip on.

I am not gonna mess with it, some stuff is prolly unfinished and there is some code that Pico will prolly delete soon (remnants of the original dealing with combat and skills in the other file). Maps are loaded from this, so we'd have to generate something along these lines using random algorithms, it's too complicated (for me) to address before beta, Pico can decide if he wants to advance logic or deal with randomization himself:

Code: [Select]
  {
    "id": "Mausoleum1",
    "transparent": [
      ".4679bcABCD^",
      ".4679bcABCD^"
    ],
  "r":"0....5...10...15...2v...25...30...35...4v...45...50...55...60...65...70...75...80...85...90...95..100 -> x",
    "map": [
      "###.##...c..........##d####2.222222....##......#....",
      ".....c...#222222222.3c.ccc.3......8....3..####...##b",
      "##a####.#2...2..7...e#####322222f22########....####b",
      "........#2...2......#......#....3...........####d##b",
      ".########2828274.674#.....4#....#############.......",
      "....c...c..2...2#d##d.....6#....#.............222222",
      "#####b#####22222#####......#.####bbbbbbbbbbbbb2.....",
      "....#....#.......#..3.....4#.####.............2.9.9.",
      "......##.a.#####...##......#....#...C.........2..9..",
      "....###..#...cccccccccc.cccc....#..B2D...c....2.9.9.",
      "....#...##...#......#......#....#...A...b2b...2..9..",
      "^4..#.###d.....#.##C#......3....a........c....8....."],
    "area": {
      "#": "mossy", "2": "bluegrey", "3": "door", "4": "barrel",
      "6": "more_barrels", "7": "barrel_crate",
      "8": "bluegrey_door2", "9": "pilar", "a": "mossy_door2",
      "b": ["portal", "portal_turned"],
      "c": ["portal_turned", "portal"],
      "d": "mossy_alcove", "e": "mossy_button", "f": "bluegrey_button",
      "A": ["ladderb", "ladderl", "ladderr", "ladderf"],
      "B": ["ladderl", "ladderf", "ladderb", "ladderr"],
      "C": ["ladderf", "ladderr", "ladderl", "ladderb"],
      "D": ["ladderr", "ladderb", "ladderf", "ladderl"],
      "^": "ladderdownf"
    },
    "background": "dungeon_bluegrey%s_background",
    "visible": "#2346789abcdefABCD^",
    "container": ".d",
    "area_hotspots": {
        "(20, 2)": [{
            "spot": [591, 287, 30, 30],
            "actions": [{
                "function": "renpy.play",
                "arguments": ["content/sfx/sound/dungeon/button_click2.ogg", "voice"]
            },{
                "function": "renpy.play",
                "arguments": ["content/sfx/sound/dungeon/open_door.ogg", "sound"]
            },{
                "function": "dungeon.access_condition.__setitem__",
                "arguments": ["(20, 1)", {"access": true}]
            }]
        }],
        "(32, 2)": [{
            "spot": [591, 287, 30, 30],
            "actions": [{
                "function": "renpy.play",
                "arguments": ["content/sfx/sound/dungeon/button_click2.ogg", "voice"]
            },{
                "function": "renpy.play",
                "arguments": ["content/sfx/sound/dungeon/open_door.ogg", "sound"]
            },{
                "function": "dungeon.access_condition.__setitem__",
                "arguments": ["(32, 3)", {"access": true}]
            },{
                "function": "dungeon.access_condition.__setitem__",
                "arguments": ["(32, 11)", {"access": true}]
            }]
        }]
    },
    "item_hotspots": {
        "Replica Sword": {
            "spot": [614, 576, 127, 95],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "You found a Replica Sword."],
                "sound": ["content/sfx/sound/dungeon/dagger.ogg", "voice"]
            }]
        },
        "Shuriken": {
            "spot": [621, 631, 91, 49],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "You found Shuriken."],
                "sound": ["content/sfx/sound/dungeon/shuriken.ogg", "voice"]
            }]
        }
    },
    "renderitem_hotspots": {
        "dagger": {
            "spot": [628, 420, 186, 20],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "You found a dagger."],
                "sound": ["content/sfx/sound/dungeon/dagger.ogg", "voice"]
            }]
        },
        "ring": {
            "spot": [695, 429, 41, 11],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "This ring must be valuable!"],
                "sound": ["content/sfx/sound/dungeon/ring.ogg", "voice"]
            }]
        },
        "bottle": {
            "spot": [670, 309, 58, 127],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "An elixer of some kind!"],
                "sound": ["content/sfx/sound/dungeon/bottle.ogg", "voice"]
            }]
        }
    },
    "spawn_hotspots": {
        "Goblin": {
            "spot": [520, 442, 234, 269],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "You killed the goblin."],
                "sound": ["content/sfx/sound/dungeon/dagger.ogg", "voice"]
            }]
        },
        "Devil Rat": {
            "spot": [540, 376, 212, 278],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "You killed the rat."],
                "sound": ["content/sfx/sound/dungeon/dagger.ogg", "voice"]
            }]
        },
        "Bats": {
            "spot": [536, 40, 226, 249],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "You killed the bats."],
                "sound": ["content/sfx/sound/dungeon/dagger.ogg", "voice"]
            }]
        },
        "Bear": {
            "spot": [562, 321, 184, 339],
            "actions": [{
                "function": "dungeon.say",
                "arguments": ["", "You killed the bear."],
                "sound": ["content/sfx/sound/dungeon/dagger.ogg", "voice"]
            }]
        }
    },
    "access": [".79bABCD^", ".79cABCD^", ".79cABCD^", ".79bABCD^"],
    "conditional_access": ["3a8", "3a8", "3a8", "3a8"],
    "access_condition": {
        "(20, 1)": {"access": false},
        "(32, 3)": {"access": false},
        "(32, 11)": {"access": false}
    },
    "minimap": {
      "#2def": "#4444",
      "38a": "#5C4425",
      "bcABCD": "#6a548e",
      "ground": "#fff4"
    },
    "sound": {
      "bump": "content/sfx/sound/dungeon/bump.ogg",
      "locked": "content/sfx/sound/dungeon/locked.ogg"
    },
    "item": {
        "(2, 1)": [{"name": "Replica Sword"}],
        "(23, 3)": [{"name": "Shuriken"}]
    },
    "spawn": {
        "(36, 1)": {"name": "Goblin", "level": 1, "timer": 0.5 },
        "(5, 11)": {"name": "Devil Rat", "level": 1, "timer": 0.2 },
        "(24, 5)": {"name": "Bats", "level": 1, "yoffs": -400, "timer": 0.3 },
        "(2, 8)": {"name": "Bear", "level": 3, "size": 2, "timer": 0.8 }
    },
    "renderitem": {
        "(20, 5)": [{"name": "ring" }, {"name": "dagger" }],
        "(22, 0)": [{"name": "dagger"}],
        "(9, 11)": [{"name": "bottle", "function": "im.matrix.tint", "arguments": [0.1, 0.5, 0.1] }],
        "(48, 3)": [{"name": "bottle", "function": "im.matrix.tint", "arguments": [0.5, 0.1, 0.1] }]
    },
    "event": {
        "(19, 11)": [{
            "function": "dungeon.say",
            "arguments": ["", "Finally, there's a hatch here, you climb out of the catacombs."]
        },{
            "function": "dungeon.__delattr__",
            "arguments": ["hero"]
        },{
            "function": "renpy.jump",
            "arguments": ["graveyard_town"]
        }],
        "(0, 11)": [{
            "function": "dungeon.say",
            "arguments": ["", "You descend the stairs."]
        },{
            "load": "Mausoleum2",
            "at": { "x": 27, "y": 26, "dx": 0, "dy": 1 }
        }],
        "(25, 1)": [{
            "function": "renpy.play",
            "arguments": ["content/sfx/sound/dungeon/open_door.ogg", "sound"]
        },{
            "function": "dungeon.access_condition.__setitem__",
            "arguments": ["(20, 1)", {"access": false}]
        }],
        "(13, 0)": [{
            "function": "dungeon.say",
            "arguments": ["", "Something in here smells really bad."]
        }]
    }
  }
Title: Re: General Discussion
Post by: Xela on March 16, 2017, 04:21:36 PM
Here's Erza beta. xD Figured id toss it to you guys so can check it out at your leasure and then tell me whats shit and whats good.

iirc, be sprite for characters needs to be oriented from left to right, something along these lines:

https://s-media-cache-ak0.pinimg.com/originals/b7/d5/d1/b7d5d1e9b4c632b63975632aa7fdae1f.png

It's difficult to test individual images for all occasions.
Title: Re: General Discussion
Post by: Xela on March 16, 2017, 04:43:02 PM
Oki, gonna call it a day. Gonna try getting a good night sleep and maybe wrapping up basic Tiers tomorrow evening, most stuff is already finished for them.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 04:46:32 PM
iirc, be sprite for characters needs to be oriented from left to right, something along these lines:

https://s-media-cache-ak0.pinimg.com/originals/b7/d5/d1/b7d5d1e9b4c632b63975632aa7fdae1f.png (https://s-media-cache-ak0.pinimg.com/originals/b7/d5/d1/b7d5d1e9b4c632b63975632aa7fdae1f.png)

It's difficult to test individual images for all occasions.


Yeah that was the best one i found. I'll look around for something better and keep that in mind.
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 04:49:19 PM
we need this for items transfer screen as well
I don't think so. It's not an important system message, it's a personal reaction directed to MC.

Here's Erza beta. xD Figured id toss it to you guys so can check it out at your leasure and then tell me whats shit and whats good.
I don't have access to it, mega tells me the key is incorrect.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 05:45:03 PM
I don't have access to it, mega tells me the key is incorrect.


Weird. I'll look into it
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 05:49:04 PM
Try this one. Needed to fix a few things anyway.


https://mega.nz/#!qYwnlCDL!RkhRmyvqdQp86o1Z1afg0orJOAmUdljTAqiHF_P9kys
Title: Re: General Discussion
Post by: DarkTl on March 16, 2017, 06:12:27 PM
Looks very good.
I have only one advice, at some portraits you can see clothes, but at others she's nude. Ideally it should be avoided, for example defiant portrait is big enough to be cut just a bit.
But of course in many cases we don't have a choice.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 06:19:52 PM
Looks very good.
I have only one advice, at some portraits you can see clothes, but at others she's nude. Ideally it should be avoided, for example defiant portrait is big enough to be cut just a bit.
But of course in many cases we don't have a choice.


Yeah i tried as much as possible to avoid clothing. But i wanted as many emotions as possible with decent quality pictures. I'll look into cutting some of them down.
Title: Re: General Discussion
Post by: Lurker on March 16, 2017, 06:41:17 PM
As a sidenote, i don't know shit about Fairy Tail and I have no idea whats considered balanced when it comes to stats so if you lads want to balance the json files feel free. xD
Title: Re: General Discussion
Post by: DarkTl on March 17, 2017, 03:20:30 AM
I suppose Xela knows something about Fairy Tail since he asked for it  :)
Title: Re: General Discussion
Post by: Xela on March 17, 2017, 05:57:23 AM
I wanted to do some fun exploration guild thing with those chars but balancing stats is not gonna be an issue either way.
Title: Re: General Discussion
Post by: Lurker on March 17, 2017, 06:13:45 AM
I wanted to do some fun exploration guild thing with those chars but balancing stats is not gonna be an issue either way.


Alright. I'll just wing it and do what i can with wiki info.
Title: Re: General Discussion
Post by: Lurker on March 17, 2017, 06:40:34 AM
Would be good with an image tag that handles prostitution or one that makes said image not show up when the main char is sexing. Since im guessing the main character is gonna be banging away at the girls too. Just a thought about it since alot of images are obvious prostitution images, like the girls is getting paid or handling money etc. And im guessing the main char wont be paying for it.
Just a thought though. :3 I get how to many tags will become complicated though. ^^
Title: Re: General Discussion
Post by: DarkTl on March 17, 2017, 10:10:34 AM
True, but to some point hidden partner trait is equal to it. When it's MC, we try to use pictures with hidden partner, and use others only if they don't exist.
Title: Re: General Discussion
Post by: Lurker on March 17, 2017, 01:01:35 PM
True, but to some point hidden partner trait is equal to it. When it's MC, we try to use pictures with hidden partner, and use others only if they don't exist.


Yeah i figured that was its purpose. :3


Another tag i was thinking about is something similar to the Presented tag they added to WM for use in the slave market. Since it doesnt make alot of sense that the girls at the slave market are totally hyped about being sold as slaves. xD
Though i dunno if you plan on making the nude images be exclusive to the slave market in Pytfall.
Title: Re: General Discussion
Post by: Lurker on March 17, 2017, 03:27:43 PM
Lucy beta
https://mega.nz/#!nc5CUIaQ!c_SuneMiHYxrtY9cIUHqwiTjIFr5akxqm-6_fEfdvmk (https://mega.nz/#!nc5CUIaQ!c_SuneMiHYxrtY9cIUHqwiTjIFr5akxqm-6_fEfdvmk)
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 12:12:11 AM
Here are the fairy Tail wiminz more or less complete. Got Erza, Lucy, Juvia and Mirajane.
Let me know if you want more from the series or something else or if i should change something in the current girls. Did what I could with battlesprites.


https://mega.nz/#!nF4DSRYL!gqcvq-qaSYegs-yJeSlh4V22FjorWj11UQH0ZJeDgIQ

Title: Re: General Discussion
Post by: Xela on March 18, 2017, 03:18:06 AM
Super, I'll take a looksie bit later :)
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 08:09:20 AM
Cool. I'll keep polishing these and maybe make a few more Fairy Tails. Not a whole lot of good images around for the less popular girls though.
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 12:14:01 PM
Uploaded the wrong file. This is the proper up to date Fairy Tale pack.  ::)




https://mega.nz/#!SRACTDTD!AtEk1CwamXvETEyik8HI50fAf7n24Pe9RQ2KtcWvd28

Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 12:57:09 PM
I took a look at gelbooru, it's possible to make a solid pack for Wendy Marvell, and maybe for Lisanna Strauss (not sure about her without proper search).

For some reason the game incorrectly works with Erza battle sprite, position is entirely wrong. I bet it's related to unusual picture proportions.
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 01:01:33 PM
I took a look at gelbooru, it's possible to make a solid pack for Wendy Marvell, and maybe for Lisanna Strauss (not sure about her without proper search).

For some reason the game incorrectly works with Erza battle sprite, position is entirely wrong. I bet it's related to unusual picture proportions.


Lisanna will be tricky but ill give it a go.


I've already started Wendy and might try to do Levy McGarden too.


And yeah ive noticed the sprite too. Gonna see if i can sort it out somehow.
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 01:05:12 PM
Hm, some portraits have a lot of white pixels around. Not just a few, but really a lot.

In such cases it's better to either skip portrait for this emotion altogether, don't delete background if it's monotonous or edit it in some editor to reduce the amount of pixels. Because it looks very bad in the game, any dark background makes it all very visible.
Title: Re: General Discussion
Post by: Xela on March 18, 2017, 01:06:14 PM
Best sprites are without weird poses or huge weapons that warp it's proportions. We may introduce corrections for that at some point but definitely not before beta. Even the pic I offered as an example can be used.


Gonna figure out wtf is dummies problem soon :)
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 01:08:24 PM
For Erza I would used this one (http://vignette3.wikia.nocookie.net/fairytail/images/e/ed/Erza_Scarlet_GMG.png/revision/latest?cb=20121006063000) for example.
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 01:13:52 PM
Was a height thing.
Just thought that normal standing one wasnt battely enough. But i'll switch out if you prefer.
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 01:16:06 PM
Oh, btw we don't have to make portraits for all emotions, unless character has very suitable pictures without backgrounds, thus making portraits very simple.

Sad, indifferent, happy are the main ones, without them any pack is incomplete. Angry, uncertain and shy are very useful too. Others are highly optional.
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 01:17:17 PM
Oh, btw we don't have to make portrait for all emotions, unless character has very suitable pictures without backgrounds, thus making portraits very simple.

Sad, indifferent, happy are the main ones, without them any pack is incomplete. Angry, uncertain and shy are very useful too. Others are highly optional.


Cool been meaning to ask about that. Been trying to make as many portrait images as possible, well for as many emotions as possible. Don't think any of the important ones are missing. If so let me know.
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 01:22:21 PM
I actually learned a lot about graphic editors making portraits and sprites for pytfall packs  :)
I knew close to nothing about it 3 years ago, now I can remove almost any background flawlessly.

But the game is built to not force people to do the same thing.
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 01:25:34 PM
The image you used as an example should have been removed. But yeah some of em prolly has some white around em. Why i remade a few of them to get away from that.
Some were made in abit of a rush though so thats why xD Will sort them out.
Is there a point to them having no background though? If it doesnt matter it seems like you can just skit doing it?
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 01:34:56 PM
If they have clearly unsuitable background, it becomes problematic.
For example you can clearly see a forest or a room, while the portrait is used at the beach.

But if background is unrecognizable (usually meaning monotonous), you don't have to remove it. I just remove them because transparent background is the most unrecognizable one.
Title: Re: General Discussion
Post by: Xela on March 18, 2017, 01:59:31 PM
On items front, we could add skill mods (instead of pro stats) in a similar way to how it is done with traits info. Maybe even for the beta.


I took a look at tiers for the first time in five or six days, they seem to be in decent shape. Looks like I've already moved to Jobs and setting that up, prolly should keep hacking at that and maybe even slowly move appropriate logic from jobs to SimPy. There is no way to do this in one go so I'll hack this till it can be pushed without crashing ND.
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 02:47:17 PM
I've exhausted my abilities to make the release closer many days ago. I finished all simple things, and complex ones are too complex. So I just improve resources and work on another big random pack.
Title: Re: General Discussion
Post by: Xela on March 18, 2017, 02:50:03 PM
I've exhausted my abilities to make the release closer many days ago. I finished all simple things, and complex ones are too complex. So I just improve resources and work on another big random pack.

Oki. You'll have more work after Jobs are recoded. You can also convert rest of NPCs to proper NPC Chars. Maybe figure out JSON setup for SE. Items thing is done, I've also improved portrait which bugged the hell out of me.
Title: Re: General Discussion
Post by: Xela on March 18, 2017, 02:57:49 PM
Another thing to consider! Is "Areal" item effect a dumb concept now that Pico came up with equipping groups? Cause it was pretty hard to sell as it was (like dusk that somehow spread over the whole Palace as effective as over a small shack...).
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 03:04:48 PM
True, that old concept of areal items is no longer useful.

I have an idea about npcs. A few years ago I found on g.e-hentai a pack of 200+ backgroundless npcs. They can easily replace random chars at the arena, not to mention they will be useful for events.
Title: Re: General Discussion
Post by: Xela on March 18, 2017, 03:07:47 PM
True, that old concept of areal items is no longer useful.

I have an idea about npcs. A few years ago I found on g.e-hentai a pack of 200+ backgroundless npcs. They can easily replace random chars at the arena, not to mention they will be useful for events.

Not bad... thing is I wanted to allow interacting with and hiring chars and sponsor your own teams to fight in the arena. That obviously doesn't mean that every character in the arena needs to be complete, we can just check which once are proper Chars and which are Arena Fighters (we had them for like 4 years :D ).
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 03:20:27 PM
Can_equip function checks if it is legal for a character to use/equip the item. And may notify the player with a reason why an item cannot be equipped.

The problem is, it doesn't notify about anything during equipment. It just blocks the use/equip button silently. The reason of blocking might be obvious for us (like no armor for slaves), but can and will be confusing for players.
I propose to write the reason behind item's inaccessibility instead of item description on the equipment screen. Transfer screen doesn't need it, since you cannot use/equip items there.
Title: Re: General Discussion
Post by: Xela on March 18, 2017, 03:24:33 PM
Can_equip function checks if it is legal for a character to use/equip the item. And may notify the player with a reason why an item cannot be equipped.

The problem is, it doesn't notify about anything during equipment. It just blocks the use/equip button silently. The reason of blocking might be obvious for us (like no armor for slaves), but can and will be confusing for players.
I propose to write the reason behind item's inaccessibility instead of item description on the equipment screen. Transfer screen doesn't need it, since you cannot use/equip items there.

ghm... I'll take a look at that as well. Feels a bit messy but maybe there is a good way of doing this... We did throw a message up in the past, I think it was you who wanted to just disable the button instead?


#EDIT:
I don't think there is a simple way to do this. Screen needs to be adjusted, messages moved out of the function to global dict so they can be reused in func and for tooltip and etc. It's not a good idea to mess with this for beta. Restoring old way of just spamming message screen when player tries to equip illegal item is prolly changing one line of code...
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 03:40:47 PM
Yes, this way you can immediately see that it's useless to try to use/equip the item. So you don't have to blindly use everything until something will work already.

But we kinda don't explain the reason behind it.

There are another ways. Instead of disabling the use/equip button for unusable items we could make it red, and when the red button is pressed, it shows the message. Or using a small popup somewhere.
Title: Re: General Discussion
Post by: Xela on March 18, 2017, 03:42:09 PM
There are another ways. Instead of disabling the use/equip button for unusable items we could make it red, and when the red button is pressed, it shows the message.

This feels like a very simple and reasonable solution. Gonna try doing it this way.

Edit:
Yeap, this was very easy to implement. Take a look at Equip :)

Edit2:
Gonna call it a night, too tired to mess with jobs at this hour.
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 04:42:33 PM
Alright, DarkIT, you slavedriver! I fixed all the transparent images.  :D


https://mega.nz/#!7QIijbIJ!LtRogU4T6QDvMfl9XpLFV9ZGHeqJ-EMfDrMlAY6kROs
Title: Re: General Discussion
Post by: DarkTl on March 18, 2017, 05:03:05 PM
Yeap, this was very easy to implement. Take a look at Equip :)
Great, now I have a place to show how many turns remained until consumable item will be usable again. I was wondering maybe it should be in item stats, but it looks much better as a part of the message.

Alright, DarkIT, you slavedriver! I fixed all the transparent images.  :D
Awesome! They do look flawlessly now  :)

One more thing, there is no need to add no_bg tag to portraits, battle sprites and sprites. Or clothes tags to portraits.
It won't hurt, but it won't help either, so it's just a waste of time.
Title: Re: General Discussion
Post by: Lurker on March 18, 2017, 05:11:17 PM

One more thing, there is no need to add no_bg tag to portraits, battle sprites and sprites. Or clothes tags to portraits.
It won't hurt, but it won't help either, so it's just a waste of time.


I kinda figured. But it became abit of a habit as i marked the other images xD.


Edit: Also here's Wendy.
https://mega.nz/#!eBAAiAjQ!XihQe8TFV3UyHFbqLeEeaeJec50LfAn3qARzDJBUXYM (https://mega.nz/#!eBAAiAjQ!XihQe8TFV3UyHFbqLeEeaeJec50LfAn3qARzDJBUXYM)

Edit 2: And Levy McGarden.. No good battlesprite available so i winged it.
https://mega.nz/#!6ExEWbhJ!lh22MzIQnbSkz5Py8Gqil1o5yVMlrOaE0dMmxe0KGGU
Title: Re: General Discussion
Post by: Xela on March 19, 2017, 03:23:17 AM
Edit 2: And Levy McGarden.. No good battlesprite available so i winged it.

(https://s3.postimg.org/f2g1ldtb3/0000_bs.png) (https://postimg.org/image/f2g1ldtb3/)

LoL! No kidding about winging it :)

She usually figures sh!t out in the sources but she can fight... this is her exploration outfit and better battle stance:

(https://s13.postimg.org/kac3z1ncz/levy_mcgarden_by_rocky_ace_d4uxbwc.png) (https://postimg.org/image/kac3z1ncz/)


After beta, I am planning to script a story line for these chars. Prolly some rival exploration guild thing with a possibility for alliance/buying them out at some point.
Title: Re: General Discussion
Post by: Lurker on March 19, 2017, 03:27:28 AM

LoL! No kidding about winging it :)

She usually figures sh!t out in the sources but she can fight... this is her exploration outfit and better battle stance:



xD
Yeah i saw that image too. She just looked so adult compared to the other images. But ill add that one instead. Then I'm probably done with Fairy Tail. The other characters have to few good images. If you really want I can still throw together some halfassed packs with some of the others.
Title: Re: General Discussion
Post by: Xela on March 19, 2017, 03:31:41 AM
xD
Yeah i saw that image too. She just looked so adult compared to the other images. But ill add that one instead. Then I'm probably done with Fairy Tail. The other characters have to few good images. If you really want I can still through together some halfassed packs with some of the others.

Do Lisanna as well even if it'll turn out half-assed. Wendy's combat sprite is also poor but I can update that myself when I need them after the beta. Other chars I can add as pure fighters without image base other than portraits, vnsprites and battle sprites.
Title: Re: General Discussion
Post by: Lurker on March 19, 2017, 03:36:03 AM
Do Lisanna as well even if it'll turn out half-assed. Wendy's combat sprite is also poor but I can update that myself when I need them after the beta. Other chars I can add as pure fighters without image base other than portraits, vnsprites and battle sprites.


Alright.
Ah yeah i meant to find a replacement for wendys but forgot about it.

Title: Re: General Discussion
Post by: DarkTl on March 19, 2017, 05:39:46 AM
I started to add npcs. We probably will need special json format for them, since they not necessarily have fixed classes, just like random characters.
Title: Re: General Discussion
Post by: Xela on March 19, 2017, 05:48:23 AM
I started to add npcs. We probably will need special json format for them, since they not necessarily have fixed classes, just like random characters.

We don't have special JSON for them? I though we did and it just needs to be updated with all the modern stuff... you can write JSON structure to load them yourself, I'll do the logic.

Another thing you can take care of is to come up with some way to get relative item worth. Like 0 - 100 where weak chars are expected to have items in range of 0 - 10 and best chars from 90 - 100 and etc. Should be based off core base traits I guess, price, other traits, some item fields? We need some way to dress chars up for the party (like all random chars start of with inventory being completely empty, especially weird for Arena Fighters and higher leveled chars but even low level once need some basic apparel).
Title: Re: General Discussion
Post by: Xela on March 19, 2017, 07:35:02 AM
Items effects methods have been merged into one single method. I believe that it preserves all logic and we worked out a number of obvious bugs as well. In either case, anything that cuts amount of lines in half and improves code clarity is prolly a good idea :)
Title: Re: General Discussion
Post by: Lurker on March 19, 2017, 11:24:07 AM
Which locations can i se a girl to meet the player at with the Meet girl" option? City, Beach, Forest? And can you set multiple locations?


Edit: Oh nevermind. Seems they show up everywhere as long as they are set to free.


Anyway here's Lisanna.
https://mega.nz/#!edBVQa4C!5Mf0w39ejX-pttxn-_YCVAUXMY87OzmC3talOnTVNLw (https://mega.nz/#!edBVQa4C!5Mf0w39ejX-pttxn-_YCVAUXMY87OzmC3talOnTVNLw)

Let know me know if you need any other girls made.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2017, 12:53:35 PM
Yes, they are. In order to make a character show only in specific location you need to specify this location name in json. Like "location": "hiddenvillage_entrance". Then they can be met there, and only there.

You need to know the internal location name to do it, meaning you have to open locations files. They are located in game\library\screens\locations. For example, in beach_cafe.json the very first line is "label city_beach_cafe", that's the location name.
So it will be "location": "city_beach_cafe" in character file if you want her to be there.

I'm not really sure what will happen if you specify more than one location, never tried it  :D
Title: Re: General Discussion
Post by: DarkTl on March 19, 2017, 12:56:50 PM
Let know me know if you need any other girls made.
Do you think you can make a pack based on Ikkitousen?
Title: Re: General Discussion
Post by: Lurker on March 19, 2017, 12:57:43 PM
Yes, they are. In order to make a character show only in specific location you need to specify this location name in json. Like "location": "hiddenvillage_entrance". Then they can be met there, and only there.

You need to know the internal location name to do it, meaning you have to open locations files. They are located in game\library\screens\locations. For example, in beach_cafe.json the very first line is "label city_beach_cafe", that's the location name.
So it will be "location": "city_beach_cafe" in character file if you want her to be there.

I'm not really sure what will happen if you specify more than one location, never tried it  :D


Right. Currently all of the fairy tail chicks are marked with City. But i had some show up at the beach.
Title: Re: General Discussion
Post by: Lurker on March 19, 2017, 12:58:23 PM
Do you think you can make a pack based on Ikkitousen?


Sure thing.
Title: Re: General Discussion
Post by: DarkTl on March 19, 2017, 01:03:40 PM
Right. Currently all of the fairy tail chicks are marked with City. But i had some show up at the beach.
If you don't specify location, the game selects it based on traits. For example, for beach cafe
Code: [Select]
$ gm.enter_location(goodtraits=["Athletic", "Dawdler", "Always Hungry"], badtraits=["Scars", "Undead", "Furry", "Monster"], curious_priority=False)Meaning chars with these goodtraits will like that place. But not chars with badtraits.
Title: Re: General Discussion
Post by: Lurker on March 19, 2017, 01:07:54 PM
If you don't specify location, the game selects it based on traits. For example, for beach cafe
Code: [Select]
$ gm.enter_location(goodtraits=["Athletic", "Dawdler", "Always Hungry"], badtraits=["Scars", "Undead", "Furry", "Monster"], curious_priority=False)Meaning chars with these goodtraits will like that place. But not chars with badtraits.


Aaah. Thats pretty cool. :3


Another question: If i mark an image with just the outdoors tag without specifying (Urban, wilderness etc) Will the game choose that image at random in outdoor locations or do i need to specify?
Title: Re: General Discussion
Post by: DarkTl on March 19, 2017, 01:12:14 PM
Yes, the game will use it as universal outdoors image. Pretty often you only can see sky and maybe clouds, but you can't tell anything else about location. It's a perfect example of generic outdoors picture.
Title: Re: General Discussion
Post by: Lurker on March 19, 2017, 01:13:31 PM
Yes, the game will use it as universal outdoors image. Pretty often you only can see sky and maybe clouds, but you can't tell anything else about location. It's a perfect example of generic outdoors picture.


Good good. Just making sure since ive tagged alot of images like that xD
Title: Re: General Discussion
Post by: DarkTl on March 19, 2017, 02:06:47 PM
Btw we also use discord, you may try it too when you have questions.
https://discord.gg/4tT4qmW
Title: Re: General Discussion
Post by: Lurker on March 19, 2017, 02:17:21 PM

Cool cool ^^
Title: Re: General Discussion
Post by: Xela on March 19, 2017, 06:33:08 PM
@Dark:

You came up with some really dark scripted items while I wasn't looking :D It's all good but make sure to take those items off inventory source instead of equipment target, cause they could be spammed from heros inventory while equipping a char endlessly.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2017, 03:29:59 AM
Wtf? Scripted items with jump_to_label now used immediately after you select them in inventory, you don't even need to press the Use button!  :(
Title: Re: General Discussion
Post by: Xela on March 20, 2017, 03:42:09 AM
Wtf? Scripted items with jump_to_label now used immediately after you select them in inventory, you don't even need to press the Use button!  :(

I didn't change anything there??? Just changed labels, they are not logically bound to execution code. I'll take a quick look at that in the evening, don't use them for now. Whats even weirder is that I discovered them just yesterday and used the experience extraction thing many times...
Title: Re: General Discussion
Post by: DarkTl on March 20, 2017, 03:48:12 AM
You have to select usable item of course, if you select item that cannot be used by the character, nothing will happen.

It probably has something to do with items rewriting.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2017, 10:40:35 AM
I added 132 npcs for arena from my dropbox. It's much more than the number of random packs any time soon, so using rchars there becomes highly optional.
They are structured via folders names, so they probably don't even need jsons, we can just grab a specific one when needed.
Title: Re: General Discussion
Post by: DarkTl on March 20, 2017, 11:00:10 AM
You can also convert rest of NPCs to proper NPC Chars.
There are several npcs in game\content\npc\arena. And they are rather popular characters, most of them can easily have a full fledged pack. I suppose someone wanted to use them as enemies at arena, but it makes no sense to do so using unique, well known characters with many pictures. I'm deleting them.

That leaves only mobs folder, and while they can be converted into npcs, it achieves nothing.
Title: Re: General Discussion
Post by: Lurker on March 20, 2017, 11:56:11 AM
If i dont include an emotion or clothing tag on an image that one will be used for all emotions or clothes, correct?
Title: Re: General Discussion
Post by: DarkTl on March 20, 2017, 12:07:30 PM
They will be used in cases when we don't care about specific clothes or emotions. Or if we cannot find the needed clothes or emotions because the pack doesn't have them.

There are several npcs in game\content\npc\arena. And they are rather popular characters, most of them can easily have a full fledged pack. I suppose someone wanted to use them as enemies at arena, but it makes no sense to do so using unique, well known characters with many pictures. I'm deleting them.
And turns out these npcs are hardcoded into the arena and cause dozens ctds when removed -_-
I'll remove them once you update the arena.
Title: Re: General Discussion
Post by: CherryWood on March 20, 2017, 01:35:22 PM
And turns out these npcs are hardcoded into the arena and cause dozens ctds when removed -_-
I'll remove them once you update the arena.
Those are mine, really old from the time when arena was new. They were set in a way that worked with the old post-battle screen, but that's not the case anymore, so it's ok to remove them.
Title: Re: General Discussion
Post by: Xela on March 20, 2017, 03:32:50 PM
I am offline till Wednesday. Optical cable was damaged when crew mounted the router on the wall, I have a shitty g3 connection on my phone but not sure if thats gonna fly. Definitely not good enough for pulling/pushing anything. Gonna look into updating it to g4 tomorrow, they say it's a free upgrade if your phone can support it, I am not sure that my does but I'll try to find out...
Title: Re: General Discussion
Post by: DarkTl on March 20, 2017, 03:46:42 PM
Lol, nice crew  :D
Title: Re: General Discussion
Post by: Xela on March 20, 2017, 07:50:41 PM
Lol, nice crew  :D

Stuff? happens...

And turns out these npcs are hardcoded into the arena and cause dozens ctds when removed -_-
I'll remove them once you update the arena.

Isn't there a whole event scripted by CW around (some of) them? Barring that, I do not believe it's hardcoded and event will not crash anything unless triggered, about the same thing would happen if you removed pics for mobs without modding their JSONs. iirc, those guys are loaded from arena teams json file.
Title: Re: General Discussion
Post by: Lurker on March 20, 2017, 08:00:37 PM
Tag questions:
Whats the differance between Battle and Fight?

And whats the differance between Rest and Sleeping?

I can tag an image SFW and Striptease, will it still work as intended or does it need to be Nude and Striptease?

Whats Healing? Themselves or others?

Formal clothing are fancy dresses or snappy suits etc?


Girlsmeets tag is only for meeting girls you dont own or employ?
Title: Re: General Discussion
Post by: DarkTl on March 21, 2017, 02:08:35 AM
Fighting and sleeping are located in actions. Meaning character actually should DO them, ie fight with someone or actually sleep.

Battle and rest are general tags. For example, character could stand with a weapon in hand without fighting someone, and it may count as battle.
Or she could drink coffee sitting on a sofa, or reading a book under a tree, and it counts as rest.
Naturally, the same picture could be suitable for profile and battle, or for profile and rest. That's why you can freely use tags in the tagger.

I can tag an image SFW and Striptease, will it still work as intended or does it need to be Nude and Striptease?
If she's really SFW, without nudity, then yes. Otherwise we may show her SFW picture when we need a nude one.

Whats Healing? Themselves or others?
Others. Like casting non offensive spell, being dressed as a SFW nurse, have any kind of medical equipment in hands, etc.

Girlsmeets tag is only for meeting girls you dont own or employ?
It's used in interactions with hired ones too.
Basically, it's a picture when character stands straight, not under unusual angle or something, and looks in the camera. Ie when you talk with her.
Mostly with monotonous backgrounds, but not necessarily too. You can take a look as GM pictures in my packs, the tagger allows to quickly find pictures with needed tags via mask option.

Of course the same picture may be suitable for both profile and GMs.
Title: Re: General Discussion
Post by: DarkTl on March 21, 2017, 02:14:28 AM
Isn't there a whole event scripted by CW around (some of) them?
Really? I never noticed, so I thought they are just generic fighters.

It's weird to use popular characters with many hundreds pictures as npcs though, especially when there are many thousands less popular characters who can never have a pack without tons of rendering, but still have enough pics to be npcs at the arena.
But ok, we can find a solution if one day those chars will have full packs.

Actually, I got an idea. I have many characters in mind who can never have a pack, but have enough pics for the arena. I guess I'll add them as arena npcs while you coding jobs and SE.
Title: Re: General Discussion
Post by: Lurker on March 21, 2017, 02:58:48 AM
Alright cool. Then i've been doing it mostly right. :3
Though ive tagged a few nurse outfit images with Profile and Nurse clothing since i figure they'll show if you equip em with said nurse outfit. xD
I'll go back and change that if need be. Or atleast look it over.


Anywho.. Here's some Ikkitousen.
https://mega.nz/#!TdR2VQjB!CXxeT3Aci1XYJbifJs-AyQ77ylOw2DHpiQw-O_1SNkw
Title: Re: General Discussion
Post by: DarkTl on March 21, 2017, 06:01:44 AM
Though ive tagged a few nurse outfit images with Profile and Nurse clothing since i figure they'll show if you equip em with said nurse outfit. xD
If there are no healing pics, we'll try to show nurse+SFW. But not every healing picture has nurse outfit, that's why there is healing tag.

Formal clothing are fancy dresses or snappy suits etc?
Well, formal is formal. Dresses suitable for special occasions, which are not usually worn by the character. Stuff like long evening dresses goes there, but it's not a strict category. Unlike the bunny outfit tag, where it only can mean bunny outfit.

Anywho.. Here's some Ikkitousen.
I'll take a look later, can't access mega at work  :)
Title: Re: General Discussion
Post by: DarkTl on March 21, 2017, 11:23:12 AM
Here's what I propose for arena chars: they will be like normal packs, but with very low number of pictures. Only sprite and one portrait will be mandatory (for BE), all others are optional, and used when you interact with the character.
If they have at lest some sex pics, limited intimacy will be available. If they don't have any, they they only will fight at arena - maybe more in the future, like hiring them as guards/party members.

I started to build such a pack for testing based on Arcana Heart. Most characters there have about 30 pictures at best, so they only could be used in special, small packs. With such low number of pictures it won't take long, but at the same time will provide many characters.
Title: Re: General Discussion
Post by: DarkTl on March 21, 2017, 11:28:35 AM
Anywho.. Here's some Ikkitousen.
Well, it gives ctd because at least one character has untagged images  :D
We check for it before launching the game, so it's important to not have any unfinished pictures in packs.
Title: Re: General Discussion
Post by: Lurker on March 21, 2017, 01:03:55 PM
Missed the portraits on one girl it seems.
https://mega.nz/#!HIpizRrA!qMAKr30bd__YxdJuP0y7YN-Ag9Gs8DQGLzrJ6_lVIrk


Title: Re: General Discussion
Post by: CherryWood on March 21, 2017, 01:10:04 PM
It's weird to use popular characters with many hundreds pictures as npcs though, especially when there are many thousands less popular characters who can never have a pack without tons of rendering, but still have enough pics to be npcs at the arena.
But ok, we can find a solution if one day those chars will have full packs.

Actually, I got an idea. I have many characters in mind who can never have a pack, but have enough pics for the arena. I guess I'll add them as arena npcs while you coding jobs and SE.
Characters from Rance and Umineko didn't have enough pictures for a pack, Tsukihime-melty blood girls do, but that team was just a reference to the carnival phantasm series without a serious though about it. (I have satsuki as a pack, but not planning atm to create other girls from that series)

I like the idea of small characters, besides arena, they could be useful for some generic events, especially if they have that sex pic  8) . Sounds like venturing into random girls territory a bit, but why not?

Dunno if I be able to join the development again, but I'm at least updating my girls datafiles. I managed to get most of the old stuff like custom items, scenes and unique speech lines working again, now I'm lookind what I can do for the girls with that new skill system and animations.


BTW: I like the new look of the Café on main street, but the girls working here look really weird with that table in the middle  :( 
Title: Re: General Discussion
Post by: DarkTl on March 21, 2017, 01:55:24 PM
Yeah, you right. I'll try to move them to the left or cut the picture to remove the table.

If you want to, you could make a few small packs for the arena for unpopular characters. It won't take much time and effort, but it still will help a lot. I suppose they could use the same jsons as normal unique characters, but with some additional field to show that the pack is small, which we can always add later.
It doesn't take as much time as usual packs, I finished 5 characters under a hour simply because they don't have any more pictures anywhere.

Title: Re: General Discussion
Post by: Lurker on March 22, 2017, 04:09:05 AM
If i mark an image with an Action (Striptease, Study, read etc) do i need to mark it with Profile, Girlsmeets etc or is the action tag enough?
Title: Re: General Discussion
Post by: Xela on March 22, 2017, 05:17:16 AM
My net is back! I'll take a look at whatever I promised to look at before it went down tonight, working on jobs/tiers as time permits.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2017, 06:08:38 AM
If i mark an image with an Action (Striptease, Study, read etc) do i need to mark it with Profile, Girlsmeets etc or is the action tag enough?
It's enough for the game to use the picture for that tagged action, yeah. We only need SFW or Nude tag no matter what, that's why the tagger does not allow to select an action before you select one of them.

My net is back! I'll take a look at whatever I promised to look at before it went down tonight, working on jobs/tiers as time permits.
Welcome back  :)

We gonna cover chars with small amount of pics by adding them to arena and, as much as possible, to other places like neutral/rival SE teams. They are structured like normal unique packs, but with really low amount of pictures (10-30), therefore they are not available for hiring or usual interactions like normal chars, and cannot have a full fledged pack anyway.

Maybe they need their own folder, dunno. They probably will have a special field in character json, like "small_pack": "True".
Title: Re: General Discussion
Post by: Xela on March 22, 2017, 06:27:33 AM
Quote from: DarkTlMaybe they need their own folder, dunno. They probably will have a special field in character json, like "small_pack": "True".
[/quote

If we load them from special folder, tag is redundant... it's your choice, whatever you keep is more convenient. If you want to put them in char/rchar folders, than we need that field indeed, if someplace special, like: simple_chars for example, we can just flag them when loading from it.
Title: Re: General Discussion
Post by: DarkTl on March 22, 2017, 09:55:45 AM
They will have limited interactions, based on existing pictures. Like, if there are sex pics, sex will be available under certain conditions, such as defeating them at arena.

Anyway, for now fix jump_to_label consumables.
Title: Re: General Discussion
Post by: Xela on March 23, 2017, 03:19:04 AM
I'd love to, but I took a look at it yesterday and again this morning. So far I can't figure out what exactly is causing an instant jump, my best guess is that it's dummy mechanics and I need to guard against it better but I still don't see wtf it just jumps. Gonna check again...
Title: Re: General Discussion
Post by: DarkTl on March 23, 2017, 03:30:03 AM
Almost in all cases their effects cannot be interpreted by dummy, that's why we jump to a label after all, to handle complex, unique logic.

Might as well disable dummy completely for such items.
Title: Re: General Discussion
Post by: Xela on March 23, 2017, 03:35:14 AM
I never know why these things just break down during refactoring... in either case, code that governed it was imprecise, this is much better:

Code: [Select]
            # if direction and getattr(store, "dummy", None):
            if getattr(store, "eqtarget", None) is self:
Title: Re: General Discussion
Post by: Lurker on March 23, 2017, 08:18:02 AM
Dragon Quest


https://mega.nz/#!OYJgwCYK!4icn0WGkK11xyDInQhccON1BbDcfxL8WTJ-ivWgB564
Title: Re: General Discussion
Post by: Xela on March 25, 2017, 12:54:33 PM
Kewl.

I did some work on jobs/tiers but everything is broken to the point that I can't launch the game atm. I'll see if i can debug to the point of pushing tomorrow or early next week.
Title: Re: General Discussion
Post by: DarkTl on March 25, 2017, 01:47:38 PM
I'm going to add info about items, such as the values of mtemp and ctemp fields, to items gui. Otherwise it's too confusing without the knowledge about game mechanics and reading items jsons.
Title: Re: General Discussion
Post by: Xela on March 26, 2017, 03:19:11 AM
I'm going to add info about items, such as the values of mtemp and ctemp fields, to items gui. Otherwise it's too confusing without the knowledge about game mechanics and reading items jsons.

Same setup as for the traits info?
Title: Re: General Discussion
Post by: DarkTl on March 26, 2017, 06:09:59 AM
I think it's done, now along with stats changes the game shows special fields, ie mtemp, ctemp, mdestruct, statmax and mreusable.

Although even with these fields misc items logic can be vague without a proper explanation. And I'm not sure where to explain it. I could add a book about it to library, but it's still not an obvious place to look for items mechanics explanations.

We still need to show skills changes for items, probably in the same way as we do it for traits. But since it required your coding skills for traits, it also requires them for items  :)
Title: Re: General Discussion
Post by: Lurker on March 26, 2017, 11:55:02 AM
Should a make a girlpack post in User Mods or where do you want it?


Anywho here's some Bleach.
https://mega.nz/#!vdZBmYhY!TM8TZxAmhxPGNdgEYwQBLfyZ1ZzaDX3c9I8yszJ7stI
Title: Re: General Discussion
Post by: Xela on March 26, 2017, 02:20:39 PM
Should a make a girlpack post in User Mods or where do you want it?

I am not sure, just make it here, I can always move it to mods section if something is off with the packs and you're no longer around or interested in fixing them.

We still need to show skills changes for items, probably in the same way as we do it for traits. But since it required your coding skills for traits, it also requires them for items  :)

I'll take a look at what you did and if we can implement the skills for items in the same way as traits. I was thinking of maybe doing that under "pro-stats" or that is useless and should be removed.
Title: Re: General Discussion
Post by: Xela on March 26, 2017, 06:23:41 PM
Oki. Took some doing but I hooked up skills info from items to the screen. It's in the left side, Skills button (former Pro Stats). I've also (hopefully) reliably restored tooltip so it can be used to expand on stuff we display on the screen when item is selected. I've also tried some icons instead of A: K: labels to represent knowledge and action parts of the skills but nothing seems better than plain letters...
Title: Re: General Discussion
Post by: DarkTl on March 27, 2017, 08:37:28 AM
Looks good. But I think you forgot about the other items screen which is used in shops and at the items transfer screen. If you take a look at my last push, I changed two files.

Although I have no idea where to show it there. Perhaps just do not show skills there?
Title: Re: General Discussion
Post by: Xela on March 28, 2017, 01:38:46 AM
Perhaps just do not show skills there?

Yeap. We can always improve the interface but I don't believe that we show a lot of info about items in the shop. Also, don't forget that we planned to reveal full info only to well developed MC at some point in development.
Title: Re: General Discussion
Post by: Xela on March 29, 2017, 10:55:28 AM
Oki... so, jobs/tiers are not going to pen out the way I wanted. The per job approach I now took is a lot better than the original plan (which was to focus everything in tier class) but still has issues, like for example we cannot reliably guess stat levels at specific tier. Good news is that it now seems possible to level up character to specific tiers. I will soon hook up ideas like dream job and current jobs to logic and take another shot at moving Jobs code to simpy land.
Title: Re: General Discussion
Post by: DarkTl on March 29, 2017, 12:04:23 PM
Just try to preserve image logic for whore jobs. It wasn't easy to come up with all those tags elifs to cover all possibilities.
Title: Re: General Discussion
Post by: Xela on March 30, 2017, 03:12:39 AM
Just try to preserve image logic for whore jobs. It wasn't easy to come up with all those tags elifs to cover all possibilities.

That's the easy part, those methods are all like individual funcs...
Title: Re: General Discussion
Post by: DarkTl on March 30, 2017, 09:30:10 AM
Aaand I finished another huge random pack, the pink one. 1200 pictures this time. I don't even bother with jsons for them, since all color packs are the same, just with different id.

Guess I'll improve tavern minigames now.
Title: Re: General Discussion
Post by: Xela on March 30, 2017, 10:43:42 AM
Kewl.

I am gonna try to figure out new job methods...
Title: Re: General Discussion
Post by: Xela on March 30, 2017, 12:56:05 PM
Yeah... I am going to call it a night and work on Jobs on Saturday morning, I am too tired in evenings to work on stuff this complex and there is nothing simple on the table atm.
Title: Re: General Discussion
Post by: DarkTl on March 31, 2017, 09:39:58 AM
I don't see any difference at the equipment screen between short and tall values of the height field. I wonder if it's intended, I don't remember.
Title: Re: General Discussion
Post by: Xela on April 01, 2017, 02:07:45 AM
Me neither. Short/Tall works with the vnsprites and be iirc, but there are ways to call them without it.
Title: Re: General Discussion
Post by: DarkTl on April 01, 2017, 03:04:37 AM
I mean, it's only to our advantage if sprites have fixed size at the equipment screen. Because characters will have more or less the same height, and thus popups to show lines at the equipment screen can be at the same height all the time, without the need to adjust them somehow.
Title: Re: General Discussion
Post by: DarkTl on April 02, 2017, 11:28:12 AM
Code: [Select]
            checking_list = [2, 3, 4, 5, 6]
            for i in dice_1:
                if i in checking_list:
                    result_1.append(i)
                    checking_list.remove(i)
I wonder how to make it in one line in python. It checks if elements of dice_1 are in checking_list, but without repeats.
Title: Re: General Discussion
Post by: Xela on April 02, 2017, 02:36:53 PM
Prolly not a good idea to operate on two lists with a one liner, you'd either have to wrap both methods in a func or write some goofy looking code.
Title: Re: General Discussion
Post by: Xela on April 04, 2017, 05:58:52 AM
Any requests to improve job logs? Right now we have one large log for the building and a lot of smaller event logs. We could do just the one large log or per business logs or ...?
Title: Re: General Discussion
Post by: DarkTl on April 04, 2017, 07:44:33 AM
I have issues with next day atm, so if there are any changes, I cannot see them anyway.
Code: [Select]
  File "game/library/screens/next_day.rpy", line 120, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 120, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 107, in script call
    call next_day_calculations
  File "game/library/screens/next_day.rpy", line 168, in script
    $ building.run_nd()
  File "game/library/screens/next_day.rpy", line 168, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core_buildings.rpy", line 510, in run_nd
    self.env.run(until=101) # 101 will run events at 100 so it is more intuitive to manage.
Exception: (TypeError('acts() takes exactly 3 arguments (1 given)',), '<Process(request_room) object at 0x136bbfb0>')


1) We have several issues on the repo related to jobs, don't forget about them.

2) Per building log seems logical enough. However, we could use sorting by business inside it. Like, watch only cafe related parts.

2) Aside from it, currently it's not easy to watch over your business because you have to browse through all personal events at once.

Reading reports about characters activities during next turn may be fun, but it should be optional. There should be a place where all important events will be visible at once. Such as being attacked, leveling up, having no job without a reason, etc.

You report about them via so called red flags, encouraging players to look at personal reports to find out what's wrong. But often it means browsing through many dozens if not hundreds pages to find out what's wrong.
Maybe it should be possible to hide all unimportant personal reports, leaving only red flags.
Title: Re: General Discussion
Post by: Xela on April 04, 2017, 08:02:17 AM
I have issues with next day atm, so if there are any changes, I cannot see them anyway.
Code: [Select]
  File "game/library/screens/next_day.rpy", line 120, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 120, in script call
    call next_day_controls
  File "game/library/screens/next_day.rpy", line 107, in script call
    call next_day_calculations
  File "game/library/screens/next_day.rpy", line 168, in script
    $ building.run_nd()
  File "game/library/screens/next_day.rpy", line 168, in <module>
    $ building.run_nd()
  File "game/library/businesses&buildings/classes - core_buildings.rpy", line 510, in run_nd
    self.env.run(until=101) # 101 will run events at 100 so it is more intuitive to manage.
Exception: (TypeError('acts() takes exactly 3 arguments (1 given)',), '<Process(request_room) object at 0x136bbfb0>')


I've pushed a fix for this (just the whore job) hours ago. That said, jobs code is completely out of whack, I thought I got the main line working but there are really bad logical errors there. Like for example we would iterate over all workers running check_occupation method that logs flags and stats... leading to some horrific issues that would be close to impossible to track as they don't throw any errors.

I would disable all Businesses and just work on other stuff for the time being.

1) We have several issues on the repo related to jobs, don't forget about them.

I know.

2) Per building log seems logical enough. However, we could use sorting by business inside it. Like, watch only cafe related parts.

Should be possible without too much fuss... but this sorting will have to wait a while.

2) Aside from it, currently it's not easy to watch over your business because you have to browse through all personal events at once.

Reading reports about characters activities during next turn may be fun, but it should be optional. There should be a place where all important events will be visible at once. Such as being attacked, leveling up, having no job without a reason, etc.

This is incredibly time consuming to implement but I will be moving logs to their own classes that may allow stuff like this.

You report about them via so called red flags, encouraging players to look at personal reports to find out what's wrong. But often it means browsing through many dozens if not hundreds pages to find out what's wrong.
Maybe it should be possible to hide all unimportant personal reports, leaving only red flags.

Should already be possible, maybe buttons are disabled.
Title: Re: General Discussion
Post by: DarkTl on April 04, 2017, 09:50:10 AM
This is incredibly time consuming to implement but I will be moving logs to their own classes that may allow stuff like this.
If only we could simply look at red flags without dozens unimportant events, it already would be insanely useful. But...
Should already be possible, maybe buttons are disabled.
...I tried everything, I don't see a way to do it.

Btw some buttons during next day have incorrect size due to renpy updates.
Title: Re: General Discussion
Post by: Xela on April 04, 2017, 11:12:42 AM
Oki, we'll have to update the interface a bit either way, we'll add/restore flags sorting then.
Title: Re: General Discussion
Post by: Xela on April 04, 2017, 11:17:46 AM
It's so weird how I get caught up in existing code structure missing the best and most obvious solutions... instead of all the loggers and passing flags around, we should just create NDEvent as the job starts and log everything to it, doing that at the end of a job makes no sense.
Title: Re: General Discussion
Post by: Xela on April 04, 2017, 05:26:46 PM
I've tried two poker variants, one with hbox and bouncing, another with fixed and full control. You can revert on my last push to see what hbox variant looked like. We can add bouncing effects to none selected dice under fixed as well but it will not look as weird as with hbox :D

Fixed does allow other cool effects like the zoom/rotate thing that I did.
Title: Re: General Discussion
Post by: DarkTl on April 05, 2017, 07:01:35 AM
Can't pull atm, take a look tonight.

I wonder how to show a picture with required tags of random character.
I mean not rchar, but just randomly picked character, no matter if random or unique.

I suppose one way is to select character randomly and then just show required tags via normal means. But methods of accessing chars and rchars are different.
Title: Re: General Discussion
Post by: Xela on April 05, 2017, 07:02:46 AM
You can always access chars database directly I suppose...
Title: Re: General Discussion
Post by: DarkTl on April 05, 2017, 12:27:52 PM
Wow, those rolling dices animations are awesome  :D

Code: [Select]
self.days_depressed = 0This part of char class is probably left from old code? Because I added depression effect not too long ago, and, being an effect, it has its own counter and doesn't need additional ones.
Title: Re: General Discussion
Post by: Xela on April 05, 2017, 12:39:27 PM
Prolly before we had flags and auto counter within those flags.
Title: Re: General Discussion
Post by: Xela on April 08, 2017, 06:44:41 AM
I am getting sort of an anderaline rush from new job setup :D It is by no means perfect but it finally makes perfect sense. Whore Job has been recorded and works again! Gonna see if I can clean it up a bit more and start updating other jobs.

Skills/Stats check methods have not been updated to tiers yet but we'll prolly do that together along with payouts.
Title: Re: General Discussion
Post by: Xela on April 08, 2017, 08:30:37 AM
Oki, before moving forward with jobs, I need to update how we're handling finances. Methods are name oddly, we can prolly just inherit from the class when appropriate.

Edit:
And there are two TODOs that been around there forever:
Code: [Select]
        TODO: This is fairly old, I should be able to do better now.
        TODO: Naming of methods could be better.
Title: Re: General Discussion
Post by: Xela on April 27, 2017, 03:18:44 AM
PyTFall development is on hold this week. I've been ill for three days and we want to bring out closed demo of Babe Runner before the end of the Month.
Title: Re: General Discussion
Post by: lamoli on May 03, 2017, 11:29:14 AM
Changing from G2f to G3f as it supports facial rigs ( meaning it will be way easier to still use common expression while making it easier to morph the face to look like the character we want ) but doing so.. i need to remake my auto joint correcting blender rigged model use the G3f model..
Once its done it will be easy to explain to you how to use it and help me create new characters..


For the clothing department i found a way to combine MD physics with Daz auto conforming clothing.. so as long as you have a good MD model ( you can simulate the clothing moving like in real life then you can add the morph deltas from Daz in blender to make a Auto conforming clothing with RL physics)


For the Hair i thing i will make them in MD from clothing strings sewed into some hard fabric simulating the hair Cap..


For the BG i finally got my hands on amazing PBR material node to make anything metal or non metal and from them.. have the near if not perfect RL looks.. 
so even if my character are less toon like the BG will be good enough for RL look like ppl..


Once everything is in place ill do some renders to show you the results ( and if everything goes as planned ) it will be way way simpler that i had to do in the past.. or at least enough for more ppl to help out..


And i do Hope Pytfall continues as nothing as well developed currently exists..
Title: Re: General Discussion
Post by: Xela on May 03, 2017, 02:27:42 PM
...

Most people around here know very little about 3D Rendering. You'll have to expand on abriviations like G2f, G3f, MD and PBR :)

And i do Hope Pytfall continues as nothing as well developed currently exists..

Absolutely, we'll resume development next week. I've spent a lot of time this week polishing BR and setting up Patreon, YouTube, Discord and Twitter accounts. Official release date is set to 20th of this month, Patreon release of the demo will take place on this Saturday :)
Title: Re: General Discussion
Post by: DarkTl on May 20, 2017, 10:07:59 AM
We released a demo of another game made by our team meanwhile (https://www.pinkpetal.org/index.php?topic=3833.0).

It doesn't mean that we stop working on Pytfall, on the contrary it means that we work on Pytfall and other, more simple games at the same time.
Title: Re: General Discussion
Post by: Xela on May 29, 2017, 06:52:24 AM
We're working on PyTFall again!

- Poison Skill (BE) has been updated for Beta.
- I've resumed working on new SimPy Jobs/Businesses, focusing on StripJob.
Title: Re: General Discussion
Post by: lamoli on May 30, 2017, 06:12:59 AM
After more testings..


I found out that original dynamic clothing (clothing that drapes like in real life) made with MD works as expected.. as for when i apply the body conforming morph on that simulation i have errors.. ( body parts poking thru ) but if i re simulate the morphed clothing all goes well but elastic property ( as its not a clothing made from MD anymore so its lost )


Then again it only shows when bending applies and only on specific items like panty.. so in nearly all the clothing we might create its like 1-3% of them that would need manual fixes if needed and the rest will be fully automated form converting a body shape to another..


Current update status:
1.G3F with all bending joints correction Done...
2.Load any morph made or converted for G3F Done...
3.Load any pose from G3F Done...
4.Facial rig fully operational Done...
5.Reshape the face thru blender moving facial rig bones (may need remodeling if extreme movements) Done...
6.Load any converted clothing from G3F or morphed MD clothing (to match new body shape).. then turn them into dynamic ones (knowing elastic property from MD wont work) Done...
7.Load MD dynamic clothing made from that specific character ( with everything working as it should ) Done...
8.Create hair types in MD for their dynamic simulation to replace hard rigged or pose-able hairs (as they look fake in most cases since they only bend from joints to joints with weight envelopes) while the MD one need less work as they will automatically fall with gravity and will have body and clothing collisions and the natural bending they should have In Progress...
9.Scene elements In Progress...
10. PBR Materials for realistic looks (i still want unrealistic result for character of BG for anime look alike for end results) Done..
11. Volumetrics like fog/steam/smoke In Progress...
Title: Re: General Discussion
Post by: Xela on May 30, 2017, 07:20:01 AM
Sounds great! And still no explanation on abbreviations :)
Title: Re: General Discussion
Post by: lamoli on May 30, 2017, 02:21:22 PM

G3F ( Genesis 3 Female ) base model From Daz Studio
MD (Marvelous designer) to create clothing from pattern you sew and create the dynamic clothing animation
PBR (Physically Based Rendering) to get materials as close as reality.. mostly used for movie production

Here the result without morph ( original with MD elastic )

https://www.dropbox.com/s/dl728hpsg4o22da/1withoutmorph.avi?dl=0 (https://www.dropbox.com/s/dl728hpsg4o22da/1withoutmorph.avi?dl=0)

And with morph to adapt to any shape..
https://www.dropbox.com/s/pgg1a56hvrakp6v/2brokenelastic.avi?dl=0 (https://www.dropbox.com/s/pgg1a56hvrakp6v/2brokenelastic.avi?dl=0)

Between the 2 i just increased waist width and boobs size.. the most common changes..

Im trying to find another case where when the elastic is removed it might cause a problem..

Edit:
hmm i might still get the elasticity.. i could make the shape a lil smaller then pull parts where they should be.. this way the simulation will still get same shape it should have in the end but with elasticity effect.. im gonna try this one out..   

Title: Re: General Discussion
Post by: Xela on May 31, 2017, 01:31:16 AM
Why did you drop previous design(s)? Those were really good as well!

Clothing doesn't really have to be "natural" cause even in a lot of H-Pics we use in PF, artists often do not bother with that...
Title: Re: General Discussion
Post by: lamoli on May 31, 2017, 05:52:50 AM
Just tested it and it worked like a charm :D


So now even if they where not made by MD i still get all the good effects of clothing..


I didnt drop the old ones i can now convert then using this method to turn them into dynamic clothing..
(well they where made for G2F and another body morph but its easy to convert them to my new G3F new body morph just like 5 clicks and moving a slider then send them to MD for physics calculations)


I changed the method because the old one used vertex weights witch need hours and hours of tweaking to get a skirt move right (or any other joints) when legs are moving ( in the past i had to manually correct all those errors by hand.. and before asking anyone else to help out i had to simplify everything possible as you might not be as good as me with vertex pulling lol ) while in this method you just let the program move the clothing for you in the right way.. (well sometimes you need to pin some parts but really easy to do so)


If i compare the 2 now.. its hours saved on more complex clothing for a natural clothing draping VS pulling hundreds/thousand vertex by hand for a average clothing position.
Title: Re: General Discussion
Post by: lamoli on May 31, 2017, 05:58:40 AM
Btw where you talking about clothing design or character design ?


If its character made this body morph as its a general base for lots of anime character but i can still re use all the shapes i had before.. like i said its only a few clicks then pulling a slider..


As for the bra and panty i used for simulation its MD base i made where i can cut any underwear shape i want(or at least get the rough shape of it that i can tweak much faster then having to do it from scratch)
Title: Re: General Discussion
Post by: Xela on May 31, 2017, 06:22:15 AM
I was mostly talking about character. If this saves a lot of time in the long run, tis great. Otherwise you keep improving something that doesn't really require any improvement :)
Title: Re: General Discussion
Post by: lamoli on May 31, 2017, 06:31:51 AM
Indeed i agree..


But i had to rebuild my joint auto-correction for the next gen G3F as almost nobody uses G2F anymore ( meaning now i will have a much bigger template base than before from the community that i could tweak on ) not to mention that auto correction of G3F is much better than what i had in G2F meaning even better look alike poses even on extreme bending (i still had problems with G2F sometimes and needed a minor fix)


so now..


i can use the newly made G3F body morphs if any useful
and the G3F content like clothing/accessory/hair/....


well i could still have convert them to my old G2F but lots of useless conversions and fixing for nothing...


Also 1 of the main reasons i used i thinner base body than before is ... when you morph the body for a character who has more volume like my older model i have no fixing to do ( scaling up has no errors while down does ) after finding out that i switched from old shape to new shape on my G3F base.(and after my new finding for elasticity i always need something a lil smaller for it to work perfectly when its needed )
Title: Re: General Discussion
Post by: Xela on May 31, 2017, 06:47:38 AM
Valid reasons :)

But this basically means that you'll have to start from scratch cause perfectly mimicking old model might take more time than making a new one? We almost had half-a-random girl iirc.
Title: Re: General Discussion
Post by: lamoli on May 31, 2017, 07:34:09 AM
Well not really.. since i originally made my old model as G3F first but when i noticed the clothing morph scaling down error i made the thinner version.. what need to be done is to convert G2F poses to G3F ones.. there is a batch converter for that that works well ( but it has a fail lol you need to re save them all 1 by 1 else you get errors )


i had 84 poses.. so its 84x loading them and 84x saving them then i have what i had before but on a upgraded model version..
Title: Re: General Discussion
Post by: lamoli on May 31, 2017, 07:40:16 AM
Ohh lol your already using spine animations in babe runner.. did spine was added to renpy or you used something else ?
Title: Re: General Discussion
Post by: Xela on May 31, 2017, 11:55:58 AM
Ohh lol your already using spine animations in babe runner.. did spine was added to renpy or you used something else ?

Those are PNG sequences imported from spine... there is no real implementation yet.
Title: Re: General Discussion
Post by: lamoli on May 31, 2017, 06:29:40 PM
Same but with old base morph..


https://www.dropbox.com/s/usoslm42ei0w3n7/3Witholdbaseshape.avi?dl=0
Title: Re: General Discussion
Post by: Xela on June 01, 2017, 01:47:36 AM
Looks really similar to the previous version.
Title: Re: General Discussion
Post by: lamoli on June 01, 2017, 03:04:58 AM
Ok now its confusing.. previous as in the 2 last ( shrimp body version ) or my oldest one you liked ?
Title: Re: General Discussion
Post by: Xela on June 01, 2017, 06:07:44 AM
I liked the second, less skinny version and it's really hard to envision how this will actually translate to the sprites themselves.
Title: Re: General Discussion
Post by: lamoli on June 02, 2017, 07:17:18 AM
VNSprites ?


Like this (but with clothing when needed)
(https://s20.postimg.org/7yc0niunt/VNSprite.png) (https://postimg.org/image/7yc0niunt/)
Title: Re: General Discussion
Post by: Xela on June 02, 2017, 07:32:30 AM
This is clearer... different hair is needed, this one is shaped really poorly.
Title: Re: General Discussion
Post by: lamoli on June 02, 2017, 12:44:40 PM
yeah witch is why i still have the hair development still in progress stage..


But i already have better ones but they lack physics and hard to control them to fall as they should..
Title: Re: General Discussion
Post by: Xela on June 02, 2017, 01:48:03 PM
Well... it's like PyTFall's buildings and jobs then, uglier and less cool due to optimization and modernization :)

Still loads of work to be done everywhere!
Title: Re: General Discussion
Post by: lamoli on June 02, 2017, 02:07:53 PM
just grabbed the hair online..


(https://s20.pixxxels.org/qj08ulg3d/VNSprite1.png) (https://pixxxels.org/image/qj08ulg3d/)


of course i need to rig it right but its fast..


But what i want is the same but dynamic and this might take time.. but in the mean time there plenty of amazing hair there..


http://moogleoutfitters.deviantart.com/gallery/47851035/Hair-Female (http://moogleoutfitters.deviantart.com/gallery/47851035/Hair-Female)
Title: Re: General Discussion
Post by: Xela on June 02, 2017, 02:11:43 PM
Yeap, this one is light-years away :)
Title: Re: General Discussion
Post by: lamoli on June 03, 2017, 09:18:40 AM
Dark could you find me references where those frilly things appears ?


(https://s20.pixxxels.org/ojstuo0jd/Extras.png) (https://pixxxels.org/image/ojstuo0jd/)


i remember some around neck and thigh.. and there more than 1 model but somehow i have a hard time finding those..
and what other items goes with those in general..



Title: Re: General Discussion
Post by: DarkTl on June 03, 2017, 12:35:40 PM
Yeap. It's usually a maid outfit, or some fancy formal clothes. Rarely nurse.

https://www.dropbox.com/sh/ggn0yjukbw6smco/AAA47KP8vDr47Ag1Ziw1P_Aoa?dl=0 (https://www.dropbox.com/sh/ggn0yjukbw6smco/AAA47KP8vDr47Ag1Ziw1P_Aoa?dl=0)

I can say that clothes themselves often have similar frills around the edges, but not always.
Title: Re: General Discussion
Post by: lamoli on June 04, 2017, 01:52:25 PM
Somehow its really hard to find good references for prostitute job pose/clothing/bg..
So far i like those but thats not enough i need more sample of clothing (as its the rarest lol)


https://www.dropbox.com/sh/8043b2tojza1n1l/AACGiCO-nyNb4nDOvpFIa5lya?dl=0 (https://www.dropbox.com/sh/8043b2tojza1n1l/AACGiCO-nyNb4nDOvpFIa5lya?dl=0)
Title: Re: General Discussion
Post by: lamoli on June 05, 2017, 04:44:45 AM
Just to be clear about prostitutes job..


They will have ranks ( from the old code iv seen if the difference of their current rank and class of customer (beggar-prince or something) is too great looking down she will refuse the job..


This implies there will be cheap(for flee bottom ppl) average(for midtown ppl)high class(for richford ppl)prostitutes ?
and by this i mean shoulnd they wear types of clothing related to their rank (for girl job sprite) ?
i think it would be bad if the highest ranked prostitute serving a noble from richford would wear the same cheap/vulgar clothing as a flee bottom one (unless if the client fetish but the again job profile picture should show the high class/refined clothing even if she cosplay on the act render)


And this is my problem making prostitute clothing.. finding cheap/vulgar is really common.. but high class is rare and the i have to mix the 2 to create the mid class (as it in general all or nothing)..


I really need help finding those high class samples so if you get some free time browse up the net to find me some more.


then i could create them and finally make random girls packs.(as it the clothing type where i need more than 1 or 2 outfit.. and i have whats needed for the other jobs.)


Like..

(https://s20.pixxxels.org/ttp2dumyh/sample-96618a503adbf8d4df5ecb4a8ff904e8.jpg) (https://pixxxels.org/image/ttp2dumyh/)(https://s20.pixxxels.org/cf4u5kptl/sample-449edaaccf821dd3941db3aebabb06d7.jpg) (https://pixxxels.org/image/cf4u5kptl/)(https://s20.pixxxels.org/7b8z3mpbt/d8955e32c9170f4f286ef09c13b44240.jpg) (https://pixxxels.org/image/7b8z3mpbt/)(https://s20.pixxxels.org/txeagd321/2ad554e45638c88e8b9817622c31d0f5.jpg) (https://pixxxels.org/image/txeagd321/)(https://s20.pixxxels.org/lwzzrvm49/download.jpg) (https://pixxxels.org/image/lwzzrvm49/)(https://s20.pixxxels.org/bo7im1y2h/hqdefault.jpg) (https://pixxxels.org/image/bo7im1y2h/)(https://s20.pixxxels.org/d0p7nxvi1/cilou_freezing_genessa_roland_girl_dress_stockin.jpg) (https://pixxxels.org/image/d0p7nxvi1/)
Title: Re: General Discussion
Post by: DarkTl on June 05, 2017, 12:41:21 PM
There will be tiers in beta for all classes, yeah. Not just for prostitutes alone, all classes will have tiers.
More tiers for important jobs (like prostitute) and less for minor jobs (for example cleaner). I think about 10 for the former and 3-5 for the latter. This allows us to use complex and interesting logic, and also balance jobs properly.

But if we go that way with clothes too, all job will need multiple versions of clothes depending on average tier level, not only prostitutes. At least two versions for minor jobs and three for important jobs.
Which is achievable too of course, but will take huge amount of time and even more imagination. If you really willing to render that much, I propose to expand packs post beta  :)


Also, prostitute job by itself doesn't have a special tag. This is because such pictures are very rare indeed, I mean when you can look at the picture and realize immediately that it shows a prostitute. So we simply show sex scenes, assuming that customer already hired the character.
In case if we'll ever need to show prostitute job without sex, it probably just will be underwear.
Title: Re: General Discussion
Post by: lamoli on June 05, 2017, 05:28:56 PM
Yeah during the act most of her clothing will be stripped down to underwear.. witch is why its hard to make profile picture prostitutes as nobody makes them ( they all do the during the act version lol ) well from the sample iv shown you should understand what im after.. if you see something that could fit just save it up for me..


For now im building parts of clothing from previously shown pictures ( all dynamic clothing )


From 2nd pic(luka) previously posted..
(https://s20.pixxxels.org/l56ik5wop/Extra.png) (https://pixxxels.org/image/l56ik5wop/)
only did a approximate pose.. to have something close to tweak how the clothing should look like


Well my plan was to get at lest 2 variation and different camera angles for every job.. else a big problem for rchar so ill make everything over time yes..
Title: Re: General Discussion
Post by: DarkTl on June 06, 2017, 11:50:40 AM
I would propose to do it in the same way as 2D artists do. When they draw prostitution, they show money in character hand/pockets/whatever or just near her.
https://assets.gelbooru.com/samples/ee/07/sample_ee0798904bcff4c25f3a6d958c2d9f10.jpg
Title: Re: General Discussion
Post by: lamoli on June 08, 2017, 04:16:44 PM
Since hard to grasp the original short skirt design from original i did more like a corset version..(swapped lace ends by frill for general design)


(https://s20.pixxxels.org/za88f59rt/Extrav2.png) (https://pixxxels.org/image/za88f59rt/)(https://s20.pixxxels.org/w4nmoxr5l/Extrav2_stand.png) (https://pixxxels.org/image/w4nmoxr5l/)


I should use lace in the panty design else looks too plain lol
(Woops did render on split model so you seed errors on hip/legs..)
Title: Re: General Discussion
Post by: DarkTl on June 10, 2017, 05:31:40 AM
Looks very good anyway.
Title: Re: General Discussion
Post by: lamoli on June 10, 2017, 06:30:33 PM
v3 ( was a little too undressed.. so added a grown )


(https://s20.pixxxels.org/qfzeyga7t/Extrav3.png) (https://pixxxels.org/image/qfzeyga7t/)(https://s20.pixxxels.org/p27s35ayh/Extrav3_stand.png) (https://pixxxels.org/image/p27s35ayh/)(https://s20.pixxxels.org/8fq7u2i0p/Extrav3_midleft.png) (https://pixxxels.org/image/8fq7u2i0p/)


Always better to have more.. and remove if not needed lol
(Hmm i added a non transparent edge on transparent grown but it looks too flat.. maybe all add some frill next)
Title: Re: General Discussion
Post by: lamoli on June 11, 2017, 03:23:39 AM
Ok..


By mistake i used basic shader and only saw that now lol..


(https://s20.pixxxels.org/w0ghmtygp/Extrav4_stand_previous_AL.png) (https://pixxxels.org/image/w0ghmtygp/)


You should notice the improvement in realism as its now PBR (its mostly the IOR and color management that changes all) i could say the clothing look more alive now


Also tested with lower Ambient Lighting to see if result where right


(https://s20.pixxxels.org/5qvf41cjd/Extrav4_stand.png) (https://pixxxels.org/image/5qvf41cjd/)(https://s20.pixxxels.org/kka2oskah/Extrav4.png) (https://pixxxels.org/image/kka2oskah/)(https://s20.pixxxels.org/nsek1u6k9/Extrav4_midleft.png) (https://pixxxels.org/image/nsek1u6k9/)


And worked as expected.. ill still make a grown with frill on lower part as its fairly common ( can always remove it if needed )


Without the Corset..


(https://s20.pixxxels.org/jn3nfx8s9/Extrav4_stand_without_Corset.png) (https://pixxxels.org/image/jn3nfx8s9/)(https://s20.pixxxels.org/lu7w3ue2h/Extrav4without_Corset.png) (https://pixxxels.org/image/lu7w3ue2h/)(https://s20.pixxxels.org/unysky115/Extrav4_midleft_without_Corset.png) (https://pixxxels.org/image/unysky115/)

Of course the grown do not fall right on body as it was draped on corset.. but in case i do not want the corset its a few second of calculation to get it right

From the looks of it what i miss the most is clothing design ideas.. i did laced parts on panty but something is missing like having solid edges lace or frill.. same for grown.. ( having the basic shape is fine but i lack ideas to improve em )
Title: Re: General Discussion
Post by: lamoli on June 11, 2017, 04:53:32 AM
Hmm this one could be a good design..


(https://s20.pixxxels.org/fuk506ta1/sample-12c9a510aa5d16517e75007802e42d65.jpg) (https://pixxxels.org/image/fuk506ta1/)
Title: Re: General Discussion
Post by: Xela on June 11, 2017, 07:34:10 AM
Yeah, cute pose/clothing.
Title: Re: General Discussion
Post by: lamoli on June 12, 2017, 09:33:55 AM
Without shots from side or back i can only try to imagine how it is made.. so i got 2 models..


(https://s20.pixxxels.org/pfx630mnt/Bra_Type2_Front_Side.png) (https://pixxxels.org/image/pfx630mnt/)(https://s20.pixxxels.org/lxl66mlrt/Bra_Type2_Back_Side.png) (https://pixxxels.org/image/lxl66mlrt/)


or


(https://s20.pixxxels.org/97gxtjdtl/Bra_Type2x_Front_Side.png) (https://pixxxels.org/image/97gxtjdtl/)(https://s20.pixxxels.org/md11ddx2x/Bra_Type2x_Back_Side.png) (https://pixxxels.org/image/md11ddx2x/)


as you can see first model might get too much frills on the back so in model 2 i stopped the bottom part rounding it around the breasts


i also approximately posed the model ( whos shape isnt the same.. maybe shrimp version i have might do better but you like this one more )


(https://s20.pixxxels.org/7v3u5e5rt/Bra_Type2_Posed_Base.png) (https://pixxxels.org/image/7v3u5e5rt/)(https://s20.pixxxels.org/hgxelowxl/Bra_Type2_Posed_Morphed.png) (https://pixxxels.org/image/hgxelowxl/)(https://s20.pixxxels.org/s515kj6wp/Bra_Type2_Posed_Ref.png) (https://pixxxels.org/image/s515kj6wp/)
      Normal                  Morphed              Reference


Gona make panty and legs parts now


also i forgot the ribbon.. ill add it aswell
Title: Re: General Discussion
Post by: lamoli on June 12, 2017, 01:43:52 PM
With Panty..


(https://s20.pixxxels.org/r40wvepx5/Bra_Type2_Posedv2_Ref.png) (https://pixxxels.org/image/r40wvepx5/)(https://s20.pixxxels.org/f3fguoiih/Bra_Type2v2_Front_Side.png) (https://pixxxels.org/image/f3fguoiih/)


The large frill is in fact the upper part of the garterbelt you can see on the other picture i found..


(https://s20.pixxxels.org/jdu4q9nll/sample-ae0b48a4add11c489e55ef8ad2527efa.jpg) (https://pixxxels.org/image/jdu4q9nll/)
Title: Re: General Discussion
Post by: Xela on June 12, 2017, 01:49:54 PM
Looks great. If you're making a pack and not just testing, maybe a different hairstyle? And will it be possible to render hair and eyes without too much fuss?
Title: Re: General Discussion
Post by: lamoli on June 12, 2017, 02:27:40 PM
Im making jobs clothing to indeed render a pack (enough testing for now..) but most of the time im browsing for reference picture rather than making the clothing as its rare to find good samples for prostitute profile picture.. making what looks good then assembling them to make a set ( but im no designer so it ends up with more fails and time lost than something good in general )


I just need to do the leg parts and maybe add something more on top of all that to get the 2 base high class/refined prostitute profile pictures.. ill then make 2 low class/less refined clothing for the fleebottom part and maybe some for mid class aswell.. but those are more easy to find as its nowdays trend in general..


For the hair i cant use any that are in the previous link i posted.. takes like 10 min to adjust/rigg and theres 247 base hair style to chose from.. (not the crappy stuff but the light year away difference) and of course you can always tweak them to get whatever you might need..


What do you mean by without too much fuss ?
Title: Re: General Discussion
Post by: Xela on June 13, 2017, 02:08:31 AM
cant

Can or can't?

What do you mean by without too much fuss ?

Simple/time-consuming vs easy/fast is what I meant. I we can arrange for customization of eye/hair/skin color(s) in Ren'Py, one or two packs may be enough for shipping the game.


You can just download some packs, there are loads of example pics there.
Title: Re: General Discussion
Post by: lamoli on June 13, 2017, 09:58:36 AM
oops.. its can.. ( hair shoulnd be a problem ) its just atm i havent made the dynamic hair test.. but this can wait.. rigs have problems but it should do..


From my previous list other than hair.. theres the:
Backgrounds (but i guess with some camera angle you can avoid to make complicated ones... just a sealing/wall/floor/sheats should be easy enough to make)
Volumetrics (this can wait i guess as it takes really long to parameter right and even longer to render as i do not have gpu for render) but later on i need to make smoke clouds/dust for bar environment and steam/fog for onsen/baths..



as for packs i ofcourse downloaded lots of em but none has what i need atm.. like i said no one does those.. like ever.. but when those are done i should have enough samples for the rest..


For the recoloring we might need some tests.. as i recall not everything worked as it should.. i can make masks but more importantly extract lights/shadows from image.. so you can recolor the base body then on top of it theres the lights/shadows for a better result..


more importantly.. can you keep alpha when you recolor ?
Title: Re: General Discussion
Post by: Xela on June 14, 2017, 02:47:40 AM
Backgrounds (but i guess with some camera angle you can avoid to make complicated ones... just a sealing/wall/floor/sheats should be easy enough to make)

I am not 100% sure that rendering background is a good idea. At the very least, they can be rendered separately and added as needed. But even normal bgs can be used, even if chars are not placed there correctly.

oops.. its can.. ( hair shoulnd be a problem ) its just atm i havent made the dynamic hair test.. but this can wait.. rigs have problems but it should do..

We can help with rendering, especially if it's blender for final render where you can even share the interface setup.

For the recoloring we might need some tests.. as i recall not everything worked as it should.. i can make masks but more importantly extract lights/shadows from image.. so you can recolor the base body then on top of it theres the lights/shadows for a better result..


more importantly.. can you keep alpha when you recolor ?

I think so... Our initial attempt worked well. I think if you use "whitish" colors, it will work best.
Title: Re: General Discussion
Post by: lamoli on June 22, 2017, 02:23:04 AM
Sorry got sick ( Flu ) in summer lol..


Well with BG lighting and dust/smoke effects(that i still need to work on at some point) have a impact on both the character and BG itself.. so you cannot swap in what eve you like.. but i can integrate the BG you chose in render after optimizing the lights for it..


For now as i do not use volumetrics i do not need help rendering (but you should probably let you know that the model naked use up to 1.5 gb in memory and can go up to 5gb with complex clothing) and this must be free memory from before you start the render else it crashes.. and every frame in case of animation it goes up a little and sometimes down.. even with my 16gb it still crashes sometimes when i render animations..


From what we tested before only keeping a % of alpha was my only concern..
Title: Re: General Discussion
Post by: DarkTl on August 13, 2017, 11:32:26 AM
Everyone, lately we almost completely moved to Discord (https://discord.gg/4tT4qmW (https://discord.gg/4tT4qmW)) and Patreon (links in signatures). It was fun to use the forum for 5+ years, but it's time for more modern means of communication  :D

We still will post all download links here too, of course.
Title: Re: General Discussion
Post by: DarkTl on September 02, 2017, 02:55:28 AM
A small demonstration of the upcoming game:
https://www.youtube.com/watch?v=vFukUvpEYGA
Title: Re: General Discussion
Post by: laposteb on September 09, 2017, 04:58:16 AM
This reduced glimmer of hope has nothing in a single video ...
and the game PyTFall, after several years I'm believed ...
Title: Re: General Discussion
Post by: DarkTl on September 09, 2017, 09:46:00 AM
We develop Pytfall and GiBC at the same time.

Things we can do in Pytfall can never be done in GiBC, and vice versa.
Title: Re: General Discussion
Post by: DarkTl on October 07, 2017, 08:07:04 AM
Check our patreons to get free access to tech demo release! :)
 
Xela (https://www.patreon.com/xelapy) TheWorst (https://www.patreon.com/theworst) Me (https://www.patreon.com/darkt)
A breezy/sexy game where you'll get to “help” a bunch of Heroines warped into a mysterious City in their endeavors to make it back to their own worlds. Scheme, corrupt, seduce or… Respect them heroines like any proper gentleman would! What will you choose?

(https://s1.postimg.org/53zdw677nf/screenshot0001.png) (http://postimg.org/image/53zdw677nf/) (https://s1.postimg.org/2jtjjjbysb/screenshot0002.png) (http://postimg.org/image/2jtjjjbysb/) (https://s1.postimg.org/223huybg2j/screenshot0003.png) (http://postimg.org/image/223huybg2j/) (https://s1.postimg.org/6zbyososfv/screenshot0004.png) (http://postimg.org/image/6zbyososfv/)

(https://s1.postimg.org/25n3so38hn/screenshot0005.png) (http://postimg.org/image/25n3so38hn/) (https://s1.postimg.org/5lpfkrbsyz/screenshot0006.png) (http://postimg.org/image/5lpfkrbsyz/) (https://s1.postimg.org/6e2b2hujuz/screenshot0007.png) (http://postimg.org/image/6e2b2hujuz/)

If you use Linux or Mac, we could use your help to test our future releases! If you want to help, please contact us!
Title: Re: General Discussion
Post by: Xela on October 09, 2017, 09:03:05 AM
GiBC was reviewed by Purity Sin Gameplay Review Video (https://www.youtube.com/watch?v=8C8esxIC_Nw&t=2s)!
Title: Re: General Discussion
Post by: DarkTl on October 31, 2017, 02:26:54 PM
We want to know which characters you want to see in our games. Please make sure to vote (https://www.patreon.com/posts/gibc-offer-you-15142070)!
Title: Re: General Discussion
Post by: grishnak on December 07, 2017, 01:53:33 PM
It is a bit sad you are moving the development discussion, since discord is no option for me :(

Maybe you can answer a quick question anyway: Have you had an unicode decode error after updating to the last renpy version (i think 6.99+)? If so, how do you avoid/fix it? I hesitate to load/convert/save all used text files.
Title: Re: General Discussion
Post by: DarkTl on December 10, 2017, 01:27:34 PM
No, nothing like it. I believe all files in our games use unicode. They were created either in notepad+ or atom, they both are reliable editors.


Title: Re: General Discussion
Post by: grishnak on December 10, 2017, 02:19:24 PM
Then it must be a problem with system settings :( Even if i download the version from github and start it in renpy i get the unicode error. I hoped it was not a thing between renpy and my system...thanks for the answer!
Title: Re: General Discussion
Post by: DarkTl on January 08, 2018, 12:14:26 PM
A small demo with one of our best scenes, enjoy  :)

https://mega.nz/#!X4FGgZ5A!DyB_UeFrt2jwAHZLtSyxHFP_8FyBOPkM1mmg3DKQ-vE (https://mega.nz/#!X4FGgZ5A!DyB_UeFrt2jwAHZLtSyxHFP_8FyBOPkM1mmg3DKQ-vE)
Title: Re: General Discussion
Post by: DarkTl on January 30, 2018, 01:14:37 PM
We are getting close to PF beta release!

Meanwhile check the new GiBC public release (https://www.patreon.com/posts/gibc-public-01-16652263).
Title: Re: General Discussion
Post by: krakr on May 15, 2018, 05:34:10 PM
I'd like to know how many stat points 1 star represents. Once I know that, perhaps I'll half-ass an FAQ post that will answer some of the most asked questions.
I know it's capped on certain girls & stuff & gets a bit complicated, I'll have to review my own posts to answer the question about caps, it was explained to me a long time ago.
Something to do with getting critical skills maxed first I think. See? i don't even know shit & I've forgotten more. FAQ is a good place to start as long as ppl participate & share knowledge.
will have to be based on just game mechanics since everything els is a work in progress.
IDK if I was OP on such a post if I'd be able to edit forever, some forums are weird like that. will have to look into that, otherwise I'd be begging mods & shit.
Title: Re: General Discussion
Post by: teitogun on October 04, 2018, 06:24:29 AM
Progress is slow but this game looks very promising.  I have a question though - how to get a girl to do whore job if she doesn't have a prostitute rank?
Title: Re: General Discussion
Post by: DarkTl on October 05, 2018, 06:57:36 AM
She will agree to do more depending on disposition and her traits. But in some cases in can be impossible without the whore class.
Title: Re: General Discussion
Post by: teitogun on October 05, 2018, 10:58:30 PM
She will agree to do more depending on disposition and her traits. But in some cases in can be impossible without the whore class.

From what I've seen how the game works, is it possible to get her to try new jobs at all? Even with max disposition it doesn't seem to actually make a difference. For example if you give her the stripper pole, would she work as a stripper?
Title: Re: General Discussion
Post by: Xela on October 06, 2018, 06:05:09 AM
If she is a whore, she'll strip... if she is a free warrior, it might not be possible to arrange that. Or even if she agrees, disposition and joy will drop to quickly to make it reasonable, not mentioning that she'll be a shitty stripper...
Title: Re: General Discussion
Post by: Torres on October 15, 2018, 10:51:53 PM
This game looks and feels great, loving the RPG aspects, the combat, the dungeon crawler thingy, the sound effects... boy I stumbled upon this game by checking the 8chan forums for Freecities, but this is more my alley! you guys need to announce this game somewhere.

Quick question, I've added the characters that come with a .json file to the /content/chars folder but the others to the /rchars/random... and I see no difference yet on the girls appearing ingame. :/
Title: Re: General Discussion
Post by: Xela on October 22, 2018, 05:19:54 AM
This game looks and feels great, loving the RPG aspects, the combat, the dungeon crawler thingy, the sound effects... boy I stumbled upon this game by checking the 8chan forums for Freecities, but this is more my alley! you guys need to announce this game somewhere.

Quick question, I've added the characters that come with a .json file to the /content/chars folder but the others to the /rchars/random... and I see no difference yet on the girls appearing ingame. :/

/content/chars contain "unique characters", usually the ones that player knows or cares about.
/content/rchars/ are the "random characters", those are used to populate the world and there can be any number of each in the game.
Title: Re: General Discussion
Post by: teitogun on October 27, 2018, 02:02:29 AM
As incredible promise this game shows, unfortunately I can't say I enjoy it yet due to some gripes.
There are far too many unexplained blocks. For example a girl refuses to use some items that I give to her, even though I've maxed disposition. It's also unclear how to get her to do certain activities, like try new jobs.

I do sincerely hope that the devs would continue development on this game, since I believe it beats similar games (such as Whoremaster and Brothel King) by a mile.

There's also a lot of inexplicable game breaking bugs such as crash on save/load.
Title: Re: General Discussion
Post by: Xela on October 29, 2018, 08:49:41 AM
As incredible promise this game shows, unfortunately I can't say I enjoy it yet due to some gripes.
There are far too many unexplained blocks. For example a girl refuses to use some items that I give to her, even though I've maxed disposition. It's also unclear how to get her to do certain activities, like try new jobs.

Yeah, it looks like we need some more explanations of the game world rules...

There's also a lot of inexplicable game breaking bugs such as crash on save/load.

Beta is not expected to have game breaking bugs at release.
Title: Re: General Discussion
Post by: teitogun on November 17, 2018, 11:30:32 PM
I've just tried out the latest beta release and I have a question - how do I get a girl to use the lolita wand? Does she need to have a magic attribute of some sort?
Title: Re: General Discussion
Post by: nemojason on November 18, 2018, 04:10:16 AM
hello,


good news for the next release :)


i just to know what change there are and if i need test with a new save or i start a new one? ;)
Title: Re: General Discussion
Post by: Xela on November 20, 2018, 02:40:37 PM
I am not sure you can continue with an old save :( It depends on the last patch you've installed. It's bound to crash very quickly if it's a none compatible one.
Title: Re: General Discussion
Post by: nemojason on November 21, 2018, 12:37:53 AM
I am not sure you can continue with an old save :( It depends on the last patch you've installed. It's bound to crash very quickly if it's a none compatible one.


hello,


i test during 1hour and no crash, after i thinked it's better if i must test the game with a new save for be sure loading  the last change of release.
Title: Re: General Discussion
Post by: DarkTl on April 20, 2020, 08:01:07 AM
It's not a secret that PF development stopped after Xela went offline for more than a year, and it can't be resumed without him. Our attempts to contact him were unsuccessful either, so whether he will return or not is unclear. In order to salvage PF mechanics and ideas accumulated over the years of development, together with TheWorst we are starting a new project, similar to PF but with original art. It won't be an exact copy of PF, so don't expect the very same game with slightly different art. But we'll reuse as many elements as we can, making it the best possible way to save PF's legacy. You can follow the development here: https://www.patreon.com/posts/36197357
Title: Re: General Discussion
Post by: teitogun on April 21, 2020, 03:04:11 AM
I am very happy know that someone is still picking up on this project (or, even better, a new game heavily based on it). This game is a real gem in the rough. That said though would you allow custom girl image packs to be included in your upcoming project, like in Brorthel King or Whoremaster?
Title: Re: General Discussion
Post by: DarkTl on April 22, 2020, 06:18:29 AM
Too early to decide, the features we include depend on the support we'll get on the patreon.

If people will be interested in the project, anything is possible.
Title: Re: General Discussion
Post by: DustyB on April 22, 2020, 03:59:15 PM
Would also be interested in custom image packs :)