Recent Posts

Pages: [1] 2 3 ... 10
1
General discussion / General Lua and game coding advice?
« Last post by MysticLord on October 13, 2021, 06:12:00 PM »
I went to a community college for 3 years where I took almost all the CS and CS-adjacent classes, and I work in freelance web/mobile development. I have a bit of romhacking background, but I've never made any games.

Do you have any advice for me to get up to speed with Lua, or game programming in general?

My goal is to build something with elements of Secret of Evermore, ALTTP, Romancing SaGa 3, and Final Fantasy 6. Field navigation/interaction and mob-dodging like the former two, and JRPG-style battles like the latter two. I originally wanted to make a FF6 ripoff, but there's nothing to do outside of battle so it puts me to sleep.
2
Its enemy:on_dead(), not enemy:on_killed().

Also, a for loop would be most effective actually.
3
Development / Re: how do you activate a function when all the enemies on a map are killed
« Last post by Max on October 07, 2021, 04:57:30 PM »
You can also define the function that's called when enemies are killed. Assuming the enemies are named "chest_enemy_1", "chest_enemy_2", etc, then

Code: [Select]
function chest_enemy_1:on_killed()
  if not map:has_entities("chest_enemy") then
    chest:set_enabled(true)
  end
end


You'll have to define that for all the chest enemies since you don't know which will be killed first. You can copy the code, or use a for loop, if you know those. Like

Code: [Select]
for x in map:get_entities("chest_enemy") do
  function x:on_killed()
    --check if other enemies exist
  end
end



I don't remember offhand if the function should be on_killed or on_dead, so check the API docs
4
sol.timer.start(map, 500, function()
  if not map:has_entities([enemy_name]) then
    [door_name]:open()
    [chest_name]:set_enabled()
  end
return true
end)


remember to name the entities in the actual map, not just the breed
should be smth like this: enemy_1, enemy_2, etc.

also chest should be set as not enabled whether through script or declared in map file
5
Development / how do you activate a function when all the enemies on a map are killed
« Last post by squidliver on September 29, 2021, 11:04:41 PM »
how do you activate a function when all the enemies on a map are killed? i want to be able to have a chest appear or a door open when the enemies on a map are killed.
6
Development / Re: Ressource pack zelda ALTTP
« Last post by PhoenixII54 on September 28, 2021, 10:39:51 AM »
Actually, both worlds are in sorted in across all three tilesets, organized in sections depending on their usage. Feel free to explore them and to learn how it works.

Otherwise, finding and "add[ing files] to the project" or "import[ing] from another poject" isn't that hard, and there are many turorials on how to do this.

So good luck with your project (and feel free to ask if you need help, there will alwys e someone to answer or give you hints).
7
Development / Ressource pack zelda ALTTP
« Last post by Sebbas on September 27, 2021, 10:36:32 PM »
Hi everyone,

I am new to the Solarus engine system. I have downloaded the ressource pack of zelda ALTTP on the Solarus site and created my first project.

The problem is, in the ressource pack tilesets i only have a folder for dungeons and a folder called "out" with outside_building / outside_main and outside special.

There is a lot of ALTTP tilesets i do not have for exemple (light world and dark world etc...) am i suppose to have these in the ressource pack? and if no, how can i add the missing ones in my project.

Thanks!
8
Your projects / Re: Ocean's Heart
« Last post by jasonkhanlar on September 14, 2021, 03:30:40 PM »
Bug Report: In Goatshead Harbor: Merchant Guild building, the secret book color sequence: red, green, yellow, yellow, red

Each time the sequence is performed, the bookcase keepsmoving to the right and off into the next rooms depending on how many times you repeat the sequence.

-

Typos?

https://forum.solarus-games.org/en/index.php/topic,1107.msg6533.html#msg6533
Thanks llamazing! I took care of all of the typos and mistakes, ...

more typos (see languages/en/text/dialogs.dat):

- viliganty : I am not sure if this is a typo, but I thought of "vigilante"

