Game Mechanics Fishing?

Hi there!

So I'm quite new to GMS2 and GML, although I've read and complete many tutorials and whatnot to expand my knowledge and I'd say I have come quite far in the past few weeks - I can do a majority of coding without having to refer to tutorials (aside from the manual). DS Lists however are a pain still.

If you couldn't tell by my picture, I enjoy fishing.

I'd like to be able to create a 2D fishing simulator / RPG - but I have no idea where to start for the fishing aspect of the game. I've tried looking for guides or tutorials but there doesn't seem to be any for fishing.

How, or where, would I start in developing a fishing system? (Not the RPG system or anything else, only the fishing aspect of the game).

I know it's quite a vague question but as I don't know where to start on developing one, I don't have a specific question on it.

Thanks for reading and thank you in advance for any helpful replies!
 
Perhaps a link to a video of a fishing mechanic your thinking of.
Sorry I should have mentioned - I guess something along the lines of Stardew Valley - where you are able to upgrade your fishing rod etc (not too bothered about the fish fighting mechanic as I'd like to implement my own).
 

woods

Member
first thing on the list is to set up the basic flow of what you want to happen.
(very,very rough psudo-code)

there is going to be many many stages of development to make this happen tho


i would imaging the basic flow would go something along these lines..
==
move player around the map
detect when near enough to water
equip fishing rod
button press to cast line
set timer for fish to bite
check press to set the hook
button press to reel in line
search loot table for random loot
add loot to inventory
==
 
first thing on the list is to set up the basic flow of what you want to happen.
(very,very rough psudo-code)

there is going to be many many stages of development to make this happen tho


i would imaging the basic flow would go something along these lines..
==
move player around the map
detect when near enough to water
equip fishing rod
button press to cast line
set timer for fish to bite
check press to set the hook
button press to reel in line
search loot table for random loot
add loot to inventory
==
Thank you for the help! That honestly helps quite a lot and I can't believe I didn't think of setting up a list like that - it makes it much easier to actually plan to code it all.

From that I feel like I'd actually be able to code a basic / framework fishing system!

Thank you very much again - I know it may have been a simple answer for you, but for some reason that really helped.
 

woods

Member
here is a KISS for you.. Keep It Simple Stupid
i learned that one a long time ago. (united states marine corps boot camp)
simple is effective
everything is easier if you can break it down into its simplest form and then analyze it from there.

yeah the first bit, the rough psudo-code is the simple part... now to implement all these things so that works.... may be a different story ;o)

good luck brother.. hope your game goes well.
looking forward to seeing something come out of this.
 
here is a KISS for you.. Keep It Simple Stupid
i learned that one a long time ago. (united states marine corps boot camp)
simple is effective
everything is easier if you can break it down into its simplest form and then analyze it from there.

yeah the first bit, the rough psudo-code is the simple part... now to implement all these things so that works.... may be a different story ;o)

good luck brother.. hope your game goes well.
looking forward to seeing something come out of this.
Haha yeah thank you!

I'll let you know how it gets on and hopefully I'll get something basic up in the next few days!
 
Just adding my personal experience in Game Making from scratch. I usually start with basics like everyone. In a fishing game example like yours, in 2D here are a few things I'd tell myself:

1. Will it be a top-down game or platformer style (sideways)
2. First thing off, a basic land, water and character design with 3 basic objects, land, water and character (black, blue and green squares).
3. Get that character to move and possible jump if necessary.
4. Add 1 single fish. Place one on land and another one in water and make it detect water and land. If on land, don't move, if in water, move left and right (up and down) depending on #1's answer
5. If fish meets land while in water, turn arround.
6. If character meets water, can it fall in water or stops there? (no boat, we're not there yet)
7. Make character detect fish or opposite, fish detect character so it can flee.
8. If top-down, set a variable that will define the fish's depth. In sideways, Y value will be the depth. Again, sideways, use another value for how far the fish is and draw it smaller if it's far (if you want that type of mechanism).
9. Make the fish roam freely now that all is setup and check if you can program the fish swimming and see it in action
10. Seeing that you are a fisherman, you will probably want a boat now that the water has some life. Make another object for boat
11. Make the character detect the boat
12. Make the character be able to go in the boat then steer it
...
Further down you will add extra fish with different variables for type/size/rarety/location and randomize their positions in map or levels. Add fishing hooks in the water and let the fish have x number of chances to bite the hook depending on the bait on it. Add control over your fishing line to pull the fish out if it bites and x% chance of loosing the fish (fish having x% chance to be freed from hook depending on size and possible personality (fierce, lazy, etc...)) if not pulled in time.

I think after those 12 steps dealt with, you will have your very own mechanism already shaped and taking form to contimue easily forward. The hardest and longest part of creating games is to start the engine, building it from ground up. When you have nothing else but a blank room and code window, things get boring at the beginning, but once you see your level start to live, the coding becomes more interesting and designing becomes fun the further you go.

I don't know if this helps, but, I once was a noob and even at times, I have noob questions, I think everyone deserves a respectfull answer, thank to the responsive GM community.
 
Just adding my personal experience in Game Making from scratch. I usually start with basics like everyone. In a fishing game example like yours, in 2D here are a few things I'd tell myself:

1. Will it be a top-down game or platformer style (sideways)
2. First thing off, a basic land, water and character design with 3 basic objects, land, water and character (black, blue and green squares).
3. Get that character to move and possible jump if necessary.
4. Add 1 single fish. Place one on land and another one in water and make it detect water and land. If on land, don't move, if in water, move left and right (up and down) depending on #1's answer
5. If fish meets land while in water, turn arround.
6. If character meets water, can it fall in water or stops there? (no boat, we're not there yet)
7. Make character detect fish or opposite, fish detect character so it can flee.
8. If top-down, set a variable that will define the fish's depth. In sideways, Y value will be the depth. Again, sideways, use another value for how far the fish is and draw it smaller if it's far (if you want that type of mechanism).
9. Make the fish roam freely now that all is setup and check if you can program the fish swimming and see it in action
10. Seeing that you are a fisherman, you will probably want a boat now that the water has some life. Make another object for boat
11. Make the character detect the boat
12. Make the character be able to go in the boat then steer it
...
Further down you will add extra fish with different variables for type/size/rarety/location and randomize their positions in map or levels. Add fishing hooks in the water and let the fish have x number of chances to bite the hook depending on the bait on it. Add control over your fishing line to pull the fish out if it bites and x% chance of loosing the fish (fish having x% chance to be freed from hook depending on size and possible personality (fierce, lazy, etc...)) if not pulled in time.

I think after those 12 steps dealt with, you will have your very own mechanism already shaped and taking form to contimue easily forward. The hardest and longest part of creating games is to start the engine, building it from ground up. When you have nothing else but a blank room and code window, things get boring at the beginning, but once you see your level start to live, the coding becomes more interesting and designing becomes fun the further you go.

I don't know if this helps, but, I once was a noob and even at times, I have noob questions, I think everyone deserves a respectfull answer, thank to the responsive GM community.
Wow! Thank you so much for your help and advice. I cannot believe how much help both yourself and woods have provided me.

Thank you for being so understanding of my knowledge and explaining it in a way which is easy to understand! I really appreciate the time you have taken out of your day to help me try and understand GMS2 a bit (A LOT) more!

Once I hopefully get something up and running, using both yours and woods' help and advice, I'll be sure to let you both have a copy indefinitely (regardless of if it flops or becomes the game of the year (HAHA)).

Thank you guys so much again and I'm going to try and implement all of this whilst my brain isn't fried!
 
H

HalcyonFlux

Guest
I would imagine there's two ways you can go about it: random number generator a la. Harvest Moon: A Wonderful Life, or instance-based a la. Animal Crossing. Do you want the player to see the fish swimming around in the water?

I suppose you would have to start with basic movements: walking, equipping the rod, etc. Then you would have to cast it and move the bobber around.

When you get a bite, there would have to be some sort of feedback: maybe the controller will vibrate, or a message will appear on screen. Then you have to press a button. Or maybe you have to move the analog stick a certain way.

After you catch the fish, you should be able to put it in your inventory and see it. Or you can sell it or let it go.

There's so many possibilities.
 
Just a small comment to encourage you and keep it up :)
Thank you very much! It's weird how a small comment / like from you and woods provides such a great boost of motivation!

A little update:

I've got the power bar working with the casting now! I just need to organise it on screen a little better and then actually put in some sprites instead of my square placeholders.

Then as I mentioned before, adding fish is the next step.

From that I will be adding the catch / release mechanism (no selling for money, only XP if sold / released) along with setting up some globals for the xp, level and some little achievement stats (such as total fish caught, biggest fish caught etc).

Thanks for sticking around guys and I do apologise for the little 2 week period of silence, I had a few other things going on so I put any development on hold, but I spent a good 6-7 hours yesterday getting back into it :)
 

