ภารกิจประจำวันของโปรแกรมเมอร์เกมระดับต้นคืออะไร? [ปิด]


64

สิ่งที่ฉันอยากรู้คือ: หน้าที่ประจำวันของโปรแกรมเมอร์บัณฑิตในที่ทำงานอุตสาหกรรมเกมคืออะไร มันส่วนใหญ่เป็นรหัสการวิเคราะห์การออกแบบหรืออะไร

ขอขอบคุณ.

ป.ล. ฉันอยู่ในมหาวิทยาลัยชั้นปีที่สองของฉันในขณะนี้และทำงานเพื่อเชี่ยวชาญด้านการเขียนโปรแกรมเกมโดยเฉพาะการเล่นเกมเครื่องมือหรือการเขียนโปรแกรม UI

คำตอบ:


103

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

  • คุณอาจใช้เวลาประมาณ 50-70% ในการเขียนโปรแกรมเวลา ในเวลานี้ฉันรวมถึง 'สิ่งสนุก ๆ ' อย่างเช่นการสร้างคุณสมบัติที่ชาญฉลาดจริง ๆ รวมถึงเวลาที่คุณกำลังดูที่การถ่ายโอนข้อมูลหน่วยความจำนาน 8 ชั่วโมงโดยพยายามที่จะหาสิ่งที่ผิดพลาด บางทีอาจเป็น 25-50% ของการเขียนโปรแกรมแบบนั่งลงที่แป้นพิมพ์ของคุณและได้รับในโซน
  • อีก 15-25% ในการประชุมและงานการบริหารเช่นข้อผิดพลาด triage การประชุมเกี่ยวกับการทดสอบข้อผิดพลาดการจัดตารางเวลาเอกสารระดับสูงสำหรับโปรแกรมเมอร์และผู้ผลิตอื่น ๆ , อีเมล, การปรับปรุงสถานะโครงการ / บริษัท ทั้งหมดและอื่น ๆ ขึ้นอยู่กับว่าคุณมีอิสระมากแค่ไหน - ถ้าคุณไม่มีอิสระคุณจะต้องใช้เวลาในการเขียนโปรแกรมมากขึ้นเพราะคุณจะใช้เวลาน้อยลงในการตั้งเวลาของคุณเอง หากคุณควบคุมตารางงานของคุณได้มากขึ้นคุณอาจได้ทำงานในสิ่งที่น่าสนใจมากขึ้น แต่คุณต้องใช้เวลาทำสิ่งนี้
  • อีก 15-25% ช่วยให้นักออกแบบ / ศิลปินเข้าร่วมการประชุมเชิงสร้างสรรค์เกี่ยวกับเกมติดตามข่าวสารเกี่ยวกับการออกแบบเกมและอื่น ๆ

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

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


ไม่ใช่วิธีที่ฉันจำได้ แต่มันจะช่วยได้เมื่อคู่ฝึกอบรมของคุณสอนสิ่งต่าง ๆ ให้คุณ ;-)
coderanger

@ โคเดอเจอร์: ฉันไม่คิดว่าเราสองคนได้รับความช่วยเหลือจากพันธมิตรการฝึกอบรมของเรา ;)

26

