devolution

Author Topic: WhoreMaster: Abby's Crossing  (Read 140057 times)

0 Members and 1 Guest are viewing this topic.

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: WhoreMaster: Abby's Crossing
« Reply #90 on: December 01, 2013, 12:42:31 AM »
Good question. I'd like some way to specify emotions if suitable faces exist, but I haven't sorted that out in my head yet. There's going to be some optional extras for the attributes in the XML too.

Give me a day or so to mull it over and I'll give you something reasonably solid :)

Offline rudistoned

  • Full Member
  • ***
  • Posts: 229
Re: WhoreMaster: Abby's Crossing
« Reply #91 on: December 01, 2013, 04:17:19 AM »
About the variety of images useful for games like this:


SimBrothel, PyTFall, Otherworld and Pytherworld each have a list of keywords/tags they use to describe the contents of their images. You could look at those lists for inspiration about image categories.


For example, in Pytherworld I add the tag "portrait" to images showing the face or face and upper part of the torso. To get a face picture, I then crop the right, left and lower parts of the image. This works reasonably well, but far from perfect. Distinguishing between face and face/torso shots would make it work a lot better.


In general, Pytherworld does not use girls/girlpacks to add girls to the game. Instead, images are described with tags by the pack maker and the game builds girls from its database of images based on the descriptions of the images. Obviously, this has quite a few advantages/disadvantages in comparison to the "traditional" approach of predefined characters.
Should you find this concept interesting, I can tell you a lot more about it. I also kept the tools necessary to implement this pretty generic so they can be used by other projects too. PyTFall is using some of them already, even though they do use "traditional" predefined characters (I think).


Gonna take a look at your intro now, thanks for posting it :)

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: WhoreMaster: Abby's Crossing
« Reply #92 on: December 01, 2013, 08:41:48 AM »
For example, in Pytherworld I add the tag "portrait" to images showing the face or face and upper part of the torso. To get a face picture, I then crop the right, left and lower parts of the image. This works reasonably well, but far from perfect. Distinguishing between face and face/torso shots would make it work a lot better.

I thought about that. Decided in the end to use a profile pic scaled to fit, which seems to work tolerably well in SlaveMaker.

In general, Pytherworld does not use girls/girlpacks to add girls to the game. Instead, images are described with tags by the pack maker and the game builds girls from its database of images based on the descriptions of the images. Obviously, this has quite a few advantages/disadvantages in comparison to the "traditional" approach of predefined characters.

Well, the plan was to work with existing girlpacks, at least initially. Lot of them out there, might as well make use of them.

The image tagging approach has a lot to recommend it however, and you could make the case that if I am going to switch over, better sooner than later.

On the other hand, I already have a shedload of old-skool girlpacks on my machine to use as test data.  So I'll probably stick with plan A for now :)

Should you find this concept interesting, I can tell you a lot more about it. I also kept the tools necessary to implement this pretty generic so they can be used by other projects too. PyTFall is using some of them already, even though they do use "traditional" predefined characters (I think).

Definitely interesting. Sounds like something I'd want to be able to accommodate in the medium to long term..

Gonna take a look at your intro now, thanks for posting it :)

Thanks. It's as much a test of my use of PyInstaller as anything. I wanted to be sure that people other than me could run those exe files.

Offline rudistoned

  • Full Member
  • ***
  • Posts: 229
Re: WhoreMaster: Abby's Crossing
« Reply #93 on: December 01, 2013, 02:19:08 PM »
I thought about that. Decided in the end to use a profile pic scaled to fit, which seems to work tolerably well in SlaveMaker.
Found another solution to this problem: face recognition
It's like swatting a fly with a sledgehammer (kinda hard to pull of, but the fly is as dead as it can get when you manage to do it).
If I ever need other capabilities opencv provides I'd definitely try this. Adding such a powerful and large library just for this is IMHO overkill.

