flareteam / flare-game

Fantasy action RPG using the FLARE engine
http://flarerpg.org/
Other
1.13k stars 239 forks source link

Larger Resolution Icons at the same menu / screen / monitor size (e.g. 128x128 icons) #879

Closed WithinAmnesia closed 2 years ago

WithinAmnesia commented 2 years ago

I have a deep desire for better icon resolution possibility for the Flare Engine (e.g. 128 x 128 pixel icons).

I know that Diablo II has larger icon sizes where as the largest icon in the original Diablo II used 32 x 32 sized icons for one 'icon tile' out of a possible 2 x 3 = 6 'icon tile' Examples:

World of Warcraft uses item icons of 56 x 56 (64 x 64 with borders): https://wow.zamimg.com/images/wow/icons/large/classicon_warrior.jpg (64 x 64 'barely looks okay')

Baldur's Gate uses 64 x 64 pixel 'icon tile' size and I can very much tell the difference of 32 x 32 compared to 64 x 64 (for I have made many Baldur's Gate item icons: https://www.deviantart.com/withinamnesia/gallery/51118284/baldur-s-gate-path-of-the-lost-odyssey )

Path of Exile uses 78 x 78 item 'icon tile' sizes; Path of Exile is kind of a retread of Diablo II but with more content. The ~same inventory system of items being made as Diablo II 'icon tiles' ranging from 1 x 1 'icon tile' to 2 x 4 'icon tile'. So in theory 2 x 78 = 156 and 4 x 78 = 312. Examples:

Diablo II Resurrected uses 98 x 98 pixel 'icon tile' size Ring: https://www.purediablo.com/wp-content/uploads/2021/04/ring4.png (98 x 98, 98 x 1 = 98) Body Armour: https://www.purediablo.com/wp-content/uploads/2021/04/goldskin.png (196 x 294, 98 x 2 = 196 and 98 x 3 = 294)

All of these games pretty much use the same size / ~'screen real-estate' on the player's monitor to display roughly the same size item icons in roughly the same icon density per 'icon tile'.

I am hoping that Flare engine can somehow have the option to support higher resolution 'icon tiles' (128 x 128?). Yet keep the inventory 'icon tiles' using the same ~monitor / 'screen real-estate' as before; same proportions yet with higher definition. The old art is in 32 x 32 pixels per 'icon tile' so if they were could be scaled up / up-scaled / simply by multiplying the icons by ~4 to make 32 x 32 into 128 x 128. All of the old icons could stay the same and look the same yet the whole engine could hopefully render with 4 times more detail (with higher resolution [128 x 128 icons] art assets added in piece meal / bit by bit to start).

To have the old icons still be usable in a 4 times higher resolution display rendered for the Flare engine (~'just') take the "icons.png" file and times it by 4 from 256 x 1,024 into 1,024 x 4,096 [do not use 'soft edges']. All other needed preexisting Flare engine art (the menu art files) can be up scaled / image resolution multiplied by 4 to scale up the art assets images to work at higher resolutions. This saves a lot of work (new high resolution 128 x 128 Flare icons that can optionally be done later) for the Flare engine rendered resolution can be multiplied by 4 without needing to create more high resolution art assets from scratch to start. Does the ~'Flare HD' prototype increase the screen resolution rendered or does it just zoom in and use bigger sprites?

I hope that the Flare engine could support higher resolution 'icon tiles' (by example 128 x 128; or the current 32 x 32 multiplied by 4) so that as 4k monitors become standard and eventually 'old tech' by the next decade / 2030's that what ever games made with the Flare engine can have a chance / the option to support higher resolution 'icon tiles' (if not higher resolution art in general) to hopefully stand the test of time.

WithinAmnesia commented 2 years ago

That is really excellent, the 128 x128 icons are working.

https://cdn.discordapp.com/attachments/872743295003000852/930688541720211466/unknown.png Now with all of the screen resolution is it possible to upscale all the assets by x 4 and have it loot the same as before with the old up scaled assets but have 4 times the pixel density so that new assets can be made to gradually replace the up-scaled low resolution assets?

