Best command-line-only video games (2019)
linuxjournal.com
linuxjournal.com
https://store.steampowered.com/app/333640/Caves_of_Qud
It's like Nethack, only weirder. In a good way. Don't let the Early Access label fool you. It's been around for seven years already and is highly polished, and getting weirder all the time. In a good way.
Caves of Qud is a project of epic proportions that began in 2007 and launched on Steam Early Access in 2015.I'd consider "command-line-only" to mean "can be played with a dumb terminal".
If, to you, "command line games" just means "something I can run while in a terminal" then cool, but that's not technically what that term means, and we're technical people here on HN. Especially those of us who use (any flavour of) the terminal day in day out.
and quite political it seems
Inb4 you nitpick the definitions.
Is a synonym for?
Potential growth / reflection opportunity.
In this case, though, it's writing in The Linux Journal, and it appears to be promising something it's failing to deliver.
It's not hard to use the correct terms, and something that tries to be an authority on, say, Linux, such as Linux Journal, could simply do so instead of spreading confusion.
[0] OK, there's some equivalence between a few of the words.
> ./game go_west_and_look | cat events.log
Games you play at "the command line" - or, as the article puts it, "expansive and impressive games that you can run entirely in your Linux shell," is an interesting notion. I'm generally a big fan of decomposing actions out of applications into individual commands run at the shell; I had not applied the same to games.
You could run the game itself in a long running process, talking through (unix?) sockets that the individual commands know how to find. Polling in PROMPT_COMMAND could make it sufficiently interactive for some measure of real-time.
I forgot to mention after my comment "play by email" games which would broaden the scope to network games since the interface could be through a shell when using sendmail.
https://en.wikipedia.org/wiki/Category:Play-by-email_video_g...
Cataclysm: Dark Days Ahead also has a tiles mode that is actually pretty great. The community has done some amazing work: https://cataclysmdda.org/
"Star Trek" first came out in 1971. I probably played it in 1972-3 when my father brought home from work a teletype machine. All I remember doing is launching a photon torpedo and destroying a planet. For me it was (and still is) the best command-line-only game.
Am I nitpicking to point out that there's no such thing as a "command-line-only video game"?
How's that work?
It's actively developed, so you can play it once, come back a year later, and there will probably be new things to try.
There's an active community, you can play over SSH with ASCII or over a webapp with tilesets or you can run it standalone on your PC.
Magic, extremely varied gods that favor you with powers for your devotions (these can have a drastic impact on playstyle), huge variety of classes... I could go on.
Used that to run it via wine + quemu on my android phone, at a whopping 5fps at embark. Didn't play for long, but was totally worth it!
The other end of the spectrum is DCSS, which sacrifices this sense of wonder to produce a tightly designed tactical challenge. There's little need for an external Wiki because that kind of information is built into the game. You can look up any entity in the game and get detailed information about its abilities. All useless/boring/unbalanced interactions are removed even if that makes the world less believable, e.g. you cannot sell items to shops, because that would necessitate tedious tracking of all junk items to recover their value, and the traditional roguelike "food clock" was replaced by an explicit countdown clock, because optimizing food usage so rarely made a difference (Nethack includes food, but also many methods to make it irrelevant). Assuming a skilled player, DCSS is the more difficult game.
I recommend playing both, but in the case of Nethack, only if you keep spoilers to a minimum. (Zero spoilers is unnecessary. I believe the game was originally designed around the assumption that players would be sharing information about how to win. Only improved communications have made this sharing too powerful.)
https://en.wikipedia.org/wiki/Crossfire_(1992_video_game)
Some of the contributed levels are ... a map of my university and some monsters were teachers at the time :)
It'd be like having a list of best fantasy novels and not mentioning lord of the rings. Its just odd. Even if you disagreed, its so famous that they would probably say why they dont think it doesn't make the list.
I'd say modern IF games are often more playable than classic games, which are in some cases really unforgiving in this particular genre.
These are some of the games I would recommend: 'Fate' by Victor Gijsbers, 'Floatpoint' by Emily Short, 'Galatea' also by Emily Short, 'Photopia' by Adam Cadre, 'Aisle' by Sam Barlow, and 'Nightfall' by Eric Eve.
http://breakintochat.com/blog/2013/02/18/amit-patel-creator-...
There's a library with some impressive demos called "notcurses" if you are curious what kind of graphics can be displayed in a terminal ... the author uploaded some demos to YT showing the capabilities. It's been discussed in HN a bunch of times [2].
0: https://en.wikipedia.org/wiki/Sixel
1: https://sw.kovidgoyal.net/kitty/graphics-protocol/
2: https://github.com/dankamongmen/notcurses - https://hn.algolia.com/?q=notcurses
https://jirkasnotes.wordpress.com/2019/07/17/xterm-does-grap...
Edit: a better demo: https://lock.cmpxchg8b.com/tektronix.html
0: https://github.com/joejulian/xterm/blob/defc6dd5684a12dc8e56...
But overall, I salute the author of AsciiPatrol ;-). Kudos!
And Zangband :)
There was Sleuth also: https://en.wikipedia.org/wiki/Sleuth_(video_game)
Personally I enjoyed IF like TATCTAE (Time: All Things Come To An End), Jigsaw and Curses! which where included in early GNU/Linux distributions (unbeknownst to me at that time that much other int-fiction was being created, since we were exploring the OS distributions offline, InfoMagic CDs etc.)
Before that, BBS door games existed (much avoided because exhuberant dialup costs). Typing in BASIC source code from books lent from the library (mostly text-based games). My interest was piqued by MUDs at one point afterwards, but never really got active (again because of dialup costs to connect to the Internet).
From a skim, these seem like games that run in the terminal usually spawned from a shell, but that is not the same thing as being "run entirely in your Linux shell."
For the headline itself I think IF with a parser counts as "command line only", though it still doesn't run in your shell.
I don't know of any games that run "in your shell" but a good example of the distinction is that mutt and pine run in a terminal, but nmh actually runs in the shell (not in the sense of processes but in the sense that the shell is what I am using to string together actions when I use nmh).
Counter example: command line tetris! [0]. Although... still gives the player the advantage of "freezing time" on every move :-).
I once made a shell driven instant messaging (libpurple) client that could serve as a point of reference - incoming messages were reported with PROMPT_COMMAND, and reply would send a message to the sender of the last message reported rather than the last message received.
Either through a savefile:
$ play -savefile somefile.sav -moves run,run,jump
... Or maybe using some sort of "cookie": $ play -cookie "perico" -moves left # outputs "perico42"
$ play -cookie "perico42" -moves left # outputs "the-new-encoded-game-state"
In your case, it seems like the purple server was holding the game state.Another idea is to make a deterministic game, then allow the user to expand the input one move at the time:
$ play -seed 314 -moves left
$ play -seed 314 -moves left,right
$ play -seed 314 -moves left,right,up
$ ...Ok, so... a cmd line game:
* receives as input plaintext (the cmd line to be parsed)
* outputs plaintext in some format, perhaps just colorless text, but I imagine it could output something more interesting too (JSON? SVG? Dotfiles? As long as it can be printed as plaintext or ANSI text! It is also possible to read, say, Dotfiles without rendering them, so ...)
* is not necessarily stateless (requiring the use of file or cookies to save state between runs), it can also make use of a daemon if necessary.
It my mind, the smaller the state that the game needs to run, the more impressive the game would be (assuming it manages to be a fun game, as opposed to some sort of technical demonstration).
On the other hand, I certainly agree with you here:
> the smaller the state that the game needs to run, the more impressive the game would be
But that's on a slightly different level than "is it a command-line-only game" and "is it fun".
I'm tempted to make some kind of gimmick website or Twitter account, "Not Command Line", which posts examples of this confusion...