SpaceChem

SpaceChem

View Stats:
SpaceChem > General Discussions > Topic Details
spagchem Jun 1, 2015 @ 10:31am
2015 SpaceChem Tournament
Welcome to the 2015 SpaceChem Tournament thread.

Rules

The tournament consists of 15 week long rounds starting at 18:00 UTC on Monday 22nd June 2015.

Submission of solutions and publication of the complete set of solutions is done via SpaceChemTool. It can be found here[drive.google.com] along with the puzzles and solutions. The Tournament Guide contains a section on using the tool.

Shortly after the start of each round I'll post the puzzle or puzzles for that round and shortly after the end of each round I'll post the results and solutions (video, report and save file containing all solutions)

For each puzzle I'll provide:
  • Background material which isn't needed to solve the puzzle
  • A puzzle file for the tool mentioned above
  • The puzzle score formula which solvers are aiming to minimize e.g. cycles, symbols, cycles + 100 * bonders used
  • The maximum tournament score available for this puzzle (rounds 1-12). More time consuming puzzle score more.
  • Special instructions
Where puzzle use random inputs, solutions must work with all possible input patterns - please play around with the input proportions to check your solution works with several different patterns. When random inputs are used the puzzle score formula will not include cycles.

Solutions should be sent to spagchem@gmail.com and should consist of:
  • Solution file from SpaceChemTool
  • An indication of whether you expect it to be your final solution (I intend to prepare as much as possible of the results before the deadline for each round)

To be a scoring solution:
  • It must be submitted before the deadline
  • It must not exploit clearly unintended behaviour of SpaceChem however it may make use of reasonable but undefined behaviour when the red and blue waldos issue commands that interact (see the Tournament Guide for more information)
  • For round 13 the solver must have a tournament score in the top 8
  • For round 14 the solver must have placed in the top 4 in round 13
  • For round 15 the solver must have placed in the top 2 in round 14
Interesting non-scoring solutions will be included in the results so please submit any you discover.

Solutions for rounds 1-12 give a tournament score to qualify for round 13: tournament score for puzzle = max tournament score for puzzle * min puzzle score / solver's puzzle score.

Current Summary

Rounds:
  1. Puzzles Really Easy results Growing Windows results
  2. Puzzles Air Supply results Unlikely results
  3. Puzzles Water results Low Power Polymers results
  4. Puzzles Combustion results Photosynthesis results
  5. Puzzle Modern Alchemy results
  6. Puzzles Spaghetti Hoops results Chalcogens results
  7. Puzzles Playing with Fire results Slices results
  8. Puzzle Handle with Care results
  9. Puzzle Gem Factory results
  10. Puzzle Separation results
  11. Puzzle Chemotherapy results
  12. Puzzles Chlorine and Ammonia results Break Up results
  13. Puzzle Slightly Acidic results
  14. Puzzle Hydrocarbons results
  15. Puzzle A Small Difference results

Standings after round 12:
Solver Points 1 2ofts 33.026 2 ToughThought 32.035 3 gggol 29.078 4 DariusOne 27.961 5 Leylite 26.522 6 Blueeyedrat 25.926 7 lolitsme 23.617 8 supersaiyanvegeta 23.026 9 rezoons 22.599 10 Ser 14.787 11 dexusnl 10.029 12 BobThePumpkin 8.504 13 Etammate 6.728 14 Binky 5.991 15 zerthimon 5.849 16 jfb1337 5.757 17 Rexkix 5.705 18 bartonarms 5.663 19 Eti33 4.311 20 ajh 3.564 21 TheKGBspy 3.444 22 cheetah 2.704 23 Carlbunk 2.319 24 Zio 2.292 25 Cranel 2.266 26 Palm 2.051 27 Iroks 1.102 28 12345ieee 0.979

Videos of solutions

Reference Material
Last edited by spagchem; Oct 5, 2015 @ 12:15pm
< >
Showing 1-15 of 531 comments
DariusOne Jun 1, 2015 @ 11:40am 
Sounds excellent. Just a mention of getting easy access to all the solutions has me hyped and the rules seem nice and simple, so yeah looking forward to it!
wekhter Jun 1, 2015 @ 2:01pm 
I'm excited to be here for the beginning of the tournament this time! :>
ToughThought Jun 1, 2015 @ 2:03pm 
Thank you for planning and managing this.

If all you need to know about Mac setup is the path, I can certainly help with that. The path to the folder (i.e., directory) where the SpaceChem save file is located is: ~/.local/share/Zachtronics Industries/SpaceChem/save/
Nice! Look forward to this, though I probably won't participate.

The path to the save file on Linux is same as on Mac.
TheVoiid Jun 1, 2015 @ 4:33pm 
Awesome!
spagchem Jun 2, 2015 @ 2:29pm 
Originally posted by ToughThought:
If all you need to know about Mac setup is the path, I can certainly help with that. The path to the folder (i.e., directory) where the SpaceChem save file is located is: ~/.local/share/Zachtronics Industries/SpaceChem/save/

I'd got the save path from cearn's pages on SpaceChem stuff. The one I know I'm missing is the steam SteamApps/common/SpaceChem/images/ path for patching reactor images with barriers etc.

There are a couple of potential issues with different line endings that could affect the exported solution files (they may currently require manually converting to native line endings) and reactor output annotations which are currently assumed to use the \n\r separator but may use the \n separator.

The tool (now linked in the initial post) is now available for initial testing - obviously with warnings about backing up any save files it is set to write to or using fresh profiles (my preferred option). It should be possible to import the puzzles for the round "test", export your solutions and import the solutions provided.
ToughThought Jun 2, 2015 @ 4:44pm 
On the Mac, there is an images folder with the following path: ~/Library/Application Support/Steam/SteamApps/common/SpaceChem/SpaceChem.app/Contents/Resources/images

