The Meaning of Life, the Universe, and Everything.
Update: I decided to put this bullet-point description at the beginning due to lack of responses for those who would like to review it quickly. I strongly encourage you to skip them and read the entire post for a better effect, but use these if you need them.
- A fish mob
- will not replace current fish items
- short for Ostreostraci, an ancient armored fish
- Pic of Ostreostraci from wikipedia below http://upload.wikimedia.org/wikipedia/commons/e/ec/Osteostraci.gif
- Spawns in water 1-3 blocks deep with new chunks (so no pool-crashers)
- Technical spawning on opaque block under a water source block
- light level must be 9+ for spawning
- never despawns, unlike squid
- lakes/ponds must contain 400+ source blocks for spawning. Minimum 4 spawn per lake
- spawn in only some suitable lakes
- spend most of their time sitting on bottom of lake, not swimming
- Free Roam Mode- Ostreos will swim around
- Home range mode- Ostreos will sit on lake bottom
- Will establish territory in home range mode by marking blocks for itself in game code
- territory size dependent on its depth
- Will scan surroundings for other ostreos
- Will breed based on available space around itself and number of fish around itself
- Lakes prevent self-reproducion effect from cluttering map
- Die in oceans
- Swamps and Rivers optional (may allow too much free breeding space?)
- Can be bred by player with seeds
- Will become more willing to accept seeds with unnaturally higher population levels
- Can swim up waterfalls and will leave areas with light lower than 9
- Surveys environment every 10 seconds for hooks and other ostreos
- Low chance of biting hook to fulfill role of “big catch”
- Stunned for 10 seconds after reel in allowing chance to kill or re-release
- drops 2-4 raw fish when killed
- perhaps a large jar for capture and relocation?
- Peaceful and will swim away if mobs get too close
Most of you who clicked on this thread out of curiosity are wondering “What is an ostreos and how does it change mob mechanics?”. I am not one to beat around the bush, so I will simply say that ostreos are my idea for an early, and hopefully promising, fish mob for minecraft.
Before you leave this page thinking “another fish suggestion”, “there are too many of these”, or “ *this* will be great...”, I would like to inform you that I have used the search feature and looked at between 10-15 pages about fish, and I have not seen anything like my idea. Now that that has been established, I hope you will continue to read and critique my idea as either pointless or innovative.
What are Ostreos?
Ostreos is short for Osteostraci, a group of fish that died out several million years ago before even amphibians evolved. At first I was thinking of catfish as the choice fish, but I went with ostreos because I have always liked the idea of those armored fish. Few people would want to pronounce Osteostraci if it was added to the game, so “ostreos” (oh-stray-ohs) would be a more reasonable name. Here is an image on an Osteostraci recreation based on fossils:
Most of the ideas for fish mobs state replacing the drop with an actual mob the spawns and despawns, but I actually find that idea extremely unrealistic. If fish were turned into mobs, fishing mechanics would need to be drastically changed and fishing would likely become much more difficult because one would have to rely on unpredictable mobs to willingly attach to the hook. Even if they spawned frequently, this would likely result in extensive lag in deep bodies of water such as oceans. Besides, people would probably find it easier to shoot them with arrows in the long run, making the fishing rod somewhat less practical. Overall, replacing an item with a mob is not recommended. Ostreos would only supplement the fishing system. All fish currently in the game would remain as they are in the form of drops.
Ostreos would require careful planning to prevent them from over-spawning or under-spawning. My preferred systems only allows them to spawn on any opaque blocks underneath a water source block with a light level of nine or higher. This prevents deep or underground pools from having extreme concentrations of these early fish mobs as a result of the larger in water blocks in the chunk. This also means it is easier to notice them because they will not spawn in water deeper than three blocks without an artificial light source.
Ostreos will differ from other mobs, in that reproduce on their own accord without player intervention. Rather than spawning in any suitable body of water, ostreos will reproduce if given sufficient space and the chunk will not spawn additional fish nor despawn fish after the chunk was initially created. To prevent tiny puddles from housing the fish mobs, they should only spawn in bodies of water containing at least 400 source blocks, such as a uniform 20x20 pond, and this minimum size will spawn a group of four ostreos. Larger ponds may contain additional ostreos and groups will spawn in groups of four. Smaller bodies of water can be used for fishing, however, because the fish items still exist as mentioned earlier. Ostreos will also only spawn in 33% of suitable bodies of water to prevent uniform and predictable levels of fish. The lower spawn rate will make the fish more erratic in their appearances and one will not know if they inhabit a specific lake. The auto-reproduction mechanic will, unfortunately be somewhat complicated.
Ostreos will behave more like terrestrial mobs than aquatic ones. They will spend most of their time sitting at the bottom of the body of water, only moving some of the time to a new spot in the lake rather than constantly swimming. Whenever it is swimming, the fish will be in “Free Roam Mode”. Ostreos in free roam mode will only ever swim up to one block above the lake bottom, rather than actively cruising through the water column. When an Ostreos has decided to stop swimming, it will go into “home range mode”, and rest at the bottom of the pond. There are no visual differences between the two modes, and they only affect the fishes's behavior. When an Osteos is in Home Range Mode it will simply define the nearby area as its personal space.
The size of the ostreos's personal space is dependent on its depth, but they will only inhabit blocks one to three block deep areas due to light strain, so the mechanics are straightforward. In one block deep water, an ostreos will use 49 blocks for its home range. In two block deep water, the fish will use 81 blocks for its home range. In three block deep water, they will require 121 blocks for each home range. All ostreos will attempt to create square ranges at their particular depths and use the same mechanics for spawning to define appropriate territories, creating 7x7, 9x9, or 11x11 ranges respectively under the best conditions. Most lakes in minecraft are not squares or rectangles, however, so their ranges are unlikely to be a perfect shape. Therefore, each ostreos will need to scan the area around itself to create its home range The fish will mark each block in helix around itself until it has occupied its desired number of blocks. This just means it will start with the block its head is resting on, include the block in front of itself, move to the right-front, rightside, right-back, back, left-back, leftside, left-front, move back to the front, notice it has already included that block and move one in front of itself, continuing until it has sufficient space. The fish's territory is not set in stone because they create new ones every time they swim. Each prefers not to overlap its range with that of another fish, and has an increased chance of moving if its territory overlaps with that of another. Rather than forcing the game to remember each fish personally to identify their home ranges, it would be easier to turn each water block into a visually identical “Range Block” (open to suggestion for better names) similar to the relationship between dirt and grassless-dirt. It acts identical to a water block except for modifying the behavior of ostreos in the pond. Ostreos can see 16 blocks in ever direction, and will scan its surroundings periodically for home range blocks intersecting its own. If it detects its territory overlapping that of another fish, it will be more inclined to reenter Free Roam Mode and swim at that time.
Ostreos breed by scanning their surroundings. A fish can potentially see other's ranges in every direction under the best of circumstances (e.g. if it is in the middle of shallow lake and surrouned by other ostreos, not so if at the edge of a a lake). Whenever the fish scans its territory, it will record the number of fish around itself and the free space available. If a potential area around the fish could be exploited as a home range but is vacant, it has a 33% chance to enter “Breeding Mode” and will search for other willing fish in the area for a few moments before giving up. Two fish in Breeding Mode will create one baby fish which will create its own home range. The population will continue to grow until the mobs occupy all appropriate areas of the lake, similar to villagers and houses.
Aquatic mobs make an ideal test subject for automatically reproducing mobs. Bodies of water are isolated from one another and will prevent the fish from uncontrollably spreading across the entire map. Even in huge oceans, the water is too deep to promote large populations because the fish each require their own regions of shallow water. To prevent over-breeding as a result of accidental releases into the ocean, I believe ostreos should die in ocean biomes or at least be unable to reproduce automatically. This will prevent them from slowly spreading along the coast until they occupy the entire rim of the ocean, and it will limit their automatic reproduction. Swamps and river biomes can be excluded habitats as well if further limits are needed for the sake of stress on the computer, but those biomes are more controlled than the ocean biome and seem like appropriate habitats. Lakes can be stocked with ostreos to create artificial populations, and they can become locally extinct from over-fishing.
Breeding animals in minecraft is one of the mechanics which makes for sustainable living, so one should be able to breed ostreos. I believe that seeds are an ideal item for breeding because they are easy to find, but forces the player to put some effort into farming them extensively. To prevent the player from luring the ostreos close to shore to kill them more easily, their breeding mechanic will have to be somewhat modified. If the lake is below or at the population it would achieve through auto-reproduction, the ostreos will show only vague interest in a player holding seeds. Every time an ostreos scans its surroundings, it will notice a player holding seeds and has a 33% chance of coming to the player. If fish swim to the player, he or she can feed them seeds and they will enter breeding mode. As the lake rises above its natural stocking level, the fish will become more willing to accept food from the player until they move to the player immediately when faced with extreme population levels in a dense farm. This allow gamers to farm ostreos in their ponds, but not catch them easily without a fishing rod in natural lakes.
The main issue with ostreos is seeing them underwater, especially at night. Because the main blocks that make up ponds are stones, dirt, sand, and possibly red sand, the fish will need to clash with these surfaces. I propose a simple orange for the head, and silver-gray for its body. A possible shimmering effect when they move may make it easier to see them in three-block deep lakes.
Ostreos naturally inhabit shallow ponds, lakes, and rivers, preferring shallow areas rather than deep regions. As a result of this, these fish will attempt to stay in water blocks with a light level of 9 or more when in Home Range Mode, and will go into Roaming Mode much faster in darker settings. If an Ostreos is for whatever reason swept into a cave or pitfall by flowing water (or a player trying to cheat his or her way out of fishing manually by creating a trap), they have the ability to swim out of these locations with relative ease, especially if the location in question is overstocked with too may of the fish or too dark. Waterfalls do not inhibit their spread.
They are passive mobs, and although they establish new Home Ranges every time they decide to swim, they will not resent anything that enters their ranges. Ostreos spend most of their time sitting on the bottom of lakes much like terrestrial mobs, and will scan their environments every ten seconds with a 50% of moving under normal conditions, and 75% in stressed conditions such as overlapping territories, or water too deep. Regardless they naturally spread throughout a body of water they inhabit. They will swim away from anything that comes too close, which makes hunting them by hand difficult. Bows can be used to kill them easily, as they only have one hit point each.
Ostreos will not take away from the fish items, and will actually only be caught a small amount of the time without enchantment, fulfilling the role of a “big catch” where they live. Every time the fish scans its surroundings and notices a hook in the water, it has a 12.5% chance of swimming to the line of an unenchanted rod and and attaching to it, allowing the player to reel it in for about half a second like normal fish. Upon reel in, the ostreos will be stunned for ten seconds, allowing the player to kill it with a single punch or capture it in something such as a large jar such item were implemented. If the player does not want to kill the fish, it can be ignored to recover and swim away. When killed, an ostreos will drop 2-4 raw fish. Other fish will still be extremely valuable because of the ostreos naturally low catch rate.
This is simply the base idea for a self-reproducing mob and implementing fish into the game. Small lakes make excellent first testing grounds to prevent extreme overpopulation. Opheos will hopefully develop further if others prove interested in the concept. Perhaps a plan for other mobs to reproduce on their own as well can be created in time. I do not want to make the idea too large at this time, and other fish mobs or more complex mechanics will hopefully be included at a later date. I would like to get any reviews of the idea. Thank you.
Edit: I'll just make it anyways. It will be fun a least even with no support from the greater community. I think after 2 weeks I can call my thread passed over.