Written in C++ and using SDL, The Powder Toy is a desktop version of the classic 'falling sand' physics sandbox, it simulates air pressure and velocity as well as heat.
Go to file
jacob1 e280fea031 arbitrary gravity code cleanup
Was working on modernizing the code in my mod, copied all the changes here too
2019-08-05 00:08:06 -04:00
data Update README and intro text 2019-06-11 21:27:15 +02:00
font Enlarge the font by adding 2 pixels above the cap height 2018-04-29 04:08:03 +03:00
resources going back to old icon for now. Also Windows icon is now centered, and linux icon has higher 128x128 resolution. 2019-01-26 00:46:43 -05:00
src arbitrary gravity code cleanup 2019-08-05 00:08:06 -04:00
.gitattributes Strip whitespace from files in repo (#553) 2018-04-03 21:46:01 -04:00
.gitignore Ignore more VS crap 2019-06-23 12:52:39 +02:00
generator.py Invoke vsproject.py automatically and make newelement.py a bit more friendly 2019-06-23 11:23:27 +02:00
LICENSE Add missing license file (GPLv3) 2012-05-24 19:01:00 +01:00
newelement.py Ignore more VS crap 2019-06-23 12:52:39 +02:00
README.md Fix selection background of formatted labels 2019-07-19 11:28:51 +02:00
SConscript check SDL2 framework on OSX 2019-07-17 01:35:10 +02:00
SConstruct fix generator.py call in scons 3 2017-10-09 23:59:58 -04:00
TODO Strip whitespace from files in repo (#553) 2018-04-03 21:46:01 -04:00
vsproject.py Invoke vsproject.py automatically and make newelement.py a bit more friendly 2019-06-23 11:23:27 +02:00

The Powder Toy - February 2019

Get the latest version from the Powder Toy website.

To use online features such as saving, you need to register an account. You can also visit the official TPT forum.

Have you ever wanted to blow something up? Or maybe you always dreamt of operating an atomic power plant? Do you have a will to develop your own CPU? The Powder Toy lets you to do all of these, and even more!

The Powder Toy is a free physics sandbox game, which simulates air pressure and velocity, heat, gravity and a countless number of interactions between different substances! The game provides you with various building materials, liquids, gases and electronic components which can be used to construct complex machines, guns, bombs, realistic terrains and almost anything else. You can then mine them and watch cool explosions, add intricate wirings, play with little stickmen or operate your machine. You can browse and play thousands of different saves made by the community or upload your own we welcome your creations!

There is a Lua API you can automate your work or even make plugins for the game. The Powder Toy is free and the source code is distributed under the GNU General Public License, so you can modify the game yourself or help with development. TPT is compiled using scons.

Build instructions

sudo apt-get install build-essential libsdl2-dev libbz2-dev zlib1g-dev liblua5.1.0-dev git scons libfftw3-dev libcurl4-openssl-dev
scons

For a list of flags for scons, see the Powder Toy wiki.

Thanks

  • Stanislaw K Skowronek - Designed the original
  • Simon Robertshaw
  • Skresanov Savely
  • cracker64
  • Catelite
  • Bryan Hoyle
  • Nathan Cousins
  • jacksonmj
  • Felix Wallin
  • Lieuwe Mosch
  • Anthony Boot
  • Matthew "me4502"
  • MaksProg
  • jacob1
  • mniip
  • LBPHacker

Instructions

Click on the elements with the mouse and draw in the field, like in MS Paint. The rest of the game is learning what happens next.

Controls

Key Action
TAB Switch between circle/square/triangle brush
Space Pause
Q / Esc Quit
Z Zoom
S Save stamp (use with Ctrl when STK2 is out)
L Load last saved stamp
K Stamp library
0-9 Set view mode
P / F2 Save screenshot as .png
E Bring up element search
F Pause and step to next frame
G Increase grid size
Shift + G Decrease grid size
H Show/Hide HUD
Ctrl + H / F1 Show intro text
D / F3 Debug mode (use with Ctrl when STK2 is out)
I Invert Pressure and Velocity map
W Cycle gravity modes (use with Ctrl when STK2 is out)
Y Cycle air modes
B Enter decoration editor menu
Ctrl + B Toggle decorations on/off
N Toggle Newtonian Gravity on/off
U Toggle ambient heat on/off
Ctrl + I Install powder toy, for loading saves/stamps by double clicking
Backtick Toggle console
= Reset pressure and velocity map
Ctrl + = Reset Electricity
[ Decrease brush size
] Increase brush size
Alt + [ Decrease brush size by 1
Alt + ] Increase brush size by 1
Ctrl + C/V/X Copy/Paste/Cut
Ctrl + Z Undo
Ctrl + Y Redo
Ctrl + Cursor drag Rectangle
Shift + Cursor drag Line
Middle click Sample element
Alt + Left click Sample element
Mouse scroll Change brush size
Ctrl + Mouse scroll Change vertical brush size
Shift + Mouse scroll Change horizontal brush size
Shift + R Horizontal mirror for selected area when pasting stamps
Ctrl + Shift + R Vertical mirror for selected area when pasting stamps
R Rotate selected area counterclockwise when pasting stamps

Command Line

Command Description Example
scale:SIZE Change window scale factor scale:2
kiosk Fullscreen mode
proxy:SERVER[:PORT] Proxy server to use proxy:wwwcache.lancs.ac.uk:8080
open FILE Opens the file as a stamp or game save
ddir DIRECTORY Directory used for saving stamps and preferences
ptsave:SAVEID Open online save, used by ptsave: URLs ptsave:2198