เกม Java ในหนึ่งหรือสองวัน [ปิด]


9

เราเป็นสามคนที่จะสร้างเกมง่ายๆใน Java เป็นโครงการโรงเรียน (มหาวิทยาลัยปีแรก) เกมจะต้องให้ความสำคัญกับวัตถุ เรามีเวลาไม่มากท็อปส์ซู10-20 ชั่วโมง พวกเราไม่มีใครมีประสบการณ์ในการพัฒนาเกม แต่เราทุกคนมีความสามารถพอสมควรใน Java

เราสามารถเลือกประเภทของเกมได้อย่างแม่นยำและนั่นคือปัญหาที่เกิดขึ้น เราควรตั้งเป้าหมายไว้สูงแค่ไหน? มีการแข่งขันที่เกี่ยวข้องดังนั้นเราต้องการสร้างเกมที่ดีที่สุดในเวลาที่เรามี เกม 3 มิติไม่สมจริงหรือไม่? เราควรใช้เครื่องมือ - เกม / ห้องสมุดหรือไม่? เราควรหลีกเลี่ยงการทำงานประเภทใด


4
3D มุ่งไปที่สูงเกินไปเล็กน้อยโดยไม่คำนึงถึงเวลาเพราะคุณไม่มีประสบการณ์ Gamedev ; P
The Duck คอมมิวนิสต์

น่าเศร้าฉันคิดว่า: P
Øyvind

PONG! พาย, ลูกมีวัตถุของตัวเองเพิ่มคะแนน ลูกบอลชนไม้ตีหนึ่งครั้งคุณจะได้ทิศทางเป็น -1 ถ้าลูกบอลผ่านจุดพายอีกทีมให้ลูกบอลเสิร์ฟกับผู้เล่นคนอื่น หรือเป็นที่ง่ายเกินไป>?
Spooks

ฉันคิดว่าบางทีเราควรตั้งเป้าหมายให้ดีขึ้นและมีความคิดสร้างสรรค์มากขึ้นแม้ว่าจะเป็นแนวคิดที่ง่ายในการพัฒนา ...
Øyvind

1
แชร์เกมของคุณกับเราได้อย่างไร :)
ashes999

คำตอบ:


23

หลีกเลี่ยง 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 ได้อย่างง่ายดายโดยไม่ต้องมีแนวคิดขั้นสูง (เช่นหลีกเลี่ยงการชนกันของพิกเซลการคำนวณทางฟิสิกส์ที่บ้าคลั่งผลกระทบของอนุภาคเป็นต้น) แต่จากนั้นสร้างรายการที่จัดลำดับความสำคัญคุณสมบัติของเกมโดยละเอียดมากที่สุดเท่าที่จะเป็นไปได้ (เช่นแยกคุณสมบัติแต่ละอย่างออกเป็นงานแยกให้ได้มากที่สุด) ด้วยวิธีนี้คุณสามารถทำรายการของคุณให้ไกลที่สุดและถ้าคุณไม่ทำภารกิจที่มีลำดับความสำคัญต่ำมันไม่ควรเป็นเรื่องใหญ่ สิ่งนี้จะต้องทำอย่างระมัดระวัง (คุณยังคงต้องการเกมที่ใช้งานได้ในตอนท้ายดังนั้นจึงมีงานขั้นต่ำที่ต้องทำและงานบางอย่างขึ้นอยู่กับงานอื่น) แต่โดยทั่วไปฉันคิดว่านี่เป็น แนวทางที่ดีที่สุดเมื่อคุณไม่ทราบว่าจะต้องใช้เวลานานเท่าใด


นั่นเป็นคำแนะนำที่ยอดเยี่ยม
Alexander Gessler

1
จุดที่ดี แม้ว่าฉันคิดว่าการควบคุมซอร์สสามารถทำให้สิ่งต่าง ๆ มีความซับซ้อนมากขึ้นสำหรับผู้เริ่มต้น เมื่อเวลาเป็นสิ่งสำคัญไม่ควรเริ่มใช้เครื่องมือใหม่ แต่ถ้าคุณคุ้นเคยกับ VCS อยู่แล้วควรใช้อย่างแน่นอน
bummzack

