Giter Club home page Giter Club logo

mushmatch's Introduction

Mush Match

Mush Match is a social deduction game type written for classic Unreal Tournament, started back in 2018 by Gustavo Ramos Rehermann.

1. About

It was inspired by an online early 2010s turn-based, online multiplayer, Flash-based, social deduction game, called Mush. However, it takes many creative liberties; is not afraid to break from canon to provide the best and most Unreal experience.

Like many other social deduction games, it plays asymmetrically; the humans and the Mush have different goals and different tools to achieve them. In the end, the last team standing wins.

2. Download

See the Releases page!

If you want to build from source, you must be on a Linux system. See the section Building from Source below.

3. Rules

Every person has only one life, and their team is identified on death.

In the beginning of the match, "warm-up" begins, where everyone is in the human team and cannot be damaged (only killed, by single-time damages capable of killing one it at once, but then they respawn); once this ends, a fraction of people are selected at random to be Mush, which is unbeknownst to everyone except other fellow Mush; and that’s when the match truly begins. :)

There is one common aspect to each team’s goal – it is to ensure that the other team does not have any living member left. The meanings and implications of this are still asymmetric, though, both in lore and in the methods available to each team.

It is playable in any Deathmatch level. Eventually, I plan on having it enhance existing levels with Mush-Match-specific props (more than just decorations!), such as security cameras and water balloon dispensers, and alternatively support DM-MM-…​ levels built specifically for Mush Match with open areas and tight corridors and stuff.

Mush Match was also written with bot support in mind. Bots are even able to gauge suspicious behaviour and engage people with the Suspicion Beacon. I also made sure that they didn’t act "cheatily" by being able to tell who was mush or not mush ahead of time. Mush bots are less likely to band up with humans than other human bots – are more likely to act in an anti-social manner – and also know how to be sneaky when either killing or infecting. Which is to say, good luck spotting them, before they spot you!

4. FAQ

Mush Match appears twice on my gameplay selection screen! What do I do?

If you have any instance of GusPackII.u or GusPackII.int in your System folder, try removing any lines referencing MushMatch or ArenaMush from GusPackII.int. That is an outdated version, and GusPackII has never seen a full release (and may never see) anyway.

I found this bug offline, or that glitch online, or this crazy crash, or some lag-spike weedy-de-doo! What do?

Report it! Preferably, in the issues tracker - see the links at the top of the post.

Why the name? Why Mush? Why is Mush an uncountable noun if it is a team that can have multiple people?

Because of Mush Match’s inspiration; see About near the top. Also, the noun is uncountable because lore lore lore. See the Lore section below!

This does not work with FerBotz! They just kill each other and can tell each other’s teams! Cheaty cheaty! What do I do?

Ask Higor, I suppose! I do not know what I can do, as the bot behaviour respecting the rules and their supposed circumstances hangs almost entirely from the bots respecting the AssessBotAttitude method in the GameType class. Keep in mind this isn’t really Higor’s fault, the FerBotz just weren’t ever made with social deduction in mind, and it’s not like you’re supposed to expect anywhere clcose to that from a retro FPS bot :)

5. Building from Source

Currently you can only build MushMatch from a Linux system.

If you are on Windows, you may try to use Cygwin, WSL, or elaborate a virtual machine or Dockerfile, but there is no warranty that it will work, thus caveat emptor.

5.1. Prerequisites

If you want to build from source, make sure you have the build dependencies beforehand. You most likely already have curl, zip, tar, gzip, bash and bz2, but you will also need to install a Go package named mustache.

You can grab it by installing Go, and then running:

$ go get github.com/cbroglie/mustache/..

5.2. Build

Simply run make. The provided Makefile should automatically take care of downloads, setting up a bare UT tree, and building MushMatch in it, all for you!

5.3. Settings

A few variables control how the build is done. Usually, those variables don’t have to be edited, as they

6. Lore

A Mush is actually a fungus, borne from a distant planet from another star, which can be pathogenic and takes full control of its host’s body, and particularly mind. It can

(a) communicate in a way only other Mush can detect (which explains how Mush know whether anyone else is a Mush or Human, unlike Humans who have to, well, deduce!); (b) are able to produce spores, which can infect someone else and turn them into a Mush too (though in the original Mush game they require introspection into the bloodstream, or "spiking"); (c) may look and behave just like humans when not doing anything that is specifically only possible to Mush (such as taking damage from water or, in the case of Mush Match, holding the Sporifier, the mush weapon that can infect others).

They behave like a hivemind; this is why they are regarded as uncountable.

Of course it is all much more complicated than this, but this is a succinct summary. If you want more info, see the Mushpedia!

7. Licensing

The license only applies to the code inside the Classes/ subdirectory, and files in the project’s top folder. For those, see the [LICENSE.md] file.

All non-code assets, i.e. files within the Models/, Sounds/ and Textures/ subdirectories, are provided under the CC-BY-SA 4.0.

The build system does, indeed, download a bare copy of Unreal Tournament (1999), which is meant to have only the minimum assets required to run as a server. Due to its free availability online compared to other instances where said files occur (such as retail), it is presumed that no copyright infringement or other law infraction is inflicted by this.

Additionally, this project does not host this downloaded file; it is provided by UT-Files.com. Therefore, the authors, maintainers, and users of this project consider themselves waived of any liability or responsibility with regards to that.

In case any actual legal infraction is proved to be, consider forwarding legal proceedings and inquiries to UT-Files.com, the hosts of the file in question. In any case, it would be polite to notify the author of the project, at the e-mail address [email protected], so as to be made aware of this nuance and rectify the project to no longer be affected by it.

In case legal contention is had specifically and explicitly with this projecti tself, please send any legal inquiries or takedown requests toward the e-mail address [email protected]. Response and/or action may be expected in up to seven days, after the which a DMCA takedown notice is more than polite, although there is little against otherwise other than objection.

In case a DMCA takedown notice is received, it would be preferable for the repository to be made private so that project files can be downloaded and backed up, at least temporarily.

The main author of the project, Gustavo Ramos Rehermann as of writing (October 2021), is not situated in the United States of America, nor under American jurisdiction. Please refer to the Brazilian justice system for appropriate research and proceedings.

mushmatch's People

Contributors

wallabra avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.