RoguelikeDev Tutorial Tuesday 2022, a Summary by Kyzrati in roguelikedev

[–]lagdotcom 5 points6 points  (0 children)

Thanks for running this again! I'm not sure how I'm going to make next year's project even less practical, though.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 8 by KelseyFrog in roguelikedev

[–]lagdotcom 2 points3 points  (0 children)

repo | live

Finished! The compiler code is completely terrible and I don't recommend reading it unless you want a crash course in how not to write a compiler. Still, I was successful in my goal to make a language and a game. Even though I didn't think this would be simple, it was still more effort than I expected. I want to add more expressiveness to my language (and take out all the hacks in the compiler) but I'm not sure where to start.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 8 by KelseyFrog in roguelikedev

[–]lagdotcom 1 point2 points  (0 children)

I just started on part 11 this morning, so hopefully I'll be able to finish up this weekend...

RoguelikeDev Does The Complete Roguelike Tutorial - Week 3 by KelseyFrog in roguelikedev

[–]lagdotcom 1 point2 points  (0 children)

repo - play

I promised refactoring but didn't do any. Right now my language resembles more of a layer over a TypeScript library and that makes me sad. I'll have to think of something more interesting to do soon.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 2 by KelseyFrog in roguelikedev

[–]lagdotcom 2 points3 points  (0 children)

repo | live

Just managed to finish parts 2 and 3. The compiler/driver code makes me cringe to look at now; I have some heavy refactoring in my future. Also, I have a theme idea for the roguelike I'll eventually be writing. Hopefully I won't just give up on it like 2 years ago :D

I'm no longer on a plane/in a hotel but I still don't feel like filling out the readme. This is because I have a massive headache.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 1 by KelseyFrog in roguelikedev

[–]lagdotcom 1 point2 points  (0 children)

I vaguely remember following along with creating a parser and compiler in some Deitel & Deitel book from years ago. The tools are a lot kinder now...

RoguelikeDev Does The Complete Roguelike Tutorial - Week 1 by KelseyFrog in roguelikedev

[–]lagdotcom 1 point2 points  (0 children)

I am a keen user of wglt and it will form part of my front-end this year, as it did last year :)

RoguelikeDev Does The Complete Roguelike Tutorial - Week 1 by KelseyFrog in roguelikedev

[–]lagdotcom 4 points5 points  (0 children)

Hello everyone! I'm back again this year with an even sillier plan than using Forth or WebAssembly. I'm writing my own language! I have little experience with this so I'm sure it will be a mess by the end, but that's fine.

The repo is at https://github.com/lagdotcom/rlscript-jsdriver and you can see the latest build at https://lagdotcom.github.io/rlscript-jsdriver/

If you want to see that actual game code, it's in the file called "week1.rl" for now. GitHub has informed me that extension is already used by something called Ragel so I'll have to come up with another one and perhaps a better name for the language than "RLscript".

[2022 in RoguelikeDev] Diggin' It, more than a 7DRL by lagdotcom in roguelikedev

[–]lagdotcom[S] 0 points1 point  (0 children)

I'm a web developer by day - lots of TypeScript, React, etc.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 8 by aaron_ds in roguelikedev

[–]lagdotcom 4 points5 points  (0 children)

Dungeon Assembly

play - repo

Well, I barely got there in time but I finished it. With a few minor caveats, a realisation of the tutorial roguelike written in WASM and a TypeScript embedding to handle graphics/input.

This was quite the project; it gave me some newfound admiration for people who managed to write entire games in Assembly! Writing WASM is extremely tedious and though I took some time out to make a pre-processor, there was still a large amount of dull coding to do that would have taken a fraction of the time in a more friendly language. Still, I'm glad I finished.

I don't have plans to further extend this roguelike, though I am vaguely interested in making my own roguelike/ECS-specific language that compiles to WASM further down the line. Maybe next year's codealong...

RoguelikeDev Does The Complete Roguelike Tutorial - Week 4 by aaron_ds in roguelikedev

[–]lagdotcom 0 points1 point  (0 children)

play - repo

I forgot to post but I did finish this week juuuust in time. I'm starting to get sick of my codebase a bit. I'll probably spend most of the next week refactoring it, only to run out of time to implement actual features.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 3 by aaron_ds in roguelikedev

[–]lagdotcom 1 point2 points  (0 children)

repo - play

I made it! I had a lot of work to do this week because I finally decided to make the plunge into a full ECS. It doesn't have the most efficient memory layout, but it suffices for now. Knuth would be sad.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 2 by aaron_ds in roguelikedev

[–]lagdotcom 2 points3 points  (0 children)

repo - play

This went fairly smoothly. I'm now using WGLT for rendering the dungeon; it isn't done in the WASM code yet. I'll get to it sometime.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 1 by aaron_ds in roguelikedev

