Author Topic: General Discussion  (Read 3788465 times)

0 Members and 9 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9465 on: February 15, 2017, 12:43:42 PM »
If it's the effect presently bound to Dark spell, it seems to do exactly what you suggest, it's like a dark aura/cloud over the sprite. It kinda looks like an attack or part of that attack, not a sprite effect but it is scaled pretty well for both sides.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9466 on: February 15, 2017, 12:53:18 PM »
Check our Darkra... Itachi amaterasu all the way
Indeed. But we lack a suitable darkness spell for such cool effect, unfortunately. It will have to wait until beta.

You way is better because you're using a different channel here from what we normally do and that can be very important
Nah, autowebm folder allows to freely change channel. The darkness effect uses main_gfx_bow channel, it is also used by p2p-type skills to show the bow, which is no longer visible by the time we need to show any damage effects.

If it's the effect presently bound to Dark spell, it seems to do exactly what you suggest, it's like a dark aura/cloud over the sprite. It kinda looks like an attack or part of that attack, not a sprite effect but it is scaled pretty well for both sides.
How should I say... It scales too much by Y axis. If you compare the screenshots, you can see the difference in Y axis part.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9467 on: February 15, 2017, 01:04:33 PM »
How should I say... It scales too much by Y axis. If you compare the screenshots, you can see the difference in Y axis part.

LoL

I can't see anything wrong! Or anything off about the second image. First one (our it's your turn effect) been like that for ages, I was thinking about setting up minimum size for it cause it really small for some character but seemed like an overkill cause it doesn't look bad.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9468 on: February 15, 2017, 01:13:00 PM »
Let me rephrase it: only its length aka X aixs should scale according to sprite width. The height aka Y axis should remain the same = original sprite height.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9469 on: February 15, 2017, 01:27:19 PM »
Let me rephrase it: only its length aka X aixs should scale according to sprite width. The height aka Y axis should remain the same = original sprite height.

Ok, this I understand, hold on!
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9470 on: February 15, 2017, 01:47:40 PM »
Oki, looks better now.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9471 on: February 15, 2017, 01:49:50 PM »
My Tiers idea is a bust... there is no good way to put that much data and logic in one place. It's neither practical nor a good coding practice. I am trying to come up with a good way to spread data between Tiers, Jobs and Chars.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9472 on: February 15, 2017, 02:10:18 PM »
Sadly, the new way of recoloring sprites cannot reproduce the effect of decreasing or increasing brightness which I used for darkness and light damage effects. It just doesn't look right, no matter the colors.
I found an opened dropbox folder full of animations (the new darkness effect is from there), maybe I'll find something for light there too.

We need tiers mostly to control wages and daily income. And also to pick a more or less rich background for character room. It can't be THAT difficult  :)

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9473 on: February 15, 2017, 02:51:01 PM »
Sadly, the new way of recoloring sprites cannot reproduce the effect of decreasing or increasing brightness which I used for darkness and light damage effects. It just doesn't look right, no matter the colors.
I found an opened dropbox folder full of animations (the new darkness effect is from there), maybe I'll find something for light there too.

Well... it's not possible to do it the way it was done before without much better OpenGL support than Ren'Py has to offer. We could use the third party OpenGl shader but I am not familiar with it.

We need tiers mostly to control wages and daily income. And also to pick a more or less rich background for character room. It can't be THAT difficult  :)

We need them to judge relative capability during jobs. Expected wage and accommodations. Figure out how skills/stats/level combinations convert to performance. We plainly need a sharp way to figure out what's character is good for during jobs and world actions.

Wages and income is not difficult, rest is. It cannot all be in one class as I've said above.


I may have improved the healing overlay a bit. There are thousands of particle animations out there, take a look at simplest Water spell after you pull.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9474 on: February 16, 2017, 03:25:44 AM »
When specific level, relevant skills and stats are reached by character, tier goes up. Together with wage/accommodations. And wage/accommodations stay put until the next tier. That was your plan. It's simple enough, checking level, stats and skills every turn.
Although, there should be more checks than just level and stats - maybe something like fame. Otherwise it will be too easy.

Figure out how skills/stats/level combinations convert to performance. We plainly need a sharp way to figure out what's character is good for during jobs and world actions.
For example, any action has difficultly. Performance = tier level/difficulty level. If character has 100 cleaning and 2 tier, but the difficulty of cleaning task is 10, then her cleaning becomes 100 * (2/10) = 20. Same for stats.

