Solarus Forum

Community => Your projects => Topic started by: Max on February 27, 2018, 01:59:34 am

Title: Ocean's Heart
Post by: Max on February 27, 2018, 01:59:34 am
Hello! I'm regularly updating this post to reflect progress on this game. Ocean's Heart is a game I started in about March of 2017 in order to teach myself to use the Solarus Engine and learn some coding.

The game follows the journey of a girl whose father left their town six months ago to defeat pirates that attacked and kidnapped another girl. She spends most of the game following his trail and uncovering the plot that's kept him away for so long. I'm aiming for a cross between Zelda: The Wind Waker, and the Witcher 3:Wild Hunt, emphasizing exploration and interesting side-plots. I'm not trying to emulate Zelda in its entirety, so there's a few differences in my approach to dungeons, player power progression, depth of sidequests, etc. The final game is on track to be 5-8 hours long depending on how much exploration the player is interested in.

The game, rough estimate, is about 45% complete. There are currently several islands to explore, a small handful of dungeons (some larger, some smaller), items and abilities to find, many sidequests, and a main quest that I'm estimating might take a couple hours to get as far as you currently can. You could reasonably sink 3-5 hours into the game right now if you wanted to exhaust every side quest and find every hidden power-up and treasure. At the moment, I'd like to release Ocean's Heart in Spring of 2019, but you know how video game releases go.

The first demo is available here:
Ocean's Heart 0.1.5 (May 6, 2018) (

Arrow keys - Move
Space Bar - Talk / action
X - Bow
C - Sword
V - Bombs
D - Pause / Save / Show Inventory
M - Show Map

If you give this a play, I'd love to know what you think! Thanks.

Here's a short, low-quality trailer of some areas:
(there's no way to embed youtube videos on this forum, is there?) (

And some screenshots:




Title: Re: Ocean's Heart
Post by: Christopho on February 27, 2018, 11:11:35 am
Wow, these screenshots look amazing!
Where do the graphics come from?

To share your project, just make a zip file with both your data folder and Solarus (solarus.exe and the DLLs).
Title: Re: Ocean's Heart
Post by: Zakarisz on February 27, 2018, 12:32:03 pm
Really beautiful.  *_*
Title: Re: Ocean's Heart
Post by: Zeldo on February 27, 2018, 01:36:15 pm
This looks just amazing :O
I can't wait to play it ^^
Title: Re: Ocean's Heart
Post by: Diarandor on February 27, 2018, 02:02:28 pm
Awesomely awesome! Really beautiful graphics. This community needs more projects like yours. Nice work.

Question: Which is the license of the tilesets/sprites?
Title: Re: Ocean's Heart
Post by: Neovyse on February 27, 2018, 03:50:06 pm
WOW this is huge ! the city buildings look beautiful.
Title: Re: Ocean's Heart
Post by: Max on February 27, 2018, 04:14:18 pm
Oh, thanks guys! I'm glad you like the look of it. All the graphics are something I've made myself for this project. It's been a great exercise to teach myself to do pixel art better, I've come a long way since I started a year and a half ago. I've also composed all the music, and I'm in the process of creating all the sound effects. I just recorded my dog last week to turn into a monster-damage sound.

My plan is to, at some point, re-format my tileset and release many of the graphics I'm creating under a creative commons license, similar to what Diarandor is doing. I figure it seems like the Solarus team has their scripts included under the GPL v3, right? I've been looking over those and taking them apart and using them and modifying them for this game, so I figure the least I can do in return is contribute many of my graphics the same way.

With that said, the way I've been working is adding onto the tilesets as I go and they're a hot mess. I know how to use them, but they'll take some modification before they'll really be ready to release. Besides that, I know I'm still going to be creating a lot more graphics for this game's later areas. If there's any interest though, I could throw together a very basic tileset if anyone wants to use these graphics right now.

And Christopho, thanks for the game-sharing advice. I've got a couple more music tracks to write and record for some areas, and then I'll be following that to share this game. Thanks : )
Title: Re: Ocean's Heart
Post by: llamazing on February 28, 2018, 01:02:41 am
That looks amazing. Nice work!
Title: Re: Ocean's Heart
Post by: Ezka on February 28, 2018, 05:26:44 pm
Wow, the pixel art is so beautiful. It makes me cry when comparing to my own. ;D
Keep up the amazing work!

