หลีกเลี่ยง 3Dเพราะคุณต้องรู้วิธีสร้างแบบจำลอง 3 มิติหรือค้นหาสิ่งที่ดีคุณจะต้องรู้วิธีโหลดแบบจำลองดังกล่าว (มักจะเป็นภารกิจที่ยิ่งใหญ่ในตัวเองเศร้า) และวิธีวาดภาพบนหน้าจอ (เช่น OpenGL หรือ DirectX ทำงานหนักเพื่อผลประโยชน์เพียงเล็กน้อยและแม้แต่เครื่องยนต์อย่างjMonkeyEngine ยังต้องการความรู้เกี่ยวกับวิธีการใช้งานเครื่องยนต์พร้อมกับความรู้พื้นฐาน 3D) การผสมภาพ 2D บนหน้าจอและเคลื่อนย้ายไปมานั้นทำได้ง่ายกว่าการจัดการกับจุดยอดวัสดุการดูเมทริกซ์การแปลง ฯลฯ ฯลฯ ฉันคิดว่าคุณเข้าใจ
ติดกับไลบรารีและคลาส Java ในตัว: Graphics2D, ImageIO, AWT เม้าส์และคีย์บอร์ดฟัง, Canvas, Java Sound API และอื่น ๆ ประโยชน์ของการผสานกับสิ่งเหล่านี้แทนที่จะค้นหาห้องสมุดอื่น ๆ รวมถึง: คุณรู้จักพวกเขา (ในระดับหนึ่ง) คุณรู้ว่าพวกเขาได้รับการทดสอบอย่างดีและมีเสถียรภาพและโดยทั่วไปแล้วสมเหตุสมผลเอกสารออนไลน์และทรัพยากรมีอยู่มากมาย คุณไม่ต้องกังวลกับการติดตั้งไลบรารี่เพิ่มเติมด้วยไลบรารี่ดั้งเดิมและทุกสิ่ง
สร้างคลังข้อมูลโค้ดขนาดเล็กไว้ล่วงหน้า สิ่งเหล่านี้รวมถึงสิ่งต่าง ๆ เช่นการโหลดรูปภาพการวาดภาพไปยังตำแหน่งบนหน้าจอการปรับขนาดของรูปภาพและเอฟเฟกต์อื่น ๆ การเล่นเสียงการวนเพลงแบ็คกราวด์การตรวจจับการชนกันของกล่องสี่เหลี่ยม มีแอพพลิเคชั่นโครงกระดูกที่เปิด Frame (หรือ Applet) เพิ่ม Canvas ลงไปและวิธีการทาสีและทาสีใหม่ของ Canvas ควรจะถูกเขียนทับ Java 2D game programming
คุณสามารถเรียนรู้สิ่งเหล่านี้ถ้าคุณค้นหารอบ สมมติว่าคุณเข้าถึงห้องสมุดของมหาวิทยาลัยคุณควรมีหนังสือเกม Java ที่ดีมากมาย ตรวจสอบพวกเขาและอ่านผ่านพวกเขาสำหรับตัวอย่างที่กล่าวถึงข้างต้นและอื่น ๆ ที่ฉันพลาด
ฝึกฝนการควบคุมแหล่งและการแบ่งงานกับทีมของคุณล่วงหน้าคุณจะใช้การโค่นล้ม Git, Mercurial หรืออะไรอย่างอื่น? มีการตั้งคอมพิวเตอร์ของทุกคนเป็น Java รุ่นเดียวกันหรือไม่ สร้างที่เก็บของคุณยอมรับ / ดันไฟล์บางไฟล์ตรวจสอบให้แน่ใจว่าทุกคนมีที่เก็บข้อมูลถูกเช็กเอาต์และพร้อมที่จะดำเนินการในระบบ อาจยอมรับแอป 'สวัสดีโลก' และตรวจสอบให้แน่ใจว่าทุกคนสามารถดึงและแก้ไขและส่งมอบได้ และตรวจสอบให้แน่ใจว่าคุณรู้วิธีจัดการกับการผสาน (ไม่ว่าคุณจะหลีกเลี่ยงปัญหาทั้งหมดด้วยการสื่อสารที่ดีหรือการเขียนโปรแกรมจับคู่หรือคุณรู้วิธีใช้เครื่องมือผสาน) หรือถ้าคุณไม่คุ้นเคยกับการควบคุมแหล่งที่มาตรวจสอบให้แน่ใจว่าคุณเข้าใจวิธีแก้ปัญหาที่ได้ผลแล้ว ไม่ว่าจะเป็นการเขียนโปรแกรมคู่ในขณะที่บุคคลที่สามทำเสียงหรือเสียงหรืออย่างอื่นเพียงตรวจสอบให้แน่ใจว่าได้รับการจัดระเบียบตั้งแต่เริ่มต้นหรือคุณจะเสียเวลามากมาย
คั่นลิงก์ไปยังเว็บไซต์ที่ให้บริการสื่อฟรี มีเว็บไซต์ประเภทเหล่านี้จำนวนมากที่ปรากฏในคำถามอื่น ๆ ที่นี่; เว็บไซต์เช่นfreesoundเหมาะอย่างยิ่งสำหรับการค้นหาสื่อที่มีประโยชน์เพื่อใช้ในเกมของคุณอย่างรวดเร็วเมื่อคุณไม่มีเวลาที่จะทำตั้งแต่เริ่มต้น คั่นหน้าเว็บไซต์นี้แน่นอนเพื่อให้คุณสามารถถามคำถามว่าคุณติดอะไรอยู่หรือเปล่า บุ๊กมาร์กฟอรัมเช่นฟอรัม gamedev.net เพื่อให้คุณสามารถค้นหาคำตอบได้ หากคุณเลือกที่จะใช้ห้องสมุดบุคคลที่สามบุ๊คมาร์คเว็บไซต์ของพวกเขา จัดระเบียบบุ๊กมาร์กเหล่านี้ลงในโฟลเดอร์และหยิบให้มากที่สุดเท่าที่จะเป็นไปได้และตรวจสอบให้แน่ใจว่าได้แชร์เพื่อให้คุณทั้งสามคนมีห้องสมุดบุ๊กมาร์กที่มีประโยชน์เหมือนกัน ไม่ต้องใช้เวลามากมายในการรวบรวมและรวบรวมบุ๊คมาร์คเหล่านี้และจัดเรียงตามประเภท / หัวเรื่อง แต่จะช่วยให้คุณประหยัดเวลาได้มากเมื่อคุณไม่ต้องจำเว็บไซต์เหล่านั้นทั้งหมดในโครงการของคุณ
สำหรับคำแนะนำเพิ่มเติมดูคำตอบสำหรับคำถามของฉัน"จะเตรียมตัวสำหรับการแข่งขันพัฒนาเกมได้อย่างไร" .
เพื่อรับมือกับส่วนที่เหลือของคำถามของคุณ ... คำแนะนำทั่วไปคือไม่ได้มุ่งหวังที่สูง อย่างไรก็ตามมันอาจแตกต่างกันมากขึ้นอยู่กับว่าคุณพร้อม (เช่นคำแนะนำของฉันด้านบน) และทักษะของคุณใน Java นี่คือการตัดสินส่วนบุคคลโดยอิงตามประวัติของคุณ แต่เนื่องจากไม่มีใครมีประวัติในการสร้างเกม (และดังนั้นจึงไม่สามารถตัดสินเวลาที่จำเป็น) จึงตั้งเป้าหมายไว้ต่ำมาก มาพร้อมกับแนวคิดพื้นฐานที่สามารถนำไปใช้ใน 2D ได้อย่างง่ายดายโดยไม่ต้องมีแนวคิดขั้นสูง (เช่นหลีกเลี่ยงการชนกันของพิกเซลการคำนวณทางฟิสิกส์ที่บ้าคลั่งผลกระทบของอนุภาคเป็นต้น) แต่จากนั้นสร้างรายการที่จัดลำดับความสำคัญคุณสมบัติของเกมโดยละเอียดมากที่สุดเท่าที่จะเป็นไปได้ (เช่นแยกคุณสมบัติแต่ละอย่างออกเป็นงานแยกให้ได้มากที่สุด) ด้วยวิธีนี้คุณสามารถทำรายการของคุณให้ไกลที่สุดและถ้าคุณไม่ทำภารกิจที่มีลำดับความสำคัญต่ำมันไม่ควรเป็นเรื่องใหญ่ สิ่งนี้จะต้องทำอย่างระมัดระวัง (คุณยังคงต้องการเกมที่ใช้งานได้ในตอนท้ายดังนั้นจึงมีงานขั้นต่ำที่ต้องทำและงานบางอย่างขึ้นอยู่กับงานอื่น) แต่โดยทั่วไปฉันคิดว่านี่เป็น แนวทางที่ดีที่สุดเมื่อคุณไม่ทราบว่าจะต้องใช้เวลานานเท่าใด