devolution

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

0 Members and 1 Guest are viewing this topic.

Offline rudistoned

  • Full Member
  • ***
  • Posts: 229
Re: I've been messing around with pygame
« Reply #30 on: November 02, 2013, 12:02:25 PM »
I am indeed using PyInstaller. And having a hell of a time of it since all the documentation seems out of date.
I think they've been reworking their interface lately. Their docs also really could use a barebones, concise "Getting started" section. At least they update their docs every once in a while.
You can always take a look at the buildscripts of Pytherworld for a simple, working usage example for PyInstaller.


Now everything says to run pyinstaller.py, but I don't seem to have that, just an exe. I've not yet tried the exe - busy running a search for the .py at the moment.
I usually just download the .zip, which contains the source code.


Hmmm ... as it happens I'm using PyQt, mainly because I hadn't heard of Pyside at the time. From what I've seen since Pyside seems popular and regarded as being more pythonic. Is it a lot of hassle to migrate?
I've never used PyQt myself, but from what I've read they are very similar and migrating is accordingly easy. If PyQt works for you, well, never change a running system :)


Is pickle supposed to handle lists of objects?
As long as type(list_of_objects) == list, pickle should work out of the box. In case its class inherits from list, getting it to pickle correctly can become trickier because (unverified opinion based on personal experience) I think pickle handles the default data types differently from user-defined classes. Anyway, having an instance of a user-defined class with an instance of list as attribute should work flawlessly.
Now that I think of, the answer to my pickle problems with classes derived from default data types might just be that those data types implement the special methods of the pickle protocol. If those are defined and do not expect custom attributes on the class, that might cause the problems I've had in the past.


The problems seems to be that I was actually creating a new local variable rather than overwriting the global. Python scoping still catches me out from time to time.

I suppose you had something like
Code: [Select]
some_var = "foo"

def update_some_var():
    some_var = "bar" # actually creates a local variable

instead of
Code: [Select]
some_var = "foo"

def update_some_var():
    global some_var
    some_var = "bar" # updates the module-scope variable

Yeah, that's one of the less-than-intuitive properties of python namespaces (they're still awesome though IMHO). I'm sure that one got me at least once.


Oh, and thanks for the help, Rudi!
No problem, glad to help :)
« Last Edit: November 02, 2013, 12:04:00 PM by rudistoned »

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: I've been messing around with pygame
« Reply #31 on: November 02, 2013, 07:02:07 PM »
I suppose you had something like
Code: [Select]
some_var = "foo"

def update_some_var():
    some_var = "bar" # actually creates a local variable

instead of
Code: [Select]
some_var = "foo"

def update_some_var():
    global some_var
    some_var = "bar" # updates the module-scope variable

Yup! Got it in one :)

Got the XML parsing working for the girlsx files, so the next thing to do is probably the slave market. So, naturally I've been working on a town map. This is very rough - mainly to get the layout straight in my head



And a few notes on the setting - also very rough:

The city lies in the desert at the intersection of two trade routes. One runs from Crossgate in the North-west and South East towards the Imperial Capital. The second road runs west and south toward the western marches.

The city shelters in the lee of the Great Escarpment, thirty miles of cliff face where some ancient geological fault splits the desert in two.

The city is a magnet for those inventors and technologists who find their way to Mundiga. One of the most influential factions in the city is the Science Guild. The guild was founded by imperial decree many hundreds of years ago. The Science Guild's headquarters is The Great Laboratory, built at the end of the West Road nestled up against the wall of Escarpment itself. 

The Guild obtains a generous stipend from the Emperor aimed at furthering the progress of the Technological Arts in Mundiga. Science does not work well, however, in the intensely magical land of Mundiga and the Guild's progress has been limited. It is true however that the presence of the Guild has made Abby's Crossing one of the least magical and most technological settlements in the world. The city is also one of the more dimensionally stable settlements, with comparatively few arrivals from other realms.

The trade roads pass through the center of the city, cutting Abby's crossing into four quarters, named for the four elements of Alchemy. To the west, the Fire Quarter houses the military, the council chambers and many of the city's nobility. To the north, the Water Quarter holds the governor's mansion, as well as temples, and much of the city bureaucracy. The southernmost quarter is associated with Earth and is preoccupied with trade and commerce, as well as the business of making sure the city is kept fed and watered.  Easternmost is the Air Quarter. Here you will find the majority of the city's scholars, a well as technologists and artisans, couriers and diviniers

