this post was submitted on 27 Jul 2023
11 points (100.0% liked)

Pixel Dungeon

1481 readers
64 users here now

This community is a place to talk strategies, tell stories, or discuss anything related to Pixel Dungeon or its many versions.

Rules:

We have a few title tags for standout posts:

Sister Communities:

founded 1 year ago
MODERATORS
 

setup

Older versions might only offer the .jar file as a download.

downloading the seedfinder

  • make sure Java is installed on your device
  • if you want to use the multithreading script, nodejs must also be installed
  • (optional) Visual studio code to make the Use of the seedfinder more convenient

Extract the zip archive (or place the jar file in an empty folder). This Folder will be the working directory for the seedfinder.

In order to use the seedfinder, commands must be executed in the directory of the seedfinder. Open a command prompt as follows:

  • vscode installed: open the folder in vscode and launch an integrated terminal
  • windows: hold shift and right-click your folder. choose open a powershell window here.
  • linux: linux users know how to open a termial
  • apple: please google how to open a terminal on your OS

Commands can be executed by typing them in this window and pressing Enter. You can test your Java installation by running the following command:

java -version

scouting seeds

Search items for a known dungeon seed by running the following command(s):

seeded runs

java -jar seed-finder.jar <floors> <seed>

where <floors> is the number of floors to scan and <seed> is the seed to scan.

example: java -jar seed-finder.jar 4 SEE-EEE-EED

daily runs

java -jar seed-finder.jar <floors> daily<offset>

where <floors> is the number of floors to scan and <offset> is an integer preceded by + or -.

examples:

  • todays daily: java -jar seed-finder.jar 24 daily
  • yesterdays daily: java -jar seed-finder.jar 24 daily-1
  • tomorrows daily: java -jar seed-finder.jar 24 daily+1
  • last weeks daily: java -jar seed-finder.jar 24 daily-7

finding seeds

Using the seedfinder to generate specific seeds:

  • create a new text file in your directoy (in this example called seeditems.txt). It will contain a list of items the seedfinder should search for.
  • edit your item textfile and put in the items you are looking for. In this example I am looking for a Ring of arcana +1 and any Item with the overgrowth curse. Make a new line for every item. Make sure that every item is spelled correctly (for example assassin's blade instead of assassins blade).

Open your terminal and start the seedfinder using the following command:

java -jar seed-finder.jar <floors> <mode> <item file name> [output file name]

where <floors> is the number of floors to scan, and <mode> is either:

  • any (find seeds that contain any one of the specified items)
  • all (find seeds that contain all of the specified items).

When seeds are found they will be saved to out.txt or, if specified, your custom output file. Depending on the complexity of your item list, seeds will be found quickly, slowly or be near impossible to generate.

(old picture, seeds will probably not work on new SHPD versions)

configuration

Many features such as challenges and seed generation setting can be changed by editing the seedfinder.cfg file.

Some challenges might change level generation (most notably forbidden runes), therefore i provide options to turn them on or off.

the multithreading script a.k.a. turbo mode

Using the script to start and control multiple seedfinders simultaneously will greatly increase generation speed, especially for beefy computers. Usage is similar to the seed finding mode. Syntax:

node . <floor> <mode> <seed item file> [number of processes]

This will start a number of seedfinders equal the provided argument (4 if left blank). Make sure that sequential mode is disabled in the config file, there would be no point using it with multiple seedfinders. Don't overdo it with the number of seedfinders, since the program will take all the resources it can.

If you have questions, suggestions or find any bugs please let me know.

you are viewing a single comment's thread
view the rest of the comments
[–] 00_Evan 6 points 1 year ago (2 children)

While as a developer I'm a little uncomfortable about players using this to cheat, this is undeniably a very impressive project.

Please consider adding a [DEV] or [OC] tag to the title of your post, this could count as either.

[–] MrRedstoner 2 points 1 year ago (1 children)

For me this is the sort of tool I'd want for speedrun planning or similar, basically a set-seed run where the goal is to play with some custom goal of my own (like trying a gear combo)

[–] 00_Evan 3 points 1 year ago

Absolutely, I'm purposefully being a bit vague here but I don't mean that I consider it to be cheating to find a certain seed and input it to get a certain run, that's the whole point of the seed system.

[–] elektrochecker 1 points 1 year ago (1 children)

understandably so, if daily runs were to be reinforced or a global leaderboard or similar were to be added to the game I would be happy to discontinue the support for daily runs (which is the only exploitable feature my seedfinder has over already existing ones).

[–] 00_Evan 3 points 1 year ago

Things like seedfinder, or just good old fashioned memory editing, is why Shattered is never going to have a public leaderboard for dailies. Even if I do add online scores, I would obfuscate the global leaderboard (e.g. player would just know they got into the top X%) so that cheaters would have a minimized impact.