kodiak/README.md

88 lines
2.6 KiB
Markdown

# kodiak
*Kodiak* is an implementation of [Klondike Solitaire](https://en.wikipedia.org/wiki/Klondike_(solitaire)) for the[Uxn/Varvara ecosystem](https://100r.co/site/uxn.html) virtual machine.
![screenshot of initial solitaire deal](start.png)
## controls
- Use the mouse to move the pointer
- Click to pick up cards; release to drop them
- Press *Esc* to restart the game
- Press *Return* to print internal game state
- Press *Space* to automatically move "safe" cards to the foundation
## details
Currently *Kodiak* is very limited:
- Can't move cards from the foundation
- Must manually move every card
- No undo functionality
- No scoring or timing
- No music or animations
- No splash screen
- No on-screen buttons to restart or quit
- No options
Future releases may relax some or all of these constraints.
![screenshot of solitarire mid-game](game1.png)
## building and running
Building the Kodiak ROM requires a Uxn assembler:
```
$ uxnasm kodiak.tal kodiak.rom
Assembled kodiak.rom in 10923 bytes(16.73% used), 253 labels, 0 macros.
```
Running the Kodiak ROM requires an emulator. For example:
```
$ uxnemu kodiak.rom
```
## infrequently-asked questions
**Is dragging cards buggy?**
Previous versions of the game had you click once to pick up a card and
pick up again to release. This doesn't work very well with touch
screens so it was changed to a more normal click to hold, release to
drop.
**Is this harder than other solitaire games?**
Probably, yes. In addition to not having an "undo" feature, Kodiak
does not check to see if a solitaire deal is winnable or not, meaning
that some games would probably be impossible to win no matter how you
played them.
**Can I make the game bigger?**
Many emulators support a zoom option. For example, `uxnemu` and
`uxn11` both use the F1 key to toggle zoom levels.
The game size is intentionally small to support older platforms with
lower screen resolution, such as the Nintendo DS.
**I won the game and the cards didn't bounce!**
That isn't a question. (Also, sorry!)
**Why did a bunch of weird numbers appeared in the console?**
Currently hitting *Return* will dump the internal state of the game for debugging purposes. This produces a lot of output but doesn't otherwise affect the game.
**Will you add support for my preferred solitaire variant?**
Probably not, but maybe.
I am considering adding support for [Sawayama Solitaire](https://zachtronics.fandom.com/wiki/Sawayama_Solitaire). Depending on how that goes I may add support for other variants as well.
![another screenshot of solitaire](game2.png)
Kodiak was built by [d_m](http://plastic-idolatry.com/erik), 2023-2024