การพัฒนาเกมมือถือ HTML5 เทียบกับแอพเกมพื้นเมือง [ปิด]


12

สถานะปัจจุบันของเอ็นจิ้นเกมเฟรมเวิร์กไลบรารีและการแปลงที่เกี่ยวข้องกับชุดเทคโนโลยี HTML5 คืออะไร (รวมถึงไลบรารี CSS3 และ JavaScript เช่น RaphaelJS, Impact, gameQuery) และสิ่งที่ดีที่สุดในการเปรียบเทียบกับการพัฒนาแอพพื้นฐาน (โดยเฉพาะสำหรับ iOS และ Android)

โดยเฉพาะอย่างยิ่งในแง่ของประสิทธิภาพภาพและการรับ "ความรู้สึกพื้นเมือง"

ความคิดเกี่ยวกับการแก้ปัญหาเช่น Appcelerator และ Corona SDK ก็ชื่นชมเช่นกัน ในส่วนที่เกี่ยวกับ Unity3D เป็นไปได้ที่จะพัฒนาเกมดังกล่าวและยังคงสามารถเล่นได้บนเบราว์เซอร์ (เช่น Chrome หรือ Firefox รุ่นปัจจุบันอย่างน้อย) โดยไม่มีการอ้างอิงใด ๆ หรือผู้ใช้ไม่ต้องติดตั้งอะไรเลย .

สิ่งที่ฉันกำลังมองหาคือการพัฒนามาตรฐานเว็บเพื่อให้ได้แพลตฟอร์มจำนวนสูงสุด (รวมถึงมือถือภายนอก) ในขณะที่ยังคงรักษาประสบการณ์ดั้งเดิมสำหรับอุปกรณ์เคลื่อนที่โดยไม่ต้องใช้เกมใหม่สำหรับ iOS และ Android


2
ความสามัคคียังต้องการโปรแกรมเล่นเว็บ พวกเขากำลังทำงานกับการปรับใช้ Flash 11 แต่นั่นจะไม่ออกมาซักระยะ ฉันไม่ได้เล่นเกม HTML5 บนเบราว์เซอร์มือถือที่รู้สึกดี และเสียง HTML5 ก็ยังคงเป็นความน่าสนใจอยู่
michael.bartnett

1
หากคุณต้องการ "ความรู้สึกพื้นเมือง" คุณต้องมีแอพแบบเนทีฟ ... มิฉะนั้นคุณจะถูก จำกัด ให้เป็นตัวหารร่วมของแพลตฟอร์มที่คุณต้องการให้การสนับสนุน
bummzack

โอ้แน่นอนฉันไม่มีงานพิเศษ แต่สามารถประนีประนอมได้ตราบใดที่ฉันไม่จำเป็นต้องเขียนรากฐานทั้งหมดสำหรับเกมการเพิ่มรหัสพิเศษสำหรับส่วนต่อประสานแบบสัมผัสจะเป็นที่ยอมรับได้อย่างสมบูรณ์
Vic Goldfeld

1
จากประสบการณ์ของฉันเกมพื้นเมืองมีประสิทธิภาพมากกว่า HTML5 บนโทรศัพท์ระดับล่าง
Nick Shvelidze

คำตอบ:


7

ห้องสมุด HTML5 นั้นดีอย่างน่าประหลาดใจโดยเฉพาะเมื่อพิจารณาถึงวัยเด็ก มีเอนจิ้น 2D / 3D ที่เป็นของแข็งที่รองรับเอฟเฟกต์ของอนุภาค, ฟิสิกส์, และสิ่งที่คล้ายกัน อย่างไรก็ตามไม่มีสิ่งใดเทียบได้กับเอ็นจิ้นเกมที่จัดตั้งขึ้นและพัฒนาเต็มที่เช่น Unity หรือ Unreal Engine

นอกจากนี้ libs HTML5 ในประสบการณ์ของฉันชอบที่จะขับเคลื่อนเหตุการณ์ ตัวอย่างเช่นสไปรต์จะมีเหตุการณ์ onclick และจะไม่มีวงเกมแบบดั้งเดิมจริงๆ

สำหรับแอพที่มีประสิทธิภาพดีกว่าเร็วกว่าอะไรที่เกี่ยวข้องกับผ้าใบ HTML 5 นั่นคือขอบเขตประสบการณ์ของฉันแม้ว่าฉันไม่มีความคิดเกี่ยวกับ Appcelerator หรือ Corona SDK

อย่างไรก็ตามหากเป้าหมายของคุณคือ "จำนวนแพลตฟอร์มสูงสุด" มากกว่าส่วน "มาตรฐานเว็บ" ฉันแนะนำวิธีแก้ปัญหาเช่น Unity ที่ทำงานได้เกือบทุกอย่างและต้องขอบคุณตัวแก้ไขที่สร้างขึ้นในตัวเป็นเครื่องมือที่มีประสิทธิภาพมาก


