-
Notifications
You must be signed in to change notification settings - Fork 0
/
kanban.json
81 lines (81 loc) · 4.26 KB
/
kanban.json
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
{
"title": "Kanban",
"cols": [
{
"title": "Bugs",
"tasks": [],
"id": "z24kh9o1fov9vwe1mew90uga",
"color": "#eb144c"
},
{
"title": "Backlog",
"tasks": [],
"id": "w8dt4w9qfi27hfdw01gt62ej",
"color": "#fcb900"
},
{
"title": "In Progress",
"tasks": [],
"id": "zfqux36dtz22kobiqwsje87c",
"color": "#0693e3"
},
{
"title": "Done",
"tasks": [
{
"text": "## Initialization\n* Open a window\n* Fill the window with a solid color",
"id": "h03vwsm9z97dmsugacuagltf"
},
{
"text": "Draw the gameboard\n* Draw a Quad with -1, 1 NCDs for the corners\n* Scale it\n* Shift it to the left",
"id": "vt84a4af8ys98x73k3hi8v7g"
},
{
"text": "## Gameboard\n* Using shaders create a checkerboard pattern",
"id": "eofvjkb51cswy4ldpvvrpvh2"
},
{
"text": "## Player Character\nCreate head quad and body quad, the head will exist exactly once and the bodies will have multiple.\n\nDon't bother with optimizing, so every time we need a new quad we just create one.\n\nThe player has a direction (WASD) and moves to that position on the next game tick (independent of frame, but might be synced for starters to make things simpler)\n\nThe player can't move opposite of last move, so W -> {WAD} are possible moves.\n\nFor now if you hit the borders log that you should have died and loop back around (pos.x % gridsize.x)\n\nSupport multiple grid sizes but can leave the window size constant for now.",
"id": "s4cknuzkllse78ft1vbcxdhu"
},
{
"text": "## Body Parts\nCreate a class for them so you can easily spawn them\n\nTrack all play positions in a list and update the body part positions based on that.\n\nSet the body part positions to be trailing the main body based on that, don't add any collision checks, those will be purely logic based by checking against the list.",
"id": "wqh9e8jvkycwzy24dmjfes4x"
},
{
"text": "Implement pickups\n* Random Spawning\n* Disappear on picking up\n* Increase tail lenght",
"id": "bsssjf0fwdr7521b9dy6hr74"
},
{
"text": "Game end states:\n* Hitting own body\n * Simple collision logic, check if new position would be within last k previous positions, where k is the number of body elements.\n* Hitting Border",
"id": "jypezxx2afezwgfs27lnuw1d"
},
{
"text": "Game Tick system independent of frame time.",
"id": "gfqygmdlb09ck5n5q1lvlnei"
},
{
"text": "Game speeds up on pickups",
"id": "r0r510xyg46hk21oxic240hj"
},
{
"text": "## Main Menu\n* Implement menu looks\n* Add functionality to go from menu to game and from game either by pressing escape or dying going back to menu\n* Going from menu to game resets the game state (no pausing)\n\nI've decided to not bother with font rendering instead just have a shader and the game starts when you press SPACE.",
"id": "ea5w76osq4e1ssdwfsmfqyc2"
},
{
"text": "## Improving the look of the game\nMake the body parts closer to the head be closer in coloer to the header.\n\nMake the grid less ugly, maybe adding gentle effects on it as well.",
"id": "pbffj3f26nq960p11hbdelif"
},
{
"text": "Music and Sound effects.\n\nDecided against having music.\n\nSound effect on pickup are enough.",
"id": "x41k8cqlesba7aovbjzg5fte"
}
],
"id": "tfj6n6591bmg9ayxxzfvg53s",
"color": "#00d084"
}
],
"autosave": true,
"saveToFile": true,
"timestamp": 1718918696496
}