# Hardware Multiplayer (game)

**URL:** <https://forum.makecode.com/t/hardware-multiplayer-game/132>\
**Category:** Arcade\
**Tags:** game\
**Created:** [April 29, 2019, 5:42pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132 "2019-04-29T17:42:25Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [July 28, 2019, 8:02pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/21 "2019-07-28T20:02:20Z")

</div>

here’s the _old_ (working) jacdac with both connected/playing

![TEK0000](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/1X/e0f4338cced4888dd008b7b7a0f6a1a4b2d92617.jpeg)

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [July 28, 2019, 8:08pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/22 "2019-07-28T20:08:18Z")

</div>

here’s what it looks like with the code i compiled today. when disconnected, pulses from 0-3.3V.

![TEK0001](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/1X/3bef293cffc64d6cd4658f8d44c66d0286b2703a.jpeg)

When connected, pulses from 0-1.4V!  
 ![TEK0002](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/1X/7d77e18d45e9770e84bc26022925b95711d87448.jpeg)

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [July 28, 2019, 8:12pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/23 "2019-07-28T20:12:29Z")

</div>

hmm - pygamer 3.7.0 bootloader UF2 has

![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/1X/c3b002375647cc19f0b8106d79453c8bb18cd5e3.png)

and pybadge 3.7.0 bootloader UF2 has same

![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/1X/39c18ec3584e5ecb3f92fc587bff19b18547a90d.png)

so im not sure what to check next 😕

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [September 13, 2019, 10:27pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/24 "2019-09-13T22:27:55Z")

</div>

hiya @mmoskal @richard - any update or suggestion on a multiplayer game thats workin’ now i can test these cables with?

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [October 23, 2019, 6:15pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/25 "2019-10-23T18:15:08Z")

</div>

poke poke @mmoskal @peli we’d like to do a multiplayer game guide 🙂

---

<div class="post-metadata">

**Author:** ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)\
**Post date:** [October 23, 2019, 6:43pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/26 "2019-10-23T18:43:51Z")

</div>

