9 ms·
How to make roguelike games in Rust
- otachack 7y agoThis is great, thanks for sharing it. I started a Rust project awhile ago to do something similar but based on a boardgame. It was fun but I didn't keep up with it. I'll try to get back at it using this as inspiration!
- AlchemistCamp 7y agoWas it to learn Rust or were you already familiar with the language?
- somesortofsystm 7y agoYeah, I agree - this is a terrific read, and seems like a nice way to jump into Rust, a language I am eager to explore .. lots of strange new idioms, and from the perspective of a rogue-like, nicely done .. will give me a bit of Rust chops anyway! Thanks!
- kris-s 7y agoAre there commercially successful roguelikes that use ascii art only? Dwarf Fortress is the only one I know of and it's getting an official makeover for the Steam release.
- aganame 7y agoDF is not commercial yet. Partial list of successful roguelikes with ascii: - rogue - (net)hack - moria, angband, etc
- feanaro 7y agoDon't forget ADOM, though it now has graphical tiles too.
- nyolfen 7y agocogmind has done pretty well even if a bit niche. not pure ascii but pretty close, like df. really excellent game, as well.
- kris-s 7y agoLooks really cool!
- mrmonkeyman 7y agoNot ascii technically but close: caves of qud.
- Kyzrati 7y agoIndeed, Cogmind's been my full time job for over 6 years now so far and still pays the bills every month. 11% of players even use pure ASCII mode :) So it's... technically doable.
- deleted 7y ago[deleted]
- babuskov 7y agoI don't know about roguelikes success (Cogmind comes to mind), but I can tell you that ASCII games can be successful if you have a good idea. For example, I spent about 2 months making Rogue Bit just over a year ago: https://roguebit.bigosaur.com/ https://roguebit.bigosaur.com/ And it sold over 25000 copies so far.
- thegeekpirate 7y agoJust to add on to the "not a roguelike" list (it's an adventure game), Stone Story RPG (https://store.steampowered.com/app/603390/Stone_Story_RPG/ https://store.steampowered.com/app/603390/Stone_Story_RPG/).
- umvi 7y agoThat's not really ASCII art. I mean it is, but iirc it's custom shader code in Unity made to look like retro style ASCII art. So it's actually way more difficult to make than a grid of ASCII characters.
- giancarlostoro 7y agoDepends if its easier for you to do 3D. I remember when I found thr ThreeJS ascii shader I had a bit of fun with it...
- flafla2 7y agoAlthough I get where you’re coming from, I disagree with the assertion that this makes it “not really ASCII art”. At the end of the day modern terminal emulators use a graphics API at one point to render characters on the screen. You wouldn’t say that iTerm2 isn’t a “real tty” because it has a metal backend (in this case, iTerm2 is also using a custom shader to render ASCII/unicode — more complex than this game of course). Where do we even draw the line? Is ASCII art only legit if it can render natively in a traditional terminal? How about only one without hardware acceleration? POSIX compliant? Further down the rabbit hole we could draw a line in the sand at tty’s with no window manager. It would still be trivial for the developer to add an “textshot” feature to export a frame to .txt, so I’d still qualify it as fitting the ASCII art aesthetic.
- billfruit 7y agoCaves of Qud comes to mind.
- chungus 7y agoThis game gets a mention bottom of chapter 8 of the tutorial.
- planetsmashr 7y agoDCSS isn't commercially successful, but I think it has the potential to be if it went that direction. The tiles version is probably most popular though: https://crawl.develz.org/download.htm https://crawl.develz.org/download.htm
- gbmor 7y agoDCSS is ridiculously fun. I've spent more hours playing it than any other roguelike.
- empath75 7y agoReplacing ascii with sprites is easy to do later.
- boomlinde 7y agoSeveral commercial versions of Rogue were sold in the 80s.
- EamonnMR 7y agoRogue?
- jere 7y agoBoth Cogmind and Caves of Qud have optional tiles that look like little more than ASCII. Door in the Woods is ASCII only and has sold ~5,000 copies in about a month. In fact this game has inspired me to try to work on a pure ASCII roguelike for my next commercial project.
- svieira 7y agoADOM (Ancient Domains of Mystery) was ASCII-art-only through 1.1 and on the strength of that fan base raised a bunch of money on Kickstarter to add a visual layer (the ASCII-only version is still there and updated as the story continues). Not sure if that's a "YES" or a "NO" given your question.
- BlueTemplar 7y agoTo keep it pedantic, I'm pretty sure that Dwarf Fortress doesn't actually use ASCII, but one of its "extended" versions (the IBM one ?)...
- AlchemistCamp 7y agoI recently made one in Rust [1] with Tomas Sedovic's tutorial with libtcod and he suggested this one as a good next step! I'm also excited to see that this one looks wasm compatible. 1) https://youtu.be/UKpDNnfiId0 https://youtu.be/UKpDNnfiId0
- Pamar 7y agoAsk HN: are there any roguelike games that can be played (collaboratively) by two players on remote connection? Mac OS would be a plus because both me and my friend use mostly Apple stuff at home.
- thoughtpalette 7y agoSteam has a remote play feature now that allows another player to join a game, even if they don't own it. It's been semi-spotty. I highly recommend Children of Morta for a co-op roguelike.
- aaron-santos 7y agoThere is a wonderful multiplayer roguelike for the Commodore 64. https://m.youtube.com/watch?v=ASGn5J9PHbs https://m.youtube.com/watch?v=ASGn5J9PHbs
- prutschman 7y agoMangband (multiplayer-angband) has a Mac OS port of both client and server: https://mangband.org/ https://mangband.org/
- darkkindness 7y agoMangband also has a public server, so it doesn't take much to setup a game with a friend. (though the server does go down at times)
- astrobe_ 7y agoNot exactly roguelikes, but MUDs [1] are multiplayer games with a roguelike feel, but they are more like the ancestors of MMORPGs, TBH. A telnet program should basically be enough to start playing. There are some "MUD client" programs that enhance the interface (dunno about MAC OS), and some sites offer enhanced web interfaces as well. One of the most popular, Aardwolf [2] is very newbie-friendly. [1] https://en.wikipedia.org/wiki/MUD https://en.wikipedia.org/wiki/MUD [2] https://www.aardwolf.com/ https://www.aardwolf.com/
- 7y ago
- andolanra 7y agoI said this in a previous comment on a different story, so I'm going to copy-paste the content of that comment with some minor edits: The bfnightly tutorial is a very good tutorial, but I do want to warn that it's not always terribly idiomatic Rust: Herbert was using the writing of the tutorial as a way of practicing Rust, so there are places where the explanations aren't quite correct and other places where the code isn't what an experienced Rust programmer would write. An example that jumped out at me (this from Chapter 1.7) was the use of &s.to_string() which is an expression that could be shortened to just s. (Specifically, s has type &str, calling to_string() on it converts it to a String, and borrowing it allows it to be coerced back to a &str but now with unnecessary copying.) Elsewhere (this from Chapter 1.2) it has explanations like > Copy and Clone allow this [type] to be used as a "value" type (that is, it just passes around the value instead of pointers) which is also not a correct explanation, or at least is a misleading one: things can still be passed by value even without Copy and Clone and without any pointers at all. (Arguably, he meant, "You can share the value without using borrows," but that's not what the explanation said.) That said, all this is nitpicky (and I suspect that Herbert would be receptive to feedback along these lines—I just haven't had a chance yet to provide it!) because the tutorial's explanation of roguelike-writing is still very good, and in fact I've been following it as a rough guide for writing a tutorial on top of a different Rust library myself! But I do want to warn about using it as a model for learning Rust specifically.
- a1369209993 7y ago> > "value" type They mean a nonlinear (or nonaffine) type, as opposed to a affine type - that can only be passed by reference if you don't want to get rid of it yet - which they would presumably call a "reference" (or "by-reference") type. It's a correct explanation, but ambiguous (not misleading, but perhaps confusing) terminology.
- leshow 7y agoClone doesn't have anything to do with that though. Copy types are passed 'by value' without a move (so are not affine). But a Clone type doesn't change anything except to add the clone() method.
- darksaints 7y agoAre there any AAA studios using rust yet? I personally think it's not going to happen any time soon, but I'd be glad to be proven wrong. My theory that it won't happen without some form of inheritance-like structure. Games, like many forms of simulation, are inherently stateful and tends to fall hard on the OO-side of the Expression Problem spectrum. Traits tend to give you the best of both worlds, but in very important aspect it falls short: the traits themselves do not have data members. I saw a proposal where you could link object data members explicitly to data members that the trait required, which would probably fill that gap...but I don't think it has gone anywhere. Anybody know what I'm talking about so I can look up the progress?
- steveklabnik 7y agoEmbark is a new AAA studio made up of ex-EA DICE folks who are heavily using Rust.
- ShorsHammer 7y agoFollow some of the rust gamedev discussion and it does surprise me that people are trying, albeit with small things. Triple-A is an entirely different beast, given that for some AAA games development started before rust even went v1.0 (2015). There's a big risk to be the first into this field, struggling to see why any large company with proven track records and developers who can produce what they need would decide to take the chance on a different lang without seeing smaller ones succeed with it first. I write rust professionally and people seem to strangely hype the language for many of it's non-usecases. A jackhammer should not be used to change your car tires. Personally doubt the benefits outweigh the extra energy expenditure required over traditional options but good luck to them I guess, especially in an ever-monetised MMO world rife with cheating.
- elabajaba 7y agoReady at Dawn's (Lone Echo, The Order 1886) CTO said that going forwards everything new would be in Rust in 2018[1] (however, looking at their careers page all the dev jobs are asking for C++ and don't say anything about Rust). EA's SEED research division was also experimenting with Rust. As someone who's poked around in the current Rust gamedev ecosystem a bit, the publicly available libraries and frameworks aren't quite there yet for mid-large games (and are probably 1-2 years away at least for serious 3D development), though recent developments like the Legion ECS[2] (Amethyst, imo the most promising Rust 3D game engine seems like it will be switching from specs to Legion[3]), and Ultraviolet[4] (linear algebra library specifically for games & graphics which is faster than the alternatives for both runtime and compile times) are very promising. 1. https://twitter.com/AndreaPessino/status/1021532074153394176 https://twitter.com/AndreaPessino/status/1021532074153394176 2. https://crates.io/crates/legion https://crates.io/crates/legion 3. https://github.com/amethyst/rfcs/issues/22 https://github.com/amethyst/rfcs/issues/22 for a discussion about potentially moving from specs to Legion 4. https://crates.io/crates/ultraviolet https://crates.io/crates/ultraviolet
- Shorel 7y agoI want to praise the design of this webpage, not only its content. It's clean, fast, readable, it supports themes. I now want a LaTeX to HTML converter to this HTML.
- thebracket 7y agoIt's the standard "mdbook" that ships with Rust, also used for the Rust documentation. I pretty much suck at HTML, so I went with the easy markdown option and am enjoying the benefits!
- skitout 7y agoAbout roguelike game (not in Rust), Komodo developped a decentralized blockchain based one, and give developers lots of tool to develop their own decentralized game - roguelike or not https://docs.komodoplatform.com/basic-docs/antara/antara-tutorials/rogue-module-tutorial.html https://docs.komodoplatform.com/basic-docs/antara/antara-tut...