HentHighSchool Development Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

collapse
* Recent Posts
Re: Girl Pack Spreadsheet Log Revival by DougTheC
[Today at 02:56:11 am]


Re: Test version for 0.2 by Jman
[Today at 01:47:57 am]


Re: [HHS+ 1.10 Beta] Public Beta Bugs by barteke22
[Today at 01:35:08 am]


Re: Test version for 0.2 by Netscape
[Today at 12:14:55 am]


Re: Test version for 0.2 by Jman
[Yesterday at 05:56:51 pm]


Pages: 1 ... 70 71 [72] 73 74   Go Down

Author Topic: Gameplay and design discussion  (Read 823328 times)

Chris12

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 661
    • View Profile
Re: Gameplay and design discussion
« Reply #1065 on: December 01, 2021, 05:37:11 am »

I might disagree with a few details, but in general you summarized it nicely, especially the later part of your post. Since I feel like this is somewhat blown out of proportion already (compared to the issue at hand), I'd like to thank you for the discussion, and hope that there's some useful points for Goldo to take with him.


I agree that writing events (in the author-sense) is the bigger task. Let's take a moment to consider how many events and short stories Goldo has written us, and be grateful for how much creative energy he has put into this game. :)

Anyway, after years, I still think there could be at least a few user-events. Some creative people are probably discouraged by the writing (in the coding-sense) process. To be honest, even I don't know how to best integrate an super-simple event similar to "thief trying to rob you" purely as a Mod. Ideally, writing a simple event should be so glaring obvious that you feel like you can do it even without any coding knowledge.
Logged
Find my High-Quality Girl Packs (Belldandy, Urd, Rin Kaenbyou, Jessica Albert, Temari, Pyra, Lyndis, Tohsaka Rin) at MEGA:
https://mega.nz/folder/LQgHxALS#i3Y4IwUzc2wlULRfp18mdw

Leortha

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1224
    • View Profile
Re: Gameplay and design discussion
« Reply #1066 on: December 01, 2021, 06:32:53 am »

Towards that end, what might be useful would be an event template.  I long ago created a bk.ini template file that I use regularly, and have handed out on occasion.   It's a file with all the framework in place for a ini file for a girl, ready to have the particulars for a girl plugged in.

So someone could create something similar, for a simple event, at least.  A file that makes it obvious exactly where to plug various things to end up with a coded, simple event.
Logged
Mega link for all my Brothel King girl packs:
https://mega.nz/folder/Fcg2lBID#yKalC_e47WAS8jsbHPyOvQ

Loli packs:
https://mega.nz/folder/BMwizTwD#89Lqk4Q2cFxFNVQEzTzXDg

Submission form to Google doc for new packs: https://forms.gle/hdQjqrj7JK1B5Xf28

Chris12

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 661
    • View Profile
Re: Gameplay and design discussion
« Reply #1067 on: December 01, 2021, 06:45:21 am »

Yeah, sounds like a good idea. I'll try to come up with something like that, I want to give the Modding thing a try, anyway.
Logged
Find my High-Quality Girl Packs (Belldandy, Urd, Rin Kaenbyou, Jessica Albert, Temari, Pyra, Lyndis, Tohsaka Rin) at MEGA:
https://mega.nz/folder/LQgHxALS#i3Y4IwUzc2wlULRfp18mdw

Hareb

  • Newbie
  • *
  • Offline Offline
  • Posts: 49
    • View Profile
Re: Gameplay and design discussion
« Reply #1068 on: December 01, 2021, 09:07:48 pm »

I think having an events template would be a help to writing-oriented types, but there just seems to be a general lack of us. Most of the people who contribute to the game do it by making girl packs. The Community dialogue project has been running for a while now and only three people have written lines.

Compare this with the 70+ people, who, according to a recent survey, have compiled girl packs – more than 20 girl pack makers for every dialogue writer. :o I don’t mind the constant stream of girl packs of course. I use them myself and it’s a major strength of the BK community that those packs just keep coming, but I wish there just a few more writers.