@ladyada does the game above not work for you? [https://arcade.makecode.com/54386-28508-45239-82108](https://arcade.makecode.com/54386-28508-45239-82108)

---

<div class="post-metadata">

**Author:** ![gbraad](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/gbraad/32/338_2.png) [@gbraad](https://forum.makecode.com/u/gbraad)\
**Post date:** [October 24, 2019, 7:02am UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/27 "2019-10-24T07:02:02Z")

</div>

> [@richard](#):
>
> @ladyada does the game above not work for you?

Works for me with two meowbits. They run their v2.7.5 firmware

 ![WeChat%20Image_20191024150134](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/1X/3aa2ea22e36ec6910e868de13321e6f43aa18fb3.jpeg)

After the game over screen, they often, always, loose sync (Connection lost on one of them). It even happens that one of the meowbits report a 020 error code (OOM) at that time.

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [October 24, 2019, 7:00pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/28 "2019-10-24T19:00:50Z")

</div>

@richard if i go to that page in Chrome, click Edit Code, then click download i get this error

![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/1X/8b7634b9df80a4e3f363f3586d079054f84ef4c9.png)

---

<div class="post-metadata">

**Author:** ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)\
**Post date:** [October 24, 2019, 8:11pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/29 "2019-10-24T20:11:17Z")

</div>

Ah, sorry! This game requires beta, I should have specified. Try this link: [https://arcade.makecode.com/beta#pub:54386-28508-45239-82108](https://arcade.makecode.com/beta#pub:54386-28508-45239-82108)

---

<div class="post-metadata">

**Author:** ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)\
**Post date:** [October 24, 2019, 8:27pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/30 "2019-10-24T20:27:58Z")

</div>

I was able to get this running on a Pybadge LC (didn’t test the actual multiplayer part, just saw the connecting screen).

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [October 25, 2019, 2:40am UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/31 "2019-10-25T02:40:55Z")

</div>

yay that seems to work just fine, we’ll put the cables in the shop 🙂

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [October 28, 2019, 8:44pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/32 "2019-10-28T20:44:28Z")

</div>

OK cable is here! [https://www.adafruit.com/product/4342](https://www.adafruit.com/product/4342) works nicely 🙂

---

<div class="post-metadata">

**Author:** ![204maker](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/204maker/32/447_2.png) [@204maker](https://forum.makecode.com/u/204maker)\
**Post date:** [October 30, 2019, 2:36am UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/33 "2019-10-30T02:36:10Z")

</div>

What version of the bootloader worked with a multiplayer setup? I am using an Itsybitsy M4 for my custom arcade setup but v3.4 does not seem to work for multiplayer.

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [October 30, 2019, 2:52am UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/34 "2019-10-30T02:52:05Z")

</div>

the bootloader has to indicate a pin for jacdac, which im not sure the itsy does?

---

<div class="post-metadata">

**Author:** ![gbraad](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/gbraad/32/338_2.png) [@gbraad](https://forum.makecode.com/u/gbraad)\
**Post date:** [October 30, 2019, 2:08pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/35 "2019-10-30T14:08:03Z")

</div>

> [@ladyada](#):
>
> OK cable is here!

Funny, so the PyBadge uses MicroUSB (JACDAC pin = 5th ID pin) instead. The Meowbit and Brainpad actually use a TRS (3.5mm) jack plug, which gets confused for a headphone jack.

So far, I haven’t seen any specification for this, but I believed @jamesadevine used the same jack plug for Project Alava as these cables are easy to come by. Any thoughts on making a choice for the spec?

On a sidenote: the Atari Lynx used 2.5mm jacks as part of their ComLynx system. It prevented the issues with thinking it is audio, but also these cables were cheap to get and provided a splitter to link them together

![atari_lynx-comlynx-cable](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/1X/7865722ae204fbbbdb18b66f15329783c46fadd9.jpeg)

One of the games that utilized this was SlimeWorld . Not the greatest game, but super fun with a bunch of people (up to 8). Another was BattleWheels with up to 6 players, Checkered Flag, etc. At this [link](https://pixelfed.social/p/gbraad/95169766297309184) you can see SlimeWorld with some game screenshots. It was a simple serial connection … but very useful!

---

<div class="post-metadata">

**Author:** ![ladyada](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ladyada/32/167_2.png) [@ladyada](https://forum.makecode.com/u/ladyada)\
**Post date:** [October 30, 2019, 6:40pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/36 "2019-10-30T18:40:46Z")

</div>

hiya yeah we did not want to use a headphone jack because we use headphone for audio on the pygamer. this was a ‘free’ and easy way to make a connection cable. we’re hoping that next spec will use USB C connectors and that way gets to use one of the many available pins on USB C 🙂

---

<div class="post-metadata">

**Author:** ![204maker](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/204maker/32/447_2.png) [@204maker](https://forum.makecode.com/u/204maker)\
**Post date:** [November 5, 2019, 11:58am UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/37 "2019-11-05T11:58:29Z")

</div>

Here are multiplayer demos for Arcade running on FW v3.4.0.

custom board and Meowbit:

two custom boards:

I used the TRRS module from Sparkfun for JACDAC connection. [https://www.sparkfun.com/products/11570](https://www.sparkfun.com/products/11570)

---

<div class="post-metadata">

**Author:** ![kwx](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kwx/32/1545_2.png) [@kwx](https://forum.makecode.com/u/kwx)\
**Post date:** [February 13, 2021, 5:41am UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/38 "2021-02-13T05:41:10Z")

</div>

> [@richard](#):
>
> I was able to get this running on a Pybadge LC (didn’t test the actual multiplayer part, just saw the connecting screen).

Reviving an old thread - what’s the current status for two-player games on hardware? I’d love to experiment with this further, but there seem to be some incompatibilities with the current editor.

I found a UF2 file for Space Destroyer, and that works great as a two-player game using the direct USB connection cable between two PyGamer devices: [https://cdn-learn.adafruit.com/assets/assets/000/083/139/original/arcade-jacdac-multiplayer-demo-final.uf2](https://cdn-learn.adafruit.com/assets/assets/000/083/139/original/arcade-jacdac-multiplayer-demo-final.uf2)

However, I’m having trouble loading the game in the editor, both using the [direct link](https://arcade.makecode.com/54386-28508-45239-82108) above and the [beta editor](https://arcade.makecode.com/beta#pub:54386-28508-45239-82108).

Errors include:

```
main.ts
    Line 1: jacdac.controllerService.stop();
    => Cannot use namespace 'jacdac' as a value

socket.ts:
    Line 126: Namespace 'jacdac' has no exported member 'JDPacket'.
    Line 146: Property 'sendPacket' does not exist on type 'Socket'.

```

The `jacdac-game` section in Explorer has a red `1`, but I don’t see a corresponding error message. I’m guessing it is likely related to the following error on the JS console?

```
pxtapp.js:2493 invalid package jacdac-game: version not specified for jacdac-game

```

I also found the [pxt-jacdac](https://arcade.makecode.com/pkg/microsoft/pxt-jacdac) extension, but I’m unsure if that’s intended to replace `jacdac-game`.

Are there any other current examples for two-device multiplayer games?

---

<div class="post-metadata">

**Author:** ![jwunderl](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jwunderl/32/5308_2.png) [@jwunderl](https://forum.makecode.com/u/jwunderl)\
**Post date:** [February 13, 2021, 5:46am UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/39 "2021-02-13T05:46:09Z")

</div>

Ah, jacdac is in the middle (maybe later stages) of a rewrite / is still experimental so it’s very possible jacdac-game got broken. @peli did we have any current multiplayer jacdac info or anything of the sort to share?

---

<div class="post-metadata">

**Author:** ![Moobot](https://avatars.discourse-cdn.com/v4/letter/m/439d5e/32.png) [@Moobot](https://forum.makecode.com/u/Moobot)\
**Post date:** [April 25, 2021, 4:52pm UTC](https://forum.makecode.com/t/hardware-multiplayer-game/132/40 "2021-04-25T16:52:17Z")

</div>

Hi, I’m trying to connect two Meowbits for multiplayer, using the Arcade Block library. Using the Controller/Multiplayer blocks, and a headphone jack connection, there just seems to be no communication between the two boards at all. Is there anything I need to check?

Stumbling upon this thread, it seems that multiplayer on two boards currently does not work, at all. Is that correct?

[Previous page](https://forum.makecode.com/t/hardware-multiplayer-game/132.md?page=1)

[Next page](https://forum.makecode.com/t/hardware-multiplayer-game/132.md?page=3)
