ฉันเพิ่งตัดสินใจเริ่มเขียนโปรแกรมสำหรับเกมไพ่ ฉันไม่ใช่ผู้เล่น "ไพ่" ที่ยิ่งใหญ่ แต่มีเพื่อนแนะนำฉันให้รู้จักกับเกมนี้ (มันเป็นการหมุนเกมเดนมาร์ก) และฉันตกหลุมรัก
ฉันต้องการพัฒนาเกมใน 3 ส่วน:
- เครื่องมือพื้นฐานจัดการไพ่ / สำรับ / เกม ฯลฯ
- ส่วนต่อประสานผู้ใช้ (ในรูปแบบของมือถือ / เดสก์ท็อปเว็บแอพ)
- ปัญญาประดิษฐ์ที่มีกลยุทธ์ / ปัญหาต่าง ๆ เป็นต้น
นี่เป็นโครงการที่แตกต่างกันมากในใจของฉัน ... และฉันกำลังดิ้นรนกับการเห็นว่าพวกเขาจะเข้าด้วยกันในระยะยาวอย่างไร ตอนแรกฉันไม่ต้องการแม้แต่จะ "เล่น" เกมโดยใช้เครื่องมือ เครื่องยนต์จะถูกทดสอบเป็นหลักโดยการทดสอบตามหน่วย การทดสอบการเล่นจะไม่เริ่มจนกว่าจะมีลูกค้า ดังนั้นจึงมีบางอย่างของความสัมพันธ์ระหว่างลูกค้ากับเซิร์ฟเวอร์ที่นี่
เครื่องยนต์เป็นตัวต่อชิ้นใหญ่มาก สิ่งที่ฉันอยากรู้คือ: คุณจะพัฒนา "API สาธารณะ" สำหรับเครื่องมือนี้อย่างไร?
ฉันคิดว่าเอ็นจิ้นอาจเป็นบริการบนเว็บที่ธรรมดามากซึ่งส่งคืนสถานะผ่านเคียวรีไปยัง RESTful API แต่ฉันกังวลว่าการพัฒนาเอ็นจิ้นเองเนื่องจากเว็บแอพอาจนำไปสู่การตัดสินใจเขียนโปรแกรมที่ไม่ดี (ตัวอย่างเช่นถ้าฉันเลือก MVC micro-framework API นี้จะไม่มีมุมมองจริง ๆ ... มันแค่คืนค่าวัตถุที่ถูกทำให้เป็นอนุกรมผ่าน JSON หรืออะไรบางอย่างที่ส่งผลกระทบนั้นมันไม่ดีที่จะใช้ MVC สำหรับบริการเช่นนั้น นี้? )
ความคิดอื่นของฉันคือเครื่องยนต์เพิ่งจะเป็นแอพคอนโซลและต่อมาฉันจะเขียนบริดจ์บางชนิดเพื่อเชื่อมต่อข้อมูลระหว่างมันกับเว็บแอป (สะพานสามารถเป็นอะไรก็ได้จริงๆฉันหมายถึงเว็บเซิร์ฟเวอร์และโปรแกรมเกมอาจไม่ได้ใช้งานในเซิร์ฟเวอร์ IRC และแบ่งปันสถานะของพวกเขาในช่องทาง)
คุณจะใช้วิธีการใด (พัฒนาเป็นเว็บเซอร์วิสหรือพัฒนาเป็นแอพแบบสแตนด์อโลนและเชื่อมต่อในภายหลัง) และทำไม?
ขอบคุณ Robbie
แก้ไข: ดังนั้นฉันเดาว่านี่เป็นของการพัฒนาเกม เพื่ออธิบายให้ชัดเจนฉันจะเขียนเอ็นจิ้นเกมการ์ด ฉันกำลังพยายามหาวิธีที่ดีที่สุดในการเปิดเผย API ของเครื่องยนต์เพื่อให้สามารถผนวกรวมในอนาคตกับเว็บไคลเอ็นต์และไคลเอนต์ AI
ฉันไม่ได้มีบัญชีที่นี่เลยช่างเถอะ :)