Solarus Forum

Community => Game art & music => Topic started by: Diarandor on February 06, 2016, 03:02:41 pm

Title: Original art
Post by: Diarandor on February 06, 2016, 03:02:41 pm
Greetings! I'm gonna upload some of my (unfinished) sprites to devianart.
It may take between 1 and 3 years of work until I have finished all of this since I am doing this in my free time as a hobby.
You can download them from here: http://diarandor.deviantart.com/
but you need to have a devianart account and login there to see images.

At present I have only uploaded a few sprite sheets, but I will keep uploading things from time to time. These sprites will probably be used for the game "Children of Solarus" of the Solarus Team.
Title: Re: Original art
Post by: Diarandor on February 07, 2016, 04:54:32 pm
This was the first version for the sprite of my second character, the archer.
(In my game she will be called Robyne Alabaster, and she will probably be a princess too, although I have not written that part of the plot yet.) The other missing sprite animations of this hero are still part of the work to do.

This sprite could be used to replace princess Zelda sprites in the game "Children of Solarus" if Christopho and the Solarus team agree.
Title: Re: Original art
Post by: Neovyse on May 25, 2016, 04:38:38 pm
Hi!
I really like your little character Edgar, but I think he needs more chromatic unity.
I mean not using too much bright colors, and too many colors. What do you think of my take on your character?

(http://i.imgur.com/0ma4ie1.png)

Edit: I see I forgot the golden line on the coat in the second line, it should be there, it is a mistake!
Title: Re: Original art
Post by: Diarandor on May 25, 2016, 06:03:42 pm
Wow!!! This is awesome!!!! :D
You are right about the colors. I still have a lot to learn...
We should use the improved versions for our projects.

Edit: yes, that yellow line is missing. But just symmetry of the right direction will do it.
Title: Re: Original art
Post by: Diarandor on May 25, 2016, 06:43:00 pm
Whenever you modify any sprite, make sure you use the last version, which is the best one. (The one you used is the last one, and all the others in the sample quest are the last versions too, so it is ok.)
Title: Re: Original art
Post by: Neovyse on May 25, 2016, 11:00:05 pm
Cool, I am glad you like it :)
I will improve your princess also, just by changing some colors and minor improvements. I did it on my lunch time ^^
Another advice I could give, is that too much black lines (black pixels) is not good. For example, the hair, if it is blond or brown, can be draw with a line a bit darker around, but not black, to "lighten" the drawing visually.
Anyway, I am not very good at pixel art, but some rules that apply to drawing are the same  ;)
Title: Re: Original art
Post by: Diarandor on May 25, 2016, 11:25:29 pm
Don't improve the princess yet. I want to improve the leg movement before, so better to wait until then. (I also intend to add all the weapon animations for her, someday.)
Title: Re: Original art
Post by: Diarandor on May 26, 2016, 12:25:55 am
@Neovyse: I guess that another of the good things is that the new (and cooler) version of the hero is very close to your drawing (isn't it?  ;D), so all will fit perfectly now).
http://oclero.deviantart.com/art/Heros-chevauchant-un-cerf-380074615

Should I modify all the other animations with your style? or will be you who does it?
Title: Re: Original art
Post by: Neovyse on May 26, 2016, 09:31:43 am
I see you found my inspiration source for the colors (my own drawing) !  :D
I can modify the others too. And OK for the princess :)
Title: Re: Original art
Post by: Christopho on May 26, 2016, 10:04:48 am
This is amazing guys!
Title: Re: Original art
Post by: Diarandor on May 26, 2016, 02:20:43 pm
I will draw the sprite of the deer someday. Our hero may need it. ;D
Title: Re: Original art
Post by: Neovyse on May 26, 2016, 04:08:41 pm
Hahaha so cool :) the deer was a cute way to replace Epona, and to remind Scandinavian legends
Title: Re: Original art
Post by: Zefk on May 26, 2016, 10:06:37 pm
That is excellent work. Neovyse and Diarandor got skill!  :D
Title: Re: Original art
Post by: Diarandor on June 18, 2016, 10:29:16 pm
Well, two of my first compositions (all is always CC-BY-SA 4.0):

Boss Theme v1.0.
https://www.youtube.com/watch?v=k2qjlB7_KwU

Castle Theme v1.0.
https://www.youtube.com/watch?v=tn0r2WjhZhc

