Russian Railway Simulator (RRS): เปิดตัวสู่สาธารณะครั้งแรก

วันที่ฉันรอคอยก็มาถึงเมื่อในที่สุดฉันก็สามารถนำเสนอการพัฒนานี้ได้ โครงการนี้เริ่มต้นเมื่อหนึ่งปีที่แล้วในวันที่ 1 กันยายน 2018 เป็นอย่างน้อย ที่เก็บ RRS บน Gtihub การคอมมิตครั้งแรกมีวันที่นี้พอดี

รถไฟโดยสารที่สถานีหลัก Rostov (คลิกได้)

Russian Railway Simulator (RRS): เปิดตัวสู่สาธารณะครั้งแรก

อาร์อาร์เอสคืออะไร? นี่คือเครื่องจำลองข้ามแพลตฟอร์มแบบเปิดของสต็อกกลิ้งขนาด 1520 มม. ผู้อ่านจะถามคำถามโดยธรรมชาติว่า “ขออภัย โครงการนี้มีไว้เพื่ออะไร ถ้ามีเครื่องจำลองการรถไฟเพียงพอ ทั้งเชิงพาณิชย์และแบบเปิด” สำหรับคำตอบสำหรับคำถามนี้ ฉันแนะนำให้มองใต้แมว

ประวัติโครงการ

กาลครั้งหนึ่งเมื่อปี 2001 ได้มีการตีพิมพ์ เครื่องจำลองรถไฟ Microsoft (MSTS)ซึ่งก่อให้เกิดชุมชนรถไฟขนาดใหญ่ในประเทศของเรา ในช่วงหลายปีที่ผ่านมาที่มีโครงการนี้อยู่ (จนกระทั่ง Microsoft ละทิ้งโครงการนี้ และก้าวไปสู่สิ่งที่น่าสนใจมากขึ้น เช่น การล้มละลายของ Nokia เป็นต้น) โครงการนี้ได้รับการเพิ่มเติมจำนวนมากที่สร้างขึ้นสำหรับโครงการนี้: เส้นทาง หุ้นกลิ้ง สถานการณ์

จาก MSTS จึงมีการสร้างโครงการอื่นๆ อีกหลายโครงการในเวลาต่อมา เช่น OpenRails, RtrainSim (RTS) และการเพิ่มเติมและอนุพันธ์อื่น ๆ โครงการเชิงพาณิชย์ก็ปรากฏเช่นโครงการที่มีชื่อเสียง เทรนส์. และทุกอย่างจะเรียบร้อยดี แต่แฟน ๆ ของการขนส่งทางรถไฟจำนวนมากไม่พอใจกับผลิตภัณฑ์เหล่านี้ด้วยเหตุผลที่ค่อนข้างเป็นกลาง - พวกเขาไม่ได้สะท้อนถึงลักษณะเฉพาะของสต็อกกลิ้งในประเทศที่ดำเนินการและพัฒนาในพื้นที่หลังโซเวียต สิ่งนี้จะรุนแรงโดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่ามีการใช้เบรกรถไฟอย่างไร - ไม่มีโครงการใดในรายการที่มีหรือจะมีการใช้งานเบรกอัตโนมัติของระบบ Matrosov ตามปกติ

ในปี พ.ศ. 2008 ก็มีอีกโครงการหนึ่งปรากฏขึ้น - ZDจำลองพัฒนาโดย Vyacheslav Usov โครงการนี้มีความโดดเด่นในการคำนึงถึงและแก้ไขข้อบกพร่องที่กล่าวมาข้างต้น ในขณะที่เริ่มมุ่งเน้นไปที่สต็อกกลิ้งเกจของรัสเซีย แต่มีสิ่งหนึ่งที่ใหญ่ "แต่" - โครงการนี้เป็นกรรมสิทธิ์และปิดตัวลงโดยมีสถาปัตยกรรมไม่อนุญาตให้มีการนำสต็อกกลิ้งของตัวเองมาใช้

ตัวฉันเองมาที่หัวข้อการรถไฟในปี 2007 เมื่อฉันเริ่มทำงาน เจเอสซี เวลนีในฐานะนักวิจัยและหลังจากปกป้องวิทยานิพนธ์ปริญญาเอกของเขาในปี 2008 ในฐานะนักวิจัยอาวุโส ตอนนั้นเองที่ฉันเริ่มคุ้นเคยกับความสำเร็จล่าสุดในด้านเกมจำลองทางรถไฟในขณะนั้น และฉันไม่ชอบสิ่งที่ฉันเห็น และไม่มีโปรเจ็กต์ ZDSimulator ในเวลานั้น ต่อมาด้วยความหลงใหลในพลวัตของขบวนรถฉันจึงมาที่มหาวิทยาลัยการขนส่งแห่งรัฐ Rostov (RGUPS) ในหัวข้อวิทยานิพนธ์ระดับปริญญาเอกเรื่องพลศาสตร์การเบรกของรถไฟบรรทุกสินค้า วันนี้ฉันเป็นผู้นำการพัฒนาศูนย์ฝึกอบรมการขนส่งทางรถไฟสำหรับมหาวิทยาลัยของเรา และสอนสาขาวิชาเฉพาะที่ Department of Traction Rolling Stock