woods

Member
i am very used to working with squares and circles .. usually all the way up until its time to share ;o)
(i finally caught a triangle fish!) ... is perfectly fine and is as exciting as landing a striper...
this is exactly HOW things get developed.

looking forward for that sneakpeak!
 
Thank you very much! It's weird how a small comment / like from you and woods provides such a great boost of motivation!

A little update:

I've got the power bar working with the casting now! I just need to organise it on screen a little better and then actually put in some sprites instead of my square placeholders.

Then as I mentioned before, adding fish is the next step.

From that I will be adding the catch / release mechanism (no selling for money, only XP if sold / released) along with setting up some globals for the xp, level and some little achievement stats (such as total fish caught, biggest fish caught etc).

Thanks for sticking around guys and I do apologise for the little 2 week period of silence, I had a few other things going on so I put any development on hold, but I spent a good 6-7 hours yesterday getting back into it :)
You know, I myself am not fan of fishing games. But what I DO love is people putting effort into creating their own games and engine and you pricked my curiosity into your game now :). That's nice. And no game is worthless. There's a niche for every type of game and no one has the right to put down a game just because they don't like a game.

NOW for your casting meter/powerbar. I've learned in the game industry that the KISS method (Keep It Simple Stupid) is super beautiful and as elegant as fancy stuff. In GMS you can draw very nice energy/life bars without using a single sprite. Drawing shapes and lines can make a very good power gauge with simple hacks like drawing 2 rounded rectangles next to each other. One for the max power and the other one on the side showing your actual power. You can make the bar overlap to give it a style. You can do a lot with simple shapes and lines.

I laughed while typing this because I was imagining the player casting too hard which made him throw his fishing rod in the water. :D

As for your sinlence, you do not owe anything to anyone here. You are free, this is not Kickstarter where you have people paying for your developement and waiting news. BUT, it's very nice to see your human nature and not just use up people's kindness without caring about them. so Your welcome!

Achievements: Those are nice. A lot of achievements is a good thing. Simple things like: First type of a fish out of a total of how many types you have, Place visited/discovered, First use of a boat, Boat upgrade from rams to motor. We under-estimate the fun of achieving simple goals. One game that I loved was Bejeweled 3. The achievements/trophies were easy to get but fun to MASTER. You can easily get bronze and silver trophies but gold and platinum trophies were challenging to get. So one achievement could have several levels, I like that kind of idea because you can always go back to your trophy room and easily see what you can try to achieve. Other simple goals like Catch a certain type of fish in a certain area makes it easy for the players to try and discover a said area and try to catch a type of fish and can unblock or advance 2 additional achievements in 1, once they get there adding 1 to the types of fish they caught, adding 1 to the area discovered and then achieving thius simple achievement of fish type caught in area. So 3 achievements in one.

I'm just shelling out a few ideas here because you seem very enthousiastic in creating your game and it's fun to have contact with others during our programming. It feels good.

Congrats for your now-working powerbar :)

Keep it up!
 
You know, I myself am not fan of fishing games. But what I DO love is people putting effort into creating their own games and engine and you pricked my curiosity into your game now :). That's nice. And no game is worthless. There's a niche for every type of game and no one has the right to put down a game just because they don't like a game.

NOW for your casting meter/powerbar. I've learned in the game industry that the KISS method (Keep It Simple Stupid) is super beautiful and as elegant as fancy stuff. In GMS you can draw very nice energy/life bars without using a single sprite. Drawing shapes and lines can make a very good power gauge with simple hacks like drawing 2 rounded rectangles next to each other. One for the max power and the other one on the side showing your actual power. You can make the bar overlap to give it a style. You can do a lot with simple shapes and lines.

I laughed while typing this because I was imagining the player casting too hard which made him throw his fishing rod in the water. :D

As for your sinlence, you do not owe anything to anyone here. You are free, this is not Kickstarter where you have people paying for your developement and waiting news. BUT, it's very nice to see your human nature and not just use up people's kindness without caring about them. so Your welcome!

Achievements: Those are nice. A lot of achievements is a good thing. Simple things like: First type of a fish out of a total of how many types you have, Place visited/discovered, First use of a boat, Boat upgrade from rams to motor. We under-estimate the fun of achieving simple goals. One game that I loved was Bejeweled 3. The achievements/trophies were easy to get but fun to MASTER. You can easily get bronze and silver trophies but gold and platinum trophies were challenging to get. So one achievement could have several levels, I like that kind of idea because you can always go back to your trophy room and easily see what you can try to achieve. Other simple goals like Catch a certain type of fish in a certain area makes it easy for the players to try and discover a said area and try to catch a type of fish and can unblock or advance 2 additional achievements in 1, once they get there adding 1 to the types of fish they caught, adding 1 to the area discovered and then achieving thius simple achievement of fish type caught in area. So 3 achievements in one.

I'm just shelling out a few ideas here because you seem very enthousiastic in creating your game and it's fun to have contact with others during our programming. It feels good.

Congrats for your now-working powerbar :)

Keep it up!
You made me laugh with the "throwing his fishing rod into the water" :D

I thank you very much for your ideas and I always welcome them - I particularly like the achievement progression (I didn't even think of that) and I think that is an awesome idea! Such as catching 100 carp = bronze, 500, = silver, 1,000 gold, 10,000 (good luck getting that one haha) = platinum.

I understand it not being a Kickstarter, but as you mentioned, you guys helped me out a lot and I felt bad that I had abandoned this for a while!

I thank you and everyone else who has provided such great support, enthusiasm, ideas and a whole lot more to this! It really helps me stay motivated and on task.

A little update:

It's still currently all squares and circles - but I have now implemented probabilities / odds into the game along with one placeholder carp.
Currently, there is no "fight" with the fish, but a random timer before the alarm is set to have a bite - this is completely randomised (but only on a few seconds during testing).

As mentioned I added probability and odds - this is a little example of the fish weight and below their rarity. I will now be able to further advance this by adding bait and increases the chances if the fish' favourite bait is used.

Here's the little snippet of code:

GML:
var chance = random(100);
    if chance >= 0 && chance <= 40
    {
        weight += random_range(1,15);
    }
   
    and the rarity
   
    if weight>=46 && weight<=60
    {
        rarity = "specimen";
    }
**I know this code isn't in order, I took a snippet of each bit of the code separately**

I won't provide any screenshots as there is nothing nice to look at, unless you're a fan of shapes and enjoy the colours blue, green and yellow!

Along with this, I have began to implement an XP system which is set at a base of say 10xp for catching a carp, but then is multiplied depending on the rarity of the fish.

I hope you guys don't mind me posting little updates here, it not only lets you all know what's going on, but helps me keep track of things too!
 

woods

Member
we like lil updates ;o) ....and hey, if it keeps you motivated AND organized.... BONUS!

and actually interested in how you are doing loot tables and such...
(i got a couple mini projects on backburner that i might be able to learn from ya)
 
we like lil updates ;o) ....and hey, if it keeps you motivated AND organized.... BONUS!

and actually interested in how you are doing loot tables and such...
(i got a couple mini projects on backburner that i might be able to learn from ya)
Good!

Currently I'm not using anything fancy such as DSLists and maps, I haven't really learned how to use them properly yet anyway.

All I'm doing is creating the vars and referring to them and saving the information. That is quite literally it - aside from the randomising and probability.
 
Update:

Currently adding in different species of fish which is going well - basically copy and paste madness.

I also implement a better odds system for which fish you may catch. Rarer / harder to find fish will appear a lot less often.

Still to implement any sprites or images, but these squares are going well!
 
Also - the fish are not visible and will not be visible when fishing, I'll put in a screenshot of the current stage of development (please remember all of the development is currently in the backend in the coding and mechanics of the game, there aren't any and yet to have any graphical development)

forgot to put in the screenshot..

fishinggame 29th of aug.png
 
Another update:

After accidentally deleting the most important file in this project, having a meltdown and thinking of uninstalling GMS2..

I've re-done it within about 15 minutes and it's a lot more suitable and a lot less clunky.

Lucky for you, the game is still in the making :D
 
I was reading about your fish types and all that copy pasting for numourous fish. I recently was coding in JavaScript a Color Code script for Assembler (FASM). I'm actually auto-learning FASM myself right now. And I redid a whole function because I did not like it. So I scratched out over 250 lines of code so I could make my life easier. It was a pain to add words and other possible color coded texts. Now, I am very happy and it's super easy to add.

In your case, you don't really need many different fish objects. And as I read, the DS Maps seam like a very good idea to store the different species of fish.
I fell on this VERY VERY neat titorial on DS Maps, a 59 seconds video which teaches you how to create maps.
DS Map quick tutorial

And I came upon this link too for encapsulating a map in a map:
Assign ds map to a map

I was a very big worker of arrays in GMS 1.4 with my Tile Based Platform Engine. Wow did I learn from that engine. A DS maps permits you to use string instead of numbers to locate easily a value. In your case, you can set a variable for your fish.

var fish_type = "carp";

Now all you need to do is use the ds function to point directly to that key inside the DS Map and from that map, you create yourself another map with the following keys:
• "speed-max"
• "speed-min"
• "active-time-start"
• "active-time-end"
• "water-depth-min"
• "water-depth-max"
• "prefered-lure"
• "other-lures"
• "sprite-index"
• "pull-force"
• "living-regions"
• "price-value"
• "xp-obtained-when-caught"
• etc...

So depending on your fish_type, your object would automatically use that type's sprite and all other values associated with it. It's easy and requires a lot less handling. And when you want to add another fish, all you have to do is add it to your DS list and that's it. This also permits you to populate objects easily with a controller and let the fish object decide on which fish to use depending on it's location and depth.

I did not play with DS Maps yet, but it sure looks super effective for your type of game and easy to code because you are not constantly looping in an array to search for values. All your information is handy inside one script and working with strings make things way easier and makes your debugging easy too.

I'm sorry for what you deleted. I'm happy that you did not abandon. Continue your hard work and thank you for the updates :)
 
I was reading about your fish types and all that copy pasting for numourous fish. I recently was coding in JavaScript a Color Code script for Assembler (FASM). I'm actually auto-learning FASM myself right now. And I redid a whole function because I did not like it. So I scratched out over 250 lines of code so I could make my life easier. It was a pain to add words and other possible color coded texts. Now, I am very happy and it's super easy to add.

In your case, you don't really need many different fish objects. And as I read, the DS Maps seam like a very good idea to store the different species of fish.
I fell on this VERY VERY neat titorial on DS Maps, a 59 seconds video which teaches you how to create maps.
DS Map quick tutorial

And I came upon this link too for encapsulating a map in a map:
Assign ds map to a map

I was a very big worker of arrays in GMS 1.4 with my Tile Based Platform Engine. Wow did I learn from that engine. A DS maps permits you to use string instead of numbers to locate easily a value. In your case, you can set a variable for your fish.

var fish_type = "carp";

Now all you need to do is use the ds function to point directly to that key inside the DS Map and from that map, you create yourself another map with the following keys:
• "speed-max"
• "speed-min"
• "active-time-start"
• "active-time-end"
• "water-depth-min"
• "water-depth-max"
• "prefered-lure"
• "other-lures"
• "sprite-index"
• "pull-force"
• "living-regions"
• "price-value"
• "xp-obtained-when-caught"
• etc...

So depending on your fish_type, your object would automatically use that type's sprite and all other values associated with it. It's easy and requires a lot less handling. And when you want to add another fish, all you have to do is add it to your DS list and that's it. This also permits you to populate objects easily with a controller and let the fish object decide on which fish to use depending on it's location and depth.

