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
GuavaMoment
Aug 13, 2006

YouTube dude
I think it said that once you beat someone in a hacker battle it uploads your solution to them. If I'm not there I haven't beaten you I guess. I'm not 100% sure of the mechanics myself.

SupSuper posted:

Would be nice if you could automatically run your solution against every opponent.

Ask Zach to implement this and it'll probably be there tomorrow!

Adbot
ADBOT LOVES YOU

Eliza
Feb 20, 2011

EXAs in Local communication mode will still fetch data from EXAs writing on the same host in Global communication mode. There goes my double-read solution for Sawayama Wonderdisc. :negative:
Still, almost halving the top percentile on the first attempt is nice.

homeless snail
Mar 14, 2007

That sounds like a bug, pretty sure the zine specifically says it should work the opposite way, and I definitely did some mixed local/global stuff before they messed with the message passing last week, maybe they messed it up then. Email Zach

Two Owls
Sep 17, 2016

Yeah, count me in

Just finished. Great, but the hacker battle levels were a bit meh (as they were mostly "Cobble together something that might work, see what the opponent does, then tweak a bit to specifically counter it". I didn't like the Spacechem bosses or that one Infinifactory defence level either for similar reasons.)
Still pleased with myself for coming up with the Multiply by 22, take second digit trick in the credit card level.

While we're at it:



Features

- Innovative one button (X) gameplay. Oh, and Start as well I guess
- Horrific flickering "Sprite multiplexing"
- No, really, flickers like a bastard in places so don't play if you're epileptic
- You should probably turn the volume a down a lot as well

zedprime
Jun 9, 2007

yospos
That hard drive array puzzle sure was something. Almost exactly the puzzle I started thinking of when I read about the EXA mechanics and much more of a bastard than I could have predicted with EXA space, code space, and file constraints. Got real used to unrolling loops and finally had to roll one up to fit in the code space.

IShallRiseAgain
Sep 12, 2008

Well ain't that precious?

Trying to do a file sort with 2 and 1/2 registries is an interesting challenge.

Dieting Hippo
Jan 5, 2006

THIS IS NOT A PROPER DIET FOR A HIPPO
I got the Bitmap to EXA code generator in a usable state for all your Redshift sprite needs: https://github.com/braids/Bitmap2EXA

It should compile in VS2017, and meets minimum requirements in the spirit of the best Zachtronics puzzle solutions :v:

Zomborgon
Feb 19, 2014

I don't even want to see what happens if you gain CHIM outside of a pre-coded system.

Dieting Hippo posted:

I got the Bitmap to EXA code generator in a usable state for all your Redshift sprite needs: https://github.com/braids/Bitmap2EXA

It should compile in VS2017, and meets minimum requirements in the spirit of the best Zachtronics puzzle solutions :v:

I was looking to do the same for a (really bad) sound transcoder, but I have no idea what format the input could take. I was just taking the scale and transcribing the appropriate numbers.

Plus, with the framerate such as it is and with no sub-frame waiting (unless enough NOOP instructions actually can suffice?), the time signatures supported are limited and likely nonstandard, with the shortest possible note in an approximate 4/4 being the thirty-secondth.

Broken Cog
Dec 29, 2009

We're all friends here
Just wanted to give a heads up that the OST is up on Bandcamp now: https://zachtronics.bandcamp.com/album/exapunks-ost

Pretty great addition to my work music playlist.

nielsm
Jun 1, 2009



Zomborgon posted:

I was looking to do the same for a (really bad) sound transcoder, but I have no idea what format the input could take. I was just taking the scale and transcribing the appropriate numbers.

Plus, with the framerate such as it is and with no sub-frame waiting (unless enough NOOP instructions actually can suffice?), the time signatures supported are limited and likely nonstandard, with the shortest possible note in an approximate 4/4 being the thirty-secondth.

MIDI files would be the most appropriate choice, with a fixed mapping of channels 1-3 to the tone generators and channel 10 (percussion) to the noise generator. Just following the tempo and quantizing into 1/30 s precision is probably fine for most purposes.
As for in-game format, I suggest using tuples of 5 values, four for the channels, and a final which is delay until next event, and a tuple of 0 0 0 0 0 to mark end of song.

Samopsa
Nov 9, 2009

Krijgt geen speciaal kerstdiner!
Just finished this game, that was fun! It's most definitely the easiest Zachtronics game to finish imo. Infinifactory is easier to grok but it takes quite a while to finish, but this one is short and sweet. There aren't much limitations; the only limitation that gave me problems was the amount of registers (but that was easily solved by replicating an exa that loops copy m x, copy x m), and size (but only in the final level thanks to dumb sorting code, switched to a bubble sort and it was no problem anymore).
Shenzen's limitations were way more restrictive and made it hard to even solve certain levels for me, while in Exapunks I could always quickly write down the algoritm to solve the problem, the difficulty was only in translating it to exa-code.
Even infinifactory had more difficult limitations in my view. I'm curious to see if Zach's gonna add more puzzles like they did in Infinifactory.

Dieting Hippo
Jan 5, 2006

THIS IS NOT A PROPER DIET FOR A HIPPO

nielsm posted:

MIDI files would be the most appropriate choice, with a fixed mapping of channels 1-3 to the tone generators and channel 10 (percussion) to the noise generator. Just following the tempo and quantizing into 1/30 s precision is probably fine for most purposes.
As for in-game format, I suggest using tuples of 5 values, four for the channels, and a final which is delay until next event, and a tuple of 0 0 0 0 0 to mark end of song.

FamiTracker Module files look like they're perfect for conversion into EXA code. I've been reading up on the .ftm data structure and reading the first four channels (Pulse 1/2, Triangle, Noise) into four separate EXAs shouldn't be too bad. Notes are also the same range of 0-99 that Redshift supports, although you'll need to convert the Note and Octave bits into an EXA-formatted note value.

Now if we could also pass in volume information, that'd really expand the Redshift's sound capabilities.

edit: I'm seeing the end result for each EXA channel having a DATA file that alternates between the note to play and the length of the note in cycles. "DATA 66 10 65 120" would play a C note for a third of a second, then play a B note for four seconds.

Dieting Hippo fucked around with this message at 21:42 on Aug 20, 2018

zedprime
Jun 9, 2007

yospos
Finally finished after only having a chance to blast through on weekends. I think I enjoyed it the most out of all the programming Zachtronics the only puzzles that really stick out are the hard drive array and the final puzzle. That's probably more because I'm not a score chaser so a lot of the puzzles were like you've done this in Shenzen but now the architecture is slightly different because of exas. But for score chasers that architecture difference is probably more than enough to wring enjoyment out of what might be the same narrative as a Shenzen puzzle.

There must 100% be a free expansion even if he just curates workshop puzzles into a pack because there's a lot of fertile ground that wasn't tread with this architecture.

Tekopo
Oct 24, 2008

When you see it, you'll shit yourself.


guys i'm really good at coding :downs:

Buffis
Apr 29, 2006

I paid for this
Fallen Rib
I just fixed my hard disk array puzzle by adding
@rep 20
NOOP
@end
in two EXAs in my code to keep things "syncronized enough"

The solution for it may be the worst code I've ever written.

Algorithm I used:

Send EXA1 to pickup the Index file.
Make a copy of the index, and park EXA2 with it in the Gateway.
Make another copy of the index, and park EXA3 with it in the Gateway.
Send EXA2 and EXA3 (with their file copies) and fetch the names from file300, send from another EXA4 in the start area.
Park them in the Gateway again.
Have EXA2 spawn EXA_HELPER1 which gets fed the information through M (local mode) to find the correct file1 and seek into it.
Copy the 10 characters through M (global mode) to an EXA5 in the start area. Halt EXA_HELPER1.
Have EXA3 spawn EXA_HELPER2 which gets fed the information through M (local mode) to find the correct file2 and seek into it.
Get the 10 characters through M (global mode) from EXA5, and write them to the file. Halt EXA_HELPER2.
Repeat the helper stuff until EOF or a non-number is reached.
Cleanup.


I feel like this now

Carbon dioxide
Oct 9, 2012

I took something like 7-10 hours (out of like 14 hours of play total) making this and it's not even a game.



Did you know that sheet music is drat hard to read if you're not used to it?

GuavaMoment
Aug 13, 2006

YouTube dude

Carbon dioxide posted:

I took something like 7-10 hours (out of like 14 hours of play total) making this and it's not even a game.



Did you know that sheet music is drat hard to read if you're not used to it?

As a guy who's slowly optimizing every level before moving on, when do you get the ability to open images/games/music like that (in redshift)?

Ruzihm
Aug 11, 2010

Group up and push mid, proletariat!


GuavaMoment posted:

As a guy who's slowly optimizing every level before moving on, when do you get the ability to open images/games/music like that (in redshift)?

as soon as you can code the redshift.

Carbon dioxide
Oct 9, 2012

It's a little bit hidden though: In the redshift project, you need to click on the 'files' icon next to the "Solution" name, the red text on the top left. There you can click on the menu of every design to export it, and you can drag in a .png to import a design.

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer
Just got this game



The difference that a single line can make




but is it really worth the gain :thunk:


how the heck do you brute force the redshift code in way less than 8k cycles tho

GuavaMoment
Aug 13, 2006

YouTube dude

HenryEx posted:

how the heck do you brute force the redshift code in way less than 8k cycles tho

You have to be entering a new digit every cycle. Which isn't something only one exa can do.

Doctor_Acula
May 24, 2011
Would one of you kind folks be able to link me the PDFs for the printable versions?
I emailed myself the digital copies, and I wanted to print them at work so I could play tomorrow on my day off.

Rexxed
May 1, 2010

Dis is amazing!
I gotta try dis!

Doctor_Acula posted:

Would one of you kind folks be able to link me the PDFs for the printable versions?
I emailed myself the digital copies, and I wanted to print them at work so I could play tomorrow on my day off.

https://www.dropbox.com/s/6k05f5xl6z4f8ed/letter_en_1.pdf?dl=0
https://www.dropbox.com/s/h5v119ufg9cml4e/letter_en_2.pdf?dl=0

Doctor_Acula
May 24, 2011

Much obliged.

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer
What the heck is the priority in the game like? i get constantly messed up because two exas trying to do something on the same cycle doesn't work out like i thought it would.

Like, when i create 3 exas and tell them to link, they go in order ExaB -> ExaA -> ExaC. What the gently caress?


Also, does sending/receiving data always take 2 cycles? That seems awfully slow. Based on previous games you should be able to tell exa1 to send and exa 2 to receive and have it work out in one cycle, but i can't get the timing right.

zedprime
Jun 9, 2007

yospos
Priority is random to make it costly to have multiple Exas talking at once. You can use local/global to separate as two separate channels. Or else you need handshakes and repeaters to set up self correcting peer to peer messages

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer
So you can never time two exas talking in a way that it doesn't cost two cycles?




Went back to my 400 cycle highway sign solution. Maybe it wasn't the best idea to use two exas just so one could read to the ofther from the file. I think when i made that i was still under the idea that you can't hold a file and interface with hardware at the same time.
Also maybe it wasn't the best idea to swizzle an incrementing counter into two registers and manually clamp one of them to 9 to get the row/column address, whoops lol


So now i just got 1 exa grabbing the file, going in, dividing/modding an incrementing loop counter straight to #data and then read from file straight to #data. Test for EOF and link back at the end. Got me down to 167 cycles, but that's about as far as it gets??
I tried skipping loops with 0 character data, but that actually increased my cycle count to 200+, so i have no idea what you could possibly do to get to double digit cycle count.

Samopsa
Nov 9, 2009

Krijgt geen speciaal kerstdiner!
Unroll the loop!

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer
And gently caress up my beautiful 11 instruction solution?


OVER MY DEAD BODY


edit: but for real , how do i unroll a loop for an arbitrary length tho, like at the bank thing where going one over fucks it all up

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer
Actually does anyone have a 10 instruction solution for the highway cause apparently it's possible but i can't see what i could cut. Some weird way to get around the EOF test maybe???

GuavaMoment
Aug 13, 2006

YouTube dude

HenryEx posted:

Actually does anyone have a 10 instruction solution for the highway cause apparently it's possible but i can't see what i could cut. Some weird way to get around the EOF test maybe???

I do. To answer your question I do have an "end" test, but it's not for EOF. I'm testing...

...to see if x = 27

DIVI and MODI by 9 are friends

HenryEx posted:

Like, when i create 3 exas and tell them to link, they go in order ExaB -> ExaA -> ExaC. What the gently caress?

I assume all three are doing something at once? You can fix this with a noop from exaB and two noops from exaC

GuavaMoment fucked around with this message at 18:52 on Sep 3, 2018

Mystic Mongol
Jan 5, 2007

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


College Slice

HenryEx posted:

Actually does anyone have a 10 instruction solution for the highway cause apparently it's possible but i can't see what i could cut. Some weird way to get around the EOF test maybe???

Testing EOF and testing x = 27 shouldn't be different program lengths, but that's an option. Are you sending a value to #CLRS to wipe the sign, maybe? You don't have to do that.

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer

Mystic Mongol posted:

Testing EOF and testing x = 27 shouldn't be different program lengths, but that's an option. Are you sending a value to #CLRS to wipe the sign, maybe? You don't have to do that.

Oh yeah, i think i still clear the sign as a hold over from when i was experimenting with skipping the 0 inputs outright. What a silly oversight.
11 -> 10. Finally made it into top percentile for once, ayy

AceOfFlames
Oct 9, 2012

I loving love this game and yet, despite actually working in software for a living, I utterly suck at it, like I do at all Zachlikes. :negative:

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer
Speaking of sucking



Wow, i bombed this one pretty hard. I'm okay with my activity here, cause i'll gladly take the 20 moves it takes to move in and out of each station to not have to put up with the headache of globally syncing 3 different exas. But having like 3 times the average cycle count hurts.

Did i miss some trick in a zine for inserting text somewhere? i resigned myself to rewriting the entire songlist from scratch every time and that sure takes a long time, but looking at these leaderboards, i must have missed some kind of function to insert values at places other than EOF. It's not like you can parallelize rewriting more than one song station at once. You can't dial up more than one connection :shrug:

nielsm
Jun 1, 2009



HenryEx posted:

You can't dial up more than one connection :shrug:

Your exa doesn't die if you close the modem connection while it's in the remote system. It just can't return, but why would it need to?

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer

nielsm posted:

Your exa doesn't die if you close the modem connection while it's in the remote system. It just can't return, but why would it need to?

That's weird, mine did when i tried that out. Maybe i did something else wrong, but after seeing my exa go poof when i closed the modem connection, i discarded that line of thought.


edit: maybe the fact that the code window vanishes too faked me out and it's still in there working, invisibly? I'll have to test that later

Chev
Jul 19, 2010
Switchblade Switcharoo
Nah, it either reached an instruction it couldn't execute or the end of its program.

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer


Okay yeah, that's a lot better, and i'll gladly take the increase in size by 2 if it decreases activity and cycles by that much.
I'm not a fan of hyper-specialized solution that shave off 12 cycles but need 70 more instructions by hardcoding everything, but this is a nice middle-of-the-road solution.

Adbot
ADBOT LOVES YOU

HenryEx
Mar 25, 2009

...your cybernetic implants, the only beauty in that meat you call "a body"...
Grimey Drawer
https://i.imgur.com/Bra74ek.gifv

It's not the most efficient solution, but it's so cool to look at :3:

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