Skip to content
In that famous mining game, you build a mine. In Mineplace, you live in a mansion.
Elm JavaScript HTML Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
design
site
src
tests
.gitignore
.travis.yml
LICENSE.txt
Persistence.md
README.md
elm-upgrade-2019-09-29T191807.223Z.log
elm.json

README.md

MinePlace.social

“In that famous mining game, you build a mine. In MinePlace, you live in a mansion.”

It’s pronounced "mine-PLACE", with the first word being a pun on the personal possessive pronoun and a tunnel where valuable commodities are dug from the ground, and the whole being a curtsy in the direction of the fabulously successful networked Java game. You may also think of it in German as "Mein Platz" or French "Ma Place".

MinePlace allows you to interact with others in a physical space that you acquire or build. You can use it with scripting to create games, collect and display images, video, and sculpture, talk or type with visitors, and federate with other places.

My alpha graphics is simple line drawings, but it will use WebGL very soon for realistic three-dimensional rendering.

One hour a day of server connection will always be available for free, at least from my server, but I will charge $1 per month for unlimited server use, with a storage cap that you can exceed with your own S3 account, at Amazon, Digital Ocean, or any S3-compatible server.

History

Way back in 2012, when I first heard about Node.JS, I recreated a maze game that I played on the PDP-10 and Imlac terminals at MIT in the late 1970s. In that game, a bunch of players ran around a shared maze, shooting at each other.

That game was up at jsmaze.com for many years, but I took it down to save the $15/month that its AWS VM was costing me. I spent a little time attempting to make it work again, but the libraries it depends on had changed incompatibily, and having been spoiled by Elm, I didn't want to spend the effort it would take to figure it out.

This project started as a remake, from scratch, in Elm, and has morphed into a federated social media interface for the spatially-oriented.

Tech

The client-side code is Elm compiled to JavaScript, which will run in any modern web browser. I'll wrap $0.99 iOS and Android apps around the webapp, but you can always use a mobile browser for free.

The server side is initially Elm on Node.js, using billstclair/elm-websocket-framework package, but if that doesn't scale well enough, I'll switch to elm-beam, if it's up to the task by then.

See persistence.md for information about how boards and players are persisted.

To run the code:

cd .../mineplace
bin/build
elm reactor

(where ".../mineplace" denotes the path on your machine to where you git cloned the code. Then aim your browser at http://localhost:8000/site/index.html.

Bill St. Clair, 7 October 2019

You can’t perform that action at this time.