Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Bug Squash
Mar 18, 2009

Beartaco posted:

From the Exapunks level where you have to rotate a satellite to a certain angle, 1 degree at a time either clockwise or anticlockwise. I couldn't be bothered writing an if statement for "if target - angle > 180 then etc" so it just takes the loooong way around half of the time. Frankly I expected the playerbase to be as lazy as me with this one, I mean, it rotates the correct way 50% of the time! Boy was I wrong.



When you get a score like that, the last level where you hack your own brain should be half the usual size.
:stare:

Adbot
ADBOT LOVES YOU

Tulip
Jun 3, 2008

yeah thats pretty good


Beartaco posted:

From the Exapunks level where you have to rotate a satellite to a certain angle, 1 degree at a time either clockwise or anticlockwise. I couldn't be bothered writing an if statement for "if target - angle > 180 then etc" so it just takes the loooong way around half of the time. Frankly I expected the playerbase to be as lazy as me with this one, I mean, it rotates the correct way 50% of the time! Boy was I wrong.



lmao feels good when that happens

I'm nowhere near that far (I'm quite bad at the more "direct" zachtronics games - my opus magnum skills are ok while shenzhen and exapunks feel insurmountable to me) but for the hand hacking level my time is like 3x the average and I'm going "I can do better" but I don't actually know what to do cuz when you're at 3x that means you're missing a fundamental component

Mystic Mongol
Jan 5, 2007

Your life's been thrown in disarray already--I wouldn't want you to feel pressured.


College Slice

Tulip posted:

lmao feels good when that happens

I'm nowhere near that far (I'm quite bad at the more "direct" zachtronics games - my opus magnum skills are ok while shenzhen and exapunks feel insurmountable to me) but for the hand hacking level my time is like 3x the average and I'm going "I can do better" but I don't actually know what to do cuz when you're at 3x that means you're missing a fundamental component

Vaguely remembering without actually opening the program, you want to run three operations in parallel across three sets of tiny robots, for speed.

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


dangit, zachtronics games :argh:

i'm pleased with this score but perfectionist-brain feels like there's room to optimize this more; if so, either it needs an entirely different algo or i just can't see it

GuavaMoment
Aug 13, 2006

YouTube dude

Ciaphas posted:

dangit, zachtronics games :argh:

i'm pleased with this score but perfectionist-brain feels like there's room to optimize this more; if so, either it needs an entirely different algo or i just can't see it

Can I direct you over here? https://forums.somethingawful.com/showthread.php?threadid=3986319
Add me on steam too, you need more exafriends.

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


eyy, thanks, haven't checked the LP board in a while. sent a friend invite your way :cheers:

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


now that i read that post, the ways to squeeze out more cycles make me unhappy as a software dev

i realize the game isn't a software dev sim but the assumptions that the tape data sections are all 126+ in length and never include 0 - or indeed any value <1000 - don't sit well with me, even if it works for the purposes of the game. sure they're true in the test data, and with some annoying eyeballing (or a fact-finding "solution") i could have potentially identified and verified that... but it says "Test Data" for what i thought was a reason, that that's not necessarily the real data used in the story once the tests pass. (lord knows it never is at my job :argh:)

yes i tend to overthink things why do you ask

Ciaphas fucked around with this message at 22:03 on Mar 5, 2022

Dr. Stab
Sep 12, 2010
👨🏻‍⚕️🩺🔪🙀😱🙀
The correct way to make code is to narrowly fit the test cases. If they wanted you to cover all cases, they should have written a test for every possible case.

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


i get that now, yeah :v: that said i'll probably end up :effort:ing the process of sussing out those kind of unstated constraints, unless the game starts to actually require it

i like optimal but i am also very very lazy lol

GuavaMoment
Aug 13, 2006

YouTube dude

Ciaphas posted:

i get that now, yeah :v: that said i'll probably end up :effort:ing the process of sussing out those kind of unstated constraints, unless the game starts to actually require it

Without spoiling things, it does require this in a particular Shenzhen I/O level and it's the best thing ever.

Jeffrey of YOSPOS
Dec 22, 2005

GET LOSE, YOU CAN'T COMPARE WITH MY POWERS
Shenzhen IO optimization is full of stuff like that. Oh? You wanted the circuit to play the same song more than once? Too bad, ain't in the spec.

Rynoto
Apr 27, 2009
It doesn't help that I'm fat as fuck, so my face shouldn't be shown off in the first place.

GuavaMoment posted:

Without spoiling things, it does require this in a particular Shenzhen I/O level and it's the best thing ever.

Shenzen I/O broke my brain in the last levels. Exapunks' puzzles at least always felt achievable in a way where you aren't bending yourself into pretzels.

