• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 03:35:09 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


Screen resolution

Started by Mobius, May 18, 2013, 04:44:12 am

Mobius

May 18, 2013, 04:44:12 am Last Edit: May 18, 2013, 06:50:38 am by Mobius
Hey so, let's continue this here.

Quote from: lirmont on May 18, 2013, 04:00:10 am
Yes, there is a per-game setting you can set that controls window size. However, calculations that rely on an expected size (re: the default size of ~512x488) would need to be identified and rewritten. The underlying engine auto-scales 2d drawings (re: overlays/HUDs) based on resolution. If you start at 256x244 and make the window bigger, then it would just scale those pieces up.


So, it is this default size of 512x488 what I suggest changing/rewritting. Perhaps to the default size of FFT, which is way smaller, or at least having this as size options for us who want to work on this engine. The reasons are plenty.

One of the most important is, we got detailed background tiles that don't go well with FFT sprites scaled to double size in 512x488. Artists working seriously in their pixelwork aren't going to like having higher resolutions on some things and lower res on others. It looks sloppy, to see resized sprites pasted over big resolutions and 3D graphics, even if the textures on the big map is made to look not as detailed. You see this kind of thing often, in plenty of indie games made by inexperienced developers, and most of the times it looks nasty.

A big screen should be the option here, and lower pixel screen the standard, like FFT. Say someone wants to try their hand at a indie strategy game with Tethical. Artists who would want the big 512x488 screen resolution would have to make sprites fitting the bigger size.

As an example is this, I made her to try a different style with Tethical's current resolution size and tiles:



But the truth of it is that FFT sprites, as well as many other sprites, are easier to do because they're smaller. Take less time and all, and would look as beautiful as they do in FFT if the maps were scaled to a smaller screen size. Ideally, the smallest unit of resolution should be the pixel, and the sprites should establish this.

The perfect screen resolution size, to the pixel:
 

And yeah, that would mean rewriting the Hud size, square size, spacing and everything, though. Having the choice to select one of both screen sizes would benefit plenty of us, and attract others to use this engine for their own projects.


In fact. I was talking with Lijj, and we came to the conclusion that there should be the 512x488 screen size, a smaller one just like FFT, as standard, and another one in 16:9, both in small and big sizes. Say..



This would be the small widescreen, double this size for big.


Thoughts?
Now everyone sit down, relax and have a good damned cup of tea.
Then go out into the forest and see the stars.

Then come back and realize it's pointless to be so worked up over what's meant to be our hobby.
That should be my motto here, holy s

Mobius

Hey, seems those tilesets in the screenshots fit my sprite. Check it out



A little experiment.
Now everyone sit down, relax and have a good damned cup of tea.
Then go out into the forest and see the stars.

Then come back and realize it's pointless to be so worked up over what's meant to be our hobby.
That should be my motto here, holy s

Lijj

Another 16:9 ratio screen idea.. I'd like to throw on to the table.
..

Done like this; to fit on a standard montor without any stretch whatsoever, might be cool.



  • Modding version: PSX

Mobius

May 18, 2013, 06:10:40 am #3 Last Edit: May 18, 2013, 06:22:16 am by Mobius
Here's how I would do the screen size for the wide configuration. 320x208 is just lovely.



FFT's screen somehow felt right in Wotl, with the stretching, somehow. The character portraits resembled more their drawn art, and it would make sense that FFT was made with a square screen so it could be stretched with the TVs of the time. Today however, we have widescreen. This screen size I made is a bit wider than the original FFT to fit widescreen and make use of the lovely stretch without overdoing it. Also fits most laptop screens wonderfully.

For comparison:

     


Maybe there could be 3 configurations avilable, like Lijj's perfect widescreen. The more to choose the better, if it's possible, and within reason.


Now everyone sit down, relax and have a good damned cup of tea.
Then go out into the forest and see the stars.

Then come back and realize it's pointless to be so worked up over what's meant to be our hobby.
That should be my motto here, holy s

Mobius

If it helps, Lirmont, you can dump all of the pre-made graphics that are already done-and-working already in the engine so I can resize them for you. Everything, really. From maps to backgrounds, I'll adapt them to the proposed screens.

I just cannot overstate how important it is to resize this to a smaller resolution. In fact it's crucial in order to get some of my sprites and planned effects up and running.

I'll even remake the HUD to a smaller and sleeker style if need be. Just say the word.
Now everyone sit down, relax and have a good damned cup of tea.
Then go out into the forest and see the stars.

Then come back and realize it's pointless to be so worked up over what's meant to be our hobby.
That should be my motto here, holy s

