Show HN: Termcraft – Terminal-first 2D sandbox survival in Rust
130 points by sebosch 2 days ago | 24 comments
I’ve been building termcraft, a terminal-first 2D sandbox survival game in Rust.

The idea is to take the classic early survival progression and adapt it to a side-on terminal format instead of a tile or pixel-art engine.

Current build includes: - procedural Overworld, Nether, and End generation - mining, placement, crafting, furnaces, brewing, and boats - hostile and passive mobs - villages, dungeons, strongholds, Nether fortresses, and dragon progression

This is still early alpha, but it’s already playable.

Project: https://github.com/pagel-s/termcraft

Docs: https://pagel-s.github.io/termcraft/

Demo: https://youtu.be/kR986Xqzj7E


nickdothutton 4 hours ago
I wonder if you could do a good Atari Gauntlet clone as a terminal only game.
reply
Gigachad 20 hours ago
Seems like it would be possible to create a cool demo where you can play the game over ssh rather than having to compile locally.
reply
apitman 2 days ago
Nice. Is this terminal-first or terminal-only?
reply
sebosch 23 hours ago
good point, it is terminal only
reply
p0w3n3d 22 hours ago
Wow finding the nether fortress will sure take time in 2d world and will render it unskippable
reply
sudo_cowsay 18 hours ago
That is kinda true, I wonder how the end will be like... 2D dragon!
reply
swaminarayan 15 hours ago
How do you build a procedurally generated survival game in a terminal without a graphics engine?
reply
tdeck 10 hours ago
Folks have been doing it for decades. E.g.

https://en.wikipedia.org/wiki/Roguelike

reply
johnisgood 6 hours ago
Wait till he finds out there are text-based adventure games!
reply
samiv 11 hours ago
Is this a serious question?

Well OF COURSE you just prompt Claude... /s

No seriously why would you need a graphics engine for procedurally generating content? In this particular case for example his "content" is the world map expressed in some units (tile grid) across two axis. Then you generation algorithm produces that 2d data and that's that.

reply
absynth 15 hours ago
good stuff. keep going.

any way to link instances together? I'm interested in something like this to import/export resources etc.

reply
yuppiepuppie 15 hours ago
This is cool! Feel free to add it to https://hnarcade.com :)
reply
kehao95 24 hours ago
This is art!
reply
verdverm 18 hours ago
Tangential to this cool project, Hytale has an amazing modder experience and toolset built into the game. Everything is JSON driven, with hot reload, so we can build tooling in any language (without needing to name said language, lol to that thread here, ahem, I'm using CUE, ahem). They have flags to dump the JSONschema for everything, including mods, as well.

More related, Worldgen v2 is pretty amazing compared to Minecraft. What is the basis for the Worldgen in this project? Not too different from a 3d voxel game? I'm pretty new to it and have a general curiosity still.

https://hytalemodding.dev

reply
torginus 23 hours ago
[flagged]
reply
vunderba 22 hours ago
Rust is the crossfit of programming languages. Everybody around you needs to know at all times.

On a serious note, nice job OP. This game kind of feels like an ASCII version of Terraria. Might I recommend extended ASCII or unicode for the player though? Right now they look a bit like a lollipop.

reply
sudo_cowsay 18 hours ago
Kind of hard to see the player's motion
reply
xylophile 19 hours ago
If somebody announces that their project is written in Rust but nobody complains, what happens?

Writing any non-trivial video game with Rust is (arguably) interesting in itself since developer velocity in gamedev is generally considered paramount, and Rust has a reputation (rightly or wrongly) for hindering velocity.

So yes, the fact that this is written in Rust is actually relevant and valuable. As opposed to your hollow snark.

Now, OP: tell us more about how that's played out for you.

reply
frail_figure 13 hours ago
Rust is fine, but so is C, Zig, Odin, Lua, etc.

I dont think the parent comment was complaining, just pointing out the "written in rust" meme. Being the top comment, seems like plenty of people enjoyed it!

It's the weekend, take it easy :)

reply
zeroq 18 hours ago
One does not simply write an app in Rust in silence.

It is customary to announce the fact so that the astrologers can proclaim that the population of recruiters on linkedin has increased.

reply
cjkaminski 22 hours ago
Based on the evidence presented by the Hacker News front page, the hype is boundless. Rust is the ur-language that we never realized until... idk, three years ago?
reply
zeroq 18 hours ago
It's a PR ploy. It sounds better than X done in C, mainly because the X has been done countless times in C by now, while "Hello World, but in Rust" still felt sexy three years ago.
reply
westmeal 23 hours ago
You really don't want to know. The results could be disastrous.
reply
sebosch 23 hours ago
haha, guilty
reply
Heer_J 2 days ago
[dead]
reply