จากทั้งหมดที่กล่าวมาข้างต้น แนวคิดนี้เกิดขึ้นจากการสร้างแบบจำลองที่จะช่วยให้นักพัฒนาส่วนเสริมสามารถควบคุมกระบวนการทางกายภาพที่เกิดขึ้นในสต็อกได้อย่างสมบูรณ์ คล้ายกับเครื่องจำลองอวกาศ Orbiter ซึ่งครั้งหนึ่งฉันเคยพัฒนาส่วนเพิ่มเติมในรูปแบบของตระกูลยานปล่อยจรวดที่มีพื้นฐานมาจาก R-7 ปีที่แล้วฉันรับงานนี้และทุ่มตัวเองลงไป 26 ธันวาคม 2018 พบกับแสงสว่างที่นี่ การสาธิตเทคโนโลยีนี้.

งานของฉันถูกสังเกตเห็นโดยผู้ที่ชื่นชอบและเป็นที่รู้จักกันดีในแวดวงนักต้มตุ๋นทางรถไฟ ผู้สร้างเนื้อหาภาพสำหรับ ZDsimulator Roman Biryukov (การรถไฟรัสเซีย Romych) ได้เสนอความช่วยเหลือและความร่วมมือในการพัฒนาโครงการต่อไป ต่อมานักพัฒนารายอื่นก็เข้าร่วมกับเรา - อเล็กซานเดอร์ มิชเชนโก้ (อูลอฟสกี้2017) ผู้สร้างเส้นทางสำหรับ ZDsimulator ความร่วมมือของเรานำเราไปสู่การเปิดตัวครั้งแรก วิดีโอนี้แสดงภาพรวมว่าเกมจะมีลักษณะอย่างไรในการเปิดตัวครั้งแรก

คุณสมบัติของโปรแกรมจำลอง RRS

ประการแรกคือเป็นสถาปัตยกรรมซอฟต์แวร์แบบเปิด ไม่ต้องพูดถึงความจริงที่ว่าโค้ดตัวจำลองเปิดอยู่ มี API และ SDK ที่มุ่งเป้าไปที่ผู้พัฒนาส่วนเสริมของบุคคลที่สาม อุปสรรคในการเข้าเรียนค่อนข้างสูง - จำเป็นต้องมีทักษะการพัฒนา C++ ขั้นพื้นฐาน ตัวจำลองถูกเขียนไว้โดยใช้คอมไพเลอร์ GCC และตัวแปร MinGW สำหรับระบบปฏิบัติการ Windows นอกจากนี้ ขอแนะนำให้ผู้พัฒนาทำความคุ้นเคยกับเฟรมเวิร์ก Qt เนื่องจากแนวคิดหลายประการรองรับสถาปัตยกรรมของเกม

อย่างไรก็ตาม ด้วยความรอบคอบและความปรารถนา โปรเจ็กต์นี้จึงเปิดโอกาสมหาศาลให้กับนักพัฒนาส่วนเสริม สต็อกกลิ้งถูกนำมาใช้ในรูปแบบของโมดูลตามไลบรารีแบบไดนามิก องค์ประกอบโครงสร้างหลักในเครื่องจำลอง เป็นหน่วยของสต๊อกกลิ้งหรือหน่วยเคลื่อนที่ (MU) - รถยนต์ (ไม่ขับเคลื่อนด้วยตัวเองหรือเป็นส่วนหนึ่งของรถไฟหลายหน่วย) หรือส่วนหนึ่งของหัวรถจักร API ช่วยให้สามารถตั้งค่าแรงบิดที่ใช้กับชุดล้อ PE เพื่อตอบสนองการรับความเร็วเชิงมุมของชุดล้อ รวมถึงพารามิเตอร์ภายนอก เช่น แรงดันไฟฟ้าและประเภทของกระแสในเครือข่ายหน้าสัมผัส เครื่องจำลองไม่รู้สิ่งอื่นใดและไม่อยากรู้ซึ่งทำให้ฟิสิกส์ของอุปกรณ์ภายในเป็นความรู้สึกผิดชอบชั่วดีของผู้พัฒนาหัวรถจักรหรือรถยนต์โดยเฉพาะ

