Skip to main content

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

Thanks a lot, I am glad you enjoyed it. Let's go a bit deeper on some of your points. I really tried to keep things short and on point on the article, generally for each example a lot more could be said. Le tme add some short notes to your questions:

a) rotating the sprites: There are countless games which have sprites drawn in 8 or 16 directions. Both retro games and modern indie games. Usually you see it with things like arrows or other projectiles which are used a lot, where you then jgot 8 or 16 sprites for them.
Yes you don't have to clean them "necessarily" up, you could get away with a single picture. but still usually a set of multiple cleaned up sprites is used, of which then each direction gets rotated with a smaller distortion of the rotation. but the wording is chosen the way it is to emphasize the point.

b) Games which first render to a low res and then are scaled up:
THat's generally the "low-resolution setup" as described later in the article.
if you render to a low resolution first and then scale this up you also run into problems with laptop screens or any hardware which is not an integer-scaling multiple of the small resolution you have

c) There is however no agreement if the user then stretches the view."

developers understand soemthing as pixel-perfect for their game. And some end-users understand  soemthing as pixel-perfect which has more to do with what options to choose. Let's say you got a game like Cross-Code (568x329 px native resolution) or Blazing Chrom (427x240px native resolution) - just by the setup the programming side chose here there is no way to ever show those with nice integer scaling on most screens. So if the end user just chooses "full-screen" for them, you end up with a slightly blurred/stretched image. Generally as a developer you can provide options for your user and you can choose a basic resolution, but the user might not display the game you intented as a developer. And a lot of users also talk about "pixel-perfect" games, just by the way of the options they chose to display them.

1.) I also like this option, but it really depends on the original system system. If you want to code something like this you go with the "low resolution-setup" and add the shaders on top.
It's however hard to put all of the specific retro choices into a simplified term because the tech-limitations of each retro system differ.

2.) That's exactly what the "high-resolution setup" provides.

(1 edit) (+1)

Ah yes, you are correct, of course many sprite based games have hand drawn artwork for each direction. It's just that, the way I read it, the article seemed to tell the user; if they want to avoid seeing rotated pixels they needed to hand draw the sprites. So I was responding to that.

> "but the user might not display the game you intented as a developer"

Well, its your game, they can only choose the options you provide.  It's true you can just let your "full screen" setting scale to fill whatever display the user has, it's certainly the easiest option, but the developer has final say - it's just whether or not you want to take on the extra work of designing how the game behaves on the different display sizes.

Eg. for my game HopSquash! when the user undocks and goes to handheld mode which is 1280x720, I scale my 480x270 game up 3x, and then I only had to crop 1 row of tiles off the top, and 1 column of tiles off either side, and the pixels stay sharp.  Cross Code and Blazing Chrome could do something like that if they wanted, Most displays on desktop are 1920x1080 or 4k. But it's not free of course. You have to add the extra work of designing your game like a mobile game or a website, where your game has to be "responsive" to the likely different display sizes.  I had to make sure all my levels were playable without those extra tiles on the edges :) I don't know if I'd bother with this for every game, it certainly does add extra work, but the point is the control is always in your hands, you just have to test on the different hardware.