I am not sure how that would work but if the tiles and spirits / animations are 4 times larger (x 4 sup scaled) they would look the same but have 4 times the pixel density / resolution. Now I understand icons are one thing and tilesets and animations are another.

Although how complex would it be for 'FlareHD light' / Flare x 4? If I made all of the old art assets scaled up the same as the icons (x4 in scale) would this work with making the tilesets and animations? How would the Flare engine be able to run these 4 times larger tileset and animations? Is it very complex? Or is it something doable? Can this idea even work in the Flare engine with the rest of Flare art be up-scaled / enlarged by 4 times to match the icons and take advantage of the 4 times increased pixel density?

This FlareHD light / ~'Flare x 4' would not require new art assets effectively (just simple scaling to nearest pixel edits). I am wondering if it would be a nightmare to render the tilesets and animations 4 times larger to match the x 4 time resolution like the icons?

Is this a reasonable idea or is it out for lunch XD? I know making new art is a hard thing to do but up-scaled art could be easier? I am not 100% sure how Wandercall handled the resolution although I like the original scale of Flare but I am hoping for x4 times more pixel density; yet using basically the same but x 4 up scaled art assets to start ~'Flare x 4'?

Is this asking too much and or is there a huge unseen complexity that is hard to over come? I am wondering if 'Flare x 4' can be achieved or not in a reasonable manner. As in kind of like what happened here with the 128 x 128 icons success; but for the tilesets and animations. Is it possible to run all the original art assets of Flare yet with x 4 the pixel density and hope they still work in the Flare engine?

If so then this could open the doors for the community to make higher resolution 'FlareHD' assets but at a reasonable pace with still using original Flare x4 enlarged / up-scaled assets as placeholders. This could take Flare from 2000's art into the 2020's art and add decades of life to the art and I think with x 4 the pixel density that the Flare engine can make some really amazing games. Although it all comes down to figuring if it can be done early enough I feel. I really hope that 'Flare x 4' can be reasonable to do for it can lead to some amazing looking games that graphically could stand the test of time.

Danimal696 commented 2 years ago

Sorry to crash conversation, my two cents, WithinAmnesia your screen is too big for your own good ; ).

For the art upscaling there are some solutions, first there is an "item camera setup" in the art repo (git-flare\flare-game\art_src\icons\artifacts) it works with any item, save for needing importing and manually rotating of the item; it ouputs whatever size you want, the bad thing is that some items are too "plain" when rendered. The plain clothes for example, so in the past someone painted over them to improve their looks, you might need to play around with noise textures/normals to avoid hand painting.

Other solution would be AI upscaling software, sorry but i only know it exists, nothing else. But it could potentially upscale everything by itself.

WithinAmnesia commented 2 years ago

Screen sizes are only going up though. The march of technology seems to never stop. If it takes myself 5 years to make a great game worth playing for the entire world; then it will only be enjoyed in the late 2020's and into the 2030's. During a time and space wherein player expectations of high resolution graphics will be blazingly apparent.

I got my 4k screen in 2016 and now there are 5k and 8k on the market and soon more with the high pixel density / 10K+ in the mid 2020's / with very high resolution VR technology currently taking off. All of the Flare graphics will be very dated come the 2030's. They already look very 2000's and I am hoping that with some technical work / know-how the framework for 'Flare x 4' can be implemented / tested so as to have a viable realistic route to FlareHD and or new games with new high resolution art assets.

With 'Flare x 4' it will not look HD right away but it (hopefully) paves the way to Flare HD eventually bit by bit if the framework is there with 4 times the pixel density. As in then once all of the 'Flare x 4' original x 4 enlarged assets can (hopefully) run smooth / stable, the new high resolution art can be made into smaller tasks and done over time. Then this segmented / gradual / transitionary / spread of the work load can hopefully increase the chance of success for Flare HD; verses it potentially forever being on the back burner without 'getting over the first major hurdle'.

