Ambiera Forum

Discussions, Help and Support.

Ambiera Forum > CopperCube > Help with CopperCube
PS1 Style Effect?

denko
Registered User
Quote
2024-01-13 23:06:31

Anyone got an idea on how to get a similar effect in Coppercube?
https://steamcommunity.com/workshop/filedetails/?id=2787075675


Guest
Guest
Quote
2024-01-14 00:49:30

The effect you demonstrated as an example doesn't quite capture the PS1 aesthetic accurately, in my humble opinion. Nevertheless, you can try some of the following tricks to get as close to the PS1 style as possible:

1. Use low-poly models.

2. Set the maximum texture size to 256, with an average texture size of 128.

3. Avoid dynamic lighting; stick to static/vertex lighting only.

4. Skip filters; turn off the default bilinear filter. Stick to flat and/or Gouraud shading.

5. Posterize your textures to around 16 colors or consider using a color palette. Implement dithering and avoid gradients.

6. Opt for blocky fonts.

7. Consider reducing the audio quality.

8. Perhaps limit the frames of your animations.

9. Implement billboards to further reduce geometry.

10. Consider reducing your draw distance.

11. Use fog to conceal the poor draw distance and pixelated backgrounds.

If you're considering using a shader like the example you posted, some people use Reshade for that purpose, although I'm not a fan of that solution. For those with programming skills, drawing effects to the screen using CC's JS API, such as scanlines, is an option. Anything too advanced may require a custom shader. You might find these resources helpful:

https://vazahat.itch.io/screen-s...

https://www.ambiera.com/forum.ph...

Good luck with your project.


okeoke
Registered User
Quote
2024-01-14 00:53:44

First of all, it doesn't look anything like ps1.

In order to reproduce the same effect, you need to 2 things:

1. go to publish settings, set window mode to fixed size, set resolution to 320x240 or similar and enable full screen.
2. you need some sort of distortion shader (vhs distortion for example). I don't think anyone published something like that, but probably you can usehttps://vazahat.itch.io/screen-s... to get a similar effect.


VP
Guest
Quote
2024-01-14 01:33:19

15 bit Colour Pallete:
Simulate with 256 Colours 8Bit dithered

Texture Size:
Used mainly 128x128 pixels (256x256 max for high detail)

Fullscreen Resolution (not all games used same resolution):
PAL with 4:3 aspect ratio @ 50Hz, 25FPS
256 x 480px
320 x 480px
512 x 480px
640 x 480px

Max Polycount per scene, per second:
90,00 polygons textured, with lighting and gouraud shading
320,000 polygons with just Flat shading

Extra:
Just use a transparent alpha png overlay for the scanlines _ I shared one on my itchio page_ and if you want to use a shader, use a light blur of 1 pixel radius just to simulate a TV screen stretching the psx output resolution.


Sam
Guest
Quote
2024-01-14 11:35:48

Don't forget

No mipmaps.

No texture filter

Since its fillrate was so low and it was single texture per surface.
no multipass. so no lightmaps or detail maps.

And the horrible thing I remember most, lol
The lack of texture correction (some games did it in software later on) even quake1 software on a had correction every 16 pixels.


denko
Registered User
Quote
2024-01-15 20:31:58

Thank you for all the answers, it really helps me out.


Guest
Guest
Quote
2024-01-15 22:51:07

@denko

You're welcome, friend. Personally, I think that CC is more suited to PS2-style graphics than PS1. You might want to consider adopting a hybrid graphics style. If you're creating an analog horror game or any analog-style genre, the goal is not to be 100% accurate with the aesthetic, but to use modern capabilities to emulate (or approximate) that old-school, nostalgic feel. PS2 had a bilinear filter and more forgiving texture sizes. I don't think it's possible for you to remove the bilinear filter on CC's terrain. It's also a bit of a hassle to turn off the filter for each model unless you program a plugin to do it, which I have done. Many people forget to do it and end up shipping their game with one model that is pixelated and another that is blurred. In my opinion, it's better to be consistent. Take all of this into consideration. Good luck


denko
Registered User
Quote
2024-01-15 23:25:05

Guest


Thank you again friend, you've been a great help!

Would it be possible for you to share that plugin with me? Here, or by mail?

Thanks!


Guest
Guest
Quote
2024-01-16 04:30:27

@denko

Here's the link to the plugin:

https://files.catbox.moe/lvzzue....

