Roguelike port?

I have to say, even with the 16x16 tiles, there seem to be enough space on the screen for the game in @adekto’s screenshot . After all, doing a "full"roguelike in the vain of the classics like nethack or adom is kinda beyond the scope. So we don’t need to see the whole dungeon at once, and we can concentrate more on room by room gameplay that is more what many coffeebreak roguelikes do,

Anyway, I had to postpone my research and playing with the tiles until later in the weekend. Will be back with findings.

im not sure what you would gain with a full map at all times, isnt there like a fog of war (idk a better name for those)
where you cant see whats not in your proximity,
also we can add a minimap in the menu system

Powder looks very promising.

This is at Pokitto width and 16 colors

5 Likes

you sure about this? i mean thats using all colors already, im not sure you want use to make a new roguelike or port powder?

1 Like

Not sure. Thinking out loud. But Powder is a really good RL

The main thing, I think, is the fact that since it was made for GBA it has a really good UI for limited (non qwerty) keyboard

I doubt we could fit Powder completely. Maybe we can take good bits from it as a basis (ui)

I think going the 1-bit way will be better if we consider the physical size of Pokitto’s screen. It will be much more readable and give it a good vintage feel. Not to mention, having a 256 colors would help with the games readability greatly. We can have a color reserved for player sprite, doors and other important things, so a player can see the most important situation at a glance. It would also allow us to make “leveled” enemies by tweaking their colors and make enemies easily distinguishable from background by using saturation.

Anyway, here’s a quick 1bit mockup with 11x11 tiles.

The game would definitely be doable in this size. There is plenty of space for game and even losing 2 or 3 rows or columns for some stats would not hurt. There is a big BUT.

Having tiles size with odd number makes it more difficult to make background tiles. This is because the many patterns would not work. Of course having a power of 2 would be optimal for tiling, but even having a 12x12 would help a lot (at a cost of 2 rows and columns).

1 Like

That mock up looks very nice. Having single color sprites is a great look and probably a good way to go.

As for the sprite sizes, I’d reserve part of the screen as gui space, then put the tiles. Kinda like how adekto did it. If you did 8 by 8 sprites you could display a map of 26 by 11 on the screen. Then reserve a 12 pixel column for the static gui

I think these mockups look really good.

I kind of like the 1-bit style more than the full color tiles.

Somehow @VonBednar sketch has the “right proportions” to my eye. The right amount of visible area vs. the characters.

The big question to me is should we start from scratch or start from an existing roguelike? There is much, much more to a roguelike than meets the eye. Personally I would be inclined to start from an existing codebase.

FYI: the high res mode for the sim that enables this kind of graphics is coming up very soon. I am working on it right now.

3 Likes

Thanks for the kind words guys, I am glad you like it :slight_smile:

@trelemar - There a two problems with smaller sprites. First, we (or at least I) won’t be able to make a good single color sprite in that size. With only 64 pixels per sprite to work with, we will end up wither with very simple/cutesy sprites, or ones that do not read well of what they are. Secondly is the physical screen size of Pokitto. Such small sprites will be difficult to read and the player will have to rely solely on color.

As for the static gui. I think a single 11 pixel row would be fine (either top or bottom). This would hold text with player’s HP, level, etc. and the current action when pressing A (so when standing over an item you pick it up, standing next to a door you can smash it) The rest could be done by popup menus when you press B.


@jonne - I would start from scratch, borrowing from existing roguelikes. Personally I would be happy to design the underlying systems. I feel I have enough experience in both roguelikes and pen and paper rpgs to make something decent.

The problem is I wouldn’t be able to program it in C (as I only have a familiarity with lua), so we would need a dedicated programmer for that. Also, we would need to tackle the dungeon procgen or find a decent library for it, because it is above my programming skill level.

That link made me recognize your immediately. You made TIC-80’s font! Maybe you recognize some of my stuff:
https://trelemar.itch.io

As for Lua, it’d be amazing to be able to make games for pokitto with Lua. Not really sure if it’s possible but that would be so fun. Having a simple API with such an easy to learn language would sure pull in a ton of pokitto devs. Just a pipe dream I’ve always had.

But yeah I agree with the sprite size after you pointed that out. 16 * 16 is probably the best bet.

1 Like

Yeah, I recognize your stuff! You make some awesome things for TIC-80.

…and yeah, I made the font for it :wink:

I am just now checking 12x12, which would make a 18x14 tile screen using 216x168. I will post back with a new mockup soon.

I will try 16x16 (which will give us 13x11 with some extra space on the side) after that.

Edit: 12x12 mockup. Patterns work fine with that and add a little more interest to the scene, but we are losing a bit of a visible area. The character sprites don’t really benefit that much from the extra pixel.

3 Likes

Awww! That is so nice! Pokitto approves!

3 Likes

since highres cga is out now

added bar to get rid of waisted space, but maybe some text would have been better idk

still would have a menu ontop like before

4 Likes

I want to play this game. Now. Lets get this on CGAjam. When was the deadline? :grin:

cga-jam
June 15th 2017

not allot of progress since the image converter is broken
doing these by hand at the moment

