Mục lục:

(Nhiều người chơi) Chiến đấu trên GameGo với Makecode Arcade: 6 bước
(Nhiều người chơi) Chiến đấu trên GameGo với Makecode Arcade: 6 bước

Video: (Nhiều người chơi) Chiến đấu trên GameGo với Makecode Arcade: 6 bước

Video: (Nhiều người chơi) Chiến đấu trên GameGo với Makecode Arcade: 6 bước
Video: FULL LEVEL 36 người Việt Nam lên ĐỈNH THẾ GIỚI !!! (Pobbrose Siêu Vũ Trang) | Evowar.io ✔ 2024, Tháng mười một
Anonim

GameGo là một bảng điều khiển di động chơi game cổ điển tương thích với Microsoft Makecode được phát triển bởi tổ chức giáo dục TinkerGen STEM. Nó dựa trên chip ARM Cortex M4 STM32F401RET6 và được tạo ra cho các nhà giáo dục STEM hoặc chỉ những người thích thú vị khi tạo ra các trò chơi điện tử cổ điển. Bạn có thể làm theo hướng dẫn này và thử trò chơi trong trình mô phỏng Makecode Arcade, sau đó chạy nó trên GameGo.

Trong các bài báo chúng tôi đã xuất bản trước đây, chúng tôi đã thử làm một trò chơi platformer và Battle City Remake. Lần này, tôi muốn sử dụng giao diện Jacdac để kết nối hai GameGo với nhau và cho phép người chơi chiến đấu để giành quyền tối cao trong một trò chơi chiến đấu nhiều người chơi. Thật không may, tôi phát hiện ra rằng lập trình khối cho Jacdac nhiều người chơi hiện đang ở giai đoạn thử nghiệm và có một số lỗi - vẫn có thể tạo ra các trò chơi đơn giản hơn, nhưng không may mắn cho trò chơi đối kháng của tôi. Vì vậy, trong hướng dẫn này, tôi xuất bản ba phiên bản của trò chơi (mà tôi gọi là "Cthulhu Combat":))

- phiên bản chơi đơn với đối thủ AI đơn giản

- phiên bản nhiều người chơi để chơi trong mô phỏng Arcade

- phiên bản nhiều người chơi với Jacdac (chưa hoàn chỉnh, sẽ được cập nhật sau)

Quân nhu

GameGo

Microsoft Makecode Arcade

Bước 1: Bật các chức năng Start và Round_setup

Trên các chức năng Start và Round_setup
Trên các chức năng Start và Round_setup

Tôi sẽ mô tả chi tiết về việc viết mã trò chơi một người chơi và sau đó trong các bước tiếp theo, chúng ta sẽ thảo luận về cách biến nó thành

a) nhiều người chơi giả lập

b) Nhiều người chơi Jacdac.

Chúng tôi bắt đầu với việc thiết lập bản đồ xếp thành ngục tối và tạo các sprite cho người chơi và AI bot - cả hai đều sẽ thuộc về loại Người chơi. Chúng tôi đặt gia tốc trục y của chúng thành 600 - để chúng không bay sau khi nhảy. Chúng tôi cũng khởi tạo đạn từ bot và trình phát trước khi gọi hàm round_setup. Hàm round_setup đảm nhận việc chuẩn bị vòng mới cho chúng tôi - lý do chúng tôi đặt nó thành một hàm là vì có thể có tổng cộng 3 vòng trong trò chơi và chúng tôi muốn tránh lặp lại cùng một mã. Trong chức năng đó, trước tiên, chúng tôi kiểm tra xem có bất kỳ người chơi nào có 2 chiến thắng hay không - nếu điều kiện này được đánh giá là Đúng, thì trận đấu kết thúc. Nếu cả hai người chơi có ít hơn hai chiến thắng, chúng tôi tăng biến round_num lên một và đặt người chơi vào vị trí xuất phát của họ, bổ sung mạng sống của họ lên 100 và tuyên bố bắt đầu một vòng mới.

Bước 2: Luồng trò chơi

Luồng trò chơi
Luồng trò chơi

Trong trò chơi này, bản thân thế giới là tĩnh và dòng chảy của trò chơi được gắn liền với các hành động của người chơi. Trong bốn khối, chúng tôi xác định hầu hết các luật chơi, các khối này là: nhấn nút lên, nhấn nút xuống, nhấn nút A và nhấn nút B. Chúng ta hãy xem xét từng khối này.

trên nút lên được nhấn - logic nhảy kép. Nếu chúng tôi nhấn nút nhảy ít hơn 3 lần, thì chúng tôi đặt vận tốc vy của người chơi thành - 140 (di chuyển lên trên). Người chơi của chúng tôi có gia tốc vy được đặt thành 600, vì vậy một khi chúng tôi nhảy, vận tốc của chúng tôi sẽ giảm nhanh. Khi nó đạt đến 0 (không di chuyển trên trục tung), chúng tôi đặt jump_count thành 0 một lần nữa.

khi nhấn nút xuống - logic lá chắn tấn công tầm xa. Nếu nhấn nút xuống, người chơi sẽ thay đổi hình ảnh của mình thành "được che chắn" và đặt biến được che chắn thành 1.

trên nút A được nhấn - bắn một đường đạn. Điều đó là khá nhiều tự giải thích.

trên nút B được nhấn - tấn công cận chiến, tương tự như lá chắn trong thực hiện.

Chúng tôi đặt hình ảnh về sprite của người chơi và các biến số được che chắn / tấn công của họ thành 0 cứ sau 500 ms trong bản cập nhật trò chơi mỗi khối.. ms. Chúng tôi có thể đã đặt bộ hẹn giờ độc lập cho mỗi hành động, nhưng để đơn giản hơn, chúng tôi sẽ chỉ sử dụng vòng lặp cập nhật trò chơi chính.

