devolution

Author Topic: General Discussion  (Read 3821742 times)

0 Members and 18 Guests are viewing this topic.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5430 on: August 06, 2015, 04:23:13 AM »
I'm not sure how to handle this:
characters with unique quests should be unavailable for hiring and/or lover status and/or friendship status before you finish those quests. I suppose it means that every unique character with a quest should have flags that will prevent it until you disable those flags via quest?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5431 on: August 06, 2015, 04:39:35 AM »
I'm not sure how to handle this:
characters with unique quests should be unavailable for hiring and/or lover status and/or friendship status before you finish those quests. I suppose it means that every unique character with a quest should have flags that will prevent it until you disable those flags via quest?

If you're going to use a flag for this, make sure it's very unique so it can be found without collisions when we make an actual system for these things and adapt. You're right, at the moment, flag is prolly a way to go here. You should set them up in special labels I think, so we can keep JSON files nice and clean.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5432 on: August 06, 2015, 05:11:59 AM »
Locations can be locked/unlocked now. Check the Hub for moar info. You can look at the other locations and add new once copy/pasting and adjusting the code as required.

I will standardize the locations code in the future and I've starts an issue on that but it's very longterm with everything else that we need to take care of. I have a good idea on how to do that using code prototype I wrote for MoR a few days back but even that would require a huge expansion to work in PyTFall properly. For now we'll just have to live with a bunch of very similar code at every location.

I want to clear Items of inheriting from Structure class, that is a poor implementation we have since Alkion times.
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: General Discussion
« Reply #5433 on: August 06, 2015, 01:32:04 PM »
@Cherry, may I have some male expressions from you db? I mean 00017000, 00017012, 222_char_34, 396_char_472, 545_Mgren02b, 1157_ch1157, chM0022, tc_b_oyaji_01_01a.
Here it is:
mega.co


edit: sry, I never noticed it works like that... fixed this and some other bad links
« Last Edit: August 06, 2015, 04:06:58 PM by CherryWood »

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5434 on: August 06, 2015, 02:19:07 PM »
It's not a valid link for me because it doesn't include encryption key. That's why it's so short, and as a result no one cannot access it, maybe except you.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5435 on: August 06, 2015, 03:03:46 PM »
I need a proper way to show dizziness. I hoped to use blur, but surprisingly renpy doesn't have anything like that, probably because it might not work with old, weak cpus.
Also, this  :)
« Last Edit: August 06, 2015, 03:07:41 PM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5436 on: August 06, 2015, 04:11:12 PM »
No idea about dizziness, I'll take a look, maybe there is something on lemma.

I'll take a look at the Issue as well.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5437 on: August 06, 2015, 08:15:37 PM »
Oki, last push for the night...

I need a proper way to show dizziness.

I've looked in into ways they display dizziness in VNs. Basically there are 3 approaches, I either found and fixed old code from Ren'Py or wrote it myself. Click on Examples button on main screen to view the effects and pick the one you like, I can prolly improve on it or at least make it more convenient.

1st way: Mirage effects, it crops the image into "lines" and applies zooming algorithms to them. You get kind of a heat haze effect out of it. This one is very, very demanding in terms of computing power.

2nd way: Creates another image with lower alpha channel, slightly displaces it and shows in quick succession. You get double vision effect.

3rd way: This one is by far the most common, it sizes down the image to 1/10th of it's size, restores it to the original size getting a blurry picture and shows it and the original in quick succession. You get an effects as if your vision was loosing focus. This one can also be improved a lot (I think) by creating 3 - 10 images of different quality this way and showing them in succession. For now it's just the one image.

Also, this  :)

1) We have a "world" music channel leading to sfx/music/world and "gamemusic" channel, leading to sfx/music. I will not redirect default music and sound mixers because they are used all over the game and in Ren'Py documentation with assumption that path starts at root. We can make add channels of you like.

2) I've added story folder, images there will be tagged with bg story, so:

Code: [Select]
show bg story night_forest
or
Code: [Select]
scene bg story night_forest
will do.

Also, keep in mind that it generally is a bad idea not to resize large images if you know their size in advance, Ren'Py will detect that and act appropriately, you may get performance improvements out of it, especially in areas where you use special effects and/or transitions over these images.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5438 on: August 07, 2015, 06:40:51 AM »
It is worth mentioning that now the game will not run if you don't have a story folder, even empty one.

