Working with HD graphics in C2

Discussion and feedback on Construct 2

Post » Fri Oct 02, 2015 1:22 pm

I'm about to begin my first project using HD graphics. There are a few things I'm a little confused about. I would appreciate some input by someone who's worked with HD graphics in C2 before.

1)Do you import your images at full size and downscale them in the layout editor? I noticed this makes sprites look better when zooming in the camera, but they look bad at the normal zoom level. They don't look as good as the source image at any zoom level though...

On the flip side, scaling down the source images makes sprites look bad when zoomed in, but better at a normal zoom level. I'll also save a lot of memory that way.

2)If so, do you draw everything "to-scale" and then downscale it by, say, 50% in the editor? Or is each asset individually scaled to your liking?

3)Linear or point sampling? With pixel art this makes a huge difference. In my tests with HD art it was exactly the same...

4)Does source image size affect performance at all? Or is it just the size of the object?

Any other tips or tricks? Hell even a basic rundown of working with HD graphics would be nice. There seems to be a number of options here and I'm just not sure what's best. I've only used pixel art for 8 years!
Image
B
243
S
30
G
13
Posts: 1,787
Reputation: 18,770

Post » Fri Oct 02, 2015 1:37 pm

Source size determines memory usage and I guess pixel fillrate but that's not a problem normally. Memory is the main concern.

I work with a HD project now (my sig), my images are exactly the size they need to be as in-game sprites, so there's no re-sizing.

This loss of detail you describe actually happened to me before, I made a post about it.
viewtopic.php?f=146&t=152811

Ashley clarified something that was very useful to know. It's the mipmaps that C2 does in the engine that causes blurry loss of details for some sprites. You can disable that by setting Downscaling quality to LOW. Sprites will remain crisp at any zoom level, including default.
B
70
S
24
G
19
Posts: 1,757
Reputation: 17,614

Post » Fri Oct 02, 2015 4:10 pm

wrong. source size doesn't determine memory usage. at least not in a way i am thinking you think it does :D
if you have 1000x1000 img - saved as 32bit png and another saved as 8bit png.
when they are loaded in memory, both will be 1000x1000x32. so what's the difference? the 8bit png will be far smaller, but colors won't be as good on 32 bit, also transparency data will be lost. but if image is clean with no transparency - 8bit will save you 3/4th. how - first image will be saved as 3.81 mb and second one as 0.95mb. but in memory both will be 3.81mb, and you lose some coloring / transparency with smaller. ofc you could use some optimizing software to make pngs lesser but again.. it comes with a cost :)

and size - you can use higher and resize, but i recommend that you put them all in game as you need them like silver said.
Sea Monsters template - Isometric
Also includes 40 pages PDF of optimizations and "how-to" for your games, and how the "sea monsters" template was built. Follow link for details :)

sea-monsters-templates-and-assets_t162705
B
43
S
14
G
12
Posts: 626
Reputation: 9,450

Post » Fri Oct 02, 2015 4:45 pm

@saiyadjin I think you misunderstood that part. If source image is 1000x1000 then it does not matter if you scaling it up or down in the game cause it will use same amount of memory.

Questions is , for example for 720p game. Is it better to make you sprites 1024x1024 - and scale it down in C2 to 512x512 - so you can zoom in/out to maintain image detail, or to make sprites 512x512 from the start (which more less will use twice less memory).
ImageImageImageImage
B
157
S
66
G
42
Posts: 2,603
Reputation: 35,343

Post » Fri Oct 02, 2015 4:50 pm

My advice is to make a game as it would be typical low-res pixel art game, 1/4 or 1/2 hd, using for example 32px tiles. And for example you have texture 128x128px scaled down to 32x32 in the layout editor. Then you can adjust the zoom to show more or less. This way you will keep layouts small, and have less graphics. With this you can fairly easily transition between high and low quality renderer. Also controls seam more responsive.
png8 is smaller file therfor it loads faster, so try to have as many of those as you can, even try to lower number of colours where possible.

I follow this rules, and have pretty good results.

In terms of sampling, I think you will have to select it to your liking.

