Starbound'un su sistemi aslında 2B karo esaslı hücresel otomatlardır. Ekranda ön karo katmanı içermeyen her karo su tutabilir. Su miktarı hücresel otomata ile hesaplanır.
Bu teknik hakkında daha fazla bilgiyi burada bulabilirsiniz:
http://www.gamasutra.com/view/feature/134736/an_intro_to_cellular_automation.php
http://www.jgallant.com/2d-liquid-simulator-with-cellular-automaton-in-unity/
Yağmur damlaları gelince, bunlar parçacıklar. Esas olarak gökten düşen su olduğu için sahte hizmet ederler. Su sadece oyunun yağmur yağdığını bildiği için birikir. Bireysel damlaların su havuzlarının gerçek oluşumu ile ilgisi yoktur.
Birikmesini sağlamanın yolu, toprağın üst katmanında deliklerin nerede olduğunu belirlemektir. Su biriktirebilecek bir alan varsa, o bölgedeki hücreler su seviyelerini buna göre arttırır.
Starbound ayrıca su basıncı ile ilgilenir ve bunların render tekniği oldukça şaşırtıcıdır. Şimdiye kadar gördüğüm hücresel otomata kullanarak su simülasyonları fizik en iyi 2D uygulaması var.
Yukarıda adı geçen hücresel otomata tekniğini kullanan bir sıvı fizik motorunun ilkel bir görünümü. Suyunuz sayısal bir değerle temsil edildiğinden, oluşturma bölümü biraz daha karmaşık hale gelir.
http://www.jgallant.com/images/pressuretest.gif
Bu örnekte, altında katı bir kiremit yoksa, 1 birimden daha az su içeren su hücrelerini kiremitinde gizlemek çok basit bir gelişme olacaktır. Ama sonra, su akışını saklıyorsunuz. Gizlemek yerine, suyun nasıl aktığını belirlemeniz ve ardından yerine uygun su spriteını çizmeniz gerekir.