Edit: after watching the trailer a few times the music is already stuck in my head. Love it!
Title: Re: Ocean's Heart
Post by: MetalZelda on March 01, 2018, 10:36:15 pm
A big thumbs up for custom graphics and the Minish Cap vibes
Title: Re: Ocean's Heart
Post by: santiago_itzcoatl on March 04, 2018, 01:09:25 pm
congratulations !!
Title: Re: Ocean's Heart
Post by: Max on March 05, 2018, 05:15:27 pm
Hey guys, so I think I'm actually ready to show this off now. As Christopho suggested, I put my data folder and all the Solarus stuff in one zip, which was smaller than I expected, so I just put it on Google Drive. If you'd like to play the game I've been working on, here it is!

LINK!(Not that Link)(It's not a Zelda Game) (

If you do all the sidequests and explore everything, I think the game is about 3 hours long so far, maybe more.

Arrow keys - Move
Space Bar - Talk / action
X - Bow
C - Sword
V - Bombs
D - Pause / Save

If you give this a play, I'd love to know what you think! Thanks.

Title: Re: Ocean's Heart
Post by: Diarandor on March 05, 2018, 06:42:30 pm
Thanks a lot!!! This is great news.
I will test it someday this month and will give you my opinion and suggestions. ;D
Title: Re: Ocean's Heart
Post by: llamazing on March 06, 2018, 03:10:53 am
Good so far, I've been enjoying it. I like the humor in the dialogs.

I encountered this error:
Error: Failed to load script 'maps/goatshead_island/interiors/sodden_cormorant': [string "maps/goatshead_island/interiors/sodden_cormor..."]:43: function arguments expected near ':'

Looks like you forgot parentheses after map:get_hero on line 43 of that map script.
Title: Re: Ocean's Heart
Post by: Max on March 06, 2018, 03:44:20 am
Shoot, after I tested everything I added in a hero:freeze() function and was like "this is simple, I don't need to test it". Well.

Thanks though, got it fixed! I better play through everything again as fast as I can to see if I messed anything else up, haha.

Ran through everything again today- the main quest, at minimum, can be completed without any problems that I could find. I didn't test every side quest again, but I don't think I changed anything in those that I didn't test.

Anyway, the download links have been updated with a new file that avoids that error!
Title: Re: Ocean's Heart
Post by: jojo_f on March 06, 2018, 07:51:42 am
This game looks very cute and the tileset in the other thread is VERY impressive! Before I play, I was wondering how "complete" you consider it to be as far as your intentions?
Title: Re: Ocean's Heart
Post by: Neovyse on March 06, 2018, 10:18:58 am
Tilesets and sprites are beautiful !

And I love the feeling when you hit an enemy.

Damn ! Your game has so much potential !
Title: Re: Ocean's Heart
Post by: Max on March 06, 2018, 04:48:19 pm
Thanks guys! Neovyse, I'm pretty happy with the sound effects and screen-shake. I've still got to come up with a better way to do it though because maps that aren't free-scrolling won't shake : /

Jojo- I think as far as "completion", there's a couple ways to answer that. I've been working on this game for a year, and I expect I'll finish it in about one more year (though maybe I'll get things done sooner, who knows!)(or maybe take longer. Who knows again, lol...)

As far as gameplay, I'll estimate there's about 3 hours of possible gameplay now. I'd like to have, when everything is done, around 7 hours. So content-wise, I'm about 45% done.

Does that answer your question?
Title: Re: Ocean's Heart
Post by: Diarandor on March 06, 2018, 08:04:17 pm
I haven't finished testing yet, but 2 questions:
-I guess you haven't replaced all Zelda sounds yet, right? Or are some sounds very similar?
-The starting point was a test map with 3 entrances (in the version I downloaded). Which one is the best one to start? The demo should start in the correct room.

This game is the most beautiful thing I have ever played with Solarus. ;D
Title: Re: Ocean's Heart
Post by: Max on March 06, 2018, 08:18:33 pm
Thanks! : D

So yeah, I'm still working on creating new sound effects. It's a pretty time intensive process, but I enjoy it.

And yep, I forgot I accidentally left the initial game start in my debug room! The new file I uploaded fixes that and starts you in the game, as well as fixes the error llamazing encountered, which I think would prevent you from completing the game, idk.

