ฉันสามารถพัฒนาเกมสำหรับแพลตฟอร์มมือถือใน C ++ ได้หรือไม่


16

ฉันมีความเข้าใจเป็นอย่างดีในภาษา C ++ และ C และมีประสบการณ์ในการพัฒนาเกม AAA โดยใช้ C ++ ตอนนี้ฉันคิดอย่างไร้ยางอายที่จะดำน้ำในการพัฒนาเกมมือถือทั้งใน iOS หรือ Android น่าเสียดายที่ฉันไม่รู้วัตถุประสงค์ C และ Java และไม่มีความกล้าที่จะเรียนรู้ ดังนั้นตามที่กล่าวไว้ข้างต้นมีความเป็นไปได้ไหมที่จะทำการพัฒนาอุปกรณ์พกพาใน C ++ โดยไม่ต้องใช้คำสั่งเดียวของ JAVA และ Objective-C?

คำตอบ:


13

ต้องเขียนวัตถุประสงค์ C บางรายการสำหรับแอพของ iPhone ดังที่ได้กล่าวไว้คุณสามารถเขียนเลเยอร์ obj-c บาง ๆ แล้วทำโค้ดเกมทั้งหมดใน C หรือ C ++

บน Android ค้นหา NDK ฉันไม่มีประสบการณ์ใด ๆ กับมัน แต่สัญญาว่าจะเป็น sdk แบบเนทีฟดังนั้นคุณควรจะสามารถเขียนสิ่งต่าง ๆ ส่วนใหญ่ใน C หรือ C ++

ที่ถูกกล่าวว่าคุณกำลัง จำกัด ตัวเองด้วยอุปสรรคทางภาษา บน iOS หากคุณต้องการทำอะไรกับเลเยอร์ OS (เช่น GameCenter, แพลตฟอร์มโซเชียลของพวกเขา) หรือใช้มิดเดิลแวร์ชนิดใด ๆ คุณอาจต้องเผชิญกับวัตถุประสงค์ C API

ฉันเข้าใจความรู้สึกได้ โดยเฉพาะอย่างยิ่งภาษา C ++ เป็นภาษาที่ยิ่งใหญ่ แต่ obj-c ไม่ใช่เรื่องใหญ่ มันเป็นเรื่องเกี่ยวกับ C (ดังนั้นพื้นฐานควรจะคุ้นเคย) ด้วยการเพิ่มสิ่งพิเศษสองสามด้านบน มันไม่ได้ซับซ้อนหรือลึกเท่า C ++


2
โปรดทราบว่าการใช้ Android NDK หมายถึงการทิ้งข้อดีของ "การเขียนครั้งเดียวปรับใช้ทุกที่" เนื่องจากคุณต้องรวบรวมรหัสของคุณสำหรับหลายแพลตฟอร์ม NDK นั้นใช้เพื่อเรียกใช้ฟังก์ชัน C จากโค้ดจาวาไม่ใช่เพื่อเขียนแอปพลิเคชันทั้งหมด (ในขณะที่ยังเป็นไปได้)
FxIII

1
ฉันยังคิดว่า Google ได้ระบุไว้อย่างชัดเจนว่า NDK ไม่ควรใช้สำหรับการติดตั้งเกมแบบเต็ม นอกจากนี้ไวยากรณ์ java เกือบจะเหมือนกับ C ++ และควรใช้เวลาสองสามวันในการหยุด หากคุณต้องการสร้างรายได้คุณควรเน้นไปที่เกมของ iOS
Nailer

คุณพูดเกี่ยวกับ Unity3D ถ้าฉันเรียนรู้ C #
James Bern

1
เริ่มต้นด้วย Android 2.3, Google เพิ่มกิจกรรมเนทีฟซึ่งช่วยให้คุณเขียนแอปแบบเต็มใน 100% c ++ (ส่วนใหญ่สำหรับเกม)
5ound

ฉันจะแนะนำ Unity3D โดยเฉพาะถ้าคุณต้องการปรับใช้กับหลายแพลตฟอร์ม C # ไม่ใช่เรื่องยากที่จะเรียนรู้ถ้าคุณรู้จัก C ++ อยู่แล้วและเนื้อหาในฟอรัมของพวกเขานั้นยอดเยี่ยมด้วยโค้ดตัวอย่างจำนวนมาก (แม้ว่าโค้ดส่วนใหญ่จะอยู่ใน JavaScript)
Doug.McFarlane

7

ฉันเขียนเกมมาสักพักแล้วใน c ++ สำหรับ Android ฉันต้องสัมผัสโค้ดจาวาทุกๆสองสามสัปดาห์ แต่ส่วนใหญ่ฉันแก้ไขแอพตัวอย่างหนึ่งที่มาพร้อมกับ NDK และเขียน c ++ เป็นอย่างอื่น ฉันต้องทำงาน JNI นิดหน่อยซึ่งไม่สนุกเลย อย่างไรก็ตามฉันมีประสบการณ์เกี่ยวกับจาวามาหลายปีดังนั้นการเขียนจาวาหรือ JNI จึงไม่ทำให้ฉันช้าลงโดยเฉพาะ

