If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Talk:InkBall

From The Cutting Room Floor
Jump to navigation Jump to search
This is the talk page for InkBall.
  • Sign and date your posts by typing four tildes (~~~~).
  • Put new text below old text.
  • Indent replies by prefixing with a colon :
  • Add new sections with the 'Add topic' button at the top right.
  • Be polite.
  • Assume good faith.
  • Don't delete discussions.
  • Be familiar with the talk help page.

Tileset

Here is the tileset. Everything seems to be used, but the duplicate balls and the silhouette needs to be investigated further. I think they're just internally used by the game though, not sure if that would still be worth documenting. Also note odd placement of some tiles. 17:41, 29 April 2019 (EDT)

Inkball Tileset.png

Is the + and - in the charset ever used? --Kokonut! (talk) 12:09, 13 January 2020 (EST)
Never seen them in-game. TolerableDruid6 (talk) 15:44, 17 January 2020 (EST)
The first set of balls with the black background are used for the queue in the top left. The 2nd set with the pink background are used in the actual playing board. And the silhouette is just the alpha mask, since there's no alpha channel in BMPs. –Edness (talk) 19:42, 6 April 2021 (UTC)
What about the 3rd set of balls? --Slacky Slackereon (talk) 18:29, 19 July 2021 (UTC)

Regarding the Unused Levels todo

As of writing this, there's a todo on the main page that says: Find out where the game stores its levels (is it in the executable or a seperate file), what the level IDs are, and if there are any unused levels. It's not possible to pick a level in the game, it randomly picks a level each round. There are 551 levels total, I can't say for sure if there's any unused levels (likely not), but below is a brief rundown of the level layout format for whoever is interested.

The levels are stored in .rsrc\IKL\20001 in the executable. Its format is very simple, took me no more than 15 minutes to figure out. All of the data is stored in Big Endian order as 16-bit values. First few values are the total level data size (excluding the 2 bytes used for the size), then how many seconds the level gives you, etc., etc., and then in most cases* 578 bytes forming a 17x17 tile grid after the header.

* Levels that use breakable blocks are larger, because it requires 2 block values - the breakable block itself, and the block that should appear beneath it. This can cause some levels to be almost twice as large. (Left = level ID, Right = size)

The block data should really be looked at as four 4 bit values, 1st value being the block type and the other 3 - modifiers. These can be rotation, colour, or other parameters. Here is a "good enough" documentation of the blocks and its modifiers.

It should be fairly easy to write a level viewer, or even a whole level editor for this game, but it likely ain't gonna be me because I'm lazy. –Edness (talk) 23:24, 6 April 2021 (UTC)