6

ทอมนี่จาก Scirra เราทำให้Construct 2 ชง

เมื่อเร็ว ๆ นี้เราบล๊อกเกี่ยวกับเรื่องนี้เปรียบเทียบประสิทธิภาพของ Canvas5 Canvas / WebGl / C ++ DX คุณสามารถอ่านได้ที่นี่:

http://www.scirra.com/blog/58/html5-2d-gaming-performance-analysis

และนี่คือกราฟ:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันรู้ว่ามันไม่ได้มีประสิทธิภาพเมื่อเทียบกับรูปแบบมือถือดั้งเดิม แต่เป็นการเปรียบเทียบกับแอปดั้งเดิมของเดสก์ท็อปซึ่งควรแสดงถึงช่องว่างของประสิทธิภาพ


รักกราฟ โอกาสใดก็ตามสำหรับการอัปเดตปี 2016
Dan Dascalescu

4

ก่อนอื่น Corona SDK เป็นที่น่ารักในการทำงานกับ Lua เป็นภาษาที่ยอดเยี่ยม Corona เป็นโครงร่างที่ละเอียดมากและเอกสารนั้นยอดเยี่ยมมาก

ในความเห็นของฉันการพัฒนาเกม HTML5 ยังไม่คุ้มค่า ทั้งบนเดสก์ท็อปและเบราว์เซอร์มือถือ หากเป้าหมายของคุณคือการสร้างเกมที่ยอดเยี่ยมให้ทำงานบนเดสก์ท็อปและอุปกรณ์มือถืออย่าไปสนใจ ถ้าเป้าหมายของคุณคือการทำให้เกม HTML5 แล้วไปทำให้มันและเป็นหนึ่งในการใช้งานของกรอบคนได้กล่าวถึง (ยังดูเจ้าเล่ห์หรือGeeสำหรับข้อมูลเพิ่มเติมของอินเตอร์เฟซที่วาดภาพพิมพ์)

เหตุผลหลักคือเมื่อฉันสร้างเกมฉันต้องการสร้างเกมที่สมบูรณ์และสวยงาม ส่วนหนึ่งของการสร้างเกมที่สมบูรณ์และสวยงามคือเสียงที่ดี แม้ว่า<audio>แท็กจะได้รับการสนับสนุนในเบราว์เซอร์หลัก (สมมติว่าคุณมีรูปแบบที่แตกต่างกันมากพอ) แต่การจัดการซาวด์แทร็กของคุณด้วยโปรแกรมcreateElementนั้นค่อนข้างเจ็บปวด SoundManager 2 เป็นตัวช่วยสำหรับวงดนตรีไม่ใช่วิธีแก้ปัญหา ในหลายกรณีมันจะถอยกลับโดยใช้วัตถุ Flash สำหรับเดสก์ท็อป ณ จุดนี้ฉันถามว่าทำไมไม่เพียง แต่ทำสิ่งที่ชั่วร้ายใน Flash?

บน iOS ยกเว้นว่าคุณใช้แฮ็คเช่นในห้องสมุด Jukeboxของ Zynga คุณจะถูก จำกัด ให้เล่นเฉพาะเสียงที่ตอบสนองต่อการป้อนข้อมูลของผู้ใช้เท่านั้น มันไร้สาระ

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

จนกว่า HTML5 ที่ได้รับการพัฒนาและเบราว์เซอร์มือถือจะเร็วขึ้นและเสียง HTML5 หยุดดูดฉันจะสนุกกับการเล่นด้วย Javascript <canvas>และสิ่งเหล่านั้น แต่ฉันจะไม่ไปไกลเท่าที่จะสร้างเกมที่สวยงาม มันทำให้เป้าหมายของคุณดีขึ้น น้อยมากที่ฉันรู้ว่าใครเล่นเกมและไม่ใช่นักพัฒนาแม้จะมีเกม HTML5 บนมือถือในเรดาร์ อีกครั้งถ้าคุณต้องการสร้างเกม HTML5 ที่ยอดเยี่ยมสร้างเกม HTML5 หากคุณต้องการสร้างและขายเกมที่ยอดเยี่ยมสร้างคุณภาพของประสบการณ์ผู้เล่นของคุณเป็นสำคัญ


ขออัปเดตกลางปี ​​2012 - การพัฒนาเกม HTML5 ได้รับการปรับปรุงหรือไม่ ยังมีช่องว่างเกี่ยวกับประสิทธิภาพและปัญหาเสียงหรือไม่
Flash เมื่อ

3

ตรวจสอบhttp://cocos2d-javascript.org/

มันยังไม่ได้ใช้งานอย่างสมบูรณ์ แต่เมื่อทำไปแล้วมันอาจจะดีที่สุด :)

มีการสาธิตบางอย่างในไซต์นั้นพวกเขาค่อนข้างดี ...

