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.
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.
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!
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.
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.)
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 ;)
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.)
@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?
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 :)
This is amazing guys!
I will draw the sprite of the deer someday. Our hero may need it. ;D
Hahaha so cool :) the deer was a cute way to replace Epona, and to remind Scandinavian legends
That is excellent work. Neovyse and Diarandor got skill! :D
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.
The castle theme sounds phenomenal how long did it take you to put together?
I think it was 2 or 3 hours of work aproximately.
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?
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
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.)
You are welcome! I added a lot of impulse trackers to the music guide today, but I like Famitracker the most.
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.
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
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.
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
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?
Quote from: 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?
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.
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?
Quote from: 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?
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. :)
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
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).
Quote from: 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).
Did you turn down your volume by mistake? The volume is a bit low on YouTube for your video.
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.)
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
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.
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?
The water is phenomenal. Magnifiecent work Diarandor! :D
Quote from: Zefk on October 03, 2016, 09:02:29 AM
The water is phenomenal. Magnifiecent work Diarandor! :D
Thanks for the compliment, Zefk! ;D
Quote from: 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?
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.
- 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.
Quote from: Christopho on October 03, 2016, 10:33:46 AM
- Yes I would prefer dark blue and light blue water colors a bit more different from Zelda.
No problem. Consider it done!
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
I love the mountains. They are really detailed.
Quote from: Zefk on November 16, 2016, 10:34:24 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
New original Zelda-like trees! And these trees are animated!!! :D
https://youtu.be/QOFr8nKkZo0
The animation is a bit weird but I'm liking it, I like it
Quote from: MetalZelda on December 07, 2016, 01:11:12 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.
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.
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.
I love every pixel my eye can see. I cannot complain. It looks gorgeous!
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.
Quote from: Diarandor on December 27, 2016, 02:43:10 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
Quote from: Christopho on December 27, 2016, 09:26:50 AM
Quote from: Diarandor on December 27, 2016, 02:43:10 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
New video of dragon statues with torches. These will be used in treasure rooms at the end of each dungeon. :)
https://youtu.be/F1g4fXGRwOA
Looks good! Each time I can see improvement :D
Quote from: Neovyse on December 30, 2016, 11:10:35 AM
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.
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
Quote from: 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
@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!
Quote from: Zefk on January 05, 2017, 11:23:50 PM
@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.
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.
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. ;)
@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?
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... :(
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
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
Quote from: 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
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.
It is good for small maps. Are you gonna post it?
Quote from: Diarandor on February 12, 2017, 08:43:54 PM
Quote from: 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
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
Quote from: MetalZelda on February 13, 2017, 12:32:56 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!)
Quote from: zutokaza on February 13, 2017, 06:28:26 AM
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.
-- Rain manager script.
--[[
To add this script to your game, call from game_manager script:
require("scripts/weather/rain_manager")
The functions here defined are:
game:get_rain_type(world)
game:set_rain_type(world, rain_type)
Rain types: nil (no rain), "rain", "storm".
--]]
-- This script requires the multi_event script:
require("scripts/multi_events")
local rain_manager = {}
local game_meta = sol.main.get_metatable("game")
local map_meta = sol.main.get_metatable("map")
-- Default settings. Change these for testing.
local rain_enabled = true -- Do not change this property, unless you are testing.
-- local lightning_enabled = true
local rain_speed = 100 -- Default drop speed 100.
local storm_speed = 300 -- Default drop speed 300.
local drop_speed -- Local variable to store the speed.
local drop_max_distance = 300 -- Max possible distance for drop movements.
local rain_drop_delay = 10 -- Delay between drops for rain, in milliseconds.
local storm_drop_delay = 5 -- Delay between drops for storms, in milliseconds.
local min_lightning_delay = 2000
local max_lightning_delay = 10000
local drop_sprite_id = "weather/rain"
local thunder_sounds = {"thunder1", "thunder2", "thunder3", "thunder_far", "thunder_double"}
local flash_surface -- Surface to draw the lightning flash.
local draw_flash_surface = false -- Used by the lightning menu.
local timers = {}
-- Initialize rain on maps when necessary.
game_meta:register_event("on_map_changed", function(game)
local map = game:get_map()
rain_manager:update_rain(map)
end)
-- Get the raining state for a given world.
function game_meta:get_rain_type(world)
local rain_type = nil
if world then
rain_type = self:get_value("rain_state_" .. world)
end
return rain_enabled and rain_type
end
-- Set the raining state for a given world.
function game_meta:set_rain_type(world, rain_type)
-- Update savegame variable.
self:set_value("rain_state_" .. world, rain_type)
-- Check if rain is necessary: if we are in that world and rain is needed.
local current_world = self:get_map():get_world()
local rain_needed = (current_world == world) and rain_enabled and rain_type
if (not rain_needed) then return end -- Do nothing if rain is not needed!
-- We need to start the rain in the current map.
local map = self:get_map()
rain_manager:update_rain(map)
end
-- Define on_draw event for the rain_manager menu (if it is initialized).
function rain_manager:on_draw(dst_surface)
if draw_flash_surface then
flash_surface:draw(dst_surface) -- Draw lightning flash if necessary.
end
end
-- Create rain if necessary when entering a new map.
function rain_manager:update_rain(map)
-- Get rain state in this world.
local world = map:get_world()
local rain_type = map:get_game():get_rain_type(world)
-- Start rain if necessary.
if rain_type == "rain" then
self:start_rain(map)
elseif rain_type == "storm" then
self:start_storm(map)
end
end
-- Define function to create splash effects.
-- If no parameters x, y are given, the position is random.
local function create_drop_splash(map, x, y)
local max_layer = map:get_max_layer()
local min_layer = map:get_min_layer()
local camera = map:get_camera()
local cx, cy, cw, ch = camera:get_bounding_box()
local drop_properties = {direction = 0, x = 0, y = 0, layer = max_layer,
width = 16, height = 16, sprite = drop_sprite_id}
-- Initialize parameters.
local x = x or cx + cw * math.random()
local y = y or cy + ch * math.random()
local layer = max_layer
while map:get_ground(x,y,layer) == "empty" and layer > min_layer do
layer = layer - 1 -- Draw the splash at the lower layer we can.
end
-- Do not draw splash over some bad grounds: "hole" and "lava".
local ground = map:get_ground(x, y, layer)
if ground ~= "hole" and ground ~= "lava" then
drop_properties.x = x
drop_properties.y = y
drop_properties.layer = layer
local drop_splash = map:create_custom_entity(drop_properties)
local splash_sprite = drop_splash:get_sprite()
splash_sprite:set_animation("drop_splash")
splash_sprite:set_direction(0)
function splash_sprite:on_animation_finished() drop_splash:remove() end
end
end
-- Define function to create drops.
-- If no parameters x, y are given, the position is random.
local function create_drop(map, x, y)
local max_layer = map:get_max_layer()
local min_layer = map:get_min_layer()
local camera = map:get_camera()
local cx, cy, cw, ch = camera:get_bounding_box()
local drop_properties = {direction = 0, x = 0, y = 0, layer = max_layer,
width = 16, height = 16, sprite = drop_sprite_id}
-- Initialize parameters.
drop_properties.x = x or cx + cw * math.random() + 30
drop_properties.y = y or cy + ch * math.random() - 100
drop_properties.layer = max_layer
local drop = map:create_custom_entity(drop_properties)
local m = sol.movement.create("straight")
m:set_angle(7 * math.pi / 5)
m:set_speed(drop_speed)
local random_max_distance = math.random(1, drop_max_distance)
m:set_max_distance(random_max_distance)
m:set_ignore_obstacles()
function m:on_finished()
local x, y = drop:get_position()
create_drop_splash(map, x, y)
drop:remove()
end
function m:on_obstacle_reached()
local x, y = drop:get_position()
create_drop_splash(map, x, y)
drop:remove()
end
m:start(drop)
end
-- Stop rain effects for the current map.
function rain_manager:stop()
-- Stop rain timers if already started.
for k, timer in pairs(timers) do
timer:stop()
timers[k] = nil
end
end
-- Start rain in the current map.
function rain_manager:start_rain(map)
local max_layer = map:get_max_layer()
local min_layer = map:get_min_layer()
local camera = map:get_camera()
local drop_properties = {direction = 0, x = 0, y = 0, layer = max_layer,
width = 16, height = 16, sprite = drop_sprite_id}
-- Initialize drop speed.
drop_speed = rain_speed
-- Initialize random seed for positions.
math.randomseed(os.time())
-- Stop rain timers if already started.
self:stop()
-- Start timer to draw rain drops.
timers["drop_timer"] = sol.timer.start(map, rain_drop_delay, function()
-- Create drops on random positions.
create_drop(map)
-- Repeat loop.
return true
end)
end
-- Start lighnings in the current map.
local function create_lightnings(map)
-- Play thunder sound after a random delay.
local lightning_delay = math.random(min_lightning_delay, max_lightning_delay)
timers["lightning_timer"] = sol.timer.start(map, lightning_delay, function()
-- Create lightning flash.
draw_flash_surface = true
sol.timer.start(map, 150, function()
draw_flash_surface = false -- Stop drawing lightning flash.
end)
-- Play random thunder sound after a delay.
local thunder_delay = math.random(200, 1500)
sol.timer.start(map, thunder_delay, function()
local random_index = math.random(1, #thunder_sounds)
local sound_id = thunder_sounds[random_index]
sol.audio.play_sound(sound_id)
end)
-- Prepare next lightning.
create_lightnings(map)
end)
end
-- Start storm in the current map.
function rain_manager:start_storm(map)
-- Initialize drop speed.
drop_speed = storm_speed
-- Initialize random seed for positions.
math.randomseed(os.time())
-- Stop rain timers if already started.
self:stop()
-- Create lightning surface.
local camera = map:get_camera()
local cx, cy, cw, ch = camera:get_bounding_box()
flash_surface = sol.surface.create(cw, ch)
flash_surface:fill_color({255, 255, 100})
flash_surface:set_opacity(170)
-- Initialize menu to draw lightning surface.
sol.menu.start(map, rain_manager)
-- Start timer to draw rain drops.
timers["drop_timer"] = sol.timer.start(map, storm_drop_delay, function()
-- Create drops on random positions.
create_drop(map)
-- Repeat loop.
return true
end)
-- Start lightning effects.
create_lightnings(map)
end
-- Return rain manager.
return rain_manager
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.
Quote from: Diarandor on February 13, 2017, 12:49:09 PM
Quote from: MetalZelda on February 13, 2017, 12:32:56 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.
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
Wow! That is a drastic improvement! I like the blending and darker color.
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).
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!
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
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.
@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.
QuoteSeiken 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.
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.
I will PM you. I do not want to get too off topic on your original art post.
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
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.
Quote from: 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
I just now saw this!
nice addition with the feather on the helmet :)
Quote from: 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.
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:///%3Ehttp://forum.solarus-games.org/index.php/topic,961.0.html)
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.
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.
New video: "testing remastered spin attack for Eldran"
https://youtu.be/W2u57OF5BRI
(There are still some animations missing for Eldran.)
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.
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.
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
I remastered the "throwing boomerang" and "victory" animations:
https://youtu.be/g8WYDjdys5A
New animations for Eldran: the shovel and the seashell flute!
https://youtu.be/AMYzZpJLkJw
Good job! I can't wait to test this. :)
Quote from: froggy77 on July 16, 2017, 01:15:57 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/
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
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.
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.
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
Short video showing some new art for some entities: fences, liftable rocks, color blocks, and a cave entrance.
https://youtu.be/QvUnoNJwTLs
Comparison of the art of different artists. Just an image:
Ahoy there! The running with sword animation, for the hero Eldran, has been remastered:
https://youtu.be/rRTOQKlHmRs
Ahoy again, mateys! ;D The running (this time without sword) animation, for our hero Eldran, is now remastered too:
https://youtu.be/oSorCPhG2hg
Special video today:
https://youtu.be/fA41t86RSg8
This shows almost one year and a half of work on pixel art that I made so far. Some of these sprites may be improved in the future. All of this is free and can be downloaded from this repo:
https://github.com/solarus-games/diarandor-art
Please, if you really appreciate my work, do "thumbs up" on my video. Feedback is very appreciated too! ;D
Ahoy there! ;D
Testing new original fountain sprite:
https://youtu.be/7J5vMRXC-f0
Oclero (aka Neovyse) is working on an improved version of the fountain that will look even better.
I've created "pterobat" enemy sprites for Solarus! ;D
https://youtu.be/eaFC6xktdTM
This enemy is not programmed yet.
New video: Testing the blue tunic (second tunic) for Eldran:
https://youtu.be/Du3fHenIPwg
And another video: Testing the purple tunic (third tunic) for Eldran:
https://youtu.be/q5_jGpY-870
New chicken sprite for Solarus! ;D
https://youtu.be/GUzC2XP4oTU
Testing pterobat enemies. Warning: These are so stupid and annoying as hell!
https://youtu.be/1Oi5fZOV90M
Another video: testing new bridge tiles that I made for our light overworld tileset.
I may add some new bridge tiles if necessary, maybe for borders.
https://youtu.be/07RY2YfoMy0
You are gonna love this video: testing the custom shield. A shield like the one in Link's Awakening!!! Hurray!!!! ;D
https://www.youtube.com/watch?v=iKNgHpSjCfc&feature=youtu.be
New video: Testing moblins goblins!!!! ;D
https://youtu.be/qDaPYpX-NPM
Ahoy mateys! Don't forget to check the official blog from time to time:
http://www.solarus-games.org/blog/
New screenshot of CoS each 2 weeks!
Ahoy! Today, for random and nonsensical reasons, I'm releasing one of my first attempts of hero sprites that I made: a sheriff hero sprite.
It is so awful that makes me retch... [cough,cough] [vomit, vomit]. So yeah, you can do what you want with it and use it with any license, no credit wanted (it would ruin my reputation :'(). This was done around september 2013, just a few months after the Solarus engine was born, and with the aim of being used with Solarus; fortunately it was never used, and in this way, the lifes of millions of kittens were saved!!! ;D ;D ;D. By then I realized how hard pixel art was for a non-artist like me.
I hope this gives hope to others to begin the way of the pixel-artist: a way full of rocks, thistles and thorns. But in the end, all effort is worth it and your kittens will appreciate it. ;D
You have improved a lot since this little pixel art. I have already seen worse on a famous open game art site. ;D
Quote from: froggy77 on February 06, 2018, 07:56:09 PM
You have improved a lot since this little pixel art. I have already seen worse on a famous open game art site. ;D
Thanks a lot!!! :)
And a new video of a new kitten sprite I have made, which will be used in the project Children of Solarus:
I hope you like it! :D
https://youtu.be/v_0fTLPd_Fk
There are still some animations missing, like "jumping", "hurt", "carried", etc.
Yeah, Eldran will be able to carry cats someday, and throw them into water if he wants! ;D
Apart from Meows, we now have Worfs too!!! ;D
https://youtu.be/XRkXSu56how
This is a relatively old file that I used to create the wizard Kaleido (which I post here before its deletion from my computer XD). You can see several stages of the art and how it evolved while I struggled to improve it:
Ahoy! This is a screenshot of a test map, made with the new house tileset that I've made (still under development).
EDIT: and a video of the same thing: https://youtu.be/HgX0PSJ69tM
EDIT2: and a blog post of the same thing, again: http://www.solarus-games.org/2018/02/11/
New women sprites!!! Which one is your waifu? ;D
https://youtu.be/j5nh365yU6A
New video! Testing goblins with axes!!! ;D
https://youtu.be/67dRzn3oXv4
Those goblins look fun to battle! Is their code for public use? I really like how you've got them walking around with their axes before you throw them.
Quote from: Max on March 20, 2018, 04:53:46 PM
Those goblins look fun to battle! Is their code for public use? I really like how you've got them walking around with their axes before you throw them.
Hi, thanks! Some people suggested to add a "throwing axe" animation, so there may be some new changes/additions.
Of course, you can see their code in the repository of "Children of Solarus" (license GPL v3+):
https://github.com/solarus-games/children-of-solarus
In case you want a different license, you can still study the code and make something similar for your project.
Good to see that this will help you! ;D
I looked it over, I like your generic projectile enemy, that's a smart way to do projectiles.
I'm looking forward to seeing how you do the throwing animation, I was making an enemy with a melee attack today and was having trouble with the sprite:on_animation_finished() event, so I'm looking for an example of that being used.
Ahoy there! Warning: goblins have returned!!! ;D
https://youtu.be/uQbd9RVewE0
Fire Shaman Goblins are here!!!
https://youtu.be/j7UTc51doug
It would be better with a multidirectionnal fireball like in "Enemy: Zora" (http://forum.solarus-games.org/index.php/topic,341.0.html) script by Christopho.
However, I like the preparation phase of the shaman when he is creating the fireball.
Quote from: froggy77 on April 05, 2018, 07:36:50 PM
It would be better with a multidirectionnal fireball like in "Enemy: Zora" (http://forum.solarus-games.org/index.php/topic,341.0.html) script by Christopho.
I don't think so, because the fireball sprite has only 4 directions, and using them for diagonals would look weird (because these directions don't fit well for diagonals).
Quote from: froggy77 on April 05, 2018, 07:36:50 PM
However, I like the preparation phase of the shaman when he is creating the fireball.
Thanks for the feedback!!! Diarandor is happy now. :D
No, the small fireball sprite is basically a circle, so it can be used with any angle.
But the moving fireball is not a circle: https://diarandor.deviantart.com/art/Goblin-Shaman-Fire-v1-0-738929721
In any case, I prefer to use only 4 directions, or shaman goblins would be too overpowered.
Chameleons have been remastered to version 2.0. ;D
https://youtu.be/AOu9c8els9Y
Having them drag the hero when he's using his shield is an awesome idea. I could see interesting puzzles developing- can the tongue grab other things too?
Exactly! It's all about interactions. Now you are thinking out of the box, like me. They should be able to bring other entities back, eat insects, activate crystals with tongue (and switches with body), bring the hero from the other side of a long bad ground (the same with keys!), etc. That's the kind of ideas I'd like to use someday in puzzles. These things can also be used in minigames, to improve combat, and as easter eggs.
Unfortunately, we can't innovate too much in CoS, because it's mainly a remake of MoS-DX.
Beware of the horde: Skelfos v2.0 are coming!
https://youtu.be/Md8PgIbN59M
Ahoy there! I bring good news: princess Robyne is now a fully playable hero (also, more new weapon animations will be added in the future). This testing video shows a few of the new animations: https://www.youtube.com/watch?v=wxctLsoPHmc
As always, feedback is welcome.
Congratulations, that must have been a boatload of work. The animations look pretty smooth.
The one thing that stuck out to me- when she jumps, is she flailing around a little bit? I only caught a glimpse, because in your video, she mostly only jumps while holding out her sword, but I think once she jumped without the sword out and she looked kind of like she was panicking? I thought it was an interesting character touch that perhaps communicated her personality through her movements, it makes her seem a little flustered. Was that intentional? Or maybe I mistook what was even happening XD
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 :)
Ongoing work: wizard Teleido, the final boss:
Here you can see all the current art for princess Robyne:
https://youtu.be/BQUT6aQroGs
We now have spiders too: https://youtu.be/nrCSjff-4k8
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
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.
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
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).
- 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%
- acidball.png
- spiderskull.png
- spiderskull.dat
(http://forum.solarus-games.org/index.php?action=dlattach;topic=538.0;attach=754;image)(http://forum.solarus-games.org/index.php?action=dlattach;topic=538.0;attach=751;image)
Your version is really awesome. You should put yourself as an author too (separating our names with a comma), instead of just "edited by".
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.
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!
New chiptune, "Graveyard Theme".
https://youtu.be/6YF7VnVscCc
Another new chiptune: "Hope Scent".
https://www.youtube.com/watch?v=KIZ_SXl2SWw
Added new wendigo enemy to the Free-Resource-Pack.
It will also appear in our secret project Children of Solarus. :)
These are almost pacific enemies, but be careful, their fast counterattacks could be lethal.
https://youtu.be/mo8hl_jTOzA
New chiptune again!!!
Song name: Dubious Riddle
https://youtu.be/IosW0yqaiIY
Give me some Thumbs Up to support my motivation. Thanks!
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.)