OpenTTD เกมจำลองเครือข่ายการขนส่งโอเพนซอร์ส
(openttd.org)- OpenTTD คือเกมโอเพนซอร์สที่สร้างขึ้นใหม่จาก Transport Tycoon Deluxe เพื่อให้เล่นได้ในสภาพแวดล้อมสมัยใหม่ โดยยังคงอารมณ์การเล่นของต้นฉบับไว้พร้อมขยายขนาดและฟีเจอร์อย่างมาก
- เผยแพร่ภายใต้ไลเซนส์ GPL v2.0 และสามารถตรวจสอบข้อมูลไลเซนส์ได้จาก
COPYING.mdที่รวมอยู่ในการดาวน์โหลดซอร์สและแต่ละรีลีส - เพิ่มความสามารถด้านการเล่นขนาดใหญ่และเครือข่าย เช่น แผนที่ใหญ่ได้สูงสุด 64 เท่า ของต้นฉบับ รองรับผู้เล่นหลายคนสูงสุด 255 คน เซิร์ฟเวอร์เฉพาะ และรองรับ IPv6/IPv4
- สามารถดาวน์โหลด AI, NewGRF, สถานการณ์จำลอง และ heightmap ได้จากในเกม และยังมีฟีเจอร์ช่วยลดงานซ้ำ เช่น ลากแล้ววาง เมาส์วีล และการประเมินค่าใช้จ่ายด้วย
Shift - รองรับภาพหน้าจอแบบ BMP/PNG/PCX, กราฟิก 32 บิต, ภาษาที่เขียนจากขวาไปซ้าย และการปรับขนาด UI ตามฟอนต์ โดยสามารถดูรายละเอียดฟีเจอร์เพิ่มเติมได้จาก Wiki และ README
เกมต้นแบบและไลเซนส์ที่ OpenTTD ใช้เป็นพื้นฐาน
- OpenTTD เป็นเกมจำลองแบบโอเพนซอร์สที่พัฒนาบนพื้นฐานของเกม Microprose “Transport Tycoon Deluxe” ซึ่งสร้างโดย Chris Sawyer
- พัฒนาไปในทิศทางของการจำลองต้นฉบับให้ใกล้เคียงที่สุด พร้อมเพิ่มฟีเจอร์ใหม่เข้าไป
- ไลเซนส์คือ GNU General Public License version 2.0
- รายละเอียดเพิ่มเติมดูได้จาก
COPYING.mdที่รวมอยู่ในการดาวน์โหลดซอร์สและแต่ละรีลีส
- รายละเอียดเพิ่มเติมดูได้จาก
ขนาดเกมและการเล่นผ่านเครือข่ายที่ใหญ่ขึ้นกว่าต้นฉบับ
- ขยายขนาดเพื่อรองรับโลกที่ใหญ่ขึ้นและผู้เล่นที่มากขึ้น
- ขนาดแผนที่สามารถใหญ่ได้ถึง 64 เท่า เมื่อเทียบกับต้นฉบับ
- โหมดผู้เล่นหลายคนรองรับได้สูงสุด 255 คน และเข้าร่วมได้ในรูปแบบ 15 บริษัทหรือผู้ชม
- มีโหมดเซิร์ฟเวอร์เฉพาะและคอนโซลในเกมสำหรับการจัดการ
- รองรับทั้ง IPv6 และ IPv4 ในการสื่อสารทั้งหมดระหว่างไคลเอนต์และเซิร์ฟเวอร์
- สามารถเพิ่มคอนเทนต์ได้โดยตรงจากในเกม
- ดาวน์โหลด AI, NewGRF, สถานการณ์จำลอง และ heightmap ได้จากในเกม
- รองรับฟีเจอร์ TTDPatch NewGRF เพื่อกำหนดค่าและปรับเปลี่ยนกราฟิกกับพฤติกรรมการทำงาน
- มีเฟรมเวิร์กสำหรับ AI ที่ผู้ใช้เขียนเองรวมอยู่ด้วย
- ปรับปรุงการเคลื่อนที่ของยานพาหนะและการเลือกเส้นทาง
- ใช้อัลกอริทึมค้นหาเส้นทางแบบใหม่เพื่อให้ยานพาหนะเดินทางไปยังทิศทางที่ต้องการได้ดีขึ้น
- สามารถตั้งค่าโมเดลการเร่งความเร็วของยานพาหนะได้
การขยายการจัดการโครงสร้างพื้นฐานและยานพาหนะ
- ออกแบบระบบราง ถนน และการขนส่งทางน้ำได้หลากหลายขึ้น
- รองรับคลอง ลิฟต์เรือ และสะพานส่งน้ำ
- สร้างสถานีที่ใหญ่ขึ้นและไม่จำเป็นต้องมีรูปทรงสม่ำเสมอได้ รวมถึงเชื่อมสถานีเข้าด้วยกันได้
- ก่อสร้างบนพื้นที่ลาดชันและชายฝั่งได้
- รองรับสะพานที่ยาวและสูงขึ้น ดีไซน์สะพานใหม่ และการวางรางหรือถนนใต้สะพานได้อย่างยืดหยุ่น
- เพิ่มความสามารถในการเดินรถไฟและยานพาหนะ
- รองรับรถไฟขนาดใหญ่และยานพาหนะหลายต้นกำลัง
- สามารถโคลนยานพาหนะ เปลี่ยนอัตโนมัติ และอัปเดตอัตโนมัติได้
- ใช้คำสั่งขั้นสูงและแบบมีเงื่อนไข รวมถึงการแชร์และคัดลอกคำสั่งได้
- ระบบสัญญาณช่วยให้ควบคุมการเดินรถได้ละเอียดขึ้น
- มี presignal, semaphore และสัญญาณแบบอิงเส้นทาง
โลกในเกม ภาษา และการรองรับทรัพยากร
- จัดองค์ประกอบของเมืองและสิ่งแวดล้อมได้หลากหลายขึ้น
- สามารถวางต้นไม้หลายต้นในหนึ่งช่องได้
- สามารถติดสินบนหน่วยงานเมืองได้
- ลดขนาดไฟล์เซฟด้วยการบีบอัด zlib โดยไม่ขัดจังหวะการเล่น
- รองรับภาษาและทรัพยากรพื้นฐานอย่างกว้างขวาง
- OpenTTD ได้รับการแปลแล้วมากกว่า 50 ภาษา
- ชื่อเมืองที่สร้างแบบไดนามิกรองรับ 18 ภาษา และสามารถเพิ่มภาษาเพิ่มเติมผ่าน NewGRF ได้
- มีกราฟิก เสียง และดนตรีที่แจกจ่ายได้อย่างเสรี
ฟีเจอร์ด้านการใช้งานเพื่อลดงานซ้ำ
- มีการควบคุมแบบลากแล้ววางเป็นหลักสำหรับงานก่อสร้างและจัดการ
- ใช้เครื่องมือแปลงรางเพื่อเปลี่ยนเป็นรถไฟไฟฟ้า โมโนเรล และรถไฟแม่เหล็กลอยตัวได้
- รองรับ ลากแล้ววาง ในแทบทุกเครื่องมือ เช่น การรื้อถอน การสร้างและลบถนนหรือราง สถานี และตัวแก้ไขสถานการณ์จำลอง
- สามารถลากขบวนรถไฟทั้งขบวนไปยังถังขยะไดนาไมต์เพื่อขายได้
- จัดการรายการและหน้าจอได้รวดเร็วขึ้น
- รายการส่วนใหญ่ เช่น ยานพาหนะ สถานี เมือง และอุตสาหกรรม สามารถเรียงลำดับได้ตามหลายเกณฑ์
- ใช้เมาส์วีลเพื่อเลื่อนเมนูและซูมเข้าออกได้
- เลื่อนหน้าจออัตโนมัติเมื่อเมาส์เข้าใกล้ขอบหน้าจอหรือหน้าต่าง
- สามารถประเมินค่าใช้จ่ายได้ด้วยปุ่ม
Shift - เปลี่ยนการตั้งค่าระหว่างเล่นได้จากหน้าต่างตัวเลือกขั้นสูง
ฟีเจอร์ด้านกราฟิกและความสะดวกของอินเทอร์เฟซ
- มีตัวเลือกการแสดงผลและรูปแบบการบันทึกที่กว้างขึ้น
- บันทึกภาพหน้าจอได้ในรูปแบบ BMP, PNG, PCX
- รองรับสกุลเงินมากขึ้น รวมถึงการใช้เงิน Euro ในปี 2002
- ใช้มุมมองเพิ่มเติมหลายจุดเพื่อดูหลายส่วนของโลกในเกมพร้อมกันได้
- เลือกความละเอียดและอัตรารีเฟรชได้ในโหมดเต็มหน้าจอ
- ปรับปรุงการดูข้อมูลและการจัดการหน้าต่างระหว่างเล่น
- แสดงหนังสือพิมพ์สีหลังจากวันที่ที่กำหนด
- รายได้ของยานพาหนะถูกแยกด้วยสี
- เพิ่มความเร็วเกมได้ด้วยปุ่มเร่งหรือปุ่ม
TAB - หน้าต่างรองรับพฤติกรรมแบบ snappy และ sticky สำหรับการจัดแนวและการปักไว้ด้านบนเสมอ
- มีคีย์ลัดเพิ่มขึ้นเพื่อลดการคลิกเมาส์
- รองรับสภาพแวดล้อมด้านกราฟิกและภาษาที่หลากหลาย
- ใช้ กราฟิก 32 บิต ได้
- รองรับภาษาที่เขียนจากขวาไปซ้าย
- มี UI ที่ปรับขนาดตามฟอนต์และการแปล
รายการฟีเจอร์และการรองรับระบบปฏิบัติการ
- รายการฟีเจอร์ทั้งหมดมีจำนวนมากจนแทบต้องอัปเดตทุกวันและไม่สามารถใส่ไว้ทั้งหมดในหน้า About ได้
- ดูฟีเจอร์และความสามารถเพิ่มเติมได้ที่ Wiki
- OpenTTD รองรับระบบปฏิบัติการหลากหลายชนิด โดยดูรายละเอียดได้จาก OpenTTD README
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
OpenTTD ครบรอบ 20 ปี ในปีนี้ และว่ากันว่ากำลังเตรียมรีลีสใหญ่ระดับประวัติการณ์
ฟีเจอร์ใหญ่แรกที่เปิดเผยจนถึงตอนนี้คือฟีเจอร์ คลายการกระจุกตัว สำหรับยานพาหนะบนถนนอย่างรถบัสและรถบรรทุก: https://www.openttd.org/news/2024/02/10/unbunching
โดยเฉพาะชอบเล่นคนเดียวแข่งกับ AI ตัวหนึ่งที่ชอบปล่อยรถบัสออกมาทีละหลายร้อยคัน พอ AI ตัวนั้นนำหน้าไปอย่างรวดเร็วเสมอ ผมก็จะสร้างเส้นทางรถบัสของตัวเอง แล้วสั่งให้รถบัสทุกคันหยุดพร้อมกันกลางถนน
จากนั้นจะเกิด รถติดมหาศาล ทำให้รายได้ของ AI ถูกขวางไว้ และทำให้ล้มละลายเพราะค่าใช้จ่ายในการดำเนินงาน แล้วผมก็เข้าซื้อบริษัทนั้น จากนั้นค่อยสั่งให้รถบัสหลายร้อยคันที่ตอนนี้เป็นของผมกลับมาวิ่งอีกครั้ง
หมายเลขต่าง ๆ อ้างถึง pull request ซึ่งมีคำอธิบายละเอียดกว่า ตัวอย่างเช่นคำอธิบายของ โหมดเงินไม่จำกัด อยู่ที่นี่: https://github.com/OpenTTD/OpenTTD/pull/11902
ถ้ามี การปรับความยาวของวัน ฟีเจอร์จัดกลุ่มและตั้งชื่อรถไฟที่ดี ๆ และยิ่งไปกว่านั้นคือการทำให้เส้นทางเป็นแนวคิดระดับชั้นหนึ่งเข้ามาเมื่อไร คงดีขึ้นมากตอนที่ไม่ต้องคอยแนะนำเพื่อนให้ติดตั้ง JGR
เกี่ยวกับเรื่องนี้ ช่วงหลังผมทำ OpenTTDLab ขึ้นมา: https://github.com/michalc/OpenTTDLab
ช่วยให้รัน OpenTTD แบบ headless จาก Python และดึงข้อมูลจากไฟล์เซฟได้ค่อนข้างง่าย
ผมเพิ่งเอาไปโพสต์ใน Show HN มาไม่นานมาก อาจดูหน้าด้านไปหน่อย
นอกจากนั้นยังเอาไปใช้ทำอะไรได้อีกบ้าง?
ผมชอบ OpenTTD กับ Transport Tycoon ซึ่งเป็นต้นแบบของมันมาก แต่หลังจากได้เจอการก่อสร้างด้วยบอตและการคัดลอก-วางใน Factorio กับ Mindustry แล้ว ผมกลับไปวางรางทีละชิ้นด้วยมือไม่ไหวแล้ว
ฟีเจอร์วางรางอัตโนมัติหรือการลากเมาส์ครั้งเดียวเพื่อวางสัญญาณตามช่วงทางตรงนั้นดี แต่การต้องสร้าง ทางแยกราง ทีละจุดด้วยมือ ตอนนี้ทำไม่ไหวแล้ว
ให้ความรู้สึกเหมือนพิมพ์โค้ด boilerplate ด้วยมือ
ในมุมผู้เล่น อยากรู้ว่ามีข้อจำกัดทางเทคนิคหรือทางประวัติศาสตร์ของ OpenTTD ที่เห็นได้ชัดหรือไม่ จนชัดเจนว่าถ้าไม่ยกเครื่องระบบบางอย่างทั้งระบบ การแก้เล็ก ๆ น้อย ๆ ก็ทำไม่ได้
มองจากข้างนอก และยอมเสี่ยงที่จะฟังเหมือนผู้จัดการโครงการที่กำลังจะได้ยินคำตอบ “ก็ใช่ แต่ว่า…” เป็นชุด ถ้ามี ระบบวาดเส้นตรง อยู่แล้ว ก็น่าจะวาดทางแยกให้อัตโนมัติเมื่อเส้นสองเส้นมาบรรจบกันได้ไม่ใช่หรือ
แน่นอนว่าไม่ได้ตั้งใจจะดูแคลนคำตอบแบบ “ก็ใช่ แต่ว่า…” เหล่านั้น เพราะโดยมากข้างหลังมันมีข้อมูลอยู่เยอะจริง ๆ
พอได้ลองใช้ครั้งหนึ่งแล้วก็ไม่อยากกลับไปอีก
"Kicad push-and-shove routing, 2nd attempt" - Tom W Sep 18, 2013 https://www.youtube.com/watch?v=zxHDAHpR5Ls
เมื่อก่อนผมสนุกกับเกมนี้ได้เป็นชั่วโมง ๆ แต่เหมือนเกมอื่น ๆ ในแนวนี้ สุดท้ายก็จะเริ่มอยากได้ความท้าทาย ซึ่งในเกมแทบไม่มีอะไรท้าทายจริง ๆ
บริษัทจะโตขึ้นเรื่อย ๆ ได้โดยแทบไม่ต้องพยายามอะไรเป็นพิเศษ
ความท้าทายแบบนี้ช่วยรักษาความสนุกไว้ได้ แต่ขณะเดียวกันก็รู้สึกค่อนข้างคล้ายกับปัญหาที่แก้ในที่ทำงาน
ยังมีวิธีอื่นในการเพิ่มความยากด้วยม็อดหรือผู้เล่น AI
เห็นด้วยว่าเกมพื้นฐานมักเข้าสู่สภาพ มีเงินมากเกินไป เร็วเกินไป จนรู้สึกหมดเป้าหมายอย่างรวดเร็ว
ความท้าทายคือทำได้ไหมที่จะผลักโลจิสติกส์ทั้งหมดเข้าสู่โรงงานกลางแห่งเดียวด้วยรถไฟล้วน ๆ ทำได้โดย ไม่มีรถติด ไหม หรือทำเงินให้ได้จำนวนหนึ่งภายในวันที่กำหนดได้ไหม
มันยากกว่าโมเดลเศรษฐกิจง่าย ๆ มาก
ผมชอบ TTD และ OpenTTD ก็ทำออกมาได้ยอดเยี่ยม แถมใช้เวลากับมันไปมาก แต่พูดตรง ๆ ตอนนี้มันให้ความรู้สึกค่อนข้างเก่าแล้ว
ต่อให้เพิ่มม็อดอุตสาหกรรมหรือ NGRF แบบไหน ก็ยังไม่พอให้ดื่มด่ำได้นาน
ถึงอย่างนั้นปีละครั้งผมก็คงกลับไปเริ่มเกมใหม่สักสองสามวันอยู่ดี แต่จริง ๆ แล้วเป็นเพราะ ความคิดถึง ล้วน ๆ
ผมใช้เวลากับเกมนี้ไปมหาศาล
ไม่ได้เล่นมาหลายปีแล้ว และเพราะครอบครัวก็คงยังเล่นไม่ได้อีกสักพัก แต่ก็ไม่แปลกที่จะนึกภาพว่าพอเกษียณแล้วจะใช้เวลาทั้งวันไปกับเกมนี้กับ Civ
ผมตั้งตารอ TTD เวอร์ชัน 3D ที่ลอยอยู่ข้างโต๊ะในเฮดเซ็ต mixed reality
ดูเหมือนการเรนเดอร์ 3D จะทำได้แล้ว: https://www.tt-forums.net/viewtopic.php?t=86412
https://www.youtube.com/watch?v=KY6uIxKpItM
เกมโปรดที่สุดของผมในทุกแนว
เล่นได้ไม่รู้จบ และรันได้แทบทุกอุปกรณ์
ผมชอบรถไฟใน Cities in Motion หรือ Factorio เลยคิดว่า OpenTTD ก็น่าจะเป็นเกมที่ชอบถ้าเข้าใจมันได้
ผมไม่ได้เล่นเยอะนัก แต่ใน OpenTTD ดูเหมือนผู้โดยสารจะโผล่ขึ้นมาตามสถานีแบบสุ่ม และไม่สนใจว่าจะพาไปที่ไหน ซึ่งผมไม่ค่อยชอบ
ถ้านั่นถูกต้อง ผมก็ไม่รู้ว่ามันมีความหมายอะไร และถ้าไม่ใช่ ก็อยากรู้ว่าผมเข้าใจอะไรผิด
Simutrans [0] ดีตรงที่ผู้โดยสารอยากเดินทางจาก A ไป B และพยายามต่อรถระหว่างรถบัส รถไฟ และเครื่องบินด้วย เส้นทางแกนกลางของเครือข่ายจึงต้องรองรับผู้โดยสารจำนวนมากจริง ๆ
[0]: https://www.simutrans.com/
บางครั้งผมก็สงสัยว่ามีใครสร้างเครื่องมือสำหรับ วาดไดอะแกรมเครือข่าย การแสดงภาพ หรือการมอนิเตอร์แบบเรียลไทม์ โดยอิงจากเอนจิน OpenTTD บ้างไหม
20 ปีแล้วเหรอ…
ตั้งแต่นั้นมา ผมว่ามีแค่ Factorio เท่านั้นที่เข้าใกล้ได้จริง ๆ