5.00 star(s) 2 Votes

redle

Active Member
Apr 12, 2017
585
980
I should add that I did not test any of the above to verify what results I actually get. But assuming that is doing floating point division the original code should yield the 225.
 

Disgruntler

Well-Known Member
Game Developer
May 2, 2021
1,042
1,094
I understood the ternary operator... my point was
obj.popularity = 9
>>> salary = min(max(round(obj.popularity / 10 * 250), 200), 2500)

My point was everglow's code will yield 225, your code will yield 200
Granted it's just a matter of updating yours to x<9

True true, and that's on me for not testing 9:

1686719906185.png
 
  • Like
Reactions: redle

Disgruntler

Well-Known Member
Game Developer
May 2, 2021
1,042
1,094
But to seriously ask my half-question of before...
Is this game actually written in python? I really did expect it was all javascript.
Python 3 is literally in the resources/srv folder, along with a collection of python libraries.
 

dookie85

Newbie
Nov 18, 2020
94
73
As for making random stats part of the game, I suppose that is a perspective choice as well. I dislike needing 5 and 10 different tools that I need to maintain, remember, and make use of in order play a single game.

In my mind there needs to be a rather extreme reason for tools and features to be intentionally excluded from the software and maintained separately. I would much rather write a mod that is incorporated into a game directly than write and use external tools to do the same thing.

As for having your cake and eating it too, I mentioned it before, but the game having the ability to make the stats random does not mean the game can not also leave the stats alone. Both can co-exist within the game. That's the beauty of software. Users can be given choices. Random versus from-file can exist as a setting the same as it could exist only one way or the other.
First of all, we're talking about a single dev working mostly voluntarily, so frankly, I find this attitude wholly unrealistic. I asked you to try one tool, not 5 or 10, but instead of just ignoring my advice, we're writing back and forth about why your idealized feature complete application shouldn't need additional user configuration (which I think is silly considering this style of game is all about user generated content and customization).

