Python Performance กับ Game Maker [ปิด]


14

เดิมฉันคิดจะสร้างเกมด้วย Python และ SFML ฉันเข้าใจว่า Python ช้ากว่า C ++ แต่จะเปรียบเทียบกับ Game Maker ได้อย่างไร

เหตุผลหลักที่ฉันถามคือเมื่อเร็ว ๆ นี้ฉันเล่นเกม Game Maker (The Iconoclasts) ซึ่งวิ่งด้วยอัตราเฟรมที่ไม่ดีพอในคอมพิวเตอร์ของฉัน (GMA 950) ฉันกังวลว่าฉันจะมีปัญหาเรื่องประสิทธิภาพที่คล้ายกันกับ Python / SFML


มีการพัฒนาอย่างมากใน Game Maker ที่คุณอาจต้องการตรวจสอบ
Jeff

คำตอบ:


50

การพูดว่า "Python นั้นช้าเมื่อเทียบกับ C ++" เป็นลักษณะทั่วไปที่ไม่สนใจการใช้งานจริงมากมายและมักเป็นการตัดสินใจที่ไม่ดี สิ่งที่คุณต้องการทำคือดูว่าภาษาหรือเทคโนโลยีเฉพาะใดสามารถนำมาใช้กับตารางในแง่ของความต้องการของคุณและประเมินความล้มเหลวที่อาจเกิดขึ้นจากเทคโนโลยีนั้นกับความต้องการของคุณ

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

สำหรับประสิทธิภาพที่ไม่ดีของเกม Game Maker ที่คุณเล่นซึ่งอาจมีสาเหตุมาจากปัจจัยหลายประการซึ่งบางอย่างมีความเฉพาะเจาะจงกับเกมนั้นเช่นรหัสที่ไม่ดีซึ่งอาจเขียนด้วยเครื่องมือของ Game Maker หรือภาษาสคริปต์ มันไม่ได้เป็นความผิดพลาดของ Game Maker เอง


2
@Nevermind คุณสามารถ - google สำหรับsockpuppets :) แค่ล้อเล่นฉันจะเพิ่มคะแนนให้คุณ 5001 - เยี่ยมมากตอนนี้เขาสามารถลงคะแนนในการแก้ไขแบบแท็ก - วิกิ ...
ไซคลอป

1
ใน GMA 950 ฉันจะไม่แปลกใจเลยถ้าเกมมี GPU ผูกติดกับ CPU
อดัม

4

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

ในกรณีส่วนใหญ่ความเร็วของภาษาจะส่งผลกระทบต่อประสิทธิภาพโดยรวมของโปรแกรมเพียงเล็กน้อยเท่านั้น เมื่อมีคนพูดว่า "omg ภาษานี้ช้ากว่าภาษาอื่น 50%" และความเร็วยังคงโง่อย่างรวดเร็วในทั้งสองกรณีคุณจะพบความแตกต่างเล็กน้อยที่จะมองไม่เห็นกับผู้ใช้


3

Game Maker เป็นเครื่องมือเริ่มต้นที่ดี แต่ฉันขอแนะนำให้เลื่อนไปยังโปรแกรมที่ใหญ่กว่าและดีกว่าถ้าคุณเคยมีประสบการณ์การเขียนโปรแกรมมาก่อน ฉันใช้ GameMaker สำหรับหลักสูตรพัฒนาเกม 2D มีระบบลากและวางที่ดีใช้งานง่าย อย่างไรก็ตามปัญหาคือว่าการลากและวางของโปรแกรมไม่ได้ใช้คำสั่งที่มีประสิทธิภาพที่สุด (หรือตรรกะ) นอกจากนี้การลากและวางไม่รองรับคำสั่งขั้นสูงจำนวนมากที่โปรแกรมสามารถดำเนินการได้ดังนั้นโปรแกรมเมอร์จึงต้องใช้ความคิดสร้างสรรค์กับมันหรือเรียนรู้การเขียนโค้ด อย่างไรก็ตามหากคุณเรียนรู้การใช้รหัส GameMaker คุณจะสามารถแก้ไขได้โดยง่าย

แต่มันอาจเป็นเรื่องยากที่จะเรียนรู้รหัสสำหรับโปรแกรมเดียวที่มีตารางงานที่ยุ่งซึ่งเราทุกคนมีซึ่งเป็นไปได้มากว่าทำไมคุณถึงประสบกับความล่าช้า

แต่ตามที่ Kort Pleco ระบุไว้ก่อนหน้าความเร็วภาษาส่วนใหญ่จะไม่แตกต่างกันอย่างเห็นได้ชัดทุกอย่างขึ้นอยู่กับวิธีการเขียนและเรียกใช้โค้ด ความซ้ำซ้อนจำนวนมากสามารถทำให้ช้าลงอย่างมากซึ่งโดยปกติเป็นเพราะขาดประสบการณ์ในการเขียนโปรแกรม


2

สำหรับเกมที่ฉันกำลังทำงานฉันใช้อัลกอริธึมแบบสี่เหลี่ยมจัตุรัสเพื่อสร้างภูมิประเทศแบบสุ่มเมื่อเริ่มเกมใหม่ ในการตัดสินใจระหว่างการใช้ python กับ pygame สำหรับโครงการหรือ GameMaker ฉันได้ติดตั้งตัวสร้างภูมิประเทศทั้งคู่ Pygame ดำเนินการเร็วขึ้นเล็กน้อย แต่ความแตกต่างนั้นเล็กน้อย ท้ายที่สุดฉันเลือก GameMaker เนื่องจากฉันสามารถทำงานได้เร็วขึ้นมาก


1

คำตอบที่ยอมรับนั้นตายไปแล้ว แต่ฉันแค่ต้องการเพิ่ม 2 เซนต์ของฉันในฐานะผู้ใช้ GM เป็นเวลาเกือบ 8 ปี

จีเอ็มมีปัญหามากมายเกี่ยวกับการปรับให้เหมาะสมดังนั้นจึงมีข้อกังวลที่ถูกกฎหมาย มีกลุ่มวิธีการคัดค้าน * _variable_exists? ที่เคยมีอยู่ใน Gamemaker pre-studio ด้วยวิธีการอำนวยความสะดวกนี้จึงได้รับประโยชน์จากห้องสมุดและส่วนขยายที่เกือบจะจินตนาการได้ทั้งหมดที่เขียนขึ้นสำหรับจีเอ็ม กลับกลายเป็นว่าวิธีการเหล่านี้มีราคาแพงมากและทำให้เกิดปัญหาใหญ่เมื่อเล่นเกมขนาดใหญ่

ดังนั้นจึงมีหลายกรณีที่ GM อาจไม่ดีจริง ๆ แต่ด้วยความรู้ที่ถูกต้องและการใช้อย่างระมัดระวังมันไม่ถูกต้องตามกฎหมายมากกว่าวิธีอื่นใด (unity2d, pygame ฯลฯ ) เพียงแค่สร้างเกมและสนุกไปกับมัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.