Author Topic: General Discussion  (Read 3821722 times)

0 Members and 21 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6375 on: December 14, 2015, 07:43:42 AM »
Must be changes in testing rpy then... I'll figure it out at home.

Error plainly means that:

Code: [Select]
len(True)
# or
len(False)

is ran somewhere. It's not something anyone would normally write so you most likely changed something that used to be a container to a bool somehow.

I'm afraid that without additional means pure classes will be too rare. Though I suppose it's not a big deal.

It all depends on the logic/data, we can have chances for each combo or even chances and defaults if all fails, something like:

Code: [Select]
{
"General Pattern Name": {
"Specific Patten Name": {chance: 100, "Possible Subclasses": {"C1": 50, "C2":20}, default: True},
"Specific Patten Name 2": {chance: 100, "default: True"},
"Specific Patten Name 2":  {chance: 50}
},
"General Pattern Name 2": {...}
}

And so on (this is just a prototype off the top of my head, we can do it differently (Simpler container setup/More complex class to manage containers/Function with loads of if/else/elifs and so on)).

===>>
We also need a new pattern management for auto-equipping... I am not sure yet how or if we can combine the two somehow.

Edit:
===>>
Note 2self: Rows are messed up during logical combat, prolly a similar thing to the now fixed constant healing issue. Gonna take a look at that tonight.
« Last Edit: December 14, 2015, 08:17:37 AM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6376 on: December 14, 2015, 09:56:12 AM »
Yup, it was testing.rpy. IIRC when I tested how modified jobs refusing will work, I changed it a bit to make everyone whores only, and also added rest job option. For some reason after recent pushes those changes stopped working, so I reverted it to your version.

We also need a new pattern management for auto-equipping... I am not sure yet how or if we can combine the two somehow.
You mean for dual classes? I suppose it should be based on the current job then.
« Last Edit: December 14, 2015, 10:14:14 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6377 on: December 14, 2015, 10:30:40 AM »
You mean for dual classes? I suppose it should be based on the current job then.

That's an option... but I still need to figure out a good way of handing "Combat" option at the very least, our classes are no longer straightforward and magic stat may be utterly useless for warrior just as attack for a mage. Both for a combination of both, maybe I can do that using generalization Caster/Warrior, it's yet another thing to think about... but it'll prolly be simple in the end :)
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6378 on: December 14, 2015, 11:00:06 AM »
Ok, I am going to look into row thing during logical combat, that is likely to require a small rewrite and will prolly be the last bug related to logical/real issues ever (all new code will be written with that in mind).

I just noticed another thing: Unless new Ren'Py upgrade messed something up, our attacks execution may be CPU speed dependent while it shouldn't be. I'll check this for sure when I get to laptop where Cataclysm worked perfectly last because slightly faster CPU on desktop does seems to be terminating animation before it ran the last few frames. This is something we should be able to fix no matter what's the case.

===>>>
I've also looked into using SimPy in the BE but I am yet to find a way around one simple fact:

SimPy = Perfect and easy manageable animations but at the cost of always having to see them... right now it is possible to skip the animations bit by bit, I am not sure yet how to do that using SimPy (because it manages it's own loops and generators). I'll keep hacking at it as well, I have some ideas on how to get it to work even without SimPy.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6379 on: December 14, 2015, 01:04:38 PM »
We cannot be picky, good highres mobs icons are not common at all...

One thing that I cannot work with in this case is inconsistency, some sprites plainly have empty space that warps their positioning and size... counts both for Actors and Mobs. Even my usual testing case with Hinata/Nami has this issue (Nami's BE Sprite). After I removed the empty space, it got a bit better.

It's either one or the other... either we try to make sprites consistent with transparent space or not. Both is impossible to work with or even theorize. For flying/hovering cr@p like bats we'll have to add a special case: default_offset. I think that may work in general or at least be better manageable.

Last thing is targeting weird sprites (Once where hair/drawn weapon take 1/2 of the sprite), it's not too bad but positioning is targeting is off. System I designed for us can target 9 points of the sprite image and add any offset in pixels to hose positions, that however is not meaningful with weird sprites... so we can either get rid of those or add more parameters to handle proper offset values to find middle/top/bottom.

===>
My last few attempts to remove empty space do improve the last issue quite a bit, maybe no action will be required.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6380 on: December 14, 2015, 01:14:15 PM »
Ok, I am going to look into row thing during logical combat

Is gone forever, code is now a lot better too :) (although we do not care about it's speed for player-guided battles). I'll see if anything else can be done tonight!
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6381 on: December 14, 2015, 01:43:02 PM »
LoL

I wanted to check something during Peevish event but instead got this:



Sadly I rush-clicked thought the conversation so I was pretty much F*cked without looking up the answer in code ;) This is like an endless loop if you are stupid enough to get this far without paying attention. There got to be a way of saying: Screw you guys, I am going home! :)
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6382 on: December 14, 2015, 02:29:20 PM »
SimPy = Perfect and easy manageable animations but at the cost of always having to see them... right now it is possible to skip the animations bit by bit, I am not sure yet how to do that using SimPy (because it manages it's own loops and generators). I'll keep hacking at it as well, I have some ideas on how to get it to work even without SimPy.
I recall players used skipping function inside BE a lot during the first release. We cannot drop it no matter what, I'm afraid.

One thing that I cannot work with in this case is inconsistency, some sprites plainly have empty space that warps their positioning and size... counts both for Actors and Mobs. Even my usual testing case with Hinata/Nami has this issue (Nami's BE Sprite). After I removed the empty space, it got a bit better.
Maybe you should download updated packs then, hmm? I bet you have the version right after our global retagging, but since then I improved all sprites, cleaned many images and added some new ones for all my existing packs. Just make sure you completely delete old ones at first.
You are right about mobs though, I forgot to do the same for them. I'll fix it.

I was pretty much F*cked without looking up the answer in code ;) This is like an endless loop if you are stupid enough to get this far without paying attention. There got to be a way of saying: Screw you guys, I am going home! :)
Lol  :D
It's more like a placeholder, since I want the password to be found in SE eventually. I was wondering how hard it is to do such a thing in renpy as password entering from a set of options.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6383 on: December 14, 2015, 02:39:29 PM »
Btw don't forget, characters have height to determine size of sprites. It probably should work inside BE too.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6384 on: December 14, 2015, 02:56:15 PM »
Btw don't forget, characters have height to determine size of sprites. It probably should work inside BE too.

It is, it is in fact the very first thing we consider before applying any other "BS" or special considerations, we get a sprite from the corresponding method and work with it for the entire BE scenario (for purely logical execution we obviously do not give a sh!t so it's not even called once).
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6385 on: December 14, 2015, 03:10:59 PM »
I recall players used skipping function inside BE a lot during the first release. We cannot drop it no matter what, I'm afraid.

SimPy might not be very good bet for BE in this case... it is still the ONLY perfect way of handing jobs and SE :)

Every movement, every animation or ANYTHING you see happening on the screen during BE in such a case is a matter of proper control and management of gameflow. SimPy takes that over and I am not sure atm how we can handle it so it works with Ren'Py internal skipping. I know that SimPy has it's own overrides we can work with but so far I was unable to get that to work in real time scenarios, I'll keep hacking at it as I've said.

Maybe you should download updated packs then, hmm? I bet you have the version right after our global retagging, but since then I improved all sprites, cleaned many images and added some new ones for all my existing packs. Just make sure you completely delete old ones at first.

My packs are prolly very old :(

You are right about mobs though, I forgot to do the same for them. I'll fix it.

Oki :)

Lol  :D
It's more like a placeholder, since I want the password to be found in SE eventually. I was wondering how hard it is to do such a thing in renpy as password entering from a set of options.

Got it! I am just not used to new Events that were not coded by me or Thewlis :D It was a weird surprise. In fact I once already went through the event but could not remember the actual sequence  :'( Since I have seen the label once already, Ren'Py allowed me to fast skip this time based off persistent feature which I did in no way expect!
« Last Edit: December 14, 2015, 03:17:32 PM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #6386 on: December 14, 2015, 03:19:43 PM »
There is another option... For those who don't want special effects inside BE we could add an option in settings to disable all effects once and for all.

I'm going to make a big push with cleared mobs sprites. I removed blank space, and also resized them, since some were waaay too big for BE.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6387 on: December 14, 2015, 03:31:31 PM »
There is another option... For those who don't want special effects inside BE we could add an option in settings to disable all effects once and for all.

I'll think about it but I am not sure that it's a reasonable option, it's not like Transitions that Ren'Py 101% handles for you automatically (which you can turn on/off), so writing double logic for this may not be a good option (but it is still an option as you've said obviously).

I'm going to make a big push with cleared mobs sprites. I removed blank space, and also resized them, since some were waaay too big for BE.

Oki, size doesn't matter much in this case, we plainly resize the images. There are some large items icons as well but I doubt that it matters much as long as we predict the images well.

I removed blank space

This however is awesome because once I can count on all sprites working under the same rules, I can try out new stuff to account for inconsistencies.  It's just almost impossible when you have some wise sprites adding 30% extra horizontal space for no apparent reason.

Edit ===>>>
There are still some frecked up MC images I think, but it's no longer frequent event that I cross one of those (i resized some of those myself in the past).
« Last Edit: December 14, 2015, 03:35:09 PM by Xela »
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6388 on: December 14, 2015, 05:21:16 PM »
Got to Laptop: GFX in BE are CPU (or maybe GPU) dependent :(

It'll prolly take me a while to figure out why exactly but that is a must... I've also managed to get single (all targets) attack skill working to acceptable effect, I'll look into getting one P2P version of it to work and push, if not tonight, then tomorrow.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #6389 on: December 14, 2015, 06:54:07 PM »
And last update for tonight :D

I've added two new magical "areal" attack types. Instead of one animation per target, we now aim at the middle of target party (always in between of
center front and back enemy position, even if there is just one enemy on the other end...).

I've ran Cataclysm under new code and Ion Storm (which looks a LOT better this way). P2P attacks are messed up at the moment and will require some rewriting (animation times that I wanted to handle with SimPy before). This has nothing to do with tonight's update, it was broken before... and plainly needs to be fixed.
Like what we're doing?