Comments (9)
This is just premature optimisation, as Zitchas said webp is not as widespread as png and jpeg.
If we really wanted to save space and time we could think about saving precompiled pictures. But that's for later down the road.
I am also against adding webp support as that would be another dependency of the project (we already have a lot).
from endless-sky.
Heic is proprietary to apple and requires a paid subscription on non-mac machines
from endless-sky.
To be honest, I detest dealing with webp stuff. Not everything opens it, and everytime I get an image in WebP it just means extra work. I convert everything out of WebP at first opportunity.
So aside from windows 10 needing a paid subscription (which I'm not paying, thank you very much.), how about those on variations of Linux and older Windows? Currently, our only graphical requirement is "Runs OpenGL 3.0 or greater". I don't think the gains are worth changing that to "Runs OpenGL 3.0 and has WebP support".
edit: I'm not against ES having WebP support, and if someone wants to use it to make a "extra-compact" version with it, great! I know there are some players for whom every Mb counts. But I really don't think it should be the standard.
from endless-sky.
I feel the discussion slightly beside the point: User or developer platform is irrelevant. You're ultimately preparing some storage into textures ready for the render pipeline - so it depends entirely on the library used to load those textures, including licensing.
another dependency of the project
To the point, but maybe whatever you currently use already has more options?
If at all, I'd consider going for one of the formats meant for 3D textures, as only those can give you the best mipmaps, as those will improve scaling on 2D markedly too. Venerable dds (even foss games used that iirc) or ktx/zktx or maybe I'm way out of date...
from endless-sky.
I don't know offhand the differences between the formats, but HEIC is another modern image codec designed to be more space-efficient. I would suggest it also be considered, and compared, before deciding on a format.
from endless-sky.
So far as I can tell, it is not proprietary—it is an ISO standard, and can be implemented by anyone. According to https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format it is fully supported by Windows 11 and Android—it requires a paid purchase for Windows 10 to support specifically the ones that Apple creates by default (HEVC encoding), but not the format as a whole. It's not clear from this whether it's a one-time purchase or a subscription.
Do you have a source that contradicts this information?
from endless-sky.
There is one drawback of using lossy compression for storage: Generational Loss
WEBP supports lossless compression though, doesn't it? Since you say this, I wonder, are lossless WEBP images not actually meaningfully smaller than PNGs? Using lossy compression for game graphics is an absolute no-go out of principle IMO.
Something that definitely can and should be done (literally right now, whoever has the knowledge to PR it neatly – I'll probably mess it up) is re-saving all the PNG images currently in the game with the maximum compression setting of 9. I always run downloads of new game versions through FileOptimizer (except the Shuttle's top-down graphics, which it corrupts) and found that some of the newer graphics added (e.g. the Fusion Cannon projectile) are practically uncompressed.
from endless-sky.
meaningfully smaller
At best 30%, expected (my guess for ES assets) nearer 15%: https://developers.google.com/speed/webp/docs/webp_lossless_alpha_study#results
A meaningless difference if the code loading them into textures needs new libraries. Also, supporting a FOSS-hostile Kraken.
from endless-sky.
I feel the discussion slightly beside the point: User or developer platform is irrelevant. You're ultimately preparing some storage into textures ready for the render pipeline - so it depends entirely on the library used to load those textures, including licensing.
A couple things here.
a) As a project with no formal organization, there's no entity to sign or pay for a licensing agreement.
b) One of the core tenets of the project has been that end-users can add their own graphics and data as easily as pasting a random image from their picture folder into the correct location, along with <5 mins of editing with their preferred text editor. I am aware of a number of contributors, myself included, who have contributed both code and content with this level of software.
c) As an aspect of B, we've made something of an effort to ensure that all the content (visual and otherwise) remains easily accessible to everyone in order to encourage community participation and contribution.
d) Low appetite for putting work into adopting things that are hostile to FOSS.
In summary, if something makes things harder for the general userbase to view, edit, and work with the files, it's not a good fit for Endless Sky.
from endless-sky.
Related Issues (20)
- Holding J does not work in wormholes HOT 4
- Human spaceport news is providing out of date information regarding drones
- Intro [2 Interceptor] HOT 4
- [Bug] Hyperspace lag when transitioning between systems when compiled using the debug profile HOT 12
- Dynamic Camera is jarring on take-off of newly purchased ships
- INFO: Discussions aren't followed by default in Github. HOT 5
- Missions with only illegal passengers and not cargo are not illegal HOT 3
- Support for other languages HOT 1
- The requirement for Puffin is unnecessary HOT 5
- turret arc could be simplified to one value instead of two as a min and max arc HOT 8
- mission "Lunarium: Smuggling: Heat" does not get offered HOT 7
- Add "game rule" to disable fighters not getting hit by stray shots when disabled. HOT 2
- Escorts/NPCs will still fire at non-target disabled fighters/drones despite them being invulnerable
- Typo in archaeoology missions.txt
- Hide empty mission description pane HOT 3
- `die` does not block player interactions HOT 3
- Sorting an empty ship list crashes to desktop
- Tutorial/hint text that shows guns/turrets can be manually swapped around in Ship details screen HOT 13
- Diversification of the help system
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from endless-sky.