The real sinking of a ship occurs in one of two ways - either very quick, ie under a minute, or very long. This depends on the damage, and the damage survivability of the vessel in question. Modern vessels are built in watertight sections, thus you can puncture 2 of these sections for example and the ship will remain afloat. This is known as Damage Stability and the effects of it can be worked out.
For a ferry this is usually the spaces from forward to aft, perhaps 7 in all (for a 200m ferry) and then the engine room is usually a larger space and thus holing the engine room will cause problems - infact lots of problems. Plus a collision bulkhead is at the forward end of all ships - a kind of crumple zone like cars, this is usually the foc'sle which is just a ballast tank/store.
For a true vessel to sink you would need to gouge a huge hole in the ship, you are talking 50 metres plus.
The other way for a vessel to sink is from water ingress - not due to a damage in the hull, but due to the vessel not being watertight, or hatches breaking. The Derbyshire sank because her hatches gave way under the huge waves. The Braer off scotland - you know what caused this to sink/ground? A 200,000T tanker? Someone forgot to lash down some small pipes, these rolled about in the storm, smashing the vents off the fuel pipes, water got into the fuel, engine stops - she's aground!!
Sinking of ships is very hard to program, the same ship will sink 20 different ways depending on how she was holed, weather - especially wind, ie which way she will list - perhaps the list will lift the hole out the water - thus stopping water ingress and preventing the ship from sinking!!
Give the programmers a break to correct the handling characteristics before we get on with the Holywood stunts.......
Steve