If you stick with the old download for some reason, the door in the top-left goes to the start of the game.
(The top right goes to the first areas I created, to test game mechanics, and the hole is the one I use to go wherever I'm testing without going through the whole game :p)
Title: Re: Ocean's Heart
Post by: Ezka on March 06, 2018, 08:39:41 pm
After lighting up the lighthouse I ended up dying outside of it, I then respawned stuck in this wall.
Its nothing too serious and was fixed by restarting the game but thought you should know none the less.

UPDATE: I am loving it so far, the graphics are beautiful besides for a few things that look off, and I'm loving the music. I have a few more questions though.

First off I'll report another error I ran into while playing, I am bad at describing things but it shows what I am talking about in the attached screenshot.

Second off is a question about controls, I am at the point where I need to place monster bait but I can't find a way to equip it, in the menu the only options are Save and Continue, Continue, and Quit. I might just be totally missing something, so feel free to make fun of me if I am.

One final question for anyone, I can't find a way to embed images in posts, I have tried googling it and I just can't find how to. If anyone could help me out on this that would be great!
Title: Re: Ocean's Heart
Post by: Diarandor on March 06, 2018, 11:15:03 pm
I have not played too much yet and I am a bit lost. But here you have some comments:

1) I confirm the errors found by Ezka. I got these ones:
[Solarus] [340430] Error: No such dialog: '_crystal'
[Solarus] [1495160] Error: Illegal direction 3 for sprite 'entities/vase' in animation 'on_ground'
[Solarus] [1495160] Error: Illegal direction 3 for sprite 'entities/crystal' in animation 'orange_lowered'

2) Misprint in dialog: "The arrows you shoot with be..." -> "... shoot will be..."

3) The girl cleaning with broom outside in town: there are some letters of the text out of dialog box (text too long), and I think there was another misprint in her dialog, but I am not sure.

4) The funniest bug is that you can sell the same honeycomb inifinite times, and hence get rich in an instant.

Unimportant comments (of things that I think are not finished yet): you should not swim over boats but to walk over them, the menus do not show all info like keys and other stuff, a map will be very useful for not getting lost, a menu for deleting saved data will be useful for testers too. I am sure that you are aware of all these things. I will keep playing and sending you more feedback. ;D
Title: Re: Ocean's Heart
Post by: Max on March 07, 2018, 05:19:14 am
Thanks for playing, guys!

Ezka, you can use the tag [ *img] and [*/img] with no * with a direct link to the image inside the tags. Also on imgur if you click on your image it automatically generated links for BBC code with the tags and your link. That's what I use.

Thanks for the error catches. The illegal direction errors just mean you created a sprite with <4 directions, so like the vase entity only has 1 direction (which is automatically right), and the entity is technically facing down. So it displays and works fine, but sends an error. The way you fix that is you just duplicate the direction so there's 4 and the error will go away, I just haven't bothered.

Ezka, the monster bait can only be used on certain stones- I haven't figured out how to make an equippable ites menu. Or a map screen for my menu... But anyway, you just go up to the certain stones and press spacebar. I should probably explain that better in-game. There's a guy in Crabhook Village that explains it, but he's kind of easy to miss and it's still a little obtuse. I'll make that better.

As far as respawning in the wall, I have no idea why that happens. Oh wait, actually I might, you said you died outside the lighthouse but respawned inside? I have an idea.

Last question, you said some of the graphics look off? Which ones? I'd love to fix them.

Diarandor, thanks for the error catches! A couple questions, do you remember what dialog had the typo about arrows? Who you were talking to?

Also, when you say swimming through boats, I don't have any plans for the player to ever learn to swim, my maps just aren't set up for it. Do you mean jumping off the dock and drowning in a boat? The issue is they're NPCs, so their hitbox is 16x16, lol.

Regarding a save-delete function, I was planning to get to that once I make a title screen. For anyone testing who doesn't know this, you can delete (or edit!) You save file by going to the location Solarus savegames are stored, finding the game folder, and manually deleting (or editing!) the file.

As far as design, I wasn't planning on ever having a map. It's a part of menus being to complicated to set up, I just decided I'd do that with my next game and leave it out of this one. Do you feel like a map is necessary for you? As the map designer, I have a hard time seeing the maps from another perspective.

Side note- I know a lot of people have posted on this forum essentially asking for more pre-made elements to come with Solarus (items, enemies, etc.). I agree somewhat with sentiments about how Solarus is for people who can code, however I think it would be nice to at some point,be able to release basically an empty game that had a menu, a few items, and maybe a couple enemies coded in. Is that kind of what Children of Solarus aims to be? If not, in a year or so I'd be willing to create such a thing, just an empty game with the systems set up (map, inventory, maybe three enemies, basic items), documented so they're easy to use.
Title: Re: Ocean's Heart
Post by: Diarandor on March 07, 2018, 12:28:42 pm
3) I cannot remember which NPC was that, but it was a woman with broom in some town, and outside the houses. Both issues were in the same dialog.

