Giter Site home page Giter Site logo

Comments (5)

tommyettinger avatar tommyettinger commented on August 21, 2024

It would be best to implement .pal palettes first; if I recall correctly they are a very simple format. There's a loader here. Colourlovers, oddly, places Creative-Commons-style licenses on their palettes, but you can make your own on their site and be unhindered by anyone else's license.
This originally suggested .act but Adobe's spec is, strangely enough, proprietary.

from squidlib.

tommyettinger avatar tommyettinger commented on August 21, 2024

I'm starting some very preliminary work on this; now put methods in SquidPanel can take (char, int, List) or (char, int[][], List) in addition to x and y and such. The int is just an index into the List, so this should be extremely simple to deal with from the programmer's side (as long as he/she doesn't remove colors from the List), and maybe won't even need an external format? Some predefined Lists for the popular Dawnbringer palette, the NES, Amiga, or other console palettes, etc. might be good. DungeonUtility can produce an int[][] of indexes from a dungeon of the kind it generates, too.

from squidlib.

tommyettinger avatar tommyettinger commented on August 21, 2024

So, a lot has changed in the last 16 months, and Filters.PaletteFilter allows a lot of this to be automated. In the last commit, I added DawnBringer's 16-color and 32-color palettes to SColor; automatically replacing all colors with one of the 16 colors looks fine, but oddly the 32-color palette looks less readable. I'm not sure external palette file formats are worthwhile to bother with parsing, since there are tons of formats, all incompatible. I think in many cases, very-low-color palettes are a disservice to the roguelikes that use them unless all of the colors are both a) not ugly by default and b) customizable for people with some form of color-blindness or simply different visual preferences. The customizable part we can do better on.

It's possible that a color filter could automatically alter colors that are close to pure-red or pure-green, so red becomes more orange and green becomes more cyan/teal (like modern stop lights). <EDIT: It turns out red-green color-blindness is significantly different from what I was envisioning, and brightness changes should be more useful than hue changes for the two most common kinds of color-blindness.> It wouldn't help for people with total color-blindness, but content-heavy text-based games (other than ones that use grayscale or black-and-white coloring, e.g. the original Rogue or The Slimy Lichmummy) would generally need to be designed specifically for the fully-color-blind audience to be playable at all. The next commit I make should have a simple red-green-color-blindness-accessible filter.

from squidlib.

SquidPony avatar SquidPony commented on August 21, 2024

It seems like this one is closeable, but @tommyettinger I leave that to your discretion

from squidlib.

tommyettinger avatar tommyettinger commented on August 21, 2024

Yeah, we have the red-green colorblindness filter working, though I'd like some feedback from someone with that condition on whether it helps or not. Being able to customize the filters would be a good goal for the future, so a player could have the game configured to do something like what Pokemon Red and Blue did when played on a GameBoy Color, with different tints applied to a grayscale basis as desired (perhaps to play in stealth mode at work?). I'll close this and work on any palette-based stuff as it comes up.

from squidlib.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.