Cheetah

May 18, 2013, 11:24:41 am #5 Last Edit: May 18, 2013, 12:16:58 pm by Cheetah
I think there are a few misunderstandings in here about how resolution works in games. For one stretching is a very bad thing and isn't really something that is chosen to do; it is just something TVs commonly do to make images fit. What normally happens is that developers have a native resolution of whatever platform they are aiming to produce on and that gives them their aspect ratio and resolution. A major piece of porting a piece of software is making a game work in different screen resolution dimensions. Some examples of modern tech:
Samsung Galaxy S III: 1280 X 720
Samsung Galaxy S4: 1920 x 1080
iPhone 5: 1136 x 640

What you are really talking about in this thread is resolution. Right now choosing the resolution of 320x208 isn't particularly realistic. One because I'm not sure anything uses that, but more importantly because it is too small for anyone for anyone to play on natively. We might be used to small resolutions from emulators and just blow it up to make it look good, but you shouldn't design a game around planning on every user not playing it at this resolution. Just double it, or at least make it a more playable large size. Your real problem is then that the native resolution graphics are just way too tiny. That is fine though, you can just have them at x2 resolution, zoomed, so that they fit better but you are at least giving the player a starting resolution they can play at. FFTWotL for instance had all the sprites and maps at ~x2, but then improved the resolution of the portraits so that they could be native resolution. I'm not a big fan of mixing resolutions as a rule, but it looked fine in that game.

No stretching, just zooming. Oh and no HUDS taking up the side of the screen, it is a very outdated practice, looks terrible, and takes away from the emersion.

UPDATE: Here are some examples using the iPhone 5 as an example:
x1: Is obviously completely unrealistic, characters would be too small and you would be showing incredible large amounts of map and filler GUI. Maybe if you made FFT an RTS it would be good.
x2: Could work, characters are still small but a map could realistically fill up all the extra space. Would at least work as a zoomed out mode to see more of the map.
x3: This is very close to the amount of screen for PSX FFT on an old school TV and would just be showing more of the map horizontally. The sprites still look great but they are also getting quite pixelly at this point. Pixel art is a good and popular esthetic right now even when zoomed so it would probably work.
Current Projects:

lirmont

I know there's some confusion about what it means when someone says "Tethical", but there's basically just an engine at the moment. Can that engine be re-configured to do what you want it to do? Yes. Because it's still in early development, I just mean that there are bound to be instances of code that "thinks" in 512x488 (which is clearly an oversight for a reference implementation) rather than SCREEN_WIDTHxSCREEN_HEIGHT. Is the one custom pretty map the only thing you can load into Tethical? No, and you can load any map you've ripped straight out of FFT (and there are pictures if you look in Tethical's main thread). That awesome sprite on that awesome map demonstrates stepping up, whereas a regular type-1 sprite on a regular FFT map would have you right back looking at 256x244 zoomed to x2 (at least, that's the goal).

