Zachtronics' next game (is Exapunks)


#1

After the Great houses setting of Opus Magnum, it looks like we’re going to the distant future of 1997 for some hacking puzzles in the next game from Zach Barth.

Are you ready to hack your body?


#2

I don’t know if I’m ready for Zachtronics hacking, (Zaching?) but gosh that theme song is a bop.


#3

i already ordered the zine edition i am pumped as hell, this looks so cool


#4

Wow that trailer’s real smooth.
I haven’t played their games but this looks like I might be into it, getting an invisible inc. / into the breach vibe from the art.


#5

Zachtronics are on a great run of well made games, hope this one is just as gif-able as opus magnum


#6

That was a really well done trailer.


#7

Here’s the thing: I really like the Zachtronics games in theory but after some point in SpaceChem I just felt like I needed to have already completed an engineering degree


#8

I have never played a Zachtronics game cause they’re so intimidatingly technical looking but damn this owns and I will attempt to play it. Put more zines in games imo


#9

Has anyone been playing this? I’ve been having a blast with it, and the zines are top notch.


#10

There’s some sort of weird cosmic justice that Zach seems to be happy and keeps making great games but Notch has a gazillion dollars and lives alone and sad in a mansion with rotting candy


#11

I beat it about a week ago and I keep opening it again to see if anyone beat me in the hacker battles or I can find an optimisation i missed in one of the puzzles. it’s so good. Probably my fave zachtronics game, but I’d still recommend Opus Magnum first to a beginner, I think. I’d love a GIF exporter but I do realise this game makes for solutions that are less interesting to look at for people who aren’t playing it already than opus’s


#12

I’ve been bashing my head against the last level for the past few days. I don’t know if I’m supposed to be looking for a clever, clean, solid solution or just some bullshit that works well enough for the provided test cases.

The issue I’m specifically having is trying to figure out how to keep multiple EXAs from trying to talk over each other. I always end up with at least 2 EXAs trying to write to M on the same cycle and getting mixed up.

Edit: Actually I just thought of something stupid that might work… What if instead of even bothering to keep the host address/NERV value pairs together at all, I just collected all the addresses at once, sorted them, then shouted out “HEY IS THIS YOUR ADDRESS?!” over and over and over until everyone has either said “nope, I’m gonna take a nap” or “YES THAT’S MY ADDRESS, HERE’S MY NERV VALUE!”


#13

So I joked earlier about feeling like overwhelmed by the Zachtronics games, but I actually genuinely want to know: how heavy is EXAPUNKS on the coding, and more specifically, how reliant do you have to be on experience? Do y’all think I could enjoy it even if I don’t have a lot of experience with programming and coding yet?


#14

It’s kind of hard to say. The thing is that you don’t need to know any specifics of any language, but some of the puzzles kind of require that you understand certain general concepts that tend to come up in (but aren’t necessarily exclusive to) programming.

For what it’s worth, the in-game zines have some solid documentation, good examples, and contextual hints. Also, there are a few (4, I think) tutorial levels that walk you through the process, starting from “here’s the solution, just type it into the box and hit ‘go’” in the first level.

That being said, even with some (not a ton but some) programming experience, I certainly had to look up hints on a few levels.

Hope that helps!


#15

i’ll describe the method i used ultimately if you want to take ideas, but i’ll hide it in spoilers for you

every exa starts by going in a direction, storing that direction in a file, then going back the way it came, saying something to local M. It then goes back in the first direction and makes an exa for another direction. if it received a message from local m confirming the path it tested is real, it waits for another local m message. once it’s sent an exa to every direction and received all completion confirmations if the paths were real, it makes an exa to copy #nerv if it exists and say it and the hostname in global M. then it goes back the way it came and says something to local M to tell that exa to carry on with its tasks.

it’s complicated and i’m sure it can be simplified and made more efficient but it’s got the best cycle score on my friendslist so i’m taking it as a win haha


#16

Thanks. I eventually got it working using a version of what I described earlier. I had to rewrite it from scratch like 4 separate times because I kept getting parts of the program unfixably tangled up, and my line count was 147/150 (although I think I just realized a simple way to cut out about 60 of them), but it worked.