Space Cargo Tetris, Palette Generation
Hey all, let’s talk about fun stuff.
Kuiper Cargo
Adam Saltsman, creator of Canabalt, co-founder of game publisher Finji, and known Mixolumia fan, put out a little Pico-8 falling block game called Kuiper Cargo that you can play in your browser.
The game is about packing your spaceship with cargo as efficiently as possible, but over the course of a run, you upgrade your potential to pick up higher-value packages and skip items that you don’t want. So later in the game, you are keeping your eye on the price of each piece and doing little calculations to judge whether a package of that size is worthwhile.
There’s some inspiring stuff here with player-directed progression. I really like the idea of the player earning their way towards higher reward but also greater challenge. Definitely taking notes for Project Hakblok.
My current high score is Guild Rank 17. Reply to this email and send me your scores, strats, and thoughts!
Generating Color Palettes
I mentioned that I was experimenting with random color palette generation in Mixolumia, and some people were interested in hearing some of the technical bits of that.
A Mixolumia color palette consists of 6 colors: The background, the board, and the four blocks. The main consideration I have for usability of a color palette is good contrast between the background and blocks, so I start out by picking a background that is very dark or very light, and then choosing the opposite for block colors.
This is a little harder than it sounds because GameMaker has functions for entering colors as RGB (red, green, blue) or HSV (hue, saturation, value). I won’t get too deep into color theory here, but the issue with HSV in this use case is that if you want a light color, cranking up the saturation and value only gets you to the most vivid version of that hue, and some hues are objectively darker than others! At max value, you have to then decrease saturation to make it lighter.
Many art programs have another model for picking colors called HSL (Hue, Saturation, Lightness). In this case, the most vivid version of any hue is at 50% lightness, and moving it up brings the color closer to white.
This isn’t perfect, but generating colors with HSL and then converting to HSV for Game Maker has been giving me much more usable results.
The other ingredient in generating color palettes is picking a color scheme. I pick a random hue for the background color, and then choose one of the following for the relationship between the rest of the colors:
Monochromatic - All colors are the same hue.
Analogous - All the hues are close to the base color but randomized within a certain range.
Complementary - All the hues are either close the the base color OR its opposite color.
Triad - Hues are picked from three areas on the color wheel at equal distance from each other.
Spectrum - I split the color wheel into even quarters and pick a different hue for each block, with just a little random variation for flavor.
And that’s basically it! I just tuned the probabilities and random ranges for a lot of these things until I got results I liked. I’m not sure when I’ll be pushing another Mixolumia update because I’d like to make it a meaty one, but I’ll definitely let you know when this comes out.
Bonus Nonsense
I made a little jam by sampling audio from a scene in the show Halt & Catch Fire. This is one of those things nobody but me wanted.
@mixolumia.com on Bluesky
got your juice i see
Until next time!
Dave