Well, the plan was to work with existing girlpacks, at least initially.
[...]
if I am going to switch over, better sooner than later.
[...]
I already have a shedload of old-skool girlpacks on my machine
So you've got a whole shed full of girlpacks, huh?  ;D
Could you send me the metadata of one of these packs in text form? Maybe its easy to write a conversion script that generates tag descriptions from the metadata of the girlpack? I would not expect those converted tag descriptions to be accurate and detailed enough to be used to randomly generate girls from them though.
In Pytherworld and in regard to the image ressources, I support two variants of girls: those generated from the image database, as described earlier and those created from traditional girlpacks. For the traditional variant, the name of the character replaces the tags describing their looks for the purpose of determining images available to them. It causes some complications, but you can actually have old school pre-defined characters and randomly generated characters in the same game.
Just to make your life more difficult by offering more choices  :P  :D

Offline GonDra

  • Full Member
  • ***
  • Posts: 154
Re: WhoreMaster: Abby's Crossing
« Reply #94 on: December 01, 2013, 03:10:54 PM »
Nice to see you working on your project DocClox.

I like the premise, especially the small scale market is nice.

Anyway I found a small Typo and thought I would drop a note on that: "Eventually, you were found wanding (wandering) the desert..."

Also nice that you can proceed with the text not only by clicking more but also by using space, I hope you are going to implement a decent shortcut system when you are building the game besides the usual mouse centric controlling method.

Offline rudistoned

  • Full Member
  • ***
  • Posts: 229
Re: WhoreMaster: Abby's Crossing
« Reply #95 on: December 01, 2013, 04:38:56 PM »
A very easy way to add shortcuts to a button-heavy Qt interface is to add an ampersand character (&) to the button text, right before the character that should be the shortcut. For example, &Next can be activated by pressing Alt+n.


I can also post example code for keyboard control using the shortcut system of Qt.

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: WhoreMaster: Abby's Crossing
« Reply #96 on: December 02, 2013, 02:18:20 AM »
Found another solution to this problem: face recognition
It's like swatting a fly with a sledgehammer (kinda hard to pull of, but the fly is as dead as it can get when you manage to do it).
If I ever need other capabilities opencv provides I'd definitely try this. Adding such a powerful and large library just for this is IMHO overkill.

Yeah, sounds like it might be :)

Busy night last night, just scurrying to catch up on my correspondence before work.

Could you send me the metadata of one of these packs in text form? Maybe its easy to write a conversion script that generates tag descriptions from the metadata of the girlpack? I would not expect those converted tag descriptions to be accurate and detailed enough to be used to randomly generate girls from them though.

That sounds like a good idea. Do you want just the picture categories or the XML descriptors as well?


Nice to see you working on your project DocClox.

I like the premise, especially the small scale market is nice.

Anyway I found a small Typo and thought I would drop a note on that: "Eventually, you were found wanding (wandering) the desert..."

Thanks. I'll fix that :)

Also nice that you can proceed with the text not only by clicking more but also by using space, I hope you are going to implement a decent shortcut system when you are building the game besides the usual mouse centric controlling method.

I've been planning to implement WM's shortcuts plus as many more as I can think of. Of course, having things like multiple slave markets is going to play hob with that, so I might need a bit of a rethink there. But I like my keyboard shortcuts, so there'll be as many as I can manage.

A very easy way to add shortcuts to a button-heavy Qt interface is to add an ampersand character (&) to the button text, right before the character that should be the shortcut. For example, &Next can be activated by pressing Alt+n.

I can also post example code for keyboard control using the shortcut system of Qt.

That would be good of you. I was reading about keyboard shortcuts, but I've not had a chance to try them out yet. Currently I'm having the screens listen for key events directly, which works well enough, but better if they don't have the additional complication.

Offline rudistoned

  • Full Member
  • ***
  • Posts: 229