เกมของฉันทำงานได้ดีบนกล่อง linux เช่นเดียวกับบนอุปกรณ์ทดสอบ เวอร์ชั่นของ linux นั้นบริสุทธิ์ C ++ และปัญหาที่ฉันต้องทำเพื่อให้งานนี้จ่ายเองทุกครั้งที่ฉันเปลี่ยนเกมของฉันซ้ำแล้วซ้ำอีก

โครงการของฉันมีรหัส java 836 บรรทัด, รหัส jni C น่าเกลียด 331 บรรทัดและรหัส C ++ ประมาณ 40k บรรทัด


คุณใช้ระบบการสร้างที่สามารถสร้างสำหรับแต่ละเป้าหมายในแบบอัตโนมัติหรือไม่? ฉันใช้ CMake เพื่ออนุญาตการสร้างข้ามแพลตฟอร์มและสงสัยว่าฉันจะรวมเข้ากับ ndk-build ได้หรือไม่
Martin Foot

ฉันเคยเห็นโครงการ NDK อื่น ๆ ใช้ CMake
notlesh

4

นอกจากนี้ยังมีMarmaladeซึ่งให้คุณใช้ c ++ เพื่อสร้างแอปพลิเคชั่นมือถือสำหรับอุปกรณ์หลากหลายเช่น iPhone, Android, Win Mobile, Bada และอีกมากมาย


2

ฉันใช้cocos2d-x ซักพักมันเป็นเอ็นจิ้นเกมที่ใช้ c ++ (จริงๆแล้วมันเป็นพอร์ต c ++ ของ cocos2d-iphone) ใช้เครื่องมือนี้คุณสามารถเรียกใช้และทดสอบรหัสของคุณบน windows ได้อย่างง่ายดายจากนั้นรวบรวมรหัสเดียวกันสำหรับการส่งออก iphone / android


ตอนนี้ยังรวมถึง bada และบางคนใช้มันบน Marmalade
Andy Dent

1

ถ้าคุณต้องการแค่ C ++ จริงๆMarmaladeอาจดีสำหรับคุณ

แต่สำหรับความสามารถในการเต็มรูปแบบที่คุณต้องใช้อย่างน้อยบางส่วนวัตถุประสงค์-C (หรือ Java แต่ผมกำลังพูดถึง "ความสามารถในการเต็มรูปแบบ") แต่ด้วยวัตถุประสงค์บางชั้นคุณสามารถทำอะไรได้หลายอย่างดังนั้นฉันขอแนะนำให้คุณดูการพัฒนา iOS ด้วย Xcode


หากคุณมีรูปลักษณ์ที่แม็Xcodeถ้าไม่ลองโคโรนากับหลัวแทน

มีหลายวิธีในการเรียกใช้รหัส C ++ สูงสุดของคุณที่จะเรียกใช้บน iPhone โปรแกรมฟรีที่ร้านแอปแม็คจะช่วยให้เพิ่มขึ้น c ++ ใช้ในผลิตภัณฑ์ Objective-C ตาม:

มันเรียกว่าส่วนหัวของโปรเซสเซอร์พรีโพรเซสเซอร์ -C ++

สิ่งนี้ช่วยให้คุณทำสิ่งต่างๆได้มากขึ้นด้วย C ++ แทนที่จะเป็น Objective-C

การเขียนโปรแกรมiOS :

  • ใช้ IDE ที่ยอดเยี่ยมที่เรียกว่า XCode ( XCode ใน mac app store )
  • ทำงานบนกรอบโกโก้สำหรับการพัฒนา iOS มันถูกอ้างถึงเป็นโกโก้
  • ขึ้นอยู่กับแอพพลิเคชั่นObjective-C iOS สามารถใช้หลายภาษารวมถึง C, C ++, แม้แต่lua
  • ข้อมูลเพิ่มเติมสามารถพบได้ที่ @ developer.apple.com

-3

ใช่คุณสามารถใช้ภาษาโปรแกรม C ++ เพื่อพัฒนาเกมมือถือ แอพพลิเคชั่นการเล่นเกม C ++ รู้สึกเหมือนปลากะพงน้อยกว่า Java บนฮาร์ดแวร์เดียวกัน ดังนั้นถ้าคุณมีความเชี่ยวชาญใน C ++ และสนใจที่จะพัฒนาเกม Android ตอนนี้ก็เป็นเรื่องง่ายและไม่เสียค่าใช้จ่ายเท่าการเขียนโปรแกรมใน Java

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