-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
174 lines (168 loc) · 9.88 KB
/
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# dev experience and dev ops stuff
DONE create debug/release win64/linux build scripts
TODO create a manually-triggered CICD workflow for building releases
DONE create private itch.io page for distributing QA builds weekly: https://dressesdigital.itch.io/temp-gungame-slug
TODO document process for creating & building maps
TODO research trenchbroom engine configurations
TODO research hot-reloading maps
TODO create macos build scripts
# game configuration, iteration, etc
DONE create a simple quake-style drop-down developer console
TODO make dev-console an autoload (maybe?)
TODO add autocomplete suggestion box (with TAB completion) to dev console
TODO add autocomplete suggestion box paging to dev console
TODO load user configurations from simple line-parsed .cfg files in user://
TODO research crash logging, tracing, and reporting in godot
# mapping/design tools
TODO add command to toggle visual portal connections (an arrow between connected portals)
TODO add command to toggle killtarget/target connections
TODO add command to toggle list of all sounds currently playing/audible to the player
DONE fixup gungame_fgd to inherit an essentials FGD, and remove worldspawn_solid entity definition from gungame_fgd
DONE add trigger
DONE add trigger_push
DONE refactor the impulse part of trigger_push into its own trigger_impulse entity
DONE add trigger_gravity
TODO add trigger_hurt
DONE add trigger_teleport
TODO fix trigger_teleport not linking targets anymore (it was in an earlier commit)
DONE add audio_global
DONE add audio_positional
DONE add pause, reset, and restart inputs to audio_ entities
DONE add signal/receiver entities and test pause, reset, and restart audio_positional inputs with them
TODO add more features for attenuation, positional emission, doppler, etc, in audio_positional
DONE add logic_chance
DONE add logic_relay
DONE add func_portal_seamless
DONE update func_portal_seamless's viewport size dynamically whenever the player's viewport size changes
DONE fix viewport in func_portal_seamless (why is it pink lol)
TODO use angles or a surface normal to clip the brush-generated surface, instead of always using -z
TODO find MVP for bug with func_portal_seamless viewports breaking in basic.map, submit to Godot github
DONE add func_rotate
TODO make player view turn with func_rotate when on it
TODO add func_mover
TODO add func_breakable
DONE add func_button
DONE add func_door
TODO add func_door_rotate
TODO add func_conveyer
TODO add func_friction
TODO add prop_static (maybe a better name?), clean up the existing demo_model and test_model stuff
TODO add env_particles
DONE add env_bubbles - particles prefab for bubbles
DONE add env_rain - particles prefab for rain
TODO add env_snow - particles prefab for snow
DONE add env_drip - particles prefab for dripping water
DONE add env_heightfield - for generating collision shapes for particles
TODO add env_portalstars - particles prefab to put in front of portals
TODO add env_portalsparks - particles prefab to trigger when the player exits a portal
TODO report bug: GPUParticlesCollision3D HeightField and SDF inconsistent behaviour
TODO add monster_spawner
TODO add env_lightmap for baked LightmapGI support?
DONE add "Full Build & Unwrap UV2" button to QodotMap toolbar
TODO update "Full Build & Unwrap UV2" button to also bake lighting
DONE add targetname, target, and killtarget base FGD classes
DONE add info_godot_scale
DONE add info_player_start
TODO make info_player_start actually function teehee
DONE add env_sprite with billboard and modulate properties
TODO add modulation-over-time to env_sprite
TODO add more flags/properties from Sprite3D to env_sprite
TODO add env_sprite_animated
TODO add env_glow - sprite prefab for a glow sprite
TODO add env_beam - sprite prefab for a laser sprite between two points, with a flag for travelling through solids
TODO add env_spark - multi-sprite prefab for a lightning-esque spark between two points, with random variation
TODO add env_explosion - triggers an animated sprite, some particles, a decal, and a sound
DONE add light_point
DONE add light_directional
TODO add more directional_show properties to light_directional
DONE ensure Angles gets converted to Godot rotation correctly (see light_directional)
DONE add light_spot
DONE add env_postprocess
DONE warn when there are multiple env_postprocess entities in a single map
TODO add env_postprocesssky
TODO add glow properties to env_postprocess
TODO add support for other background modes in env_postprocess, since only Sky mode is supported
TODO add support for adjustment_color_correction in env_postprocess
TODO update enum properties in env_postprocess to use Choices instead of an integer
TODO add env_campractical
TODO warn when there are multiple env_campractical entities in a single map
TODO add env_camphysical (probably not really necessary tbh)
TODO add trigger_postprocess
TODO add trigger_campractical
TODO add env_fog_volume
TODO add env_decal
TODO add descriptions to env_postprocess properties
TODO enhance light_point and other light nodes (more shadows options? PCSS? any other customization?)
TODO add texture for simple prism godray (off white light gradient)
# playtests
TODO create simple environment with many platforms and shapes that the player can run and grapple on
# game stuff
TODO fix console not working in actual game dev scene
DONE fix worldspawn having an unusual offset - was because of missing worldspawn entity in FGD used by QodotMap
DONE simple WASD+jump movement
DONE simple camera movement
DONE basic build engine WASD movement
DONE basic build engine camera bobbing
DONE clamp camera pitch (+/- 90 degrees)
DONE add simple initial-jump jump-squat, inspired by build engine jumping
DONE add jump landing squat, like build engine jump landing
DONE refactor run, jump, and land bobbing to use Curves
DONE fix double-bobbing when landing while still rising in the jump
DONE "vault" ledges when jumping into them, build engine style
DONE make consecutive bhops more fluid (jumping as you land shouldnt incur another jump squat)
DONE make jump arc more cartoonish, like build engine jump speeds being not physically accurate
DONE add grapple hook
DONE clean up interaction between ground movement and grapple hook (maybe move grapple accel code into the movement code)
DONE replace grapple hook with more cartoonish utrakill-like grapple
DONE fix "speed storage"/speed buildup when holding down a movement direction into a wall while grapple hooking (maybe don't accelerate in a particular direction if they're touching a wall in that direction)
DONE fix vertical stutter when near ground & grapple pulls upwards less than gravity
DONE give "burst accel" at start of grapple
DONE experiment with different grapple accel strengths
DONE remove grapple hook when player gets close to it
DONE add grapple hook cooldown
DONE add stair stepping to player controller
TODO make player camera smooth from vertical motion (i.e stair stepping)
TODO rewrite portal logic in C#
TODO fix osclliation with grapple hook when player stuck behind an obstacle (apply friction when player is touching a wall or something?)
TODO grapple hook bhopping? this may not be realistic with the ultrakill-like grapple hook anymore
DONE add jump out of grapple hook, transposing some of the grapple momentum upwards, towards the direction the player is inputting
TODO reconsider jump out of grapple hook (maybe grapple hook can be just a simple pull)
TODO create simple hitscan weapon behaviour (shoots, reloads, consumes ammo)
TODO add decals when a hitscan weapon hits a solid wall
TODO create ammo pickups that give ammo of specific types to the target
TODO create some shitty developer art for 2d viewmodels
TODO build engine style 2d viewmodel bobbing (it has this though right?)
TODO normal, diffuse, metallic mapping on 2d viewmodel
TODO research generating navigation meshes for qodot maps
TODO create a dumbass sprite NPC that wanders around on the nav mesh
TODO make the dumbass NPC shootable, take damage, and die
TODO give the NPC frames for various perspectives from the player's PoV
TODO give the NPC a shitty death animation
TODO add blood particles gush animation when NPC is shot
TODO add blood splatter decals around NPCs that are shot
TODO figure out if we actually wanna go the 2d-sprite-in-3d-environment aesthetic
TODO make the player take damage & die
TODO grapple hook viewmodel animation
TODO UI for grapple hook status/cooldown
TODO edge-jump coyote time
TODO make coyote time toggle-able for testing purposes (we may not actually want coyote time)
TODO wall-edge-landing - if the player is standing perfectly still and jumps when touching a short wall with a ledge, they will land on the ledge
DONE add basic seamless portal rendering between two linked portals
DONE fix lighting through seamless portals (may just need to be multiplied?)
DONE fix clipping protection on seamless portals (see protect_screen_clipping)
TODO fix oblique projection on portals
TODO fix object slicing on portals
TODO update portal-traveller velocity & rotation when they go through a portal, such that it is oriented correctly as they come out of the portal
TODO ensure support for emissive textures in default material
TODO default material adds dither to all surfaces
TODO default material supports transparency (flag in TB? or maybe per-texture material)
TODO rewrite env_sprite in C#
DONE consider refactoring QodotEntity to support both gdscript and C# implementations - unecessary
TODO simple opaque color shader for surface if current camera (CAMERA_POSITION_WORLD) is not the portal's camera. for recursion
TODO fix lighting around portals (since the portal camera renders the portal without the surface, the shadow isnt there. Maybe these shadows need to be baked.)
TODO finish recursive portals (https://www.youtube.com/watch?v=cWpFZbjtSQg)
# polish
TODO dry fire sfx/animation grapple hook during cooldown
# silly ideas
we gotta make a level where if you let go of your grapple too soon you just go flying out into space and die
BLACK HOLE SUN!!!! https://www.youtube.com/watch?v=hNkPHPhzXVA