วันที่ฉันรอคอยก็มาถึงเมื่อในที่สุดฉันก็สามารถนำเสนอการพัฒนานี้ได้ โครงการนี้เริ่มต้นเมื่อหนึ่งปีที่แล้วในวันที่ 1 กันยายน 2018 เป็นอย่างน้อย
รถไฟโดยสารที่สถานีหลัก Rostov (คลิกได้)
อาร์อาร์เอสคืออะไร? นี่คือเครื่องจำลองข้ามแพลตฟอร์มแบบเปิดของสต็อกกลิ้งขนาด 1520 มม. ผู้อ่านจะถามคำถามโดยธรรมชาติว่า “ขออภัย โครงการนี้มีไว้เพื่ออะไร ถ้ามีเครื่องจำลองการรถไฟเพียงพอ ทั้งเชิงพาณิชย์และแบบเปิด” สำหรับคำตอบสำหรับคำถามนี้ ฉันแนะนำให้มองใต้แมว
ประวัติโครงการ
กาลครั้งหนึ่งเมื่อปี 2001 ได้มีการตีพิมพ์
จาก MSTS จึงมีการสร้างโครงการอื่นๆ อีกหลายโครงการในเวลาต่อมา เช่น
ในปี พ.ศ. 2008 ก็มีอีกโครงการหนึ่งปรากฏขึ้น -
ตัวฉันเองมาที่หัวข้อการรถไฟในปี 2007 เมื่อฉันเริ่มทำงาน
จากทั้งหมดที่กล่าวมาข้างต้น แนวคิดนี้เกิดขึ้นจากการสร้างแบบจำลองที่จะช่วยให้นักพัฒนาส่วนเสริมสามารถควบคุมกระบวนการทางกายภาพที่เกิดขึ้นในสต็อกได้อย่างสมบูรณ์ คล้ายกับเครื่องจำลองอวกาศ Orbiter ซึ่งครั้งหนึ่งฉันเคยพัฒนาส่วนเพิ่มเติมในรูปแบบของตระกูลยานปล่อยจรวดที่มีพื้นฐานมาจาก R-7 ปีที่แล้วฉันรับงานนี้และทุ่มตัวเองลงไป 26 ธันวาคม 2018 พบกับแสงสว่างที่นี่
งานของฉันถูกสังเกตเห็นโดยผู้ที่ชื่นชอบและเป็นที่รู้จักกันดีในแวดวงนักต้มตุ๋นทางรถไฟ ผู้สร้างเนื้อหาภาพสำหรับ ZDsimulator
คุณสมบัติของโปรแกรมจำลอง RRS
ประการแรกคือเป็นสถาปัตยกรรมซอฟต์แวร์แบบเปิด ไม่ต้องพูดถึงความจริงที่ว่าโค้ดตัวจำลองเปิดอยู่ มี API และ SDK ที่มุ่งเป้าไปที่ผู้พัฒนาส่วนเสริมของบุคคลที่สาม อุปสรรคในการเข้าเรียนค่อนข้างสูง - จำเป็นต้องมีทักษะการพัฒนา C++ ขั้นพื้นฐาน ตัวจำลองถูกเขียนไว้โดยใช้คอมไพเลอร์ GCC และตัวแปร MinGW สำหรับระบบปฏิบัติการ Windows นอกจากนี้ ขอแนะนำให้ผู้พัฒนาทำความคุ้นเคยกับเฟรมเวิร์ก Qt เนื่องจากแนวคิดหลายประการรองรับสถาปัตยกรรมของเกม
อย่างไรก็ตาม ด้วยความรอบคอบและความปรารถนา โปรเจ็กต์นี้จึงเปิดโอกาสมหาศาลให้กับนักพัฒนาส่วนเสริม สต็อกกลิ้งถูกนำมาใช้ในรูปแบบของโมดูลตามไลบรารีแบบไดนามิก องค์ประกอบโครงสร้างหลักในเครื่องจำลอง เป็นหน่วยของสต๊อกกลิ้งหรือหน่วยเคลื่อนที่ (MU) - รถยนต์ (ไม่ขับเคลื่อนด้วยตัวเองหรือเป็นส่วนหนึ่งของรถไฟหลายหน่วย) หรือส่วนหนึ่งของหัวรถจักร API ช่วยให้สามารถตั้งค่าแรงบิดที่ใช้กับชุดล้อ PE เพื่อตอบสนองการรับความเร็วเชิงมุมของชุดล้อ รวมถึงพารามิเตอร์ภายนอก เช่น แรงดันไฟฟ้าและประเภทของกระแสในเครือข่ายหน้าสัมผัส เครื่องจำลองไม่รู้สิ่งอื่นใดและไม่อยากรู้ซึ่งทำให้ฟิสิกส์ของอุปกรณ์ภายในเป็นความรู้สึกผิดชอบชั่วดีของผู้พัฒนาหัวรถจักรหรือรถยนต์โดยเฉพาะ
ไม่ใช่เรื่องยากที่จะคาดเดาว่าแนวทางที่ค่อนข้างต่ำเช่นนี้ทำให้สามารถใช้ความแตกต่างที่เล็กที่สุดของวงจรหัวรถจักรได้ นอกจากนี้ ชุดอุปกรณ์จำลองยังประกอบด้วยชุดอุปกรณ์มาตรฐานที่ติดตั้งบนรถขนของในประเทศ ได้แก่ รถไฟคนขับ เครน Conv. เลขที่ 395 สภาพตู้จ่ายอากาศ หมายเลข 242 สภาพวาล์วเบรกเสริม หมายเลข 254 และส่วนประกอบอื่นๆ ของอุปกรณ์เบรก ผู้พัฒนาส่วนเสริมจำเป็นต้องเชื่อมต่อองค์ประกอบเหล่านี้เข้ากับวงจรนิวแมติกของหัวรถจักรหรือรถยนต์เฉพาะเท่านั้น นอกจากนี้ยังมี API สำหรับสร้างหน่วยฮาร์ดแวร์ของคุณเอง
ในทางสถาปัตยกรรม RRS สร้างขึ้นจากการโต้ตอบของกระบวนการหลักสองกระบวนการ
- จำลอง — เครื่องยนต์ไดนามิกของรถไฟทางกายภาพ TrainEngine 2 ใช้ฟิสิกส์ของการเคลื่อนที่ของรถไฟโดยคำนึงถึงปัจจัยภายนอกหลายประการโดยคำนึงถึงปฏิสัมพันธ์ของหน่วยที่เคลื่อนที่ผ่านอุปกรณ์เชื่อมต่อ ประมวลผลข้อมูลที่มาจากโมดูลภายนอกที่ใช้ฟิสิกส์ของการทำงานของอุปกรณ์สต็อกกลิ้ง
- ผู้ชม — ระบบย่อยแบบกราฟิกที่แสดงภาพการเคลื่อนไหวของรถไฟ สร้างขึ้นบนพื้นฐานของเอ็นจิ้นกราฟิก
OpenSceneGraph
ระบบย่อยเหล่านี้โต้ตอบซึ่งกันและกันผ่านหน่วยความจำที่ใช้ร่วมกัน ซึ่งใช้งานตามคลาส QSharedMemory ของเฟรมเวิร์ก Qt การสาธิตครั้งแรกใช้ IPC ที่ใช้ซ็อกเก็ต และมีแผนจะกลับมาใช้เทคโนโลยีนี้อีกในอนาคต โดยคำนึงถึงการปรับแต่งบางส่วนของเครื่องจำลองและความต้องการโดยคำนึงถึงอนาคต การเปลี่ยนไปใช้หน่วยความจำที่ใช้ร่วมกันนั้นเป็นมาตรการบังคับซึ่งหมดประโยชน์ไปแล้ว
ฉันจะไม่อธิบายความแตกต่าง - ความผันผวนหลายประการของการพัฒนาโครงการนี้ได้ระบุไว้แล้วในสิ่งพิมพ์ของฉันเกี่ยวกับทรัพยากรโดยเฉพาะอย่างยิ่งฉันมีเนื้อหาที่ค่อนข้างกว้างขวาง
ไม่ใช่ทุกอย่างในโครงการจะราบรื่นเท่าที่เราต้องการ โดยเฉพาะอย่างยิ่งระบบย่อยกราฟิกยังห่างไกลจากความสมบูรณ์แบบในแง่ของคุณภาพการเรนเดอร์ และประสิทธิภาพของซิมยังเป็นที่ต้องการอีกมาก การเปิดตัวครั้งนี้มีเป้าหมายเดียว นั่นคือการแนะนำชุมชนผู้ชื่นชอบการขนส่งทางรถไฟให้รู้จักกับโครงการนี้ สรุปความสามารถของโครงการ และสุดท้ายก็สร้างเครื่องจำลองทางรถไฟแบบเปิดข้ามแพลตฟอร์มพร้อม API ขั้นสูงสำหรับนักพัฒนาส่วนเสริม
อนาคต
อนาคตขึ้นอยู่กับคุณ ผู้ใช้และนักพัฒนาในอนาคตที่รักของเรา โครงการเปิดอยู่และมีอยู่จริง
ขอบคุณ!
ที่มา: will.com