Official Game Feedback

  • jacob1
    3rd July Developer 2 Permalink
    A new beta has been released! You can download it from the Download page. Here is the full changelog:

    • New element: SLCN (silicon). Sparkles, conducts electricity like GOLD, and has many reactions while in molten form
    • New element: PTNM (platinum). A catalyst in many reactions
    • New element: ROCK (rock, a solid). Melts into a lot of different materials at higher pressures, and is eroded by WATR
    • New element: LITH (lithium). Reactive element that explodes on contact with water
    • New element: VSNS (velocity sensor). Similar to LSNS
    • Add CUST (custom game of life). Custom GoL types can now be created with any rulestring and colors
    • Add reaction to produce BCOL: WOOD at high temperature and low pressure
    • Add Latin-1, Latin Extended-A, Cyrillic, and Hangul characters to the font. Add Composition support
    • Non-ascii characters will be deleted by the website inside comments, save titles, and signs; and replaced with question marks in save descriptions. This will be fixed on the website in a future release.
    • By default, all data and settings are now stored in an OS-specific user data directory. This is "%APPDATA%/The Powder Toy" on Windows and "~/.local/share/The Powder Toy" on Linux
    • Add button in options menu to migrate data to the shared directory
    • Windows: Add shortcut to start menu when installing. Press ctrl+i to reinstall TPT and add the shortcut
    • 64-bit Windows builds are now available, users on 32-bit Windows will still remain on the 32-bit version unless tpt is manually redownloaded from the website
    • 32-bit Linux builds were dropped. If you still need this, you can compile from source
    • Ctrl+u shortcut resets ambient heat
    • Ctrl+a shortcut to select/deselect all saves in save browser
    • Save ambient air temperature and make it configurable in options menu
    • Add ren.showBrush Lua api to hide the brush
    • Add Lua functions to interact with composition: interface.grabTextInput, interface.dropTextInput, interface.textInputRect. Also, new "textediting" event
    • Redo and add type parameter to sim.neighbors

    • Make GLOW element glow under pressure
    • BRAY .life can be customized when firing from ARAY by setting ARAY's .life
    • Remove .life delay feature of ARAY/DRAY as this was historically not possible to use
    • SPRK / METL no longer deleted when inside detector wall, and solid elements can no longer be drawn on detector wall
    • Stasis walls now keep dying GOL cells in stasis
    • LSNS and HSWC can now interact with energy particles
    • Show NONE in {ctype} signs instead of 0 when an element has no ctype
    • Take undo snapshot when using ctrl+x
    • Improve stack pasting behavior
    • Prioritize favorited elements in element search
    • Remove gaps between lines of selected text in multiline textboxes
    • Make username case-insensitive when logging in
    • Replace luasocket with a new socket API backed by libcurl
    • Rewrite tpt.set_wallmap, it can now set FAN wall velocity
    • Return version (aka history index) from sim.getSaveID
    • Make sim.clearSim clear active save information too
    • Return a reason for failure from sim.loadStamp
    • When framerate is uncapped or higher than your monitor's refresh rate, frame drawing will now be skipped. This can be controlled via tpt.setdrawcap
    • Write powder.pref immediately every time a setting is changed
    • Move IRC channel from to in the intro text

    • Fix LSNS being unable to deserialize in all directions at once
    • Fix single-pixel PIPE / PPIP breaking on rotation
    • Fix QRTZ/GLAS/TUNG breaking on load (again), for cases when pressure is negative
    • Fix air being able to go through walls for a frame after undoing
    • Fix GoL sometimes not working for a short time after undo
    • Fix infinite spark loops in photoelectric effect
    • Fix line tool deletion bug when WIND is selected (id:2554353)
    • Fix a bug which caused a line of particles to sometimes be drawn between the cursor and the top left corner at startup
    • Fix typo in "change resolution" option description
    • Fix text glitch in console when writing multiple spaces in a row
    • Fix many crashes triggerable by Lua API functions
    • Lua: Make custom can_move settings persistent
    • Fix 612 SSL errors experienced by some Windows users when using online features
    • Fix icons in Windows Explorer on .cps and .stm files (requires reinstall)

    Do note, this is a beta, so saves containing new elements and features cannot be published. Please take care not to update your saves in the beta, which may make them incompatible with the release version.

    To download the update, either go to the download page, or go to your profile settings and check "Enroll in beta updates".

    Note on shared data directory:
    Starting with 96.0, by default TPT will put all it's data - powder.pref, stamps, local saves, and scripts, in the shared data directory.
    Windows: "%APPDATA%/The Powder Toy"
    Linux: "~/.local/share/The Powder Toy"
    Mac: unchanged (it used the shared directory before)
    Old installations will not be changed, it will still put all it's files in the same folder that the powder toy executable is in. If you delete powder.pref, it will start using the shared directory instead. Several mods (Cracker1000's mod, jacob1's mod, TPT-Ultimata) will also use the shared data directory, meaning your stamps, saves, and logins are synced across all instances of TPT.
    If you want to migrate to the shared directory, use the "Migrate to shared data directory" button in settings

    Note on 64-bit Windows:
    64-bit Windows builds are now available. There is no difference between the 32-bit and 64-bit versions, upgrading will not make TPT faster. The only change is that if TPT leaks memory, it can now use more than 2GB of RAM instead of crashing with "bad allocation".
    The default for Windows will now be the 64-bit Windows version. on the Download page will link to this. The 32-bit Windows version will be provided to existing users who update from an older version of TPT.

    Note on GitHub Actions:
    TPT is now compiled via GitHub Actions. In fact, you can see the compilation and release process here (ignore the failure). This is a new process built by @LBPHacker that uses meson and GitHub to more easily compile and deliver updates. It is a large improvement over the release process we had before, as I don't have to maintain two separate build servers. Integrating this fully took a while, this is the main reason for 96.0's long delay. But it is all set now, and future releases can be done any time with the click of a few buttons.
    Along with this, Windows 64-bit support was added (see above), and Linux 32-bit support was dropped. 32-bit Linux had a low percentage of users. If there is demand, it could be added back, but this seems unlikely considering the amount of usage I see in the official game and mods that have 32-bit Linux versions. TPT is still easy to compile for 32-bit Linux for those who need it.
    Edited 7 times by jacob1. Last: 3rd July
  • Redstonenerd
    4th July Member 0 Permalink

    Can you release betas for android too please.

    4th July Member 0 Permalink

    @redstonenerd yea Jacob1 you should

  • jacob1
    4th July Developer 1 Permalink
    I may compile and post an apk later, but I've never used Android's beta testing tools.

    If you want to "test" the Android port, it is actually a modified version of my mod. I updated it 2 weeks ago and it hasn't had any major issues reported, so I expect Android will be the same. I have not yet compiled and tried running the Android version yet though. There are no Android-specific changes in this update, besides a crash fix for the options menu.

    But for now, I mostly want feedback on the PC beta. Betas are meant for testing, not for general purpose usage.
    Edited once by jacob1. Last: 4th July
  • zaicev9797
    4th July Member 0 Permalink

    I think it is important to note that frame rate limiting can help to improve simulation speed

  • jacob1
    4th July Developer 0 Permalink
    @zaicev9797 (View Post)
    I think you mean draw rate limiting. But yes, it can, if you uncap the fps. At 60fps you won't notice any difference, but uncapped, it allows the framerate to go a little higher.

    I have a good GPU, but when I uncap my framerate and pause the game on an empty screen, my GPU usage was extremely high. With the draw cap fix, it wastes less GPU (to the point where GPU usage isn't noticeable) and I get a little more uncapped FPS. This fix really only applies to this situation, if there were anything on the screen you would be fine.

    Note that this change isn't proper vsync, so it might cause random frame drops, I'm unsure about that.
  • zaicev9797
    4th July Member 0 Permalink

    umm, not only for empty screen situation actually. It may help to get 40% - 100% boost of simulation speed if caping drawing rate to 10 drawings per second (in a comparison with completely disabled drawing rate caping as it was in TPT 0.95). May be usefull for  testing computers builds. 

    Edited 5 times by zaicev9797. Last: 4th July
  • jacob1
    4th July Developer 0 Permalink
    @zaicev9797 (View Post)
    ok yes, that is also true. Forgot about the Lua function.

    You can do something like tpt.setdrawcap(10) and it will skip all rendering (both elements and SDL render to the screen). This could increase FPS in some cases. I wouldn't recommend users do this often, since it makes the game annoying to play, but it gives a boost in some cases.
  • zaicev9797
    4th July Member 0 Permalink

    no draw cap (tpt 0.95)

    no draw cape


    60 drawings per second

    60 drawings per second


    10 drawings per second

    10 drawings per second


    Sorry, I have no idea how to place screenshots under spoiler

    Edited 2 times by zaicev9797. Last: 4th July
  • InactiveUser123
    4th July Member 0 Permalink

    Is it on android

Locked by jacob1: new thread -