Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/redblobgames/2226-roguelikedev

2022 Reddit r/roguelikedev summer tutorial series
https://github.com/redblobgames/2226-roguelikedev

roguelike tutorial

Last synced: 23 days ago
JSON representation

2022 Reddit r/roguelikedev summer tutorial series

Awesome Lists containing this project

README

        

[[http://unmaintained.tech/badge.svg]]

Each summer, the [[https://old.reddit.com/r/roguelikedev/][r/roguelikedev]] community has a [[https://old.reddit.com/r/roguelikedev/wiki/python_tutorial_series][tutorial series]] where we all follow along to build a roguelike. I had attempted it in 2018 but got stuck in the middle. I attempted it again in 2020 and made it all the way through. I attempted it again in 2021 and made it halfway. I'm attempting again in 2022.

For the 2020 version I wrote mine in JavaScript instead of Python. Unlike some of the other JavaScript projects, I didn't use node.js or a build step like webpack. It's one html file and one js file included with a tag. This is how I prefer to code small projects, and only switch to more organization once the project gets larger.

For the 2021 and 2022 versions I used TypeScript and multiple files bundled together using esbuild so that it is still included with a <script> tag.

[[https://www.redblobgames.com/x/2025-roguelike-dev/][I wrote notes in 2020]] about how my version differs from the Python tutorial, especially around UI, where I used the browser's HTML+CSS to build a UI instead of using a console menu. [[https://www.redblobgames.com/x/2126-roguelike-dev/][I wrote notes in 2021]] about switching to sprites, thin walls, a different map generator, a different visibility approach, and other features I wanted to try. [[https://www.redblobgames.com/x/2226-roguelike-dev/][I wrote notes in 2022]] about a more "fortress mode" game instead of "adventure mode". I wanted to implement friendly NPCs and room building.

If you want to build this yourself you'll need to download the sprites from [[https://game-icons.net/][game-icons.net]] and put them into the =game-icons/= folder.