A) Yes, drowning on a boat is the problem (I swam over them because I used the swimming item of the debug map). I suggest to put some walls in the docks next to the ships, to avoid jumping, or falling, over them.

B) I understand that making a perfect map of the game overworld would be a pain. But still, a rudimentary map showing ONLY in which area the hero is and how are areas connected would be very useful, and I recommend to add it. That is, a graph-like map, more or less, without exact positions and only showing in which area the hero is.
Title: Re: Ocean's Heart
Post by: Max on March 07, 2018, 07:08:16 pm
Cool, I think I've got all the errors you guys caught fixed (outside of the "illegal direction" errors.)

Diarandor, maybe something like the maps from Metroid? My main problem is my pause screen is running out of room, haha. Well, actually, so there's game:on_key_pressed()
Would something like this work? From the game_manager script?

Code: Lua
  1. require("scripts/menus/map_menu")
  2. game:on_key_pressed("m")
  3.   if game:get_value("currently_map") ~= true
  4., "map_menu")
  5.   else
Title: Re: Ocean's Heart
Post by: Diarandor on March 07, 2018, 08:42:37 pm
Yes, something like metroid would be perfect for the map. That is the idea.

Your code above will not work. You are calling on_key_pressed (and the syntax is wrong, the parameter must be a variable), and you need to define it instead. Be careful not to override that function if it is already defined elsewhere (you can also use the multievents script to avoid overriding it).
Title: Re: Ocean's Heart
Post by: Ezka on March 07, 2018, 10:09:34 pm
Thanks for the help with the images, in the past I've tried that but when I pressed preview nothing showed up, must have to actually post for it to show :P

