Show HN: Termcraft – Terminal-first 2D sandbox survival in Rust

github.com

135 points by sebosch 4 days ago

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

verdverm 4 days 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

Gigachad 4 days 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.

apitman 4 days ago

Nice. Is this terminal-first or terminal-only?

  • sebosch 4 days ago

    good point, it is terminal only

p0w3n3d 4 days ago

Wow finding the nether fortress will sure take time in 2d world and will render it unskippable

  • sudo_cowsay 4 days ago

    That is kinda true, I wonder how the end will be like... 2D dragon!

danielszlaski 3 days ago

Terminal Minecraft with brewing and dragon progression in Rust. Didn't expect to want this, but here we are. Bookmarked.

swaminarayan 4 days ago

How do you build a procedurally generated survival game in a terminal without a graphics engine?

  • samiv 4 days 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.

nickdothutton 3 days ago

I wonder if you could do a good Atari Gauntlet clone as a terminal only game.

absynth 4 days ago

good stuff. keep going.

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

torginus 4 days ago

[flagged]

  • vunderba 4 days 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.

    • sudo_cowsay 4 days ago

      Kind of hard to see the player's motion

  • xylophile 4 days 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.

    • frail_figure 4 days 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 :)

    • zeroq 4 days 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.

  • cjkaminski 4 days 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?

    • zeroq 4 days 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.

  • westmeal 4 days ago

    You really don't want to know. The results could be disastrous.