Recent posts

#51
Development / Re: Need Help With Having an N...
Last post by PhoenixII54 - May 05, 2023, 11:30:22 AM
Hello, you can use the hero:on_position_changed() event, which is called each frame Link has moved.


-- <initialization stuff where you get the hero and NPC entities>

function hero:on_position_changed(x, y, layer)
--update your list here and move the NPC accordingly

end
#52
General discussion / Re: What's Your Favorite Zelda...
Last post by lefthandedhero - May 03, 2023, 08:44:10 PM
1. Spirit Tracks. I recognize that there are better Zelda games, and I myself have some grievances with it; namely that the spirit flute has to be by far the worst Zelda instrument. But the things work about this game are done amazingly well and easily more than make up for its faults. I really like the train, and I love Spirit Zelda: having Princess Zelda be Link's adventuring companion in this game was nothing short of brilliant, to the point where I almost wonder why it wasn't done sooner and I do wonder why it hasn't been done since. Controlling Link and Zelda together is a ton of fun.

2. Ocarina of Time. It introduced me to the Zelda series, so of course it's going to be in the top 3, and it helps that it's still one of the best Zelda games overall.

Nominations for 3rd place: Link's Awakening, Majora's Mask, Wind Waker and Breath of the Wild.

Winner of the position of 3rd place: Wind Waker. There isn't really much to say; like Sprit Tracks, the game has a ton of charm, the sailing is fun, and I really like the deep narrative under the surface and the theme of the winds of change and the idea that Hyrule waiting for a hero to appear was exactly what doomed Hyrule.
#53
Development / Need Help With Having an NPC F...
Last post by lefthandedhero - May 02, 2023, 07:36:06 PM
Hello.

I am new to using the Solarus engine. I want to create an NPC that follows the hero as a companion by closely following behind the hero and following the same path as the hero; the type of movement that's used in A Link to the Past when Link escorts Zelda out of Hyrule Castle and when Marin accompanies Link for part of Link's Awakening, and is at as old as the classic snake game genre.

Any suggestions for implementing this in Solarus?


UPDATE 1: After watching some videos of the section of A Link to the Past where Link escorts Zelda out of Hryule Castle for reference, I observed some details of Zelda's movement that may help: upon entering any new area or exiting a set of stairs, Zelda always starts one in-game step behind Link, stays still after Link's first in-game step, then starts moving after Link's second in-game step, with Zelda's steps being the step Link took two steps previously. When Link stops moving, Zelda immediately stops moving at the same time, and when Link resumes moving, Zelda immediately resumes moving.

After observing this, the plan I have created is to essentially store the hero's movements in a linked list of maximum length 1: upon entering a new map section, the linked list will be empty. When the hero moves, their "step" is pushed into the list, and once the list is full, the non-playing character does each step that is "popped" out of the linked list. When the hero stops moving, the non-playing character stops moving.

I know how to create a linked list in Lua, so there are two things I still need:
1. The ideal method of storing each in-game step in the linked list.
2. How to implement, "while (the hero is moving) {}".

Any suggestions for solving those two things?
#54
General discussion / What's Your Favorite Zelda Gam...
Last post by PoPCaT6800 - April 29, 2023, 04:46:42 PM
What's Your Top 3 Favorite Zelda Games? tell me in the comments!

My Favorites

3: The Legend Of Zelda: A Link Between Worlds
When I got this game on my 3DS, I was amazed by how it managed to remind you so much of ALTTP while making it's own game. I loved the music remixes and everything was so fluid.

2: The Legend Of Zelda: A Link To The Past
When I was younger, I hated old pixel style games. They freaked me out for some reason. Eventually my Dad made me play the original Zelda 1. I didn't really like it, but eventually I tried ALTTP. Something clicked, and in the blink of an eye I had spent at least 75 hours playing (I still haven't finished).

3: The Legend Of Zelda: Twilight Princess
This was my very first Zelda game. I was digging around in the wii games for something to play and I came across TP. I wasn't sure if it was going to be any good or not. I loved it. I spent so much time trying to figure out the Zora temple and beat Ganon that I probaly spent a good year of my life on it.

What's your top 3?
#55
Development / Re: Solarus Quest Resolution S...
Last post by ZeldaGamer - April 28, 2023, 02:37:23 AM
Found a solution, for anyone interested:

File => Quest Properties ... and changing the resolution right in the menu
Editing the quest.dat file in the main directory also works
#56
Development / Solarus Quest Resolution Size
Last post by ZeldaGamer - April 27, 2023, 02:50:13 AM
Hello everyone,