- otibuary : obituary

- guarentee : guarantee

- diety : diety

- tumeric : turmeric

- estastic - ecstatic

- conflangeld : ? I don't know which word is intended

- Zeyphr : I didn't think this was a misspelling at first, because it is used as a name "Zeyphr empire" but then I also saw "Zephyr empire" so I think either it is a misspelling, or there are two different locations that have similar names

- explosides : explosives

Note: In case any of the misspellings are intentional, that makes sense, but just in case they were accidental/mistake, I thought I'd point them out.

- witch hazel vs witch-hazel

- woah : whoa

- thursdays : Thursdays (uppercase)

- saturday : Saturday (uppercase)

- saphires : sapphires

- soal : ? no idea. oh! maybe "shoal?"

- varities : varieties

- competetion : competition

- liquer : liquor

- accidentially : accidentally

- Guarenteed : Guaranteed

- ammunitions : ammunition (no s is plural too)

- elixers : elixirs

- Unfortunatly : Unfortunately

- opressing : oppressing

- Moreso : More so

- Bertolemy : Bartolomy (unless there are two different persons with similar names with slightly different spelling)

- undiciplined : undisciplined

- charicature : caricature

- youngun : young'n or young'un (suggestion)

- wacking : whacking

- rudness : rudeness

- Ugh : Ugh (suggsstion, maybe your spelling is intended)

- taining : training

- embarrased : embarrassed

- agressive : aggressive

- draughts : ? this doesn't seem right

- draught : ? this doesn't seem right

- Strait of Throns : Strait of Thorns? or Thrones?

- soutwest : Southwest (notice the missing h too)

- godess : goddess

- Ocean Godess : Ocean Goddess

- Sea Godess : Sea Goddess

- forebearers : forbearers

- Sockpiling : Stockpiling

- monstery : monastery

- unctious : unctuous

- carring : carrying

- dont : don't

- aquiesce : acquiesce

- cambrium : cambium

- obiously : obviously

- burglarly : burglary

- renound : renowned

- fascines : fascinates

- magnificient : magnificent

- comissioned : commissioned

- jove : ? no idea

- depects : depicts

- resiliance : resilience

- momentus : momentous

- reisling : Riesling (swap the positions of i and e too)

- cantelope : canteloupe

- ensamble : ensemble

- doppleganger : doppelganger

- lackadasical : lackadaisical

- whever : whenever or whether

- dieties : deities

- Burbon : Bourbon

- fanction : function or faction (or something else?)

- dective : detective

- Moutain : Mountain

- Standwithnotting : ? Notwithstanding? https://onelook.com/?w=notwithstanding&ls=a

- couldnae : couldn't

- palces : places

- replenesh : replenish

- monsterous : monstrous

- reveived : received or revived

- whopping' : whoopin'

- persuing : pursuing

- magnificant - magnificent

- whalloping : walloping

- chieftan : chieftain

- youself : yourself

- manacing : manacling or menacing

- opress : oppress

- artisinal :artisanal

note: I didn't check the other languages

-

Deprecated npc?

i can't find the bait_salesman in crabhook ("_goatshead.npcs.crabhook.bait_salesperson")

-

Minor inconvenience: When I kill an enemy (and get thrown back away from the enemy) and then immediately continue to walk past (into) where the enemy was killed, but is still in process of dying, I get injured again.

-

Minor inconvenience: When NPCs are walking/moving, if they walk onto my position, I can'tmove in any direction (not even away from them) until they are fully out of my space.

-

grammar

Quote
SAILOR:
just give us some space, eh? I'm
trying to do figure out how to move
all these.

should be

Quote
SAILOR:
just give us some space, eh? I'm
trying to figure out how to move
all of these.

TLDR: remove the word "do" add the word "of"

-

