Code Monkey home page Code Monkey logo

spacechempatch's People

Contributors

12345ieee avatar csaboka avatar jbzdarkid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

12345ieee

spacechempatch's Issues

Remove "Return to assignment selection screen" question

When the player clicks "Exit" in a puzzle while on any cycle greater than 0, or when the player hits the Esc key, the game throws up a question: "Return to assignment selection screen? Your solution will be automatically saved." I have always found that statement and question a little confusing as well as useless. It suggests there could be situations where your solution is not saved, and as far as I've ever seen, solutions are always saved regardless. Better just to remove that question.

Show reactor priority

Some advanced production puzzles rely on the processing order of reactors, so it would be nice to see it. Having them in the tooltip like we do for bonders should be doable.

Allow bonds for the unknown element in output note editors.

This would allow people to better express themselves when they only know the bond structure of an output and not the exact elements.

If it makes things easier, we should just pretend that element ? has infinite bonds in all molecule editors. This element isn't available when editing puzzle inputs and outputs, and puzzle authors are already hacking impossible things into their puzzles manually anyway.

Persist preferences

Save the selected preferences (executable path and selected patches) somewhere, so they don't need to be entered again when patching again. Look at what options we have, keeping in mind that it should work seamlessly on Linux as well.

OS-independent RNG

SpaceChem's RNG is OS-dependent. It'd be nice to make it OS-independent, by allowing all OSs to use the same RNG algorithms, however that might be done.

Change simulation speeds

Adding new speeds, possibly specified by the player. We could also add "infinite" speed where the simulation runs as fast as your computer can handle.

random inputs reset to even amounts when edited

Random inputs need not have even odds. It does not have to be 50-50 for two inputs, nor 33-33-33 for three inputs. The problem is, for puzzles that have random inputs with uneven odds, the slider resets to even odds when the players selects "edit input" alpha, beta, or R (for production puzzles). The sliders should not change the odds, should not reset. The odds should change only when the player moves the sliders.

Patching doesn't always handle generic methods properly

The only example we know about right now is Optional.Transform. It's not clear what exactly triggers it, but when it happens, the proper replacement isn't found for the method, and instead a reference to the name of the decoy is emitted.

What's clear is that when it happens, the full name of the method declaration doesn't match the full name of the call. The latter has references to the generic method arguments (!!0, !!1 etc.).

Multiple Non-Bonder Glyphs

Alright, here's a novel gameplay idea that might not be impossible to implement:

Multiple glyphs for sensing, fusing, or splitting. The game always gives us one, but it would be interesting to have the capacity. Should work the same way bonders do, just activate them all at once.

Swapping is also an idea, but that one can't be so "easily" implemented. Maybe a cycling over the available glyphs? It'd require the code for these guys to be known.

Add a reactor right click menu and put there a button to swap waldo colors

The game has no right click menu when not hovering over a symbol, so we can put there our own to do global actions on symbol groups, like:

  • color swapping
  • mirror vertically
  • reset reactor
  • save to toolbox for researches (how to load it back remains to be seen)

That menu would also be a good place to add other level-related commands like the tourney logic of #24 .

Relationship with "SpaceChem community update (v1013)"?

It looks like a lot of your (@csaboka and @12345ieee's) work got incorporated into SpaceChem community update (v1013). (I mean, they credited you and everything!)

So I'm wondering if there's anything they left out, and if this makes it harder to use spacechempatch (to get whatever they left out, or to make additional changes).

[I'm also wondering how the update changes the exact rules, but that's presumably more a problem for r/spacechem, since they own https://www.reddit.com/r/spacechem/wiki/gamemechanics and all.]

NullRefrenceException when running off the command line

C:\Users\localhost\Downloads>cd SpacechemPatch

C:\Users\localhost\Downloads\SpacechemPatch>SpacechemPatch.exe
Can't find game executable SpaceChem.exe ! Please execute this program from the SpaceChem game folder, or give the path of the game folder as a command line argument. Exiting...

C:\Users\localhost\Downloads\SpacechemPatch>SpacechemPatch.exe "C:\Program Files (x86)\Steam\steamapps\common\SpaceChem"
This program is experimental and was only tested with the Steam version of the game. There is NO WARRANTY on it. Please remember that you can always restore the original game files by verifying game integrity in Steam.
Do you want to continue? [y/N]
Y
Making backup of SpaceChem.exe
Patching...

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at SpacechemPatch.Program.CollectReplacementsForTypes(IEnumerable`1 typeDefinitions, TypeFinder typeFinder, Dictionary`2 typeReplacements, Dictionary`2 methodReplacements, Dictionary`2 fieldReplacements)
   at SpacechemPatch.Program.CollectReplacements(ModuleDefinition spacechemAssembly, ModuleDefinition ownAssembly, Dictionary`2& typeReplacements, Dictionary`2& methodReplacements, Dictionary`2& fieldReplacements)
   at SpacechemPatch.Program.Main(String[] args)

Support the GOG version of the game

The GOG version has different obfuscated symbols, but the code itself is hopefully close enough to be covered by the same overall patch code.

waldo direction indicator

Would like some indication of which way a waldo is moving when the simulation is paused. All the time wouldn't hurt either. As it is, when paused, not obvious which way the waldo is going on a line it travels in both directions.

For instance, add a tail to the trailing side of the waldo. Not really room for an arrow on the leading edge, but maybe could do a color brightening, like a heat shield on a spacecraft reentering the atmosphere. Or, make the line it just followed wider and/or brighter.

Youtube upload

The YT upload uses an old API that doesn't work anymore.

Either disallow the user from trying an upload (gray out or remove the button) or get it to work again.

Allow invalid bonds in the ResNet input/output editors

The puzzle format is already reverse-engineered and invalid inputs and outputs can be hacked into the game even though the UI rejects them. We could make this easier by just disabling all bond checking in molecule editors, so you could create the same invalid stuff in the game itself.

Show stats for defense missions

There is randomness involved and they depend on player input, but there are people who would still like to see and compare their defense mission stats.

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.