Original art

Started by Diarandor, February 06, 2016, 03:02:41 PM

Previous topic - Next topic
September 02, 2018, 11:28:38 AM #135 Last Edit: September 02, 2018, 11:30:42 AM by Diarandor
Thanks! Yeah, this has been a ton of work. Yes, she moves her arms up when jumping without sword, and opens the mouth like crying, all of this is intentional. She is really cool :)
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

Ongoing work: wizard Teleido, the final boss:
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

Here you can see all the current art for princess Robyne:
https://youtu.be/BQUT6aQroGs
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

We now have spiders too: https://youtu.be/nrCSjff-4k8
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

Those spiders are way too good and I hate them. *shudders*  ;D

Quote from: wrightmat on January 03, 2019, 05:09:33 PM
Those spiders are way too good and I hate them. *shudders*  ;D
Thanks for the feedback! I will keep drawing nasty things... :P
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

I have tested in-game. I saw a bug when the spider throws acid: the animation doesn't always match the direction of the projectile. I don't know if I forgot some scripts.

Otherwise, for the graphic part, a larger body would be more scary, but it is already a good job as usual. I'm doing a 4-color version from your "spiderskull" trying to make it look like a spider like Shelob or Aragog. If it doesn't bother you, I will share the result.

January 06, 2019, 07:34:29 PM #142 Last Edit: January 06, 2019, 07:54:43 PM by Diarandor
Quote from: froggy77 on January 06, 2019, 04:00:53 PM
I have tested in-game. I saw a bug when the spider throws acid: the animation doesn't always match the direction of the projectile. I don't know if I forgot some scripts.

Otherwise, for the graphic part, a larger body would be more scary, but it is already a good job as usual. I'm doing a 4-color version from your "spiderskull" trying to make it look like a spider like Shelob or Aragog. If it doesn't bother you, I will share the result.

Thanks for notifying about the bug, I will try to reproduce it.

Of course, you can modify it for your purposes. I recommend you to do it in the ".ase" file, which uses layers, so that that info is not lost in your file (you can easily generate pngs from there for the layers you choose). What I would do is to add a new body layer and hide the old one in the aseprite file. Working with layers, although not necessary, is faster and better to share your work with others.

EDIT: it should be fixed now, could you confirm? This is the change:
https://gitlab.com/solarus-games/children-of-solarus/commit/1d6dd0551c62c877b830349e32ff29907e77d7e6
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

January 07, 2019, 06:15:26 PM #143 Last Edit: January 07, 2019, 06:48:10 PM by froggy77
I'm really used to Gimp for pixel art. Maybe someday I will use Aseprite. ;D
I have the same bug: I tested with "local dir = enemy: get_direction4_to (hero) local" and  with "local dir = sprite: get_direction () ". So I checked in the logs and I did not pay attention to the errors probably related to the fact that I test with "solarus-alttp-pack-master" and not with "children-of-solarus".



Info: Simulation started

Error: In on_created: enemies/spiderskull.lua:40: attempt to call method 'set_sprite_damage' (a nil value)

stack traceback:

[C]: in function 'set_sprite_damage'

enemies/spiderskull.lua:40: in function <enemies/spiderskull.lua:28>

Error: In timer callback: enemies/spiderskull.lua:227: attempt to call method 'set_default_behavior_on_hero_shield' (a nil value)

stack traceback:

[C]: in function 'set_default_behavior_on_hero_shield'

enemies/spiderskull.lua:227: in function 'throw_acidball'

enemies/spiderskull.lua:99: in function <enemies/spiderskull.lua:92>

Error: In timer callback: enemies/spiderskull.lua:205: attempt to call method 'allow_hurt_enemies' (a nil value)

stack traceback:

[C]: in function 'allow_hurt_enemies'

enemies/spiderskull.lua:205: in function <enemies/spiderskull.lua:204>

Error: In timer callback: enemies/spiderskull.lua:227: attempt to call method 'set_default_behavior_on_hero_shield' (a nil value)

stack traceback:

[C]: in function 'set_default_behavior_on_hero_shield'

enemies/spiderskull.lua:227: in function 'throw_acidball'

enemies/spiderskull.lua:99: in function <enemies/spiderskull.lua:92>

Error: In timer callback: enemies/spiderskull.lua:205: attempt to call method 'allow_hurt_enemies' (a nil value)

stack traceback:

[C]: in function 'allow_hurt_enemies'

enemies/spiderskull.lua:205: in function <enemies/spiderskull.lua:204>

Error: In on_created: enemies/spiderskull.lua:40: attempt to call method 'set_sprite_damage' (a nil value)

stack traceback:

[C]: in function 'set_sprite_damage'

enemies/spiderskull.lua:40: in function <enemies/spiderskull.lua:28>

Info: Simulation finished


Quote from: froggy77 on January 07, 2019, 06:15:26 PM
I'm really used to Gimp for pixel art. Maybe someday I will use Aseprite. ;D
I have the same bug: I tested with "local dir = enemy: get_direction4_to (hero) local" and  with "local dir = sprite: get_direction () ". So I checked in the logs and I did not pay attention to the errors probably related to the fact that I test with "solarus-alttp-pack-master" and not with "children-of-solarus".



Info: Simulation started

Error: In on_created: enemies/spiderskull.lua:40: attempt to call method 'set_sprite_damage' (a nil value)

stack traceback:

[C]: in function 'set_sprite_damage'

enemies/spiderskull.lua:40: in function <enemies/spiderskull.lua:28>

Error: In timer callback: enemies/spiderskull.lua:227: attempt to call method 'set_default_behavior_on_hero_shield' (a nil value)

stack traceback:

[C]: in function 'set_default_behavior_on_hero_shield'