I made the second one today.
They may be a bit repetitive, so I may improve them someday.
Title: Re: Original art
Post by: Starlock on June 18, 2016, 10:38:19 pm
The castle theme sounds phenomenal how long did it take you to put together?
Title: Re: Original art
Post by: Diarandor on June 18, 2016, 10:44:04 pm
I think it was 2 or 3 hours of work aproximately.
Title: Re: Original art
Post by: Diarandor on June 19, 2016, 12:33:22 am
Bad news. I will need to replace some of my FamiTracker instruments to avoid copyright problems (some of them were not made by me). There should not be any problem for purely synthesized instruments, since these can be easily and quickly done and they always sound similar (and these have very simple wave forms). However the DPCM channel uses samples (i.e., sound recordings), so I should replace these instruments in my compositions, just to avoid legal problems. I will need new drum and timbale DPCM sounds (I think these have "dmc" extension). This is soooo frustrating... :(

Can someone help me to find some free FamiTracker instruments for the drums and timbale?
Title: Re: Original art
Post by: Zefk on June 19, 2016, 03:30:21 am
I am not sure if all of them are legal because there is no license information on the site.
http://2a03.free.fr/
http://www.contralogic.com/256-nes-samples/

I know Famitracker allows people to make there own instruments or sounds, but does it allow exporting of them in .dmc formats? I think it allows exporting of NSF (Nintendo Sound Format, invented by Kevin Horton). This link (https://nesdoug.com/2016/01/13/23-using-dmc-sounds/) might help with that.

Edit:
I think this is what you want.
http://forums.famitracker.com/viewtopic.php?t=680

or

maybe you could get an idea at the forum.
http://forums.famitracker.com/viewforum.php?f=8

These sound like okay drums.
https://youtu.be/_lqGpO_8sqY?t=213
Title: Re: Original art
Post by: Diarandor on June 19, 2016, 05:36:43 am
Thanks Zefk! Those links are very useful and there are lots of free FamiTracker instruments there.

However I have not found any DPCM with a similar "high quality" sound for the drums and timbales that I used in the song, so I will have to use some of these chippy sounds to replace them and the song may become worse... but at least this time the licenses will be fully respected and it will be free with no uncertainty. (I will upload the new versions of the two songs as soon as I get time to make them.)
Title: Re: Original art
Post by: Zefk on June 19, 2016, 05:48:02 am
You are welcome! I added a lot of impulse trackers to the music guide today, but I like Famitracker the most.
Title: Re: Original art
Post by: Diarandor on June 21, 2016, 12:47:59 am
Finally I realized that LMMS has some sounds of timbales and drums, which must be free since LMMS is free. I will try to reduce their quality, convert them into dcm format, and then add them to the FamiTracker file to replace the previous recorded samples. That should work.

Anyway, a composer that makes SNES-like music has told me that it's highly unlikely that I would run into any legal problems with those tracks, that most of the samples used in SNES games were actually down-sampled freely usable libraries, and that many people have used samples from real SNES games in commercially released soundtracks. Who knows if this is really true...

But in any case, since I am quite paranoid, I am gonna take the slow but safe and legal way of replacing all recorded samples.
Title: Re: Original art
Post by: Diarandor on July 20, 2016, 03:18:10 am
Greetings! This is the new NPC that I have created: a witch cooking a delicious brew! :p
These graphics may be used to replace the witch from ALTTP in our games made with the Solarus engine.
https://www.youtube.com/watch?v=SSYCzPJG-Pc&index=10&list=PLysNP7i5PKBCgT898-xreWyPcaByEB6Rg
Title: Re: Original art
Post by: Zefk on July 20, 2016, 06:50:33 am
That is really excellent!  :D

I like how the broom moves and the witch has pretty good animation, but I think you did a great job with everything on the preview.
Title: Re: Original art
Post by: Diarandor on July 22, 2016, 10:24:23 am
New art and new character: the strongest blacksmith in the world!!!!!  ;D ;D ;D

See him in action: https://www.youtube.com/watch?v=Np4BFCWnvzM&index=11&list=PLysNP7i5PKBCgT898-xreWyPcaByEB6Rg
And the pixel art is here: http://diarandor.deviantart.com/art/Blacksmith1-v1-0-623218400
Title: Re: Original art
Post by: Christopho on July 22, 2016, 01:08:24 pm
When did you sleep Diarandor?! :D
The blacksmith is great and the video is funny :)
Did you make the screen shaking effect using the new camera features?
Title: Re: Original art
Post by: Diarandor on July 22, 2016, 04:38:32 pm
When did you sleep Diarandor?! :D
The blacksmith is great and the video is funny :)
Did you make the screen shaking effect using the new camera features?

Thanks for the compliments!
I worked all the night... I could not stop because this was sooo cool! :D Hahah!
Yeah, I used the camera entity with the new features of Solarus 1.5 and it works perfectly.
Title: Re: Original art
Post by: Zefk on July 23, 2016, 11:25:31 pm
I like how the boss started slow and sped up over time with new attack techniques. The boss is great for catching the player off guard. Also, I did not notice the boss taking damage. Did you mean for that to happen?
Title: Re: Original art
Post by: Diarandor on July 23, 2016, 11:43:38 pm
I like how the boss started slow and sped up over time with new attack techniques. The boss is great for catching the player off guard. Also, I did not notice the boss taking damage. Did you mean for that to happen?

It is because I was a bit lazy and did not draw the blinking animation for when he is hurt. Yes, the enemy speeds up when he gets hurt in the 2 first phases, and the damage of the enemy is increased in the second and third phase too. The hammer sprite is invincible, obviously.

I will add this character/enemy to the sample quest (and to the Children of Solarus project) someday soon. :)
Title: Re: Original art
Post by: Diarandor on July 26, 2016, 09:47:14 am
Another character that may appear in the project "Children of Solarus" is the astrologer-magician:
https://www.youtube.com/watch?v=7dw59QQrzL8
Note that this is just a test map, as usually, and this character is still unfinished (some directions and animations are still remaining work to do).

EDIT: the missing directions are now finished. I will not make the walking animations since we probably will not need them.
http://diarandor.deviantart.com/art/Astrologer1-v1-0-624445650
Title: Re: Original art
Post by: Diarandor on August 12, 2016, 09:56:20 pm
New version of the Castle Theme (v1.1):
https://www.youtube.com/watch?v=8YENp5fudYQ&feature=youtu.be
Now it's completely free since only purely synthesized instruments are used (the DPCM channel is not used now).
Title: Re: Original art
Post by: Zefk on August 13, 2016, 06:44:22 am
New version of the Castle Theme (v1.1):
https://www.youtube.com/watch?v=8YENp5fudYQ&feature=youtu.be
Now it's completely free since only purely synthesized instruments are used (the DPCM channel is not used now).

