5D Diplomacy With Multiverse Time Travel

Overview

5D Diplomacy With Multiverse Time Travel

Based on Diplomacy and 5D Chess With Multiverse Time Travel, 5D Diplomacy With Multiverse Time Travel is an (entirely un-serious) attempt to introduce multiverse and time travelling elements to the classic game of pure negotiation.

The current code takes the simplest non-trivial Diplomacy board and turns it into the starting point of time travel shenanigans.

See this video for more information: https://www.youtube.com/watch?v=2__NGeY5JUw

Disclaimer

The code is likely rather buggy, especially around retreats, and isn't resistant to badly formed inputs at all.

It's also horrendously ugly. I might fix that in the future, I might not. I consider this hackathon-esque in my approach, so please ignore my entirely undocumented, crazily formatted, paradigm-hopping mess. It works well enough for the demo, and that's all I need.

Requirements

  • Java 14 or higher
  • 500 IQ

How to Play

Compile the source code and run processing.GameRunner from the command line or similar.

You'll be prompted to enter orders. You must submit an order for every unit of either colour on an active board (shown as more opaque) and cannot submit orders for units on inactive boards.

Enter orders on separate lines and write r on a new line to finish submitting orders and resolve.

The format for orders is as follows:

  • Hold: x1,x2,x3, where the x1 is the column of the board on which the unit lies (left-most column is 0), x2 is the row of the board on which the unit lies (may be negative as the centre is 0), and x3 is one of [0, 1, 2] to specify the unit's location within a board. Here, 0 refers to the left region of the triangle, 1 to the top region and 2 to the right region.

  • Move: x1,x2,x3 m y1,y2,y3 where x1,x2,x3 specifies the unit's location as above, and y1,y2,y3 similarly specifes the unit's destination. Units can move anywhere on their own board or anywhere on boards one space away horizontally, vertically or diagonally.

  • Support: x1,x2,x3 s y1,y2,y3 z1,z2,z3 where x1,x2,x3 is the supporting unit's location, y1,y2,y3 is the supported unit's location and z1,z2,z3 is the supported unit's destination. If y1,y2,y3 and z1,z2,z3 match, the order is a support to hold in place. The supported destination is subject to the same constraints as a move order, i.e. a unit can only support to places it could move.

If retreats are required, you'll be asked to enter orders again for each dislodged unit only. Disband orders have the same format as holds, and a retreat move has the same format as a regular move.

You might also like...

Set of support modules for Java 8 datatypes (Optionals, date/time) and features (parameter names)

Overview This is a multi-module umbrella project for Jackson modules needed to support Java 8 features, especially with Jackson 2.x that only requires

Dec 23, 2022

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2 is a realization of the lambda architecture built on Apache Spark and Apache Kafka, but with specialization for real-time large scale machine l

Dec 28, 2022

A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points.

A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points.

ChartFx ChartFx is a scientific charting library developed at GSI for FAIR with focus on performance optimised real-time data visualisation at 25 Hz u

Jan 2, 2023

A small and easy-to-use one-time password generator library for Java according to RFC 4226 (HOTP) and RFC 6238 (TOTP).

OTP-Java A small and easy-to-use one-time password generator for Java according to RFC 4226 (HOTP) and RFC 6238 (TOTP). Table of Contents Features Ins

Dec 30, 2022

Utility for developers and QAs what helps minimize time wasting on writing the same data for testing over and over again. Made by Stfalcon

 Utility for developers and QAs what helps minimize time wasting on writing the same data for testing over and over again. Made by Stfalcon

Stfalcon Fixturer A Utility for developers and QAs which helps minimize time wasting on writing the same data for testing over and over again. You can

Nov 29, 2021

CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time.

CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time.

About CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time. CrateDB offers the

Jan 2, 2023

Apache Druid: a high performance real-time analytics database.

Apache Druid: a high performance real-time analytics database.

Website | Documentation | Developer Mailing List | User Mailing List | Slack | Twitter | Download Apache Druid Druid is a high performance real-time a

Jan 2, 2023

A scalable, distributed Time Series Database.

___ _____ ____ ____ ____ / _ \ _ __ ___ _ _|_ _/ ___|| _ \| __ ) | | | | '_ \ / _ \ '_ \| | \___ \| | | | _ \

Jan 3, 2023

Catch common Java mistakes as compile-time errors

