Skip to content

Instantly share code, notes, and snippets.

@zpl-zak
Created March 22, 2024 17:18
Show Gist options
  • Select an option

  • Save zpl-zak/87577b55f391fdbb7b7e5a583ea1d0a1 to your computer and use it in GitHub Desktop.

Select an option

Save zpl-zak/87577b55f391fdbb7b7e5a583ea1d0a1 to your computer and use it in GitHub Desktop.

Revisions

  1. zpl-zak created this gist Mar 22, 2024.
    52 changes: 52 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,52 @@
    - [ ] glslcc + shader variants compilation
    - [ ] LOD/imposter support
    - [ ] scene v2
    - [ ] particle system
    - [ ] collision fw improvements + (room for cols resolution maybe?)
    - [ ] GUI fw improvements - new controls, improved positioning etc
    - [ ] editor
    - [ ] 3d audio support
    - [ ] physics wrapper API design
    - [ ] lua auto-bindings used within script vm
    - [ ] netsync improvements (data prediction, compression, encryption)
    - [ ] fix emscripten builds
    - [ ] reii2
    - [ ] sound effects (reverb etc)
    - [ ] async texture/model load
    - [ ] add more objv2 coverage for low-level components (MeshRenderer, AudioSource, ...)
    - [ ] fwk plugins

    - [ ] 00 Editor: scene tree, property editor, gizmo v2. <!-- node == gameobj -->
    - [ ] 00 Editor.Core: load/save, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), VCS. <!-- toggles on/off (billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere, collide✱, physics).-->
    - [ ] 00 Material v2: colors, textures, matcaps, videos, shadertoys. Shadertoys as post-fx. <!-- material: fixed color, texture or script that returns colors. may be static (disk, procedural script) or change every frame (shadertoys, videos) -->
    - [ ] 00 Lighting: hard/soft shadow mapping, spotlights (VSM), omnilights (VSMCube), CSM and baked lightmaps (xatlas). Refl probes.
    - [ ] 00 Scene: scenegraph, toggleviews (billboards, materials, un/lit, cast shadows, wireframe, skybox/mie, collide, physics).
    - [ ] 00 Editor.Basic: volumes, triggers, platforms, level streaming.
    - [ ] 00 Editor.Debug: object singleton display, object console, object labels, object outlines.
    - [ ] 00 Editor.Network: server + sharded db + offline rendering + virtual input.
    - [ ] 00 Editor.SubMode: Node graphs. <!-- worthy: will be reused into materials, animgraphs and blueprints -->
    - [ ] 00 Editor.SubMode: Timeline and data tracks.
    - [ ] 00 Editor.SubMode: Procedural content, voxels, brushes, noise and CSG.
    - [ ] 00 Animation: playlists, blendshapes, additive, ik/bones, animgraph/controllers, track/events. Also 2D skeletal sprites (Spine).
    - [ ] 00 Render: Renderbuckets, LODs, object instancing, billboards, impostors, reverse-z.
    - [ ] 00 Audio: 3D audio, HRTF, FFT, filtering and sound occlusion.
    - [ ] 00 Script: Pure Lua FFI bindings. Modules: DLL (module->plugin/sys), Lua, Luajit, Teal and TypeScript.
    - [ ] 00 World: world/entity/component/systems (W/OCS). <!-- W/OCS, gameobj, serialization:diff/patch -->
    - [ ] 00 World: streaming and async loading.
    - [ ] 00 World: auto/VM replication. manual/replication channels, node sharding/clustering (p2p FS).
    - [ ] 00 BVH: 2d spat tree (quadtree?), 3d spat tree (octree?), PVS, occluders, frustum culling.
    - [ ] 00 Tools: Extend asset pipeline (per-platform, per-asset options). GIF, PKM.
    - [ ] 00 Math: quat2, bezier, catmull
    - [ ] 00 Data: quantization: ~~half, quant, microfloat~~.
    - [ ] 00 VFS: zip0 seek-vfs optimization. vfs_reload(). zip_append_file is suboptimal, and requires tons of contiguous memory for giant files.
    - [ ] 00 Network: NAT traversal. Socketless API, message API and pub/sub wrappers (enet/websocket).
    - [ ] 00 Text: Layout and shaping, underlining, soft/hard shadows, outlines. M/SDF. Subtitles and unicode.
    - [ ] 00 FX: particles and emitters (TLFX2json), trails, paths, kawaii physics, decals, clothes, breakables.
    - [ ] 00 AI: h/fsm state, actors, behavior trees, planning (goap), navpaths/waypoints, navmesh generation.
    - [ ] 00 Platform: Mobile iOS/Android, Web/WASM✱, RaspberryPi, VR/AR.
    - [ ] 00 OS: cpu usage, device orientation
    - [ ] 00 Social: Achievements, Scores, Rankings, Friends, Invites, Store integrations.
    - [ ] 00 Tools: Docs/Refl/Meta binding tool (at cook time).
    - [ ] 00 Input: mouse clip, mouse wrap, touch input, touch gestures.
    - [ ] 00 Tools: VCS integrations.
    - [ ] 00 Cleanup: docs, leaks and todos.