Minor inconvenience bug: In Ballast Harbor on the pirate ship in the pirate vault: When going into a room with giant rock monsters, staying in the doorway,when the rock monster gets as close to me as it can and starts injuring me, when I leave the room going back into the room I came from (in the doorway), even after the room switches to the previous room where there are no enemies/monsters at all, damage from the previous rockmonster touching me still occurs.

-

grammar

Quote
It seems like more oranges that a normal
human ought to be able to eat.

should be

Quote
It seems like more oranges than a normal
human ought to be able to eat.

TLDR: "that" should be "than"

-

Quest bug?

In the Oakhaven library, after reading Hazel's to do list, when I try to push spacebar to interact with the paper again to reread the dialog, nothing happens.

-

Inconsistency in wording for a quest, different messages offer different directions:

South
Quote
SHIFTY:
Oh, yeah. Up on Marblecliff, there are ruins
with a big statue of a bird in the middle. You
go just south of that and there's three trees

vs

East
Quote
SHIFTY:
Did you find Hazel yet? Remember, if you
go up to Marblecliff, find the ruins with the
bird statue in the middle. Just east of that,
SHIFTY:
there's three trees

-

Storyling gameplay UI visual bug (minor inconvenience, does not affect gameplay)

Just after Hazel begins following you, entering into oakhaven/west_oak (from the East), heading South right away, going across the bridge heading towards Saltpeter Mine,

wood plans 5 through 18 appear ABOVE (covering up) Hazel, as if she is walking underneath them, but Tilia appears fine, walking above all of the wood planks.

(also related/similar to this bug during the same quest, when Hazel is following), when Tilia jumps 1 or 2 squares over water to get to next walkable surface, Hazel does not jump too, and just walks right through the water that Tilia drowns in. Maybe make Hazel jump too?

-

Quest visual ui glitch: quest id = "_oakhaven.observations.saloon.star_barrel_1" after spiking the barrel, and leaving the property, cutscene shows barrel with star being carried outside, but going back into the property, and the barrel with the star that was spiked is still there.

-

Minor nuisance at last room in Fort Crow, the room after defeating the boss: I grabbed the paper before I grabbed the +1 heart on the white seat (I had to go back to get it), and when I grabbed the paper, the prompt kicked me out to the front entrance. Also, when I went back to the room, somehow the map paper I took, it was there again.  ::::  Also I just noticed that when I am in the Fort Crow dungeoon, my pin marker on the map showing me where I am is not visible. (Oh actually, even when I leave the dungeon, and back out in the open world), I still don't see marker on the world map in Fort Crow area. When I move into stonefell_crossroads/crow_road, then the marker appears, but when I go back to stonefell_crossroads/crow_arena the marker is no longer visible. I went back into Fort Crow castle again just to make sure. The world marker does not appear, but as soon as I step outside, the marker appears, but not at that area named above. Also I don't see my marker on map for Sunken Palace. Same at Sunken Lighthouse, no marker on map)

-

Suggestion: Bind 'M' hotkey to toggle the map

-

Going back into the Lighthouse on Zephyr Bay (that I visited and lit up already), the switch to light the torches resets each time i go into the house, but the torches are always lit.

-

Code: [Select]
$ grep -r "set_savegame_variable(\"possession_" ./|cut -d ":" -f 2-|grep -v "^--"
  ...
  self:set_savegame_variable("possession_shield")
  ...
  self:set_savegame_variable("possession_watering_can")
  ...

Most of the output shows item:set_savegame_variable, but those two lines use self instead of item. I am not sure if this is important or not, but i thought I'd mention.

-

Another typo/misspelling: "by" should be "my"

Quote
Yo, have you heard about the haunted horse?
By big brother said there's a haunted
horse and there's a ghost inside and that's
why they keep it locked!

"By big brother" should be "My big brother"

-

Talking to the INJURED MAN in Yarrowmouth/interiors/crafting_house after progressing much later into the game, reading the same dialog conversation seems a bit out of place.  Also Yarrowmouth/interiors/shop shop owner referring to me as a new face again seems like the woman forgot who I am, as if I am not important enough for her to remember.

