https://github.com/howardabrams/veep
An online game where you control robots on distant planets... but you control them by programming in CoffeeScript
https://github.com/howardabrams/veep
Last synced: 2 months ago
JSON representation
An online game where you control robots on distant planets... but you control them by programming in CoffeeScript
- Host: GitHub
- URL: https://github.com/howardabrams/veep
- Owner: howardabrams
- Created: 2013-09-07T17:19:49.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2013-09-20T15:46:11.000Z (almost 13 years ago)
- Last Synced: 2024-04-15T12:46:29.500Z (about 2 years ago)
- Language: CSS
- Size: 5.27 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: Virtual Exoplanet Exploration Program
#+AUTHOR: Howard Abrams
#+EMAIL: howard.abrams@gmail.com
#+DATE: [2013-07-09 Tue]
#+TAGS: kids coffee javascript
This game is solved by entering the right commands into a wheeled
rover to accomplish missions for exploring virtual worlds. That's
right, the players learn to program while playing the game.
At least, that is the idea.
* Playing the Game
If you are interested in playing the game, this site is built and
running at [[http://www.geeklet.org/veep][geeklet.org/veep]].
* Building
I highly doubt that you'll be able to build this project... you see,
I'm really into /literate programming/, and this files are built
using [[http://www.orgmode.org][org-mode]] for Emacs. Each file either published as an HTML file
(in the =site= directory), or /tangled/ as a CoffeeScript file (into
=site/scripts=).
However, the =build.el= file can be used within Emacs to build all
of the files, and the =build.sh= script can be used to call Emacs
to do this work.
Yeah, highly specialized, I know, but it sure if sweet once you
drank this kool-aid.
* Running
Once the files have been built, you can have any web server point to
the =site= directory, or you can use [[http://www.node.org][NodeJS]] to start up a simple web
server:
#+BEGIN_SRC sh
npm install
node app.js
#+END_SRC
* Contributing
While the game is odd to build, the =.org= files are just text
files, so forking and updating is an option.
Feel free to play the game and send me feedback.
* General Thoughts
Each mission will be clearly explained, but still allow the player
to /experiment/ and try out ideas.
To keep each screen terse, but still provide enough information
(some of which may include forgotten math), we'll have pop-up dialog
boxes with supplementary material.
* Programming Notes
Each /mission/ has a *console* where robot instructions can be
entered and evaluated. The results of the mission are displayed in a
tabbed section to the right of the console.
The [[http://www.coffeescript.org][CoffeeScript]] code entered has access to an =rv= library of
functions. To keep the code the player has to enter simple, the
library stores the 'state' of the robotic rover, and calling
=rv.dock()= summarizes the mission.
The =console.log()= function is also overloaded, so it can be
displayed in a tab.