I know that it sucks to do but there are only so many original assets to x 4 enlarge and battle to get them to work at x 4 within the in game resolution. The Flare game / assets being made with tiles and shared standardized art assets is an insane help here to alleviate work load. For all of the shared graphics only need to be up-scaled by x 4 in the art source (tilesets / animations .png's) and not going map per map and character per character.

The tiled nature of the Flare engine / Flare game gives an advantage to increasing the resolution of the art assets (even if we just use x 4 enlarge original assets to start / as a placeholder). For once the x 4 higher pixel density / higher resolution / tiled art source images are able to run smooth / stable in game with Flare; we effective have opened Pandora's box with Flare HD.

I know from way too many failed and scrapped and backport/retrofit killed projects that game engine work is very hard and rare to achieve. While HD art can be more easily sourced and there are a ton more artists than there are people like Clint and Justin. Hell even I can do HD art and I suck at coding XD!

I realize that I am not the only one working with the Flare engine and assets. Yet for example of an immediate boon if 'Flare x 4' can be made stable enough before I go and build a massive game; I can make all new assets with x 4 graphics that will be high resolution and add decades of life to the game. I have a Castle that needs to be made into a (hopefully x 4) tileset to start one of many new tileset art assets to run with the Flare engine https://www.deviantart.com/withinamnesia/art/Balduran-s-Sea-Tower-Redesign-W-I-P-17-818093805 .

I do not want to go through retrofitting hell again with making an RPG so I'd rather get this last major issue dealt with (if it even can be reasonably dealt with) and I am really hoping that this is the last major 'engine' / Flare feature / upgrade I have to ask of / do before I can start mass producing levels and assets and start hammering out an RPG on a massive scale. I know that I am pretty much at the mercy of Dorkster and the community here but if Flare x 4 does work then it would add decades of life to Flare project and derivative video games.

I am really hoping to make a very special game that can be enjoyed for decades to come; just as in like Diablo I and Diablo II. Also I reflect upon as how Diablo II Resurrected's high pixel density / high definition graphics has most definitely brought Diablo II into the 2020's graphically and added decades of life back to Diablo II. I realize that a great game will take years to develop. Perhaps such an aim towards realizing a great game will take 3 or 5 years realistically with dignity to get through alpha and launch version 1.0; with the video game being developed only by myself and a handful of friends.

I realize that such a great game will take over a decade to perfect and support a community for a game worth playing at launch and decades after. I am building towards my first commercially viable video game in the hope of realizing a life long dream to raise a medieval fantasy series and setting into the cultural stratosphere. Where my hopes and dreams of a series of video games worth playing can thrive long after I am dead; perhaps then I would be able to die in peace with the fulfillment of my dreams.

I hope that this struggle for Flare x 4 can yield results for I realize that if Flare can have x 4 the pixel density it removes the overall low resolution graphical presentation to the player base. Thus with higher resolution graphics Flare can compete toe to toe decade after decade with AAA games and studios; yet without requiring 100+ people and millions of dollars to create. Thus enabling the entire world of everyday people rich or poor to be able to make high quality R.P.G.s with the Flare engine and the open source art assets into the 2030's and beyond.

It is a long shot perhaps to ask for Flare x 4 but the reward for the community is insane verses the the potential hard fought battle. I sincerely hope that Flare x 4 can be achieved in spite of my own short comings. For the benefit for the whole community present and future, Flare x 4 to pathfind the way for Flare HD would be a game changer forever.

WithinAmnesia commented 2 years ago

This should be possible with Flare 1.13(R.C.2). Although the DPI is still an issue and requires a manual override still https://github.com/flareteam/flare-game/discussions/887#discussioncomment-2020131 . If the DPI manual override can be solved (to have non-buggy start up / easy player presentation) than this issue should be possible and working for 128x128 icons and Flare x 4 G.U.I. / H.U.D. components.

WithinAmnesia commented 2 years ago

I'll make a DPI issue to focus on that. I should close this issue, 128x128 icons work, it is just that the DPI is not automatic, which is an annoying issue but a work around does exist (manually changing the DPI override for windows).