Outside the city walls is the Souk, and huge informal marketplace that gives way to an extended tent city housing the itenerant traders as well as the many inhabitants who cannot find accomodation within the city walls. The Souk is also considered to extend along the sides of the trade roads as they pass through the city with many stalls and traders hawking their wares to passers by.

Offline hewhocumsbynight

  • Hero Member
  • *****
  • Posts: 683
  • All Hail the Crimson King!
Re: I've been messing around with pygame
« Reply #32 on: November 03, 2013, 01:26:40 AM »
And a few notes on the setting - also very rough:

The city lies in the desert at the intersection of two trade routes. One runs from Crossgate in the North-west and South East towards the Imperial Capital. The second road runs west and south toward the western marches.

The city shelters in the lee of the Great Escarpment, thirty miles of cliff face where some ancient geological fault splits the desert in two.

The city is a magnet for those inventors and technologists who find their way to Mundiga. One of the most influential factions in the city is the Science Guild. The guild was founded by imperial decree many hundreds of years ago. The Science Guild's headquarters is The Great Laboratory, built at the end of the West Road nestled up against the wall of Escarpment itself. 

The Guild obtains a generous stipend from the Emperor aimed at furthering the progress of the Technological Arts in Mundiga. Science does not work well, however, in the intensely magical land of Mundiga and the Guild's progress has been limited. It is true however that the presence of the Guild has made Abby's Crossing one of the least magical and most technological settlements in the world. The city is also one of the more dimensionally stable settlements, with comparatively few arrivals from other realms.

The trade roads pass through the center of the city, cutting Abby's crossing into four quarters, named for the four elements of Alchemy. To the west, the Fire Quarter houses the military, the council chambers and many of the city's nobility. To the north, the Water Quarter holds the governor's mansion, as well as temples, and much of the city bureaucracy. The southernmost quarter is associated with Earth and is preoccupied with trade and commerce, as well as the business of making sure the city is kept fed and watered.  Easternmost is the Air Quarter. Here you will find the majority of the city's scholars, a well as technologists and artisans, couriers and diviniers

Outside the city walls is the Souk, and huge informal marketplace that gives way to an extended tent city housing the itenerant traders as well as the many inhabitants who cannot find accomodation within the city walls. The Souk is also considered to extend along the sides of the trade roads as they pass through the city with many stalls and traders hawking their wares to passers by.


...You're going to make me rewrite the entire backstory that I'd created for Whoremaster...
SIGH
All the more fun!  This time, it might even be readable!  I like your idea about science not working correctly.  I'll have to use it.
My MEGA folder can be found at:  https://mega.co.nz/#F!EYhAgTyI!keiMX47NrnGOEozwNb2Vfg

Torrent link of my version, effective September, 2016:  magnet:?xt=urn:btih:4606F11A1C216337D7F3DFD6716307F48CFB996A&dn=WhoreMaster.06.02.29&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: I've been messing around with pygame
« Reply #33 on: November 03, 2013, 03:27:09 AM »

...You're going to make me rewrite the entire backstory that I'd created for Whoremaster...
SIGH
All the more fun!  This time, it might even be readable!  I like your idea about science not working correctly.  I'll have to use it.

Apologies for that. I was working from the elements I had planned for AC from a couple of years back and what I remembered from the background notes I made at the end of my tenure as WM developer. I forgot that you'd taken a crack at developing the setting as well.

What are the main points of contradiction? If it's not plot critical I can probably adapt things at this end.

Hmmm... maybe I better PM you :)

[edit]

Somewhat improved city map. Icons still need work, but it's getting closer to what I want.

« Last Edit: November 03, 2013, 04:33:15 AM by DocClox »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: I've been messing around with pygame
« Reply #34 on: November 03, 2013, 09:33:09 AM »
Map looks solid, well done!
Like what we're doing?

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: I've been messing around with pygame
« Reply #35 on: November 03, 2013, 11:03:04 AM »
Map looks solid, well done!

Thank you.

Here's a bit of design work for the slave market screen:


Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: I've been messing around with pygame
« Reply #36 on: November 05, 2013, 03:21:35 PM »
Just q quick update. I've slowed down on this on account of work, but not stopped.

What I've got working:

  • Title screen
  • Load Screen
  • Main Screen
  • Map Screen (with tool tip text to describe the locations)
  • Parsing girlsx and rgirlsx files
Currently:
  • Working on elements of the slave market screen from the last post.
Still to do:
  • Too much to contemplate!
Here's a shot of the poster from the slave market:



