Bạn có thể tạo trò chơi trên PC bằng JavaScript không?
Trong hướng dẫn từng bước này, chúng tôi tạo một trò chơi MDN Breakout đơn giản được viết hoàn toàn bằng JavaScript thuần túy và được hiển thị trên HTML Mỗi bước đều có các mẫu trực tiếp, có thể chỉnh sửa để bạn có thể xem các giai đoạn trung gian sẽ trông như thế nào. Bạn sẽ học những kiến thức cơ bản về cách sử dụng yếu tố Để tận dụng tối đa loạt bài viết này, bạn nên có kiến thức JavaScript từ cơ bản đến trung cấp. Sau khi hoàn thành hướng dẫn này, bạn sẽ có thể xây dựng các trò chơi Web đơn giản của riêng mình Tất cả các bài học — và các phiên bản khác nhau của trò chơi MDN Breakout mà chúng ta đang cùng nhau xây dựng — đều có sẵn trên GitHub
Bắt đầu với JavaScript thuần túy là cách tốt nhất để có kiến thức vững chắc về phát triển web game. Sau đó, bạn có thể chọn bất kỳ khung nào bạn thích và sử dụng nó cho các dự án của mình. Các khung chỉ là các công cụ được xây dựng bằng ngôn ngữ JavaScript; . Các khung tăng tốc thời gian phát triển và giúp xử lý các phần nhàm chán của trò chơi, nhưng nếu có điều gì đó không hoạt động như mong đợi, bạn luôn có thể thử gỡ lỗi điều đó hoặc chỉ cần viết các giải pháp của riêng mình bằng JavaScript thuần túy Ghi chú. Nếu bạn quan tâm đến việc tìm hiểu về phát triển trò chơi web 2D bằng thư viện trò chơi, hãy tham khảo đối tác của loạt bài này, trò chơi đột phá 2D bằng Phaser Ghi chú. Loạt bài viết này có thể được sử dụng làm tài liệu cho các hội thảo thực hành về phát triển trò chơi. Bạn cũng có thể sử dụng Bộ nội dung Canvas của Gamedev dựa trên hướng dẫn này nếu bạn muốn nói về phát triển trò chơi nói chung Các trò chơi JavaScript mang tính giải trí, dễ tạo và là một phương pháp tuyệt vời để các bạn trẻ học cách viết mã. JavaScript là ngôn ngữ máy tính nổi tiếng có thể tìm thấy trên hầu hết mọi trang trên internet. Khi bạn thêm JavaScript vào một ứng dụng web, nó có thể làm cho hoạt ảnh và tương tác trở nên sống động, giúp việc lướt web và chơi trò chơi trở nên thú vị hơn Tiềm năng của Javascript để tạo ra các trò chơi có thể dễ dàng chơi trên web là một chủ đề phổ biến thu hút sinh viên học cách lập trình với nó. Với sự tiến bộ của kết nối internet và phần cứng máy tính, không có gì ngạc nhiên khi những người sáng tạo trò chơi đã sử dụng JavaScript để tạo nội dung mới trong thập kỷ trước JavaScript có tốt cho phát triển trò chơi không?Bây giờ bạn đã biết JavaScript có thể được sử dụng để tạo trò chơi, bạn có thể tự hỏi liệu nó có phù hợp với nhiệm vụ không Đúng. Tùy thuộc vào loại trò chơi bạn muốn tạo, JavaScript là một ngôn ngữ tuyệt vời để sử dụng. Đối với các trò chơi trên web và trên thiết bị di động, JavaScript là lựa chọn lý tưởng. Đây cũng là một ngôn ngữ tuyệt vời cho trẻ em học vì nó thường dễ nắm bắt và có rất nhiều tài nguyên trực tuyến dành cho các lập trình viên. Chúng tôi khuyên học sinh trung học cơ sở và trung học phổ thông nên học JavaScript như một phần của lớp viết mã Trò chơi JavaScript có thể được chơi trên trình duyệt hoặc trên điện thoại di động, vì vậy chúng là lựa chọn tuyệt vời nếu đó là mục tiêu của bạn. Nền tảng và công nghệ có thể hỗ trợ tạo cả nội dung 2D và 3D Mặt khác, nếu bạn muốn sử dụng JavaScript để tạo trò chơi AAA khổng lồ tiếp theo như Call of Duty hoặc FIFA, bạn có thể gặp khó khăn. Mặc dù có tính linh hoạt nhưng JavaScript chậm hơn nhiều và sử dụng nhiều bộ nhớ hơn các ngôn ngữ như C++. Các trò chơi nâng cao yêu cầu tính toán GPU chuyên sâu, đây là một trọng lượng đáng kể để vận chuyển mà JavaScript không được thiết kế để xử lý JavaScript so với Java để phát triển trò chơi
Trong khi Java là ngôn ngữ biên dịch, JavaScript là ngôn ngữ kịch bản được giải thích. Mã không cần phải được biên dịch vì nó là ngôn ngữ kịch bản được giải thích. Thay vào đó, lệnh của người dùng diễn giải kết quả. Đây là lý do tại sao nó rất hiệu quả khi xây dựng trang web. Trên một trang web, người dùng thường xuyên nhấp chuột và cuộn, cung cấp dữ liệu mà JavaScript có thể sử dụng để thực hiện một hành động Mặt khác, Java yêu cầu mã được xây dựng trước khi nó có thể được thực thi. Nghĩa là, mã được chuyển đổi sang ngôn ngữ máy mà máy tính có thể hiểu được Bây giờ nó đã hết cách, khả năng chơi trò chơi cho các ngôn ngữ này là gì? . Tuy nhiên, nếu bạn muốn tạo một trò chơi có thể chạy trên PC hoặc bảng điều khiển, Java sẽ là lựa chọn tốt hơn. Minecraft, một trò chơi phổ biến dựa trên Java, là một trong những trò chơi phổ biến nhất Mã JavaScript là tất cả văn bản và mặc dù mạnh mẽ nhưng nó không có khả năng tự làm mọi thứ. Việc sử dụng công cụ trò chơi hoặc thư viện trình kết xuất trong khi thiết kế trò chơi bằng JavaScript là điều khá điển hình. Trẻ em học cách đưa các công cụ trò chơi vào chương trình của chúng sẽ tiến một bước gần hơn đến việc hiện thực hóa trò chơi lý tưởng của chúng Công cụ trò chơi là các phần mềm cho phép bạn thêm các tính năng bổ sung vào trò chơi của mình bao gồm âm thanh, hoạt ảnh, hình ảnh và vật lý. Khi nói đến việc chọn một công cụ trò chơi hoặc thư viện kết xuất cho trò chơi của bạn, bạn có rất nhiều lựa chọn thay thế. Dưới đây là một vài ví dụ phổ biến để lựa chọn PixiJSPixiJS là một công cụ nguồn mở tự hào có API nhanh và hấp dẫn. Trình kết xuất 2D cũng đa nền tảng, cho phép bạn tạo trò chơi cho nhiều nền tảng khác nhau. Là nguồn mở cũng cho phép một cộng đồng lớn và nhiệt tình đóng góp vào sự phát triển liên tục của động cơ BabylonJSBabylonJS là một bộ công cụ kết xuất với một bộ khả năng phong phú cho phép bạn tạo mọi thứ từ hoạt hình đơn giản đến các trò chơi 3D chính thức. BabylonJS, giống như PixiJS, là mã nguồn mở và được hỗ trợ bởi một cộng đồng các nhà phát triển rộng lớn phaserPhaser hỗ trợ các trò chơi HTML5 trên cả nền tảng máy tính để bàn và thiết bị di động. Trọng tâm chính của nó là tạo ra các trò chơi 2D có thể được xây dựng cho nhiều nền tảng khác nhau. Khả năng sử dụng các plugin bổ sung khi cần là một trong những lợi thế của Phaser. Điều này cho phép bạn giữ các công cụ của mình nhỏ gọn để bạn không có quá nhiều bộ phận thừa Bước 1 — Chọn Trình chỉnh sửa mãĐể bắt đầu, hãy chuyển đến trình chỉnh sửa bạn chọn. Các ví dụ hiển thị ở đây sẽ sử dụng trình chỉnh sửa CodeWizardsHQ của chúng tôi Bước 2 — Xây dựng Canvas trò chơiDòng mã đầu tiên chúng tôi viết sẽ tạo ra một trò chơi canvas. Chiều cao và chiều rộng có thể được điều chỉnh khi cần thiết. Có bốn bước để thực hiện điều này Trong thẻ style>/style>, hãy dán mã canvas của bạn Bước 3 - Mã trình phát của bạn, The Hopper Bây giờ hãy thêm người chơi của chúng tôi. Điều này sẽ được thực hiện trong bốn bước
Hãy cho người chơi cảm giác về lực hấp dẫn. Các bước thực hiện như sau
Cầu thủ của chúng tôi đang rơi, nhưng chúng tôi muốn nó dừng lại ngay khi tiếp đất. Trong hàm createPlayer() của bạn, hãy thêm hàm stopPlayer(). Sau đó, khi kết thúc movePlayer, hãy gọi hàm () Bước 6 — Code Jump Logic cho trình phát của bạnBây giờ, khi chúng ta nhấn phím cách, trình phát của chúng ta sẽ nhảy
Đã đến lúc xây dựng hệ thống phòng thủ chống lại bạn. Điều này sẽ tương tự như xây dựng trình phát, nhưng các đặc điểm của khối của chúng tôi sẽ được tạo ngẫu nhiên
Tuyệt vời. Bây giờ, khối của chúng tôi sẽ tấn công người chơi của chúng tôi, nhưng nó sẽ không bao giờ quay trở lại sau khi chạm đến mép màn hình. Hãy giải quyết vấn đề này
Chúng ta phải kết thúc trò chơi khi khối tấn công thành công người chơi. Đã đến lúc phát triển chức năng detectCollision() để dừng trò chơi nếu có va chạm. Trong hàm updateCanvas() của bạn, hãy gọi hàm detectCollision() Bước 10 — Thêm điểmĐối với đêm chung kết, chúng tôi sẽ thêm điểm vào trò chơi của mình. Điều này được thực hiện giống như cách tạo hình, ngoại trừ chúng tôi sẽ chỉ định thuộc tính fillText và phông chữ
Và như vậy, bạn đã hoàn thành trò chơi JavaScript đầu tiên của mình. Tuy nhiên, cách tiếp cận tốt nhất để cải thiện kỹ năng lập trình của bạn là viết mã của riêng bạn. Dưới đây là một số chướng ngại vật khác mà bạn có thể cố gắng kết hợp vào trò chơi của mình |