I did not play with DS Maps yet, but it sure looks super effective for your type of game and easy to code because you are not constantly looping in an array to search for values. All your information is handy inside one script and working with strings make things way easier and makes your debugging easy too.

I'm sorry for what you deleted. I'm happy that you did not abandon. Continue your hard work and thank you for the updates :)
If....when this game is finished, you and woods are definitely going in the credits! Just as a thank you (although I'm not sure how important that is to you guys). :)

I'll take a look at those links you provided and see if I can sort it out - what I managed to do was still a copy and paste, but a lot less copy and paste if that makes sense? I'll switch to the DS list and maps upon your recommendation as it seems A LOT easier!

Thank you very much once again, I cannot put into words how thankful I am for your help and time, I really appreciate it!
 
Took the time out of my day to watch that 60s tutorial haha :D

That explains it in such detail yet within such a small amount of time. I assume then, I would do as follows:

Code:
var fishValues = ds_map_create();
var fishType = ds_map_create();

//fish values
fishValues[? "Example"] = global.example;

//fish type
fishType[? "Common Carp"] = obj_ccarp;

ds_map_add_map(fishValues, "fishValues", fishType);
I have no idea if that is correct but I think that's what I learned from those two links :)
 
Took the time out of my day to watch that 60s tutorial haha :D

That explains it in such detail yet within such a small amount of time. I assume then, I would do as follows:

Code:
var fishValues = ds_map_create();
var fishType = ds_map_create();

//fish values
fishValues[? "Example"] = global.example;

//fish type
fishType[? "Common Carp"] = obj_ccarp;

ds_map_add_map(fishValues, "fishValues", fishType);
I have no idea if that is correct but I think that's what I learned from those two links :)
GML:
var j_map = ds_map_create();
var j_list = ds_list_create();
var sub_map = ds_map_create();
ds_map_add_list(sub_map, "list", j_list);
ds_map_add(sub_map, "array", j_array);
ds_map_add_map(j_map, "map", sub_map);
var j = json_encode(j_map);
ds_map_destroy(j_map);
That is the example supplied in GMS manual.

If I would guess, I would go with this:
GML:
var ds_fishValues = ds_map_create();
var ds_fishTypes = ds_map_create();
var fishType = "";

// Add a fish type
// Easier to read and categorize because we need to add the values BEFORE the type
// Doing it this way, it makes it easy to sort it out and read our code
fishType = "Common Carp";
// Set our Carp's Values
ds_map_add(ds_fishValues, "sprite", spr_carp);
ds_map_add(ds_fishValues, "prefered-lure", "worm");
// Integrate our values in our Carp map
ds_map_add_map(ds_fishTypes, fishType, ds_fishValues);
// Clear the fishValues so we can use other values for the next fish
ds_map_clear(ds_fishValues);

// This example like shown in the video I shared.
// Should do the same thing. Copy paste this section
// and change the values for the other fish.
fishType = "Rare Bass";
ds_fishValues[? "sprite"] = spr_bass;
ds_fishValues[? "prefered-lure"] = "pizza";
ds_map_add_map(ds_fishTypes, fishType, ds_fishValues);
ds_map_clear(ds_fishValues);
I think this is pretty much how it would work.
 
GML:
var j_map = ds_map_create();
var j_list = ds_list_create();
var sub_map = ds_map_create();
ds_map_add_list(sub_map, "list", j_list);
ds_map_add(sub_map, "array", j_array);
ds_map_add_map(j_map, "map", sub_map);
var j = json_encode(j_map);
ds_map_destroy(j_map);
That is the example supplied in GMS manual.

If I would guess, I would go with this:
GML:
var ds_fishValues = ds_map_create();
var ds_fishTypes = ds_map_create();
var fishType = "";

// Add a fish type
// Easier to read and categorize because we need to add the values BEFORE the type
// Doing it this way, it makes it easy to sort it out and read our code
fishType = "Common Carp";
// Set our Carp's Values
ds_map_add(ds_fishValues, "sprite", spr_carp);
ds_map_add(ds_fishValues, "prefered-lure", "worm");
// Integrate our values in our Carp map
ds_map_add_map(ds_fishTypes, fishType, ds_fishValues);
// Clear the fishValues so we can use other values for the next fish
ds_map_clear(ds_fishValues);

// This example like shown in the video I shared.
// Should do the same thing. Copy paste this section
// and change the values for the other fish.
fishType = "Rare Bass";
ds_fishValues[? "sprite"] = spr_bass;
ds_fishValues[? "prefered-lure"] = "pizza";
ds_map_add_map(ds_fishTypes, fishType, ds_fishValues);
ds_map_clear(ds_fishValues);
I think this is pretty much how it would work.
"Preferred lure = pizza" :D that made me laugh!

Thank you very much for your time and help; I've always struggled with DS maps and lists but you've made it A LOT easier to understand, I'll let you know how that goes (tomorrow, my brain is fried from GMS2 today) and hopefully it'll be all good! Seems like a much easier way to save and load data also (referring to the 60s video).

Thanks again, I really appreciate it :)
 
"Preferred lure = pizza" :D that made me laugh!

Thank you very much for your time and help; I've always struggled with DS maps and lists but you've made it A LOT easier to understand, I'll let you know how that goes (tomorrow, my brain is fried from GMS2 today) and hopefully it'll be all good! Seems like a much easier way to save and load data also (referring to the 60s video).

Thanks again, I really appreciate it :)
I just read this part from the Manual:
NOTE: While these functions permit you to add lists and maps within a map, they are useless for anything other than JSON, and nested maps and lists will not be read correctly if written to disk or accessed in any other way.
I am not sure if the ds map for fish values is accessible
GML:
sprite_index = ds_fishTypes[? "Common Carp"][? "sprite"]
I'm not sure if that would work. This would need to be asked and answered by someone else. If it does not, you would need to code your ds_map:
GML:
ds_fishTypes[? "carp_common name"] = "Common Carp";
ds_fishTypes[? "carp_common prefered-lure"] = "worm";

ds_fishTypes[? "bass_rare name"] = "Rare Bass";
ds_fishTypes[? "bass_rare prefered-lure"] = "banana";
Also, this is stated in the manual:
Both keys and values can be made up of either integers or strings
Which could mean that you cannot assign a sprite as a value in a ds_map like I wrote in my previous comment. But, you can go on a test and let us know :)

I'm out for the day, happy programming!!! :)
 
I just read this part from the Manual:

I am not sure if the ds map for fish values is accessible
GML:
sprite_index = ds_fishTypes[? "Common Carp"][? "sprite"]
I'm not sure if that would work. This would need to be asked and answered by someone else. If it does not, you would need to code your ds_map:
GML:
ds_fishTypes[? "carp_common name"] = "Common Carp";
ds_fishTypes[? "carp_common prefered-lure"] = "worm";