I note that SpaceChem.app is a package, as opposed to a folder, if that makes any difference.

I also have a non-Steam copy of SpaceChem, which has its own images folder. It is found at: /Applications/SpaceChem.app/Contents/Resources/images

EDIT: I don't know why the Steam forum is interpreting my post as containing links. There are no links in my post.
Last edited by ToughThought; Jun 2, 2015 @ 4:51pm
ToughThought Jun 2, 2015 @ 6:11pm 
EDIT: If you are reading this thread, you can skip this post. It is obsolete.

Before trying the tool out, here is what I plan to do.

1. Back up everything.

2. De-select Steam Cloud synchronization for SpaceChem (by right-clicking SpaceChem in the Steam Library listing, selecting Properties, selecting the Updates tab, and unchecking the box). What I don't want is for the save files in the cloud to be overwritten by new ones, especially new ones that have no game progress other than in the new puzzles.

3. Remove the entire SpaceChem folder from the local Zachtronics Industries folder and move it elsewhere. (The SpaceChem folder, in addition to the save files and other apparent things, contains a hidden .locals file that keeps track of the correspondence between profiles and save files. It also remembers keys, so I will need to reenter my key if I want to use a non-Steam copy of SpaceChem.)

4. Launch SpaceChem and create a profile. Then quit SpaceChem. There should be a new SpaceChem folder containing 000.user as the save file.

5. Put copies of all my save files other than 000.user back into the active save folder. Then launch SpaceChem again, delete the profile and create two new profiles (one for solving and saving solutions, the other for importing solutions). These two profiles should now be associated with save files whose names (XXX.user) are different from all the previous ones. Quit SpaceChem again.

6. Finally, remove the just-deleted 000.user and replace it with a copy of my old 000.user file. If this works as I intend, the old and the new save files will all continue to be preserved with different file names, so they will not interfere with each other even if Steam Cloud synchronization should become active.

To return the game to the condition it was in before, I'll just swap the original SpaceChem folder back in and re-select Steam Cloud synchroniztion.

Spagchem, am I forgetting something?
Last edited by ToughThought; Jun 6, 2015 @ 8:53pm
spagchem Jun 3, 2015 @ 12:42am 
Originally posted by ToughThought:
Before trying the tool out, here is what I plan to do.

<lots of stuff>

This seems a little complicated and your comments about the .locals file make me think there is a better process that involves editing the User table in .locals that avoids the need to touch current .user files. I'll try it out tonight.
cearn Jun 3, 2015 @ 10:00am 
Three notes about the tool:
  • On Windows, AppData need not be on the C drive. You should be able to get the real directory with %APPDATA%.
  • I see you use Split() to get the different variables on a line. I have a feeling this could go wrong vspectacularly if there's a puzzle with a comma in it somewhere, or even if you add whitespace somewhere manually. I'm not sure how difficult it would be, but maye consider using something like a CSV reader/writer for the puzzle format? The format is mostly CSV already, but you get the benefit of having properly escaped strings.
  • Look into SQLite transactions. With transactions, you can issue commands and they will only be committed at the end when you've checked everything, or rollback on an error. This will make the tool faster and safer.

Other than that, nice work :D


Last edited by cearn; Jun 3, 2015 @ 10:06am
Ksulu Jun 3, 2015 @ 1:38pm 
Awesome!
I'll be sure to try to enter this time around. Quick question, will the public be allowed to submit puzzles like we were last year?
spagchem Jun 3, 2015 @ 2:04pm 
version 0.1 of SpaceChemTool is now on my shared directory[drive.google.com]. It should work better with Steam synchronization and require less setup.

It now uses special SpaceChem profiles (default TournamentPlay and TournamentImport) that temporarily hide 2 of the 3 SpaceChem profiles.

The new process is:
1. Backup .locals file
2. If you've used TournamentPlay or TournamentImport as SpaceChem profile names then change PlaySave/ImportSave variables in config.txt
3. use SpaceChemTool play/import
4. start SpaceChem, switch to TournamentPlay/TournamentImport profile and view/solve tournament puzzles
5. when appropriate use SpaceChemTool export
6. use SpaceChemTool removeusers to remove the tournament users from SpaceChem
spagchem Jun 3, 2015 @ 2:08pm 
I've noticed that Infinifactory Update 3 is due out shortly before the start date for the tournament - are enough of the tournament participants going to be playing Infinifactory that we should consider moving the start date back 2 weeks?
spagchem Jun 3, 2015 @ 2:14pm 
Originally posted by Ksulu:
Awesome!
I'll be sure to try to enter this time around. Quick question, will the public be allowed to submit puzzles like we were last year?

No - this tournament will be using puzzles from my collection
spagchem Jun 3, 2015 @ 2:20pm 
Originally posted by cearn:
Three notes about the tool:
  • On Windows, AppData need not be on the C drive. You should be able to get the real directory with %APPDATA%.
  • I see you use Split() to get the different variables on a line. I have a feeling this could go wrong vspectacularly if there's a puzzle with a comma in it somewhere, or even if you add whitespace somewhere manually. I'm not sure how difficult it would be, but maye consider using something like a CSV reader/writer for the puzzle format? The format is mostly CSV already, but you get the benefit of having properly escaped strings.
  • Look into SQLite transactions. With transactions, you can issue commands and they will only be committed at the end when you've checked everything, or rollback on an error. This will make the tool faster and safer.

Other than that, nice work :D

Thanks - I'll look at those changes in the next couple of updates
< >
Showing 1-15 of 531 comments
Per page: 15 30 50

SpaceChem > General Discussions > Topic Details