Did you turn down your volume by mistake? The volume is a bit low on YouTube for your video.
Title: Re: Original art
Post by: Diarandor on August 13, 2016, 08:13:12 am
Yes, the sound was a bit low, sorry about that. It should not be a problem since the ogg file has normal volume. I will add it to the sample quest someday soon. (If someone wants it just ask for it by email.)
Title: Re: Original art
Post by: Diarandor on September 23, 2016, 01:14:04 pm
I have started working on an original tileset for the overworld of the light world of the project Children of Solarus.
Although I use my github repo as an agenda of things to do, you can still follow the current progress of the development here: https://github.com/Diarandor/repository/issues/111
Title: Re: Original art
Post by: Diarandor on October 03, 2016, 05:58:29 am
The water tiles of the overworld tileset are finished!!! I made a video to show them:
https://youtu.be/XxMqUXoKnwY
The tileset is still at 20% aproximately, so there is still a lot of work to do.
Title: Re: Original art
Post by: Christopho on October 03, 2016, 08:57:18 am
Wow nice work!
Just one remark: one of the frames of the corner water tiles look a bit wrong, not correctly connected to the other tiles.
But this is nice anyway.
Did you use exactly the same water colors as ALTTP? Because it really looks the same color.
And in the end did you use regular tiles or dynamic entities?
Title: Re: Original art
Post by: Zefk on October 03, 2016, 09:02:29 am
The water is phenomenal. Magnifiecent work Diarandor!  :D
Title: Re: Original art
Post by: Diarandor on October 03, 2016, 10:26:09 am
The water is phenomenal. Magnifiecent work Diarandor!  :D
Thanks for the compliment, Zefk! ;D

Wow nice work!
Just one remark: one of the frames of the corner water tiles look a bit wrong, not correctly connected to the other tiles.
But this is nice anyway.
Did you use exactly the same water colors as ALTTP? Because it really looks the same color.
And in the end did you use regular tiles or dynamic entities?
Thanks to you too! ;D
-About the frame corner, it was wrong, a mistake, but since it looks quite well I decided to keep it unchanged: it looks like two separated waves that merge together at the end, which is ok, I think. Is this ok with you too?
-I use very similar colors, close to the original ones, but they are not exactly the same (the RGB coordinates are slightly different). Should I modify them to make them more different?
-I am using dynamic entities (custom entities with a sprite) because some animations have more than 3 frames (they can have 4, 6 or 8 frames, depending on the animation). Therefore, we will need an enhanced version of the engine and editor to use these tiles, but that can wait a few weeks since we still do not have this full tileset finished.

Title: Re: Original art
Post by: Christopho on October 03, 2016, 10:33:46 am
- Ok, corners are fine to me.
- Yes I would prefer dark blue and light blue water colors a bit more different from Zelda.
- Ok. I am still thinking about good solutions to do that.
Title: Re: Original art
Post by: Diarandor on October 03, 2016, 10:54:50 am
- Yes I would prefer dark blue and light blue water colors a bit more different from Zelda.
No problem. Consider it done!
Title: Re: Original art
Post by: Diarandor on November 16, 2016, 04:52:34 am
Half of the mountain tiles (or maybe a bigger percentage) are finished, but not all of them. This video shows some of the new mountain tiles:
https://youtu.be/wZl7-JCoRsA
Title: Re: Original art
Post by: Zefk on November 16, 2016, 10:34:24 am
I love the mountains. They are really detailed.
Title: Re: Original art
Post by: Diarandor on December 01, 2016, 12:56:19 am
I love the mountains. They are really detailed.

Thans a lot Zefk!

Very few progress for now. Here you have a new video with the new tiles for mountain balcony and cave entrance:
https://www.youtube.com/watch?v=rBxHevB8pi8
Title: Re: Original art
Post by: Diarandor on December 06, 2016, 07:44:25 am
New original Zelda-like trees! And these trees are animated!!! :D
https://youtu.be/QOFr8nKkZo0
Title: Re: Original art
Post by: MetalZelda on December 07, 2016, 01:11:12 am
The animation is a bit weird but I'm liking it, I like it
Title: Re: Original art
Post by: Diarandor on December 07, 2016, 02:32:06 am
The animation is a bit weird but I'm liking it, I like it

Yeah, I agree, the effect of leaves moving is really weird, but it should be good enough for our purposes. I did my best and this is all for now.

I might improve the quality of the animation someday when I have more time; but I think I will keep the weird effect, it makes these trees more unique, and their counterpart in the dark world will be giant carnivorous plants with teeth above and a very similar animation.
Title: Re: Original art
Post by: Diarandor on December 08, 2016, 12:18:51 pm
Some good news: I think that the mountain tiles are now 100% finished (at least the ones we need for the project Children of Solarus), including mountain shadows. However, the shadows are a bit annoying to use since there are a lot of very small patterns and all of them are very similar, so the best option to avoid wasting time is to have a "template map file" to copy-paste these tiles (I will provide some sample map when the overworld tileset is finished). I will be working on the ground tiles (the typical sand/grass/rocky grounds) within this month.
Title: Re: Original art
Post by: Diarandor on December 26, 2016, 08:25:30 am
More news: all the basic ground tiles of the overworld tileset are finished. The current progress of this tileset is aproximately of 75%. ;D

And here you have a testing video: https://youtu.be/TgJB6NJCKVI
Feedback is always welcome.
Title: Re: Original art
Post by: Zefk on December 27, 2016, 12:59:02 am
I love every pixel my eye can see. I cannot complain. It looks gorgeous!
Title: Re: Original art
Post by: Diarandor on December 27, 2016, 02:43:10 am
Thanks! Compliments motivate me to work harder. :)

Remark: diggable ground tiles have a prefix "Gnd" (ground), which will be useful to code the shovel in other games.
Title: Re: Original art
Post by: Christopho on December 27, 2016, 09:26:50 am
Remark: diggable ground tiles have a prefix "Gnd" (ground), which will be useful to code the shovel in other games.
I love you :D
Title: Re: Original art
Post by: Diarandor on December 27, 2016, 10:06:40 am
Remark: diggable ground tiles have a prefix "Gnd" (ground), which will be useful to code the shovel in other games.
I love you :D

LOL :o
Title: Re: Original art
Post by: Diarandor on December 29, 2016, 08:19:40 pm
New video of dragon statues with torches. These will be used in treasure rooms at the end of each dungeon. :)
https://youtu.be/F1g4fXGRwOA
Title: Re: Original art
Post by: Neovyse on December 30, 2016, 11:10:35 am
Looks good! Each time I can see improvement  :D
Title: Re: Original art
Post by: Diarandor on December 30, 2016, 12:06:42 pm
Looks good! Each time I can see improvement  :D

