Fishing (Game Mechanics)

From SWGANH Wiki
Revision as of 14:26, 29 June 2009 by Ready (Talk | contribs) (Fishing Window User Input Options:)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search




Game Mechanics - Mechanics Category

SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.


Navigation

Description

Template (Game Messages)

Related Tags

50% This document has been partially completed.

Mechanics This document is about game mechanics.

System Messages

Radial Menus

SUI Prompts


Fly Text


Fishing Testing Chat Logs

Formulas Needed

1. Calculating affects of vegetation density on line snag rates.

2. Calculating base encounter rates for nibble, bite and caught something events and effects of fish density and tug actions on chance to encounter nibble, bite and caught something events.

3. Calculate base bait loss rates and the effects of fishing pole quality and bait status

4. Calculating chance for fishing line snapping once line is snagged

5. Calculating chance for fishing line to unsnag once line is snagged

6. Calculating chance for catch to get away

Game Mechanics

Fishing is type of mini game that serves as both a resource and item collection event. Resources are collected from fish that are caught and filleted. Fish resources work similarly to other resource mechanics in that each planet has its own variation of fish resources and follow resource shifting behaviors. Items are looted in the forms of "catches" like fish and the player has to go through the same process to get them as catching the actual fish. Items such as chum baits, come as byproducts of the filleting process. It is unknown as to exactly what all items were available for fishing but it is generally accepted that the majority of items were not very useful or in essence "junk" although there are reports of items such as skill attachments, weapons and holocrons coming as loot so it would appear that fishing loot tables are perhaps linked to the general loot tables from npcs.



Fish Types, Sizes & Resources

There are 7 species of fish in the game.

Each species is found on every planet however each planet has its own unique color variations for each species. When collected, fish are essentially containers that have two items inside them: chum bait and fish meat resource. To obtain the fish meat and chum bait, a player must use the Fillet Fish radial menu option on a fish after it has been caught. Fish can only be filleted once. After being filleted, the fish container is emptied (no items can be put inside it) and can be used as a decorative piece. Fish meat and chum bait stack sizes vary. Fish meat is observed (precu) to range between 1-17 units and chum bait is acquired in sizes between 2-5 (probably 1-5). Fishmeat ranges observed in the nge are between 3-22 units.

Note that 1-17 units of fishmeat is a pre publish 13.1 observation pulled from the archives. As of yet, no information has been found of the post 13.1 harvest rates. Its probable that the nge units are the more up to date however.


A unique feature about fish are that they come in distinctively different sizes, which is a contributing factor to their role as decorative collectors items. Fish lengths are documented on the fish itself with a Length attribute when examining the fish. The length value goes up to six decimal places measured in meters. Each fish species have their own size scales where some species are naturally larger than others.

Note: Fish sizes listed above are based on nge observations using a limited sample size of picture confirmations. Other sources hint that the lengths are actually greater than what is listed above. My personal speculation is that the maximum lengths on fish are at least 4 times greater than their minimum lengths. More screenshots are needed to confirm or refute this speculation.


Note: NGE made a few changes to fish examine display (added name section for player who caught the fish as well as date caught attributes).



Fishing & Experience

Fishing generates Wilderness Survival experience for scouts and rangers.

Wilderness survival exp from fishing appears to have been based on a scale with smaller types of fish yielding higher experience than larger fish. Presumably fish are on a scale were the smaller the fish is on the scale the rarer it is to catch and thus generates higher experience. The amount of experience gained appeared to be also dependant on the creature's size within its own species. Ill Use some anecdotal data taken from the archives to try to create a possible range for experience values for each type of fish:


  • Blackfish: 1.48 exp per .01 of a meter length
  • Striped Fish: 1.625 exp per .01 of a meter length
  • Laa: 1.8 exp per .01 of a meter length
  • Ray: 2.19 exp per .01 of a meter length
  • Faa: 2.2 exp per .01 of a meter length
  • Bluefish: 2.24 exp per .01 of a meter length
  • Blowfish: 4.38 exp per .01 of a meter length





Operating The Fishing Pole

The fishing pole is at the heart of fishing since it is a required tool in order to be able to fish in star wars galaxies. Fishing poles act as containers (for bait only) as well as having a quality rating on them. Pole quality can range from 0 to 100%. According to some sources, fishing pole quality lowers the chances that bait will be lost during the fishing process, although whether this is true or not and by how much quality affects anything, is unknown. In order to fish, a player must first have a baited pole. To bait a pole, the player must drag and drop a bait item over on top of the fishing pole or manually open the fishing pole through the radial menu and drag and drop the bait into the pole container. This will bait the pole and all bait uses will be automatically deducted from the stack size of the bait in the fishing pole. In order to start fishing, the player needs to then equip the pole. Once the pole is equipped the player can then utilize the Start Fishing radial option on the pole or issue the /fish command to begin fishing.






