Much Assembly Required
Assembly programming game
**Much Assembly Required** allows you to program the 8086-like microprocessor of a robot in a grid-based multiplayer world. The game is web based so no installation is required. In its current state, players can walk around the game universe and collect Biomass blobs and Iron/copper ore using the online code editor. The project is written primarily in Java, distributed under the GNU General Public License v3.0 license, first published in 2017. Key topics include: assembly, game, mongodb, websocket, x86-16.
Much-Assembly-Required
Much Assembly Required allows you to program the 8086-like microprocessor of a robot in a grid-based multiplayer world. The game is web based so no installation is required. In its current state, players can walk around the game universe and collect Biomass blobs and Iron/copper ore using the online code editor.

Deploying the server
Linux
Installing tools
On Ubuntu 16.04:
bashsudo apt install git maven openjdk-8-jdk mongodb
On Arch:
bashsudo pacman -S git maven jdk8-opendjk yay -S mongodb-bin # Don't forget to start mongodb sudo systemctl start mongodb.service
If needed, visit yay installation and troubleshooting mongodb.
Deploying server
bash# Obtain source files git clone https://github.com/simon987/Much-Assembly-Required.git # Build cd Much-Assembly-Required mvn package # Run cd target java -jar server-1.4a.jar
Windows (tested on Windows 10)
Installation instructions:
- Download the JDK from here.
Install the JDK and update your PATH and JAVA_HOME environment variables. - Download Maven from here.
Install Maven (following the README) and update your PATH environment variable. - Download Mongo DB Community from here.
Install Mongo DB following the instructions here.
Update your PATH environment variable.
Building instructions:
batch:: Builds the server cd Much-Assembly-Required mvn package
Running instructions:
- In one Command Prompt window, run Mongo DB:
batch:: Runs Mongo DB mongod
- In a second Command Prompt window, run the MAR server:
batch:: Runs the MAR server cd Much-Assembly-Required\target java -jar server-1.4a.jar
macOS (tested on Sierra 10.12.6)
Installation
- Install Maven3
-Add Maven bin to your pathbashexport PATH=/path/to/maven/bin.:$PATH - Install MongoDB.
-Via Brew:
-Via .tar.gzbash#Update brew brew update #Install mongodb brew install mongodb #Install latest development release brew install mongodb --develbash#Extract files: tar -zxvf mongodb-osx-ssl-x86_64-4.0.3.tgz #Ensure binaries are in your path export PATH=<mongodb-install-directory>/bin:$PATH
If you do not wish to use the default data directory (/data/db), follow the steps for running MongoDB in the install doc.
Deploying Server
-
Begin MongoDB service
bash#If brew: #Launch on login brew services start mongodb #Or, if you don't want/need a background service you can just run: mongod --config /usr/local/etc/mongod.conf #If binary: mongod #Optional, set data directory path: mongod --dbpath <path to data directory> -
Deploy server:
bash# Obtain source files git clone https://github.com/simon987/Much-Assembly-Required.git # Build cd Much-Assembly-Required mvn package # Run cd target java -jar server-1.4a.jar
Docker
Requirements
- Docker Compose (and dependencies)
Installation
Once Docker and Docker Compose are installed, you can build and start
this application by running the following command inside this
application's directory:
docker-compose up
Make sure to change mongo_address in config.properties to mongodb.
Vagrant
Requirements
Installation
When vagrant is installed, you can build and start this application by running the following
command inside this application's directory:
vagrant up
Running
Once the server is running, you should be able to connect to http://localhost:4567 with your browser
VS Code Extensions
- Much Assembly Required (Upload on Save) by tomhodder
- Much Assembly Required Language Support by PJB3005
Contributors
Showing top 12 contributors by commit count.
