So, who's playing this, then? Exapunks, the latest from mind-bending puzzle maestro Zachtronics, which builds on the previous programming games - TIS-100, Shenzhen-IO - and wraps it in a tasty layer of 90s-era cyberpunk aesthetic. It's bloody marvellous, and responsible for no small amount of missed sleep over the weekend. Trouble is, only a couple of people on my Steam friends list play it, and part of the fun is trying to out-optimise your friends - so if you're playing it, shout up and we can add each other! At the moment, though, I've hit kind of a brick wall on one of the projects - but I'm hoping I'll have an epiphany soon enough.
Same way as other Zachtronics games: friends' leaderboards and global histograms. Each solution is scored on three metrics: cycles (how many CPU cycles it took up, optimising for speed); size (how many lines of code it took up, optimising for size); and activity (how much time your EXAs spent doing things like KILL and LINK commands, optimising for efficiency.) Each is tracked independently: if I'm at the top of the leaderboard for Cycles with 1,000 and Size with 27, that only means I wrote a solution that completed in 1,000 cycles and a solution that was 27 lines long; it doesn't mean I wrote a single solution that was both 27 lines long and completed in 1,000 cycles. Exapunks also has, for the first time, the ability to directly compete against friends in 'hacker battles,' where your solution is run head-to-head against your friend's. I haven't figured out how to do that, yet, though - it's possibly something that only unlocks when you finish the game. Here's an example: That's from a hack that only I and one of my friends has got to, which is why there are only two entries in the leaderboards. You can see from the histogram, though, that my solution isn't the best globally for either cycles or size, but is for activity.
it's a bit rich for me atm, but I have had many hourse of fun [and raging] from zachtronics' wares...
Just spend 25 mins trying to beat you on MITSUZEN HDI-10(LEFT ARM) and managed it by 2 cycles. I think you've just halved my productivity at work tomorrow
You bugger. My laptop's running low on charge, so it'll be tomorrow before I can have a look to see where I can shave a couple of cycles...
Thanks for the gift @Gareth Halfacree, though now i need to beat my printer into sumbission... because reading the 'zines on screen just isn't the same... IT ISN'T THE SAME DAMNIT!!
I'm fully expecting at lunch if it has cloud save or when I get home to see G has gone back and beat me on every task.
It does have cloud saves - which is how I found out it takes about five times as long to load on my desktop than on my laptop. I can only assume the difference is the SATA SSD in the desktop and the shiny NVMe in the laptop. Got my next upgrade route planned out: Zen 2-based APU, mATX motherboard, 32GB of RAM, 512GB or larger NVMe, 2x2TB spinning rust in RAID-1 for mass storage. Probably re-use my existing case, if I can find the bits I need to mount an extra hard drive. Won't be for a couple of years yet, though, so for now it's a question of being patient while loading things!
Oh, bumholes: the latest patch has made it so you can no longer communicate with exas in a remote host if the link to that host is down, which has invalidated my modem solution. That's just mean.
so you can't back communicate? I'm still a little rusty on the terminology. I don't think I've got that far yet
Previously you could open a link to a remote host by dialling the number on your modem, send your exas into the host, and hang up - but still communicate with the exas using the M register. (I figured they had teeny-tiny little wireless modems or something, whatever.) Turns out no, that was actually a bug: you can only communicate with an exa in another host if there's an active link between the two hosts. Makes a lot more sense, but it's annoying 'cos I'm now going to have to write another solution and it's going to be way longer than my original one.
I hadn't even got to remote hosts then. I'll see if I can get there by the end of lunch. I didn't realise you can turn on percentiles in the leader boards as well so I'll need to find that in the options wherever they are. 69!!! how tf. I only got to 182 because I was trying to beat you. so he's doing at a guess 9 cycles for startup and cleanup then 3 cycles per transfer. ahh hang on. You can have different solutions for different leader boards right? I think I know how to do it with less cycles but a long program