The plugin only works on nodes with the following types: meshes, billboards, particle systems, and skyboxes. Any other node type will trigger an alert to inform you that the node type is invalid. Unfortunately, animated meshes and terrains do not work. However, you can work around the animated mesh issue by taking the texture of the mesh and pixelating it using an image editing software like GIMP or Paint.net. Start with a small value like 2 and be consistent. The same approach can be used for terrains, but it might be better to create your own terrain meshes in a 3D modeling software like Blender instead of using CC's terrains.
The plugin can be toggled on or off by pressing Alt + F. It affects the first bilinear filter setting in CC's irrEdit/irrLicht window. The rest of the bilinear filter settings seem to have no effect and should be ignored.
I hope this information is helpful to you


just_in_case
Moderator
Quote
2024-01-18 05:12:18

@everyone suggested you the best you can do with the CopperCube to get the retro games look for your game.

For my screenspace shaders, there is a version with the VHS distortion effect, it lies in my Discord server, and it is only for the directX platform, for now. I never pushed that as an official update to the extension on itch.io, so if you want you can grab that code from the Discord server.

Also regarding the script posted by @Guest, for turning off the Bilinear filter on all the objects at once, the script can be improved and will work with almost every object, including the animated meshes, and all.


You can use the nested for loops, to go through each child of the root scene node, and then can use the material count, for each node, and can simply do another loop there for the materials, and update the material property.

No need to check the node type, and use the geometry API to get the mesh buffer and all.

@guest if you want to update your script, there is actually a plugin in my Discord server, that checks specifically for a node type and change the visibility. It actually is a plugin to quickly hide and unhide all light nodes in the editor. Maybe you can utilize that plugin, and can create the better script for you, so that you can turn "Billinear Filter" on or off for all the nodes at once.

If I will get time, I will create a plugin similar to this :)


writer
Guest
Quote
2024-01-18 12:14:46

[quote] wrote:
@everyone suggested you the best you can do with the CopperCube to get the retro games look for your game.

For my screenspace shaders, there is a version with the VHS distortion effect, it lies in my Discord server, and it is only for the directX platform, for now. I never pushed that as an official update to the extension on itch.io, so if you want you can grab that code from the Discord server.
Please send us the link here


Guest
Guest
Quote
2024-01-18 20:21:04

@just_in_case

I was programming (well, reprogramming) that in the middle of the night during a fit of insomnia and must not have seen that you can actually turn off the filter on animated meshes. The crazy thing is, I saw it work on trees for the terrain, but I guess the 512 x 512 resolution textures on CC's soldier prefab were too high resolution for me to notice any pixelation. So, meshes, skies, particles, billboards, and animated meshes will all work. Now, the question is whether or not the bilinear filter on the terrain can be turned off somehow. I've never tried it, but maybe a shader can be applied to the terrain? If so, maybe then some sort of sharpening filter could work for that? I mean, I am fine with not using CC's terrains because I can do all that in Blender with finer controls, but maybe some other developers would still like to use it. The horror game guys on Itch certainly do because I noticed the blurry terrain with their pixelated meshes. Anyway, thanks for the tips, and I'll update the script with your suggestions later today.


Guest
Guest
Quote
2024-01-19 00:38:50

Well, that was a mistake on my part. I've figured out what I was doing wrong. I completely forgot about the 'ccbGetSceneNodeMaterialCount()' function. Now, this plugin allows you to turn the bilinear filter on or off on a global scale. It's much better than before, and it even works on animated meshes and terrains. I suppose that getting the buffers was preventing me from turning off the bilinear filter on anything but meshes. Well, you live and learn. Here's the link:

https://files.catbox.moe/d1mnyz....

P.S. This code is considered CC0 and is freely given to the CC community to post and share however and wherever they like, with no credit or permission required.


Guest
Guest
Quote
2024-01-19 01:21:08

Meh. Slight update: I decided to make the plugin turn on/off all the bilinear filters, such as "BilinearFilter1," "BilinearFilter2," etc. This way, new people won't be confused, I guess. That should be it.

https://files.catbox.moe/94jq6n....


just_in_case
Moderator
Quote
2024-01-20 07:36:34

Nice one @guest, glad that you updated the plugin by yourself...

@writer for the Discord server, I have posted links si many times, it is not possible to pinn posts in the server.

Anyways here is the link to the server
https://discord.com/invite/RKcq8...


Create reply:


Posted by: (you are not logged in)


Enter the missing letter in: "I?ternational" (you are not logged in)


Text:

 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


   






Copyright© Ambiera e.U. all rights reserved.
Privacy Policy | Terms and Conditions | Imprint | Contact