-
Notifications
You must be signed in to change notification settings - Fork 0
/
PLANS.todo
156 lines (141 loc) · 5.23 KB
/
PLANS.todo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
Refactor:
☐ Move code into include modules:
☐ BOARD
☐ CURSOR
☐ SECTOR
☐ MENU
Dialogs:
☐ Create scrolling text window
☐ Create character sheet
☐ Create menu option lightbar (simple)
☐ Create combat
☐ Create defeat
☐ Create success
☐ Create treasure
☐ Create end game
☐ Create dice box
Game Menu Actions:
☐ Create LEGENDARY LORDS
☐ Create CREATE A CHARACTER
☐ Create LOAD A CHARACTER
☐ Create SETTINGS:
☐ Music: ON
☐ Music volume
☐ SoundFX: ON
☐ SoundFX volume
☐ Voice: ON
☐ Voice volume
☐ Show Dice
☐ Full screen
Doors:
☐ Add when moving on door move +1 in the direction according to last move to go passed the door and not land on it.
☐ Add level door (white)
Rooms:
☐ Add room type and define properties:
x, y, w, h, was_looted, monster_fought, player_died, monster_died, has_level_key, is_boss_room
☐ was_looted: player found treasure
☐ monster_fought: player fought monster
☐ player_died: player died in this room
☐ monster_died: monster died in this room
☐ Add room randomizer for each game:
☐ has_level_key: room contains the level key (only 1 room per level should have this)
☐ is_boss_room: room contains a boss monster (only 1 room per level should have this)
Menu:
✔ Create menu with options using lighbar and ansi fancy-pants @done(23-05-29 17:13)
✔ Add animation to menu @done(23-05-29 17:13)
☐ Create menu music
Board:
✔ Render room label text separately @done(23-05-25 23:09)
✘ Improve inaccessible blocks with decorations / props @cancelled(23-05-28 00:16)
✔ Refine the board so that diagonals are removed to ease collision @done(23-05-28 00:16)
✔ Make sure sectors of levels do not overlap @done(23-05-28 00:16)
✔ Implement sector detection @done(23-05-28 18:05)
Debugging:
☐ `~` toggles @high
☐ Add debug window: @high
☐ Cursor position x, y in pixels
☐ Cursor position x, y in cells
☐ Cursor states:
☐ On path
☐ In Room
☐ In Room Level
☐ Near Door
☐ Near Regular Door
✘ Near Strong Door @cancelled(23-05-29 17:14)
☐ Near Secret Door
☐ Fighting Monster
☐ Fighting Player
☐ Number of moves made
☐ Game start time / Current time
☐ Add crosshair inspector mode for mouse:
☐ Mouse position x, y in pixels
☐ Mouse position x, y in cells
Collision:
✔ Create function image_is_dichromatic(img&, kolor1~&, kolor2~&) @done(23-05-29 17:12)
Returns true if the image is composed of only 2 colors
✔ Modify function CURSOR.can_move depending on states @done(23-05-29 17:12)
☐ Add neighboring_cells function to determine if:
☐ Near Door
☐ Near Regular Door
☐ Near Secret Door
Secret Doors:
☐ Add "detect secret door" action:
☐ Use the ability and pick a direction:
☐ If found expose secret door and connected room or path
Fixes:
✔ Fix map so it can be traversed by cursors @done(23-05-25 10:59)
Control:
☐ Improve control parsing
☐ Add support for arrow keys
☐ Add support for numeric keypad
☐ Add support for other keys
☐ Build key bindings mapping object
☐ Implement diagonal movement with num pad
7 8 9
\|/
4-5-6
/|\
1 2 3
Game:
☐ Setup basic rules:
☐ Movement
☐ Doors
☐ Rooms
Turns:
☐ Add turn timer
☐ Add turn logic
☐ Limit movement to number of steps per turn
☐ Number of steps based on dice roll
Dice:
☐ Add dice rolling
1d20, 3d6+3DL (3d6 + 3 drop lowest), etc.
Cursor:
✘ Make pulse or animated so can see it better @cancelled(23-05-25 23:27)
✔ Make cursor transparent @done(23-05-25 23:27)
✔ Add states: @done(23-05-29 17:12)
✔ On path @done(23-05-29 17:12)
✔ In Room @done(23-05-29 17:12)
✔ In Room Level @done(23-05-29 17:12)
☐ Near Door
☐ Near Regular Door
☐ Near Strong Door
☐ Near Secret Door
☐ Fighting Monster
☐ Fighting Player
Sounds:
✔ Add preliminary sound for movement @done(23-05-28 00:17)
✔ Add preliminary sound for collision @done(23-05-28 00:17)
☐ Add sound effect of dice rolling
☐ Add sound effect of dice rolling critical success
☐ Add sound effect of dice rolling critical failure
☐ Add sound effect when moving
☐ Add sound effect when time passing without moving
☐ Add sound effect when bumping into wall
☐ Add sound effect when bumping into door
☐ Add sound effect when bumping into strong door
☐ Add sound effect when finding secret door
☐ Add sound effect when going through secret door
☐ Add sound effect when opening regular door
☐ Add sound effect when opening strong door
☐ Add sound effect when breaking door
☐ Add sound effect for picking up treasure