The names on the poster are the table of slaves being sold, so selecting one will change the slave being displayed. I also want to reduce the slave supply compared with Crossgate, so the girls on sale will only update every four or five turns.  I turned off the scroll bar background so it looked more in keeping with the paper texture. I've used asterisks to bracket the active girl, also in keeping with the paper motif.

I'd like to add some short descriptive text based on the girls' stats, but I'm not sure how best to go about it. I don't have too much space to work with, and I don't want to drop the font size too small. But somehow just listing "Alice, Betty, Carol..." doesn't seem to ring true. Any ideas, anyone?

In between times girls will get crossed off the list as they get sold, (either to the PC or NPCs). It's going to be possible for the market to run out of girls, and remain closed until the next caravan arrives in a few days time.



Of course, there will be other sources available. I'm just having fun making widgets :)

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: I've been messing around with pygame
« Reply #37 on: November 05, 2013, 03:48:04 PM »
Looks so good, it makes me wanna steel it  ::)
Like what we're doing?

Offline hewhocumsbynight

  • Hero Member
  • *****
  • Posts: 683
  • All Hail the Crimson King!
Re: I've been messing around with pygame
« Reply #38 on: November 05, 2013, 03:56:57 PM »

I'd like to add some short descriptive text based on the girls' stats, but I'm not sure how best to go about it. I don't have too much space to work with, and I don't want to drop the font size too small. But somehow just listing "Alice, Betty, Carol..." doesn't seem to ring true. Any ideas, anyone?


I actually do have an idea, one that I'd be willing to help with.  Why not have a script read the girls statistics and, if certain statistics are greater then, or less then, certain values, a descriptor appears?  Like, if they've got a constitution value of >80, a combat value of >75, a normal sex value of <10, and the trait "Tough", it'll spit out the message "A tough woman with a strong body and plenty of combat experience.  Has not received pillow training; recommended for combat or security-oriented duties."

If you'd like, I could write up a ton of these things.


EDIT:  To clarify, I'm thinking that these would appear when the girl in question is selected, possibly above the "Buy" button. 

In regards to the market display, why not have a title appended based on the possession of certain traits or skills?  LargeBreasts or AbnormallyLargeBreasts add "the Busty" to the end of the name, while "BrokenWill" will add "the Broken".
« Last Edit: November 05, 2013, 04:00:05 PM by hewhocumsbynight »
My MEGA folder can be found at:  https://mega.co.nz/#F!EYhAgTyI!keiMX47NrnGOEozwNb2Vfg

Torrent link of my version, effective September, 2016:  magnet:?xt=urn:btih:4606F11A1C216337D7F3DFD6716307F48CFB996A&dn=WhoreMaster.06.02.29&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: I've been messing around with pygame
« Reply #39 on: November 05, 2013, 04:01:40 PM »
I actually do have an idea, one that I'd be willing to help with.  Why not have a script read the girls statistics and, if certain statistics are greater then, or less then, certain values, a descriptor appears?  Like, if they've got a constitution value of >80, a combat value of >75, a normal sex value of <10, and the trait "Tough", it'll spit out the message "A tough woman with a strong body and plenty of combat experience.  Has not received pillow training; recommended for combat or security-oriented duties."

If you'd like, I could write up a ton of these things.


EDIT:  To clarify, I'm thinking that these would appear when the girl in question is selected, possibly above the "Buy" button. 

In regards to the market display, why not have a title appended based on the possession of certain traits or skills?  LargeBreasts or AbnormallyLargeBreasts add "the Busty" to the end of the name, while "BrokenWill" will add "the Broken".

Girls do have descriptions... isn't this an overkill?
Like what we're doing?

Offline GonDra

  • Full Member
  • ***
  • Posts: 154
Re: I've been messing around with pygame
« Reply #40 on: November 05, 2013, 04:04:08 PM »
I'd like to add some short descriptive text based on the girls' stats, but I'm not sure how best to go about it. I don't have too much space to work with, and I don't want to drop the font size too small. But somehow just listing "Alice, Betty, Carol..." doesn't seem to ring true. Any ideas, anyone?

How about a descriptive word based on the girls highest stat? aka: "Agile Alice, Beauty Betty, Charismatic Carol, Slutty Sarah..."
The problem with this can naturally be that the longer girl names plus descriptive word could be too large for the list, especially if you allow unique girls to be sold, you also could have instances where every or a lot of girls have the same stat as the highest which would fill the list with a lot of the same.

I like where you are going with this, keep up the good work.

Edit: It seem that while I slacked, hewhocumsbynight came up with something similar...

Offline hewhocumsbynight

  • Hero Member
  • *****
  • Posts: 683
  • All Hail the Crimson King!