You still can overcome the penalty by having huge skills and stats, but tiers make it much easier.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9475 on: February 16, 2017, 07:35:49 AM »
When specific level, relevant skills and stats are reached by character, tier goes up. Together with wage/accommodations. And wage/accommodations stay put until the next tier. That was your plan. It's simple enough, checking level, stats and skills every turn.
Although, there should be more checks than just level and stats - maybe something like fame. Otherwise it will be too easy.

I wanted to do it on per general occupation basis (Service/SIW/Warriors/Managers). Problem is that you cannot interpolate tier reliably even if you bind corresponding skills/stats to those occupation and get a mean. Warriors fighting in the arena or guarding will always be at disadvantage compared explorers. It's even worse for Service chars.

So it should prolly be done on per Job basis. There should be "Current Job" and "Best Job". Best Job should be a target for every char and reevaluated every 25 days or so using raw stats (no items/temp modification) and base class(es). Current job is important only for free chars as you'll be hiring them for specific duties and they have a right to disagree doing stuff they don't like/want. It doesn't mean that they will not help cleaning or doing other tasks within their general occupations, but you cannot set them to focus on those tasks. SimPy will handle this.

We'll bind skills/stats on per Job basis, I took a look and some of that is done already. Jobs will also get new methods to calculate effectiveness and relative strength (for Best Job). I will also add this to interactions once the system is ready.

Tiers themselves will be calculated based of level, base class(es), stats and skills (we'll also have to make those bindings, prolly directly in JSON). They will be responsible for something akin to social status, to quickly figure out what chars expectations are, and stuff like wages, upkeep and etc.

For example, any action has difficultly. Performance = tier level/difficulty level. If character has 100 cleaning and 2 tier, but the difficulty of cleaning task is 10, then her cleaning becomes 100 * (2/10) = 20. Same for stats.

You still can overcome the penalty by having huge skills and stats, but tiers make it much easier.

Yeap, I arrived to a very similar conclusion yesterday. I am thinking we're gonna keep Job classes to keep present job assignment system in tact. They will also hold stats/skills required for them. So basically what I wrote about above. Each job (or most jobs) will have methods to figure out expected performance and actual performance, prolly on a scale of 0 - 200. Expected will be base, actual will also count data from actual job events.


I am still getting all of this straight in my head and making notes. If you need something coded in, let me know tonight cause I am leaving tomorrow and will be back on Monday if all goes well. I'll have my laptop but no idea what kind of internet connection will be available.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9476 on: February 16, 2017, 09:55:35 AM »
Well, it sounds much more interesting than doing it per class anyway. It also will allow to use less classes, because a class can have any "preferred" job.

If you need something coded in, let me know tonight cause I am leaving tomorrow and will be back on Monday if all goes well. I'll have my laptop but no idea what kind of internet connection will be available.
Ok, here is a case for you: in the last push for testing I just changed sprites of mobs used in BE testing mode to webm. Now I get
Code: [Select]
  File "game/library/be/labels.rpy", line 76, in script
    python:
  File "game/library/be/labels.rpy", line 80, in <module>
    battle.start_battle()
  File "game/library/be/core.rpy", line 178, in start_battle
    self.show_char(i, at_list=[Transform(pos=self.get_icp(team, i))])
  File "game/library/be/core.rpy", line 262, in get_icp
    sprite = char.show("battle_sprite", resize=char.get_sprite_size("battle_sprite"))
  File "game/library/characters/classes - characters.rpy", line 3371, in show
    return prop_resize(what, resize[0], resize[1])
  File "game/library/UDDs.rpy", line 784, in prop_resize
    ratio = min(maxwidth/float(width), maxheight/float(height))
ZeroDivisionError: float division by zero

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9477 on: February 16, 2017, 11:59:03 AM »
Ok, here is a case for you: in the last push for testing I just changed sprites of mobs used in BE testing mode to webm. Now I get

Sadly, there is no way around this except setting up default (fixed) size OR adding size of the webm to the JSON (which is preferable)... One of the webm limitations we encountered earlier in development.

Also, it's prolly a good idea to put all of these mobs on unique channels named after them somehow. I'll get your setup and see what's what.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #9478 on: February 16, 2017, 12:34:28 PM »
Oki, require a bit of tinkering but it seems to be working now.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #9479 on: February 16, 2017, 01:47:26 PM »
It was a bad design to use mob name as a base for webm name. Because mobs names may have spaces, while autowebm folder uses spaces as separators to define webms properly. These logics are incompatible.
« Last Edit: February 16, 2017, 01:55:29 PM by DarkTl »