92 lines
2.1 KiB
Markdown
92 lines
2.1 KiB
Markdown
# Deadline
|
|
A week? A month? Pick a specific date
|
|
|
|
# Roadmap
|
|
* Save/Load
|
|
* Serialization and deserialization
|
|
* What needs to be serialized
|
|
* Condition
|
|
* Inventory
|
|
* Progress
|
|
* Story progression
|
|
* Rooms / levels
|
|
* Health/Condition
|
|
* Inventory
|
|
* Equipmentread
|
|
* Camera follow
|
|
* Bounded by room
|
|
* Always faces north
|
|
* Positioned south of player
|
|
* First person mode?
|
|
* Menu UI
|
|
* Inventory
|
|
* Difficulty 8
|
|
* Importance 7
|
|
* Status/Health/Condition
|
|
* Difficulty 3
|
|
* Importance 8
|
|
* Story/Log
|
|
* Difficulty 8
|
|
* Importance 5
|
|
* Title
|
|
* Difficulty 6
|
|
* Importance 5
|
|
* Settings
|
|
* Difficulty 10
|
|
* Importance 4
|
|
* Audio
|
|
* Central mixer for mastering
|
|
* Sound groups
|
|
* One shot and looping audio (music and sfx)
|
|
* Level collisions
|
|
* Combat
|
|
* Health
|
|
* Damage
|
|
* Scene change
|
|
* Dialogue
|
|
* Enemy AI
|
|
* Enemy spawns
|
|
* Shaders
|
|
|
|
# Aesthetic direction
|
|
* Gruel or new?
|
|
* Leaning toward new
|
|
* General setting / vibe
|
|
|
|
# Cleanup
|
|
* Callable/Signal abstraction
|
|
* Generic rotate_toward method
|
|
* Separate classes into own files
|
|
* Organize files into related directories
|
|
* Separate player logic into more reusable nodes
|
|
* Generalize input handling
|
|
* Fix following error that happens on load
|
|
|
|
```
|
|
E 0:00:02:0620 PromiseRejectCallback_: [jsb][Error] unhandled promise rejection: InternalError: [modules/GodotJS/bridge/jsb_primitive_bindings_reflect.cpp:498 call_builtin_function] bad argument: 0
|
|
<C++ Source> modules/GodotJS/bridge/jsb_environment.cpp:208 @ PromiseRejectCallback_()
|
|
```
|
|
|
|
# Considerations
|
|
* Monkeypatch math structures
|
|
* Math operations are painful
|
|
```ts
|
|
const a = new Vector(0, 0, 0)
|
|
// a + Vector3.ONE
|
|
const b = Vector3.ADD(Vector3.ONE, a)
|
|
// (Vector3.ONE * 2) * b + a
|
|
const c = Vector3.ADD(
|
|
Vector3.MULTIPLY(
|
|
Vector3.ADD(Vector3.ONE, Vector3.ONE),
|
|
b
|
|
),
|
|
a
|
|
)
|
|
|
|
```
|
|
* Gltf -> Godot workflow
|
|
* Easier way to combine animations on single model
|
|
* Possibly download character animation combiner and automate
|
|
* Purpose of PlayerAnimation
|
|
* PlayerInput doing too much
|
|
|