Re: I've been messing around with pygame
« Reply #41 on: November 05, 2013, 04:21:10 PM »
Girls do have descriptions... isn't this an overkill?

Possibly.  I got the inspiration from looking at historical newspaper advertisements from the Golden Age of slavery in the US, but that situation really isn't too applicable.  What is applicable is the fact that, at least in WhoreMaster, the descriptions are not visible from the market page.  They only become visible after purchase.  So, you could think of this as a market description, which is replaced by the actual description once you buy the product.
My MEGA folder can be found at:  https://mega.co.nz/#F!EYhAgTyI!keiMX47NrnGOEozwNb2Vfg

Torrent link of my version, effective September, 2016:  magnet:?xt=urn:btih:4606F11A1C216337D7F3DFD6716307F48CFB996A&dn=WhoreMaster.06.02.29&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80

Offline DocClox

  • Dev Team
  • *****
  • Posts: 1867
  • Messing Around With Python
Re: I've been messing around with pygame
« Reply #42 on: November 05, 2013, 05:49:31 PM »
Looks so good, it makes me wanna steel it  ::)

It wasn't hard to do. I used a bunch of display fonts and some lines drawn in inkscape to get a clean poster, and then aged it like this. The code is the same as I used for the load game screen table, just with different styling. I'll post the code if you want - possibly after I've had a chance to comment it. It's all a bit monolithic at the moment...

EDIT:  To clarify, I'm thinking that these would appear when the girl in question is selected, possibly above the "Buy" button. 

I was thinking of something similar to let the PC gauge slave quality. Let me think on it a bit.

In regards to the market display, why not have a title appended based on the possession of certain traits or skills?  LargeBreasts or AbnormallyLargeBreasts add "the Busty" to the end of the name, while "BrokenWill" will add "the Broken".

How about a descriptive word based on the girls highest stat? aka: "Agile Alice, Beauty Betty, Charismatic Carol, Slutty Sarah..."

That approach sounds good. A one word description, either before or after.  Another alternative would be to drop the names entirely and just have short descriptions: "Blonde and stupid", "likes to fuck" "Hard worker" (nothing positive to say about that one :))

Something along those lines, anyway.

The problem with this can naturally be that the longer girl names plus descriptive word could be too large for the list, especially if you allow unique girls to be sold, you also could have instances where every or a lot of girls have the same stat as the highest which would fill the list with a lot of the same.

I can always drop the adjective if the name looks like not fitting. Or drop the font size a little, perhaps, if it's not too much over.

Oh yeah, I decided the "no sale today" stamp on that poster looked way too clean and modern:


Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: I've been messing around with pygame
« Reply #43 on: November 05, 2013, 06:00:13 PM »
It wasn't hard to do. I used a bunch of display fonts and some lines drawn in inkscape to get a clean poster, and then aged it like this. The code is the same as I used for the load game screen table, just with different styling. I'll post the code if you want - possibly after I've had a chance to comment it. It's all a bit monolithic at the moment...

Graphics take way to long when made by me, I'll just have to code and hope someone with photoshop skill decides to contribute at some point.

While I love reading Python code, Qt is to different from Ren'Py to be useful :(
Like what we're doing?

Offline rudistoned

  • Full Member
  • ***
  • Posts: 229
Re: I've been messing around with pygame
« Reply #44 on: November 06, 2013, 08:08:52 AM »

The poster looks just great!


@girl descriptions
You could make the poster a bit broader / bigger and go with short descriptions like
Sally, fiery redhead
Justine,  brunette cutie
Lilly, blonde bombshell


I also like those you proposed, but they need even more space. I think multi-line entries for each girl would probably look strange.


You could also put the descriptions into tooltips, which would eliminate space constraints. I have no idea if frame and background of a tooltip window can be customized, but the text itself can be formatted in the same HTML-like manner available to labels and so on.
Tooltips are added something like this
Code: [Select]
text = "<b>this is bold text</b>"
tooltip = QtGui.QToolTip(text)
widget.setToolTip(tooltip)
Since posters don't offer tooltips this might break immersion a little, but posters also have no scroll bars, so it might be okay.


Another way to go would be to express the girls desirability on the hotness scale (1 to 10) ;)
It's not the best idea so far, but it's the one that needs the least amount of space  :D



@Xela
How were you able the read DocCloxs code?




@hewhocumsbynight
The "Golden Age of slavery"? That could be misunderstood pretty easily. The period of slavery in the US was certainly not a "Golden Age". I do think you did not mean to say that, but you never know on the internet.