Pixelated Roblox Part 4!

is it me or is it absolutely broken

2 Likes

it just looks like static, with a little bit of rendering in the corner

1 Like

how do i fix the static its so annoying

1 Like

its permament for now, code is broken, somebody need fix it lol

1 Like

Now you could make Wolfenstein 3D or Doom ^w^

1 Like

Hee hee, the issue was REALLY facinating, the pixels are usually obtained via their instance name, and I set the name to their position on screen. For some reason, that frankly I’m not sure of, that solution had a bug that didn’t appear until just now where the numbers would have small fractions added to them. The fix was simple, I just rounded the numbers and it works like a charm! So exactly what @ThePlayer0229 said.
Also made the UI nicer like this asked: Pixelated Roblox Part 4! - #39 by Ethanthegrand14

1 Like

oysi 2.0 (12398182381289235390132)

1 Like

In the edit mode it’s still broken

1 Like

I am currently working on implementing parallel lua, and I am not NEARLY smart enough for it so it’s taking a long time. The published version is the working one without parallel. Sorry for the inconvenience, if you want I can send you a copy of the functional studio in DMs.

Pfft trust me, my pixel renderer REALLY blows for something like that compared to @Ethanthegrand14’s Raytracer model. You REALLY have got to check it out, I can’t stress enough how much cooler his design is than mine.

2 Likes

Still a pretty impressive render for what you did in 2020!

check out oysi, he did a raytracing thing in 2011

You could partition the screen in “chunks” and have all these “chunks” be processed by different actors, making it parallel. You will still need to synchronise when setting the UIGradients, though.

I greedily merge pixels together (to reduce the number of instances).

The performance is terrible though.

I also added an infinity mirror. Its just two plane mirrors parallel to each other. Will also add a spherical mirror. Currently the resolution is set at 96x96 pixels.

I actually tried this and no matter which way I did I actually didn’t see any significant improvement in performance, as a matter of fact a saw zero change in all of my benchmarks.
I really tried every data structure I could think of and no matter what I did it was as if nothing changed. I know parallel lua can improve performance for this case because I saw the roblox official demo do it. They used none of the performance enhancing techniques I employ in mine and yet saw better framerates despite that.
Clearly I’m doing something wrong, but the documentation on parallel and actors at the moment isn’t very informative.

Simply looking at the frame rates when its running serially (64x64) and when parallely with 16 actors and 16x16 part of the screen distributed to each (totalling to 64x64) shows a marked improvement in performance.

My implementation can be run parallelly or serially.
Multiple configurations for the same resolution (say 64x64) can be achieved when running parallely -
16 actors x 256 pixels,
4 actors x 1024 pixels, etc

with 1 actor x 4096 pixels being equivalent to running serially while 16 actors x 256 pixels gives me a better performance on my 6-core laptop.

BTW, I was able to get a glimpse of 512 x 512 pixels resolution too. Although the frame rate was like 1 frame per hour :joy:

Here is the place file:
Demo.rbxl (301.8 KB)
(The above place is only for demo purposes. The map was taken from toolbox.)


512x512 resolution.

Also, I noticed you are using UI gradients as a way to simulate multiple pixels, its genius! But is it better than greedily merging frames together? Could you benchmark?

How in the world are yall guys even getting colors on the gui?? I thought it was impossible. Is it raycasting or what?? what witchcraft is it? (pls tell me)

Yup it is in fact raycasting.

You simply cast a ray of a certain length from the position of the pixel (frame object in my case). If that ray registers a hit, use the color of the surface. If the ray does not register a hit, just paint it blue (the sky!).

How would you get the color from the ray if theres a decal, or texture?

Now that is a tricky thing. I have not been able to do that. I just get the color of the part.