(I think SM3 had a similar issue, there were a lot of girls available, but many of them were just reskins. Some did pretty major overhauls though I don’t know if you played for example Rei: https://www.otakubell.com/smw/index.php/V3:Rei)

I might at some point contribute a city event, but my priority for probably all of next year will be to finish lines for the four girls that I’ve written plus we need to get about eight archetypal personalities. After that I was planning on a writing repeatable training event for each four of ‘my’ girls. These would be like the events in which inspect a girl’s room or find them coming late for work, except but these would happen with only with a specific personality. So, if I get to writing city events, it will be, at least, a year (I’m pretty busy in RL), but considering how long BK development takes, it will probably be just fine. :P

Regarding templates, I think those might be a good help. I am not completely coding illiterate (or maybe “coding” is saying a bit too much... more like markup literate perhaps), as I’ve used things like XML and R, but I don’t really know Python or Ren’py. My plan for the personality specific types was to find training events in the files and have a look at Goldo’s cool mod. And keep my first attempts simple.
Logged

Goldo

  • Moderator
  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1648
    • View Profile
Re: Gameplay and design discussion
« Reply #1069 on: December 03, 2021, 05:27:58 pm »

I'm going to somewhat disagree with Chris12 and Jman on this. I don't think it's wise to try to make "Visit the city" events competitive compared to other mechanics. It needs only to be useful/interesting. I'm fine with visiting the city being a somewhat rarer action than others, one you use when you have some spare AP.

Because if you balance visit events to be greatly beneficial, you kind of force the player to do it. This would ensure that the player would exhaust the city content pretty quickly, turning visiting the city into a chore, and it would not necessarily add anything fun to the game.

So I think the right way to go is unique content. Visiting the city should be a way to unlock some event chains, so that you want to do it to advance the story or side quests, not just because you think it will bring you gold or rewards. Sure, the events could come with some nice rewards, but the story should be the focus, not the rewards. That's my 2c.

The idea to produce templates for events is great. Let me know if I can help.

Also, I will add the hooks to Jman's mod in the next update (pro-tip: next time you want me to do something quickly, maybe don't start your post by calling me a lazy bum  ;)). Not sure what I could do to make those hooks 'universal', the code snippets are all quite unique to the mods.

Logged
Looking for the latest 0.2 patch? It's right here: (it will always be right here :))). !!!Do not use with 0.15!!!

Jman

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 2073
  • Hic Non Sunt Dracones
    • View Profile
Re: Gameplay and design discussion
« Reply #1070 on: December 03, 2021, 07:11:17 pm »

I don't think it's wise to try to make "Visit the city" events competitive compared to other mechanics.
Even if it's not wise (which I don't think is the case) it's still something that happens regardless as long as city walks use AP. You can make them more enticing by gating unique and interesting stuff behind X00 visits, but that merely adds an extra reward spread over multiple visits, and now the competitiveness will be judged by that. You could also make a girl randomly gift the player a unique set of fluffy boots once you've trained her 1000 times, and that would be pretty much equivalent.

It needs only to be useful/interesting. I'm fine with visiting the city being a somewhat rarer action than others, one you use when you have some spare AP.
Then it's a luxury, and moves BK one sizeable step closer to a full-on VN. I'm not happy if the game starts going in that direction, and I imagine neither is Chris.

Because if you balance visit events to be greatly beneficial, you kind of force the player to do it. This would ensure that the player would exhaust the city content pretty quickly, turning visiting the city into a chore, and it would not necessarily add anything fun to the game.
That critique can be leveraged against virtually any other repeatable activity. The greatest fun always comes from emergent gameplay - I recall someone's nudity-phobic repressed nun slavegirl who was secretly into whips and hardcore action, or the time when the Booty Hunter was asked for a cum dump and returned with a spunky loli warrior. :D

The more agency the player has (not to be confused with degrees of freedom of action), the more fun they can have with a game. Old gamers have occasionally observed their children blithely playing their sacred RPGs and just running around, ignoring any storylines and, well, being a bunch of little vandals while having tremendous fun.