4
คำแนะนำของ Ricket สำหรับการเล็งเป้าหมายที่ต่ำและการใช้รายการที่มีลำดับความสำคัญนั้นยอดเยี่ยม - พวกมันกำลังลดความเสี่ยงและเพิ่มการวนซ้ำ คุณต้องการหลีกเลี่ยงสถานการณ์ที่ต้องทำงานเป็นเวลา 8 ชั่วโมงก่อนที่คุณจะทำงานอะไร ถ้ามันไม่ได้ผลหรือใช้เวลานานกว่านั้นคุณอาจจะไม่มีอะไร พยายามให้เกมทำงานในเวลาไม่ถึง 1 ชั่วโมงจากนั้นใช้เวลาที่เหลือในการเพิ่มสิ่งต่าง ๆ 10 ชั่วโมงเล่นการทดสอบการกลั่น ในขณะที่คุณเล่นคุณจะพบกับสิ่งต่าง ๆ ที่จะเพิ่ม
amitp

@bummzack เห็นด้วย! มันสามารถเข้าทางได้ดังนั้นฝึกฝนและมั่นใจว่ามันเป็นกุญแจ แต่มันก็ยอดเยี่ยมและมีประโยชน์มากหากใช้อย่างถูกต้อง
Ricket

สิ่งที่ดีที่สุดที่จะทำให้สิ่งต่าง ๆ ทำงานได้อย่างรวดเร็วนั้นคือการเขียนโปรแกรมแบบสุดขั้ว (ดีกว่า svns) ซึ่งผมหมายถึงว่าทั้งทีมอยู่ด้วยกันหน้าคอมพิวเตอร์เครื่องเดียว มันใช้งานได้ดีในทีมขนาดเล็ก (สูงสุด 2-3) คุณให้การสนับสนุนซึ่งกันและกันและปัญหาจะได้รับการแก้ไขได้เร็วขึ้น - คุณจะไม่ผิดหวัง
Notabene

2

อย่าตั้งเป้าหมายสูงเกินไป เลือกสิ่งที่คุณสนใจและสร้างสิ่งที่ง่าย ๆ ตัวอย่าง: บางทีคุณอาจสนใจเรียนรู้เกี่ยวกับเครื่องมือทางฟิสิกส์จริงๆ ทำไมไม่สร้างตัวต่อปริศนาแบบtotem-Destroyerหรือคล้ายกัน? พยายามหมุนรอบองค์ประกอบหลักและไม่รวมสิ่งที่ซับซ้อนอื่น ๆ เช่น AI การเรนเดอร์ / กราฟิค / เฉดสีที่ซับซ้อนเป็นต้น

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

อย่าพยายามเรียนรู้สิ่งใหม่มากเกินไปในคราวเดียว ใช้ประโยชน์จากเฟรมเวิร์ก / เครื่องมือที่มีอยู่ให้มากที่สุด

เมื่อต้องการปัดเศษขึ้นนี่คือความคิดบางอย่างสำหรับเกม "เริ่มต้นใช้งาน": เกมที่ดีในการ "รับปีกของคุณ" คืออะไร?

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


2

หากคุณไม่มีประสบการณ์ในการเขียนเกม 3D มาก่อนฉันจะทิ้งความคิด 3 มิติไว้ในทันที ให้เน้นที่แนวคิดการเล่นเกมอย่างง่าย ๆ และลองนำไปใช้โดยใช้กราฟิก 2D ที่เรียบง่าย ตรวจสอบให้แน่ใจว่าคุณใช้กลไกเกมก่อน - ถ้าคุณทำเสร็จก่อนหน้านี้คุณยังสามารถเพิ่มเอฟเฟกต์ภาพที่ซับซ้อนได้

แต่เกมที่ไม่มีเกมไม่ใช่เกมในขณะที่เกมที่ไม่มีกราฟิกที่น่าทึ่งก็ยังคงสนุก

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


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