Log In  


Cart #catreeboard_alpha-3 | 2024-08-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Catreeboard is a typing game that helps players practice their typing skills. By successfully typing words on the next branch, the cat will jump in an attempt to avoid rising flood waters. I'm making this in collaboration with my son of whom is learning to type.

Roadmap

  • Main game mode to have levels and calculation of score (based on wpm, accuracy) in addition to infinite scrolling as it is now.
  • A losing condition with water rising from the bottom of the screen.
  • Sound effects (jumping, game over, etc).
  • Music.
  • Better thought out dictionary.
  • Customized cat color.
  • Customized difficulty.

Changelog

0.7a:

  • Expandeded dictionary to over 80 words per word length (6 levels)
  • fix: No back-to-back same words

0.6a:

  • Implemented challenge mode!
  • Game over screen at the end of challenge mode with metrics displayed.
  • Added menu option to end a game early.
  • Expanded camera capability to scroll in both directions.
  • Improved accuracy from being reduced for hitting non-letter keys.
  • Improved pause behavior.
  • fix: Uneven flood rise.
  • fix: Restore camera after background draw.
3


Thanks for this little game, I love everything about it.

First the game itself, because I played some similar games as a kid, with TD-like mechanics, where you destroy the enemy with typing. This game is so friendly.

Second the Roadmap, the comments in your code, like the animation part, comments with credits for what you used from others, that this game uses the keyboard at all and that it is a father son collaboration.

But now I have some questions: Why do you have a second font in your code?
if cat.animation.state == ๐˜ข๐˜ฏ๐˜ช๐˜ฎ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ_๐˜ด๐˜ต๐˜ข๐˜ต๐˜ฆ_๐˜ช๐˜ฅ๐˜ญ๐˜ฆ then or more confusing the letter "i"
button๐˜ชnput & 4 + 8 > 0)

What does this colon ...do?
cat:update()

I only found this goto functionality ::foobar:: .Don't know what keyword I'm looking for. Is this some oop-thing? Pico8/Lua dosn't feel object orientated to me, your extensive use of (self) does.

Do you intend to add capital letters?
function turn_string_into_sprites(str)
The game has some space for alphabet sprites, not sure if you can use/detect the shift-button at all, or how to put text with sprites together.

Thank you for this nice cart.


Zellente, thanks for the kind words.

For the first, I use an external editor when working on the game rather than the editor built into Pico 8. I'm a programmer by trade so sometimes old habits come to bear. ANIMATION_STATE_IDLE is a constant in my mind and I always capitalize them, which shows as lower case in the Pico 8 editor. same with buttonInput, I ususally snake case it to prevent, but just didn't in that case.

For cat:update(), I've been adapting my style of containing things to object tables. cat:update() is synonymous with cat.update(cat). It's a short hand, however I've been adapting my code lately to not require as much.

As far as showing allowing lower case letters in the game, I'm on the fence. It's already a little hard to read this font at times especially with shorter words where you don't have context to figure out what some of the more ambiguous letters are like m and n. The keyboard input already takes into account shift on it's own (ie it submits a different character). From a technical standpoint, it wouldn't be hard, just updating the dictionary to include them, however I think it might be too difficult to read them. I'll revisit this maybe at even higher difficulty levels.


really cool. I didn't even know you could do this with the keyboard and will enjoy looking at the code. I also think Pico-8 is good for making educational tools, and this is perfect.


1

@cjsaylor Ah, I used the eductional version of pico-8 first and couldn't use an editor and every upcase letter turned into a symbol โฌ…๏ธ. Now I use an editor and never noticed the upper case letters. (and occasionaly reload the file instead of reloading the pico8 cart with "control+r") Yes these capital letters of pico8 are hard to read. Thank you for your answer and insights.

@camp39 I don't play chess but solitaire chess is a nice concept and now I can see a chess game without mouse control and keybord input instead. ;) "e4"


1

@camp39 When using the keyboard for typing, you'll have to conditionally supress the pause menu when the character is "p", which you can do with poke(0x5f30, 1). It's better to suppress it on demand rather than disable and try to add your own pause logic, otherwise the standard pause won't work.


Nice to see the cat is saved from the water.
I thought that maybe an old lady/little child/fireman with looong arms trying to reach the kitten would be an option. But now I'm calmed down. ๐Ÿ˜…



[Please log in to post a comment]