-

When I use boomerang or bow/arrow to shoot over the ledge of a mountain landscape that the tiles in front of me are lower elevation, the arrows and the boomerang are blocked/obstructed from passing over those tiles for some reason. Oh, and similar with placing bombs! If at a ledge that has one of those gaps to signal jumping down from, placing a bomb either results in unable to pick it up (too close to the ledge, I guess it is too low to reach), or otherwise after picking it up and attempgint to throw it over the ledge, unfortunately it bounces off of imaginary invisble obstructed barrier that prevents the bomb from going over the ledge to the lower ground below. Of course, same with salt candles, bomb arrows, flame arrows, and seeker eyes.

-

Also in dialogs.dat (English), I see double spaces in some of the texts:

Code: [Select]
id = "_ballast_harbor.observations.willow_palace_note",
There's a  old note laying by the skeleton.
There's a old note laying by the skeleton.
id = "_fykonos.npcs.orchard.andei.2",
unintentional loans. This is  for the heist!
unintentional loans. This is for the heist!
id = "_fykonos.npcs.village.shopkeeper.1",
Helcome, er. I started  saying hello then
Helcome, er. I started saying hello then
id = "_goatshead.observations.shrine_bottles",
the tavern back home, we had to  ship them
the tavern back home, we had to ship them
id = "_oakhaven.observations.ivystmp.carpenter_books",
dective story about a lumbering  villain.
dective story about a lumbering villain.

-

Suggestion: Flail weapon, allow the player to move around while the flail is flailing around.

-

Invisible obstacle on grass https://i.imgur.com/9RivZvr.png in oakhaven/marlbecliff

-

grammar

The word "it'd" seems wrong. It doesn't make sense. Unless, did the backpack go out and forage for some plants? Or did the WISTFUL MAN do the foraging? Maybe change it to just "I" ?

Quote
WISTFUL MAN:
My whole backpack was full of plants it'd
foraged after cutting them down, I was
bringing it down to the shop to sell...

-

Fykonos Island. I arrived to Fykonos Island for the first time just now, on the boat ride there, monster attacked the boat, I killed it, arrived on the island shipwrecked, and lost some of my weapon gear, but I have a few weapons that I can still use it seems, such as the bomb arrows (can't use though because no bow), flame arrows (can'tuse though, because no bow), flail, salt candles, ether bombs, seeker eyes, etc. so I technically might have not needed the beat up sword from the village elder. I'm not sure if this is intentional or not, but I thought I'd mention. Also instead of hiding the bomb sprite like the other weapons being hidden, the bomb slot still appears, and shows a 0 qty count instead. I guess this might be because I will need bombs later on this island, but I would expect the slot to appear blank/empty like the other stolen items.

-

Also in Fykonos Island, after I get the beaten sword from the village elder, ........ I looked this up to make sure I remember the game history correctly:

Code: [Select]
_treasure.sword_of_the_sea_king.1

"You found the Sword of the Sea King."
"Hold the attack button to charge an attack."

I was able to hold the attack ("c") key on my keyboard to charge an attack using the beat up sword. I think because the Sword of the Sea King sword is not the same as the beaten sword, that the beaten sword should not be able to use the charged attack.

-

lol (I reported this kind of issue earlier/above), but in Fykonos Island, with all the statues, and the hole in the ground underneath two statues, I went through all the effort/time to push all of the statues into the hole to see if anything happens. Nothing happened, but then I went just below the hole (halway near the bottom of the screen), faced the hole, and then threw my boomerang towards the hole, and the boomerang bounced off of the hole, instead of flew over the hole to bounce off of the hill just past the hole. It looked funny. But also, since it seems that the statues serve no other purpose, it would be nice to see the positions of the statues be saved (at least if moving to other areas on the island, but when fully leaving the zone/island, then reset back to normal). For example, after I pushed all of the statues down into the hole so there are no more statues left, then go into the hole, then come back out, it seems strange for all the statues to be reset as if nothing happened, and even covering up the spot that I came out of the hole, as if to block the hole, that I just came out of.

-

Quote
BOMBINO:
Hey! That's my backpack! Do you think, if
you want, could you bring it over here to
me? I'm trapped by the monster trees.

This triggered just after I picked up the backpack, which I did after I killed all of the enemies in the area first. So then when I read this, it seemed wrong! Bombino was NOT trapped by any monster trees! All the monsters are dead! Bombino is a cowardly boy-who-cried-wolf liar! lol. I'm actually going to ignore him and never give him his backpack just because he lied to me! I went to go close to him to double check, and yep, he lied! He could have not been so lazy, and came towards me, but no! He is a lazy coward!

-

I just walked into room fykonos/interiors/pirate_fort_inside and the first pirate enemies shot at me but they blew themselves up and died. I didn't have to do a thing. If they are that stupid, how were they smart enough to be alive to live long enough for me to arrive to see them commit suicide?

-

Interact with Hazel is broken. I've progressed pretty far into the game now. I passed Fykonos Island. I finished rescuing the Mayor's dog. All of the side quests that i can see have green check marks. Except 1, all of the main quests have green check marks. Only The Hideout @ Snapmast Reef (search for the Pirate Council's hideout) is left. So, when I try to talk to Hazel in the room in the library in Oakhaven, nothing happens now. Is she mad at me? Is she ignoring me? Am i ignoring her too? Are we mad at each other and not talking to each other anymore? https://pastebin.com/raw/cSwc7imZ (in case these save game variables might help)

-

Uh oh! I just came out of the ship  and into outside area snapmast_reef/cemetery_of_the_waves/shipwreck_chain where there are warp_blocks that I can finally interact with. I just permanently (until I quit and reload from save) lost the warp_blocks. They do not reappear if I leave the room and come back. I was standing on the shallow water as close to the deep water as I could, and then I shot a warpbolt charm  at the warp_block, to swap positions, and for some reason the warp block went to my position where I was standing,and then decided to fall and drown into the water, therefore disappearing. Same with the other block.

lol oops! Same thing happened with one of the warp_blocks, the one to get a treasure chest (since somehow the reflection in the water of the rock sticking out of the water, the reflection in the water blocked my shot towards the warp_block), so I found another way to shoot at it to get to the treasure chest, but when I did, apparently the warp_block that switched to where I was standing, also fell in the water, so I couldn't get out of where I was other than by jumping into the water and drowning, to get sent back to the entrance. Oh and actually, that's not the reflection in the water. That's just the rest of the stone that is underneath the water,such that the 3 dimensional position of it is somehow obstructing in 2 dimensional perception that is otherwise impossible if 3-dimensionally in only 1 location at a time

lol oops again! Now I really got myself trapped in snapmast_reef/cemetery_of_the_waves/shipwreck_chain. After having already been in the room with the boss and the big treasure chest. I came back to that area/room again, where I was able to for first time use the warpbolt charm. And after I used it on the warp_blocks to get to the next room, the warp blocks are now both on the same side. So then when I came back to this area looking for how to progress, whereever the locked door is, now I find that I am trapped/stuck here, without any way to get out unless I edit the save game file, because even if I jump into the water to drown and die, I get kicked back to the door that I came out of, which is still on the same side that keeps me trapped, unable to get out of the area, since both of the two warp_blocks are on the side that I can touch them, and none of them are on the right side where I exited the first time I was here. Oh nevermind. If I quit and reload, then I can get out.

-

Quote
AUBREY:
Thank you so much. For letting me get
away with stealing so much money. I promise
it'll be put to good use.

Aubrey still says this even after I already went to Orange Orchard at Fykonos Island and Andei already paid me 200 crowns cuz Andei said that the money that Aubrey stole helped them survive. So then why is Aubrey still promising that the money will be put to good use? Is she a thief and a liar and lying to me, expecting to believe her lies, as if somehow the money hasn't helped her/them yet? Maybe she is preparing to steal more money to claim that they still need help?

-

Another typo:

"know" should be "now" in:

Quote
delilvery business... yeah, as I'm saying
it out loud to you know, delilvery just
doesn't roll off the tongue.

-

Another typo?

Quote
##The ghost of the hero Heron tasked you
##with cleansing Thrush Fort
@Unlock Thrust fort

Is it "Thrush" or "Thrust?"

-

I got the Oak Charm (to lift heavy objects) without even getting the Ironwood Charm (that lets me lift stones that are heavy, but not as heavy as the heavy objects).

but also, in ballast_harbor/pirate_vault", I threw a heavy black ball on one of the switches, expecting the switch to get pressed down, but it did not get pressed down, and the ball is stuck. I can't pick it back up from off of the unpressed buttton on the ground.

-

Quote
dialog{
  id = "_sycamore_ferry.signs.forest_of_tides_2",
  text = [[
South - Tidal Tunnel
East - Zephyr Bay
Northwest - Goatshead
]],
}

Where is Tidal Tunnel? I can't find it.
9
General discussion / Forum Password Bug
« Last post by jasonkhanlar on September 14, 2021, 02:30:02 PM »
Hi! i just registered to the forum, and I changed my password, but firstly I successfully registered with this randomly generated 256 character length password (with spaces and symbols) without any errors at all. It registered fine!

Code: [Select]
^C.&4[vdSj'Rk/iijxcx"j&F(RNK;A%S|,g]+&b1Pui+*Zr`t(r~2_54hCy +*x_e#PR@rI)eMyHB.VOmz4fb,?ED]4~NPFWedCAsMZ#eB3![h t*tsY zZ.w~i`gP`kfP?m3\8J)J3l45;-OIY4x."^$P2\*0_!_B5_II{\p\jLO:qW$r> mTwMpp-*>A@tKi.[BL2$uY["=A*r]r18Y7tkgX>FN^0JDYx`5>3]]T(A{~-Vi,JB8MLBLWd.\`+
However, when I tried to log in, I could not log in.
10
Bugs & Feature requests / Question and suggestion about default blend mode
« Last post by Diarandor on August 30, 2021, 03:24:58 PM »
Hi! Although I'm not active these days, I have a question about the default blend mode.

The engine v1.6.x currently uses the following as default blend mode (called "blend"):
Quote
"blend" (default): This drawable object is alpha-blended onto the destination surface.
dstRGB = (srcRGB * srcA) + (dstRGB * (1 - srcA))
dstA = srcA + (dstA * (1 - srcA))
Link to the Lua API: https://www.solarus-games.org/doc/latest/lua_api_drawable.html#lua_api_drawable_set_blend_mode

Why was this blend mode chosen? I do not like it because it is not associative, which is a bad property because this is not what happens in the real world. Let me explain this. In our real world, when you overlap 3 semitransparent surfaces A, B and C, the associative property
Code: [Select]
(A * B) * C = A * (B * C)is satisfied, where "A * B" means putting or drawing A above B.

However, the "over" blending mode (https://en.wikipedia.org/wiki/Alpha_compositing) does satisfy the associativity, and is given by
Code: [Select]
newA = srcA + dstA - dstA * srcA      // This is equivalent to the current alpha in "blend".
newRGB = ( srcA * srcRGB + (1 - srcA) *  dstA *  dstRGB ) / newA.
Note that if newA is 0, the denominator in newRGB should be replaced by 1 (or whatever, because the new surface becomes transparent) to avoid a NaN error.

So these are my suggestions:
1) Add a new blend mode to the engine, called "over".
2) Set the "over" blend mode as default, if this does not produce incompatibilities with the old "blend" mode.

If you like the idea, we could open an issue for this. If there is a reason to keep "blend" as default, I would like to know, just by curiosity.
Pages: [1] 2 3 ... 10