ทำไมสตูดิโอเกมต้องการโปรแกรมเมอร์กราฟิกหากพวกเขาใช้เอ็นจิ้นเกม


55

ในส่วนของสินเชื่อของเกมที่ผมเล่นมีชื่อของโปรแกรมเมอร์กราฟิก หากพวกเขาใช้เอ็นจิ้นเกมทำไมพวกเขาต้องการโปรแกรมเมอร์กราฟิก ? เอ็นจิ้นเกมทำงานได้หรือไม่


15
หากคุณต้องการให้เกมของคุณเหมือนกับคนอื่น ๆ เพียงแค่ใช้เครื่องยนต์ หากคุณต้องการให้มันแตกต่างกันคุณใช้เครื่องยนต์เป็นจุดเริ่มต้นแล้วปรับเปลี่ยน ฉันใช้เอ็นจิ้นเกม (เอ็นจิ้น jmonkey) แต่ฉันยังเขียน shaders เพื่อแทนที่พฤติกรรมเริ่มต้นบางอย่างสำหรับสิ่งที่ฉันใส่ใจเป็นพิเศษ)
Richard Tingle

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

2
@RichardTingle ในทางเทคนิคแล้วการเขียน shader ไม่ได้ทำการปรับแต่งเอ็นจิ้น แต่เป็นการมอบเนื้อหาใหม่ให้กับเอ็นจิ้น
Pharap

11
ที่เกี่ยวข้อง:เหตุใด บริษัท จึงต้องการนักคณิตศาสตร์และวิศวกรหากมีเครื่องคิดเลขและคอมพิวเตอร์
xDaizu