Thanks Neovyse! Your advices were very useful. :)

Spoiler: I was considering that we could make a boss or miniboss with two dragon statues that turn alive by surprise; one of them a fire dragon and the other an ice dragon (similar to the Twinrova witches in Zelda games, but cooler). Of course, they would use flying attacks and throw fire/ice. But that would be a huge work if I make the animations very smooth and continuous.
Title: Re: Original art
Post by: Diarandor on January 01, 2017, 05:44:31 pm
New original crow enemies are finished!!! It took a while to code them.
Also, I made a few sprites for pots, with a "destroy" animation, and the "enemy_killed" animation for enemies.

Video here:
https://youtu.be/7FCZT0NXgk4
Title: Re: Original art
Post by: Zefk on January 05, 2017, 11:23:50 pm
New original crow enemies are finished!!! It took a while to code them.
Also, I made a few sprites for pots, with a "destroy" animation, and the "enemy_killed" animation for enemies.

Video here:
https://youtu.be/7FCZT0NXgk4

@Diarandor
Whoa! That is excellent! The crows were designed very well. Also, I like the way you have the enemies pick up pots and drop them.

I am really excited about your next release!
Title: Re: Original art
Post by: Diarandor on January 06, 2017, 01:41:02 am
@Diarandor
Whoa! That is excellent! The crows were designed very well. Also, I like the way you have the enemies pick up pots and drop them.

I am really excited about your next release!

Thanks! Glad to see that you like these crows (these are strongly inspired by the crows of Link's Awakening); you can already download their script and sprites from the sample quest and test it (you will need several files, like an explosion enemy script that is used when pots are broken by crows). If any bug is found, just let me know and I will fix it.

Note that you can modify the script to choose which destructibles can be lifted by crows (there is a list of sprite "ids" that you can modify). The next video will probably show the outer tiles of houses, when these are finished.
Title: Re: Original art
Post by: Diarandor on January 16, 2017, 10:50:18 am
I made the main tiles for the exterior part of houses. This is a video of a test map:
https://youtu.be/WINa7nUIAWk
I hope you like the graphics. I will add soon these tiles to the overworld tileset (still in alpha version) to the Children of Solarus repo. More tiles related to houses will be added in future versions of the tileset.
Title: Re: Original art
Post by: Diarandor on January 29, 2017, 04:58:33 am
New video testing castle tiles! The video is a bit long, but I wanted to wait until the end of the song. :P
https://youtu.be/WbeWu_vMc0Q

These tiles will be added soon to the tileset (now in alpha version 0.3). I am planning to make more castle tiles and decoration tiles in a few weeks, maybe some towers, cannons, fences, and other stuff, idk. The "light_overworld" tileset is around 95% done for the project Children of Solarus, but more tiles than the necessary ones will be added too. Just be patient. ;)
Title: Re: Original art
Post by: Zefk on January 29, 2017, 05:43:29 am
@Diarandor
The houses are really nice. The rounded doors and patterns you made on the houses are what grabbed my attention. 

The castle flags and banners have really nice animation. I pretty much liked everything about the castle.

I love the song. I think I might have heard it before from your channel. What did you name it?



