ตามที่กล่าวโดยJosh Petrie :
" ไม่ได้สร้างที่นี่ซินโดรม ;"
ฉันเขียนโปรแกรมของตัวเองและฉันคิดว่าเหตุผลจะแตกต่างกันไปสำหรับนักพัฒนาทุกคน แต่จริงๆแล้ว - โดยทั่วไปฉันไม่ชอบทำงานในรหัสประชาชนอื่น ๆ ฉันบังคับในแง่ที่ว่าถ้าฉันรู้สึกว่าฉันสามารถสร้างมันขึ้นมาได้เองมันก็ไม่มีประโยชน์อะไรเลย
ฉันทดสอบเอนจิ้นเกมประเภทต่าง ๆ การเรนเดอร์ API และ Ploobs ที่โดดเด่น UNITY WaveEngine, XNAFinalEngine, Love, Ogre และอื่น ๆ อีกมากมาย ... ฉันต้องการเริ่มเขียนเกม - ฉันดาวน์โหลดมากมองสบาย ๆ และจุดเข้าเอกสารที่ดี ...
อย่างไรก็ตามปัญหาของฉันคือในเวลาที่ฉันไม่รู้ว่าเกิดอะไรขึ้นใต้เครื่องยนต์ ฉันต้องการการควบคุมที่ดีและฉันต้องการกรอบที่ฉันรู้เหมือนหลังมือ ฉันคิดว่า "เฮ้! ฉันคิดว่าวิธีเดียวที่ฉันจะได้เรียนรู้วิธีการทำงานและเข้าใจว่ามันคือการลองสร้างเครื่องมือของตัวเองโดยสิ้นเชิงและสมบูรณ์ตั้งแต่เริ่มต้นส่วนใหญ่ประวัติการเขียนโปรแกรมของฉันมาพร้อมกับโซลูชั่นเว็บและการประมวลผล - นี่เป็นเกมบอลใหม่สำหรับฉัน
ซึ่งเป็นสิ่งที่ฉันทำลงเอย
ดังนั้นฉันเลือกที่จะตั้งค่า XNA เนื่องจากฉันรู้จัก C # แล้วและเริ่มคิดว่าควรเริ่มต้นอย่างไร ฉันต้องการความคิด
ฉันตัดสินใจว่าไม่ว่าจะเกิดอะไรขึ้นฉันจะเข้าสู่ 3Dโดยตรง
การพื้นฐานลงเป็นเย็น - สิ่งที่เทพดาชุด แต่ที่ผมก้าวหน้าฉันสิ้นสุดการค้นพบอุปสรรคใหม่และอุปสรรค - จริงครั้งแรกของฉันเป็นขีด จำกัด ของชุด เป้าหมายของฉันคือการสร้างเกมที่สามารถแสดงผลอย่างน้อย 10,000 รายการในมุมมอง frustum ได้ตลอดเวลา
ฉันเริ่มต้นการเดินทางครั้งใหม่ของการใช้ Shader Based Instancing (และเรียนรู้ HLSL ในขณะที่ฉันอยู่ที่นี่) ฉันทิ้ง XNA ที่สร้างขึ้นในวัตถุ Model and Effect เพื่อเขียนแทนตัวเอง ฉันมีปัญหาในการทำความเข้าใจกับลำธาร VBO ในตอนแรก ฉันทำสิ่งต่าง ๆ เสียหาย - ฉันไปทางออนไลน์เพื่อถามคำถามเกี่ยวกับสิ่งที่ติดตั้งไว้และเก็บไว้จนกระทั่งในที่สุดฉันก็เข้าใจว่า GPU กำลังทำอะไรอยู่ มันจ่ายออกไป; ตอนนี้ฉันมีหน่วยงานทดสอบมากกว่าสองพันรายการที่ซูมเข้ามาในวิวพอร์ตของฉันหลังจากผ่านการดีบัก VBO ของฉันด้วย PIX (dxsdk) สองสามวัน
ตอนนี้ฉันมีแนวคิด "บางอย่าง" เกี่ยวกับวิธีการสร้างการแสดงผลท่อ แต่ยังไม่เสร็จ - ฉันลงเอยด้วยการสร้างสถานะเกมของตัวเองกล้องโพสต์เอฟเฟกต์และวัตถุเอนทิตีของตัวเองย้ายออกจาก XNA Content Pipeline ตัวตัก (ไม่ชอบส่วนตัวต่อสิ่ง XNB) สร้างความลึกที่ซับซ้อนเรียงลำดับและผสมผสานรูปทรงเรขาคณิตที่แยกจากกันของรัฐและยังมีสไปรต์และข้อความที่ไม่ถูกต้องทั้งหมดที่ถูกฉายเข้าไปในฉากเกม
ฉันเพิ่มต่อเติมแก้ไขเปลี่ยนแปลงและทดลองสิ่งนี้อย่างต่อเนื่องเกือบตลอดทั้งปี ในที่สุดมันออกมาค่อนข้างดี ตอนนี้ฉันมีความเข้าใจในสิ่งที่เกิดขึ้นภายใต้ประทุนเพราะฉันสร้างมันขึ้นมา - ที่รัก
ตอนนี้เครื่องยนต์ของฉันเสถียรมากและใกล้จะเสร็จแล้ว มันไม่สมบูรณ์แบบ: การเขียนสคริปต์นั้นมีคุณค่าและ GUI ไม่ยอดเยี่ยมเลย แต่ฉันก็ยังรักมัน โค้ดหลายพันรายการสินทรัพย์และสื่อ - ซ่อนตัวอยู่ในพื้นที่เก็บข้อมูล 2GB git ส่วนตัวและอาการปวดหัวทั้งหมดที่ฉันต้องทำคือพยายามพัฒนารูปแบบที่ฉันไม่เคยทำมาก่อน อุปสรรคทุกอย่างที่ฉันเอาชนะได้คือบทเรียนที่เรียนรู้ - และการผ่อนปรน
ฉันดึงออกเกือบทุกอย่างที่ฉันต้องการ
แต่ในที่สุด - ฉันตัดสินใจว่าถึงเวลาที่จะทำให้เธอผิดหวัง
เท่าที่ฉันพอใจตัวเองเขียนเครื่องมือขนาดใหญ่เช่นนี้ด้วยตัวเองพร้อมคำแนะนำจากเน็ตและเพื่อน ๆ ของ gamedev อื่นฉันตัดสินใจว่าฉันจะทำมันทั้งหมดอีกครั้ง - และทำได้ดีกว่า - เพราะตอนนี้เวลานี้ฉันส่วนใหญ่รู้แล้ว ฉันกำลังทำอะไรอยู่.
โครงการนั้นยังคงซ่อนตัวอยู่ใน repo GIT ของฉัน
รอบที่สองของฉันในการเขียนเอ็นจิ้นใหม่ (คราวนี้บน MonoGame) กำลังก้าวหน้าไปด้วยดี เมื่อมีบางสิ่งบางอย่างแตกหักง่ายกว่าที่จะแก้ไข ระเบียบน้อย ฉันหวังว่าจะแสดงเกมของฉันต่อสาธารณชนในบางครั้งในปีนี้เนื่องจากฉันมักจะแนบกับโค้ดของฉันเล็กน้อย
ในที่สุดการเขียนโปรแกรมของฉันคือวิธีที่ฉันเรียนรู้ 'วิธี' ในขณะที่สามารถพูดได้ว่าฉันรู้และเข้าใจสิ่งที่ทุกองค์ประกอบทำและวิธีที่พวกเขาควรจะทำงาน ฉันเกลียดการอ่านรหัสของคนอื่นโดยเฉพาะอย่างยิ่งสำหรับโครงการที่ไม่มีเอกสารขนาดใหญ่ ฉันต้องการทุกสิ่งที่ฉันจะสร้างโดยฉัน
นี่เป็นเพียงฉันแม้ว่า ฉันสงสัยว่าฉันจะใช้เครื่องมือที่สร้างไว้แล้วอาจเป็นเพราะฉันคิดว่ามันสนุกมากขึ้นที่ฉันจะเขียนกรอบงานของตัวเองมากกว่าที่จะนั่งและจัดการกับรหัสของคนอื่น - การควบคุมเต็มรูปแบบ