Starting the Fishing Process:

Fishing can be initiated through two means:

1. /fish command
2. Start Fishing radial option on the fishing pole

To start fishing, a Player has to be 2 meters from the water source and physically facing the water when the /fish command is sent. The player must also be facing in a direction towards the water by which the bobber can be spawned into the water and not on land. The player must also have a fishing pole and there must also be bait inside the fishing pole. If they meet these requirements then they can successfully execute the fish commands. Once the fishing commands are executed, the player throws out their line and an Fishing Events sui prompt is presented.



Stopping the Fishing Process

Things that stop the fishing process:


1. Bait Loss Events - Stops if fishing bait is lost
2. Line Distance - Stops If the bobber is Too close or too far away
3. Catch Loss Events - Stops if Catch is lost
4. Line Snapping events - Stops if line snaps
5. Clicking Stop Fishing menu option
6. Using /fish command again after fishing has been started.
7. Attempting to swim



Event Window Status

The event window is broken up into several sections:

  • 1. Status - This indicates to the player what type of event that they are currently in
  • 2. Bait Status - This indicates to the player what condition their bait is in
  • 3. Line Range - This indicates to the player how far they are from the fishing bobber
  • 4. Fish Density - This indicates to the player how good of a chance they have of initiating a new fishing event (nibble, bite, caught something). The scale is 0 stars for the least chance of encountering fishing events, up to 5 stars (the highest chance of encountering fishing events).
  • 5. Vegetation Density - This indicates to the player how good of a chance they have of causing line snags. The scale is 0 stars for the least chance (presumably 0 chance) of encountering a snag related event, up to 5 stars having the highest chance of encountering snag events.


Whenever a player casts their line, a 7 second timer is begun that creates and updates an SUI window that rotates between 6 status events; Waiting, Nibble, Bite and Caught Something, Line Snagged, Reel-In. The first 4 events are tiered from lowest to highest with waiting being lowest and Caught Something being the highest. The first two events (waiting and nibble) are automatically generated by the fishing engine, while the other two are based on actions taken by the player.

Every 7 seconds A random roll is made to check if an event will raise to the next level or fail completely. If the event check fails, then it is sent back to the lowest event (waiting) to begin again.

In each of the 4 primary events (waiting - caught something) there is a chance to encounter sub events such as losing bait, which immediately causes the fishing process to stop. Some types of bait loss events that occur, are unique to certain events.



Fishing Window User Input Options:

There are 5 fishing window user input options that allow the player to manipulate certain aspects of the fishing process. To use them, the player selects an option, and then clicks the OK button. After this is done, the window updates and lists the queued action in the Next Action listing of the window. This action will be executed at the start of the new event cycle (an event cycle occurs every 7 seconds during the fishing process). When one of these options are used, the player initiates a unique animation at the next window refresh cycle. It is believed that when some of these options are used (tug inputs in particular) they will affect the chance for a new event (nibble, bite, caught something) to occur. It is believed that the server selects some button or a combination of buttons to be used for each 7 second interval that the windows refresh. If the player hits the right button or sequence of buttons in a row, their chances to initiate the next higher event will dramatically improve the next time the update comes around. No known formula or values for how this process works exist so we will need to make something up.


1. Tug Right:

Shortens distance between player and line bobber, indicates player wants to move to the Bite and Caught Something events, and also affects the chance to achieve a new event. Any time an action is initiated, the window will update to display what the action will be at the next 7 second update. As the window updates, an animation for the action is initiated.


2. Tug Left:

Shortens distance between player and line bobber, indicates player wants to move to the Bite and Caught Something events, and also affects the chance to achieve a new event.Any time an action is initiated, the window will update to display what the action will be at the next 7 second update. As the window updates, an animation for the action is initiated.

3. Tug Up:

Shortens distance between player and line bobber, indicates player wants to move to the Bite and Caught Something events, and also affects the chance to achieve a new event.Any time an action is initiated, the window will update to display what the action will be at the next 7 second update. As the window updates, an animation for the action is initiated.

4. Reel In:

Shortens the distance between the player and line bobber. Has no effect on events.Any time an action is initiated, the window will update to display what the action will be at the next 7 second update. As the window updates, an animation for the action is initiated.

5. Stop Fishing:

Stops the fishing process, regardless of what stage the player is on.



Events

1. Waiting Event


This is the default starting event. The random roll engine automatically determines every 7 seconds if the event will pass to the next stage (nibble). Players can affect this by issueing Tug options at any point within the 7 second window. Tug options will be executed at the end of the 7 second cycle when the window refreshes.


2. Nibble Event


When a nibble event occurs, the player can signal their interest to progress to the next event (bite) through choosing one of the three tug options. The tug options signal that the player is interested in progression to the next stage of the fishing process. If no option is selected then the engine simply cycles between Waiting and Nibble events. Each of these options can affect the random roll event to progress from nibble to bite event. I believe that the engine selects a correct choice to make at each event stage starting with "waiting" and that when a player selects the correct choice (tug up, left or right) that they increase their odds of reaching the next stage. The player isnt given any indication of which may be the right choice however. The random roll engine automatically determines every 7 seconds if the event will pass to the next stage (bite). In any event, the player cannot pass beyond the Nibble event unless they issue some sort of Tug option.




3. Bite Event

When a bite event occurs, the player can use the Tug options. Each of these options can affect the random roll event to progress from nibble to caught something event. I believe that the engine selects a correct choice to make at each event stage starting with "waiting" and that when a player selects the correct choice (tug up, left or right) that they increase their odds of reaching the next stage. The player isnt given any indication of which may be the right choice however. Players do not need to use a tug option to advance to the Caught Something stage. The random roll engine automatically determines every 7 seconds if the event will pass to the next stage (Caught Something).




4. Caught Something Event

When the highest level of event is reached (caught something) the fishing engine moves to a new set of random events that involve reeling the catch in which ultimately determine if the player will obtain the fish or not. The Reel-in event begins on the next update cycler after the Caught Something event occurs. All normal fishing rules still apply during this period until the Reel-in cycle begins. This means that it is still possible to have the fishing process canceled by being too close to the bobber.



5. Line Snagged


The 5th event, Line Snagged, affects the other events and occurs whenever a player selects an input option. There are two effects caused by snagged lines, which are: Resetting event timers, and the 2nd being to stop the fishing event via line snapping. A line has a chance to be snagged when the player issues any tug or reel in option while in a spot that has a vegetation rating of 1 or more. When a line is snagged (due to vegetation) the snagged line will cause a chance that the "line will unsnag" on the next update which resets each event back to the lowest. When a snag occurs at the same time that a player gets a Bite event and the player attempts any Tug or Reel action while the line is snagged, the player will now have their fishing event status reset to Waiting. If the player chooses to do nothing, then the engine will issue a random roll to see if the line will unsnag or it will defaults to the normal random event selection process to see if the Bite event will progress to the Caught Something event. The problem for the player when getting a snag while having a bite event is that it forces them to rely on the lower chance of proceeding to the Caught Something event since they cannot issue any Tug options that may improve their chances. If the player gets a Snag at the same time that they get a Caught Something event, the line will automatically unsnag and reset the event back to Waiting. The second effect of line snagging is that it also produces a chance to Snap the line at every update. When a snag event occurs, there is a chance that the line will snap on the next update and cause the fishing process to stop.

Events:

  • Line Unsnagging
  • Bite Snagging
  • Caught Snagging
  • Line Snapping


6. Reel-In Event


This is the final stage of the fishing process where a completely random series of actions occurs that will determine whether or not the player obtains the catch. The event simulates fighting with the catch over a course of events with the player essentially watching from the sidelines. The process is taken out of the player's realm of control as the SUI window is removed and further input from the player is not allowed except to cancel the fishing process through the /fish command, swimming or moving out of range. Some of the events have slightly slightly different takes depending on what happens such as if the catch is an item or a fish or environmental factors. The event is only stopped if the player stops the fishing process, the catch gets away, or is caught. The goal with the reel-in event is to get the bobber to the player at 2 meters or less. When bobber reaches the player, the catch will be picked up upon the next update window should it remain in that position in the meanwhile.

Note; These are estimates based on my own anecdotal observations from observing the various events unfold. A More scientific data collecting methodology would be preferred such as long duration packet captures and parsing the data. These values should just be used as a starting point.



During the reel-in event, various random actions can occur in every 4 or 7 second windows (seems to be random which is chosen):

  • Fish Charges Location - bobber will move directly towards the player by about 1.0 meters
  • Fish Moves Away - bobber will move away from the player in a random direction away from the player for about .50 meters
  • Draw Fish Closer - bobber will move towards the player by about .50 meters
  • Fish Fights - bobber will stay in its position
  • Fish Takes More Slack - bobber will move away from the player in a random direction away from the player for about .50 meters
  • Fish Runs For it - bobber will move directly away from the player for about 1.0 meters





Bait Status

Values:

  • Fresh
  • Soggy
  • Mush

Random roll is made at each update to determine which state the bait is in. Each roll determines if the bait will decrease in status where fresh is the highest and mush is the worst. Bait status presumably affects the chance that the bait will be taken at each update. Upon starting the fishing process, Bait can be at any status from starting out even as mush.

Bait can be lost at the start of any event except the reel-in event. The reel-in event has a unique handling of bait loss in that bait loss for it only occurs if the player has lost the catch. When the catch is lost, a random roll is made at that point to determine if the bait will be lost as well.

There is no known formula for calculating how bait status affects the Bait loss rate so we will need to come up with something. It is presumed that fishing pole quality and bait status combine to affect the chance of the player losing their bait on any given event that allows bait to be lost.


Bait Stealing Events:

  • Waiting Event
  • Nibble Event
  • Bite Event
  • Caught Something Event
  • Reel-In

Line Range - (aka Fishing Bobber)

When the Fishing process starts, an object called the bobber is cast anywhere in the water within the 2-10 meter range from the player. The bobber object is placed in the water in a direct line in front of the player and its position is updated as the player performs actions or when certain events occur. The bobber remains in the water at all times, in relative position to the player. It is the player's responsibility to control the line range either with small reel in option on the event window or to physically move closer to the bobber position in the water. Line range is displayed as a float value up to two decimal places. If the player's line is at or beyond 45 meters of their current position by the time the window updates, the fishing event will be canceled. If the player's line is at or below 2 meters of their current position by the time the window updates, the fishing event will be canceled as well. The only exception to this is when the player is in the Reel-in event process. When this event begins, the objective is to get within 2 meters of the bobber in order to catch the fish or object, therefore the minimum distance rules are not enforced however the maximum length rules are still in effect.

The fishing bobber can change positions under the following circumstances

  • 1. The line will come closer to the player if the player uses the tug options
  • 2. Small Reel-in line option will cause the line to come closer to the player
  • 3. Reel- in catch event - fish can bring the line closer to or farther away from the player. Bobber can be moved around to any location in the water during this stage.


If the bobber comes up to and hits an area of land, and the player themself are not within 2 meters of the water (i.e the player has moved inland a bit and no longer close to the water) then the bobber triggers the event "your line washes ashore" which stops the fishing process. This can occur in all stages of the fishing process except the Caught Something and Reel-in stages. Once the player progresses to this point, no checks are made against the bobber or players position. In these cases the bobber can come right next to the shore (although always remaining in the water).


Line Range Calculations

Note; These are estimates based on my own anecdotal observations from using the various options. A More scientific data collecting methodology would be preferred such as long duration packet captures and parsing the data. These values should just be used as a starting point.

Using the following status window options will affect the distance of the bobber

  • Small Reel In - pulls line in by a range of 0.50 to 1.0 meters
  • Tug Left - pulls line in by a range of 0.15 to 1.25 meters
  • Tug Right - pulls line in by a range of .15 to 1.25 meters
  • Tug Up - pulls line in by a range of .15 to 1.25 meters


Fish & Vegetation Density

Fish density is the measure of the chance for a player to receive an event once fishing has been intiiated. Vegetation density is the measure of the chance for a player to receive a line snagging event after they issue a Tug or Reel In command to the engine. The fish and vegetation density ratings scales from 0 to 5 stars with 0 being the lowest possible rating and 5 being highest. There is no known formula for calculating the affects of densities however it is known that densities shift and change values like other resource concentrations. When fish meat changes on a planet, the fish and vegetation densities will change as well. The process appears to be random and different spots on each planet can have any combination of fish and vegetation density ratings.

Source References

Source Source in Context
Fishing Source 1 http://forums.swganh.org/viewtopic.php?f=23&t=193&p=10703#p10703
Fishing Source 2 http://swg.curby.net/fishing/
Fishing Source 3 http://swg.allakhazam.com/db/guides.html?guide=66
Fishing Source 4 http://swgforums.swganh.org/viewtopic.php?search_id=2058433731&t=303386
Fishing Source 5 http://swgforums.swganh.org/viewtopic.php?search_id=743171903&t=266812
Fishing Source 6 http://swgforums.swganh.org/viewtopic.php?search_id=743171903&t=263362
Fishing Source 7 http://swgforums.swganh.org/viewtopic.php?search_id=785198505&t=285221
Fishing Source 8 http://swgforums.swganh.org/viewtopic.php?search_id=785198505&t=272662
Fishing Source 9 http://swgforums.swganh.org/viewtopic.php?search_id=785198505&t=296204
Fishing Source 10 http://swgforums.swganh.org/viewtopic.php?search_id=785198505&t=279448
Fishing Source 11 http://swgforums.swganh.org/viewtopic.php?search_id=2058433731&t=302253