So I think the right way to go is unique content.
Unique content always runs out. :(


Well, it's your game and perhaps my ideas would make it too different from what you envision. No surprise there. But I don't think your views are quite as universal as you're making them out to be.



...next time you want me to do something quickly, maybe don't...
I apologize, O Great and Alacritous Creator of Lascivious Entertainment. Your servant is unworthy of your attention, and will wait upon Your pleasure.

;D I don't care how quickly you do it, but the longer it takes, the greater the chance nothing ever happens. Because new code and new ideas just keep coming and coming...

Not sure what I could do to make those hooks 'universal', the code snippets are all quite unique to the mods.
They are, right now, but one could imagine someone creating a compilation. Then it would be much handier if the mods' features could be toggled from within the same 'overmod'. I imagine it'd have to be some global variable set by the mod(s)? Chris never explained what his idea was, exactly.



(click to show/hide)
Logged
We’re all mad here. I’m mad. You’re mad.

Chris12

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 661
    • View Profile
Re: Gameplay and design discussion
« Reply #1071 on: December 08, 2021, 07:02:21 am »

Hm, I actually think I noticed a new aspect thanks to the comments of you two. In my head, I was always comparing the walk mostly to how "Take a walk" works in Slavemaker. Little snippets that, when taken together, work really well for both world-building and bringing some element of randomness into the gameplay.

HOWEVER: I now wonder if BK differs quite a bit here. It's often more of a VN. For instance, in Slavemaker "You meet XY in the marketplace. You talk for a bit and she gives you an apple." could probably have been an event. In BK, the same event would probably need an actual discussion between two people. You would have to write some dialog that actually culminates in someone giving you an apple.

The difference is, it's quite a bit more work to write than writing "someone gives you an apple". It's probably hard to reach the sheer mass of events necessary to keep things interesting. In that light, Goldo's idea to focus on actual story event chains sounds reasonable.

On the other hand, I wonder if for the "normal" city events, it would be fine to move to a more narrative style, if all that happens is someone giving you an apple. "What is drama, but life with the dull bits cut out?" (Alfred Hitchcock)


Regarding 'universal hooks', maybe I best start explaining what it should not be. For instance:

Code: [Select]
  [b]BKclasses.rpy[/b]

    class Room:
        def update_cust_limit(self, silent=False):
            self.cust_limit = room_capacity_dict[game.chapter] * self.level

            #<Chris Job Mod>
            if game.has_active_mod("chrisjobmod"):
                self.cust_limit = round_int(self.cust_limit * act_max_customers_modifier[self.job])
            #</Chris Job Mod>

The part between the #<Chris Job Mod> comments only works for my mod. It's not really a mod. What it could be instead, to enable things for other modmakers:

   for mod in activemods:
      mod.on_update_cust_limit(self) # self is a room in this case, handing it over makes it usable in the mod logic



I imagine something similar for city events. Encapsulating EVERYTHING related to the event. I realize the class Event is already there, but it is missing a lot of the funtionality. And it doesn't even seem to be used, at least for random city encounters. Instead, a modmaker would have to look at a lot of BKs interna if they wanted to add a random encounter:
   *) add a weighted option to the "encounters" global variable
   *) pester Goldo for custom code if there's some condition
   *) the mod breaks if Goldo ever makes any changes to the way BKmain handles events
   
   
Here's how it could work:

   class Encounter(Event): # part of BKclasses
      def can_happen(): #boolean
         return True
      def chance_to_happen():
         return 10
         
   class BlacksmithEncounter(Encounter): #just an example for how it might get used in a Mod
      def can_happen(): #boolean
         return pseudocode("Only when walking in the Docks, and you already met the blacksmith")
      def chance_to_happen():
         return pseudocode("usually low, but higher if the blacksmith is currently working on a vase")
      def play(): # Inherited from class Event
         if pseudocode("happens for the first time"):
            renpy.call("my_event_label1") # Help blacksmith buy a new hammer. Reduce time for furniture to finish by up to two days.
         else if pseudocode("blacksmith is working on a vase"):
            renpy.call("my_event_label2") # Help blacksmith work on the vase. It's a sexy pottery scene like between Patrick Swayze and Demi Moore. Vase finishes instantly thanks to the power of Eros.
         else:
            renpy.call("my_event_label3") # Help blacksmith buy nails. Reduce time for furniture to finish by one day.
            
   #LOOP in BKmain:
      could_happen = []
      for encounter in all_registered_encounters:
         if (encounter.can_happen()):
            chance = encounter.chance_to_happen()
            could_happen.add([encounter, chance])
      picked_encounter = weighted_choice(could_happen)
      picked_encounter.play()