Điều kiện chiến thắng ở đây khá dễ dàng - khi tuổi thọ của người chơi về 0, người chơi khác đã thắng vòng, sau đó chúng tôi lưu trữ số trận thắng của người chơi trong một biến.

Cuối cùng, có hai khối kiểm soát sát thương tấn công tầm xa và sát thương tấn công cận chiến. Trong mỗi một trong số chúng, chúng tôi kiểm tra va chạm sprite và nếu biến được che chắn / tấn công cho người chơi tấn công được đặt thành 0/1.

Bước 3: Trò chơi 1: Đối thủ của AI

Trận 1: Đối thủ AI
Trận 1: Đối thủ AI

Trong trò chơi đầu tiên, chúng tôi sẽ tạo ra một đối thủ AI tương đối đơn giản để trở thành người chơi thứ hai. Trong bản cập nhật trò chơi cứ sau 200 ms, trước tiên, chúng tôi thực hiện kiểm tra khoảng cách giữa người chơi và AI - nếu nó nhỏ hơn 20, chúng tôi đặt AI của mình ở chế độ cận chiến bằng cách nâng cơ hội tấn công cận chiến lên 30 và cơ hội tấn công tầm xa lên 30. Nếu khoảng cách cao hơn hơn 20, chúng tôi đặt cơ hội tấn công cận chiến thành 0 (không có pint trong tấn công cận chiến, vì người chơi ở quá xa) và di chuyển cơ hội thành 70. Sau khi các biến cho cơ hội hành động đã được thiết lập, chúng tôi tiếp tục thực hiện các hành động này với các cơ hội được chỉ định. Nếu bạn thử tự mình chơi với AI đơn giản này, bạn sẽ thấy rằng mặc dù hành vi của nó rất đơn giản, nhưng chiến thắng nó không hề dễ dàng - thường trong trường hợp với các đối thủ được điều khiển bằng máy tính, nó sẽ chiến thắng chủ yếu vì nó có thể thực hiện nhiều hành động hơn mỗi giây so với người chơi con người.

Nếu bạn gặp khó khăn khi viết mã, bạn có thể tải xuống mã đầy đủ trong kho lưu trữ GitHub của chúng tôi cho dự án này và mở nó trong Makecode Arcade.

Bước 4: Trò chơi 2: Nhiều người chơi giả lập

Trò chơi 2: Trình mô phỏng nhiều người chơi
Trò chơi 2: Trình mô phỏng nhiều người chơi
Trò chơi 2: Trình mô phỏng nhiều người chơi
Trò chơi 2: Trình mô phỏng nhiều người chơi

Biến thể trò chơi dành cho hai người chơi trong mô phỏng rất giống với phiên bản người chơi đơn, ngoại trừ việc chúng tôi thay thế khối hành vi AI bằng bốn khối trên người chơi 2 nút được nhấn - với nội dung bên trong các khối này phản ánh nội dung của các khối giống nhau cho người chơi 1. Có hãy xem ảnh chụp màn hình để hiểu rõ hơn bạn cần thực hiện những thay đổi nào. Ngoài ra, chúng ta cũng cần thêm người chơi di chuyển 2 với các nút chặn ở chức năng bắt đầu và thay đổi màn hình kết thúc cho người chơi hai trò chơi thành CHIẾN THẮNG thay vì THUA.

Bước 5: Trò chơi 3: Jacdac Multiplayer

Game 3: Jacdac Multiplayer
Game 3: Jacdac Multiplayer

Tôi đã tìm thấy một cộng đồng triển khai nhiều người chơi Jacdac với các khối arcade Makecode trong chuỗi diễn đàn này

forum.makecode.com/t/new-extension-real-mu…

Tôi đã thử nghiệm trò chơi ví dụ ở đó (Space Invaders) và thấy nó hoạt động rất tốt. Thật không may, cơ chế trò chơi của Cthulhu Combat sử dụng rất nhiều biến số và có vẻ như tiện ích mở rộng Nhiều người chơi thực sự chưa hỗ trợ đồng bộ hóa các biến số - vì vậy tôi đã làm cho nó hoạt động, các hành động của hai người chơi được đồng bộ hóa trên các thiết bị, nhưng cuộc sống có thể không không thả trên thiết bị của đối thủ. Ngoài ra, có điều gì đó không ổn với cơ chế đường đạn, đường đạn dường như không biến mất sau khi va vào tường, điều này khiến trò chơi mất kết nối sau khoảng 10 đường đạn được bắn ra.

Bạn có thể thử nhiều người chơi bằng cách tải xuống tệp-p.webp

Bước 6: Để Trận chiến Cthulhu bắt đầu

Hãy để Cuộc chiến Cthulhu bắt đầu!
Hãy để Cuộc chiến Cthulhu bắt đầu!

Vẫn còn rất nhiều cải tiến có thể được thực hiện cho trò chơi chiến đấu đơn giản của chúng tôi - ví dụ: bạn có thể thêm hành vi AI phức tạp hơn hoặc sử dụng tiện ích mở rộng để thêm các tổ hợp nút và / hoặc chuỗi hoạt ảnh. Chúc bạn may mắn và vui vẻ khi lập trình trò chơi của riêng mình với GameGo và Makecode Arcade.

Nếu bạn thực hiện một phiên bản cải tiến của trò chơi, hãy chia sẻ nó trong phần bình luận bên dưới! Để biết thêm thông tin về GameGo và các phần cứng khác dành cho các nhà sản xuất và nhà giáo dục STEM, hãy truy cập trang web của chúng tôi, https://tinkergen.com/ và đăng ký nhận bản tin của chúng tôi.

Đề xuất: