Slingshot
Saved games stay in this browser only.
About the game
Two ships sit on opposite sides of a patch of space, and between them there are planets. You take turns to aim and fire a missile, but a missile does not fly straight: every planet pulls on it, so a shot that looks like a miss can curve around a world and come in from the side, and a clear line can be bent into the sun. The art of the game is to use that gravity.
Hits earn points, but the power you use costs points, so the strongest shot is not the best one: a gentle shot that lets a planet do the work scores more than a hard one that crosses the screen. Each round places the planets afresh, and the game can run a fixed number of rounds or on without end. The menu lets you change the rules: random game style, fixed power, bouncing shots off the edges, invisible planets, the number of planets and a timeout for each shot.
It is a two-player game on one keyboard, with no computer opponent, made in 2007 as a prototype that turned into the whole game.
Playing it here
The first time you click Play the page downloads the Python runtime and the pygame library (about 23 MB), which takes a few seconds; after that a "click to start" message appears, and one more click opens the game. The download is kept by your browser, so the other pygame games on the site open faster. Nothing is loaded from other sites. Your settings are saved in this browser only. The "Quit" line of the original menu is gone, since a web page has nowhere to quit to.
Players take turns at the same keyboard: the ship that is to fire is the one whose name is highlighted at the top.
Controls
| Key | Action |
|---|---|
| Left / right arrow | turn the aim (anti-clockwise / clockwise) |
| Up / down arrow | more / less power |
| Space or Enter | fire |
| Hold Shift | bigger adjustments |
| Hold Ctrl | smaller adjustments |
| Hold Alt | very small adjustments |
| Escape | menu, settings and help |
A few things worth knowing
Less power is more points. Every unit of power costs you, so look for shots that fall into a planet's pull instead of crossing the whole screen.
Learn the pull. A heavier planet bends a missile more, and one that passes close to it bends more than one that skims it, so fire a test shot if you can afford it.
Change the rules. In the menu, try Bounce for shots that rebound off the edges, or Invisible planets for a game of memory and guesswork.
Frequently asked questions
Can I play against the computer? No: Slingshot is for two players on one keyboard.
Does it work on a phone? It needs a keyboard, so not really.
Is it free? Yes: the code is free software under the GPL, version 2 or later.
Credits and licence
Slingshot was made by Jonathan Musther and Bart Mak in 2007. The code is released under the GNU General Public License, version 2 or (at your option) any later version, and the text font is FreeSans Bold from the GNU FreeFont project. This version is the 0.8.1p release as packaged by Debian, ported to Python 3 with a few more changes to run in a browser (the complete source, the changes and the licence texts are linked from the Licenses page). The game runs on pygame-ce (LGPL-2.1) and CPython, whose licences and source are linked there too.