You know, this started when I replied to someone saying you refused to edit, and let's be honest, that's clearly the case, and you don't need to give me all these justifications and excuses because nobody was judging you. All you had to do was ignore me, but instead you keep telling me this BS about how you love to mod and use tools, come on... At this point, sorry if I'm blunt, I don't care about your overarching software philosophy; I saw a problem we were both facing involving pricing, and I decided to fix it and share how I did it, take it or leave it. The bottomline is if you don't use the VC randomizer script or Disgruntler's unreleased script then you're going to have to rely on whatever the pack creators put in those files, if you aren't willing to use the simple editing tool. If you do eventually use a randomizer script, you'll probably regret it because I tried to warn you randomized stats are unbalanced (there's only negatives and no incentives at the current state of play), and again we're relying on one dev to come up with the perfect stat distribution formulae, which I really don't think exists anyway.

All of that is fine. I mean, it's fine you're not willing to try something simple to test the issue and instead hope to rely on everglow to make it your particular way. What I really took issue with was that your initial proposal was exclusionary rather than collaborative. Now you bring up having your cake and eating it too, but for the longest time, you wouldn't acknowledge that the game can already do what you requested without impacting everyone else and forcing the rest of us down that path.

IMO, there's other issues everglow could address besides ones a TUSC player who fools with girlpacks doesn't have any problem doing ourselves.
 

redle

Active Member
Apr 12, 2017
585
980
Python 3 is literally in the resources/srv folder, along with a collection of python libraries.
After asking I did look for python, and yes, I saw the libraries. That said, I haven't noticed any obvious python game-local files. As I said, not actively familiar with the tool used as the backing framework here. But the only real game file I see is the app.asar which I guess may contain python files as well, but I don't think it does.
 

redle

Active Member
Apr 12, 2017
585
980
First of all, we're talking about a single dev working mostly voluntarily, so frankly, I find this attitude wholly unrealistic. I asked you to try one tool, not 5 or 10, but instead of just ignoring my advice, we're writing back and forth about why your idealized feature complete application shouldn't need additional user configuration (which I think is silly considering this style of game is all about user generated content and customization).

You know, this started when I replied to someone saying you refused to edit, and let's be honest, that's clearly the case, and you don't need to give me all these justifications and excuses because nobody was judging you. All you had to do was ignore me, but instead you keep telling me this BS about how you love to mod and use tools, come on... At this point, sorry if I'm blunt, I don't care about your overarching software philosophy; I saw a problem we were both facing involving pricing, and I decided to fix it and share how I did it, take it or leave it. The bottomline is if you don't use the VC randomizer script or Disgruntler's unreleased script then you're going to have to rely on whatever the pack creators put in those files, if you aren't willing to use the simple editing tool. If you do eventually use a randomizer script, you'll probably regret it because I tried to warn you randomized stats are unbalanced (there's only negatives and no incentives at the current state of play), and again we're relying on one dev to come up with the perfect stat distribution formulae, which I really don't think exists anyway.

All of that is fine. I mean, it's fine you're not willing to try something simple to test the issue and instead hope to rely on everglow to make it your particular way. What I really took issue with was that your initial proposal was exclusionary rather than collaborative. Now you bring up having your cake and eating it too, but for the longest time, you wouldn't acknowledge that the game can already do what you requested without impacting everyone else and forcing the rest of us down that path.

IMO, there's other issues everglow could address besides ones a TUSC player who fools with girlpacks doesn't have any problem doing ourselves.
I had previously made a self-deprecating joke about being lazy. You then wrote a post to someone else stating basically that I was too lazy. You didn't say it to me. It did not come off as a joke. So yeah, I made a quick response which I should have ignored because it was not worth my time. And then you kept asking me why I wanted the new feature or what was my reasoning. Maybe I should have ignored you then as well, but I don't exactly hold grudges over one silly little "lazy" comment. My mistake for trying to answer regardless of whether I misunderstood your underlying question or not.

As far as work to implement, this seems to be at least a somewhat active community space. And tools exist, are being modified and generated. Often times in such communities it is very little work to port any particular tool after a modder creates it into the game code. If code already does exist, not to mention if it actually proves to be a successful feature, that's all the more reason to consider including it. I've seen plenty of times where mods get incorporated.

In the end though, this is a forum. People post bugs, ideas, things they like, things the don't like. People hope the game will improve and become more enjoyable for them as it advances.

Sorry that me posting one specific idea for a feature offends you so much. Your disgruntlement over it doesn't really change what kind of features I'd like or dislike. Ultimately neither your opinion nor mine drives the development of this game, but we're all better off when people put forth ideas for features (whether they get used or not).
 

dookie85

Newbie
Nov 18, 2020
94
73
Sorry that me posting one specific idea for a feature offends you so much. Your disgruntlement over it doesn't really change what kind of features I'd like or dislike. Ultimately neither your opinion nor mine drives the development of this game, but we're all better off when people put forth ideas for features (whether they get used or not).
Nah, you're not offensive at all, unlike some other people (lol).

I was just frustrated because if you have an aversion to using external tools, so be it, but let's be honest about it. I didn't need to hear how much you like mods in one post while also refusing to use them and nitpicking semantics in the next. In my mind, it all goes back to when I said you refuse to edit, which turned out to be a completely true statement, and so to me, you weren't being honest in all your replies to the contrary. And the longer this went on, the more it seemed like you were arguing in bad faith while also not realizing your suggestion would drastically restrict other players' options and not just your own, which is really inconsiderate if you think about it. I never called you lazy though. Now that you're only asking for another option, I guess we're cool, even if I still think it's unnecessary.

Sometimes I get stuck in results oriented thinking, and if you tell me general theoretical ideas when a straightforward solution is staring us right in the face, it'll annoy me if you don't at least attempt to address the obvious answer. None of your justifications and/or excuses made much sense to me, and you don't owe me any explanation anyway, so why are we spending so much time discussing it when the results (i.e. randomized stats) is so easily achieved.

It reminds me of someone insisting to call a taxi in heavy traffic for a very short distance. Yeah, I get that you rather not walk, but the destination is very close and waiting for ride in this traffic is ridiculous. (I'm not sure if you follow the analogy, but that's the type of frustration I was feeling).
 

everglow

Member
Game Developer
Sep 14, 2016
169
473
might be a bit 'cleaner', seeing as the min 2500 is redundant if popularity is capped at 100. I dunno, I'm a math guy coming from Java and C# so the idea of temporarily sneaking into floats is weird. But Python's gonna Python, I'm actually not sure what would be the fastest or how CPython will optimize this.
The reason for that line having the `min` and `max` is because of historical reason. Originally I changed several times the multiplier and both min and max. Written in that way is easier to edit. That's the only reason. Also, the pack load won't brake if the condition 0 <= popularity <= 100 is not satisfied.

But to seriously ask my half-question of before...
Is this game actually written in python? I really did expect it was all javascript.
So, TUSC has 2 parts:
- the Electron application you actually execute, which is a Vue application written in javascript that handles the entire UI/UX
- an embedded server (Python 3.8 powered) which serves 2 main purposes: serving media to the UI (pictures, videos, music, etc) and processing logic (customising girl stats on launch, scheduling girls across city and club, night processing).

Why did I put the processing logic in the Python part? simple: javascript sucks :D
Given that the night processor itself is ~2k lines, and that Python gives you distribution functions and quite a lot of math as granted directly in the standard library, it was the quick-to-go choice.
 

Disgruntler

Well-Known Member
Game Developer
May 2, 2021
1,042
1,094
The reason for that line having the `min` and `max` is because of historical reason. Originally I changed several times the multiplier and both min and max. Written in that way is easier to edit.
Valid, and this is an interesting read. It's interesting to follow your thinking. Informative.
 

redle

Active Member
Apr 12, 2017
585
980
Nah, you're not offensive at all, unlike some other people (lol).

I was just frustrated because if you have an aversion to using external tools, so be it, but let's be honest about it. I didn't need to hear how much you like mods in one post while also refusing to use them and nitpicking semantics in the next. In my mind, it all goes back to when I said you refuse to edit, which turned out to be a completely true statement, and so to me, you weren't being honest in all your replies to the contrary. And the longer this went on, the more it seemed like you were arguing in bad faith while also not realizing your suggestion would drastically restrict other players' options and not just your own, which is really inconsiderate if you think about it. I never called you lazy though. Now that you're only asking for another option, I guess we're cool, even if I still think it's unnecessary.

Sometimes I get stuck in results oriented thinking, and if you tell me general theoretical ideas when a straightforward solution is staring us right in the face, it'll annoy me if you don't at least attempt to address the obvious answer. None of your justifications and/or excuses made much sense to me, and you don't owe me any explanation anyway, so why are we spending so much time discussing it when the results (i.e. randomized stats) is so easily achieved.

It reminds me of someone insisting to call a taxi in heavy traffic for a very short distance. Yeah, I get that you rather not walk, but the destination is very close and waiting for ride in this traffic is ridiculous. (I'm not sure if you follow the analogy, but that's the type of frustration I was feeling).
Once again, I don't refuse to edit. I have edited some things in this game. But let's not start up again with declaring what the other person does or doesn't do.

Your other posts had not had the feel of a troll, which is why I started answering your questions. In hindsight I think you were ultimately trying to say, "I think everglow's time would be better spent elsewhere." (and potentially that people should be able to play both ways) I can easily accept people having those opinions.

Anyway, so I ended up throwing anything and everything (as far as explanations go) but the kitchen sink at you trying to satisfy your need to understand.

As for your additional arguments on the randomness topic, I'm going to ignore that portion of the conversation. We've both already stated there's no value in that line of discussion.
 

redle

Active Member
Apr 12, 2017
585
980
The reason for that line having the `min` and `max` is because of historical reason. Originally I changed several times the multiplier and both min and max. Written in that way is easier to edit. That's the only reason. Also, the pack load won't brake if the condition 0 <= popularity <= 100 is not satisfied.



So, TUSC has 2 parts:
- the Electron application you actually execute, which is a Vue application written in javascript that handles the entire UI/UX
- an embedded server (Python 3.8 powered) which serves 2 main purposes: serving media to the UI (pictures, videos, music, etc) and processing logic (customising girl stats on launch, scheduling girls across city and club, night processing).

Why did I put the processing logic in the Python part? simple: javascript sucks :D
Given that the night processor itself is ~2k lines, and that Python gives you distribution functions and quite a lot of math as granted directly in the standard library, it was the quick-to-go choice.
Yeah, I wouldn't want to try to code a game in a scripting language (although at least javascript isn't as exactly minimalistic). I only had a tiny bit of time to glance through electron a bit. What I had seen looked like python could be launched with individual call-returns, but it wasn't really intertwined to maintain python objects. Not sure if I just haven't looked deep enough or if that's basically how you are using it.
 

Morkar

Well-Known Member
Aug 9, 2016
1,111
624
good version only lew I find 2 buts

you arrive at x club and you find an interesting girl to hire a girl you flirt with her and everything is ok but the next day she is not there anymore you have to include a phone mechanic or something to call a girl you have met at the cafe to be able to continue interacting easily with her without having to look for her like crazy around the city
2 it would be nice to add some black market or something like that to be able to get specific girls without having to wait for them to appear completely randomly throughout the game and thus customize your group of girls more

and it can be done as an implementation of the mafia that was in the original game and that is paid with popularity points (or add villainy points or something like that) and not money like the typical favor that you ask the mafia

It could also be useful if you cannot or do not want to pay a very expensive girl that you are interested in in the early stages of the game in exchange for making deals with the mafia to get her contract in a less legal way.
 

redle

Active Member
Apr 12, 2017
585
980
It's unavoidable in some development--you have to in Unity or Godot, for example.
Yeah, you work with what you have. I've never done anything with Unity, but GDScript is pretty functional (if poorly documented).

And I'll add that the coding in the scripting language isn't necessarily the problem. The limitation with scripting languages for game development is often in visualization. Godot has built-in libraries for that purpose to extend the scripting language. I imagine Unity likely does as well.
 
Last edited:

Disgruntler

Well-Known Member
Game Developer
May 2, 2021
1,042
1,094
Yeah, you work with what you have. I've never done anything with Unity, but GDScript is pretty functional (if poorly documented).

And I'll add that the coding in the scripting language isn't necessarily the problem. The limitation with scripting languages for game development is often in visualization. Godot has built-in libraries for that purpose to extend the scripting language. I imagine Unity likely does as well.
Can confirm.
 
  • Like
Reactions: redle

GrooveDaddy

New Member
Nov 13, 2018
10
10
everglow Hello! I didn't see this mentioned yet, so I wanted to let ya know, in 1.0.4, custom tracks work for the player's club and the accompanying spa, gym, as well as the city's Broken Heart, Taurus, and Diamond clubs...but they're not working for the city bar, gym, spa, and techno city garden club specifically lol.

Other than that, everything's awesome so far ^^
 

hero12348

Newbie
Dec 9, 2021
30
18
Can I use one folder for the girlpacks from Venus Club AND The ultimate Stripper club? This way I wouldn't have to use twice the memory on my hard disk and store every girl pack twice. If yes, does anyone know how?
 
  • Like
Reactions: Logan1377

Logan1377

Active Member
Feb 13, 2023
622
866
Can I use one folder for the girlpacks from Venus Club AND The ultimate Stripper club? This way I wouldn't have to use twice the memory on my hard disk and store every girl pack twice. If yes, does anyone know how?
Yes, absolutely!

What I do is create one main folder for both, and then put all of the files and folders for both games into that. You'll need to unpack them directly into that folder, but do not unpack the one that actually says girlpacks. Then you run the risk of writing over the one where your files are kept.
 
5.00 star(s) 2 Votes