1
ค่อนข้างการเขียน Shader แทบจะไม่เป็นวิศวกรกราฟิก @ShuvoSarker - "หรือเอ็นจิ้นเกมทุกเกมมีวิธีการของตัวเอง" แน่นอน "วิศวกรรมระดับต่ำ" สำหรับเกมอาจรวมถึงทักษะจำนวนเท่าใดก็ได้ (ชื่อเรื่อง "โปรแกรมเมอร์กราฟิก" ไม่มีความหมายอะไรเลยมันอาจเป็นแค่ใครบางคนที่ทำ 'สิ่งที่เกี่ยวข้องกับกราฟิก' ใน Unity "หรืออาจหมายถึงอย่างที่คุณคิดว่า
Fattie

คำตอบ:


95

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

ลองยกตัวอย่างที่เป็นรูปธรรม เราต้องการวงกลมที่เคลื่อนไหวได้ดังต่อไปนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ตัวเลือกบางส่วนของเราคือ:

1 วางวงกลมบนป้ายโฆษณาเขียนสคริปต์เพื่อหมุนป้ายโฆษณา

2 ใช้ gif แบบเคลื่อนไหวเป็นแหล่งที่มา

3 ทำสิ่งทั้งหมดใน shader ซึ่งอนุญาตให้เลือกได้ 2 แบบ:

  • หมุนป้ายโฆษณาในส่วนยอด
  • วาดวงกลมหมุนในส่วนที่แตก

ใน 1. ใครบางคนต้องเขียนสคริปต์ซึ่งเป็นงานการเขียนโปรแกรมบางอย่างที่เกี่ยวข้องกับกราฟิก สำหรับ 2 เราไม่จำเป็นต้องมีโปรแกรมเมอร์เว้นแต่เครื่องมือ - เหมือนส่วนใหญ่ - ไม่รองรับการนำเข้าภาพเคลื่อนไหว gifs ซึ่งในกรณีนี้มีคนต้องการโปรแกรมส่วนนั้น ใน 3. บางคนต้องตั้งโปรแกรม shader ซึ่งอาจเป็นศิลปินหรือโปรแกรมเมอร์

แก้ไขเพื่อแก้ไข downvotes:

Downvotes ดูเหมือนจะเป็นเพราะเอฟเฟกต์นั้นง่ายเกินไปและจะไม่ถูกใช้งานโดยโปรแกรมเมอร์กราฟิก "ของจริง" ฉันไม่รู้จริง ๆ ว่าจะมีใครใช้งานอีกหากมีโปรแกรมเมอร์กราฟิกเฉพาะในทีมและฉันก็ใช้เอฟเฟกต์การหมุนดังกล่าวเป็นเงาในตัว - แม้ว่าโดยทั่วไปแล้วการหมุนจะเป็นเพียงส่วนหนึ่งของภาพรวมที่ใหญ่กว่าเช่นในตัวอย่างนี้


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Josh

66

เอ็นจิ้นของเกมเป็นเหมือนห้องครัวและผู้พัฒนา (เช่นโปรแกรมเมอร์) เป็นเหมือนพ่อครัว

เอ็นจิ้นเกมนำเสนอความเป็นไปได้ในขณะที่โปรแกรมเมอร์ใช้ประโยชน์จากความเป็นไปได้เหล่านี้ตามความต้องการของเกม

ดังนั้น บริษัท เกมต้องการโปรแกรมเมอร์กราฟิกเพื่อปรับแต่งความเป็นไปได้ทางกราฟิกของเครื่องยนต์ตามความต้องการของเกม

หากเครื่องยนต์ของเกมต้องจัดการทุกอย่างโดยไม่ต้องปรับแต่งเกมทั้งหมดที่ผลิตโดยเครื่องยนต์นั้นจะดูเหมือนว่าพวกเขาออกมาจากแม่พิมพ์เดียวกัน: ศิลปินสามารถสร้างโมเดล 3 มิติที่แตกต่างกันและศิลปะ 2D ที่ปรับแต่งตามวิสัยทัศน์ของนักออกแบบ แต่ การปรับแต่งในเกมสำหรับกราฟิกเหล่านี้จะถูก จำกัด เฉพาะสิ่งที่เอ็นจิ้นให้บริการนอกกรอบ


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


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Josh

20

ความหมายเฉพาะของเกมส่วนใหญ่ในอุตสาหกรรมเกมนั้นแตกต่างกันอย่างมากจากสตูดิโอไปจนถึงสตูดิโอดังนั้นโปรดคำนึงไว้เสมอ สิ่งที่ถือว่า "การเขียนโปรแกรมกราฟิก" ในสตูดิโอหนึ่งอาจหมายถึงเพียงแค่การปรับแต่ง shader หรือวัสดุที่ในสตูดิโออื่นก็อาจหมายถึงการทำงานเพิ่มประสิทธิภาพค่อนข้างต่ำในระดับที่ใกล้กับกราฟิก API พื้นฐานและอื่น ๆ

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

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

นอกจากนี้ยังมีอีกหลายกรณีที่สตูดิโอจะต้องการผสานรวมของมิดเดิลแวร์ที่เกี่ยวข้องกับกราฟิกเพิ่มเติม มีแพ็คเกจมิดเดิลแวร์เช่น Granite, Enlighten และ TrueSky ซึ่งมีคุณสมบัติที่เกี่ยวข้องกับกราฟิก (การสตรีมพื้นผิวการส่องสว่างระดับโลกการจำลองท้องฟ้าและการเรนเดอร์เป็นต้น) แพ็คเกจมิดเดิลแวร์เหล่านี้ทั้งหมดรวมเข้ากับ Unreal แต่จำเป็นต้องใช้งานเพื่อรวมเข้าด้วยกัน บางคนอาจขัดแย้งกันหรือต้องการ tweaking เพื่อทำงานร่วมกันอย่างดีเนื่องจากพวกเขาทั้งหมดพัฒนาโดย บริษัท ต่าง ๆ โปรแกรมเมอร์กราฟิกจะมีส่วนร่วมในงานประเภทนั้นเช่นกัน


7

คุณสามารถจัดส่งเกมที่ไม่มีโปรแกรมเมอร์กราฟิกได้ง่ายๆวันนี้เพราะเอ็นจิ้นทั้งหมด สิ่งที่คุณต้องการโปรแกรมเมอร์กราฟิกคือสิ่งที่ต้องการ

  1. การเพิ่มประสิทธิภาพ

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

  2. ความเข้าใจและคำแนะนำ

    ศิลปินต้องการบรรลุผลบางอย่าง โปรแกรมเมอร์กราฟิกที่เข้าใจวิธีการทำงานของเครื่องยนต์สามารถอธิบายถึงวิธีการบรรลุผลดังกล่าว

  3. การปรับแต่งและผลกระทบ

    ผลกระทบบางอย่างอาจต้องมีการเขียนโปรแกรม การเรนเดอร์ของBound ส่วนใหญ่นั้นเป็นเรื่องที่กำหนด

นี่ไม่แตกต่างจากภาพยนตร์ ด้วยโปรแกรมเมอร์ 100 คนงบประมาณขนาดใหญ่และการเขียนที่ไม่ดีคุณอาจได้รับ Star Wars: The Phantom Menace ไม่มีโปรแกรมเมอร์และการเขียนที่ดีคุณอาจได้รับ Primer โปรแกรมเมอร์ (หรือคนเทคนิคอื่น ๆ ) สามารถอนุญาตสิ่งใหม่ โปรแกรมเมอร์นำโคลน CG มาที่ Shrek, CG hair ถึง Monsters Inc, Bullet Time to The Matrix เป็นต้น แต่ภาพยนตร์เหล่านี้ไม่ได้เกี่ยวกับเอฟเฟกต์และเป็นไปได้อย่างเต็มที่ที่จะสร้างภาพยนตร์ที่น่าทึ่งโดยไม่มีเอฟเฟกต์หรือเทคโนโลยีใหม่

สิ่งนี้เหมือนจริงมากหรือน้อยสำหรับเกมตอนนี้ โปรแกรมเมอร์กราฟิกอาจอนุญาตให้ใช้ของเหลวใน Pixel Junk Shooter หรือรูปทรงเรขาคณิตแบบไดนามิกทั้งหมดของ Bound แต่เกมจำนวนมากสามารถทำด้วยเทคโนโลยีเครื่องยนต์มาตรฐานและไม่มีโปรแกรมเมอร์กราฟิก


มันทำให้งานของพวกเขาเล็กน้อยหรือไม่?
Shuvo Sarker

2
ทำเกมมานานกว่า 30 ปีแล้วตอนนี้ฉันเห็นได้ว่ามีงานมากมายในการพัฒนาเกม แต่ฉันจะไม่พูดว่าโปรแกรมเมอร์กราฟิกทำงานได้ดี ในความเป็นจริงถ้าคุณต้องการมันจริง ๆ แล้วมันไม่น่าจะเป็นไปได้
gman

1
@immibis ดูเหมือนว่าเกมดุลของคุณจะพูดไม่สำคัญซึ่งฉันไม่เห็นด้วยเพราะจะต้องทำอย่างอื่นก็สามารถทำลายเกมได้ เล็กน้อยหมายความว่ามันมีความสำคัญน้อย
Grumpy พูดว่า Reinstate Monica

2
@GrumpyCrouton เป็นงานที่น่าสนใจไม่มีอะไรเกี่ยวข้องกับความสำคัญของมัน งานที่ไม่สำคัญหมายความว่ามันง่ายเกินไปที่จะถูกเรียกว่าเป็นงาน นอกจากนี้การออกแบบความสมดุลนั้นยากการใช้งานบางอย่างในความเป็นจริงเป็นเรื่องเล็กน้อย
Brian H.

1
@GrumpyCrouton คีย์มีค่าเพียงเล็กน้อยตามที่คุณกล่าวถึงเราไม่ได้พูดถึงสิ่งที่จะบรรลุเป้าหมายเรากำลังพูดถึงภารกิจของตัวเองซึ่งไม่มีคุณค่า คุณเปลี่ยนค่าคงที่อย่างแท้จริงและคุณทำเสร็จแล้ว
Brian H.

4

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


3

เทคนิคมาตรฐานส่วนใหญ่จะถูกนำไปใช้กับเครื่องมือเชิงพาณิชย์ที่เหมาะสมเช่น FXAA, แสง, เงาเงา, การทำแผนที่ปกติเป็นต้น แต่ไม่ใช่ทั้งหมด

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


-8

กำหนดเอ็นจิ้นจากนั้นกำหนดเอ็นจิ้นกราฟิก หากคุณใช้เครื่องมือที่มีอยู่เพื่อสร้างเกมนั่นไม่เหมือนกับการเขียนเกมตั้งแต่เริ่มต้นในโค้ด หากรหัสหนึ่งสามารถกำหนดกราฟิกหรือโปรแกรมได้ไม่ว่าคุณจะเรียกมันว่าอะไรหากรหัสของคุณแข็งแกร่ง การสร้างเกมในเอ็นจิ้นดังกล่าวข้อ จำกัด และจุดแข็งของเกมนั้นขึ้นอยู่กับความสามารถของโปรแกรมเมอร์ การใช้บางอย่างเช่น Unity หรือ Unreal หรือเอ็นจิ้นโปรอื่น ๆ ไม่ได้กำหนดความสามารถของคุณเอ็นจิ้นเกมเป็นเพียงการเข้ารหัสแบบนามธรรมโดยบอกว่า C ++ บริสุทธิ์ไม่ใช่ ตัวอย่างเช่นคุณสามารถจ้างโปรแกรมเมอร์โปรแกรมเมอร์แม้กระทั่งศิลปิน แต่คุณจะถูก จำกัด ด้วยวิสัยทัศน์หรือข้อ จำกัด ของเครื่องยนต์ ดังนั้นจึงเป็นการดีที่จะโค้ดจากศูนย์แล้วใช้บางสิ่งที่มีอยู่ คุณชนะปัญหา ' ไม่พบคำตอบออนไลน์เช่น Stackexchange ฉันสงสัยว่าหลายคนยังใส่ใจที่จะเขียนรหัสเกมโดยไม่ต้องทำโครงการ 2d ฉันแค่ผัดวันประกันพรุ่งเพียงเล็กน้อยซึ่งหมายความว่ามีคำตอบไม่กี่คนที่ตอบตัวเองสะกดคำออกมา วิธีที่ดีที่สุดคือการศึกษาและฝึกฝน!


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