#[Discussion, not a guide] Best autoloader layouts for APS turrets

1252 messages · Page 2 of 2 (latest)

boreal furnace
#

Pretty ridiculous tbh

hot nova
#

worst comes to worst I can do a jank and literally shove the release version into it
C# lets you include resource files

#

some extra logic to switch which one depending on OS

boreal furnace
#

Best get to your implementation of the Traveling Salesman problem rambottrollface

hot nova
#

also I think I figured out how I might get some form of 5-clip
I could have the cooler cell type have no collision with itself (but still with normal pieces)
with that and a bit of extra to make grouping not instantly break it would probably work

boreal furnace
stoic yarrow
#

you should probably make the turret well area black and the surrounding white, cuz with it like that, it looks well... hard to actually see

hot nova
#

well it took me quite a while but I managed to get cell types and 5 clip working (at least I'm pretty sure)

neon cairn
#

You want to have 2 autoloaders per connector

hot nova
neon cairn
#

Yes but theres more gaps in it than what you want

#

^

#

you want something like this

hot nova
neon cairn
#

hmmm

#

interesting

smoky fiber
#

What even is 5-clip?

#

cuz it doesn't look like it has 5 clips?

neon cairn
#

They could be rearranged to have the same shape as a 3clip 2m autoloader setup

smoky fiber
#

how tho, like is this a 1m auto specific thing?

neon cairn
#

Yes

smoky fiber
#

could you send a blueprint or screenshot in the chat?

neon cairn
#

Oh boy

#

Give me a sec then

#

@smoky fiber

#

This should work

smoky fiber
neon cairn
#

Its the most efficient for 1m auto

#

If done right

winter echo
#

Brrt

hot nova
#

finally managed to fix symmetry for 5-clip
turns out it wasn't accounting for cell type when checking for symmetry groups so they were all self-conflicting

hot nova
#

I think I'm probably going to omit the shape editor for initial release and instead just get the export to prefab working

boreal furnace
#

Realistically, you've covered 99% of use cases

#

Shape editor is just nice for future-proofing or if people want to try other system Tetrises

boreal furnace
hot nova
#

update: blueprints are a pain
specifically getting the right blockdata string is proving difficult
pretty sure I have everything else

#

BEHOLD THE FIRST GENERATED PREFAB (yes it's wrong I'm aware)

#

ITS WORKING

#

side note
for whatever reason the z? coordinate has 0 being the center instead of the edge
so to get it you have to do relZ - 0.5 * maxZ which is strange

boreal furnace
hot nova
#

29x29 8m 3 clip export

#

5 clip is broken but I'll fix that tmr

torn geyser
#

amazing

hot nova
#

Fixes the last bugs for export I think, currently prepping the repo for release - might have it done today

boreal furnace
#

can export have an option to attach ejectors

hot nova
#

for some reason it hates existing

hot nova
#

yeah for some reason only the windows release build dies for certain UI updates
something weird about CoreMessagingXP dying
I'll see if I can figure it out tmr

boreal furnace
#

đŸ‡«

hot nova
#

well it still hates me but I did figure out how to get something working
at least I can release a non self-contained version

hot nova
#

wasn't able to get a self-contained version working because windows really do be like that
still works though

#

LMK if you have issues running

boreal furnace
# hot nova https://github.com/trk20/APS-Optimizer

If you figure out how to accurately estimate how long it will take, please consider making an issue with the exact details or submit a pull request.

I think this might literally be a CS PhD project in and of itself lol

#

I'll see if I can get it running, probably tomorrow night

cunning geyser
#

grid width is 14 instead of 15 wide. also seems to be causing the thing ur using for the circle to spaz out (I think its just overflowing into the next row cuz its expecting it to be 15 wide not 15)

#

also its really small on 1440p (default 150% scaling). maybe add a scaler option cuz this wouldn't be usable on higher resolutions/smaller screens.

#

height is fine tho

#

i think i just entered 1416 (on accident) into the width and now its dying

#

yeah manual resizing and shaping doesnt fix it

#

(just using it not fullscreen now, why its sized different)

hot nova
hot nova
hot nova
# cunning geyser grid width is 14 instead of 15 wide. also seems to be causing the thing ur usin...

https://github.com/trk20/APS-Optimizer/releases/tag/v1.0.1
Fixed the UI scaling for 150% and 175% plus added an option to increase the grid scaling

remember to get cryptominisat5.exe from their releases page and drop it into the same folder as mentioned in the installation instructions

GitHub

Fixed issues with scaling affecting grid layout
Added grid UI scale option
Improved error message for when cryptominisat isn't present to make it more obvious

cunning geyser
# hot nova https://github.com/trk20/APS-Optimizer/releases/tag/v1.0.1 Fixed the UI scaling ...

I never put the minisat file into the folder, so i did that now the solver outputs a result now. whoops!
The improper shaping bug is still there though (not that you said you fixed). now that I am getting an output it seems that this may be a display/input issue only, as the output is warped the same way (implying that it isn't warped under the hood). I havent gotten a chance to spawn the output ingame though, so heres what it output if you cant reproduce the bug.

hot nova
cunning geyser
#

Yes

#

Windows 10

hot nova
#

I'll check again, was pretty sure I fixed the UI scale but might need to add some extra tolerance

cunning geyser
#

I haven’t tested if it works at 100%

#

I think the issue is how it’s displaying the values, I’m guessing you are storing the grids as one long 1d array/list, or at least that’s how you are displaying them.

#

And it’s displaying each element in a line until it runs out of space, then looping to the next line

smoky fiber
#

All the UI for W11 is worse(IMO).

cunning geyser
#

Ye I don’t plan on going to win11

boreal furnace
#

Er.. 15x14

cunning geyser
#

thats been the issue

hot nova
#

figured out what the problem was

#

only happens if it's launched with 150% scale and not if it's launched at 125 then changed to 150 (which is how I was testing it)

cunning geyser
#

i just tested changing it to 100% (launched in 150%), and it went tonormal when switched to 100, and then messed up when switched back to 150%

#

wth

#

it fixes itself at 200%

hot nova
#

yeah

#

rounding differences

cunning geyser
#

rounding error lol

boreal furnace
cunning geyser
#

oh god changing the ui scaling also cooks it

#

kinda, i think a part of why this is happening is that the rowlength is being assigned based on the width of the viewport thing/width of boxes instead of the actual rowlength.

#

so throwing floats into the equation (via ui scaling to non-multiples of 100) borks it by making it slightly too small to fit the number of boxes it needs to.

#

thats the only wayh i can explain the rows overflowing into the next row

cunning geyser
#

seems to work

#

also was I right?

#

perfectly optimized 💯

hot nova
#

oh god mixed 3 and 5 clip why

hot nova
# cunning geyser also was I right?

basically the UI framework doesn't have a proper resizable 2d grid so if it doesn't have enough size for a row it wraps around
I just had to add a few pixels of margin so that doesn't happen with the scale rounding errors

cunning geyser
#

why does 13x13 always work so well

#

even 5 clip tetris looks cool on 13x13

hot nova
#

It just does
Try the symmetry options, usually hard vertical symmetry works best for 5 clip

cunning geyser
#

woah its even better on 15x15

#

damn it can find really high fill % on 5 clip compared to 4 clip

#

what da hell turning on symmetry gave more clusters

#

why did i just try to do rotational syymmetry with 5 clip

#

damn it actually worked really well

#

it would be useful to have a counter for how many single cooler lines there are (ones with only 1 cluster instead of 2 attatched)

#

so it would be easier to compare different tetrises

hot nova
cunning geyser
#

heh, yeah it looks complicated

#

funny how on 15x15 it works best on rotational 180 hard symmetry

#

8 unpaired clusters

hot nova
#

the way it actually works is that it allows coolers to self-intersect, which means for volume filling it will pretty much always go for the maximum amount of paired clusters

#

also why it takes longer to solve compared to 3/4 clip usually
it can't assume the number of cells filled is a multiple of the LCD of enabled shapes

#

something like that

#

3 clip will pretty much always fill the space best

cunning geyser
#

couple suggestions, then i go back to studying,1. unpaired cluster count, 2. when its done, have it rotate the unpaired clusters so the cooler is in contact with an empty block (so components can be attatched). i'm not sure how hard that would be but it would be nice

hot nova
#

It would have to do a whole other solver loop with a different problem deconstruction

cunning geyser
#

oof

hot nova
#

One plus side to 5 clip is that you can stack it (upwards) and export supports that

cunning geyser
#

another 180 sym w

#

180 deg symmetry might be the best one

hot nova
#

Yeah 4 clip generally does best with rotational symmetry

#

3 clip is a toss up

cunning geyser
#

ngl 5 clip is defo faster than 4 clip

#

2.5 mins for 23x23 5 clip but im on 8 mins for 4 clip and ist still not done

#

didn't do rotational symmetry though that might've helped

#

930 and only attempt 12 this is gonna take too long

hot nova
#

Hard symmetry makes the solution space much smaller

cunning geyser
#

oh

#

it finished before i could find the exe in taskmanager

hot nova
#

Especially for more sparse layouts like 4 clip

cunning geyser
hot nova
#

That looks pretty nice

cunning geyser
#

doing 4 clip rotational symetry now

#

looks optimized to me

hot nova
cunning geyser
#

You run the app file

#

It should be called optimizer v3

#

hmm, seems like a weird name considering it does

#

Should probably be called aps generator or something

cunning geyser
#

wth are you doing with extentions

#

double click that

#

its an application, It sounds like your trying to run it like a peice of code or something

#

source code?

cunning geyser
#

15x15 armored

hot nova
boreal furnace
#

Finally got to test it, worked flawlessly for me

#

5-clip is very neat

hot nova
boreal furnace
#

export to blueprint was almost painless, only feedback would be letting you set a default path / have it remember the last path so it is literally one or two clicks instead of 4 or 5

#

but tbh that's a crazy feature already

#

looking forward to when it also does ammo inputs and ejectors :^)

cunning geyser
#

god damn this thing is fast, solved a 25x25 in less than 2 minutes

hot nova
#

5 clip soft 4 way symmetry maybe?

#

could just be differences across cpus actually but still wouldn't expect close to 2mins for 25^2

cunning geyser
#

it was like 90 seconds

#

R9 5900H

#

i think it was 5 clip rotational 180 or vertical. also im doing 25x24 to get the symmetries to behave naturally for a front armored turret

#

took 1:50 for 4 clip rotati9onal 180 hard

cunning geyser
#

heh, its different every time you do it wwith these settings

#

this one gernarates super rarely with soft settings. i think i got it with hard too at one point but im not sure

hot nova
cunning geyser
#

bro, why would you not expect that to do anything😂
of course it's gonna be faster on top of the line hardware

#

you have 16 cores and +40% faster cores

hot nova
boreal furnace
#

@hot nova something I thought of recently - have you considered beltfed tetris yet?

#

Would be something like choosing 2-6 ammo intakes, but for those less than 6 you would have permutations of intake placement

hot nova
boreal furnace
#

It's one autoloader + one clip, then fitting as many inputs on that as you can. Most people just do like a 5x5 windmill thing with it

dry sleet
#

sorry, I have stopped playing as much FtD as I used to, and havenÂŽt really been keeping up with the chat

#

is it doing well?

boreal furnace
# dry sleet is it doing well?

Trk finished his solver, posted over in the other thread, handles basically 99% of use cases, has neat features like export to prefab, and the biggest pro - it isn't in MATLAB rambottrollface

dry sleet
#

so itÂŽs a complete ship of Theseus

#

no parts of my original code remain xd, prob for the better given my level of optimization xd

#

what size have you managed?

boreal furnace
#

I've not really pushed it, but I know the SAT solvers can get into the 30s for single solutions before they start to chug a bit

#

What is funniest to me about this project is that even before the solvers started coming out, basically all the practical sizes were found Batlaugh

#

That being said, I think the 5-clip tetris in the new solver is really neat and actually better than what people came up with prior

boreal furnace
#

And also being able to specify symmetry is nice too

hot nova
dry sleet
hot nova
#

recently made a 21x21 with it

#

probably going to end up on multiple future designs of mine because I like large guns

hot nova
#

probably going to look at implementing ejector/intake placement at least for the bottom sometime this week

marble rivet
blazing cloak
#

Sorry if this is off topic but Is there a reason horizontal layouts arent discussed more often? This design fits 4 meter clips into a 13x12 foot print that is only 3 meters tall. Theoretically this layout is both more efficient for space and material because the opposed autoloaders essentially halve the length of the guage snake.

torn geyser
#

Probably because vertical layouts are a lot more modular/easy and fast to design the exact gun you want whereas horizontal requires unique tetris for most combinations

midnight egret
#

due to the low amount of granularity you may also end up with a decent amount of unused space which people might not like

fair forum
#

one possible advantage is that a piercing shot could take out only a single loader cluster instead of a whole line, but they're much less convienient to fit and don't really have reusable layouts

stoic yarrow
# blazing cloak Sorry if this is off topic but Is there a reason horizontal layouts arent discu...

also, (from what i know) its rare for you to have a space that is that wide but shallow like that. so you'd have to stack this slab ontop of itself, wich would be less space efficient due to the ammount of extra coolers required for connecting when building in smaller spaces, wich would be less when compared to regular tetris. the holes that are gonna form are also more difficult to fill with stuff, and would be more difficult to make, with not many benefits.

coarse rampart
#

Just realised the 3 clip solver could be used for single-input laser tetris as well

neon cairn
#

Kinda yeah

boreal furnace
#

Ofc that is very limited still

hot nova
#

cell types themselves are also very generic

#

I think I saw something about someone exporting all the block types - if I figured out how rotation was encoded instead of just copying the value blindly I could theoretically end up supporting anything, although unsure if anyone would use that

snow basin
#

I am trying to use the APS optimizer and I am getting this error. What have I done wrong?

coarse rampart
#

Read the README.md file on github.
This will tell you that that part must be downloaded separately, and where to download it from.

#

@snow basin

snow basin
#

ok thanks

hot nova
#

Good news: I'm finishing up the implementation of allowing a generated bottom layer of ejectors and ammo intakes for the 3 and 4 clip exports, will probably make a prerelease later today

hot nova
hot nova
#

holy hell I may have finally figured out how to have it not be annoying with .net runtime

hot nova
fair forum
#

cryptominisat sounds so much like a crypto mining library lol

#

next goal: optimize the code so much you finish almost instantly and mine cryptocurrency for a few minutes before returning

boreal furnace
coarse rampart
#

still a pretty sweet deal

hot nova
#

Just had a thought: the code is already in C# - maybe I could eventually make this into an actual FTD mod
Although I haven't made a mod yet so not sure how hard that'd be

hot nova
#

anybody running linux that can help me test a linux compatible version of the solver?
VirtualBox (which I usually use for testing on linux) doesn't work because it doesn't expose the right CPU instruction sets for cryptominisat

torn geyser
#

sure

#

Looks good

hot nova
#

Yay!

hot nova
worthy badge
#

note

#

onedrive ALSO fucks with this

hot nova
worthy badge
#

yeah just an FYI to make sure when you download it you KEEP IT ON YOUR PC

abstract lily
#

lowk taking notes

#

im assuming this is for adding as much power for aps

abstract lily
#

how would someone launch this on linux?

torn geyser
#

it should just work

torn geyser
abstract lily
#

im still somewhat new to linux

torn geyser
abstract lily
#

just saw the linux installation line

#

mb prob got an outdated version

abstract lily
#

ok got it to work

abstract lily
#

i belive in you

abstract lily
#

why did i make my turret 31x31 man its taking like 2 years

fair forum
#

is it still running? I don't think it's going to finish

abstract lily
#

i ended up putting symettry to quadrant for it to finish faster

hot nova
abstract lily
#

now that i think about it

#

wouldnt it be possible to do something like this (or atleast a simplified version of this) for cram too?

#

it wouldnt be the most optimal but its good enough for something to start on

dense comet