ระบบน้ำของ Starbound นั้นเป็นระบบออโตมาตาเซลเซลแบบ 2D แบบกระเบื้อง แต่ละกระเบื้องบนหน้าจอที่ไม่มีเลเยอร์ของกระเบื้องด้านหน้าสามารถถือน้ำได้ ปริมาณน้ำจะถูกคำนวณผ่านเซลลูลาร์ออโตมาตา
ข้อมูลเพิ่มเติมเกี่ยวกับเทคนิคนี้ที่นี่:
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/
สำหรับหยดฝนนั้นเป็นอนุภาค พวกเขาให้บริการหลักในการปลอมว่ามีน้ำตกลงมาจากท้องฟ้า น้ำสะสมเพียงเพราะเกมรู้ว่าฝนกำลังตก หยดแต่ละอันไม่เกี่ยวข้องกับการก่อตัวของแอ่งน้ำจริง
วิธีที่พวกเขาได้รับมันคือการกำหนดโดยที่มีหลุมในชั้นบนสุดของพื้นดิน หากมีพื้นที่ที่สามารถสะสมน้ำเซลล์ในพื้นที่นั้นจะเพิ่มระดับน้ำตามลำดับ
Starbound จัดการกับแรงดันน้ำและเทคนิคการเรนเดอร์ของพวกเขานั้นน่าทึ่งมาก พวกเขามีการใช้ 2D ฟิสิกส์ที่ดีที่สุดโดยใช้เซลออโตมาตาที่ฉันเคยเห็น
นี่คือมุมมองดั้งเดิมของเครื่องมือฟิสิกส์ของเหลวโดยใช้เทคนิคเซลลูลาร์ออโตมาตาที่กล่าวถึงข้างต้น ส่วนการเรนเดอร์มีความซับซ้อนมากขึ้นเล็กน้อยเนื่องจากน้ำของคุณมีค่าตัวเลข
http://www.jgallant.com/images/pressuretest.gif
ในตัวอย่างนี้การปรับปรุงที่ง่ายมากคือการซ่อนเซลล์น้ำที่มีน้ำน้อยกว่า 1 หน่วยในกระเบื้องถ้าไม่มีกระเบื้องทึบด้านล่าง แต่คุณซ่อนสายน้ำไว้ แทนที่จะซ่อนไว้คุณจะต้องกำหนดว่าน้ำไหลอย่างไรจากนั้นจึงดึงน้ำสไปรต์ที่เหมาะสมมาวางแทน