Roguelike port?


idk im terrible at reading spreadsheets we are doing defines and naming the indexes in code just to save the insanity, its a but oldshool but it works

for these new type of sprites, idk yet these going to have to be made by hand atm


Ok, no worries. If you prepare an example sprite done this way and I am sure I can figure out how to make the rest of them, so once I narrow down on main color palette I can start translating them to that :slight_smile:


@VonBednar keep the number of colors per tile to 4 or less and we can do lighting exactly like on that Brogue example

This overprinting idea of @adekto is a good idea, but it is not needed. The idea with a tilemode is that it goes over the screen once and draws all tiles as needed on the go. There is no idea in drawing the same areas of the screen many times, because it is the addressing that is slow, not the pushing of the data. So make 4-color tiles if you need them, use any 4 colors you want per tile, and we can reduce intensity per tile on the fly if needed.


Ok, so as long as I have <=4 colors inside a sprite I am in the clear? That would be awesome news!

I am shooting for a 16, possibly 32 color basic palette (so most stuff would use only those colors). Then we can generate shadows/light and such on top of that and add more colors. I can easily create ramps for shadow/illumination if that would help.

Edit: fixed the wording so it is more understandable.
Edit2: Would it be ok to have a different basic palette by tilesheet?


proposing the crypt 14x14 optimized 1 color format since its so specific to this game

full red green blue bytes pact in the last bits and the yelow is the background color index from the pallet


The color information needs to be in a separate palette. This is because I want the tile system to be usable in many games, not just this.

If @VonBednar comes up with a palette that has 32 colors, 4 ramp values each, it will be a beautiful palette to use, because we can then use values from ramps according to the amount of light & visibility per tile.

So each tile uses the 00,01,10,11 for pixels of 4 different colors + there is a table that points each tile to an index in the 256 color palette. Each index has 100%, 75%, 50%, 25% value of the same color, in 4 consequtive entries. Then, using an ofset of 0…3 the correct colors are used in drawing the tile. In this way, a 4-colored tile can be “faded to black” in 4 steps, which is more than enough for our purposes.

I hope I am able to explain in an understandable way


It makes sense to me.

I need to head out, but I will try to get the palette done by the end of day.


hmm ok i can still do the indexing with the extra data of the sprite


Ok. But I am pretty busy with other KS things at the moment.(among other things) I am double checking the LCD specification drawings, as production begins on monday and I do not want any screw-ups. They would be extremely costly for the project.

It means I will not be able to focus on this for a couple of days.

There is a saying: “assumption is the mother of all screw-ups” and that is so true. It has burned me time and time again. So nowadays I don’t assume with critical stuff. I check and check again.


sure thing dont worry about this, its a community effort, we will figure it out eventualy


Which is exactly why you need access to the whole thing and we need a core team to take care of the internal bits aka the core that actually draws the screen. But more on that later


yea sorry i have not applied to core team, since i feel like im under qualified XD


I don’t know if it (such a team) is a good idea or not. Its just the core stuff is easy to mess up, thats why I feel it needs limited edit access. But we’ll see.


How about using those bits as attribute flags? We can info on if the sprite is solid, does it move etc in there.


I think the original reason for the 16x14 was that there was some problems in converting the graphics?

The system can draw 14x14 bitmaps. BMP2POK is converting them already. We don’t need the extra bits

Edit: I will check this. But I think the original reason for 16x14 has already been fixed

Ah no. Yes you are all correct. 14 is 7 nibbles, which doesn’t work in 4 color mode. I was still thinking about our original 1-color scheme

odd number of nibbles could be made to work but its such a pain that I dont want to do it. Maybe someday


yea your losing allot of memory (shown in green)

so this is another proposal so those bits could be used for indexing the pallet know wich 4 colors to use in a 64 color pallet
we got so much waist right now we can change the color pallet every line


Because I had to travel, didn’t have time to finish the palette. I made a decent dent in it. Let me know what you think.

I was going to keep enemies to single color, but the rat just looks too good with pink tail :smiley: I might experiment with adding extra color to enemies…and probably tweak the dark green, because it is too dark for enemies.

I am starting with basic 16 colors. Those will be the saturated lot, for enemies and other entities that player can interact with + walls. Basically everything that is critical for playing!

The color 1 is a placeholder for the floor (which I will be almost black/color0) it will be a ramp for one the grays.

I am now working on greens and browns so they work with each other and are not too similar to other colors :slight_smile:

Edit: Quick question @jonne. With the ramp system, will it be ok if I assign a color to sprite that is not on the top of the ramp (e.g floor color which will be a 2 or 3 down from either brown or gray)? Also, can we make ramps up (added illumination) if needed (for things that can lit up like lava)?


This is a killer idea. We could do lava, flickering candles, blood fountains, saturday night fever disco floors… everything an Undead Playboy Mansion needs!

If you have not seen this speech, it is well worth a watch:


Yeah, I have seen Mark Ferrari’s talk, love his palette swapping trick :slight_smile:

I will add some sprite for stuff like lava and other stuff that will cast some light (we already have the candelabra and the fire pot wall ornament, but I think few more light casting objects would be good.


define light casting?
like casting on other sprites to be diferently colored?