แก้ไข: ตรวจสอบแล้วการสาธิตนั้นไม่เหมาะกับมือถือ ...


3

ดังที่ได้แสดงคำตอบอื่น ๆ ความแตกต่างของประสิทธิภาพค่อนข้างมาก อย่างไรก็ตามมีวิธีการใหม่ ๆ ในการใช้ประสิทธิภาพของเว็บเนทีฟบนเว็บ (โดยใช้ Chrome)

MonoGameเป็นการใช้งานโอเพ่นซอร์สของเฟรมเวิร์ก XNA ซึ่งออกแบบมาเพื่อทำงานข้ามแพลตฟอร์มให้ได้มากที่สุด เมื่อสิ่งนี้ถูกรวมเข้ากับGoogle Chromes NaCl (Native Client) ผลลัพธ์ก็น่าทึ่งมาก (ต้องใช้ chrome)

คำแนะนำของฉันคือสร้างแอพพื้นฐานใน XNA หรือ MonoGame และพิจารณา NaCl และ / หรือExEnเพื่อให้เกมของคุณเข้าสู่แพลตฟอร์มอื่น ส่วนใหญ่ของฐานรหัสของคุณจะเหมือนกันสำหรับทุกแพลตฟอร์ม แต่ขนาดที่ลดลงจะทำให้เกมของคุณไม่มีความเรียบง่ายของเกม HTML5

ในความคิดของฉัน HTML5 นั้นยังไม่ได้มีเกี่ยวกับประสิทธิภาพการใช้งาน แต่มีตัวเลือกอื่น ๆ ที่เกือบจะเข้าถึงการเข้าถึง HTML5 ของคู่แข่งแม้ว่าจะเพิ่มความซับซ้อนมากขึ้นเล็กน้อย (และค่าใช้จ่ายในบางสถานการณ์)


โอ้พระเจ้าฉันคิดว่า NaCl เป็นเพียงรหัสภาษา C ++ เท่านั้น แต่ใช้งาน Mono ด้วย!
David Gouveia

1

ฉันขอแนะนำ libgdx ซึ่งเป็นเฟรมเวิร์กที่ใช้จาวาเป็นหลักสำหรับการปรับใช้กับ Android และเดสก์ท็อป แต่เมื่อเร็ว ๆ นี้ได้เพิ่ม html5 ไปยังคลังแสงของมันฉันจะแนะนำมันอย่างหนัก http://code.google.com/p/libgdx/

เกมบางพอร์ตที่ html5:


1

คุณอาจต้องการที่จะลองPlayN ขณะนี้ยังไม่โตเต็มที่หรือมีเอกสารดีและต้องใช้ความพยายามเพื่อให้มันทำงานได้ แต่ช่วยให้คุณสามารถเขียนโปรแกรมใน Java และส่งออกเกมของคุณไปยังแพลตฟอร์มต่าง ๆ (ในขณะนี้ Java, HTML5, Flash, Android และ iOS และในอนาคต Windows Phone 7)

ข้อได้เปรียบที่มีอยู่เหนือ Corona, Phonegap และอื่น ๆ คือมันรวบรวมเกมของคุณสำหรับแต่ละแพลตฟอร์มแทนที่จะเรียกใช้โดยใช้เครื่องเสมือน สิ่งนี้ทำให้มั่นใจได้ว่าคุณจะได้รับประสิทธิภาพใกล้เคียงกับทุกแพลตฟอร์ม


0

คำตอบและลิงก์ที่ยอดเยี่ยม - ขอบคุณ!

ฉันกำลังทำการเปรียบเทียบตัวเอง (HTML5 / JS และ PhoneGap) และหาคำตอบเดียวกัน HTML5 ยังไม่พร้อม ฉันไม่ได้เล่นกับคำตอบ 'แปลกใหม่' เช่นแอพ * mobi ซึ่งอ้างว่ามีเบราว์เซอร์แบบแยกส่วนที่เหมาะสำหรับการเล่นเกม แต่แผนทั่วไป "เขียนเกมของคุณใน HTML5 และเล่นบนโทรศัพท์" คือ ไม่สามารถทำงานได้ ณ จุดนี้ อาจไปถึงที่นั่น แต่ฉันไม่แน่ใจ เบราว์เซอร์ไม่ได้หมายถึงเป็นเครื่องมือการแสดงผลเท่านั้นและเรากำลังกระโดดผ่านห่วงจำนวนมากเพื่อไปที่นั่น ฉันคิดว่าเราจะเห็นใครบางคนมาแทนที่ทางเลือกที่จะได้รับมวลที่สำคัญและที่จะออก เวลาจะบอกเอง.

ฉันจะชอบข้อเสนอแนะและคำวิจารณ์ที่สร้างสรรค์ของงานของฉันซึ่งอยู่ใน GitHub และเป็นอิสระสำหรับทุกคน

https://github.com/GameMaker/PhoneGap-Performance-Test--PGPT-

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