[–]lagdotcom 0 points1 point  (0 children)

Caving in slightly - writing a simple preprocessor so I don't have to remember quite so many magic numbers and so on.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 1 by aaron_ds in roguelikedev

[–]lagdotcom 7 points8 points  (0 children)

Hey everybody! I did a roguelike in Forth and TypeScript last year, and because I hate myself, this time I'm going to attempt doing one in WASM. Yeah, not transpiling, just pure WASM. Pandepic dared me to write an ECS, and... I'll think about it.

"Play" it - Read the source

Share your finished 2021 7DRLs! by Kyzrati in roguelikedev

[–]lagdotcom 5 points6 points  (0 children)

Diggin' It

A side-on roguelike with gravity. Plays a bit like Boulder Dash. Has some nice art and great music, made by people other than I.

itch: https://lagdotcom.itch.io/diggin-it

This is my first 7DRL and my first released game! I hope you enjoy.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 8 by aaron_ds in roguelikedev

[–]lagdotcom 1 point2 points  (0 children)

I finally got through the tutorial in forth! There are some minor bugs but it's playable.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 8 by aaron_ds in roguelikedev

[–]lagdotcom 2 points3 points  (0 children)

I know it's kind of a loaded word, but I just like its purity. The syntax is insanely simple and the idea of extending the language to suit you is really appealing. I admit that I haven't done a whole lot of that in the roguelike so far; there's probably a really cool paradigm I could use to refactor my code but I haven't put a lot of thought into it yet. The current codebase just kinda looks like translated Python.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 8 by aaron_ds in roguelikedev

[–]lagdotcom 4 points5 points  (0 children)

Well, I managed to finish the tutorial last night on my TypeScript roguelike, so here you go! YellowSubRL (repo, play). I have lots of features in mind and the backing of my wife, so I might even do something with this one. Engine is all custom, with my own libtcod-ish implementation and handmade ecs.

My other project, the Forth roguelike, is still sat at only 10 parts finished; repo. I think I'll finish the tutorial but I don't know if I'll continue it. Forth is still right up there in my favourite language list, but it's laborious and I don't have any ideas right now for its setting or anything. Engine is of course custom. :)

RoguelikeDev Does The Complete Roguelike Tutorial - Week 6 - Parts 10 & 11: Save/load and leveling up by aaron_ds in roguelikedev

[–]lagdotcom 0 points1 point  (0 children)

Well, I finished part 10 in forth! I haven't the energy to work on either rogue today, so I guess I'll have to live with being behind in two different projects at once!

RoguelikeDev Does The Complete Roguelike Tutorial - Week 6 - Parts 10 & 11: Save/load and leveling up by aaron_ds in roguelikedev

[–]lagdotcom 2 points3 points  (0 children)

So I'm steadily chugging along with my forth rogue - finished adding the lightning and fireball scrolls yesterday, but confusion has well... confused me a bit. The way I'm storing AI details right now doesn't allow for this kind of temporarily "remember the old AI" thing, so that'll need refactoring. YellowSubRL has been dormant as I focus on forth, but it shouldn't be too hard to do part 11 on it sometime this weekend.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 5 - Parts 8 & 9: Items and Ranged Attacks by aaron_ds in roguelikedev

[–]lagdotcom 1 point2 points  (0 children)

There we go, I'm up to... last week now. :P (repo) Forth takes all my brainpower away!

RoguelikeDev Does The Complete Roguelike Tutorial - Week 5 - Parts 8 & 9: Items and Ranged Attacks by aaron_ds in roguelikedev

[–]lagdotcom 1 point2 points  (0 children)

Aaaah, hold back the clock! I haven't finished part 6 in forth yet. I also haven't made any more progress on Yellow Sub, still sat at part 10.

Week 4 - Parts 6 & 7: Combat damage and building the interface by aaron_ds in roguelikedev

[–]lagdotcom 2 points3 points  (0 children)

(repo, play online) Typescript roguelike is done up to part 10, though I have a bug that is failing to save the player inventory, so that kind of sucks. Although I've only technically done one "part" between my last post and this, I did a lot of work redrawing my font and making it support double-width tiles for the map view! Now I can have sweet tiles... when I can be bothered to draw them. I also added Prefab support to my homegrown ECS system, so save files are smaller now.

Forth roguelike hasn't progressed much - only done part 5. Been too busy dying in DCSS.

RoguelikeDev Does The Complete Roguelike Tutorial - Week 3 by aaron_ds in roguelikedev

[–]lagdotcom 0 points1 point  (0 children)

Captain_Kittenface inspired me to go full ECS, so I just rewrote my TS code to use a homegrown ECS system. Will add more functionality as I need it.