นอกเหนือจากประเด็นการอภิปรายระดับสูงที่โจนำขึ้นมามีสิ่งอื่น ๆ อีกสองสามสิ่งที่คุณควรระวัง

  • โดยทั่วไปคุณจะใช้เครื่องมือติดตามบั๊กหรือเครื่องมือติดตามงานบางอย่างที่ลูกค้ามุ่งหวังของคุณจะใช้เพื่อมอบหมายงานให้คุณ บางครั้งก็เหมือนกัน (เช่น FogBugz) บางครั้งรายการข้อผิดพลาดของคุณจะผ่านผู้เผยแพร่และรายการงานของคุณอยู่ในวิกิภายใน คุณไม่เพียงแค่นั่งลงและเริ่มทำสิ่งใดงานของคุณจะต้องถูกชี้นำ
  • บางครั้งคุณอาจถูกขอให้ประเมินงานของคุณ นี่เป็นนัยเมื่อใช้ระบบเช่น FogBugz ความรับผิดชอบส่วนหนึ่งของคุณจะ / ควร / สามารถแบ่งคุณสมบัติระดับสูงออกเป็นส่วน ๆ ที่คุณสามารถใช้เพื่อประเมินว่ามันจะใช้เวลานานแค่ไหนเพื่อจุดประสงค์ในการดูว่าคุณอยู่ในช่วงเวลาสำคัญอย่างไร ฯลฯ
  • สตูดิโอจำนวนมากได้ย้ายไปใช้วิธีการแบบเปรียว / scrumm มากขึ้น การอัปเดตแผนภูมิที่ไม่ทำงาน (เช่นการบอกว่าคุณใช้เวลา X ชั่วโมงกับงาน Y และคาดว่าจะเสร็จในเวลา Z) เป็นเรื่องปกติ การประชุม standup รายวันอาจเป็นเรื่องธรรมดาอีกเล็กน้อย ไม่ว่าคุณจะใช้วิธีใดในการมองเห็นสิ่งที่คุณกำลังทำอยู่
  • คุณจะใช้การควบคุมเวอร์ชัน / แหล่งที่มา ยิ่งสตูดิโอใหญ่ขึ้นเท่าไหร่พวกเขาก็จะใช้ Perforce มากขึ้นเท่านั้น คุณควรตระหนักถึงพื้นฐานของมัน (การตรวจสอบไฟล์, การคอมมิทไฟล์, ความสามารถในการแก้ไขข้อขัดแย้งในพื้นที่ของคุณ) คุณอาจถูกเรียกให้เข้าใจการแยกสาขาและการรวมสาขา สตูดิโอบางแห่งทำงานที่นักพัฒนาทั้งหมดจะได้รับสาขาในพื้นที่และคุณสามารถเช็คอินได้มากเท่าที่คุณต้องการและรวมเข้าด้วยกันเมื่อสาขาของคุณ สตูดิโออื่น ๆ (ของเรา) มีนโยบาย "ไม่ผิดหลัก" ดังนั้นคุณต้องทำให้แน่ใจว่าคุณอัปเดตทำการทดสอบอย่างรวดเร็วเพื่อให้แน่ใจว่าคุณไม่ได้ทำลายอะไรเลยจากนั้นเช็คอินสตูดิโอบางแห่งไม่มี นโยบายและผู้คนแตกสลายอยู่ตลอดเวลาและมันก็น่ารำคาญสุด ๆ และคุณต้องเรียนรู้วิธีการแก้ไข
  • การตรวจสอบรหัสเป็นการทั่วไป บางครั้งพวกเขาทั้งรหัสแผนก ทีมงานของเราใช้วิธีการโค้ดคู่หูซึ่งเป็นแบบหนึ่งต่อหนึ่งสำหรับความคิดเห็นเกี่ยวกับเช็คอิน ไม่ว่าคุณจะคาดหวังว่าจะถูกขอให้แสดงการวิเคราะห์ที่สำคัญของรหัสของผู้อื่น

11

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

สิ่งที่ฉันทำมากมายก็เกี่ยวข้องกับไอทีเช่นกัน การพัฒนาเครื่องมือภายในเป็นเรื่องใหญ่ - บางอย่างที่ช่วยโดยตรงกับเกม dev บางอย่างเพื่อทำให้สิ่งต่าง ๆ ที่ทำด้วยตนเองมาก่อน และแน่นอนการแก้ไขข้อบกพร่องสำหรับเครื่องมืออื่น ๆ รวมถึงตัวติดตั้ง Games for Windows Live ของ Microsoft

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

ฉันไม่ชำนาญในเกมหรือกราฟิกดังนั้นงานใด ๆ ที่คุณทำจะเกี่ยวข้องกับความเชี่ยวชาญของคุณมากกว่านี้ แต่ฉันหวังว่ามันจะให้ความคิดแก่คุณ


4

โครงการปีสุดท้ายของฉันคือองค์ประกอบ HTML5 ผ้าใบ ฉันกำลังฝึกงานในช่วงสองเดือนที่ผ่านมาซึ่งฉันต้องย้ายเกมแฟลชที่มีอยู่ไปยังผ้าใบ HMTL5

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

แต่มันก็สนุกดี! :) ความสุขที่แท้จริงของการเขียนที่ฟังก์ชั่นอันชาญฉลาดจริงๆโต้ตอบกับชุมชนของวิธีการที่คุณสามารถสร้างฟังก์ชั่นที่แฟลชทำโดยอัตโนมัติ ทั้งหมดของมัน. ถึงเวลาแล้วที่คุณไม่เสียใจที่ได้งานนั่นทำให้มันรู้สึกว่าเป็นงานที่ดีที่สุดในโลกและกับหลานชายของฉันช่างเท่ห์ที่สุดในโลก

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

ในตอนท้ายของวันส่วนใหญ่พอใจกับสิ่งที่ฉันทำสำเร็จบางครั้งยังเกร็งว่าฉันจะทำอะไรได้ดีกว่าและสิ่งที่ฉันทำได้แตกต่างและสมบูรณ์แบบนั้น ฉันเพิ่งอยู่ในช่วงเริ่มต้นดังนั้นฉันอาจไม่สามารถให้คำแนะนำคุณได้ว่ามันจะเกิดขึ้นได้อย่างไรในอนาคต แต่ ณ ตอนนี้ .. ฉันคิดว่าฉันต้องทำงานที่ยอดเยี่ยมที่สุด :)

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