One of the things about the engine is that it uses a feature I wrote to mimic the concept of a game state. I've written a bunch of these states so far (for a menu screen, for an introduction video, for one type of battle in the form of the FFT battle system). States are called with configuration variables, meaning you don't have to rewrite any code if the configuration variables have the thing you want to change; you can just set the configuration variable to what you want it to be. Because of this architecture, even if there aren't configuration variables for what you want to change, you can write/edit the state's code to do whatever you want (including providing a configuration variable or just hard-coding a behavior), save it as a different state, and just call this new state instead of the old state (if you have more than one game you're developing/planning on running side by side).

The point is, "Tethical" is not bound to: 512x488, maps with 40x40 tile textures, maps with 20x20 tile textures, using shaders, not using shaders, FFT's battle system, my HUD, the images used by my HUD, one game, etc. However, some of the reference implementation states I've written certainly are. For example, the reference implementation for the battle state is completely linked to FFT's battle system. Whereas, if you don't like the resolution of a particular piece (as an example, Lijj pointed out the difference between the resolutions of the Zodiac signs relative to all the other things onscreen in a different thread) you can change it to suit your needs. In fact, you may only need to change the image (ex: Zodiac signs look too crisp -> keep same image size, use less detail and appropriate pixel doubling/zooming; but, you only have to change the image to accomplish the desired look-and-feel rather than code in this example).

The concept of providing a reference implementation (re: a series a states that can be used to make a continuous game) is so that you can change things easily, rather than me just saying right now, "OKAY! The engine is done. Go make some magic happen!" Because that part is done: music can play, SFX can play, maps can be displayed, sprites can be displayed, effects can be displayed, the database can be used to store information and query for information, events can be tested outside of the game's context, events can be called from a state, the server can be interfaced with, etc. But, that's the engine and not a game using said engine. What you see screenshots of are just glimpses of one implementation. If I like 512x488 and resolution mismatches, it has zero effect on what you can do with the engine, because what states you use (and write) are ultimately up to you.

For example, you may have seen the CoP patch for FFT. There are a whole host of states the original game has that the patch does not need. This is a situation similar to that, except every game created using this engine will use some different set of states and sub-set of configuration variables. In fact, there are features you can even let the player choose that influence this situation even more.

Anyway, long story short, I will help you set it up appropriately when you need it.

Mobius

May 18, 2013, 01:11:58 pm #7 Last Edit: May 18, 2013, 01:17:38 pm by Mobius
QuoteWhat you are really talking about in this thread is resolution. Right now choosing the resolution of 320x208 isn't particularly realistic. One because I'm not sure anything uses that, but more importantly because it is too small for anyone for anyone to play on natively. We might be used to small resolutions from emulators and just blow it up to make it look good, but you shouldn't design a game around planning on every user not playing it at this resolution.


The real problem here is that when you expand the resolution to at least double size, the sprites themselves, with their pixelly textures, do not match the more finely rendered 3D background. Especially when said background is at least 20 pixels of resolution per square and is highly detailed.

See the current pictures of Tethical and you will see what im talking about.

FFT's original resolution, when jumped to x2, shows this as well, as in this picture here:



What makes this acceptable is that FFT's tiles aren't that detailed and so do not conflict with the sprites. That and some sort of blur the screens sometimes give it. Those two things make it look acceptable and not that bad sometimes.



QuoteYour real problem is then that the native resolution graphics are just way too tiny. That is fine though, you can just have them at x2 resolution, zoomed, so that they fit better but you are at least giving the player a starting resolution they can play at. FFTWotL for instance had all the sprites and maps at ~x2, but then improved the resolution of the portraits so that they could be native resolution. I'm not a big fan of mixing resolutions as a rule, but it looked fine in that game.


Or we could just have x1 native resolution zoomed perfectly as x2, this way avoiding the sprite alignment vs 3D background discrepancies, and then have a blur effect to make it seamless like it shows in these pictures here. You can see all the 3D graphics here sporting the pixelly goodness along the sprites and being integrated seamlessly:


(x1 native res + blur)


(Without the blur, x1 native res zoomed to x2)

QuoteFor one stretching is a very bad thing and isn't really something that is chosen to do; it is just something TVs commonly do to make images fit.


Not at all, especially when FFT is stretched horizontally. War of the Lions made it look quite heavenly in my PSP, as I recall. Here is how it looked:



But it should be optional.

Quotex1: Is obviously completely unrealistic, characters would be too small and you would be showing incredible large amounts of map and filler GUI. Maybe if you made FFT an RTS it would be good.
x2: Could work, characters are still small but a map could realistically fill up all the extra space. Would at least work as a zoomed out mode to see more of the map.


I don't think anyone will play native resolution at x1 anyways. :P

Understand that, sprites were not made to be enlarged as big as that without some kind of blurring effect to make up for it. We should have the choices anyways. x1 native res heavily supports many if not most pixel art styles people may want to incorporate to their game. x2 is bigger and better when it comes to 3D graphics and big sprites, but zoomed x2 sprites do not go well at all with it.
Now everyone sit down, relax and have a good damned cup of tea.
Then go out into the forest and see the stars.

Then come back and realize it's pointless to be so worked up over what's meant to be our hobby.
That should be my motto here, holy s

Mobius

Quote from: lirmont on May 18, 2013, 01:00:05 pm
I know there's some confusion about what it means when someone says "Tethical", but there's basically just an engine at the moment. Can that engine be re-configured to do what you want it to do? Yes. Because it's still in early development, I just mean that there are bound to be instances of code that "thinks" in 512x488 (which is clearly an oversight for a reference implementation) rather than SCREEN_WIDTHxSCREEN_HEIGHT. Is the one custom pretty map the only thing you can load into Tethical? No, and you can load any map you've ripped straight out of FFT (and there are pictures if you look in Tethical's main thread). That awesome sprite on that awesome map demonstrates stepping up, whereas a regular type-1 sprite on a regular FFT map would have you right back looking at 256x244 zoomed to x2 (at least, that's the goal).

One of the things about the engine is that it uses a feature I wrote to mimic the concept of a game state. I've written a bunch of these states so far (for a menu screen, for an introduction video, for one type of battle in the form of the FFT battle system). States are called with configuration variables, meaning you don't have to rewrite any code if the configuration variables have the thing you want to change; you can just set the configuration variable to what you want it to be. Because of this architecture, even if there aren't configuration variables for what you want to change, you can write/edit the state's code to do whatever you want (including providing a configuration variable or just hard-coding a behavior), save it as a different state, and just call this new state instead of the old state (if you have more than one game you're developing/planning on running side by side).

The point is, "Tethical" is not bound to: 512x488, maps with 40x40 tile textures, maps with 20x20 tile textures, using shaders, not using shaders, FFT's battle system, my HUD, the images used by my HUD, one game, etc. However, some of the reference implementation states I've written certainly are. For example, the reference implementation for the battle state is completely linked to FFT's battle system. Whereas, if you don't like the resolution of a particular piece (as an example, Lijj pointed out the difference between the resolutions of the Zodiac signs relative to all the other things onscreen in a different thread) you can change it to suit your needs. In fact, you may only need to change the image (ex: Zodiac signs look too crisp -> keep same image size, use less detail and appropriate pixel doubling/zooming; but, you only have to change the image to accomplish the desired look-and-feel rather than code in this example).

The concept of providing a reference implementation (re: a series a states that can be used to make a continuous game) is so that you can change things easily, rather than me just saying right now, "OKAY! The engine is done. Go make some magic happen!" Because that part is done: music can play, SFX can play, maps can be displayed, sprites can be displayed, effects can be displayed, the database can be used to store information and query for information, events can be tested outside of the game's context, events can be called from a state, the server can be interfaced with, etc. But, that's the engine and not a game using said engine. What you see screenshots of are just glimpses of one implementation. If I like 512x488 and resolution mismatches, it has zero effect on what you can do with the engine, because what states you use (and write) are ultimately up to you.

For example, you may have seen the CoP patch for FFT. There are a whole host of states the original game has that the patch does not need. This is a situation similar to that, except every game created using this engine will use some different set of states and sub-set of configuration variables. In fact, there are features you can even let the player choose that influence this situation even more.

Anyway, long story short, I will help you set it up appropriately when you need it.




Ok, that is all.

Mockup time
Now everyone sit down, relax and have a good damned cup of tea.
Then go out into the forest and see the stars.

Then come back and realize it's pointless to be so worked up over what's meant to be our hobby.
That should be my motto here, holy s

Cheetah

@Lirmont: You have made Tethical incredibly flexible and editable. I was going through threads today, as I haven't updated myself on the project in a year or more, and the progress is incredible. I was never questioning Tethical in general here, just adding some ideas about how to approach the question of resolution early on and how to design around it.

@Mobius: You have some good points, but I still think you are making an error in how you are understanding stuff around stretching. PSP FFTWotL does not stretch, as far as I understand it. This is one of the major parts of the port. Thy did not stretch the original graphics, they expand the viewing screen to show more. See attached example.

On 3D backgrounds: You make an interesting point about what happens to the textures on 3D backgrounds when you increase resolution and how they end up smoother than everything else. However, I don't think this necessarily needs to be the case. For example in your screen shot of the emulator, I'm willing to bet the emulator has a 3D smoothing option on that is doing that and that you could turn it off to make the textures look blockier again.

On resolution: It is great that Tethical is super flexible, but for a single game you want some coherency in how it is presented. Depending on how you set up the graphics there are only so many ways that things will still look good. I don't think that you necessarily need a blurring effect either to have pixel art look good at blown up resolutions. As I was saying it is a currently popular ascetic (I spelled it wrong the first time didn't I?). Plus, I think that example screen shot from 1990's gamespot is just poor quality and doesn't actually represent a consistent blurring filter. I'm not sure I understand your comment about the x1-x3. They were just some quick examples of what different zooms could look like on an iPhone 5.

PS: Mobius your little experiment with the Tethical textures and your higher res sprite looks incredible.
Current Projects:

Mobius

Quote from: Cheetah on May 18, 2013, 01:39:50 pmYou have some good points, but I still think you are making an error in how you are understanding stuff around stretching. PSP FFTWotL does not stretch, as far as I understand it. This is one of the major parts of the port. Thy did not stretch the original graphics, they expand the viewing screen to show more. See attached example.


 

Soooooo much, I still don't see how you can't see it.  :?

I think they did what I plan to do. Have a wider screen to allow for more visible space, while at the same time a little stretching to it. I'd say half stretch, half added view, of the total space added.


Quote
PS: Mobius your little experiment with the Tethical textures and your higher res sprite looks incredible.


Thank you very much.

You know, if native resolution is at x1.. You have no idea the amounts of pixelwork I could easily implement everywhere. Think FFTA2 and their trees and ornaments eveywhere.

I was even thinking locking the map rotations to allow for static sprites to do as backgrounds, as is in FFTA/A2. 
Now everyone sit down, relax and have a good damned cup of tea.
Then go out into the forest and see the stars.

Then come back and realize it's pointless to be so worked up over what's meant to be our hobby.
That should be my motto here, holy s

Cheetah

Objection! I presented evidence screenshots number 12 & 14. Maybe some stretching is happening, but primarily they are just showing more of the map.

If you are going to keep the angle static, then why even have it be 3D. Just do it all all 2D like the Tactic's Ogre games. You need to design the maps intelligently and it is limiting in some ways, but the PSP Tactic Ogre looks incredible with 2D. I know I'm a broken record Mobius, but you should really just be making an indie game and not an FFT hack.
Current Projects:

Mobius

Quote from: Cheetah on May 18, 2013, 02:11:17 pm
Objection! I presented evidence screenshots number 12 & 14. Maybe some stretching is happening, but primarily they are just showing more of the map.

If you are going to keep the angle static, then why even have it be 3D. Just do it all all 2D like the Tactic's Ogre games. You need to design the maps intelligently and it is limiting in some ways, but the PSP Tactic Ogre looks incredible with 2D. I know I'm a broken record Mobius, but you should really just be making an indie game and not an FFT hack.

Indie games? I will, just not today. Perhaps some other time, heh.


Pixel maps is a very big temptation, at the cost of sacrificing map rotation..

Think of Tactics A2.. Gorgeous.


Perhaps some stages could have them, not all. We'll see.
Now everyone sit down, relax and have a good damned cup of tea.
Then go out into the forest and see the stars.

Then come back and realize it's pointless to be so worked up over what's meant to be our hobby.
That should be my motto here, holy s

Lijj

May 18, 2013, 07:12:23 pm #13 Last Edit: May 18, 2013, 11:20:31 pm by Lijj
Tethical's Engine is amazingly mutable. I was relieved to read that changing even the overall res is not too much.

Quote from: Cheetah on May 18, 2013, 11:24:41 amNo stretching, just zooming. Oh and no HUDS taking up the side of the screen, it is a very outdated practice, looks terrible, and takes away from the emersion.

How is that exactly outdated?.. I reckon you mean in phone/ mobile games & I could see why. but as far as a solution to implementing widescreen I think it's perfectly logical. Since it basically makes the most out of it in terms of filling space & keeping the square shape of the battle mode. I don't really recommend it since the original FFT wasn't that way and it'd stray too much from FFT's design. But if ever made my own tactical game that would seem proper for today's standard screen.

EDIT: if anything looks terrible in my own opinion Cheetah, it's all the negative space in the expanded views. Not only more negative space, but showing more exposed map edges too, makes the maps seem less realistic somehow; more like little models.
Though I suppose larger maps could help with that.

About maps, and this is important I think. I like the idea a lot of having pixeled maps like TO had but since FFT already had low poly maps and simple textures so should the sequal. AAANND it's way less work.. cause the tiles could be done pretty fast.. I like that feature too, they did it just right with the simple low color textures at bigger res that fit either doubled or at the same res as the sprites perfectly.


My textures, made before I really got it, were low color but too busy. I like how they match better with Mobius' sprite better than my chibi hd ones oddly.

I think keeping the native res small would be best and just having it meant to play at 3x or 4x. That's how I personally love to see games and I only play pixelly games. They look great big if done well. I just played through King of Demons from SNES at 4x on my big monitor and it was perfect.. it's a really well done side--scroller, I just dl'd the translation from Romhacking.net.
  • Modding version: PSX

Lijj

Did some minor research to compare the proposed resolutions.
Since FFT at 512x480 was stretched to 640x480 to fit NTSC TVs, I see no problem stretching from Smash's res (2:3) to 16:9.
Though I'd probably prefer to not stretch pixels at all.. eitherway here is a list of some gaming device resolutions and the numbers.. food for thought is all.

GBA:                                                             240x160, aspect ratio: 3:2, total pixels : 38,400

Smash's res:                                                  320x208, aspect ratio: 3:2, pixels 66,560

Mine based on 20 pixel squares:                         320x180, a.r.: 16:9, pixels: 57,660 (so many less for a mere cropping)

the 16 square based one just for the heck of it:   256x144, a.r.: 16:9, 36,864

PSP:                                                              480x272, a.r.: 16:9, 130,560

SNES most common mode:                               256x224, a.r.: 8:7, 57,344
  • Modding version: PSX