Intro
Recently, I develoepd a little kit to emulate the graphics of the N64. I did make this about a month back, but I didn’t have the ability to post on the forums despite using them for years. I though I’de show what I managed to put together.
Setup
To set this up, simply import it into roblox. You can find it here. Simple drag the surface gui from the part into startergui, as instructed. Then, open the script under the surface gui named “setup”. It will contain simple setup code to run on game start along with a description of how to configure it. It is as simple as that. You can just continue to build like usual, but the world will look like the N64 graphics.
How it works
The script begins by placing a part resized to fill the screen infront of the player camera. It has our surface gui, which has our viewport frame. Imagine this like a VR headset with a game playing. What the script then does it wait sometime and then clone everything from the workspace, and set its transparency back to whatit was as everything in the workspace had it’s transparency set to 1 and its original tranparency saved to a numbervalue under it named “t”. It positions all these blocks from the workspace and basically shows them on the viewport frame. Imagine it like taking a photo a every so often like a camera, but this camera instead clones everything and makes a 3d picture of everything around it. Finally, it moves the camerqa. This is actually a seperate script, which runs twice as many times as the duplication script. The key factor that makes this work is the fact that surfaceguis can have their resolution changed and that viewport frames can allow us to display the workspace to the player within this surface gui and to only update evry so often (which is why it looks like its running at a low fps)
Known issues
For some reason, the hitboxes are jank. I don’t know why. maybe I’ll take a gander later.
Try it Youself!
You can test out the script here in a little tech demo I’ve created
Here is a video I created showing the before and after
Credit
Although I wrote the entirety of the script, it is actuall a combination of scripts by these two:
- The low framerate effect (demonstration of concept of ByteBlox)
- The pixelation effect (tutorial by BloxyHDD)
Now, it’s not a direct rip. I did a lot of the heavy lifting to make these 2 play nice, but it worked in the end.
Thanks for reading! This took my a decent amount of time to code, and while to write all this as well.