Okay, so a few months ago, I posted my
first devlog for "Hooked" on this channel, in which I shared the beginning of development on
my dream game: a casual, cozy isometric fishing game inspired by titles like "A Short Hike,"
"Stardew Valley", and "Eastward". And the amount of positive feedback and support I received
from you guys on that video was really incredible, and I just want to say thank you to all of you
for joining me on this journey. I'm really excited because in this video, we'll take a look at all
the progress I've made over the last few months and how the game has completely changed since
the last video. We'll talk about the journey to reach this point, because there have been
quite a few challenges along the way, about the future plans for the game and I've also got some
really exciting announcements to make later on. Hey everyone and thanks for joining me for another
devlog for "Hooked"! It's Wednesday morning, I've just finished making myself a cup of coffee and
got down to my computer. So, in our last devlog, we kicked things off by creating a quick mockup
of the game because it was an easy way for us to get a general idea of how the game might look. And after importing those assets into Unity, we jumped right into building a simple version of the main scene, where players will be spending most of their time. But I'll be honest, the art we used
was just some basic shapes slapped together. You guys were incredibly supportive anyway and said
it looked great, which I really appreciate. But, I think it's time to take it to the next level and
make it even better. So I started off by gathering a ton of references from artists I admire and
games that inspire me, and began creating some simple stuff like terrain, grass, rocks, and so
on, but I quickly realized that the game lacked an art style. And so, creating assets that not only
looked good but also felt cohesive and matched my vision turned out to be quite challenging and
also time consuming. In fact, it took me a few weeks and multiple iterations until I finally
had something I was happy with. And the thing is that I tend to be quite self-critical, which
has its advantages because it constantly pushes me to improve, but on the flip side, it also means
that I often find myself getting stuck in a loop, trying to perfect what I'm working on. Despite all
of that, I managed to get our island looking like this and, honestly, I think it looks a lot better.
Of course, there's always room for improvement and as the game development continues, the art
will naturally change and evolve - that's to be expected. And we're actually gonna come back later
in the video, improve these assets and create even more. But now that I had some art in place, I
started thinking about gameplay. I have a whole list of features I want to implement, including
a complex fishing system, the ability to collect, store, and sell items, raise animals, grow crops,
and all that good stuff. But let's pause for a moment here because there's something missing from our scene, and that's the player character. Now, I've spent a lot of time reworking the art
and creating animations for our character but what I've realized is that before we can bring
those into the game, there are some problems we need to address. If you remember from the last devlog, we stopped when it came to adding collisions to our map, which can be tricky
because simple box colliders that would work perfectly in a top-down game just don't make sense
in "Hooked" where the art is drawn in an isometric perspective. Now, finding a solution should've
been pretty much straightforward, but since I haven't dealt with isometric perspective before,
it didn't seem that way. I was a little bit scared honestly, and my initial reaction was to avoid
colliders altogether. And that may sound strange because we still need to prevent the player from walking through buildings, trees, fences, and all that stuff. Well, here's the solution I came up with: What if, instead of using WASD to control the character, we implement a new system
where you have to select a tile on the map with your cursor in order to move around? The character
would then find the shortest path to that tile and start moving towards it using the grid from our
tilemap. Okay, but what about those tiles with props on them? Well, we would give those a "blocked" property that the path-finding script would use to determine where the character can or cannot walk and so we wouldn't need to use colliders. On paper, this sounded like a good idea [It wasn't...], so I got down to work and started implementing the system. But since
it was my first time dealing with path-finding algorithms, writing all the code took me a while.
It actually took me about two weeks just to get the basics working, and even then, there were
still things that needed improvement. For example, I mentioned earlier that our character would
take the shortest path to the selected tile. And while that makes sense most of the time, it
may not always be what we want. Here, for example, we have a path, and it would look more natural for the character to walk on it instead of going off-road through the grass, just for the sake
of a shorter (or simpler) route. So what I did was introduce a priority value for each tile. Now, if the character has to pick between a grass tile and a dirt path tile, it will choose the path because of its higher priority. And this change worked great, but I still had to spend some time fixing a ton
of bugs related to the character's movement, sorting issues, and overall behavior. Finally though, after a full month of work, the system was finally complete! No more bugs, no more issues. It was time to test it in the game. Well, it didn't work out the way I hoped. The
movement system felt completely out of place, and I didn't know why. You see, while moving
around isn't the main focus of a video game, if that's all you could do in a game -
just walk around and explore - it needs to be somewhat enjoyable or at least not
annoying. Because when testing the game, while my character was moving to the selected
tile, I found myself clicking on multiple tiles along the way just to interact with the
game more because I was getting bored. So what I did is that I started looking at other
games that use a similar movement system and asked myself what the issue was. And something I noticed
is that all those games had one thing in common: they involved some form of strategy. And that's
when it hit me - the reason I think it works in those games and not here is because, in strategy
games, while your character or units move to the selected position, you actively think about your
strategy, plan your next move, and think about how to beat the level. But in my game... there are no
levels. And while it's true that every player will come up with a general strategy for earning more,
improving relationships with other characters, building their place, or simply deciding how to
spend their day, those are not things that need constant attention. So, from the moment you click
on a tile to the moment your character gets there, you're left staring at the screen, waiting. But
the last thing you want in a video game is to take away the player's input and have them just
watch the screen without participating in any way. And now that I think about it, it all makes
sense. Though, before implementing the system, those things were not that obvious to me. But now I was faced with a big decision: either keep the existing setup, accept it as it is, and move on to the next task, or throw a month's worth of work out the window and spend more time implementing a
WASD movement system and dealing with collisions and sorting order problems that come with it. And it wasn't an easy decision at all because I spent so much time on the system, but, in the
end, I realized that holding onto something that didn't fit the game would only harm the project
in the long run. And even though it can be hard, sometimes it's better to just let go of the work you've done rather than damaging what you're working on. So, I made the call to start over. And here I was, once again, back to square one. This time, however, I felt more confident because
I had a clearer understanding of what my game needed and that you can't just borrow mechanics
from other games without thinking about whether they would fit your own or not. So, I started by
bringing back the script that allows us to move the character in eight directions using the
WASD keys and after that, I spent some time polishing the animations I mentioned earlier
and imported them into the game. And honestly, I think this new character looks a lot better
than what we had before – it's definitely cuter. Still a little bit rough around the edges, but as my pixel art skills improve, we'll definitely come back and make adjustments. Now, it's important to keep in mind that once we implement a character creation system, players
will be able to customize their character's appearance, from hair, skin color, clothing, and
so on. I think that would be a great way to let the players express themselves. And speaking of
expression, while working on the character design, I also began experimenting with facial
expressions, which I thought could be incredibly useful in the future for cutscenes and
various interactions throughout the game. But, I was a little bit unsure whether the character's
face should have a mouth or not, so I reached out for feedback. And after reading what you guys
had to say, which was a lot of great feedback, I ended up choosing to keep things more clean
and clear by not including one, even though we can still use them in certain cases where it makes
sense, in order to better sell an emotion. Now, going back to the player's character for a second,
if you don't want to create a custom one, you'll have the option to play as Mandy, the game's
main character. Here's a cute chibi version of Mandy but we're gonna come back to her in a bit
and show you some digital art I've created that should give an even better idea of the character
design which, of course, was used to create these chibi emotes for our Discord server and will
also be the basis for her in-game pixel art. But now that I finally had the character in the
game, I began working on implementing collisions, and to my surprise, it wasn't as difficult as
I had initially thought. What I needed to do was use polygon colliders, which allowed me to
create custom-shaped colliders for each sprite, regardless of its shape. But when it comes
to sorting objects in isometric games, things are not as straightforward as in games that use a
top-down perspective, and here's why. In 2D games, we usually sort sprites based on a pivot point,
most of the time located at their base where the object would touch the ground. For instance, if
my character's pivot point is positioned above the pivot point of this rock, the game renders my
character behind it. But if the position is lower, then the character appears in front. And that's a
great way to sort 2D sprites, but unfortunately, it doesn't work quite as well in an isometric
perspective. And that's because on larger sprites we can't really define where our object would
touch the ground using a single point, and there's no such thing as having multiple pivot points.
Now, one possible solution to this problem would be to split all the large sprites into smaller
pieces, each with its own pivot point. But that approach would be not only inefficient but
also very inconvenient when designing the map or building once the building system is implemented.
Just imagine having to place 20 individual sprites on the map for a single house instead of one,
it's just not practical. And because Unity doesn't offer a built-in solution for handling 2D
isometric sorting, I began doing some research and here's how I ultimately solved it: With the help
of a script, each object in the game is now sorted based on either a point or a line defined by two
points. And the line acts just like a pivot point, but instead of comparing the character's position
relative to a point, we compare it relative to a line. And that works incredibly well and
actually solves all of our sorting problems. Now, one of the things I really wanted for this
game to have was a way to track the time within the game, allowing us to have days, months and
years pass. And having a way to tell the time would not only make the player feel more
immersed in the game's world, but it would also allow us later on to create routines for
NPCs, make businesses automatically open and close at specific times, and so much more. Now,
implementing this was pretty straightforward: as long as the game is not paused, we count the
seconds that pass and increment the minutes, hours, days, and so on. However, I didn't want a
day to last 24 hours like in real life, so I made a few adjustments to the code, where each in-game
minute now lasts 0.7 seconds instead of 60. This effectively shortens an in-game day to about
sixty and a half minutes, which I think works a lot better. But we definitely don't want players
feeling like they're constantly racing against the clock. And when a minute goes by in less than a
second, seeing the time in the UI updating becomes super stressful. Suddenly, instead of enjoying
a peaceful morning at the lake, players would be constantly reminded by the UI that time
is passing and they need to move on to other tasks. To fix this I changed the code so that
now, the UI only updates every 5 in-game minutes, making it look a lot better and less overwhelming.
And I wrote the code in such a way that it can be easily updated, so if we decide later on
that the days should be longer or shorter, we can definitely make that change. And even
though the UI isn't our main priority right now, I went ahead and added a calendar in the top
right corner which shows the current day, with each month having 28 days,
and each season lasting one month. Now, having the time change is great, but there
isn't something in the game that actually shows the fact that time passes, except for
the UI. And so I started implementing a day-night cycle by creating a script that
changes the lighting in the scene based on the in-game time. And I did that by dividing a day
into four parts: morning, afternoon, evening, and night, assigned a different light color to
each and created transitions between them. The best part is that this system is customizable
and it allows us to easily adjust the color and timing of each phase. For instance, we can
make the sun rise quickly from 5 AM to 6 AM, and set more slowly from 8 PM to 10 PM. And this
will be especially useful in the future when we need to fine-tune the day-night cycles based
on the season, when we add those into the game. But as you can see, the nights in the game are
pretty dark, and I intentionally made them that way, because along with the strange sounds players
will hear, it's a good way to communicate that staying outside at night can be dangerous, and
they'd better go home and get some sleep. However, I didn't want to exaggerate with that, and so I've
created some light poles that will not only light up the area around your house, but will also
be found on the streets, in the town, and other places where characters live. Now, while working
on these lamps, I was really undecided about which type of lighting to choose between these two,
so I asked you guys for feedback on Twitter, our Discord server, and Reddit as well, and the amount
of feedback I received was just insane. Everyone had a preference, but overall many suggested that
version A would fit better for a cozy and relaxing game like "Hooked", while the one on the right
would be more suitable for a creepy and horror game. And these are things that sometimes I
can't see myself, so I'm really grateful for the feedback - I completely agree with that idea,
so I ended up using the first type of lighting. And having day-night cycles in the game really
started to make it feel more dynamic, but at the same time, kind of emphasized how empty the world
is. Now, I do plan on adding NPCs later on (and I have some exciting news about that a bit later),
but in the meantime, I thought it would be a great idea to add some animals around to make the world
feel more alive. To begin with, I wanted to create some birds, as they seemed like a good starting
point. So, as always, I started by working on the art. At first, I went for a more realistic look,
though to be honest, it didn't look that great because it didn't capture the cute and fluffy
aesthetic I had in mind. But, after some trial and error, I managed to give it a more stylized
look that I really love. The rounded body, while not completely realistic, I think it makes
the bird look really cute. And I believe this is something that will carry over to other animals
as well as part of the game's art style. Now, because everyone needs a friend, I also made a few
variations of this bird, which will give us some variety when placed in the scene. As for their
behavior, I first created a spawner that spawns a bird every few seconds and once one spawns, it
calculates a target position on the map and starts flying towards it. I made sure that they avoid
colliders when finding a spot to fly to since we don't want them to fly inside of one. Now, when a
bird reaches its destination, it either stays idle or starts eating for a few seconds before flying
away. And once it's outside the map, it despawns. But you may have already noticed the red
circle around each bird and they have a purpose: if, while a bird is on the ground, the player gets
too close and enters the circle around it, the bird will get scared fly away. This way, you can
watch them, but you'll have to be careful and keep some distance to avoid scaring them. Later on, we
could add more complex behavior, such as having them walk around or get closer to other birds
that might be nearby, and so on. But for now, I think they are really cute and they do their job
of bringing the game to life a little bit. And the reason I say "a little bit" is because the only
problem we have here is that these birds are not always around. You might see one here and another
there, but they don't spend too much time around before flying away. So, it was the perfect time to
add a new animal: chickens. I first went outside, took some photos as references, and then
started working on the pixel art. And these chubby chickens are what I ended up with - they
are really cute, especially when you put a lot of them together. What's even cuter though is when
they start following you. Because, yes, in the final version of the game you'll be able to have
one as a pet that will follow you around. Sure, there will also be options for a dog or a cat, but
having a chicken as a pet is pretty cool. However, the other ones, those which are not your pet, will
simply wander around and eat and... they also have a circle around them, which by the way is not
visible when playing the game, but they won't get scared and run away from you like the birds do.
Instead, these circles show the area in which each chicken is allowed to move. And it's customizable,
so if we decide to build an enclosure, we can easily limit the area in which they can
move by adjusting the radius of the circle. Now, all those things we've added so far are
great, and they really make the game come to life. However, it's becoming clear that our old
and small island won't be able to fit everything. There's barely enough space to move around and
I believe the idea of having floating islands in the sky itself is kinda bad. The reason is that
there is a lot of unused empty space around, and so I've made the decision to shift from
that to plain terrain, which gives us a lot of advantages in terms of map design. Of course, I've
also added collisions to prevent the player from going outside the map and in the future, we might
even add some mountains or something like that, so that the map boundaries are not just some
invisible walls but part of the environment. Now, since this part of the map is where players
will spend most of their time growing crops, raising animals, fishing, building, and
so on, my main focus was to make sure that there's enough space for all of that
and that the place looks nice. So next, I began designing the map using both the assets
we created earlier and some new ones as well. And after placing everything in the scene,
I brought back the bird spawner and added some chickens around. Now, it's important to
note that these chickens won't remain here forever. Because even though you'll see them and
other animals on the farms of other characters, if you decide to raise animals to get eggs, milk,
and so on, you'll have to purchase your own. But now, let's take a look at the map. Up
here at the top, we have the player's house, and this entire area surrounded by the fence is
basically your farm. Now, as you can see, it's not in great shape. In fact, the fence is all broken,
some parts are missing, the grass is overgrown, and this "FOR SALE" sign makes it clear that
nobody has been here for a while. And this ties into the game's story, which we won't get into
right now, but at the beginning of the game, this cozy place in the middle of the forest is the
one players will buy to start their journey. As we look around the farm, we can see some dirt roads
and one of them will lead to the town, while the other will take you to the mines in the mountains.
And those areas will be created in separate scenes later on. If we look up, we can also see a small
lake, but the main one is down here. This is where you'll do most of your fishing, at least until
you gather enough resources to build your own boat and venture out to sea. And to add some
visual interest, I've added some water lilies in the lake, some water animations, and placed
a light pole near the pier to create those cozy vibes during nighttime. Around the lake, there are
loads of trees, tree trunks, mushrooms, rocks and so on — resources that you'll be able to collect
and use to craft different items. Moving down from here, we can find another path that will lead to
the beach, and on the left side, we have some old rail tracks. Now, I still need to figure out where
to place the train station, probably not on this part of the map, but once it's set up, players
will be able to use it to send the fish they catch out of town and sell it in the big cities. It'll
bring you more money than just selling locally, but that's something you'll get to do later on in
the game as your fishing business grows. You'll also be able to produce and sell all sorts of
canned fish, which is part of the entire fishing system I'm really excited about it, and we'll get
into the details really soon. Okay, at this point, the scene is already looking pretty nice, but
since in this devlog I decided to focus more on visuals, environment, and the overall world of the
game, I wanted to create some effects to add more depth to it. And I began by creating some clouds
using Unity's particle system that spawn at the edge of the map, move diagonally across it, and
disappear when they get too far away. I also added some flying leaves in the scene, swaying and being
pushed around by the wind, and these effects are nothing crazy, but they help a lot at creating a
nice atmosphere. From here I could've gone crazy with all kinds of effects like fireflies at
night and dust particles when you walk around, but those felt more like polishing touches,
and I didn't want to get too much into that just yet. However, I did want to create one last
effect to give a glimpse of the weather system we'll implement later on: a rain effect. And
it took some time to get it to look just right, but I'm really happy with the end result.
The raindrops look great, and there are also animated splashes when a drop hits the ground,
which helps create that sense of a 3D world. Now, having a cute art style, a good
color palette, and nice visual effects are great ways to make the game feel cozy and
inviting, which is what I'm aiming for. However, something is missing, and that is music and
sound effects. Because no matter how fun or good-looking a game is, it's the audio that
really takes it to the next level. The problem is... I don't know how to make music. There is
some good news because after the last devlog, someone who is actually part of this community
offered to help with that! We've been talking a lot lately, trying to figure things out,
and hopefully, in one of the next devlogs, we'll start seeing some actual progress with
that. I'm really excited about this because adding those will
be a huge step in bringing our cozy game to life. But if we have to wait a little bit for
music and sound effects, there is something for which we don't and that is the official
Steam page of the game! This is so exciting to me because I've never gone through the process of making one before. So, being my first time, it was a little bit complicated, and getting the
artwork and everything ready took a while, but I'm incredibly happy to finally have it out now.
What that means is that if you like the concept of the game and would like to play "Hooked" once
it comes out, wishlisting it on Steam is honestly one of the best ways to support and motivate me
to keep going. The first link in the description takes you straight to that page, where you can add
it to your wishlist and also read more about it. Now, this game is a passion project, something
very special to me. So I'm doing my best to make sure that it's coming along nicely and that you
guys like it. That's why sometimes I get stuck on perfecting the smallest things because I'm
trying to get the best out of me. The game has come a long way since the last devlog, though,
when all we had was basically a mockup. There's been a lot of trial and error, especially with
the art, but I'm really happy with how it looks now and excited for what's coming up in the next
devlogs. There's more progress that has been made than what I've shown in this video - and here's a
small sneak peek of that - I just didn't want this video to get too long, so I've decided to save
the rest for the next one, which will come out really soon. Now, working on the game comes with
challenges because I'm doing everything on my own, from taking care of the art, coding, game
design, writing, YouTube, and so on. I love it, but it takes a ton of time to get everything done.
And that's one of the reasons why it took me so long to release this devlog because, ideally, I
would like to publish at least one every month. It can be frustrating at times because I have so
many ideas that I want to implement and work on, from gameplay systems, story, visuals, audio,
and because I really love this game, I would like to be able to have enough time to work on
those and make sure that the game is going in the right direction. But I can't do that alone. So for those of you who are excited about "Hooked" and would like to support the game, I've just launched a Patreon page! Supporting me in that way would mean the world to me. It would allow me to dedicate more time to develop "Hooked" and turn what we have now into a fully complete game that
we can play and enjoy. Because, at the end of the day, that's the goal. Now, for those of you who
decide to join the Patreon, I've included a bunch of benefits like early access to videos, exclusive
access to scripts and art assets, special roles on our Discord server, private chat rooms, access
to polls where you get to vote on gameplay ideas, art, music, and on top of that, early access
to beta versions of "Hooked" as soon as I start releasing them, which will be very soon. So
you'll be able to play and enjoy the game, while providing feedback and helping its development.
I've also added some higher tiers that I don't expect anyone to choose, but if you do, you'll
be able to actually work with me to create and name custom fish species that will be added to the
game or even work on a custom NPC character, from character design, name, personality, along with,
of course, having your name in the credits. Now, the number of people who can join these higher
tiers is limited, so just know - they won't be available forever. And if you decide to join the Patreon I just want you to know that you have my deepest gratitude. By doing so, you'll be helping me bring "Hooked" to life and create the best content I can for everyone. Thank you very much.
But if joining Patreon isn't something you can do, that's totally fine. Just giving this
video a like, subscribing to the channel, or wishlisting the game, those are also great ways
to support me and my work. You guys have been very supportive here on YouTube, Discord, Twitter, and Reddit as well, always providing me with valuable feedback and motivating me to move forward. For
that, I can only say thank you. I would love to hear your thoughts on all the progress we've made
so far. If you have any feedback or ideas, please let me know in the comments bellow because I
answer to each and every one of you. And... don't forget to wishlist the game! Thank you guys for
your time, I appreciate your stay, and much love!