As for the graphical issues, I can't remember them all but I'll make sure to screenshot them if I do. The main one is in the sewers(might be named something else, I'm bad with names) with the water. The in corners don't seem to have tiles so it is just two tiles overlapping that look weird. And It also seems you are missing a tile for the out-corners.

That's all I can remember for now, but there is one other thing id like to report. In the following image you cant walk across simple plants like weeds and Lilly pads, I find that a bit strange.

Id also like to agree with Diarander in that a map would be super helpful. I don't think you have to make a perfect replica, in fact I feel like something that looks handmade would go more along with the story.

EDIT: Can you guys see the images, because I can't
EDIT2: Thanks for your help with the images, I feel so accomplished right now.
Title: Re: Ocean's Heart
Post by: Diarandor on March 07, 2018, 11:11:05 pm
EDIT: Can you guys see the images, because I can't
Nope, we can't. :o
Title: Re: Ocean's Heart
Post by: Max on March 08, 2018, 12:06:20 am
I checked, and when you click on an image on imgur, it comes up with like the zoomed-in screen, and there's a bunch of linking options on the right side. One is BBC code which works for me. I attached an image example code, because you can't type it out, because it will just try to make an image from it.

And yeah, you're spot on with the observation about the shallow water corners. It's totally just two sides overlapping, I didn't bother putting in the inside corner tile because I was trying to save a bit of time, I couldn't tell myself, but if someone else has noticed, I better do it properly, haha. You're also right in that I never made outside corners.

The plants being impassible isn't an error, just a choice I made early on and never thought about. I might go ahead and change them to passable now that you mention it.
Title: Re: Ocean's Heart
Post by: llamazing on March 11, 2018, 07:25:42 pm
Found a few more bugs.

If the pause menu is opened while the player is carrying something (like a flower or bush), then once the pause menu is closed again the player is unable to throw the item and the action button no longer works.

Got this error when the guy in Crabhook Village shows the player how to use monster bait
Error: In dialog callback: [string "maps/goatshead_island/crabhook_village.lua"]:81: attempt to index global 'crow' (a nil value)

When returning the charts to the chart shop in Ballast Harbor:
Error: In dialog callback: [string "maps/ballast_harbor/chart_shop.lua"]:51: bad argument #1 to start_dialog (No such dialog: '_game:quest_log_update')

The sensor to activate the charging pirate in the council_building map at Ballast Harbor should be larger so that the player cannot avoid stepping on it. I got through without stepping on it my first time and was confused about what was supposed to happen.

Is the player supposed to receive bombs when buying the coral ore from Honestbeard in Ballast Harbor? If it is intentional then there should be a follow-up dialog that explains it is intended.

When resuming a save sometimes music does not start (like when saving in a shop or other inside building in a town).

The battle with the rock spider (goat_tunnel_spider) in the Goatshead tunnels is a bit lame. The spider stands right in front of the door blocking the player from entering. The player can swing sword from doorway, but landing a hit causes the player to recoil back in to the previous room. Maybe have the door close behind the player as they enter the room?

Chest on far east side of Kingsdown contains 20 crowns that can be re-opened every time player enters map.

Dialog Typos:

Quote from: _goatshead.npcs.dockworkers.4
I heard to tavern owner was looking
for him... something about money?

Quote from: _goatshead.npcs.tavern_people.adventurers.4
need a Volunteer Navyman... person for
is to
clear out the beasts.
('is' should be 'us'?)

Quote from: _goatshead.npcs.ilex.1
Don't worry about. I didn't know him that well,
he lived here watchinging the shrine.
('about' should be 'about it'?)

Quote from: _yarrowmouth.npcs.town_people.4
bIf you're looking for Briarwood Distillery, it's
Title: Re: Ocean's Heart
Post by: Max on March 13, 2018, 12:41:39 am
Thanks llamazing! I took care of all of the typos and mistakes, so now I'll just have to figure that pause menu thing out.

I did some testing. One- you can force the hero to throw the object if you swing your sword, which fixes the problem too and your action button is re-enabled. Two, I think I've traced the problem to game:set_paused(false)

I think the issue is here because if I take the "continue, save, pause" dialog out of the pause menu so it's just D to pause and D to unpause and it shows the quest log, there's no problems, you can still throw the object. Also, I can force the player into a dialog with choices while carrying an object, and there's no problem, you can throw it afterwards without issue. So if the problem isn't with the dialog box, and the problem isn't with displaying the images on my menu, literally the only other thing my script does is call game:set_paused(false)

Is there any chance that the game:set_paused() method automatically returns the hero to a like "idle" state instead of whatever state they were in when they paused (ie, the "carrying" state)? Has anyone else seen this problem using game:set_paused(false)? This is basically the way Christopho's tutorials explain to make a save option on the pause screen.

Here's my pause menu script:
Code: Lua
  1. function game:on_paused()
  3.   require("scripts/menus/pause_infra")
  4.   pause_infra:update_game(game)
  5., pause_infra)
  7.   --save dialog
  8.   game:start_dialog("_game.pause", function(answer)
  10.     if answer == 1 then
  11.       game:set_paused(false)
  12.     elseif answer == 2 then
  13.       game:save()
  15.       game:set_paused(false)
  16.     elseif answer == 3 then
  17.       sol.main.exit()
  18.     end
  20.   end)
  22. end

Oh, and one last thing! Thanks for playing! Are you having fun with the game?
Title: Re: Ocean's Heart
Post by: llamazing on March 15, 2018, 01:34:22 pm
Yes, I have been enjoying it. The graphics are gorgeous, there's a decent balance between dialog and exploration, and there's a certain charm to the overall plot.
Title: Re: Ocean's Heart
Post by: Diarandor on March 21, 2018, 03:53:29 pm
Apart from the map mentioned before, I would add some "hint-NPC" who tells you where to go next (I hope that is planned for later versions). I was lost during most part of my gameplay, without knowing where to go, and having boats that take you to some unknown location in the world (because there is no map yet). Then I got a bit frustrated/overwhelmed of being lost in that huge world and so I rage-quitted my computer and kicked all my cats (just joking!). I think I didn't find dungeon 1, which made me sad, because I wanted to test dungeons with puzzles and nice battles. I like small (but very dense) overworlds, but this is just my personal preference. The game looks incredibly promising and it has the best graphics on a project made by someone of this community. But gameplay quality (I mean, innovative battles and original puzzles) should not be forgotten. This should be no problem since the project is still at a very early stage of development.

EDIT: Do not worry about my cats. They are really fine. Seriusly. :P
Title: Re: Ocean's Heart
Post by: Max on March 21, 2018, 05:42:15 pm
Haha, I'm glad your cats are fine. People being lost has been my biggest worry, I think it's much harder than I thought to build a well-designed overworld that is easy to understand but still fun to explore. It's especially difficult since, as the designer, you can't help but know where things are. I try to forget but I have the maps in my brain : /

