Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

[1.6.4] Fysiks Fun (SSP/SMP, Forge 9.11.1)

fluid dynamics gases dynamic world volcanoes physics

  • Please log in to reply
242 replies to this topic

#1

mbrx
    mbrx

    Full Stack

  • Members
  • 64 posts
  • Location: Sweden

Posted 19 March 2013 - 07:51 PM

Fysiks Fun, Beta release 0.5.7
Posted Image


Minecraft version: 1.6.4
Forge version: 9.11.1 (build 965)
Single player: working "ok" in beta if you have a powerful computer
Multi player: technically it works but will cause lag
Download link


Latest news

Release 0.5.7 is a bug-fix release. Among other improvements random breaking of houses
that was caused by an edge-condition (border between physics/not-physics) have been improved.

Pistons have been improved to be able to push any block, including chests, other pistons, mining wells, etc. Sticky pistons can now also pull in a column of up to 256 connected blocks. (Hint: You can use this for mining!)

Release 0.5.6 comes with minor improvements to the tree generation (the wood was not fully connected before) which should help against many of the collapsing trees (not all). Large bodies of water should flow a bit faster which should fix the "accidentally draining the ocean" bug.
Also increased default strength of some materials (you need to delete FysiksFun-rules.cfg for change to take effect).

Note that you need to install both the FysiksFun and the FysiksFunCore mods in your minecraft/mods directory.

Note 2: I will be afk until march, so no updates until then.


About
Fysiks Fun is a work in progress that aim to more realism to the minecraft world and to make it come alive with natural phenomena. It does this by adding a number of physics effects as well as by adding a few ecology based effects.

The former category of effects include making all liquids finite and to flow in a "natural" way, a full world computation of forces and blocks that fall/break depending on the forces acting on them, and trees that fall sideways when you chop them down.
All of these effects are applied to every block in the world (ie. all the water in oceans, all the blocks under/over the player in the world).

The later category of effects include plant life that consume water and that spreads by themselves, and rewritten AI routines for animals to eat and spread in the world, an eco-system for the water coming from rain, falling over the terrain humidifying underground, evaporating into steam based on heat and sunlight and finally coming back as rain again when the steam has moved with the winds.

The mod aims to be compatible with most other Forge mods.

Features
Spoiler:

This mod is very CPU intensive and uses multithreading for all of it's own computations. Thus it is beneficial to use a computer with many cores.  Unless you have a very many cores (or very fast ones) the game will run slower than the nominal speed (ie. lag).
It will most likely cause lag on all but very tiny servers.

Details about the features: (not complete yet)
Spoiler:

  • Terra-firma craft
    Spoiler:
  • Volcanoes
    Spoiler:

  • Other
    Spoiler:

  • Change log

    Spoiler:

    Configuration files and modules
    Spoiler:

    Videos
    Spoiler: Exciting volcanoes
    Spoiler: Earlier releases

    Screenshots
    Spoiler: A water fall

    Spoiler: Timber! Trees falling naturally

    Spoiler: Finite oil (when using Buildcraft)

    Download and Installation

    Download link

    The mod is continuously updated and you can download the latest release from the Dropbox link above.

    Assuming that you have the right version of Forge installed you can just drop the zip file in your mods/ directory to install it. Please take a look at the configuration file for some of the options. The name of the release now contain the minecraft version (mc164) and the forge version (942) in them so you know which version is needed.

    If you have a when loading the mod in Forge this is caused by old version of Java, you need atleast Java 7 or 8.

    License

    I haven't yet quite decided for the final license for this mod. In the meantime: This modification (henceforth called "The Mod") to Minecraft is copyrighted and is the intellectual property of mbrx (henceforth called "The Author"), The Mod may only be distributed by The Author or by any of the appointed websites ("minecraftforum.net") or people, and may not be hosted on any other website or distributed publicly, in the original and/or a modified state, without advance written permission from The Author, however mirrors are allowed if credit is due, and The Author is informed directly of said mirror. ©2013 mbrx
    License written by EnergyRay

    Register or log in to remove.

    #2

    DismalAmoeba
    • Location: Cutting tall grass to see if I can find money.
    • Minecraft: ConstantNexus
    • Xbox:Yeah...No.

    Posted 19 March 2013 - 09:41 PM

    Interesting...

    I wonder how I can make traps with this...
    Posted ImagePosted Image
    Hey, guys. Quote me if you want me to respond. Otherwise I'll have no idea what the hell you want with me.
    Friend Code: 1263-6258-8121 (Poison)
    Friend Safaris: Poison: Swalot, Whirlipede, Seviper.

    #3

    Sukasa
      Sukasa

      Coal Miner

    • Members
    • 110 posts

    Posted 20 March 2013 - 05:08 AM

    This looks really, really impressive.  Do you have plans to implement anything similar to the Finite Liquids mechanic of large-enough bodies of water being infinite sources?  F.W. had one problem where oceans could be infinite sources, but never sink (absorb) water, leading to flooding problems over time.  Do you have any plans to address that issue, if it isn't already addressed?

    #4

    UberWaffe
    • Location: Orbiting reality at +3 irrationalities
    • Minecraft: UberWaffe

    Posted 20 March 2013 - 07:59 AM

    Freaking awesome!!

    Pretty much exactly what I want from a finite liquids mod. (I.e. everything is finite, one single mechanic for all fluids).

    (Note: Sorry, verbal diarrhea ahead. Posted Image ).

    Some ideas at lowering CPU intensity and such over from the finite liquid mod thread.

    Lowering CPU intensity (i.e. active & passive blocks):
    http://www.minecraft...0#entry21235019

    Badly explained 'fix' for preventing ocean flooding (i.e. level cap for large bodies of water):
    (The first part (the assumptions spoiler) is what I think would work well for simple mechanics of fluids.)
    (The other parts are about large fluid bodies and how they act)
    http://www.minecraft...0#entry21265618
    2nd attempts at explaining the 'Rain vanishes into large water bodies' more simply:
    http://www.minecraft...0#entry21279191

    Alternative way of 'evaporation' (i.e. seepage vs. evaporation):
    http://www.minecraft...0#entry21363677


    If you are interested in an old engineer's rantings.Posted Image
    Spoiler:

    People just can't stay away from me... but that is because I'm so fat I have my own gravitational field.
    It's the flying cutlery that stresses me out.

    #5

    mbrx
      mbrx

      Full Stack

    • Members
    • 64 posts
    • Location: Sweden

    Posted 20 March 2013 - 09:50 AM

    View PostSukasa, on 20 March 2013 - 05:08 AM, said:

    This looks really, really impressive.  Do you have plans to implement anything similar to the Finite Liquids mechanic of large-enough bodies of water being infinite sources?  F.W. had one problem where oceans could be infinite sources, but never sink (absorb) water, leading to flooding problems over time.  Do you have any plans to address that issue, if it isn't already addressed?

    Right now I have made the oceans into finite liquid bodies, but this becomes handleable since I am using my own scheduling system for block updates. (whenever the liquid level changes in a block I schedule an update for that block and all neighbours, whenever another minecraft block changes all neighbours are scheduled for update). The default update mechanics of MC seem to capped at 350 updates per tick (7000 per second) which is much too low for large bodies of water. My scheduling system removes that limitation and allows up to 10000000 updates per second (obviously with some optimisations). I may make it multithreaded later on also.

    Nevertheless, even though the oceans are finite I have made a layer at depth 60 (or so, have to check the code) that counts as an inifinite source - otherwise I have the problem that the whole oceans starts draining down into underground holes that are left by the world generation. (I've tried adding some patches to "repair" this type of holes and ravins, but still have a large drainage on the oceans). While the ocean is beeing drained it uses almost all of the allowed tick updates which makes other liquid interactions lagging....  It's not the most elegant solution to the problem and I will keep looking into exactly where all the water goes.

    Quote

    Freaking awesome!!

    Pretty much exactly what I want from a finite liquids mod. (I.e. everything is finite, one single mechanic for all fluids).

    (Note: Sorry, verbal diarrhea ahead. Posted Image ).

    Some ideas at lowering CPU intensity and such over from the finite liquid mod thread.

    Thanks, I will read through these threads a bit more carefully tonight. Your assumptions on how the physics are working is correct with the small difference on the scheduling system (described above) plus a mechanism of random "expensive" ticks that uses a random walk to equalize pressure differences over larger distances. Otherwise wew would get ramps that never get equalized with an integer difference of 1 for each step along the ramp. The big  limitation here is that we only have 4 bits of data that can be saved for each block and I'm only using 3 of those bits (ie. integers 1 - 8) for backwards compatability with the rendering system and other mods.

    #6

    UberWaffe
    • Location: Orbiting reality at +3 irrationalities
    • Minecraft: UberWaffe

    Posted 24 March 2013 - 06:17 AM

    Hi, mbrx.

    Gave the mod a try, and I have to say. I like the fluid mechanics.

    Didn't run with the mod for too long, as for some reason a river, a good chunk of ocean, and a small pond all drained / balanced-out their levels with a nearby ravine that was not connected to either of the three... not even underground, as far as I could tell. (Yes, I did go swim-spelunking).Posted Image

    Lag was surprisingly low (though still noticeable) for the amount of action going on. Well done.Posted Image

    Could you possibly add in a config file with options for:
    • Enabling/Disabling the "balancing over large areas" of fluids. (I.e. disable the code that smooths out the ramps in water)
    • Enabling/Disabling water being created by rain.
    • Enabling/Disabling water being created by evaporation.
    • Allow "smaller than 8" water puddles to be destroyed by clicking them with a bucket.
    The main request being the ability to disable the large area balancing code, as I'd love to experiment with the trade-off of lag vs. realism. (Though, in all honestly, I have a "Fun > realism" approach to things).
    People just can't stay away from me... but that is because I'm so fat I have my own gravitational field.
    It's the flying cutlery that stresses me out.

    #7

    mbrx
      mbrx

      Full Stack

    • Members
    • 64 posts
    • Location: Sweden

    Posted 25 March 2013 - 04:41 PM

    View PostUberWaffe, on 24 March 2013 - 06:17 AM, said:

    Gave the mod a try, and I have to say. I like the fluid mechanics.

    Didn't run with the mod for too long, as for some reason a river, a good chunk of ocean, and a small pond all drained / balanced-out their levels with a nearby ravine that was not connected to either of the three... not even underground, as far as I could tell. (Yes, I did go swim-spelunking).Posted Image

    Thanks for checking it out. I have since been working on an updated version of the mod compatible with MC 1.5.1 (i'm just waiting for forge to make a stable release for 1.5.1 before i upload it).  One bug fix that I did was that I noted that water fall down into the "air" of unloaded chunks, giving a problem on the borders of the area that was loaded. This is now working much better, and might have had to do with the problem you saw.

    View PostUberWaffe, on 24 March 2013 - 06:17 AM, said:

    Lag was surprisingly low (though still noticeable) for the amount of action going on. Well done.Posted Image

    Could you possibly add in a config file with options for:
    • Enabling/Disabling the "balancing over large areas" of fluids. (I.e. disable the code that smooths out the ramps in water)
    • Enabling/Disabling water being created by rain.
    • Enabling/Disabling water being created by evaporation.
    • Allow "smaller than 8" water puddles to be destroyed by clicking them with a bucket.
    The main request being the ability to disable the large area balancing code, as I'd love to experiment with the trade-off of lag vs. realism. (Though, in all honestly, I have a "Fun > realism" approach to things).

    Yes, I've added lots more configuration options now in the new version, especially to deal with all the new features that introduce lag.

    New features already implemented include:
    • Separated the queue over which blocks to calculate physics for and and which blocks should be sent over the network to the client. This allows me to perform much more accurrate calculations and only visualize at a lower rate when there are many things going on. By carefully adjusting a throttle of number of blocks are sent to the user this can almost completely remove lag (atleast, experiencing lag for anything that is not a liquid).
    • A new system for displacing dirt and sand blocks based on liquid movement, mimicing the natural erosion and formation of rivers of water, canyons etc.
    • Trees that are submerged in water will slowly die, trees will drink small amounts of water from nearby ponds.
    • Options to disable rain over the oceans (in single player it's doable, but for multiplayer it costs too many updates).
    The system for erosion still needs quite a bit of testing and tuning to make the resulting rivers and lakes a bit more aesthically pleasing. Though it is very fun to make a large dam or empty a lake and see how the water flowing downhill carries away the dirt with it =)

    I like the idea of water buckets for destoying partial water levels, thanks! (or alternatively, partially filled water buckets. Would that be interesting? Could be hard to make it compatible though so I'm not putting a high priority on this)

    #8

    Kattalassien
    • Location: Spawn
    • Minecraft: Kattalassien

    Posted 25 March 2013 - 10:14 PM

    Can't believe no one has picked up on this! This is amazing! Way to go. I haven't played with it yet, but I look forward to it.
    Posted Image

    #9

    UberWaffe
    • Location: Orbiting reality at +3 irrationalities
    • Minecraft: UberWaffe

    Posted 26 March 2013 - 08:36 AM

    View Postmbrx, on 25 March 2013 - 04:41 PM, said:

    Thanks for checking it out. I have since been working on an updated version --snip--
    Thanks for making it.Posted Image In fact... Let me just... There, much better.Posted Image
    Glad to hear you are enjoying making this mod.


    View Postmbrx, on 25 March 2013 - 04:41 PM, said:

    I like the idea of water buckets for destoying partial water levels, thanks! (or alternatively, partially filled water buckets. Would that be interesting? Could be hard to make it compatible though so I'm not putting a high priority on this)
    Now that you mention it, a separate-from-vanilla-bucket mod specific bucket might be in order, just to avoid mucking with vanilla classes as much as possible.


    View Postmbrx, on 25 March 2013 - 04:41 PM, said:

    Yes, I've added lots more configuration options now in the new version, especially to deal with all the new features that introduce lag.
    --snip--
    Wow. Those sound super neat. I'd love to give those a try.

    A small question/suggestion. Would it be possible to make plants (wheat, trees, sugarcane, etc) drain water to grow. As in, once grown, no longer uses water, but to grow from seed / sapling, they do. (Trees should use more than wheat / sugarcane given the sheer size difference).
    It is just that I'd rather not have natural trees and forests suck rivers dry, but having to actually make some effort in getting water to your farms does actually make sense.
    Also, it will probably be less of a lag hit, since there are less seeds / saplings (usually) than there are tree blocks / fully grown wheat.
    People just can't stay away from me... but that is because I'm so fat I have my own gravitational field.
    It's the flying cutlery that stresses me out.

    #10

    mbrx
      mbrx

      Full Stack

    • Members
    • 64 posts
    • Location: Sweden

    Posted 27 March 2013 - 09:14 PM

    View PostUberWaffe, on 26 March 2013 - 08:36 AM, said:

    Wow. Those sound super neat. I'd love to give those a try.

    Well, wait no longer. I've uploaded a new version now (will update the post in a second). I still consider the erosion very much in alpha stage though.

    View PostUberWaffe, on 26 March 2013 - 08:36 AM, said:

    A small question/suggestion. Would it be possible to make plants (wheat, trees, sugarcane, etc) drain water to grow. As in, once grown, no longer uses water, but to grow from seed / sapling, they do. (Trees should use more than wheat / sugarcane given the sheer size difference).
    It is just that I'd rather not have natural trees and forests suck rivers dry, but having to actually make some effort in getting water to your farms does actually make sense.
    Also, it will probably be less of a lag hit, since there are less seeds / saplings (usually) than there are tree blocks / fully grown wheat.

    I haven't looked into the vanilla code for growing wheat yet, but that was my idea. (Not that they consume continously). For the trees however I think I will need to make it a continous drinking in order to offset that they hide the area under them from the evaporation. Otherwise the forests gets very very wet after a while. I'll limit the drinking area to a 2 block radius though, usually trees are further away from rivers/lakes than that.

    #11

    UberWaffe
    • Location: Orbiting reality at +3 irrationalities
    • Minecraft: UberWaffe

    Posted 29 March 2013 - 08:11 AM

    Ah, you are far too fast for me.
    I'm still stuck on 1.4.7 Posted Image

    I'll try and get 1.5.1 and test this, but the internet on the project I am currently on is extremely uncooperative with any files larger than 2 Mb (such as Minecraft 1.5.1).

    I might have to wait for my next R&R in 4 weeks time.
    People just can't stay away from me... but that is because I'm so fat I have my own gravitational field.
    It's the flying cutlery that stresses me out.

    #12

    mbrx
      mbrx

      Full Stack

    • Members
    • 64 posts
    • Location: Sweden

    Posted 29 March 2013 - 10:57 AM

    View PostUberWaffe, on 29 March 2013 - 08:11 AM, said:

    Ah, you are far too fast for me.
    I'm still stuck on 1.4.7 Posted Image

    I'll try and get 1.5.1 and test this, but the internet on the project I am currently on is extremely uncooperative with any files larger than 2 Mb (such as Minecraft 1.5.1).

    I might have to wait for my next R&R in 4 weeks time.

    Sorry to hear that, I was updating now already since I knew that there where a number of changes between 1.4.7 and 1.5 that affected the network performance. (At first FF was much slower using the 1.5 version, but that was a blessing in disguise since it forced me to reimplement which blocks are sent over the network to the player - given a speed up).

    I just added a proper mechanism for falling trees (making them fall sideways down until they hit the ground or other things). Still need some more testing especially for very large trees.

    #13

    Sydric1
      Sydric1

      Stone Miner

    • Members
    • 90 posts

    Posted 29 March 2013 - 01:24 PM

    what did i read that right?

    did you say falling trees?

    #14

    mbrx
      mbrx

      Full Stack

    • Members
    • 64 posts
    • Location: Sweden

    Posted 29 March 2013 - 02:09 PM

    View PostSydric1, on 29 March 2013 - 01:24 PM, said:

    what did i read that right?

    did you say falling trees?

    Yup, it's more or less stable in the 0.2.1 release (haven't updated the post yet since imgur is down). Haven't tested it in  jungles yet only in normal forsts. The trees can fall in one of four directions and pull their leaves and all of the main trunk with them. They can end up falling only partially if there's something blocking them (like a mountain) on that side.

    (Edit: an experimental version of it was there already in the 0.2.0 release but hidden as an easter egg in the configuration file).

    #15

    Sydric1
      Sydric1

      Stone Miner

    • Members
    • 90 posts

    Posted 29 March 2013 - 10:38 PM

    aw man i cant wait to use that feature.

    is there sound effects as they fall?

    bookmarked

    #16

    mbrx
      mbrx

      Full Stack

    • Members
    • 64 posts
    • Location: Sweden

    Posted 30 March 2013 - 02:17 AM

    View PostSydric1, on 29 March 2013 - 10:38 PM, said:

    aw man i cant wait to use that feature.

    is there sound effects as they fall?

    bookmarked

    sorry but there are no sound effects yet. I have to look into making a custom network package from the server to the client to do that (plus of course recording some sound effect) for that. It's on my todo list though =)

    #17

    Nokuru
      Nokuru

      Stone Miner

    • Members
    • 85 posts
    • Location: Brazil
    • Minecraft: Nokuru

    Posted 30 March 2013 - 04:09 PM

    installed this mod.
    Obsidian is now impossible.
    Spoiler:

    #18

    UberWaffe
    • Location: Orbiting reality at +3 irrationalities
    • Minecraft: UberWaffe

    Posted 31 March 2013 - 08:33 AM

    View Postmbrx, on 29 March 2013 - 02:09 PM, said:

    --snip-- falling trees --snip--
    That... is... EPIC!!!
    People just can't stay away from me... but that is because I'm so fat I have my own gravitational field.
    It's the flying cutlery that stresses me out.

    #19

    Nokuru
      Nokuru

      Stone Miner

    • Members
    • 85 posts
    • Location: Brazil
    • Minecraft: Nokuru

    Posted 31 March 2013 - 09:22 AM

    You have to fix the orientation of the logs when a tree falls...
    Spoiler:

    #20

    mbrx
      mbrx

      Full Stack

    • Members
    • 64 posts
    • Location: Sweden

    Posted 31 March 2013 - 11:38 AM

    View PostNokuru, on 30 March 2013 - 04:09 PM, said:

    installed this mod.
    Obsidian is now impossible.

    Thanks for catching this, it was a bug introduced in the 0.2 release. It's fixed now in the 0.2.2 release. When mixing water and lava you can now get either cobblestone or obsidian (roughly twice as much cobblestone as obsidian). If you mix them slowly the amount of stone/obsidian you get from a certain amount of lava is slightly higher due to how the code is implemented.