Maybe instead of a new class Encounter, you could also just make this part of the existing Event. In general, the classes Event and StoryEvent have quite some overlap and would probably benefit from inheritance.
Still, I think a class just for encounters could be good idea, to encapsulate logic that is only relevant for events that happen randomly walking the city. There could, for instance, be different priorities if you want to handle chains. (E.g. the chance is low at first, but when the first step triggers, the second step should be very high priority. e.g. "Meet me here again tomorrow.")

In principle, you could also incorporate "can_happen" into "chance_to_happen", if chance <= 0 means an event cannot happen. Still, I think splitting up these two would make for more readable sourcecode, especially considering that this is supposed to be used by people not affine to coding, but creative writing.


Finally, all the actual BlacksmithEncounterMod would have to do is (un)register the BlacksmithEncounter during Mod (de)activation. Actually, it would be better to provide some function for that (register_encounter() ), instead of making the modmaker directly write to some global variables. Again, this makes it easier for you to change things in the future, without breaking existing mods. You could also use that function if you ever have a requirement of your own, e.g. recalculate something whenever an Encounter is registered, or log something, or whatever.
« Last Edit: December 08, 2021, 07:20:54 am by Chris12 »
Logged
Find my High-Quality Girl Packs (Belldandy, Urd, Rin Kaenbyou, Jessica Albert, Temari, Pyra, Lyndis, Tohsaka Rin) at MEGA:
https://mega.nz/folder/LQgHxALS#i3Y4IwUzc2wlULRfp18mdw

Chris12

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 661
    • View Profile
Re: Gameplay and design discussion
« Reply #1072 on: December 08, 2021, 07:35:45 am »

Thought about it a bit more. I think this might be an even better way: (the bold part is new)

   #LOOP in BKmain, right now it's roughly at line 330-350:
      possible_encounters = []
      for encounter in all_registered_encounters:
         if (encounter.can_happen()):
            chance = encounter.chance_to_happen()
            possible_encounters.add([encounter, chance])

      for mod in allMods:
         mod.modify_possible_encounters(possible_encounters)


      picked_encounter = weighted_choice(possible_encounters)
      picked_encounter.play()


Like this, the mod might not even have to register in some system variable. The advantage of this approach is that it could directly modify the encounters, opening up more possibilities for modmakers. E.g. disable certain encounters for some time, or whatever.
« Last Edit: December 08, 2021, 07:40:28 am by Chris12 »
Logged
Find my High-Quality Girl Packs (Belldandy, Urd, Rin Kaenbyou, Jessica Albert, Temari, Pyra, Lyndis, Tohsaka Rin) at MEGA:
https://mega.nz/folder/LQgHxALS#i3Y4IwUzc2wlULRfp18mdw

Goldo

  • Moderator
  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1648
    • View Profile
Re: Gameplay and design discussion
« Reply #1073 on: December 08, 2021, 06:34:23 pm »