enemies/spiderskull.lua:227: in function 'throw_acidball'

enemies/spiderskull.lua:99: in function <enemies/spiderskull.lua:92>

Error: In timer callback: enemies/spiderskull.lua:205: attempt to call method 'allow_hurt_enemies' (a nil value)

stack traceback:

[C]: in function 'allow_hurt_enemies'

enemies/spiderskull.lua:205: in function <enemies/spiderskull.lua:204>

Error: In timer callback: enemies/spiderskull.lua:227: attempt to call method 'set_default_behavior_on_hero_shield' (a nil value)

stack traceback:

[C]: in function 'set_default_behavior_on_hero_shield'

enemies/spiderskull.lua:227: in function 'throw_acidball'

enemies/spiderskull.lua:99: in function <enemies/spiderskull.lua:92>

Error: In timer callback: enemies/spiderskull.lua:205: attempt to call method 'allow_hurt_enemies' (a nil value)

stack traceback:

[C]: in function 'allow_hurt_enemies'

enemies/spiderskull.lua:205: in function <enemies/spiderskull.lua:204>

Error: In on_created: enemies/spiderskull.lua:40: attempt to call method 'set_sprite_damage' (a nil value)

stack traceback:

[C]: in function 'set_sprite_damage'

enemies/spiderskull.lua:40: in function <enemies/spiderskull.lua:28>

Info: Simulation finished


Then there is no such bug. It's just a consequence of the errors you get there because some of those functions are not defined in the scripts of your quest. In any case, there may be some more changes in the enemy scripts of CoS to avoid this type of importing problems, and we have to relocate scripts and sprites in the subfolders of CoS (they should appear in the same way as in the free resource pack).
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

January 18, 2019, 12:52:27 AM #145 Last Edit: January 18, 2019, 01:09:23 AM by froggy77

       
  • Okay, I admit it was not a bug. I had forgotten to copy this script named "generic_projectile.lua"; it explains the strange behaviour of "acidball".

       
  • I also put in comment this line, but it is obvious that the hero can no longer stop the "acidball" ;)
-- acidball:set_default_behavior_on_hero_shield("normal_shield_push")


       
  • Indeed, there are still some errors because the script is only suitable for your project. It would be necessary to implement several of the scripts like data\scripts\meta\enemy.lua but it doesn't matter.
Error: In on_created: enemies/spiderskull.lua:41: attempt to call method 'set_sprite_damage' (a nil value)
stack traceback:
[C]: in function 'set_sprite_damage'
enemies/spiderskull.lua:41: in function <enemies/spiderskull.lua:29>



       
  • However, I think it would be useful to add a timer and a better animation for "throw_acidball"; The projectile is launched before the end of the animation which is too brutal for the player who can be surprised by the attack. Morever, you put only one frame with a duration of 1000ms. In "my" version, there are 6 frames with a delay of 200ms between frames  (so 6 * 200ms =  a duration of 1200ms,  hey hey ... without the calculator ;) ). I added a timer of 800 ms in the script (see below in blue font) which corresponds to the beginning of the fifth frame when the spider returns to its normal color.
In "spiderskull.lua":

"
blablabla...

function enemy:throw_acidball()
  -- Prepare enemy animation.
  sprite:set_animation("throw_acidball", function()
    enemy:restart()
  end)
  sol.timer.start(enemy, 800, function()

blablabla...

    function acidball:on_shield_collision(shield)
        acidball:explode() -- Kill enemy.
    end
  end)
end
"


       
  • I have almost finished to reedit the image named "spiderskull.png"; it is a 4-color version for my project; it will be easy to add colors.

       
  • I replaced this line because I think it is better and it's just my point of view
and math.random(1, 4) == 1 -- Probability for acidball attack: 25%
by this line:
and math.random(1, 2) == 1 -- Probability for acidball attack: 50%

       
  • Attachment files:
- acidball.png
- spiderskull.png
- spiderskull.dat


Your version is really awesome. You should put yourself as an author too (separating our names with a comma), instead of just "edited by".
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

OK thank you, glad that it please  :)

No, it isn't worth it. The nickname can be put in the interface Solarus since it is easy now to add the author(s) and the license in the projects. In the end, in my opinion, it is necessary to cut the images without the licenses and the authors in order to avoid having too big files in the final project.
If I add my nickname and the CC-BY-NC-SA license (or another license that I don't understand) for the 100% homemade stuff, it's just to avoid a bit of seeing my work on old-school games for which some makers are trying to grapple 1€. A small "thank you" in the credits is enough and fun, otherwise I don't care about the nickname in the image.
When I edit an image,  it means that I liked it a lot and I just add "edited by" to respect the original author: if my result is ugly and I leave only the name of the author without the "edited by", I think she or he will not be happy.

April 04, 2019, 09:35:59 PM #148 Last Edit: April 04, 2019, 09:39:26 PM by Diarandor
Quote from: froggy77 on March 02, 2019, 04:31:21 PM
No, it isn't worth it. The nickname can be put in the interface Solarus since it is easy now to add the author(s) and the license in the projects. In the end, in my opinion, it is necessary to cut the images without the licenses and the authors in order to avoid having too big files in the final project.

I agree. If the image is without that label in a project, that is perfectly fine if that is explained in a "license.txt" file, and optionally in the metadata. But if that image is posted, for instance, in a forum, without a "license.txt" or metadata (or something similar) indicating the clearly the license and authors, that would be wrong. I may have done things in the wrong way in the past though, but we all have to try to do things in a good way.

Edit: @froggy77: by the way, i like so much your version of the spider that I think we should include it in CoS. Thanks for sharing your work!
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

New chiptune, "Graveyard Theme".
https://youtu.be/6YF7VnVscCc
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."