ความรู้ที่จำเป็นสำหรับการสร้างเกมที่ใช้ HTML / JavaScript [ปิด]


17

ฉันสงสัยว่ามีผู้เชี่ยวชาญคนใดบ้างที่สามารถแบ่งปันความรู้และแหล่งข้อมูลเกี่ยวกับสิ่งที่จำเป็นในการเริ่มสร้างเกมด้วยมาตรฐาน HTML และ JavaScript ล่าสุด (หรือบางคนชอบที่จะเรียก HTML 5) มีไลบรารี JavaScript ที่จำเป็นสำหรับกระบวนการหรือไม่ นอกเหนือจาก<canvas>แท็กแล้ว HTML อื่น ๆ ที่เราต้องระวังคืออะไร

คำตอบ:


9

คุณควรตระหนักถึงแท็กเสียงและวิดีโอ Web Storageค่อนข้างสำคัญหากคุณต้องการบันทึกข้อมูลจำนวนมากสำหรับเกมที่บันทึกไว้และอื่น ๆ

มีเฟรมเวิร์กเกม Javascript html5 อยู่เล็กน้อยแล้วอากิฮาบาระค่อนข้างได้รับความนิยม

เท่าที่ห้องสมุดอื่น ๆJqueryและJavascript ใช้งานได้เป็น 2 ในรายการโปรดของฉัน


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

ที่เก็บข้อมูลบนเว็บให้อะไรที่ db ไม่สามารถทำได้
หมดอายุ

@expiredninja ฐานข้อมูลจะดีกว่าจริง ๆ แต่ที่เก็บข้อมูลบนเว็บอยู่ในเครื่องของผู้ใช้ ไม่มีโฮสติ้ง & เร็วกว่าการโทร ajax ฯลฯ คำตอบนี้ (เล็กน้อย) ล้าสมัยด้วยเทคนิคที่ใช้สำหรับเกมที่ใช้เบราว์เซอร์สมัยใหม่
jdeseno

6

มีกรอบอยู่สองสามอย่างแล้ว: GameQueryและAkihabaraซึ่งเป็นปลั๊กอินสำหรับ jQuery เพื่อทำกิจกรรมที่เกี่ยวข้องกับเกมเช่นภาพเคลื่อนไหวการจัดกลุ่มสไปรท์ตรวจจับการชนและอ่านอินพุตของผู้เล่น


4

เพียงแค่โยนทรัพยากรออกไปที่นั่นให้ลองดู RaphaelJS มันเป็นคลังภาพวาดและอนิเมชั่น SVG ที่ดีมากที่มี API ที่ดี อย่าลืมตรวจสอบการสาธิต

โดยรวมแล้วฉันขอแนะนำ<canvas>แท็กเกี่ยวกับการจัดการ DOM แบบตรง (เช่นทำให้แต่ละ Sprite เป็นของตัวเอง<div>เพื่อให้การทดสอบ Hit ง่ายอย่างน่าอัศจรรย์) เป็นเรื่องง่ายที่จะได้รับการจัดการ DOM ที่ผิดและมีประสิทธิภาพไม่ดีในขณะที่กลยุทธ์การพัฒนา 2D แบบดั้งเดิมนั้นทำงานได้ดีบนผืนผ้าใบ HTML


3

นอกเหนือจากเฟรมเวิร์กการสร้างเกมบางส่วนแล้วคุณควรระวัง Burst Engine ซึ่งเป็นเฟรมเวิร์ก JS สำหรับแสดงภาพเคลื่อนไหวที่ใช้ SVG ใน HTML5 Canvas:

http://burst.bocoup.com/

จนถึงตอนนี้ฉันเคยเห็นคนพูดถึงและแท็ก แต่มีสิ่ง DOM อื่น ๆ ที่มีความสำคัญต่อการพัฒนาเกม JS / HTML รวมถึงสิ่งต่าง ๆ เช่นการเพิ่มการเรียกกลับ EventListener ในองค์ประกอบสำหรับสิ่งต่าง ๆ เช่น 'mousemove' และ 'mousedown' ตัวอย่างเช่นนี่ใช้องค์ประกอบภาพแรกที่สามารถค้นหาและตั้งค่าเพื่อให้เมื่อคุณคลิกบนภาพวาดจะเรียกฟังก์ชันที่คุณกำหนดไว้ว่า "shootAtClick":

document.getElementsByTagName ("ผ้าใบ") [0] .addEventListener ('mousedown', shootAtClick, false);