Well, I admit the mod system is half-baked but my idea was to make it somewhat accessible to people who only dabble in code (like me). I figured experienced coders would always have some changes so specific that adding custom-made hooks was the way to go (because it's hard to satisfy everyone).

What you suggest is obviously more powerful but also quite complex, requiring a good understanding of object programmation and so on. Not sure all the tinkerers out there would get it. I for one have got burnt trying to use inheritance before, so I refrained from using it on BK, to keep things simple for myself.

PS: the 'Event' class is antiquated, I should probably scrap it at some point. StoryEvent is where it's at.
Logged
Looking for the latest 0.2 patch? It's right here: (it will always be right here :))). !!!Do not use with 0.15!!!

Jman

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 2073
  • Hic Non Sunt Dracones
    • View Profile
Re: Gameplay and design discussion
« Reply #1074 on: December 08, 2021, 06:50:00 pm »

The difference is, it's quite a bit more work to write than writing "someone gives you an apple". It's probably hard to reach the sheer mass of events necessary to keep things interesting.
We already have a not-insignificant amount of events written. The trouble tends to be that most of them are really not worth it except as amusement. Which would indeed work better as a pure 'stroll' event that bypasses the AP system completely.

In that light, Goldo's idea to focus on actual story event chains sounds reasonable.
Event chains are even more trouble. :-\ In my non-Bonanza work, I could write a simple encounter with 3-4 choices and 100-150 lines (and even some small dialogue) in a few hours. In fact, I usually spent the bigger part of the time looking for suitable images. :'( A big chain can take a full day and more. Months, even. Jobgirl's dungeon adventure, for example. :-\

On the other hand, I wonder if for the "normal" city events, it would be fine to move to a more narrative style...
I wanna see the apple lady's sexy face as she says "Here's your apple!", dammit! :P

Regarding 'universal hooks'...
...
      mod.on_update_cust_limit(self) # self is a room in this case, handing it over makes it usable in the mod logic
I'm not quite sold on that, because
  • Now you run into mod conflicts. What happens if two mods want to change a Room's .cust_limit, one wants to make it always 4 and the other is the JobMod?
  • A lot of these hooks are not necessarily game mechanics. E.g. my Headhunter needs to butt her into the intro slave market dialogue with Gio, or change a piece of UI upon hitting certain screens.
I'm not certain this approach works universally enough, and if it does not, then Goldo now has to maintain both mod hooks of the kind you don't want and a modular system for every mechanic a modder has ever touched. Doesn't look that appealing to me. :-\

I imagine something similar for city events. Encapsulating EVERYTHING related to the event. I realize the class Event is already there, but it is missing a lot of the funtionality. And it doesn't even seem to be used, at least for random city encounters.

   #LOOP in BKmain:
But one-time StoryEvents are used for city encounters. Adding more robust handling to the random ones isn't a bad idea, of course.

Plus, there are almost no events that are directly looped from main. Most go under 'morning' or 'evening' events, and these are already supported in mods. In fact, a comment kinda makes it look like Goldo wants to do away with the Event class altogether and roll morning/evening events into StoryEvent as well. Yeah, Goldo said that just before I posted.

Finally, all the actual BlacksmithEncounterMod would have to do is (un)register the BlacksmithEncounter during Mod (de)activation.
Since mods deactivate somewhat randomly, and I've had trouble toggling them for an ongoing game, this might be problematic. As an aside, why not make mod activation 'persistent', since trying to stick them to an ongoing save doesn't seem to work quite as intended?



Anyway, that's all neat, but doesn't really solve the problem with non-encounter mod hooks (since your proposal makes the code quite a bit more complex, with no clear conflict resolution between different mods, and there's even no guarantee anyone is ever going to even use this functionality). Maybe I'm wrong.



@Goldo: As an aside, I just discovered an uncensored version of Bast/Burst on my hard drive. Do you want her? And if so, in what format?
« Last Edit: December 08, 2021, 06:52:19 pm by Jman »
Logged
We’re all mad here. I’m mad. You’re mad.

Goldo

  • Moderator
  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1648
    • View Profile
Re: Gameplay and design discussion
« Reply #1075 on: December 09, 2021, 12:40:27 am »

@Goldo: As an aside, I just discovered an uncensored version of Bast/Burst on my hard drive. Do you want her? And if so, in what format?

Please do share! Webp please.
Logged
Looking for the latest 0.2 patch? It's right here: (it will always be right here :))). !!!Do not use with 0.15!!!

Chris12

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 661
    • View Profile
Re: Gameplay and design discussion
« Reply #1076 on: December 10, 2021, 04:44:05 am »

I guess I should have made more clear that my plan is not a complete overhaul of the Mod system, or even BK itself. We don't need to flip everything over to object-oriented inheritance, or add hooks everywhere to support every crazy idea any modmaker might ever have.

I do think:
  • That the infrastructure should be there to support the most common usecases. For instance, for morning/evening events, something is already there, ready to use. (StoryEvent) I really think city encounters is enough of a usecase to warrant similar support for modmakers.
  • That if custom code needs to be added to BK, and it is simple enough to do so, there's no harm in taking one small extra step and offering a more generalized hook. Like that, the Mod system would slowly grow more powerful where it is needed, without turning into a giant project with unproportional cost-benefit-ratio and very doubtful chances of ever being completed.
  • There will still be things too complicated to make fully modable, and that is fine. For instance, adding all of the jobgirl functionality through Mod support would probably have been quite the task.


Anyway, let's focus on the first point of that list for now, which is a very concrete step well in line with BK's design - a way to add encounters. You don't need to be an object-oriented programmer to be able to copy/paste a few lines from a template, and then change the part that says "Text goes here". And I don't see any need for conflict resolution here either, because different events should definitely be able to coexist, or the modmaker is doing something very wrong.

Really, wasn't adding events to the game the initial reason the Mod system was added in the first place? At least, Goldo's Cool Mod leads me to believe so. I really think being able to add City events is a natural step to take.
Logged
Find my High-Quality Girl Packs (Belldandy, Urd, Rin Kaenbyou, Jessica Albert, Temari, Pyra, Lyndis, Tohsaka Rin) at MEGA:
https://mega.nz/folder/LQgHxALS#i3Y4IwUzc2wlULRfp18mdw

_neronero

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 483
    • View Profile
Re: Gameplay and design discussion
« Reply #1077 on: December 10, 2021, 09:00:04 am »

I thought it was already possible to add city encounters through StoryEvent by using 'location'? You could even crudely mix it in with vanilla events by using 'chance'.
The current infrastructure might not be ideal to support lots of user generated city encounters, but to me it seems decent enough to support a few. There's still room to grow in for an event writer, if such a mythical creature were to exist.

If we're brainstorming about infrastructure, I would rather focus on converting packmakers to the dark side by making them dabble with code without opening a text editor. E.g: Add a GUI-based city encounter generator (or BK.ini generator for an even smaller hurdle) to the Tagging Tool.

Goldo

  • Moderator
  • Hero Member
  • *****
  • Offline Offline
  • Posts: 1648
    • View Profile
Re: Gameplay and design discussion
« Reply #1078 on: December 10, 2021, 06:01:07 pm »

Yeah I'm a little confused, isn't there a city event example already in the sample mod I released?

There's still room to grow in for an event writer, if such a mythical creature were to exist.

I know right... I'd love to have some evidence of that before committing too many resources to improving event management.
« Last Edit: December 10, 2021, 06:03:16 pm by Goldo »
Logged
Looking for the latest 0.2 patch? It's right here: (it will always be right here :))). !!!Do not use with 0.15!!!

Chris12

  • Hero Member
  • *****
  • Offline Offline
  • Posts: 661
    • View Profile
Re: Gameplay and design discussion
« Reply #1079 on: December 11, 2021, 01:11:00 am »

Well, you probably are correct calling event writers mythical creatures. I cannot deny that there are tools to write events for BK - and they really have not seen a lot of use.

And, as far as I am aware, the people that do custom work for BK have generally decided to work directly with Goldo and the source-code, and not with the Mod system. (e.g. jobgirl) Not a single Mod is pinned on this forum, either.

In that light, I guess you do have a point that it is not really worth investing effort into the Mod infrastructure.
Logged
Find my High-Quality Girl Packs (Belldandy, Urd, Rin Kaenbyou, Jessica Albert, Temari, Pyra, Lyndis, Tohsaka Rin) at MEGA:
https://mega.nz/folder/LQgHxALS#i3Y4IwUzc2wlULRfp18mdw
Pages: 1 ... 70 71 [72] 73 74   Go Up
 


anything
SimplePortal 2.3.3 © 2008-2010, SimplePortal