I'm starting work on making it so pressing M opens a map of the island you're currently on. It's going well, I've just got to actually make the maps, which which llamazing's amazing mapping script will help with a ton!

I'm also thinking about putting telephones around the world where you can call your sister, who will provide hints. It'll take a bit longer to implement that one though, and I'm not 100% sure what more that would do than the quest log. Perhaps since she'd be able to go into more detail than the quest log can, it might be more of a "cheating" thing, where she'd tell you exactly where to go. I'll think about it a bit more.
Title: Re: Ocean's Heart
Post by: Max on March 21, 2018, 07:07:06 pm
Here's the first map I've gotten done- any feedback on it? I'm going for something that will give you a general direction without telling you exactly how to get there.
Title: Re: Ocean's Heart
Post by: Diarandor on March 21, 2018, 11:50:35 pm
Here's the first map I've gotten done- any feedback on it? I'm going for something that will give you a general direction without telling you exactly how to get there.
Awesome!! That map is perfect for that purpose. Thanks!
Title: Re: Ocean's Heart
Post by: Max on March 22, 2018, 05:29:27 am
Excellent. Here's the other one, still have to do the starting island but I updated the link in the first post to the current build of the game, so if you run that one, a map should pop up when you press M.
Title: Re: Ocean's Heart
Post by: wrightmat on April 18, 2018, 05:19:03 am
Finally got the chance to sit down and play this, and it's a really great start! I especially love the original graphic style, the music, and the humorous dialog. A couple of things I noticed - nitpicks really, since the game is so good!
Title: Re: Ocean's Heart
Post by: Max on April 18, 2018, 10:31:10 pm
Super helpful critique,thanks! Also curious, how far did you get, and were you bored any of the time?

I'm aware of a couple of these and working on fixes long-term. I'm planning on using a dialog system where I turn the font blue when Tilia is speaking, I've had some help on that and just haven't gotten around to implimentation.

For the actionkey, I'm trying to just train the player to investigate everything using dialog feedback as reward. I've tried to provide descriptions of all the books and notes laying around.

The tall yellow plants (forsythia) are something I don't know how to fix. If the whole sprite is drawn above the hero in y-order, wouldn't her head go under the plant when you walk south of it? I had figured that destructables would be like enemies, would have their 16x16 hitbox drawn below the hero, and above that would display above the hero if they're to the South of her, or below the hero if the plant is to the north of her. But they don't seem to work like enemy sprites in this regard...

Title: Re: Ocean's Heart
Post by: Diarandor on April 19, 2018, 03:56:48 pm
If you gave more info (and even a screenshot), someone could give you a solution for the yellow plants issue. :P
Title: Re: Ocean's Heart
Post by: Christopho on April 25, 2018, 02:09:55 pm
Hey Max, I want to play your game in a live-streaming soon. Can I use the current version linked in the first post?
Title: Re: Ocean's Heart
Post by: Max on April 25, 2018, 05:01:34 pm
Thanks Christopho! I've gone ahead and uploaded a slightly newer version to the first post, I fixed just a couple bugs, there's still a few I'm aware of that I haven't had time to fix yet (the yellow plants thing, you can jump through a few of the ships still, etc.). But as far as I'm aware, you can progress through the main story all the way up to the city of Oakhaven (you can get it, but it's unfinished), and any sidequests you can find should all work.

Here's a link to the newer version here also:
Ocean's Heart 0.1.3 (

Have fun!

Diarandor, regarding the flowers, I attached a screenshot to this post-
the problem is that the plants I'm using have a 16x16 hitbox, but are approximately 16x24 sprites. When this is the case with say, a 16x32 NPC, what happens is the player can walk "in front of" and "behind" them. When you're "in front of" an npc, that is, your Y coordinate is higher, then the player is drawn above the npc. When you're "behind" the npc, or your Y coordinate is lower, the player is drawn behind the NPC.
My problem is that this isn't the case with destructibles, such as a bush. The player is drawn above the bush no matter their Y coordinate, making it impossible to walk "behind" a bush. If you've only got 16x16 destructibles, this is't a problem, but I have a couple that are 16x24, and I was anticipating they've behave like NPC sprites.
Title: Re: Ocean's Heart
Post by: Diarandor on April 25, 2018, 07:08:27 pm
Ok. The only solution I find is to replace plants with custom entities, or ask Chris to allow drawing destructibles (and other entities) in Y-order.
Title: Re: Ocean's Heart
Post by: Max on April 25, 2018, 07:17:00 pm
And of course, you have the work arounds of placing all plants taller than 16x16 just south of a tree or wall, or avoiding the issue altogether by not creating destructables larger than 16x16, which seems right now like a better solution than all the coding of replacing bushes with custom entities.