anyone got a good level gennerator that emulates @VonBednar concept? less rooms more coridors and keeping the 2 tile wall hieght in mind
`
if you wanna use these here you go, will do more tomorow if the converter isnt fixed yet, or il write my own XD

const uint8_t sprite[][38]={{12, 12,
0b00000000,0b00000000,0b00000000,
0b00000000,0b01010101,0b01010101,
0b00000101,0b00000000,0b00000000,
0b00010000,0b10101010,0b10101010,
0b00010010,0b10010101,0b01010101,
0b01001011,0b10101010,0b10101010,
0b01001110,0b11101010,0b10101010,
0b01001011,0b10111010,0b10101010,
0b00010010,0b11101110,0b11101110,
0b00010000,0b10111011,0b10111011,
0b00000101,0b00000000,0b00000000,
0b00000000,0b01010101,0b01010101,
},
{12, 12,
0b00000000,0b00000000,0b00000000,
0b01010101,0b01010101,0b01010101,
0b00000000,0b00000000,0b00000000,
0b10101010,0b10101010,0b10101010,
0b01010101,0b01010101,0b01010101,
0b10101010,0b10101010,0b10101010,
0b10101010,0b10101010,0b10101010,
0b10101010,0b10101010,0b10101010,
0b11101110,0b11101110,0b11101110,
0b10111011,0b10111011,0b10111011,
0b00000000,0b00000000,0b00000000,
0b01010101,0b01010101,0b01010101,
},
{12, 12,
0b00000000,0b00000000,0b00000000,
0b01010101,0b01010101,0b01010101,
0b00000000,0b00000000,0b00000000,
0b10101010,0b10101010,0b10110000,
0b01011010,0b01011010,0b11101100,
0b10101010,0b10101010,0b10111000,
0b10101010,0b10101010,0b11101100,
0b10101010,0b10101011,0b10111000,
0b11101110,0b11101110,0b11101100,
0b10111011,0b10111011,0b10110000,
0b00000000,0b00000000,0b00000000,
0b01010101,0b01010101,0b01010101,
},
{12, 12,
0b00000000,0b00000000,0b00000000,
0b01010101,0b01010101,0b01010101,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b01010101,0b01010101,0b01010101,
},
{12, 12,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b10000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b10000000,0b10000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b00000000,0b00000000,0b00000000,
0b10000000,0b00000000,0b10000000,
},
{12, 12,
0b00110011,0b00110011,0b00110011,
0b11001100,0b11001100,0b11001100,
0b00110011,0b00110011,0b00110011,
0b11001100,0b11001100,0b11001100,
0b00110011,0b00110011,0b00110011,
0b11001100,0b11001100,0b11001100,
0b00110011,0b00110011,0b00110011,
0b11001100,0b11001100,0b11001100,
0b00110011,0b00110011,0b00110011,
0b11001100,0b11001100,0b11001100,
0b00110011,0b00110011,0b00110011,
0b11001100,0b11001100,0b11001100,
},
{12, 12,
0b11111100,0b11111111,0b11111111,
0b11111100,0b11111111,0b11111111,
0b00000011,0b00000000,0b00001100,
0b11111111,0b11111111,0b11110011,
0b11111111,0b11111111,0b11110011,
0b00000000,0b00110000,0b00001100,
0b11111111,0b11001111,0b11111111,
0b11111111,0b11001111,0b11111111,
0b00110000,0b00110000,0b00000000,
0b11001111,0b11111111,0b11111111,
0b11001111,0b11111111,0b11111111,
0b00000000,0b00000000,0b00000000,
},
{12, 12,
0b00000100,0b00000100,0b00000000,
0b00000100,0b00000100,0b00000000,
0b00000100,0b00010001,0b01010000,
0b00000100,0b01010101,0b01010100,
0b00000100,0b01010101,0b01000100,
0b00010101,0b01000101,0b01000001,
0b00000100,0b00000001,0b01000001,
0b00000000,0b00000101,0b01010000,
0b00000000,0b00010000,0b00010000,
0b00000000,0b00010000,0b00010000,
0b00000000,0b00010000,0b00000100,
0b00000000,0b00010000,0b00000100,
},
{12, 12,
0b00000000,0b00010101,0b01010000,
0b00000000,0b01010101,0b01010000,
0b00000001,0b01010101,0b00010000,
0b00000001,0b01010100,0b00000000,
0b00000001,0b01010100,0b00000000,
0b00000001,0b01010100,0b00000000,
0b00000001,0b01010100,0b00000000,
0b00000000,0b01010100,0b00000000,
0b00010000,0b00010101,0b00000000,
0b01000000,0b00000001,0b01010000,
0b01000000,0b01010101,0b01010100,
0b00010101,0b01010101,0b01010101,
},
};
2 Likes

Looks good so far :slight_smile: If that would help you, I can post a tilesheet (either 1bit or in color).

I would change the color of enemies to magenta so they are not as easily confused with the player sprite.

I will try to work on making some more sprites in 12x12 tonight. I think this will be the optimal size (although, it would be better to see how readable it is on the actual screen).

Also, are there still plans for the 256 color, 1 color per sprite, high res mode, or was that replaced by the 4 color mode? I started brainstorming the design for the game, and I was planning on using the colors for a mechanic…

1 Like

well i was thinking of trying to change the enemys color to magenta wen they are dead, like there corpses,
i think you can clearly see who your carecter is, but if nothing else is white we going to lose 25% of our pallet

kinda got the color legend going of magenta is pasebly, cyan bieng colided and white bieng interactive

Heh! That’s the spirit! Good going guys.

You might want to try 16x12 tile and set display.transparentcolor to background (usually 0). Then the POK2BMP will probably work.

I was thinking: magenta - most important interactive (enemies, doors, stairs), cyan - walls and other obstacles, white player and pickups. For corpses, I was thinking a pool of blood, that can stay magenta and be passable.