Log In  

Do you want to play PICO-8 games online with others? Yes? Then Martian Dice might be the game for you.

It is an online multi-player dice game. It lets you:

  • Play with your friends
  • Play with strangers or
  • Play against a bot

This is a reproduction of the physical dice game Martian Dice.

Unfortunately, this game cannot be played from the BBS. For different clients to talk to each other the game needs to connect to a cloud-hosted service, which requires additional Javascript code. You can play the game from my homepage though. The in-game QR code also takes you there.

Cart #martiandice-4 | 2021-05-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

Still planned

Nothing really. If you have any last-minute requests or find any bugs, please let me know.

History

This PICO-8 game really evolved by accident. After playing Martian Dice with friends I wondered what the optimal play was and how much points you can expect to score each turn. So I built a bot in Python that maximises the expected score each turn. Next I figured it would be a good vehicle for me to try out WebSockets. As I also wanted some experience with React, I first built a React client. Then I started dabbling with sprites for the die faces and realized it's a good fit for PICO-8. And here we are...

Version 0.9.3 - 16 May 2021

  • Allow player to resign game
  • Let player win immediately after all other players have left the game
  • Let other client take on host role when host does not trigger bot moves
  • Suppress play reminders when playing against a bot
  • Recover from network problems by handling WebSocket disconnects
  • Fix: Also show winning bot avatar when observer joined
  • Fix: Stop die roll sounds when exiting room
  • Fix: Room label was not always showing correctly
  • Fix: Occasional wrong room join message was shown
  • Fix: Rejoin room with ghost client fails
  • Fix: Ranking fails when number of clients is one

Version 0.9.2 - 9 May 2021

  • Improved color palette (by using colours from the secret palette)
  • Various minor UI improvements
  • Fancier celebration animation

Version 0.9.1 - 2 May 2021

  • Handle unresponsive/slow players. Options: Wait/Skip/Remove
  • Track results of players in room and show ranking
  • Fancier text editing and chat selection
  • Add dialogs
  • Improve stability

Version 0.9 - 27 Apr 2021

  • Initial release

Implementation details

The backend is an AWS-hosted lambda service in Python. Clients connect to this via WebSockets. The client-side communication is managed by Javascript code. This code interfaces with PICO-8 via GPIO.

For those interested, all source code is available on github. This includes:

  • The PICO-8 game
  • The client-side Javascript code that interfaces with the backend
  • The server-side Python code, which runs as a lambda service on AWS
  • The AWS CDK script for deploying the service stack
  • The earlier HTML client built using ReactJS
P#91199 2021-04-27 19:14 ( Edited 2021-05-16 11:48)

:: Dvan

Nice game =)

P#91212 2021-04-27 22:26

bootiful geem

P#91245 2021-04-28 13:41
:: eriban

For those interested in the implementation details of the online/multi-player aspects, I did a short write-up on itch.io: Accidental evolution.

P#93111 2021-06-06 16:23

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2021-12-01 21:05:58 | 0.009s | Q:16