I am brand new to Solarus and have been googling a question, however it only had old replys from back in 2013.

I was trying to change the quest resolution size in the tools => options menu in Solarus. However, changing the resolution seemly has no effect. No matter what the resolution is set to, the quest launches at one resolution. Has this feature been implemented yet?

Thanks
#57
Your projects / Re: The Legend of Zelda - Forg...
Last post by ZeldoGames - April 01, 2023, 04:06:58 PM
The Legend of Zelda - Forgotten Legend: Mr. Zeldo Gameplay Demonstration

https://youtu.be/4RdYQBA828M

Get an introduction to game's new contents in this gameplay demonstration of The Legend of Zelda - Forgotten Legend presented by Zeldo's Challenge series producer, Antoine Leuleuxe.
#58
Bugs & Feature requests / Tutorial script doesn't work
Last post by FeLu - March 20, 2023, 10:15:46 AM
Hi folks,

I'm new to all fo this and at the moment, I'm learning Solarus by watching the tutorials on Youtube. Im am now at the tutorial for switches and mechanisms (https://www.youtube.com/watch?v=CbMfXsHvUxg&list=PLzJ4jb-Y0ufwkbfy49F_NrLtxCAiGJw5r&index=17&t=934s) and there is a script that doesn't work and I don't know why.

The script I am talking about is for when a switch let's a chest appear, you open the chest and when you leave the room it should stay activated , so that the switch can't be activated again and the chest is (when opened) present. I use the exact script as in the video (double checked twice) but when I run the quest it doesn't work. When I leave the map and come back the switch is still unactivated and the chest is not there. The state of the chest is saved and when I use it again the chest appears opened, but that's not what the script shall do. I have no clue why it doesn't work.
To clarify: This is my test quest and I am aware that I may have made some mistake elsewehere but I can't tell.
Maybe you guys have some ideas what to do?
#59
Development / Changing Hero Movement Style
Last post by Crescendo64 - March 15, 2023, 08:46:02 PM
Hi there!

I'm new to Solarus, and have limited experience with coding in the past. But my question seems to be outside of what I can figure out. I'm wondering if there's a way to disable the "smooth" movement style of the hero, so that the hero doesn't slide around corners and things.

Thanks!
#60
Development / Avoiding two sprite animation ...
Last post by hyrule_forest - February 15, 2023, 10:33:59 PM
Hi everyone,

I have a problem with 2 animations which overlap. As you can see in attached file, and didn't arrive to have only one sprite at the same time,
I would like to have either the mob with hands in air, or the mob in appearing mode ...
Bellow my code part for changing sprite/animation:


sprite:register_event("on_frame_changed", function(sprite, animation, frame)
  sprite:stop_animation()
  if enemy:get_distance(hero) < waiting_distance then
    sprite:set_animation("waiting",
      function()
        is_underground = false
        enemy:set_hero_weapons_reactions({
          arrow = 2,
          boomerang = 2,
          explosion = 2,
          sword = 1,
          thrown_item = 2,
          fire = 2,
          jump_on = "ignored",
          hammer = 2,
          hookshot = 2,
          magic_powder = 2,
          shield = "protected",
          thrust = 2
        })
        enemy:set_can_attack(true)
      end
    )
  elseif enemy:get_distance(hero) < appearing_distance then
    sprite:set_animation("appearing",
      function()
        is_underground = false
        enemy:set_hero_weapons_reactions({
          arrow = 2,
          boomerang = 2,
          explosion = 2,
          sword = 1,
          thrown_item = 2,
          fire = 2,
          jump_on = "ignored",
          hammer = 2,
          hookshot = 2,
          magic_powder = 2,
          shield = "protected",
          thrust = 2
        })
        enemy:set_can_attack(true)
      end
    )
  else
    sprite:set_animation("walking",
      function()
        is_underground = false
        enemy:set_hero_weapons_reactions({
          arrow = "ignored",
          boomerang = "ignored",
          explosion = "ignored",
          sword = "ignored",
          thrown_item = "ignored",
          fire = "ignored",
          jump_on = "ignored",
          hammer = "ignored",
          hookshot = "ignored",
          magic_powder = "ignored",
          shield = "protected",
          thrust = "ignored",
        })
        enemy:set_can_attack(true)
      end
    )
  end
end)


Anyone can help me plz ?

Thank you so much  :) (I precise that I'm a beginner)