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

  • apitman 3 days ago |
    Nice. Is this terminal-first or terminal-only?
    • sebosch 3 days ago |
      good point, it is terminal only
  • kehao95 3 days ago |
    This is art!
  • torginus 3 days ago |
    [flagged]
    • westmeal 3 days ago |
      You really don't want to know. The results could be disastrous.
    • sebosch 3 days ago |
      haha, guilty
    • vunderba 3 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 3 days ago |
        Kind of hard to see the player's motion
    • cjkaminski 3 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 3 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.
    • xylophile 3 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.

      • zeroq 3 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.

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

  • p0w3n3d 3 days ago |
    Wow finding the nether fortress will sure take time in 2d world and will render it unskippable
    • sudo_cowsay 3 days ago |
      That is kinda true, I wonder how the end will be like... 2D dragon!
  • Gigachad 3 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.
  • verdverm 3 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

  • absynth 3 days ago |
    good stuff. keep going.

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

  • yuppiepuppie 3 days ago |
    This is cool! Feel free to add it to https://hnarcade.com :)
  • swaminarayan 3 days ago |
    How do you build a procedurally generated survival game in a terminal without a graphics engine?
    • samiv 2 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.

    • tdeck 2 days ago |
      Folks have been doing it for decades. E.g.

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

      • johnisgood 2 days ago |
        Wait till he finds out there are text-based adventure games!
  • nickdothutton 2 days ago |
    I wonder if you could do a good Atari Gauntlet clone as a terminal only game.
  • danielszlaski a day ago |
    Terminal Minecraft with brewing and dragon progression in Rust. Didn't expect to want this, but here we are. Bookmarked.