ds_fishTypes[? "bass_rare name"] = "Rare Bass";
ds_fishTypes[? "bass_rare prefered-lure"] = "banana";
Also, this is stated in the manual:

Which could mean that you cannot assign a sprite as a value in a ds_map like I wrote in my previous comment. But, you can go on a test and let us know :)

I'm out for the day, happy programming!!! :)
Hmm I think I am starting to understand these a little better. I think the second way you coded the dsmap is the best way - I have used them before when trying to learn about saving to json with them (and failing as I was not experienced enough in GML let alone with DS lists and maps :D).

I'll try setting it up with the dsmaps and if I fail, I fail and I'll try again! I always have my original way to fall back on if all else does fail - it's a bit clunky and repetitive; but it works. So there's no harm in trying with the dsmaps and see where I get to!

So, I've only just woken up today but for the game I plan to (and I'll let you guys know how I get on):

- As mentioned above, DS maps;
- Depending on the above; adjust variables accordingly for each fish;
- Add in the fish sprites (no animation, just for view when you catch a fish);
- Add in a fishing rod (currently a blue box where if you press "1" you "equip" it and are able to fish, if you press "1" again you "unequip" it;
- Add a pop-up box with the fish information when you've caught it - currently it's only a draw_text with all the information;
- Add another room as your house where you are able to;
  • Check your achievement progress / trophy room (A big thank you to David for this idea!)
  • Save & leave (although this will be automatic upon leaving whatever the last room was)
  • Customise your player (THIS IS NOT ON MY URGENT LIST, THIS WILL ONLY BE DONE LATE DEVELOPMENT)
I'd also like to add how I plan for the rooms to work:

You are able to travel to numerous lakes with your car (currently 0 lakes, I will be basing them off my lakes which I fish at regularly) and then you are able to travel back home whenever you'd like with your car. **This does not mean you can drive the car, you will interact with it, select where you would like to go and then it will transition between the rooms whilst implementing a save of your current progress (xp, total fish, etc)**

Once again I hope you guys don't mind me posting here as a little devlog of sorts, I sort of hope that you guys like reading these little updates as I know I would if I was helping with the development of a game!

Hopefully by the end of the day I will have made some good progress on *unnamed fishing game* and will be able to share some sneakpeaks with you guys!
 
Last edited:
Little update:

Currently working on the caught element - implementing an overlay for when you have caught a fish so you are able to view it's sprite and information. I am then using buttons for the player to either "sell" or release the fish - if released you will receive more XP.. I have yet to think of a separate bonus for selling as I do not want to include any form of money in the game. So yeah! I've got fish sprites at the ready also.
 
Update time:

So I've gotten all of the fish variables correct (in reference to their weight and whatnot). I've also got the overlay up and running (basic) along with a hover implemented over both the sell and release buttons showing the difference in experience you will receive depending on the one you select.

It's still all squares and circles; but the fish sprites are in (most of them) and appear when you have caught a fish.

There is still no fight action with the fish; I don't know if I will add that in at the moment as I can't figure that out. It's more of a watch the float - when the float reacts - press lmb, 80% of catching (will vary depending on the rod, experience etc, yet to add that) - catch - choose sell or release - receive exp - equip fishing rod again - FISH.

I think it's time to add some sprites and tiles now!
 
May I add a little suggestion that I thought a bit later. You do not need to fill your whole room with green grass blocks. You could just add the water blocks and that's it. Basically, if water is NOT met, you are on land. As simple as that. As I can see, you are opting for a top-down game which means that you view the area from on top.

This way, it could also permit you to randomly generate maps with different water spots (lakes, rivers) and you could use the DS map save functions to save your room's setup (water, land, road and character position). This also lets you use a mini map of discovered areas letting the player see black if not discovered and a mini colored aread for the discoveed places. (Just throwing out something again) a kind of fishing-rpg game. But you are the creator, you have freedom for how you want it to be, you don't need to implement everything I'm saying.

as for battling with the fish, it could just be a variable constantly being played with (global.rod_force for example) so the fish and player can play with that variable. The fish can have a x% chance of -n on rod_force while player, depending on good timing for pulling can have x% of +(n * player.XP) rod_force and when rod_force is 100% or more, the fish can be pullled out. if rod_force <= 0%, rod_line is broken or un-pullable. Add to that a global.fish_pulling for a chance to have a proper timing to pull the rod and wind in. You can also add a global.fish_released var which could let the fish have x% of releasing the bait, therefor, be free and no fish can be caught. Combine that with player.XP which would simulate how good you are at playing with the fish like one would do to let loose a bit, then wind in a bit, let loose, wind in, etc... No need of anything sophisticated, just a gauge which graphically moves up and down, or left and right to let the player see it's perfect timing to wind and pull. Basicalling, if fish_pulling is 0, the gauge does not move and THAT's the moment to wind in and add some pull. Then use a global.fish_capture to detect when you pulled the fish out of water. if fish_capture is between 90 and 100, then that's your chance to pull it out of water IF rod_force = 100%.

When you think of it, life is a bunch of variables being played with. We are the ultimate The Sims game LOL where every emotion is a variable and everything can move up and down from 0 to 100% LOL.

As for money, it would be good to let the player be able to upgrade it's fishing rod. Like, start with a wood and line then upgrade to a windable rod, then to a more flexible rod that won't easily break if a fish pulls too hard.

Sprite adding! The fun part!

Happy coding! :)
 
May I add a little suggestion that I thought a bit later. You do not need to fill your whole room with green grass blocks. You could just add the water blocks and that's it. Basically, if water is NOT met, you are on land. As simple as that. As I can see, you are opting for a top-down game which means that you view the area from on top.

This way, it could also permit you to randomly generate maps with different water spots (lakes, rivers) and you could use the DS map save functions to save your room's setup (water, land, road and character position). This also lets you use a mini map of discovered areas letting the player see black if not discovered and a mini colored aread for the discoveed places. (Just throwing out something again) a kind of fishing-rpg game. But you are the creator, you have freedom for how you want it to be, you don't need to implement everything I'm saying.

as for battling with the fish, it could just be a variable constantly being played with (global.rod_force for example) so the fish and player can play with that variable. The fish can have a x% chance of -n on rod_force while player, depending on good timing for pulling can have x% of +(n * player.XP) rod_force and when rod_force is 100% or more, the fish can be pullled out. if rod_force <= 0%, rod_line is broken or un-pullable. Add to that a global.fish_pulling for a chance to have a proper timing to pull the rod and wind in. You can also add a global.fish_released var which could let the fish have x% of releasing the bait, therefor, be free and no fish can be caught. Combine that with player.XP which would simulate how good you are at playing with the fish like one would do to let loose a bit, then wind in a bit, let loose, wind in, etc... No need of anything sophisticated, just a gauge which graphically moves up and down, or left and right to let the player see it's perfect timing to wind and pull. Basicalling, if fish_pulling is 0, the gauge does not move and THAT's the moment to wind in and add some pull. Then use a global.fish_capture to detect when you pulled the fish out of water. if fish_capture is between 90 and 100, then that's your chance to pull it out of water IF rod_force = 100%.

