A few days ago I was reading through the 12 Days of PoTMs, and I realized that I hadn't released any new projects during the entire year of 2023. So, with just a few days left I decided to whip up a quick project before the new year.
Lately I've been doing a lot of crossword puzzles, so I decided to make a Crosshare clone for the TI-84 Plus CE:
I'm using a custom format for puzzles so that I can fit multiple into a single appvar and apply zx0 compression to them. I wrote a converter script for .puz-formatted files, which makes it easy (well, easy modulo Python dependency hell) to import puzzles from Crosshare or the pre-2021 NYT archives.
Cursor movement was surprisingly difficult to get right. It turns out there are a lot of edge cases when you have words with gaps in the middle, and words running in two different directions.
There's a couple of things that I feel like I always end up writing when working on puzzle games - keypad edge detection, a menu system, a word wrap algorithm, and an appvar selector. I should probably try to clean that up in the future and make some sort of library to make it easier to make these types of games without reinventing the wheel every time.
Since this project was a bit rushed in order to meet my self-imposed 2023 deadline, there are a few other things that I wasn't able to add but would like to in the future. The main one would be a built-in puzzle editor, which probably should't be too hard to add. I'd also like to add animations similar to the ones in Wordle, since currently the "puzzle complete" screen is a bit plain. I'd also like to make a web-based .puz file converter, or maybe even a browser extension that adds a button to export puzzles from Crosshare.
You can find it in the archives here.
Lately I've been doing a lot of crossword puzzles, so I decided to make a Crosshare clone for the TI-84 Plus CE:
I'm using a custom format for puzzles so that I can fit multiple into a single appvar and apply zx0 compression to them. I wrote a converter script for .puz-formatted files, which makes it easy (well, easy modulo Python dependency hell) to import puzzles from Crosshare or the pre-2021 NYT archives.
Cursor movement was surprisingly difficult to get right. It turns out there are a lot of edge cases when you have words with gaps in the middle, and words running in two different directions.
There's a couple of things that I feel like I always end up writing when working on puzzle games - keypad edge detection, a menu system, a word wrap algorithm, and an appvar selector. I should probably try to clean that up in the future and make some sort of library to make it easier to make these types of games without reinventing the wheel every time.
Since this project was a bit rushed in order to meet my self-imposed 2023 deadline, there are a few other things that I wasn't able to add but would like to in the future. The main one would be a built-in puzzle editor, which probably should't be too hard to add. I'd also like to add animations similar to the ones in Wordle, since currently the "puzzle complete" screen is a bit plain. I'd also like to make a web-based .puz file converter, or maybe even a browser extension that adds a button to export puzzles from Crosshare.
You can find it in the archives here.