As for dizziness, I like a lot the second and third ones. I will use them in different circumstances.
The first one is more like a drunk effect. While it might be useful in the future, I suppose we cannot demand modern gaming pcs from players while building a sprites based game. It took about 15% of my pc's cpu time while other effects about 5%.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5439 on: August 07, 2015, 07:29:55 AM »
It is worth mentioning that now the game will not run if you don't have a story folder, even empty one.

It runs with an empty folder for me, there is also nothing in code that should prevent that. I just doesn't know how to push empty folders without checking with manuals.

As for dizziness, I like a lot the second and third ones. I will use them in different circumstances.
The first one is more like a drunk effect. While it might be useful in the future, I suppose we cannot demand modern gaming pcs from players while building a sprites based game. It took about 15% of my pc's cpu time while other effects about 5%.

I'll look into improving the latter two.

Code for the first one works off scanlines, it was written as a proof of concept that a game like the original Doom or Wolfenstein were possible in Ren'Py even without tapping into OpenGls 3D pipeline. Later it was adapted in some game to cause visual effect in the desert, where the image at distance gets distorted because of heated air. Later they created Mirage class. It's broken in modern Ren'Py but I've fixed it and added an option to change height of a line, original would only allow height of 1 pixel. I think it can be further improved, maybe even perfected but that would take me quite a while due to lack of experience, so it not worth at the moment.

Second one is just a part of knowledge database, I just changed two parameters. I actually want to know how it functions, it a very short code that works in a way I am not really accustomed to, may proof very useful for the future, unrelated matters.

Third one I wrote myself, I'll improve it so it takes just the one line of code instead of 10 or 15. It was more like an extra option they use in almost every other software adapted to work with Ren'Py.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5440 on: August 07, 2015, 09:18:24 AM »
It doesn't work. I dropped a picture into the story folder and used show bg story slq with dissolve. It gives me IOError: Couldn't find file 'content/gfx/bg/locations/slq.jpg', meaning it tries to find it where we keep all other bgs.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5441 on: August 07, 2015, 09:35:00 AM »
It doesn't work. I dropped a picture into the story folder and used show bg story slq with dissolve. It gives me IOError: Couldn't find file 'content/gfx/bg/locations/slq.jpg', meaning it tries to find it where we keep all other bgs.

My bad, I copypasted without a proper check. Try it again. I've also pushed improved version of third dizzy effect, where vision gets worse with every new show. Also it is now possible to provide arguments to the second version, it can create really fun double vision effects. Arguments are:

Code: [Select]
double_vision_on(img, alpha=0.5, count=10, dist=7, delay=0.4)
where alpha is the alpha channel of the second image, count is the amount of images, dist is distance the images offset from the normal image and delay is how long the whole thing takes. Unless I misread the parameters, it is using Ren'Py classes that are now considered to be outdated so this type of code came before my time.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5442 on: August 07, 2015, 09:44:51 AM »
surprisingly renpy doesn't have anything like that, probably because it might not work with old, weak cpus.

Especially the last two version are actually really timid in a sense of requiring cpu power. I think that it's lacking this doesn't because there are too fecking many possibilities here and even within those possibilities, there are too many possible options. It was not difficult to code and even easier to tweak and in the future, maybe even parametrize to allow different behaviors from the same func.

PyTom promised perspective transforms in the next Ren'Py version, that I think will be really cool. But atm, I didn't see any relevant code to that on Ren'Pys GitHub page.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5443 on: August 07, 2015, 10:57:23 AM »
I wonder, can't we disable everywhere the window for portrait when narrator speaks? It's empty anyway, and doesn't look good.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5444 on: August 07, 2015, 11:20:23 AM »
I wonder, can't we disable everywhere the window for portrait when narrator speaks? It's empty anyway, and doesn't look good.

Gismo and I decided that it was better this way... we can restyle but I don't see a reason to even bother with revisiting styles for it. Not before a next major cleanup of styles anyway.

Edit: It is one whole image btw, so it means even more work :( I think we'll just have to redo the dialogue window once or twice before it totally kicks ass. It's a still a LOT better than what I made for old Alpha.
« Last Edit: August 07, 2015, 11:45:49 AM by Xela »
Like what we're doing?