Guy Axlerod
Dec 29, 2008
I got inspired to try again at some of the post game exapunks levels. I finished one, and then figured out a few optimizations right after. I have three more available and they just look painful right now.

Tulip
Jun 3, 2008

yeah thats pretty good


So exapunks specific question, my operation keeps failing and I think I'm failing to understand test functions, potential spoilers for the library level


Basic structure of my solution is to use REPL to create a novel exa for each file. I'm largely satisfied with the code I've got for finding the file, that's not an issue. Once I've found the file I run into trouble. Basically I'm using MODE and REPL to make yet another exa inside the node with the file, and then using the M register to rapidly copy the contents of the desired file into a new file. This again largely works. It's getting out that is killing me.

My first solution was to test for EOF, and when true the exa holding the original file would use KILL, grab the new file, and extract. This works...up until test 8, when the KILL is timed to hit an exa that is on its way back home, leaving 2 files and 1 exa behind with no halting. RIP.

So instead I've been trying that when EOF=true, the exa that is reading off the file would transmit some value that is outside parameters and then halt, while the receiving exa has a test for "TEST M = 1000" or whatever. If true then it triggers a return loop, if false it copies M to F. But sometimes they just write 1000 to F and then lock up because there is no longer anything transmitting to M.

Is there some safe thing that can be sent to M that will always trigger an exa to branch? I feel like I'm missing something insanely important about how TEST works.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
When you use TEST, that consumes the value being sent over M. There are two kind of easy fixes:

- Copy the M value into the local register, test against it, then you still have it if you need it. This won't work if you need to preserve your current X.
- Having the sending exa send the same value twice (or send a control value followed by the actual data). The receiving exa can then use the first value to make a decision, and then read from M to get the actual data. This won't work if you need to have more than one reader or writer using the same channel at once.

Tulip
Jun 3, 2008

yeah thats pretty good


Goddammit yeah that first one did it. P sure I've used it in the past, this is what I get for putting the game down for months.

GuavaMoment
Aug 13, 2006

YouTube dude

Tulip posted:


My first solution was to test for EOF, and when true the exa holding the original file would use KILL, grab the new file, and extract. This works...up until test 8, when the KILL is timed to hit an exa that is on its way back home, leaving 2 files and 1 exa behind with no halting. RIP.


If it's a one cycle, kill priority problem, you could also try reorganizing your EXA order, or throw in a random NOOP or two.

Unhappy Meal
Jul 27, 2010

Some smiles show mirth
Others merely show teeth

Ugh, every time I come back to Shenzhen I forget that an SR Latch just does not work since however Shenzhen is doing the logic gates under the hood is weird.

How weird?

From the laser tag level where I always want to use this.

In this configuration the latch starts already set:



Add this unconnected bridge, and now the latch starts reset:



Finally move the bridge to the top, and the latch starts set again:

Unhappy Meal fucked around with this message at 05:31 on Mar 27, 2022

Llamadeus
Dec 20, 2005
There is a latch that starts off in a deterministic state, using a NOT, an OR and an AND. Otherwise you have to send a pulse to start it in the state you want.

Unhappy Meal
Jul 27, 2010

Some smiles show mirth
Others merely show teeth

Llamadeus posted:

There is a latch that starts off in a deterministic state, using a NOT, an OR and an AND. Otherwise you have to send a pulse to start it in the state you want.

Thank you muchly for saving me from getting annoyed and having to repeat all this again in five years after I'd forgotten once again.

Traveller
Jan 6, 2012

WHIM AND FOPPERY

Exposure Mask Viewer in TIS-100 is going to make me lose hair.

Llamadeus
Dec 20, 2005
https://twitch.tv/videos/1454232375

An interview with Zach, he mentions that the next Zachtronics game will be the last one.

TheCenturion
May 3, 2013
HI I LIKE TO GIVE ADVICE ON RELATIONSHIPS
I still want a modern version of Omega.

Beartaco
Apr 10, 2007

by sebmojo
God this credit card verification level in Exapunks is so difficult. I thought I was really onto something with using a rolling checksum, but having every second digit use a different operation made that difficult, so I decided to then use two exas, each running a rolling checksum except one is indexed at 0 and the other is indexed at 1. But then the invalid digits get thrown into the mix so I have to keep track of the length of the document which I just don't have enough storage for so I'm adding new Exas to operate as a len(x) function and storing it for my two rolling checksum exas...

5 Exas is far too many so I think it's time to reset this one yet again. I'll keep the two rolling checksum exas and I think I'll have them in two stages, one where I count the digits up to length 16, wiping when I hit a -9999. Then once I hit 16 I'll perform all the digit operations at once and enter into phase 2 where I'll perform the new digit operations as they come in while keeping track of the rolling checksum. Then if I hit a -9999 I'll wipe and return back to the first stage.