Title: Re: Original art
Post by: Diarandor on January 29, 2017, 06:09:03 am
Thanks again for the feedback! I named the song "Castle Theme", not very original XD ;D it can be downloaded from the sample quest repo, but Christopho renamed it to castle.ogg, I think. A few days ago I asked to E. DueƱas if he could remake the song with real instruments and improve it, but he has not answered yet... :(
Title: Re: Original art
Post by: Diarandor on February 12, 2017, 07:48:04 pm
Hi, I made an experimental rain script that now has 2 modes: "rain" and "storm", but future versions may include "snow" and "hail". Using custom entities for the drops is probably a bad idea since it might run slow for slow computers, but for now it is ok since I am just testing.
Link: https://youtu.be/nDjgBTQbBug
Title: Re: Original art
Post by: MetalZelda on February 12, 2017, 08:16:33 pm
I like it a lot, it's superb, but the use of custom entities isn't recommended, we should wait set_pixel(), I already planned to port one of the most advanced weather script made for RPG Maker
Title: Re: Original art
Post by: Diarandor on February 12, 2017, 08:43:54 pm
I like it a lot, it's superb, but the use of custom entities isn't recommended, we should wait set_pixel(), I already planned to port one of the most advanced weather script made for RPG Maker

Yeah, you are right. I have tested this script with a map of Mercuris Chest and it runs too slow (with big maps it becomes very slow), which is really bad; so the script is useless as it is. I may try to use a surface and draw the sprites above it, but I am not sure if this will work as it should... Maybe you are right, and we should wait for that new feature "set_pixel()", I don't know.
Title: Re: Original art
Post by: zutokaza on February 13, 2017, 06:28:26 am
It is good for small maps. Are you gonna post it?
Title: Re: Original art
Post by: MetalZelda on February 13, 2017, 12:32:56 pm
I like it a lot, it's superb, but the use of custom entities isn't recommended, we should wait set_pixel(), I already planned to port one of the most advanced weather script made for RPG Maker

Yeah, you are right. I have tested this script with a map of Mercuris Chest and it runs too slow (with big maps it becomes very slow), which is really bad; so the script is useless as it is. I may try to use a surface and draw the sprites above it, but I am not sure if this will work as it should... Maybe you are right, and we should wait for that new feature "set_pixel()", I don't know.

https://github.com/MetalES/Project-Zelda/blob/master/%5BTODO%5D%20Port%20Weather%20Script

The clock script for my project is also a reconversion of a RPG Maker script, as well as the tone system, so porting this script to Solarus might not be hard, the only thing needed here is surface:set_pixel()

You can see how set_pixel is used here
https://github.com/MetalES/Project-Zelda/blob/master/%5BTODO%5D%20Port%20Weather%20Script#L2304

At least my first try with this would be only to get rain, snow and rain droplets to work, other things can be omnitted
Title: Re: Original art
Post by: Diarandor on February 13, 2017, 12:49:09 pm
https://github.com/MetalES/Project-Zelda/blob/master/%5BTODO%5D%20Port%20Weather%20Script

The clock script for my project is also a reconversion of a RPG Maker script, as well as the tone system, so porting this script to Solarus might not be hard, the only thing needed here is surface:set_pixel()

You can see how set_pixel is used here
https://github.com/MetalES/Project-Zelda/blob/master/%5BTODO%5D%20Port%20Weather%20Script#L2304

At least my first try with this would be only to get rain, snow and rain droplets to work, other things can be omnitted

Well, actually it was not my intention to "port" things from RPG Maker, this was intended to be something different and better. Yes, I don't hide that I really hate RPG Maker! (RPG Maker is too expensive, it has too many limitations, it is annoying to use if you know programming, their community is our rival 8) heheh, and that engine and its graphics are not free!)
Title: Re: Original art
Post by: Diarandor on February 13, 2017, 12:58:37 pm
It is good for small maps. Are you gonna post it?

Ok, sorry, I intended to post it later when it worked better. Here you have my current script (a working one), but not the last version if I update it later. (You will need the multi_events script that Christopho made.) Put my script in a file "scripts/weather/rain_manager.lua" or a similar place.
Code: Lua
  1. -- Rain manager script.
  2. --[[
  3. To add this script to your game, call from game_manager script:
  4.     require("scripts/weather/rain_manager")
  5.  
  6. The functions here defined are:
  7.     game:get_rain_type(world)
  8.     game:set_rain_type(world, rain_type)
  9.  
  10. Rain types: nil (no rain), "rain", "storm".
  11. --]]
  12.  
  13. -- This script requires the multi_event script:
  14. require("scripts/multi_events")
  15. local rain_manager = {}
  16.  
  17. local game_meta = sol.main.get_metatable("game")
  18. local map_meta = sol.main.get_metatable("map")
  19.  
  20.  
  21. -- Default settings. Change these for testing.
  22. local rain_enabled = true -- Do not change this property, unless you are testing.
  23. -- local lightning_enabled = true
  24. local rain_speed = 100 -- Default drop speed 100.
  25. local storm_speed = 300 -- Default drop speed 300.
  26. local drop_speed -- Local variable to store the speed.
  27. local drop_max_distance = 300 -- Max possible distance for drop movements.
  28. local rain_drop_delay = 10 -- Delay between drops for rain, in milliseconds.
  29. local storm_drop_delay = 5 -- Delay between drops for storms, in milliseconds.
  30. local min_lightning_delay = 2000
  31. local max_lightning_delay = 10000
  32. local drop_sprite_id = "weather/rain"
  33. local thunder_sounds = {"thunder1", "thunder2", "thunder3", "thunder_far", "thunder_double"}
  34. local flash_surface -- Surface to draw the lightning flash.
  35. local draw_flash_surface = false -- Used by the lightning menu.
  36. local timers = {}
  37.  
  38.  
  39. -- Initialize rain on maps when necessary.
  40. game_meta:register_event("on_map_changed", function(game)
  41.     local map = game:get_map()
  42.     rain_manager:update_rain(map)
  43. end)
  44.  
  45. -- Get the raining state for a given world.
  46. function game_meta:get_rain_type(world)
  47.   local rain_type = nil
  48.   if world then
  49.     rain_type = self:get_value("rain_state_" .. world)
  50.   end
  51.   return rain_enabled and rain_type
  52. end
  53. -- Set the raining state for a given world.
  54. function game_meta:set_rain_type(world, rain_type)
  55.   -- Update savegame variable.
  56.   self:set_value("rain_state_" .. world, rain_type)
  57.   -- Check if rain is necessary: if we are in that world and rain is needed.  
  58.   local current_world = self:get_map():get_world()
  59.   local rain_needed = (current_world == world) and rain_enabled and rain_type
  60.   if (not rain_needed) then return end -- Do nothing if rain is not needed!
  61.   -- We need to start the rain in the current map.
  62.   local map = self:get_map()
  63.   rain_manager:update_rain(map)
  64. end
  65.  
  66. -- Define on_draw event for the rain_manager menu (if it is initialized).
  67. function rain_manager:on_draw(dst_surface)
  68.   if draw_flash_surface then
  69.     flash_surface:draw(dst_surface) -- Draw lightning flash if necessary.
  70.   end
  71. end
  72.  
  73. -- Create rain if necessary when entering a new map.
  74. function rain_manager:update_rain(map)
  75.   -- Get rain state in this world.
  76.   local world = map:get_world()
  77.   local rain_type = map:get_game():get_rain_type(world)
  78.   -- Start rain if necessary.
  79.   if rain_type == "rain" then
  80.     self:start_rain(map)
  81.   elseif rain_type == "storm" then
  82.     self:start_storm(map)
  83.   end
  84. end
  85.  
  86. -- Define function to create splash effects.
  87. -- If no parameters x, y are given, the position is random.
  88. local function create_drop_splash(map, x, y)
  89.   local max_layer = map:get_max_layer()
  90.   local min_layer = map:get_min_layer()
  91.   local camera = map:get_camera()
  92.   local cx, cy, cw, ch = camera:get_bounding_box()
  93.   local drop_properties = {direction = 0, x = 0, y = 0, layer = max_layer,
  94.     width = 16, height = 16, sprite = drop_sprite_id}
  95.   -- Initialize parameters.
  96.   local x = x or cx + cw * math.random()
  97.   local y = y or cy + ch * math.random()
  98.   local layer = max_layer
  99.   while map:get_ground(x,y,layer) == "empty" and layer > min_layer do
  100.     layer = layer - 1 -- Draw the splash at the lower layer we can.
  101.   end
  102.   -- Do not draw splash over some bad grounds: "hole" and "lava".
  103.   local ground = map:get_ground(x, y, layer)
  104.   if ground ~= "hole" and ground ~= "lava" then
  105.     drop_properties.x = x
  106.     drop_properties.y = y
  107.     drop_properties.layer = layer
  108.     local drop_splash = map:create_custom_entity(drop_properties)
  109.     local splash_sprite = drop_splash:get_sprite()
  110.     splash_sprite:set_animation("drop_splash")
  111.     splash_sprite:set_direction(0)
  112.     function splash_sprite:on_animation_finished() drop_splash:remove() end
  113.   end
  114. end
  115.  
  116. -- Define function to create drops.
  117. -- If no parameters x, y are given, the position is random.
  118. local function create_drop(map, x, y)
  119.   local max_layer = map:get_max_layer()
  120.   local min_layer = map:get_min_layer()
  121.   local camera = map:get_camera()
  122.   local cx, cy, cw, ch = camera:get_bounding_box()
  123.   local drop_properties = {direction = 0, x = 0, y = 0, layer = max_layer,
  124.     width = 16, height = 16, sprite = drop_sprite_id}
  125.   -- Initialize parameters.
  126.   drop_properties.x = x or cx + cw * math.random() + 30
  127.   drop_properties.y = y or cy + ch * math.random() - 100
  128.   drop_properties.layer = max_layer
  129.   local drop = map:create_custom_entity(drop_properties)
  130.   local m = sol.movement.create("straight")
  131.   m:set_angle(7 * math.pi / 5)
  132.   m:set_speed(drop_speed)
  133.   local random_max_distance = math.random(1, drop_max_distance)
  134.   m:set_max_distance(random_max_distance)
  135.   m:set_ignore_obstacles()
  136.   function m:on_finished()
  137.     local x, y = drop:get_position()
  138.     create_drop_splash(map, x, y)
  139.     drop:remove()
  140.   end
  141.   function m:on_obstacle_reached()
  142.     local x, y = drop:get_position()
  143.     create_drop_splash(map, x, y)
  144.     drop:remove()
  145.   end
  146.   m:start(drop)
  147. end
  148.  
  149. -- Stop rain effects for the current map.
  150. function rain_manager:stop()
  151.   -- Stop rain timers if already started.
  152.   for k, timer in pairs(timers) do
  153.     timer:stop()
  154.     timers[k] = nil
  155.   end
  156. end
  157.  
  158. -- Start rain in the current map.
  159. function rain_manager:start_rain(map)
  160.   local max_layer = map:get_max_layer()
  161.   local min_layer = map:get_min_layer()
  162.   local camera = map:get_camera()
  163.   local drop_properties = {direction = 0, x = 0, y = 0, layer = max_layer,
  164.     width = 16, height = 16, sprite = drop_sprite_id}
  165.   -- Initialize drop speed.
  166.   drop_speed = rain_speed
  167.   -- Initialize random seed for positions.
  168.   math.randomseed(os.time())
  169.  
  170.   -- Stop rain timers if already started.
  171.   self:stop()
  172.   -- Start timer to draw rain drops.
  173.   timers["drop_timer"] = sol.timer.start(map, rain_drop_delay, function()
  174.     -- Create drops on random positions.
  175.     create_drop(map)
  176.     -- Repeat loop.
  177.     return true
  178.   end)
  179. end
  180.  
  181. -- Start lighnings in the current map.
  182. local function create_lightnings(map)
  183.   -- Play thunder sound after a random delay.
  184.   local lightning_delay = math.random(min_lightning_delay, max_lightning_delay)
  185.   timers["lightning_timer"] = sol.timer.start(map, lightning_delay, function()
  186.     -- Create lightning flash.
  187.     draw_flash_surface = true
  188.     sol.timer.start(map, 150, function()
  189.       draw_flash_surface = false -- Stop drawing lightning flash.
  190.     end)
  191.     -- Play random thunder sound after a delay.
  192.     local thunder_delay = math.random(200, 1500)
  193.     sol.timer.start(map, thunder_delay, function()
  194.       local random_index = math.random(1, #thunder_sounds)
  195.       local sound_id = thunder_sounds[random_index]
  196.       sol.audio.play_sound(sound_id)
  197.     end)
  198.     -- Prepare next lightning.
  199.     create_lightnings(map)
  200.   end)
  201. end
  202.  
  203. -- Start storm in the current map.
  204. function rain_manager:start_storm(map)
  205.   -- Initialize drop speed.
  206.   drop_speed = storm_speed
  207.   -- Initialize random seed for positions.
  208.   math.randomseed(os.time())
  209.   -- Stop rain timers if already started.
  210.   self:stop()
  211.   -- Create lightning surface.
  212.   local camera = map:get_camera()
  213.   local cx, cy, cw, ch = camera:get_bounding_box()
  214.   flash_surface = sol.surface.create(cw, ch)
  215.   flash_surface:fill_color({255, 255, 100})
  216.   flash_surface:set_opacity(170)
  217.   -- Initialize menu to draw lightning surface.
  218.   sol.menu.start(map, rain_manager)
  219.  
  220.   -- Start timer to draw rain drops.
  221.   timers["drop_timer"] = sol.timer.start(map, storm_drop_delay, function()
  222.     -- Create drops on random positions.
  223.     create_drop(map)
  224.     -- Repeat loop.
  225.     return true
  226.   end)
  227.   -- Start lightning effects.
  228.   create_lightnings(map)
  229. end
  230.  
  231. -- Return rain manager.
  232. return rain_manager
  233.  

Other required files:
-Sound files: I made 5 thunder sounds that you can download from the solarus-free-resource-pack repo or from my diarandor-art repo, in github. These can be replaced by other files if you want your custom thunder sounds.
-Rain sprite: put the png and dat files in "sprites/weather". The files are attached.
Title: Re: Original art
Post by: MetalZelda on February 13, 2017, 04:46:01 pm
https://github.com/MetalES/Project-Zelda/blob/master/%5BTODO%5D%20Port%20Weather%20Script

The clock script for my project is also a reconversion of a RPG Maker script, as well as the tone system, so porting this script to Solarus might not be hard, the only thing needed here is surface:set_pixel()

You can see how set_pixel is used here
https://github.com/MetalES/Project-Zelda/blob/master/%5BTODO%5D%20Port%20Weather%20Script#L2304

At least my first try with this would be only to get rain, snow and rain droplets to work, other things can be omnitted

Well, actually it was not my intention to "port" things from RPG Maker, this was intended to be something different and better. Yes, I don't hide that I really hate RPG Maker! (RPG Maker is too expensive, it has too many limitations, it is annoying to use if you know programming, their community is our rival 8) heheh, and that engine and its graphics are not free!)

Oh, I don't like RPG Maker in term of it's limitations eigher, but the scripting community is fantastic and most of the time it's easy to adapt a script from RUBY to Lua (At least RGSS1).
The clock script and the tone calculation is RPG Maker's code rewritten in pure Lua  ;D

Yet, this is not RPG Maker hate, the script is a nice base to start with, pretty sure something incredible can be achieved if rewritten correctly.
Title: Re: Original art
Post by: Diarandor on February 26, 2017, 01:46:16 pm
Hey listen!

A new remastered/enhanced version of Eldran is in progress! This might be the final version for this hero, and the one that will be used in the project CoS. In this first video I show some of the new animations for "stopped", "walking", "carrying", "carrying_walking" and "lifting". The remaining animations will be shown in the next videos.  ;D
https://youtu.be/fZhthAIhldk
Title: Re: Original art
Post by: Zefk on February 26, 2017, 07:16:35 pm
Wow! That is a drastic improvement! I like the blending and darker color.
Title: Re: Original art
Post by: Diarandor on February 26, 2017, 08:31:24 pm
The colors were chosen by Neovyse, and he also gave me wise advices of how to improve these animations. The final result is awesome, but it has been many hours of work (almost every pixel has been redrawn from scratch).
Title: Re: Original art
Post by: Diarandor on March 18, 2017, 11:44:44 pm
New testing video with new remastered animations for our hero Eldran!
The new remastered animations include "grabbing", "pushing", "pulling", "jumping", "plunging" (not shown in the video) and "swimming". In addition, a new "sleeping" animation in a confortable bed is shown.

Eldran Link here: https://youtu.be/LIAuW8O1jtY

More animations coming in a few weeks!
Title: Re: Original art
Post by: Diarandor on April 14, 2017, 10:55:08 am
A few more animations are finished for the remastered Eldran. These include "sword_loading_stopped", "sword_loading_walking" and "sword_brandish". Link here:
https://youtu.be/ar3OJIuHJac
Title: Re: Original art
Post by: Zefk on April 14, 2017, 11:26:46 am
That sleep animation in your previous update reminded me of Secret of Mana and sequels. I really like this remastered version. You did a great job on the animation improvements.
Title: Re: Original art
Post by: Diarandor on April 14, 2017, 02:07:33 pm
@Zefk: Thanks a lot for valuing so much this work! Your appreciations are very appreciated ;D
It has been a lot of effort (and time) to draw the improved animations of the hero, and there is still quite a bit to do.
When this is finished I will go back to the work on the overworld tileset, to finish its final version.

Indeed, the sleeping animation for Eldran is highly (and mainly) inspired from the animations of Seiken Densetsu 3 (aka Secret of Mana 2), as you noticed.
Title: Re: Original art
Post by: Zefk on April 15, 2017, 11:46:43 am
Quote
Seiken Densetsu 3
Yes, this one is a great game. I liked how there is more choice when it comes to character selection and the graphics are super amazing, but the pause before attacks is kinda annoying. Seiken Densetsu 2 (Secret of mana) has rapid attacks, but not much or no damage is inflicted by rapid attacking, but it was a good way to hold off enemies. The company Square has made some great games. Did you play Sword of Mana?

I am working on an ally system script for a game like Seiken Densetsu 2. I got a custom entity to behave like an NPC and it is following the hero today. I am hoping to have projectiles done tomorrow to damage a custom entity.
Title: Re: Original art
Post by: Diarandor on April 15, 2017, 07:03:04 pm
I agree. Seiken Densetsu 3 is an awesome game, but as you say there is an annoying small delay before the attacks, and the most annoying thing is the difficulty (you have to spend too many hours grinding to level up, which is probably the worst about this game). The graphics, story and OST are probably the best of this game. I finished this game 15 years ago, but I used cheats with the ZSNES emulator because I was underleveled and I got bored of grinding.

Another thing that I loved of SD3 is that depending on the main hero you choose, you start in a different place with a different story, and each hero has a different ending too (the bad thing is that you need to complete the game at least twice to get the endings of all 6 heroes). There are other games using similar mechanics of several heroes, like "Live A Live" and "Treasure of the Rudras", both of them masterpieces too; in these two games you first complete several main stories, and in the end all heroes join for the last part of the game; that is one of the ideas that I wanted to include in the hybrid game of my dreams that I want to make (with more complex mechanics due to the puzzle part of Zelda games), but that will be after we finish Children of Solarus, which is my main priority.

EDIT: if by "sword of mana" you mean the GBA game, I did started to play it, but I never got motivated to finish it. Maybe I had already played too many RPGs, or maybe I was getting "old", XD.
Title: Re: Original art
Post by: Zefk on April 15, 2017, 11:35:11 pm
I will PM you. I do not want to get too off topic on your original art post.
Title: Re: Original art
Post by: Diarandor on April 16, 2017, 01:24:09 am
Let's go on-topic again: I made some new (original) soldier sprites!!!
These will be used for normal soldiers in the project "Children of Solarus". Testing video here:
https://youtu.be/WbGFNsvQwLs
Title: Re: Original art
Post by: Diarandor on May 02, 2017, 10:27:55 am
Some of the cool features planned for soldiers with helmet:
-Allow their helmet to fall appart (and break) with certain probability if the enemy is hurt by the sword. A new head sprite will be shown in that case.
-Allow to steal their helmet with the hookshot. The hero could then throw it as a destructible to hurt enemies! This is still not posible since there is no function to start carrying a destructible, but will be possible in future versions of the engine, I guess.
Title: Re: Original art
Post by: yankscally on May 02, 2017, 12:12:34 pm
Let's go on-topic again: I made some new (original) soldier sprites!!!
These will be used for normal soldiers in the project "Children of Solarus". Testing video here:
https://youtu.be/WbGFNsvQwLs

I just now saw this!

nice addition with the feather on the helmet  :)
Title: Re: Original art
Post by: yankscally on May 02, 2017, 02:29:05 pm
Some of the cool features planned for soldiers with helmet:
-Allow their helmet to fall appart (and break) with certain probability if the enemy is hurt by the sword. A new head sprite will be shown in that case.
-Allow to steal their helmet with the hookshot. The hero could then throw it as a destructible to hurt enemies! This is still not posible since there is no function to start carrying a destructible, but will be possible in future versions of the engine, I guess.


hey! I have uploaded a video of your soldier as a playable character, check my project post..
http://forum.solarus-games.org/index.php/topic,961.0.html (http://hey! I have uploaded a video of your soldier as a playable character, check my project post..
http://forum.solarus-games.org/index.php/topic,961.0.html)
Title: Re: Original art
Post by: MetalZelda on May 02, 2017, 10:24:20 pm
May I ask if I can take some of your work for my new project Diarandor, Of course, these will be modified and you'll be credited as well.
Title: Re: Original art
Post by: Diarandor on May 02, 2017, 11:07:18 pm
Yes, no problem. But note that I may still modify some finished spritesheet images or scripts with better versions, and I may not replace the version number label, so be careful with this. It's all on testing phase.
Title: Re: Original art
Post by: Diarandor on June 20, 2017, 02:29:23 am
New video: "testing remastered spin attack for Eldran"
https://youtu.be/W2u57OF5BRI

(There are still some animations missing for Eldran.)
Title: Re: Original art
Post by: Diarandor on June 23, 2017, 04:15:45 am
Ahoy there! Not much progress yet, but you may like this: the remastered "bow" animation for Eldran.
https://youtu.be/C7sos901PH8

A newer version will include the arrows in the shooting animation. Also, walking with the bow is a planned feature, so there will be new animations for Eldran stopped/walking while he is aiming with the bow.
Title: Re: Original art
Post by: Diarandor on July 02, 2017, 06:12:06 pm
The "walking_with_bow" animations are finished! But I don't have time this week to make the script for this feature and test it (it will work exactly as in MetalZelda's game). Next video with this feature coming next week.
Title: Re: Original art
Post by: Diarandor on July 11, 2017, 12:18:30 am
New video!!! :D
This shows the new hookshot animation, and the animation/feature of walking with the bow.
Besides, Eldran can sidle with the bow like in MetalZelda's game!
https://youtu.be/S33jo1_Eze0
Title: Re: Original art
Post by: Diarandor on July 11, 2017, 09:51:30 pm
I remastered the "throwing boomerang" and "victory" animations:
https://youtu.be/g8WYDjdys5A
Title: Re: Original art
Post by: Diarandor on July 16, 2017, 10:11:36 am
New animations for Eldran: the shovel and the seashell flute!
https://youtu.be/AMYzZpJLkJw
Title: Re: Original art
Post by: froggy77 on July 16, 2017, 01:15:57 pm
Good job! I can't wait to test this. :)
Title: Re: Original art
Post by: Diarandor on July 16, 2017, 01:24:03 pm
Good job! I can't wait to test this. :)

Thanks for the feedback! More art coming soon...

Edit: You can download the art from my deviantart: http://diarandor.deviantart.com/gallery/
Title: Re: Original art
Post by: Diarandor on July 23, 2017, 01:23:50 am
New testing video: princess Robyne has been remastered!!!
You are gonna love this ;)
https://youtu.be/hTBgc1thBt4

If you like this video, click thumbs up and subscribe to my youtube channel. :D
Title: Re: Original art
Post by: Diarandor on July 24, 2017, 12:04:21 am
New animation for the princess Robyne! She can now jump like Marin in Zelda Link's Awakening.
Testing video here: https://youtu.be/E5fiDcgeNrM
Click on like and subscribe to my channel if you really appreciate my art. Note that this is original and free art.
Title: Re: Original art
Post by: Diarandor on July 27, 2017, 03:54:29 am
The wizard has been remastered into a better version!!! ;D
See video here: https://youtu.be/dSXRRlyGYUQ
(We will need to choose a name for him, because he will be a playable hero someday.)
The wizard will replace Sahasrahla in the project Children of Solarus.
If you like my original art, subscribe to my youtube chanel and do <<thumbsup>> to my videos! ;)

EDIT: the official name for the wizard is now Kaleido!!! He will be referred to with that name in our official games.
Title: Re: Original art
Post by: Diarandor on August 16, 2017, 04:50:29 am
Trees have been slightly improved:
-better angle for small trees,
-stylish tree entrances and big trunks.
A silly video testing these graphics:
https://youtu.be/a9vmgIN7WsA

Also, mountain tiles are now easier to use: shadow tiles for mountains are now attached to mountain tiles and not independent anymore, so there are many less tiles. More news coming soon! :D
Title: Re: Original art
Post by: Diarandor on August 19, 2017, 01:09:49 am
Short video showing some new art for some entities: fences, liftable rocks, color blocks, and a cave entrance.
https://youtu.be/QvUnoNJwTLs
Title: Re: Original art
Post by: Diarandor on September 07, 2017, 08:30:45 pm
Comparison of the art of different artists. Just an image: