YAOSC (Yet Another Old School Clone)
Untrained characters can usually stay afloat or move slowly (¼ their base land speed) in calm water. After a number of minutes equal to their Con, they begin making Strength checks every minute; a character who fails this begins drowning. Difficult waters demand a Strength check every minute starting immediately. Stormy waters demand a check every round.
A successful check can increase the speed by one unit for each point by which it succeeds (so a roll of 2 on a skill of 4 gives a swim speed of 125% of base land speed). This speed increase lasts until the next Swim check is made. Swim checks can be made voluntarily in an attempt to increase speed; failing a voluntary check does not cause drowning.