When you think of it, life is a bunch of variables being played with. We are the ultimate The Sims game LOL where every emotion is a variable and everything can move up and down from 0 to 100% LOL.

As for money, it would be good to let the player be able to upgrade it's fishing rod. Like, start with a wood and line then upgrade to a windable rod, then to a more flexible rod that won't easily break if a fish pulls too hard.

Sprite adding! The fun part!

Happy coding! :)
Yeah currently I have a little thing in place where (this is pseudo code, not my actual code)

if float !water then destroy.
with water just being an object so I can easily manipulate it in the room editor.

Best way I've thought of doing it!

Right now I've completed the basic overlay, I'm working on the house, the first lake design (as I am basing it off the lakes I actually go to) and achievements!

(currently working on the achievements).

Also thank you very much for explaining how to do the fish fighting! I'll implement it at a later stage for sure! :D

Hopefully in an hour or two I'll be able to post a decent screenshot of the game!
 

woods

Member
very impressive... i definitely like where this is going bro ;o) thumbs up for sure!
your excitement is contagious ;o)


alternative rewards other than straight up cash...
maybe instead of selling your prize catch, you have it sent to taxidermist, then either displayed at the pro-fish shop or the local bar(gives renown and fishing tips from the locals... exchange for sneak peaks at good hidden spots to fish, this fish likes this bait, that sort of thing ) or that bigboy... mounted over your fireplace.

maybe winning a tourney will give the player a better rod, or more tackle, different boat, etc..

just a couple thoughts ;o)


edit:
i can deff see the advantage of writing out that devlog.. keeps you motivated, and us entertained ;o) ... ive picked off a dozen ideas on how to implement things in my backburner projects just by seeing what you are doing here and the advice you are getting.
 
very impressive... i definitely like where this is going bro ;o) thumbs up for sure!
your excitement is contagious ;o)


alternative rewards other than straight up cash...
maybe instead of selling your prize catch, you have it sent to taxidermist, then either displayed at the pro-fish shop or the local bar(gives renown and fishing tips from the locals... exchange for sneak peaks at good hidden spots to fish, this fish likes this bait, that sort of thing ) or that bigboy... mounted over your fireplace.

maybe winning a tourney will give the player a better rod, or more tackle, different boat, etc..

just a couple thoughts ;o)


edit:
i can deff see the advantage of writing out that devlog.. keeps you motivated, and us entertained ;o) ... ive picked off a dozen ideas on how to implement things in my backburner projects just by seeing what you are doing here and the advice you are getting.
Haha thank you! I'm really surprised at where this game is going and how well it's all going too!

I wish I started posting devlogs on here more often; the support is incredible and the motivation is crazy high! Although I hope not to get expectations out too much, as this is probably my first major project - although it's going extremely well :D

I've just got the achievement screen overlay done - time to actually add things to the overlay now!

Then back to making the map. I will post (later) the lake which I am basing the first lake at!

Oh.. I also need to add in a character sprite, but at the moment, the square is doing well :D
 
Haha thank you! I'm really surprised at where this game is going and how well it's all going too!

I wish I started posting devlogs on here more often; the support is incredible and the motivation is crazy high! Although I hope not to get expectations out too much, as this is probably my first major project - although it's going extremely well :D

I've just got the achievement screen overlay done - time to actually add things to the overlay now!

Then back to making the map. I will post (later) the lake which I am basing the first lake at!

Oh.. I also need to add in a character sprite, but at the moment, the square is doing well :D
It's good and reasonable from your part to not set any high expectations. It makes things easier along the way.

It's good to see you motivated too. On my part, the music is the hardest because I am not a composer and it's very hard to find a royaly free music that stands out of the lot that will easily make your game recognisable. I take Super Mario Bros and Eagle Island which both have easy to recognise music theme and that, just the first 2-4 seconds of the music. Then there's Skyrim which has a more dramatic and cinematic music which makes us want to dive in the adventure. So for me, it's a real challenge.

For sprites and interface, everything is about color and well matching things together. Learning to use gradients and shadows AND learning to NOT use them at times. There's an expression we use here in Quebec, translated from french to english it says: "Too much is like not enough". Meaning both are not good. I learned that in my passed years in game making. Having a balance between well merged colors for smooth detailed scenes while keeping the characters easy to follow and not loose them in your background. For interfaces, a lot of people keep it too simple or overly complicated. When I say complicated is too much colors and sprites for a choose-to-sell-your-stuff screen. Learning to design an interface that keeps the information handy well visible and easy to manage while adding a style that fits the game is a nice challenge. Adding transitions, like fading your background and pausing the game add to the effects.

Other things people tend to forget in games is life. Life in a game, and I really love Eagle Island as a pixel retro style game as an example. They added tiny frogs, rabbits, moles, dandelions and moving grass along with balancing lanterns and vines that sway when you pass by them. In my game, Lost Explorer 2, It was a boring game initially and I had to add a little something. Even today, I think I lack a heck of a lot in that game, that's why I want a third one. But, the fact of adding fire using the particle system, made things a bit less boring. And in dark levels, adding light that actually moves added life to the fire itself. Today, I would change a thing or 2, but the fact is, simple things add life to games which makes the screen more appealing.

In your fishing game, simple water waves and small shore lines animation, some grass moving here and there randomly, simulating the wind, a sun that moves during the day where you can see the shadows change and colors adapt to the proper time, little bugs and insects hovering above water like dragon fly vs some ordinary flies in more damp places. Adding color gradients from blue to green in places where moss and mold can form. This details, while not of capital importance will bring a heck of a lot of life to the game. Then, there's the opposite, too much animation will hinder the game because fishing is supposed to be restfull, stress free, so you want to keep things living while peacefull and the menus and interfaces should breath the same ambiance than your game.

I really love the idea of your starting lake and cabin/house. That's a very neat idea. In Skyrim, one of the first towns you meet when finishing the initial escape scene is Riverwood, a peacefull watermill river-side little town with gentle common people. It's not a player home, but you still feel home because it's the first place you meet. When you create your initial map, people will feel home immediately and tend to come back there because it feels good to come back just for the sake of relaxing and managing our inventory and stuff. I'm bursting out a lot here, but I am pleased to see you excited about your game.

I'm eager to see the advancement of this project. Great work and stay motivated :)
 
It's good and reasonable from your part to not set any high expectations. It makes things easier along the way.

It's good to see you motivated too. On my part, the music is the hardest because I am not a composer and it's very hard to find a royaly free music that stands out of the lot that will easily make your game recognisable. I take Super Mario Bros and Eagle Island which both have easy to recognise music theme and that, just the first 2-4 seconds of the music. Then there's Skyrim which has a more dramatic and cinematic music which makes us want to dive in the adventure. So for me, it's a real challenge.

For sprites and interface, everything is about color and well matching things together. Learning to use gradients and shadows AND learning to NOT use them at times. There's an expression we use here in Quebec, translated from french to english it says: "Too much is like not enough". Meaning both are not good. I learned that in my passed years in game making. Having a balance between well merged colors for smooth detailed scenes while keeping the characters easy to follow and not loose them in your background. For interfaces, a lot of people keep it too simple or overly complicated. When I say complicated is too much colors and sprites for a choose-to-sell-your-stuff screen. Learning to design an interface that keeps the information handy well visible and easy to manage while adding a style that fits the game is a nice challenge. Adding transitions, like fading your background and pausing the game add to the effects.

Other things people tend to forget in games is life. Life in a game, and I really love Eagle Island as a pixel retro style game as an example. They added tiny frogs, rabbits, moles, dandelions and moving grass along with balancing lanterns and vines that sway when you pass by them. In my game, Lost Explorer 2, It was a boring game initially and I had to add a little something. Even today, I think I lack a heck of a lot in that game, that's why I want a third one. But, the fact of adding fire using the particle system, made things a bit less boring. And in dark levels, adding light that actually moves added life to the fire itself. Today, I would change a thing or 2, but the fact is, simple things add life to games which makes the screen more appealing.

In your fishing game, simple water waves and small shore lines animation, some grass moving here and there randomly, simulating the wind, a sun that moves during the day where you can see the shadows change and colors adapt to the proper time, little bugs and insects hovering above water like dragon fly vs some ordinary flies in more damp places. Adding color gradients from blue to green in places where moss and mold can form. This details, while not of capital importance will bring a heck of a lot of life to the game. Then, there's the opposite, too much animation will hinder the game because fishing is supposed to be restfull, stress free, so you want to keep things living while peacefull and the menus and interfaces should breath the same ambiance than your game.

I really love the idea of your starting lake and cabin/house. That's a very neat idea. In Skyrim, one of the first towns you meet when finishing the initial escape scene is Riverwood, a peacefull watermill river-side little town with gentle common people. It's not a player home, but you still feel home because it's the first place you meet. When you create your initial map, people will feel home immediately and tend to come back there because it feels good to come back just for the sake of relaxing and managing our inventory and stuff. I'm bursting out a lot here, but I am pleased to see you excited about your game.

I'm eager to see the advancement of this project. Great work and stay motivated :)
I tell you what - the information and everything else you're providing me with is just out of this world! I cannot thank you enough.

I'll upload some screenshots in a little bit of the current statistics menu, little cabin (will expand on it soon, just to add a bit of "homeliness" to it (as you mentioned).

I think the map design for the lake will take the longest as I want to do them custom and as similar as I can to the lakes I regularly visit. I think it will add a lot more personality to the game than randomly generated ones! :)

Thank you all again for the support, comments, suggestions and feedback! It is all appreciated and I ask, if you have any comments, suggestions or feedback, please post it!
 
I tell you what - the information and everything else you're providing me with is just out of this world! I cannot thank you enough.

I'll upload some screenshots in a little bit of the current statistics menu, little cabin (will expand on it soon, just to add a bit of "homeliness" to it (as you mentioned).

I think the map design for the lake will take the longest as I want to do them custom and as similar as I can to the lakes I regularly visit. I think it will add a lot more personality to the game than randomly generated ones! :)

Thank you all again for the support, comments, suggestions and feedback! It is all appreciated and I ask, if you have any comments, suggestions or feedback, please post it!
I have other ativites to do today, but I will tell you what a good game programmer/designer is. It's someone that does not loose itself in other people's suggestions and comments. A person that can stand and take decisions for his/her game. I suggested random maps and you chose a static one, that's nice to see. See you take position and choose where your game is going. It is critical and it's very appreciated to see you bring your own personality and ideas to the game while not always bending to other people's comments. So always feel free to choose whether or not to use someone else's suggestions, in the end, IT'S YOUR GAME and people that play it will enjoy it and others will ALWAYS find something bad or something to add. You have a very good attitude and you stand for some of your ideas so please keep that going.

Happy programming :)
 
I have other ativites to do today, but I will tell you what a good game programmer/designer is. It's someone that does not loose itself in other people's suggestions and comments. A person that can stand and take decisions for his/her game. I suggested random maps and you chose a static one, that's nice to see. See you take position and choose where your game is going. It is critical and it's very appreciated to see you bring your own personality and ideas to the game while not always bending to other people's comments. So always feel free to choose whether or not to use someone else's suggestions, in the end, IT'S YOUR GAME and people that play it will enjoy it and others will ALWAYS find something bad or something to add. You have a very good attitude and you stand for some of your ideas so please keep that going.

Happy programming :)
Thank you for your kind words! I've never been one to get pushed about I guess, so that helps :D

As promised, a screenshot of the current overlay. Please note this is going to be reworked with added sprites (the sprites will match the corresponding fish name; they will also remain in a "locked" state / grey state until the achievement below has been met). An idea I literally just had would be, the colour of the sprite will be grey (no achievement), bronze (first 1000 hit (or less it depends on if I want to make it easier)), silver (say 2,000) and so forth. Anyway enough of me talking, the screenshot is below:

Oh also - to access this screen, you a prompted with a "Press E to see achievements and statistics" at the bottom of the screen if you are within range. As you can see, our character is still a little.. a lot square.

fishinggame 30th of aug.png

edit: I also have a lot more fish to add to the list, which I haven't done yet.
 
My day changed drastically. Things happen. Seeing screenshots of the games helps understand where you are going and how the game is being thought. As I see, we are on a retro-style fishing game. I am a big fan on pixel-art retro-style games but not those old things that look like the first Nintendo and Gameboy styles. I think that the Super Nintendo era was wicked awesome. My favorite game being Super Mario World from the SNES. That being said, I have been working with tiles for a long time. I have learned a few hacks here and there. The main problem with tiles it that everything looks the same VERY easily. Like in your screenshot, the floor and wall lacks some personality. BUT, the graphics are, up to now, good and polished for a good retro-style well drawn game.

A few things on working with tiles
1. Usually, you want a standard common tileable tile like what you already have, so that's done.
2. Next, you want a second layer to your tiles. For example, cracks in the wood, washed away (lighter and darker colored) wood.
3. You tile your tiles and add on top your second layer

Here is an example, really ugly, but easy to understand of what I mean using your screenshot above.
First tile is the the main one, second one is a second layer, third on is the final result with both together. Please don't expect beauty, I just wanted to give an example in a 2 minutes Paint.Net work.
Floor.png
Wall.png

Results applied on final set:
Results.png