Definitely the hardest stage I've encountered so far.

Beartaco fucked around with this message at 06:35 on Apr 16, 2022

Beartaco
Apr 10, 2007

by sebmojo
Also, there aren't that many but I think the hack battles in this game are really bad. I feel like I'm always just brute forcing solutions, especially when you're not only dealing with the randomised behaviours of the opponent but also randomised stage generation. I think they're super tedious and I always just want to get them out of the way as quickly as possible to move on to the interesting puzzles.

Man with Hat
Dec 26, 2007

Open up your Dethday present
It's a box of fucking nothing

Exciting Lemon

Beartaco posted:

Also, there aren't that many but I think the hack battles in this game are really bad. I feel like I'm always just brute forcing solutions, especially when you're not only dealing with the randomised behaviours of the opponent but also randomised stage generation. I think they're super tedious and I always just want to get them out of the way as quickly as possible to move on to the interesting puzzles.

You can ususally beat the computer opponent just by watching them once and then sending out assassin exas before doing your own thing with no opposition. Makes them very quick and easy.

Nth Doctor
Sep 7, 2010

Darkrai used Dream Eater!
It's super effective!


Man with Hat posted:

You can ususally beat the computer opponent just by watching them once and then sending out assassin exas before doing your own thing with no opposition. Makes them very quick and easy.

If it's stupid and it works, it isn't stupid
I'm doing my first playthrough of EXAPUNKS and the hack battle with x10x10x Wormhole) was the first one where I couldn't quickly get an S+ ranking. I managed to get to 99/100 with this script:
Intentional spoiler break
The Wormhole
I realized a weakness of a fast-and-easy approach to spreading through the network was the chance that you could head backwards. So I hardcoded each case of the available links so that if you made it into a node, you would never go backward to where you came from. Down at the bottom, I wrote in a ~10% chance of firing the laser and then fill the current host. This got me to 99 out of 100 wins.

As an aside: Bleiben is the German word for "to stay" and I've always enjoyed how it sounds like a blob that doesn't move. I figured that was apropos.
code:
;XA
LINK 800
REPL 2
REPL 3
REPL 5
REPL 7
REPL 11
REPL 13
JUMP BLEIBEN

MARK 2
LINK 2
REPL 3
REPL 5
REPL 7
REPL 11
REPL 13
JUMP BLEIBEN

MARK 3
LINK 3
REPL 2
REPL 5
REPL 7
REPL 11
REPL 13
JUMP BLEIBEN

MARK 5
LINK 5
REPL 2
REPL 3
REPL 7
REPL 11
REPL 13
JUMP BLEIBEN

MARK 7
LINK 7
REPL 2
REPL 3
REPL 5
REPL 11
REPL 13
JUMP BLEIBEN

MARK 11
LINK 11
REPL 2
REPL 3
REPL 5
REPL 7
REPL 13
JUMP BLEIBEN

MARK 13
LINK 13
REPL 2
REPL 3
REPL 5
REPL 7
REPL 11
JUMP BLEIBEN

MARK BLEIBEN
RAND 0 10 T
TJMP BLEIB
KILL
MARK BLEIB
REPL BLEIB
JUMP BLEIB


Intentional spoiler break. My improvement on the last script:
code:
;XA
NOOP
{the rest of XA from above}

;XB
LINK 800
LINK 13
LINK 7
LINK 5
KILL
KILL
LINK 2
KILL
KILL
Since the networks, while "random" are consistent from one test to another, laser-focus this solution on taking out the opponents exas right at the beginning, from the known path to their side of the board. Then XA will spread everywhere else.


Fake edit:
I figured out that if I removed the steps where I killed at all from my 99 win solution, I'm able to cover the network fast enough to win all 100 times. That'll teach me to be on offense.

Rynoto
Apr 27, 2009
It doesn't help that I'm fat as fuck, so my face shouldn't be shown off in the first place.

I had kind of assumed flooding was the obvious solution for that one :shrug: A quick 100/100.


Nth Doctor
Sep 7, 2010

Darkrai used Dream Eater!
It's super effective!


Rynoto posted:

I had kind of assumed flooding was the obvious solution for that one :shrug: A quick 100/100.




I tried that, myself, but since I used a naive approach to flood the first time, I think I couldn't even win a majority of the tests.

My first winning record, IIRC, had a set of exas going in 2-3-5-7-11-13 and another set going 13-11-7-5-3-2. I got an ~80% win rate with those I think.

Beartaco
Apr 10, 2007

by sebmojo

Nth Doctor posted:

If it's stupid and it works, it isn't stupid

An excellent byline for Zachtronics games and a perfect title for this thread, if it hasn't been used already.

Sway Grunt
May 15, 2004

Tenochtitlan, looking east.

Llamadeus posted:

An interview with Zach, he mentions that the next Zachtronics game will be the last one.

This is a bummer. I didn't watch the interview, did he elaborate why?

edit: Wait it was timestamped? I didn't notice. Maybe that's from when I skimmed through it quickly, dunno.

edit2: I guess cause he's going into teaching? Fair enough! Happy for the games we got, some all-timers in there.

Sway Grunt fucked around with this message at 18:53 on Apr 17, 2022

Beartaco
Apr 10, 2007

by sebmojo

Sway Grunt posted:

This is a bummer. I didn't watch the interview, did he elaborate why?

edit: Wait it was timestamped? I didn't notice. Maybe that's from when I skimmed through it quickly, dunno.

edit2: I guess cause he's going into teaching? Fair enough! Happy for the games we got, some all-timers in there.

I always did think Zachtronics should get a big government grant and have their games put in classrooms. I guess a modest teachers salary and the man himself in a classroom will have to suffice.

Beartaco
Apr 10, 2007

by sebmojo

Beartaco posted:

God this credit card verification level in Exapunks is so difficult. I thought I was really onto something with using a rolling checksum, but having every second digit use a different operation made that difficult, so I decided to then use two exas, each running a rolling checksum except one is indexed at 0 and the other is indexed at 1. But then the invalid digits get thrown into the mix so I have to keep track of the length of the document which I just don't have enough storage for so I'm adding new Exas to operate as a len(x) function and storing it for my two rolling checksum exas...

5 Exas is far too many so I think it's time to reset this one yet again. I'll keep the two rolling checksum exas and I think I'll have them in two stages, one where I count the digits up to length 16, wiping when I hit a -9999. Then once I hit 16 I'll perform all the digit operations at once and enter into phase 2 where I'll perform the new digit operations as they come in while keeping track of the rolling checksum. Then if I hit a -9999 I'll wipe and return back to the first stage.

Definitely the hardest stage I've encountered so far.

It took me days but I finally finished this level with what I absolutely assumed while coding it to be the most hacky, brute force solution I could possibly come up with but I got to the score screen and:



I did alright??

Size ended up being the limiting factor. I ended up dropping the rolling checksums idea in order to stick to the size limit which I thought would doom me in the cycles but shockingly enough I didn't do too badly. I'm happy with that result.

Though God, are all the levels going to be this difficult going forward?

Samopsa
Nov 9, 2009

Krijgt geen speciaal kerstdiner!
final zachtronics game dropping in a couple of weeks, here's the trailer
https://www.youtube.com/watch?v=EdU-ABucIjk

grate deceiver
Jul 10, 2009

Just a funny av. Not a redtext or an own ok.
I goddamn love fake-OS games. Fully hype.

Jeffrey of YOSPOS
Dec 22, 2005

GET LOSE, YOU CAN'T COMPARE WITH MY POWERS
There's a deluxe edition for sale here:
https://zachtronics.com/pop-up-store/

Bug Squash
Mar 18, 2009

What a career, grandfather of one of the biggest games in history, bash out hit after hit in their own new genre of puzzle game, explain everything in an interactive book, then just retire from games.

grate deceiver
Jul 10, 2009

Just a funny av. Not a redtext or an own ok.
Also gives out his games for free to schools. Honestly king poo poo.

And it looks like zach-likes are slowly becoming a genre too so we might be getting more good games anyway.

NickPancakes
Oct 27, 2004

Damnit, somebody get me a tissue.

https://twitter.com/zachtronics/status/1537191470599241728

Confirmed "last" was not a typo. drat.

Adbot
ADBOT LOVES YOU

Fuzzy Mammal
Aug 15, 2001

Lipstick Apathy
Tomepage has the actual apps from the bbs that are in game:

20th Century Food Court: Design factories to produce food just like they did over 700 years ago in the 20th century. Keep your machines running fast!
STEED FORCE Hobby Studio: Assemble robot models based on the anime smash hit Steed Force right on your computer. No sandpaper required!
X’BPGH: The Forbidden Path: Enter a cursed world and create bizarre flesh sculptures in exchange for eternal life... but can you trust the master?
Sawayama Solitaire: It wouldn’t be a Zachtronics release without a brand-new solitaire game. This time it’s a fresh take on the classic Klondike.
Dungeons & Diagrams: Try your hand at these beguiling tile-based logic puzzles. Can you map out the dungeons and steal all the treasure?
ChipWizard™ Professional: Build integrated circuits using wires, transistors, and capacitors. Wait a second, is this a game or a CAD program?
HACK*MATCH: The tile-matching minigame from EXAPUNKS, completely remastered with a single player campaign and local multiplayer.
Kabufuda Solitaire: Create matching sets of Japanese kabufuda cards in this retro-demake of the challenging original solitaire game from Eliza.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply