Pixel Perfect Retro Game Tools (any interest?)

Hello everyone,

I’ve been using Unity for quite a few years now and mainly make 2D pixel art/retro styled games with it. I was wondering if anyone in interested in an asset to easily render to a specific resolution (160x144 for a Game Boy styled game for example) and have that be scaled up to fit the screen with a few options (filtering, stretching,…). I’d also be interested to hear if there are any other pixel art/pixel perfect/retro game features you’d like to see in an asset like this. Thanks in advance :slight_smile:

Here are a few gifs of the games I made/am working on:




4 Likes

Hi,

Not sure about the functionality of the tool, you would possible need to go in more details. There is something on the asset store already for pixel perfect scaling.

I am currently not doing anything in that style and would likely implement what I need myself. One thing I thought of when I did a retro game a while back, was screen wrap functionality, supporting unity physics - did not need it in the end, but that felt like an unresolved niche.

This post is mostly to see if there is any interest in any pixel art related tools. It would be a free asset btw, as I just want to help out anyone else wanting to make pixel art games :slight_smile:

Do you perhaps have a link to that asset?

Aaah yes, I wanted to do the same for the planet game but couldn’t figure it out. Definitely something to think about.

Thanks for your reply though :slight_smile:

Traveling and writing from mobile… I think the asset is called pixel perfect camera (by link sorry)

I think if you plan to release something for free, it changes the angle. I would assume anything that is a bit abstracted that worked for you could help someone… your games look very nice by the way

Ah yes I know that asset but what I have is slightly different.

I totally agree :slight_smile: And thank you very much :smile:

Here’s a short GIF to show what the camera script does:

3308944--256915--PixelRenderer.gif

3 Likes

Your pixel perfect asset looks great! All pixel art must be drawn at the original size? Or it can be scaled? For example I want make small and big enemy. Can I increase scale of the enemy without problems? Do your asset works good with rotating sprites?

Thanks :slight_smile: I don’t know exactly what you mean but what I do is decide on a resolution for example 320x180 (scales up perfectly to 1280x720 and 1920x1080). Draw everything for that low resolution if you want pixel perfect graphics. Of course you can also use the asset for a low res 3D game :slight_smile: Rotated sprites also look exactly like you’d expect them without any blurring/filtering.

1 Like

Thank you for the answer. Does this asset works with different aspect ratios? For example with 16:9 and 21:9 monitors. As i understand, you change the display resolution. Does this method have advantages over using a render texture with the selected resolution?

Would be great if your asset will be able to work in any aspect ratio of the screen creating more or les horizontal pixels but with a fixed number of vertical pixels. Do you use Screen.SetResolution method? I heard that it does not work the same in all platforms. Have you tested your asset on different platforms?

The goal of the asset is rendering to specific resolutions so you can make games that really look like ones on any old system (160x144 for a Game Boy game, 256x224 for a NES game,…) so it’s intensional that there is black around the screen. There are already other assets to do what you say :slight_smile:

I am using RenderTextures and after rendering I do some calculations to display the result centered and as big as possible in the game window.

I’m not using Screen.SetResolution, it should work on any platform though I don’t know how fast it’ll work on mobile though (because of the RenderTextures, I don’t know how fast they are).

1 Like

Thank you for the clarification :slight_smile: Did i understand correctly, that for pixel perfect graphics all my sprites must have the equal “Pixels Per Unit” parameter?

No problem :slight_smile: Yes, you should ALWAYS use the same Pixels Per Unit value!

Hello. I tried to use the render texture for pixel perfect rendering. I had a problem. The position of sprites can only be an integer. Otherwise, the sprites begin to move unevenly. I can not use the rigidbody 2d component to move them. I even can’t use Time.deltaTime function to make the player movement code framerate independent. How did you solve this problem? Is it possible to use the rigidbody2d component with pixel perfect rendering together?

You have to make sure that your render texture filter mode is set to Point (not Bilinear). Personally I don’t like using the standard physics and collision system of Unity for a pixel art game but it should be possible. Maybe instead of an asset I should just write an article on all my findings :slight_smile:

1 Like

I already use point filter for the render texture and for sprites. However, the sprite begin to move wrong and jerky when I change the position of this sprite. I did everything based on the algorithm described in this video
https://www.youtube.com/watch?v=eN1zV0hlkso

Maybe I made some kind of small mistake. I can drop you the project folder with render texture and sprite (in private messages). I would be very grateful if you take a look at my method and tell me what’s wrong with it (of course, if it’s not hard for you).
PS: I think that the article will be pretty useful.

I just made a video of my Game Boy styled game called Nonsense at Nightfall which uses this asset/script :slight_smile:

2 Likes

This is exactly what I am looking to do myself. In my case, I am looking to make a faithful port of a homebrew Atari 2600 game, and I want it scaled only in integer boundaries to the largest size that would fit in the target display window. An asset would be wonderful, and an article would be even more valuable!

1 Like

It’s been a while since I’ve worked on the asset or with Unity in general but I’ll definitely get back to it :slight_smile:

2 Likes

I’d love to use this asset!

1 Like

Still planning on releasing an asset/article in the near future so look forward to that :slight_smile: I’m currently focusing on finishing Nonsense at Nightfall.