As you see, you don't apply the second layer everywhere but just at random places. This adds LIFE to the environement and a feeling of unregularity which makes the game feel less cheap graphic wise. I am not saying your graphics are cheap here, sorry if it sounds weird. It's my way of expressing myself, but up to now, I am actually impressed with what you've got, excuse my lack of good chosen words. I just want to share the idea of good tiling.

I like the game console you put LOL. You forgot the 55 inch 8k TV though. Pfff, cheap place, I don't want your home :p:D

Very good work up to now, seriously! And good idea for the colored fish depending on the achievements you gained so far.

**edit: Of course you can have much more than one single second layer tile to add more diversity. This applies to grass, wood, lakes, rivers, etc....Tiles with different layers make good mixtures. You could, at the limit, add more than one layer on top.
 
So an update of the progress made today!

I have managed to do:

  • Added the fish sprites and updated all of their variables to correspond to their species (such as the weight etc)
  • Added a fish overlay to display when you have caught a fish (this displays the rarity, weight along with two buttons of "sell" and "release" which when hovered over, will display the different XP you will receive depending on the option chosen)
  • Added another room; rm_home - this will be the default room / spawn room and the room where you are able to view your achievements
  • Added a whole list of global variables for the achievements
  • Added an achievement overlay / surface with all of the corresponding information
  • Started to work on the first lake / map which is going to be similar to:
1598814606336.png

So a good 12ish hours spent today on developing and I think it has improved A LOT!
 
My day changed drastically. Things happen. Seeing screenshots of the games helps understand where you are going and how the game is being thought. As I see, we are on a retro-style fishing game. I am a big fan on pixel-art retro-style games but not those old things that look like the first Nintendo and Gameboy styles. I think that the Super Nintendo era was wicked awesome. My favorite game being Super Mario World from the SNES. That being said, I have been working with tiles for a long time. I have learned a few hacks here and there. The main problem with tiles it that everything looks the same VERY easily. Like in your screenshot, the floor and wall lacks some personality. BUT, the graphics are, up to now, good and polished for a good retro-style well drawn game.

A few things on working with tiles
1. Usually, you want a standard common tileable tile like what you already have, so that's done.
2. Next, you want a second layer to your tiles. For example, cracks in the wood, washed away (lighter and darker colored) wood.
3. You tile your tiles and add on top your second layer

Here is an example, really ugly, but easy to understand of what I mean using your screenshot above.
First tile is the the main one, second one is a second layer, third on is the final result with both together. Please don't expect beauty, I just wanted to give an example in a 2 minutes Paint.Net work.
View attachment 33903
View attachment 33905

Results applied on final set:
View attachment 33904

As you see, you don't apply the second layer everywhere but just at random places. This adds LIFE to the environement and a feeling of unregularity which makes the game feel less cheap graphic wise. I am not saying your graphics are cheap here, sorry if it sounds weird. It's my way of expressing myself, but up to now, I am actually impressed with what you've got, excuse my lack of good chosen words. I just want to share the idea of good tiling.

I like the game console you put LOL. You forgot the 55 inch 8k TV though. Pfff, cheap place, I don't want your home :p:D

Very good work up to now, seriously! And good idea for the colored fish depending on the achievements you gained so far.

**edit: Of course you can have much more than one single second layer tile to add more diversity. This applies to grass, wood, lakes, rivers, etc....Tiles with different layers make good mixtures. You could, at the limit, add more than one layer on top.
You calling my graphics cheap? HOW DARE YOU :D

Thank you again for your help and advice, when I get back to it tomorrow I think that will be the first thing I'll do - I agree, it does look very bland, especially with everything being "perfect" in a way (as in, no damage to floors or walls) - I think I'll also add in a rug or two, along with a few other objects just to make it look a lot more cosy. As I mentioned though, the current design of that is not going to be anything like the finished product, it was more of testing out my sprites etc; as they could also change quite dramatically.

Also.. regarding the 55inch 8k tv, it's all built in to the wall; but no-one will ever know due to the perception of depth :D

Thank you for all the kind words also - I really appreciate it. This is my first game I've actually committed to working on 100% and it feels great as I'm not following a YouTube tutorial or anything similar, as they're more like "copy this code and see if you can do it without misspelling something" - it's my game and I'm coding it all myself (with obviously the help of yourself, the guide and the odd forum / google search for bug fixing or figuring out how some code works).

I can't wait until this is at a playable stage (hopefully tomorrow, although no promises) so you guys can check it out! Obviously, the playable stage will differ a lot from the finished version; if there ever is a "finished" version :D
 
Good morning! I hope you're all doing well.

Today, in what feels like devlog 1,000,000 :D, I plan to:

  • Improve and expand upon the current map designs of
    • rm_home (which is the main room, where you will view all of your achievements and hopefully in the future, choose your gear)
    • rm_carols (which is the first lake you will be able to fish - this will probably take the longest as I hope to get it quite similar to how it is in real life; I also want to add a good amount of "life" to the map, as suggested and examples provided by David!)
  • Improve massively on the fish caught overlay; currently it is some draw_text with a draw_sprite depending on the fish caught and a few more draw_text and two buttons, one to sell and one to release.
    • I plan to before displaying the fish weight and rarity, prompt the player to click "Inspect Fish" or "Weigh Fish" and then it will display the rarity and weight - it adds a little more depth to the fishing system.
  • Add more fish sprites
  • Add a player sprite (this is my main objective today)
    • Add a fishing animation (not looking forward to this)
  • Improve and modify the current float
    • Add a float sprite (currently a yellow circle)
    • Add a bit of gravity to it, current it acts like a float, but only goes in a straight line, while realistically it should curve.
  • Add a main menu and an actual pause screen when pressed esc
  • Add a room switch menu
    • What I want to create is that when you leave your house, go to your car and interact with it, an overlay pops up with the available lakes and what requirements are needed to go to them. Once you selected one > transition to that room. It should be relatively easy to code and put into practice, so I am looking forward to this.
  • Save & load
    • I already have an ini system set up for the saving and loading; as all I need to save are the global variables such as xp, total fish caught and all of the achievements, along with the usual player x,y.
    • Saves and loads your achievements every time you switch room; just to ensure that no data is lost between room transitioning.

Well 💩💩💩💩 that's a lot of stuff to try and get through in one day! Although I won't be rushing any aspect, so this list may or may not continue over tomorrow also; although I would like to get a majority of this stuff done today! Then I think we'll just about have a very early playable stage.. maybe!
 
Sorry for the lack of update(s) today - I've been very busy with other things.

Somehow - it must have been because I've been back and forth coding - I've messed up with the fish caught overlay, which I now have to figure out how to fix!

Aside from that, there is now a custom made fishing rod sprite, I am no good at designing or pixel-art, so it's not some a-grade sprite: fishingrodfirst.png

I haven't actually done much today, considering the huge "to-do list" I posted this morning :D

Right now my priority is fixing this little bug I somehow have created; after that I will continue with the to-do list either after, or tomorrow!
 
Top