มีวิธีคิดอยู่สองสามวิธี หนึ่งคือการระบุคุณสมบัติเฉพาะที่เอ็นจิ้นควรมี (สิ่งที่คุณถามที่นี่) อย่างไรก็ตามวิธีอื่นคือการเริ่มสร้างเกมโดยไม่ต้องกังวลเกี่ยวกับ "เอ็นจิ้น" มากเกินไปจากนั้นคุณสมบัติที่คุณพบจะถูกนำมาใช้ซ้ำ เกม (โดยเฉพาะคุณสมบัติที่ใช้ในเกมทุกเกม) คุณควรโยกย้ายจากแหล่งที่มาสำหรับเกมที่ระบุลงในฐานข้อมูลรหัสที่ใช้ร่วมกันเรียกว่า "เอ็นจิ้น"
เพราะในที่สุดทำไมคุณต้องการฟีเจอร์ที่ให้มาในเอนจิ้นมากกว่าในเกมนั่นคือมันใช้ร่วมกันระหว่างหลาย ๆ เกม โดยทั่วไปจะเป็นสิ่งต่าง ๆ เช่นการวาดคำสั่งตัวควบคุมอินพุตและรหัสเครือข่าย เอ็นจิ้นเกม 2D จะมีคุณสมบัติกราฟิก 2D มากมายเช่นการโหลดรูปภาพลำดับชั้นการแสดงผลด้วยการเรียงลำดับ z การจัดการ spritesheets การทวีคูณเป็นต้นเกมจำนวนมากต้องการการจำลองทางฟิสิกส์ ในขณะเดียวกันสิ่งที่ "ภายใต้ประทุน" ที่ใช้ในเกือบทุกเกมมีตัวจับเวลาเหตุการณ์การส่งข้อความและแม้แต่ฟังก์ชันทางคณิตศาสตร์ที่เฉพาะเจาะจงกับการพัฒนาเกม (เช่น distanceToTarget ()
เรื่องสั้นสั้น:
A) เอ็นจิ้นควรมีฟีเจอร์ที่แชร์โดยเกมส่วนใหญ่
B) คุณเรียนรู้ว่าคุณลักษณะใดที่ใช้ร่วมกันโดยการทำเกมมากมาย
just start making games without worrying too much about the "engine"