Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

First of all, thank you so much for taking the time and effort to write such a detailed and thought out response! Much appreciated!

So, for this game, I made the sprites at (basically random) larger sizes in GIMP and then scaled the image down to 64x64 or whatever to then be imported to GM2. So basically if I had "nearest neighbor" selected before scaling down in GIMP the blurriness/etc. would not have appeared?

Following your example, how did you decide on a resolution of 480x270? And how did you know to draw the sprites at 36x24? In my head, I would think that to apply the 16:9 aspect ratio to a 36x24 sprite would mean you want a resolution of 576x216 for the game (as that is the result of 16*36 and 9*24), but I must be missing some key part (more likely parts) of this.  I'm also confused by game resolution vs. viewport vs game window, are those terms interchangable? Sorry for all the questions, I am very new to this stuff.

I will be checking out both of the links you sent me, thank you again.

No worries, if you don't get a chance to answer all those questions, you have already set me down the right path :)

(+1)
if I had "nearest neighbor" selected before scaling down in GIMP the blurriness/etc. would not have appeared?

Correct, you would not get blurriness, but I would still advice trying to draw your sprites at their final resolution and avoid scaling them altogether.

how did you decide on a resolution of 480x270?

So, 16:9 is the most common aspect ratio with 1080p (1920x1080) being the most common monitor resolution used according to steam. Your game's resolution is gonna depend on various things, mainly the kind of game you are making and your art style. For pixel art games you normally pick a low resolution that scales cleanly to as many resolutions that use 16:9 aspect ratio, especially to 1080p. Most common game resolutions for pixel art games are 320x180 and 640x360. I picked 480x270 because I felt 320x180 was too low resolution for my game as I wanted higher detail on some aspects of the game that I couldn't get with that resolution. I could've tried with 640x360 (might still try later), but I felt 480x270 was good enough for what I wanted to make.

480x270 scales cleanly (as in you multiply both numbers by integers) to: 960x540, 1920x1080, 3840x2160. So I got the most popular resolutions covered.

This video by AdamCYounis may help you on choosing a resolution.

how did you know to draw the sprites at 36x24?

I usually start by creating an image the size of the game's resolution filled with a single color that would represent the background of the game (green in this case). I then draw a sprite on a different layer of that image trying to keep it at a size that makes sense. For this game, I knew I would need to place many sprites of around the same size on the scene, so I drew the cow's sprite small-ish compared to the game's resolution. I populated the full image with copies of the sprite to make a mockup of how the game would end up looking. When I was happy with the size of the characters, I then just copied the cow sprite to a separate image of the resulting size (which was 36x24) and exported that image. I later made all other sprites using the cow sprite as reference for size.

You don't really need to confine your sprites to 8x8, 16x16, 64x64, etc. as modern game engines don't have problems with sprites of resolutions that are not powers of 2. There is a benefit to using sprites of sizes that are powers of 2 when it comes to texture page sizes, but I wouldn't worry about that.

game resolution vs. viewport vs game window, are those terms interchangable?

The game window is the final size that your game is rendered to. A game window with a different size than your game's resolution will scale or not scale your game's resolution to match it. Whether it scales your game or not depends on how you set it up. I don't remember for gamemaker, but in Godot there is a stretch mode and aspect settings that you use for this. On itch, the embed size is basically your game window size. For example, I chose 960x540, so my game is scaled to that resolution for the embedded version and, because of the settings I used in Godot, the game is scaled evenly without adding artifacts to the image. Note that the version of Godot that I am using currently has a problem with some web browsers (Firefox at least) and itch web embed, so it might pop-up a new window instead of playing embedded in the page. 

A viewport is an area of the game window where your game will be rendered. Generally, there is a main viewport that you draw your game to, and this main viewport can be composed of one or more viewports. For example when making splitscreen games, you can use one viewport for each player's camera view to be displayed.

Game resolution is the resolution of your main viewport, this will get stretched (or not, depending on settings) to the player's game window.

I know it seems complicated, but you really get used to it with practice. Just keep making games, following tutorials. and trying different things and you will get the hang of it.

I hope this helps!

(+1)

Re-reading this now and just wanted to say thanks again for being a big homie and dropping knowledge, you da man!!