diff --git a/README.md b/README.md
index c29b44c..1ca5aef 100644
--- a/README.md
+++ b/README.md
@@ -4,11 +4,30 @@
A turn-based, procedurally-generated roguelike.
-Built using Typescript and [Malwoden](https://malwoden.com), partially following
+Built using Typescript, [Malwoden](https://malwoden.com), and [ECSY](https://github.com/ecsyjs/ecsy), partially
+following
the [official tutorial](https://tutorial.malwoden.com/),
the [canonical Python and libtcod tutorial](https://rogueliketutorials.com/tutorials/tcod/v2/), and ideas from
elsewhere.
+### Table of Contents
+
+- [RoguelikeDev Does The Complete Roguelike Tutorial](#roguelikedev-does-the-complete-roguelike-tutorial)
+- Weekly Implementation Notes
+ - ✅ [Week 1](#week-1)
+ - ✅ [Week 2](#week-2)
+ - ✅ [Week 3](#week-3)
+ - ✅ [Week 4](#week-4)
+ - [Week 5](#week-5)
+ - [Week 6](#week-6)
+ - [Week 7](#week-7)
+ - [Week 8](#week-8)
+- [Design Specification](#design-specification)
+ - [Story](#story)
+ - [Game Loop](#game-loop)
+ - [MVP Goals](#mvp-goals)
+ - [Stretch Goals](#stretch-goals)
+
## RoguelikeDev Does The Complete Roguelike Tutorial
![RoguelikeDev 2023 Logo](./resources/roguelikedev-2023.png)
@@ -17,7 +36,13 @@ This repository is participating in the 2023 edition of
the [RoguelikeDev event](https://www.reddit.com/r/roguelikedev/comments/14kz7al/roguelikedev_does_the_complete_roguelike_tutorial/),
running from 4 July 2023 till 22 August 2023.
-### [Week 1](https://www.reddit.com/r/roguelikedev/comments/14q58js/roguelikedev_does_the_complete_roguelike_tutorial/) - 4 July 2023 - Setup, drawing an @, and moving around
+Unfortunately, as of the end of the final week, **I failed**! The repository will still continue to update at a pace I
+find manageable.
+
+### [Week 1](https://www.reddit.com/r/roguelikedev/comments/14q58js/roguelikedev_does_the_complete_roguelike_tutorial/)
+
+
+✅ 4 July 2023 - Setup, drawing an @, and moving around
- Getting this done a bit in advance because I know I am going to be busy over this year's sprint!
- The Malwoden tutorial doesn't really spend any time explaining how to set up the development environment--it just asks
@@ -35,10 +60,16 @@ running from 4 July 2023 till 22 August 2023.
- Lots of mistakes in the tutorial--in Chapter 3, for example, the entire input handling code is missing imports and
declarations.
- I preferred implementing game states in `game-states.ts` as an enum to reference.
-- Completion comment in the weekly
- thread [here](https://www.reddit.com/r/roguelikedev/comments/14q58js/roguelikedev_does_the_complete_roguelike_tutorial/jqo8k28/).
-### [Week 2](https://www.reddit.com/r/roguelikedev/comments/14wuzqa/roguelikedev_does_the_complete_roguelike_tutorial/) - 11 July 2023 - The object system and generating your first map
+
+
+Completion comment in the weekly
+thread [here](https://www.reddit.com/r/roguelikedev/comments/14q58js/roguelikedev_does_the_complete_roguelike_tutorial/jqo8k28/).
+
+### [Week 2](https://www.reddit.com/r/roguelikedev/comments/14wuzqa/roguelikedev_does_the_complete_roguelike_tutorial/)
+
+
+✅ 11 July 2023 - The object system and generating your first map
![Week 2 Screenshot](./resources/screenshots/yezriel-week-2.png)
@@ -54,10 +85,16 @@ running from 4 July 2023 till 22 August 2023.
simple thing could have waited anyway. I opted to stick with the same size of screen as before, and lowered the number
of random walls added to 200.
- Is there no camera system incoming?
-- Completion comment in the weekly
- thread [here](https://www.reddit.com/r/roguelikedev/comments/14wuzqa/roguelikedev_does_the_complete_roguelike_tutorial/jskcacj/).
-### [Week 3](https://www.reddit.com/r/roguelikedev/comments/152ns71/roguelikedev_does_the_complete_roguelike_tutorial/) - 18 July 2023 - Field of view, placing enemies, and attacking
+
+
+Completion comment in the weekly
+thread [here](https://www.reddit.com/r/roguelikedev/comments/14wuzqa/roguelikedev_does_the_complete_roguelike_tutorial/jskcacj/).
+
+### [Week 3](https://www.reddit.com/r/roguelikedev/comments/152ns71/roguelikedev_does_the_complete_roguelike_tutorial/)
+
+
+✅ 18 July 2023 - Field of view, placing enemies, and attacking
![Week 3 Screenshot](./resources/screenshots/yezriel-week-3.png)
@@ -79,10 +116,11 @@ running from 4 July 2023 till 22 August 2023.
this by adding a forced update of the tile being blocked in `enemy-ai.ts`. I think this allows the tile to be blocked
immediately for each individual enemy rather than at once.
- I added Vim keys for movement: `hjkl` and `yubn`.
-- Completion comment in the weekly
- thread [here](https://www.reddit.com/r/roguelikedev/comments/152ns71/roguelikedev_does_the_complete_roguelike_tutorial/jsxg1ny/)
-#### Extra Homework - Bitset Walls
+
+
+
+✅ Extra Homework - Bitset Walls
![Bitset Walls](./resources/screenshots/yezriel-bitset-walls.png)
@@ -97,7 +135,15 @@ running from 4 July 2023 till 22 August 2023.
I think it looks a lot better.
- After a large increase in the cases, it now supports 8-direction masking.
-### [Week 4](https://old.reddit.com/r/roguelikedev/comments/159b1yu/roguelikedev_does_the_complete_roguelike_tutorial/) - 25 July 2023 - Combat damage and building the interface
+
+
+Completion comment in the weekly
+thread [here](https://www.reddit.com/r/roguelikedev/comments/152ns71/roguelikedev_does_the_complete_roguelike_tutorial/jsxg1ny/).
+
+### [Week 4](https://old.reddit.com/r/roguelikedev/comments/159b1yu/roguelikedev_does_the_complete_roguelike_tutorial/)
+
+
+✅ 25 July 2023 - Combat damage and building the interface
![Week 4 Screenshot](./resources/screenshots/yezriel-week-4.png)
@@ -117,7 +163,10 @@ running from 4 July 2023 till 22 August 2023.
- I'd like to have some markers for info, damage taken, attacks made, item pickups, item used, etc. Maybe a future
Extra Homework?
-#### Extra Homework - Camera
+
+
+
+✅ Extra Homework - Camera
![Camera](./resources/screenshots/yezriel-camera.png)
@@ -134,7 +183,12 @@ running from 4 July 2023 till 22 August 2023.
coordinates over to some new `VIEWPORT` coordinates.
- In fact, it was this straightforward. `camera.ts` now incorporates the new constants.
-### [Week 5](https://old.reddit.com/r/roguelikedev/comments/15fd445/roguelikedev_does_the_complete_roguelike_tutorial/) - 1 August 2023 - Items, inventory and ranged targeting
+
+
+### [Week 5](https://old.reddit.com/r/roguelikedev/comments/15fd445/roguelikedev_does_the_complete_roguelike_tutorial/)
+
+
+1 August 2023 - Items, inventory and ranged targeting
- There's a sensible de-coupling of the input from the visuals, which allows for nice things like animations in the
future.
@@ -142,29 +196,59 @@ running from 4 July 2023 till 22 August 2023.
traditional. To investigate items in a tile, a player must go to the tile and press `i`, and they will get a log of
the items in that tile to the message log. This is implemented in `investigatePosition()` in `actions.ts`.
-### Week 6 - 8 August 2023 - Save/load and leveling up
+
-### Week 7 - 15 August 2023 - Monster/item progression and equipment
+### Week 6
-### Week 8 - 22 August 2023 - Sharing your game
+
+8 August 2023 - Save/load and leveling up
+
+TBC
+
+
+
+### Week 7
+
+
+15 August 2023 - Monster/item progression and equipment
+
+TBC
+
+
+
+### Week 8
+
+
+22 August 2023 - Sharing your game
+
+TBC
+
+
## Design Specification
### Story
-Your hometown is suffering from a cataclysm of monsters. You have been tasked with retrieving the Orb of Yezriel, an
-ancient and legendary artifact to stem the tide. Your friends and neighbors have ventured into the dungeon before you,
+Your hometown is suffering from a cataclysm of monsters. You have been tasked with retrieving a mystical Orb, an
+ancient and legendary artifact to stem the tide. This Orb rests somewhere in the depths of the Sepulcher of Yezriel.
+Your friends and neighbors have ventured into the dungeon before you,
never to return. Steeling your nerves, you set forth into the dungeon.
### Game Loop
+
+
- Enter dungeon level
- Explore, revealing the map
- Encounter enemies; fight or flee
- Find items to gain benefits
- Locate the exit to the level
-### MVP
+
+
+### MVP Goals
+
+
- [x] Player can walk around
- [x] Create a basic procedural dungeon map
@@ -175,8 +259,12 @@ never to return. Steeling your nerves, you set forth into the dungeon.
- [ ] Add Orb of Yezriel, let the player win when getting it
- [ ] Game over when the player dies
+
+
### Stretch Goals
+
+
- [x] Camera system
- [x] Bitset walls
- [x] Monsters have field-of-view
@@ -191,3 +279,5 @@ never to return. Steeling your nerves, you set forth into the dungeon.
- [ ] Scoring system
- [ ] Sneaking system to see around corners
- [ ] More complex monster AI
+
+
\ No newline at end of file