Error Prone Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time. public class ShortSet { public

Dec 31, 2022

jRT measures the response time of a java application to socket-based requests

jRT Version: 0.0.1 jRT is a instrumentation tool that logs and records networking I/O operations "response times" (applicaion response time if be corr

May 19, 2022

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2 is a realization of the lambda architecture built on Apache Spark and Apache Kafka, but with specialization for real-time large scale machine l

Mar 12, 2021

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2 is a realization of the lambda architecture built on Apache Spark and Apache Kafka, but with specialization for real-time large scale machine l

Dec 28, 2022

Apache Druid: a high performance real-time analytics database.

Apache Druid: a high performance real-time analytics database.

Website | Documentation | Developer Mailing List | User Mailing List | Slack | Twitter | Download Apache Druid Druid is a high performance real-time a

Jan 9, 2023

:elephant: Elasticsearch real-time search and analytics natively integrated with Hadoop

Elasticsearch Hadoop Elasticsearch real-time search and analytics natively integrated with Hadoop. Supports Map/Reduce, Apache Hive, Apache Pig, Apach

Dec 22, 2022

Real-time Query for Hadoop; mirror of Apache Impala

Welcome to Impala Lightning-fast, distributed SQL queries for petabytes of data stored in Apache Hadoop clusters. Impala is a modern, massively-distri

Dec 28, 2022

A platform for visualization and real-time monitoring of data workflows

A platform for visualization and real-time monitoring of data workflows

Status This project is no longer maintained. Ambrose Twitter Ambrose is a platform for visualization and real-time monitoring of MapReduce data workfl

Dec 31, 2022

Real Time communication library using Animated Gifs as a transport™

gifsockets "This library is the websockets of the '90s" - Somebody at Hacker News. This library shows how to achieve realtime text communication using

Dec 17, 2022

A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points.

A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points.

ChartFx ChartFx is a scientific charting library developed at GSI for FAIR with focus on performance optimised real-time data visualisation at 25 Hz u

Dec 30, 2022
Comments
  • Open 5D chess discord invite

    Open 5D chess discord invite

    Looks like you are interested in "5D Chess with Multiverse Time Travel" programming.

    I'm the lead developer of https://chessin5d.net and I'm looking to gather people interested in creating open source projects around 5D chess. Here is the discord link: https://discord.chessin5d.net

    There are 10+ different developers on there working on their own projects, so feel free to drop in and say hi.

    opened by Alexbay218 0
  • Fundamental issues with 5d diplomacy(Discussion)

    Fundamental issues with 5d diplomacy(Discussion)

    I created this issue to create a more formal location for people(probably just me) to discuss the issues that were brought up in the youtube video as youtube comments are not directly associated with this repo and are sub optimal for other reasons. Perhaps this should be broken up into multiple issues, we'll see. To describe the issues indicated in the video

    Adjustment

    when do the active forces on the board get brought up or down to be equivalent to the number of supply centers on the board and what supply centers get counted

    Victory Condition(s)

    how does a player or player(s) win? Winning on one board is a possibility but at small scales it makes things a bit too swingy or easy allowing for victory without a true sense of winning, as said in the video with the current prototype you can just control 2 supply centers on a random board which isn't very hard or difficult further once boards get bigger it can make every board that's close to resolution into a massive mess which is kinda the point of the timelines but having it take place on every board that's about to end seems like it'd be non-ideal. Another issue with copying 5d chess on this is what happens if different players win on different boards simultaneously, it's possible because everyone takes their turn at the same time. The only obvious alternative to winning any one board of winning every board seems just infeasible on the face of it, there's a reason 5d chess doesn't have you win every board.

    Misc issues that are equally problematic

    • Where do the timelines go visually? with 2 players you can have all the timelines of 1 player go on top and the others go on the bottom with more it becomes unclear
    • What are the rules for time line creation? Is there a limit, if not what stops one player from continuously making new timelines to stall the game out
    • Game viability? Can this all come together to make a fun understandable(without quadruple digit iq) game
    opened by Pagwin-Fedora 8
Owner
null
Time-Based One-Time Password (RFC 6238) and HMAC-Based One-Time Password (RFC 4226) reference implementations and more.

Crypto Time-Based One-Time Password (RFC 6238) and HMAC-Based One-Time Password (RFC 4226) reference implementations and more. Getting Started TOTP ge

Oliver Yasuna 1 May 12, 2022
Joda-Time is the widely used replacement for the Java date and time classes prior to Java SE 8.

Joda-Time Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still pr

Joda.org 4.9k Dec 27, 2022
Minecraft configurable plugin , which sends messages the first time a player logs into the server or the next time they log in.

JoinMessages Minecraft configurable plugin , which sends messages the first time a player logs into the server or the next time they log in or leave.

ᴠᴀʟᴇɴᴛɪɴ ᴢʜᴇʟᴇᴠ 6 Aug 30, 2022
Just-In-Time Access is an AppEngine application that lets you manage just-in-time privileged access to Google Cloud projects.

Just-In-Time Access Just-In-Time Access is an AppEngine application that lets you manage just-in-time privileged access to Google Cloud projects. Syno

Google Cloud Platform 36 Jan 3, 2023
Catch common Java mistakes as compile-time errors

Error Prone Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time. public class ShortSet { public

Google 6.3k Dec 31, 2022
A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead

NullAway: Fast Annotation-Based Null Checking for Java NullAway is a tool to help eliminate NullPointerExceptions (NPEs) in your Java code. To use Nul

Uber Open Source 3.2k Dec 29, 2022
Apache Druid: a high performance real-time analytics database.

Website | Documentation | Developer Mailing List | User Mailing List | Slack | Twitter | Download Apache Druid Druid is a high performance real-time a

The Apache Software Foundation 12.3k Jan 1, 2023
Provides additional date-time classes that complement those in JDK 8

ThreeTen-Extra ThreeTen-Extra provides additional date-time classes that complement those in JDK 8. Not every piece of date/time logic is destined for

ThreeTen 361 Jan 8, 2023
Meno Hochschild 382 Dec 25, 2022