Just curious, is there a reason destructables are like this, or did we just not think we might want some larger than 16x16 because Link to the Past only had 16x16, so it just wasn't considered?
Title: Re: Ocean's Heart
Post by: Christopho on April 26, 2018, 09:16:25 am
Here is episode 1 of my let's play!

The game really has professional quality, which is amazing. I am so proud that Solarus can be used to make such great projects :) Keep up the great work!

About destructibles size and drawing mode, there are like this for historical reasons. For 1.6 I will add set_drawn_in_y_order() to them. Later they will be able to have different sizes than 16x16. It is already possible to simulate larger destructibles using custom entities, we do that in other projects already.
Title: Re: Ocean's Heart
Post by: Christopho on April 26, 2018, 10:48:16 am
Ohhhh did I miss that there was a map? By pressing M?
Title: Re: Ocean's Heart
Post by: Max on April 26, 2018, 11:01:38 am
Cool, I'll look forward to that for 1.6!

And thanks for doing a let's play! I randomly saw it as I was watching Mark  Brown's newest YouTube video,which  was a fun surprise. It a lot of fun to watch! I also got like 6 or 7 notes or small mistakes to fix, which is good. And thanks so much, I'm glad you enjoyed it and think so much of the graphics.

A couple questions you brought up on your let's play I can answer:

-There is a world map- press M : )
-The resolution is indeed 320x240
-There are still a mix of Zelda and custom sound effects. It's going to take a while to replace them all.
-100% of the graphics are my own. (The wooden corner pilliars that you mentioned look similar to yours are because we both based them off Minish Cap's corners, and they're both corners of walls 32px tall, so they're bound to look similar.)
-If I were to estimate, you got maybe 20% of the way through what I've completed so far.
-As far as the dialogues, I definitely use a lot of informal and colloquial language, and also a bunch of specific sea creatures and plants in my writing. Since English isn't your first language, you did a great job! I hadn't thought how odd some of my words might seem (for example, an Egret is a type of bird)

One last thing, a clue for the quest about the phantom squid, if you want it. You were veeeery close and just missed something by a couple pixels in that house. I'm going to go in and take out all the books except the bookshelf after seeing you play through it.

Anyway, thanks again for playing! I look forward to seeing you play more if you do. If you have any other questions, let me know.
Title: Re: Ocean's Heart
Post by: Christopho on April 26, 2018, 11:24:19 am
20% only, that's awesome! I can actually do several episodes!

Again I am very impressed by the graphics especially when you say that that are 100% custom. There are as good or better than commercial games. So, right now, only some sound effects are still from Zelda? Great work :)
I love the ambiance of the game, the jokes. And the informal language: even if I don't understand the details, I get the feeling they want to create.

Your work deserves to be known :) As discussed before, we can distribute your assets with a Creative Commons license in the official Solarus Free Resource Pack if you agree (with full credits of course). Also I might do a French translation of the game one day when it is finished!
Title: Re: Ocean's Heart
Post by: Max on April 26, 2018, 06:33:14 pm
Yeah, I don't know if you saw, but in another topic I released some of the tiles from the game for public use. However, it's not intended to be a complete release yet, since I'm still making tiles for the game as I go. I'm planning on releasing a more complete tileset after I've finished the game, for everyone to use.

But once that's done, you'll be more than welcome to use it for a Solarus Resource pack!
Title: Re: Ocean's Heart
Post by: Christopho on May 01, 2018, 10:01:27 pm
Here is the output from my playthrough episode #3, maybe it will help you fix a few bugs:
Code: [Select]
Info: Solarus 1.5.3
Info: Opening quest '/home/christophe/jeux/oceans_heart'
Info: Sound volume: 100
Info: Music volume: 100
Info: Joypad support enabled: true
Info: 2D acceleration: yes
Info: Turbo mode: no
Info: Video mode: normal
Info: LuaJIT: yes (LuaJIT 2.0.4)
Info: Language: en
Info: Lua console: yes
Info: Simulation started
Error: Illegal direction 3 for sprite 'entities/vase' in animation 'on_ground'
Error: Illegal direction 3 for sprite 'entities/crystal' in animation 'orange_lowered'
Error: In maps/goatshead_island/interiors/brute_hq: [string "maps/goatshead_island/interiors/brute_hq.lua"]:56: attempt to index global 'barbell_boss' (a nil value)
Error: In on_started: [string "maps/goatshead_island/interiors/brute_hq.lua"]:19: attempt to call method 'close_doors' (a nil value)
Info: Fullscreen: yes
Info: Fullscreen: no
Error: Illegal direction 1 for sprite 'entities/items' in animation 'apples'
Error: Missing treasure dialog: '_treasure.apples.2'
Error: In dialog callback: [string "maps/goatshead_island/crabhook_village.lua"]:80: bad argument #1 to create_enemy (Bad field 'direction' (integer expected, got nil))
Info: Simulation finished
Title: Re: Ocean's Heart
Post by: Max on May 01, 2018, 11:23:18 pm
Thanks Christopho! That explains something I made a note of actually. This should all be easy to fix.

Most of them are just the errors for single-direction sprites that aren't facing their proper direction, which gives an error but doesn't result in any actual provlems, so I've just been ignoring them.

Thanks again for playing!
Title: Re: Ocean's Heart
Post by: Max on May 04, 2018, 09:13:45 am
Small update to the current demo! Watching Christopho's let's play, as well as my wife test-playing last night, alerted me to a small handful of bugs that I've dealt with.

I've also tweaked some of the damage and life for enemies in the second half of the demo to make them a bit tougher. I might need to go in and make a bit more armor available, but if you play, let me know what you think about the enemy difficulty!

Latest Build (google drive download) (
Title: Re: Ocean's Heart
Post by: Max on May 19, 2018, 08:58:35 pm
Just thought I'd post to say progress is going well, I'm deep into building out the next major area, half of its main quests are done, as is the mapping. This area is coming along nicely so I thought I'd do a screenshot before I rush off to work. Thanks for following!
Title: Re: Ocean's Heart
Post by: MichaelNG789 on May 20, 2018, 08:35:12 pm
This is quite a feat. Nice job!

Can't wait until the final release is out!
Title: Re: Ocean's Heart
Post by: Neovyse on May 21, 2018, 04:00:42 pm
I love your graphics !

An idea: add salmons going up the cascade, it'll be more vivid.  ;)
Title: Re: Ocean's Heart
Post by: Max on July 14, 2018, 07:46:39 pm
Still working away on this, even if I haven't posted here about it in a couple months. I didn't get a ton done in the second half of june / first half of july because I was moving and between packing, unpacking, setting everything up, etc. I've been otherwise occupied, but I'm back into development now.

I thought I'd post a couple updates here. The mini-boss of one of the later dungeons is done and I'm pretty happy with him, he's based on the 12th century engineer Al-Jazari, who is a cool dude. Here's a video on youtube of me (unskillfully) fighting him:
Fight! (

I also have been posting more frequent updates to twitter, in case anyone wants to follow me there:
Max's Twitter (

I think as far as the major stuff goes, I'm over the main hump and the end is in sight! Sometime in 2019 I bet this will be releasing.

Title: Re: Ocean's Heart
Post by: Shade Aurion on September 02, 2018, 04:06:01 am
Wow dude this looks top notch! Do you mind if I do an episode of it on my channel? Or would it be better to wait a bit for more development. I'd be happy to dedicating and episode to drumming up some notice. Either way, i'm downloading it now and can't wait to play it later this evening <3
Title: Re: Ocean's Heart
Post by: Max on September 02, 2018, 01:34:05 pm
It's up to you- I'm planning a late 2019 release, so there's still a lot to do, but Christopho has done like 3-4 hours of let's play of this game on his channel, so there's at least that much. I can put out a slightly updated version late tonight if you'd like, it wouldn't go much further content wise but since the last demo I've made a bunch of small changes to things like the sword attack,small changes in the world, replaced most sound effects, etc.
Title: Re: Ocean's Heart
Post by: Shade Aurion on September 03, 2018, 07:41:29 am
Thats okay. I might to an alpha build run in a week or two and then revisit it with your 2019 release. Squeeze it for 2 episodes. Or one intially and a full lets play upon launch.

It looks so good dude, you should be proud. After you launch you might get snatched up by a studio pretty quick. Your pixel art style feels somewhere between Stardew Valley and Kynseed and maybe Minish Cap. Either way, i'll be following thsi project closely. When you have a solid beta, you should throw it up on and gamejolt to help drum up some press too <3