Page 2 of 2
Re: Raycasting engine in factorio
Posted: Sun May 31, 2020 6:29 pm
by Qon
I love it! Already subscribed and watching your progress though
Re: Raycasting engine in factorio
Posted: Tue Oct 13, 2020 2:45 am
by jade52blue
This is so cool! I'm feeling inspired to build out a CPU in factorio, and i hadn't really thought of a raycaster but i'm definitely going to try to build toward something similar
Re: Raycasting engine in factorio
Posted: Sun Nov 22, 2020 7:04 pm
by arrow in my gluteus
I've created a new video, explaining how I did sin() and cos():
https://www.youtube.com/watch?v=FSy9UKs9eeY
Re: Raycasting engine in factorio
Posted: Mon Nov 23, 2020 3:26 pm
by Amarula
This is amazing! Thank you!
Re: Raycasting engine in factorio
Posted: Mon Nov 23, 2020 5:12 pm
by NotRexButCaesar
I was surprised how accurate the approximation was. It's almost like it was made my Ramanujan or something.
Re: Raycasting engine in factorio
Posted: Fri Nov 27, 2020 4:04 pm
by MrRozdor
If you're interested, I've made sin(x) with precision 10^-9 using taylor series. Computation of sin(pi/3) takes 29 ticks.
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
Copy blueprint