ไม่ใช่เรื่องยากที่จะคาดเดาว่าแนวทางที่ค่อนข้างต่ำเช่นนี้ทำให้สามารถใช้ความแตกต่างที่เล็กที่สุดของวงจรหัวรถจักรได้ นอกจากนี้ ชุดอุปกรณ์จำลองยังประกอบด้วยชุดอุปกรณ์มาตรฐานที่ติดตั้งบนรถขนของในประเทศ ได้แก่ รถไฟคนขับ เครน Conv. เลขที่ 395 สภาพตู้จ่ายอากาศ หมายเลข 242 สภาพวาล์วเบรกเสริม หมายเลข 254 และส่วนประกอบอื่นๆ ของอุปกรณ์เบรก ผู้พัฒนาส่วนเสริมจำเป็นต้องเชื่อมต่อองค์ประกอบเหล่านี้เข้ากับวงจรนิวแมติกของหัวรถจักรหรือรถยนต์เฉพาะเท่านั้น นอกจากนี้ยังมี API สำหรับสร้างหน่วยฮาร์ดแวร์ของคุณเอง

ในทางสถาปัตยกรรม RRS สร้างขึ้นจากการโต้ตอบของกระบวนการหลักสองกระบวนการ

  • จำลอง — เครื่องยนต์ไดนามิกของรถไฟทางกายภาพ TrainEngine 2 ใช้ฟิสิกส์ของการเคลื่อนที่ของรถไฟโดยคำนึงถึงปัจจัยภายนอกหลายประการโดยคำนึงถึงปฏิสัมพันธ์ของหน่วยที่เคลื่อนที่ผ่านอุปกรณ์เชื่อมต่อ ประมวลผลข้อมูลที่มาจากโมดูลภายนอกที่ใช้ฟิสิกส์ของการทำงานของอุปกรณ์สต็อกกลิ้ง
  • ผู้ชม — ระบบย่อยแบบกราฟิกที่แสดงภาพการเคลื่อนไหวของรถไฟ สร้างขึ้นบนพื้นฐานของเอ็นจิ้นกราฟิก OpenSceneGraph

ระบบย่อยเหล่านี้โต้ตอบซึ่งกันและกันผ่านหน่วยความจำที่ใช้ร่วมกัน ซึ่งใช้งานตามคลาส QSharedMemory ของเฟรมเวิร์ก Qt การสาธิตครั้งแรกใช้ IPC ที่ใช้ซ็อกเก็ต และมีแผนจะกลับมาใช้เทคโนโลยีนี้อีกในอนาคต โดยคำนึงถึงการปรับแต่งบางส่วนของเครื่องจำลองและความต้องการโดยคำนึงถึงอนาคต การเปลี่ยนไปใช้หน่วยความจำที่ใช้ร่วมกันนั้นเป็นมาตรการบังคับซึ่งหมดประโยชน์ไปแล้ว

ฉันจะไม่อธิบายความแตกต่าง - ความผันผวนหลายประการของการพัฒนาโครงการนี้ได้ระบุไว้แล้วในสิ่งพิมพ์ของฉันเกี่ยวกับทรัพยากรโดยเฉพาะอย่างยิ่งฉันมีเนื้อหาที่ค่อนข้างกว้างขวาง ชุดบทช่วยสอนเกี่ยวกับเอ็นจิ้น OpenSceneGraphซึ่งเกิดจากการฝึกฝนการทำงานในโครงการนี้

ไม่ใช่ทุกอย่างในโครงการจะราบรื่นเท่าที่เราต้องการ โดยเฉพาะอย่างยิ่งระบบย่อยกราฟิกยังห่างไกลจากความสมบูรณ์แบบในแง่ของคุณภาพการเรนเดอร์ และประสิทธิภาพของซิมยังเป็นที่ต้องการอีกมาก การเปิดตัวครั้งนี้มีเป้าหมายเดียว นั่นคือการแนะนำชุมชนผู้ชื่นชอบการขนส่งทางรถไฟให้รู้จักกับโครงการนี้ สรุปความสามารถของโครงการ และสุดท้ายก็สร้างเครื่องจำลองทางรถไฟแบบเปิดข้ามแพลตฟอร์มพร้อม API ขั้นสูงสำหรับนักพัฒนาส่วนเสริม

อนาคต

อนาคตขึ้นอยู่กับคุณ ผู้ใช้และนักพัฒนาในอนาคตที่รักของเรา โครงการเปิดอยู่และมีอยู่จริง เว็บไซต์อย่างเป็นทางการซึ่งคุณสามารถดาวน์โหลดตัวจำลองได้จาก เอกสารองค์ประกอบที่จะถูกเติมเต็มอย่างต่อเนื่อง มีอยู่ ฟอรั่ม โครงการ, группаВКและ ช่อง YouTubeซึ่งคุณจะได้รับคำแนะนำและความช่วยเหลือที่ละเอียดที่สุด

ขอบคุณ!

ที่มา: will.com

เพิ่มความคิดเห็น