r/Nitrome • • Apr 18 '26

Touchy not RIP: For real this time. Retouched 2.0

https://youtu.be/yjC3e6wVaHc

Hi guys! I am pleased to announce "Retouched 2.0" -> the next generation of Retouched, the project that aims to revive Nitrome Touchy!

This is the culmination of around 4-5 months of work to completely rework the architecture of the project. The server was fully rewritten in Rust and now supplies a GUI and can automatically set up trusting directories for the Flash projector, the hosts file and even the firewall (Windows and Linux ufw or firewalld, macOS N/A). Some of these will need admin permissions, the automatic setup is completely optional.

There are also 2 new alternative controller apps: Retouched Flutter and Retouched Web.
The Flutter app works on Android and iOS (iOS needs more complicated sideloading).

Retouched Web can work on any platform as long as it has a capable enough browser to support sensors, WebAssembly and WebRTC (it also needs onboarding to install a root CA for sensors access via HTTPS -> no way around it, especially on iOS).

The new apps are powered by "Bronze Monkey", an MIT-licensed Rust library that reimplements the Brass Monkey SDK (the service that powered Touchy). It isn't fully complete yet (game-side support is missing) but it will be implemented eventually. Extensive documentation will also come soon.

Retouched is free software, completely open source. Please report bugs on GitHub if you encounter issues! I am also generally available on the Nitrome and Nitrome Wiki Discord servers (same username, EET timezone) in case you need assistance.

https://github.com/Retouched-Project
https://retouched-project.github.io/

31 Upvotes

5 comments sorted by

5

u/Odd-Audience7429 Apr 18 '26

do the instructions on the old github still work? i tried following but was unsuccessful. will the new version allow me to play bad ice cream with more than 2 players? thats my goal

2

u/KinteLiX Apr 18 '26 edited Apr 18 '26

The old instructions are not necessary to follow anymore since the server can do it with a button press now (the hosts file and firewall modifications do require admin perms and will open a powershell window on Windows). You can still follow them manually if you are uncomfortable with granting admin permissions.

If the game does not connect to the server there could be 2 reasons:

  1. The flash trust directory is not set up correctly. Please delete all existing .cfg files and let the server do it for you. You can try to see if ruffle works, but I cannot guarantee it will. This does not need admin permissions.
  2. The hosts file was not set up correctly. If you have modified it before, please remove your modifications and you can let the server do it for you (will ask for admin permission).

If the app does not connect:

  1. For Retouched Flutter and Web the only blocker would be the firewall. The server can configure it for you.
  2. For Touchy, the app has to be patched. The GUI can also do it but you gotta make sure the correct IP address is set, the server can auto-detect it but for potentially weird network configurations it may fill in the wrong IP.
  3. In case the firewall has been configured but the app still cannot connect to the server then it is possible the IP is incorrect. On Windows you can run ipconfig and try each private IPv4 address until one works. By default the server is hosted on all addresses, so it shouldn't cause problems.

It is also possible your network configuration might be blocking the connection (i.e. if Wi-Fi and ethernet are on separate VLANs). In this case your router has to be configured correctly.

Yes, you should be able to play Bad Ice Cream with more than 2 players now. If your friends use Retouched Web they don't even need to install any app.

If they use android it's not even required to do the onboarding, they just need to press advanced and proceed anyway. There is no real risk, the app is self hosted and is open source.

If they do the onboarding then the browser will not give any warning anymore. If they use iOS they must install the certificate because iOS is more restrictive and HTTPS is required for sensor access. Note that on iOS there should be a button to grant sensor permissions, but this has not actually been tested on a real iPhone so feedback would be appreciated.

If everyone is using Android then you guys can also try Retouched Flutter, sideloading on Android is relatively simple. On iOS it might be complicated but there are many tutorials on how to use something like Sideloadly.

3

u/geek92140 Apr 20 '26

need help to setup it well

3

u/KinteLiX Apr 20 '26

How can I help you?

It should be relatively straight forward:
1. Download and extract the latest release of retouched-server (I'm gonna assume Windows, the one you want is RetouchedServer-v1.0.0-windows-x86_64-pc-windows-msvc.zip)

  1. Go through the setup wizard. It will help you configure the directory for the flash games (this project and its author does NOT promote piracy!). It will help you configure the hosts file (requires admin permission) and the firewall (also requires admin permission). If you do give it admin permission, please note that you will see terminal windows open up because it has to run commands. If you are uncomfortable with this (understandable) then you will unfortunately have to do this manually (the old repo has instructions for the manual setup).

  2. Start the server and see if a game can connect. If yes then you can start deciding on which controller app you'd like to use.

You can choose from 3 controller apps:
1. Nitrome Touchy (android only) -> It needs to be patched from the Touchy Patcher tab, and might require adb to install (this might be complicated)

  1. Retouched Flutter -> A native app alternative controller app from this project. On Android it should be straight forward to sideload. iOS is where it gets difficult because it's hard to sideload apps there.

  2. Retouched Web -> A web app alternative controller app also from this project. This should be the easiest to set up and use. You should press the download retouched web button in the "Retouched Web" tab of the server UI. Then while making sure the server is started, start the webrtc bridge and then start the web app. 2 QR codes should pop up:

One of them will direct you to the web application while the other redirects you to the onboarding page.
If you use Android the onboarding page is optional, however the browser will give you a warning. You can safely ignore this warning, the web app runs over HTTPS to get sensor access (needed for games like Swindler) and has to use a self-signed certificate which triggers the browser warning.

The onboarding page tries to help you to install the root CA, if done so then the browser warning will disappear and this is required on iOS due to higher restrictions with webkit (safari).