[email protected] Forgot to mention that I make my projects with full screen in mind.

[email protected] sorry for a bit of chaotic response today. You can add shaders to make things look better, even thought original graphics would be mid-quality. You can separate graphics in to low quality objects in the back and high quality in the front. Strict tiles and then higher resolution none-tiled objects. But also it all can depend on the type of the game however. Could you share with us what is the game you're making in hd?
My professional Royalty Free Music at Scirra Assets Store
--------------------------------
Specs: i5 2500, 16gb of ram, gtx 770, win 7, Focusrite Scarlett 8i6, Mackie mr8mk2, Alesis 320, browsing the net on chrome.
B
89
S
30
G
22
Posts: 1,985
Reputation: 20,099

Post » Fri Oct 02, 2015 6:05 pm

@shinkan - oh yeah, i thought he asked for files, i noticed now what was the question :) you are correct :)
Sea Monsters template - Isometric
Also includes 40 pages PDF of optimizations and "how-to" for your games, and how the "sea monsters" template was built. Follow link for details :)

sea-monsters-templates-and-assets_t162705
B
43
S
14
G
12
Posts: 626
Reputation: 9,450

Post » Fri Oct 02, 2015 6:20 pm

With high-res resources, you probably won't know what you actually need until you have most of the content in place - my advice would be to :

- keep very high-res or vector graphics in your art asset repo in parallel of the game
- during the level design phase, use 1:1 mid-res graphics ; this gives average quality/memory for quick iterations
- when you have most of the content in place for one given scene, do a quality/memory balancing pass and apply "per-entity" logic : because this entity will scale up you might a hi-res image for it, while this one remains small so might go with even lower res, etc.

It's hard to find a common rule (e.g. "downscale everything 50%") that fits everything
Image
Game Producer & Independent Developer - http://raphaelgervaise.com
B
24
S
9
Posts: 237
Reputation: 2,232

Post » Fri Oct 02, 2015 7:32 pm

I don't recommend downscaling things in layout, instead make everything 2x and use a layout scale of 0.5. Tiled backgrounds doesn't allow scaling it's graphics, so if you downscale everything else the tiled backgrounds will still remain low resolution. Alternatively you can make everything 1x and only replace the image files directly in the images folder by a 2x version, I'm not sure if this only works after export though.

If you want a smooth look on downscale make sure to use only power of 2 images so they get mipmapped. Otherwise they may display some artifacts similar to pixel aliasing. Play a little with the "Downscaling" option on project properties to see what works best for your project.

In general it's better to use linear sampling for HD graphics, but if you are going for a pixelly look with blocked colors point sampling may look better.

I'm not sure if the source image size affects performance, but the screen render size (canvas size) does if the "Use high-DPI display" is set to "no". By the way, I highly recommend setting it to no. You can then leave an option to adjust the canvas size (like set resolution) to get better performance for weak hardwares.
Scirra Employee
B
153
S
53
G
17
Posts: 710
Reputation: 17,825

Post » Fri Oct 02, 2015 7:35 pm

Animmaniac wrote:I don't recommend downscaling things in layout, instead make everything 2x and use a layout scale of 0.5. Tiled backgrounds doesn't allow scaling it's graphics,


I must add that I didn't mean tiled backgrounds, but tiles made out of sprites.
My professional Royalty Free Music at Scirra Assets Store
--------------------------------
Specs: i5 2500, 16gb of ram, gtx 770, win 7, Focusrite Scarlett 8i6, Mackie mr8mk2, Alesis 320, browsing the net on chrome.
B
89
S
30
G
22
Posts: 1,985
Reputation: 20,099

Post » Fri Oct 02, 2015 7:40 pm

Animmaniac wrote:...If you want a smooth look on downscale make sure to use only power of 2 images so they get mipmapped. ...


Mipmaps are created from exported by C2 sprite sheets, right?
So if you design your sprite frames so they all end up on one (or more) 1024x1024 (or any other power of 2) sprite sheet all should be fine.
ImageImageImageImage
B
157
S
66
G
42
Posts: 2,603
Reputation: 35,343

Next

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 18 guests