Code Monkey home page Code Monkey logo

tptmp's Introduction

The Powder Toy - April 2024

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
  • Victoria 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
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
Ctrl + E Cycle edge 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
F11 Toggle fullscreen

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
disable-bluescreen Disable bluescreen handler
redirect Redirects output to stdout.txt / stderr.txt
cafile:CAFILE Set certificate bundle path cafile:/etc/ssl/certs/ca-certificates.crt
capath:CAPATH Set certificate directory path capath:/etc/ssl/certs

tptmp's People

Contributors

jacob1 avatar lbphacker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tptmp's Issues

Server&TPT

Jacob, can you update starcatcher.us to new TPT version? I can't join

ctrl-x

Our method of deleting an area uses the mouse-box type which clears one layer of particles, bad for multi-layer stamp syncs.

temporary stamps not deleted

When using TPTMP, you get a lot of "corrupted" stamps in the stamp browser, because it creates stamps and then deletes the file without deleting the stamp.

limitation of scale

Limited scale of mouse for preventing users to literally crush world and tptmp, may be automatically applied to lobby and setting for private servers.

nil - sell

/home/ancient/tpt/tptmp.lua:1337: attempt to perform arithmetic on field 'sell' (a nil value)

Adding Copy and Paste

I would appreciate it if you added the ability to copy and paste things in the TPTMP window. This is an issue because sometimes you have a long piece of text, say a link or something and you need to type it in letter by letter. And when you finish, the other person also has to type it in letter by letter. It seems like too much trouble just to share a piece of text or a link.

New command

Command: /snames
Accepts no arguments. Shows nicknames of all users in all rooms (without telling room names)

Rename lobby to lobby instead of null

I know that null in Lua and a bunch of other languages means undefined but like I can't remember how many times I tried to return to the lobby thinking the lobby's room name is "lobby". Imagine you have just installed TPT and went into a room with someone else. But the person in the room had to leave for whatever reason and now you are stuck in a random room out of the limitless possibilities (I did the calculations and the room name is one out of infinite rooms since that name can be however long and the room name does not have to obey proper spelling.). So naturally, you type in "lobby". That should bring you to the lobby, right? Wrong. Now you're in a room and no one can join to help you out. You can rename the lobby to "lobby" or at least add a /lobby command.

New Hotkey

I would like to be able to open the chat and focus the textbox by pressing a single key. The ESC key allows you to unfocus the chat and closes the window so why not have one to do the opposite. I am thinking about the key SHIFT + ESC but your choice.

Error on startup

Upon starting the game, the following error is displayed:
multiplayer.lua2006: bad argument #2 to 'unregister' (function expected, got nil)

This is a persistent issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.