Skip to content

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.

License

cbeimers113/cyens-toy

 
 

Repository files navigation

Cyens Toy

Cyens Toy aims to enhance The Powder Toy by going deeper into science simulation. This mod implements phenomena from several branches of natural science which are feasible to simulate and fun to explore in a 2D particle simulator.


Features

  • Time Dilation
    • Particles tick slower in the presence of gravitational fields
    • Toggle with T
  • Local Gravity
    • Particles each exert a gravitational field proportional to their mass
    • Cycle through gravity modes with W
  • Compressible Gases
    • Gases will compress up to 5 layers under strong pressure and decompress when the pressure is low
    • Toggle with O
  • Hydrocarbons System
    • Hydrocarbons are formed from CRBN and H2 as methane
    • The number of carbons and hydrogens are determined by life and tmp respectively
    • Smaller hydrocarbons can bond together if hot enough
    • Hydrocarbons' phase transitions and combustion are determined by temperature, pressure and number of carbons
    • The hydrocarbons exist in either gas (GAS), liquid (OIL or MWAX) or solid (WAX) phase. OIL is the liquid phase of shorter molecules with 1-10 carbons, and MWAX is that of longer molecules with 11 - 60 carbons
    • Hydrocarbons decompose into smaller hydrocarbons over time, with larger molecules decomposing quicker
    • Hydrocarbon name displayed in HUD detailed mode (toggle with D)

For other features, see the changelog. To see changelogs from older versions, look at the changelog's commit history.


The Powder Toy - July 2021

==========================

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.

Build instructions

===========================================================================

See the Powder Toy Development Help section on the main page of the 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

  • Me4502

  • MaksProg

  • jacob1

  • mniip

  • LBPHacker

Libraries and other assets used

===========================================================================

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 |

| 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 |

| disable-network | Disables internet connections | |

| redirect | Redirects output to stdout.txt / stderr.txt | |

About

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 94.7%
  • C 4.3%
  • Meson 0.6%
  • Python 0.3%
  • Lua 0.1%
  • Roff 0.0%