Re: WhoreMaster: Abby's Crossing
« Reply #97 on: December 02, 2013, 03:43:39 AM »
That sounds like a good idea. Do you want just the picture categories or the XML descriptors as well?
Since I don't know yet what is saved where and you don't know what data my systems can work with, all available metadata would probably be best (picture categories and XML descriptors, even though I don't even know what that is ^^).

Update:
Code: [Select]
from PySide import QtGui
from PySide import QtCore
from PySide.QtCore import Qt as QtNS  # Qt global namespace

class MyCustomWidget(QtGui.QWidget):
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        # add shortcut keys
        KeySeq = QtGui.QKeySequence
        Shortcut = QtGui.QShortcut
        Shortcut(KeySeq(QtNS.ALT + QtNS.Key_Left),
                 self, self.shortcut_handler_alt_left)
        Shortcut(KeySeq(QtNS.Key_Left), self, self.shortcut_handler_left)
The code is a generalized piece from one of my projects. It's untested, but should generally work. Let me know if you run into problems.
« Last Edit: December 02, 2013, 03:54:40 AM by rudistoned »

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: WhoreMaster: Abby's Crossing
« Reply #98 on: December 02, 2013, 06:03:27 PM »
Thanks for the code. I'll have a play with it when I get the signals sorted out for that auction screen :)

Since I don't know yet what is saved where and you don't know what data my systems can work with, all available metadata would probably be best (picture categories and XML descriptors, even though I don't even know what that is ^^).

Well, most of the image metadata is in the file names. They're all of the format TypeN.ext where ext is an image extention and "Type" is one of "Profile" for non-sex pictures, "Anal", "Beast" (bestiality), "Death" (also exhausted and/or defeated), "Group", "Les" (-bian) and (normal) "Sex".

The XML description data is more about the girl there are a pile of stats and skills. Most of these are in the range 1-100

Charisma, Happiness, Libido, Constitution,Intelligence,Confidence.Mana,Agility,Fame,Level,AskPrice,House,Exp,Age,Obedience,Spirit,Beauty.Tiredness
Health,PCFear,PCLove,PCHate,Anal,Magic,BDSM,NormalSex,Beastiality,Group,Lesbian,Service,Strip,Combat,Gold,Status

Most of them should be fairly obvious, but House is the default house percentage for a non-slave girl and Status can be catacomb, slave or normal and defines where she might be encountered. There's also generic girls who have random ranges for these things and a couple of other stats as well "Human" and "Catacomb", the latter replacing "Status"

Then there are traits, which are boolean markers for various attributes. Some have game effects, others are purely cosmetic. Unique girls get a list of these, generics get a list with probabilities attached to each entry.

There are quite a few of them. I'll just attach the old CoreTraits file here rather than type it all in. It's all in plain text anyway.



Offline Blubbif

  • Newbie
  • *
  • Posts: 1
Re: WhoreMaster: Abby's Crossing
« Reply #99 on: December 02, 2013, 07:38:21 PM »
Hi all. It's nice to see a successor to the original WM. The screens already look a lot more visually appealing than the original color scheme.  ;)

I've been trying to think of an icon for the player in the game. A button to click on and bring up PC stats and so on.

Yes, that would be a definite improvement. In WM the player character always felt less like an actual character and more like an omnipresent entity with money. Are you thinking of adding new stats?

I'm vaguely thinking of giving the player the choice of playing a male or female character [...]

I would greatly encourage the idea. Giving the player some more customization options is always a good idea and I'm sure some people would appreciate being able to play a female character.

Following the same train of thought, it might be a good idea to give slaves/employees the gender option as well. I personally don't care very much for male slaves and I doubt there will be any for a while, but someone might like them and add a few. And it's usually easier to add options during planning rather than after everything is already implemented.

I'm definitely looking forward to the release of the source. Maybe I'll have an excuse to dip into Python then.  ;D

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: WhoreMaster: Abby's Crossing
« Reply #100 on: December 03, 2013, 07:44:09 AM »
Glad you like the style. The first cut of this was a skin for the original WM, way back when. it was a bit too much trouble to keep it updated and work on the code though, so I let it lapse.

PC stars are definitely going to get a bit more attention, as is his or her location in the city. I want to make the PC's time a precious commodity once again.

Female PCs were have been a long standing request in the game, so they're very likely to happen. plus I have some female friends who get put off WM because they feel forced into a male role. And there are some misadventures possible for females that just wouldn't appeal for a male PC.

Male slaves... well, it's no kink of mine, so it won't be getting much priority. What I might do is have a "male" trait, and key the standard master- slave scenes to exclude males. that way, it anyone wants to make a pack and write the scenes, they can. That's about all I'd be willing to do, but if there's enough interest, I'm sure someone will step on up.

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: WhoreMaster: Abby's Crossing
« Reply #101 on: December 05, 2013, 03:56:51 PM »
I've been working on the menu widget for the girl management screen.



That thing is going to slide in from the left screen, a bit like one of those library ladder-on-rails things you sometimes see pictures of. And possibly the menu elements dropping down from the top as it slides. It does that at the moment, but I'm not sure it works so well as just sliding the rails.  I might also have the whole contraption sometimes drop down from the top. It seems a shame to have all these mechanical looking widgets and not have them do anything :)

I was thinking of compiling this so people could see it moving, but it seems a bit OTT at the moment. Maybe once I have it plugged into the Tart Board and more or less working.

I've also been doing some work on an Otherworld style auction. No screenies since I used the Otherworld images, but there should be auctions turning up both in  WMAC and in Pytherworld in due course.

[edit]

Annnnnddd... I've just discovered that during the week I accidentally clobbered the file that I was working on last saturday. That's all the sorting and multiple selection stuff gone and needing to be redone. With the amount of free time I have at the moment, that amounts to wiping out a week's work.

Damn, that's annoying...

[edit]

Right, that's the sorting back again. Now for multiple selection, and I'll be in a position to see about getting that sliding menu integrated.

[edit]

OK. That's selection and multiple selection based on shift-click working. Actually, what I've got is probably what I'd expect for control-click (add/subtract clicked row from selection) where shift click should select a range. But I might just leave it the way it is.

Next: paging through the list using arrow keys, PgUp and Down and the arrow buttons ...

(edit) paging works, more or less. Need to check a few things regarding selection, otherwise it's all there.  would have been a lot easier if I'd used a QTableWidget, but those things are a right pain to style, and the headset didn't want to change at all.

Anyway, I have a few RL things to do, and then I can get started moving that menu.

and if I get that working, IRL l it'll be time for some job code after which we'll have something that will be almost playable.

This might actually happen :)

[edit]

Ha! Got the QPropertyAnimation working. And with easing curves too! This is going to make it a log easier to do things like the moving pointer on the main screen viewer. I can get the bounce effect i was after a lot easier too...

Also, I just noticed that the text on two of the job labels has run together where I missed out a comma in a list. I'd post a revised image, but I expect everyone has got the general idea :)

[edit]

Right. That's a couple of subtle bugs in the scrolling and selection squashed. There's a lot of complexity in the list handling, and I suspect that there are still issues.  But it'll do for now. In time I may come back to this and re-implement it as a custom list view and let Qt to most of the hard work.

[edit]

OK. Finally!



The menu slides in until it's next to the column you clicked. If you click another cell in a different column, it slides to be next to that one. I've not added code to dismiss the thing yet, so it zips around the screen when you click a new cell.

I like it.

Next up, making the menu items do something, dismissing the menu, maybe have random options to slide in from above and from the right, just to help maintain the illusion that something larger is happening than just the bit of screen that you can see :)
« Last Edit: December 08, 2013, 06:34:17 AM by DocClox »

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: WhoreMaster: Abby's Crossing
« Reply #102 on: December 08, 2013, 11:24:31 AM »
OK, I have the job menu working, more or less.

Anyone interested in an executable demo? I'd quite like some feedback on the interface so far, especially how the girl table and menu work.

I should probably also stress at this point that this is not a working game yet. You can buy girls and you can assign them jobs, but there's no way as yet to advance the time, so there's no way to actually play anything.

That said, feedback would be useful.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: WhoreMaster: Abby's Crossing
« Reply #103 on: December 08, 2013, 11:42:50 AM »
Sure, I have tested brothel games for a while now. If you ever need feedbacks, just give me links  :)
« Last Edit: December 08, 2013, 11:44:34 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: WhoreMaster: Abby's Crossing
« Reply #104 on: December 08, 2013, 11:46:43 AM »
Yeap, I would like to check it out as well.
Like what we're doing?