คุณสามารถเห็นมันทำงานได้ในตัวอย่างนี้ซึ่งฉันได้ขยายเอนจิ้น Akihabara เพื่อยอมรับการควบคุมเมาส์ขั้นพื้นฐาน (กด Z เพื่อเริ่มใช้ปุ่มลูกศรเพื่อย้ายคลิกเมาส์เพื่อยิงไปตามทิศทางของเคอร์เซอร์)


3

ความรู้เกี่ยวกับองค์ประกอบ HTML5 ที่ได้รับการสนับสนุนในเบราว์เซอร์ใด

แม้ว่าความเข้ากันได้ของเบราว์เซอร์ข้ามจะเริ่มดีขึ้นและมีความสม่ำเสมอมากขึ้นเมื่อเวลาผ่านไปในองค์ประกอบใหม่บางส่วนยังไม่ได้รับการสนับสนุนอย่างเท่าเทียมกัน

ที่จัดเก็บในตัวเครื่องอาจมีความแตกต่างเฉพาะของเบราว์เซอร์และสำหรับการรองรับแบบดั้งเดิมคุณจะต้องใช้ไลบรารีเช่นjStorageหรือYUI Storage LiteLite

เว็บซ็อกเก็ตเช่นกันอาจมีความแตกต่างเฉพาะของเบราว์เซอร์ แต่socket.ioดูเหมือนห้องสมุดที่มีแนวโน้มที่ให้ความสะดวกสบายที่เป็นนามธรรม

ความเข้ากันได้ของเสียงเป็นองค์ประกอบหลักที่ต้องใช้ไฟล์เสียงที่แตกต่างกันสำหรับเบราว์เซอร์ที่แตกต่างกัน: http://html5doctor.com/native-audio-in-the-browser/

Chrome มีข้อบกพร่องด้านเสียงที่สำคัญสองสามประการเช่นไม่สามารถเล่นไฟล์เสียงสั้น ๆและการเล่นเสียงหลาย ๆ เสียงพร้อมกันอาจทำให้เบราว์เซอร์ทั้งหมดขัดข้อง

สิ่งสำคัญคือการเข้าใจความแตกต่างของเบราว์เซอร์โดยใช้ห้องสมุดเป็นนามธรรมและให้การสนับสนุนแบบดั้งเดิมตามต้องการ


1

HTML และ JavaScript เป็นแพลตฟอร์มที่ไม่ดีพอสมควรสำหรับการพัฒนาเกม แต่นั่นจะไม่สำคัญจนกว่าคุณจะตัดสินใจเลือกเกม คำตอบจะแตกต่างกันอย่างสิ้นเชิงสำหรับนักกีฬาคนแรก RTS หรือเกมไขปริศนา

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

คุณอาจถามสิ่ง C ++ ที่คุณต้องการเขียนแอปพลิเคชัน ขึ้นอยู่กับว่า บอกเราเพิ่มเติมเกี่ยวกับโครงการและคุณอาจได้รับคำตอบที่เป็นประโยชน์

โดยรวมแล้วมีเหตุผลว่าเกือบทุกเกมบนเว็บยังคงเป็น Flash


4
ฉันยอมรับว่าคำถามนั้นคลุมเครือและคำตอบอยู่ทั่วสถานที่ แต่ไม่เห็นด้วยว่า "HTML และ [JS] เป็น ... แพลตฟอร์มที่ไม่ดีสำหรับการพัฒนาเกม" จำ doodle ของ Pac-Man ของ Google ได้หรือไม่ ตรง HTML และ JS ฉันคิดว่าเกมแคชชวลบางเกมทำงานได้ดีบนแพลตฟอร์มนั้นและมนุษย์ที่ใช้เว็บก็มีรันไทม์อยู่แล้ว (=
drhayes

1
ว้าว pac-man เฮ่ มีเหตุผลที่ไม่มีใครใช้ HTML / JS ในการเล่นเกมเพื่อสิ่งอื่นใดนอกจากการสาธิตเทคโนโลยี
John Haugeland

1
@Edmundito: ถ้านั่นเป็นวิธีที่คุณรู้สึกว่า 'คำถาม' นี้ควรไปมันควรจะทำเครื่องหมายเป็น CW
Jesse Dorsey

12
-1 คำตอบไร้ค่า หากความคิดเห็นของคุณคือเกมบนเว็บไม่ใช่แพลตฟอร์มที่ดีลองนั่งลง ฉันไม่รู้ว่าทำไมถึงมี upvotes มากมายบางทีคนอื่น ๆ อาจแสดงความคิดเห็นของคุณ แต่มันก็ไม่ได้ช่วยตอบคำถามนี้เลย
Ricket

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