Author Topic: General Discussion  (Read 3821621 times)

0 Members and 35 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7260 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.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #7261 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.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7262 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.
« Last Edit: April 30, 2016, 06:15:20 PM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #7263 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.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7264 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.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7265 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.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #7266 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.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7267 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...
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7268 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.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #7269 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.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7270 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.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #7271 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?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7272 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.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #7273 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

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #7274 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.
Like what we're doing?