Commit Graph

591 Commits

Author SHA1 Message Date
79b32b187a predict collisions w/ server ents as having infinite mass 2025-02-25 17:19:44 -06:00
48dbcacd45 working prediction prototype 2025-02-25 16:08:26 -06:00
a16a60dd5d prediction progress 2025-02-25 14:56:14 -06:00
2769e98450 prediction progress 2025-02-25 14:02:59 -06:00
a6d103f391 rename all 'buckets' -> 'bins' 2025-02-25 12:03:13 -06:00
50da5f1bc6 prediction progress 2025-02-25 11:55:07 -06:00
7ab7af81a3 prediction progress 2025-02-25 08:05:58 -06:00
a8246541e9 encode sim id buckets for now 2025-02-24 14:21:23 -06:00
944be252c5 replace entity handles with uids 2025-02-24 11:41:36 -06:00
fca945736b uid fmt 2025-02-24 09:02:06 -06:00
2a93940bff remove u128 2025-02-24 08:50:37 -06:00
f0834c203f prediction progress 2025-02-23 04:18:14 -06:00
4d419da97b gstat 2025-02-23 03:23:17 -06:00
ca731215ee determine contacts from uid combination 2025-02-23 02:50:50 -06:00
9723530ad9 rename ent 'net' -> 'sync' 2025-02-23 02:19:03 -06:00
d35c951d43 netid -> uid 2025-02-23 02:14:06 -06:00
1dc1c42678 prediction progress 2025-02-22 23:20:42 -06:00
ba12d5677a prediction progress 2025-02-22 16:07:55 -06:00
34713e0c03 ent handle string formatting 2025-02-22 11:50:01 -06:00
835762fb5c entity debug info. keep old local handles when translating. 2025-02-22 10:34:06 -06:00
d05ecbabb9 prediction progress 2025-02-21 19:46:04 -06:00
4d8819d3ee prediction progress 2025-02-21 18:07:17 -06:00
27f49512d6 prediction progress 2025-02-20 18:24:22 -06:00
e0dee3e9e8 sim snasphot store -> client refactor 2025-02-20 17:16:36 -06:00
044fc1db9d prediction progress 2025-02-20 13:55:39 -06:00
b8119c9ef9 comment 2025-02-19 18:59:19 -06:00
6427f559ca prediction progress 2025-02-19 18:55:00 -06:00
4172808fe2 prediction progress 2025-02-19 17:32:24 -06:00
cb05b707f0 store publish dt in snapshot 2025-02-19 13:49:07 -06:00
a5bbdffbe3 better render time determination 2025-02-19 13:33:54 -06:00
80ed6a7852 sim ctx decoupling progress 2025-02-19 10:00:44 -06:00
b049a56a28 faster app shutdown 2025-02-19 08:51:20 -06:00
8e5b2bd773 sim ctx decoupling progress 2025-02-19 08:22:04 -06:00
3204e97dcf sim ctx decoupling progress 2025-02-18 13:49:40 -06:00
253104b2ce sim ctx decoupling progress 2025-02-18 11:14:41 -06:00
f6aa25760e sim ctx decoupling progress 2025-02-14 17:01:44 -06:00
bc2dccb872 circular player collider 2025-02-14 14:05:14 -06:00
9bccd4eae3 add sampled profiling build option 2025-02-14 12:23:49 -06:00
440a051dba fix out-of-scope stack memory use 2025-02-14 12:23:26 -06:00
be5d10e2b0 replace byteio with bitbuff 2025-02-13 17:15:23 -06:00
6d58619fbe comment 2025-02-12 12:30:45 -06:00
f1985c5815 level clear test 2025-02-12 11:18:56 -06:00
98c70b46ba fix bug in host final chunk data len 2025-02-12 08:34:15 -06:00
ff0fbf0878 crappy delta encoding test 2025-02-11 19:31:06 -06:00
fd550a7119 refactor ent store into snapshot 2025-02-11 12:52:56 -06:00
e1a1006b32 refactor client store into snapshot 2025-02-11 12:07:38 -06:00
46c7414f71 more timing debug info 2025-02-11 08:22:34 -06:00
dcbabbdfd1 fix precise sleep inaccurate because scheduler period not set 2025-02-10 16:37:32 -06:00
65211946e0 decrease rendering latency by incrementing smooth time by initial guess 2025-02-10 16:08:35 -06:00
f04a81fbb0 re-add lerping via snapshot interpolation 2025-02-10 15:22:19 -06:00
cd38ab4fbf another buddy fix 2025-02-09 16:25:59 -06:00
110e28119c fix dbg drag local point 2025-02-09 15:36:46 -06:00
f000bd7e65 progress & fix buddy bug 2025-02-09 15:22:43 -06:00
6fa3517d7a re-add networked debug drag 2025-02-09 11:13:36 -06:00
eee5945954 differentiate client entities 2025-02-08 17:11:04 -06:00
16e8bb0dca command line arg passthrough 2025-02-08 12:40:59 -06:00
ed66382fd6 migrate sim global state to ctx structure 2025-02-08 12:00:27 -06:00
5f75b765c3 allocate client channel lookup buckets before store 2025-02-08 10:12:05 -06:00
d9ebdc4df2 rename 'entity' -> 'sim_ent' 2025-02-08 10:07:49 -06:00
01274013e6 rename 'client' -> 'sim_client' 2025-02-08 09:52:31 -06:00
4cbc6b6d59 rename 'game' -> 'sim' 2025-02-08 09:45:32 -06:00
b9ec028bfa reduce host msg timeout to 0.1 2025-02-08 09:38:32 -06:00
ca664ac291 memory & network usage statistics 2025-02-08 09:28:38 -06:00
a78c5e1a47 networking progress 2025-02-08 07:06:56 -06:00
78ace4b38a buddy progress 2025-02-07 19:17:27 -06:00
6f7c19e053 host function profiling 2025-02-07 15:52:41 -06:00
72728e6a98 host progress 2025-02-07 15:18:36 -06:00
d13a7c70e7 host progress 2025-02-07 10:56:37 -06:00
808edf6e57 user game network communication beginning to work 2025-02-06 20:33:40 -06:00
84e64b5cce host progress 2025-02-06 16:13:28 -06:00
627f736345 host progress 2025-02-06 14:32:06 -06:00
a80eff9e39 host progress 2025-02-03 19:54:06 -06:00
062285b1b3 socket progress 2025-01-31 10:26:07 -06:00
d7f1ac06cb remove buffer struct, use string struct instead 2025-01-30 15:12:26 -06:00
a1a1430fd8 serialize game cmds 2025-01-30 13:36:44 -06:00
7d0826b57b give byte writer option to be backed by an arena 2025-01-30 11:38:35 -06:00
eea9c978c9 set aim joint correction rate dynamically based on dt 2025-01-30 11:05:38 -06:00
aaaa7deb81 rename timer frequency -> qpc per second 2025-01-30 08:50:39 -06:00
489fc8eca3 store sys timer start in qpc 2025-01-30 08:49:08 -06:00
79cc9e15e5 set tick sim time right before publishing 2025-01-29 11:39:05 -06:00
f0a25248c3 remove sys_timestamp, refactor into generalized i64 holding nanoseconds 2025-01-29 11:29:31 -06:00
a20e8eced5 store win32 timer start & frequency in terms of nanoseconds 2025-01-29 10:56:40 -06:00
4eef91dd63 convert sys_timestamp_t to struct 2025-01-29 10:22:00 -06:00
fef1d98c26 remove redundant cell iter check 2025-01-28 23:31:08 -06:00
dbd16ccd67 skip space cells at 0 2025-01-28 20:31:52 -06:00
70e2d4a935 fix some msvc warnings 2025-01-28 10:18:40 -06:00
894c2dfa26 release space client when entity releases. fix aabb test 2025-01-28 09:11:23 -06:00
dc09b65f69 use combined aabb test for bullet TOI 2025-01-27 20:00:00 -06:00
0836eec851 broad phase for colliders via aabb spatial hash 2025-01-27 19:42:17 -06:00
c200a618b0 collider_get_aabb & collider_test_aabb 2025-01-27 12:11:23 -06:00
b9bc22a019 profile locks 2025-01-26 21:29:03 -06:00
e259d5680d update tracy 2025-01-21 21:10:15 -06:00
4a01a54a59 capture profiler image before present 2025-01-21 19:53:00 -06:00
9202fed07f release vertex buffers before growing 2025-01-21 15:51:11 -06:00
d4327eb7bb don't create empty vertex / index buffers 2025-01-21 15:27:35 -06:00
d4387a873a formatting 2025-01-21 13:28:08 -06:00
75c9ff4dbd rename texture shader -> triangle shader 2025-01-21 13:23:18 -06:00
9d745e3475 set minimum window size 2025-01-21 08:32:05 -06:00
ab6761b733 formatting 2025-01-20 14:26:12 -06:00
a2f9f58143 retrieve texture size dynamically 2025-01-20 12:03:09 -06:00
cebaed5aa5 refactor renderer_handle -> renderer_texture. retrieve backbuffer as texture. 2025-01-20 11:50:18 -06:00
ceb1ac2059 remove gen from sys thread 2025-01-20 09:43:04 -06:00
c6e1450d88 rename viewport -> ui 2025-01-20 09:29:34 -06:00
3c47774e67 rename canvas -> cmd buffer 2025-01-20 09:25:32 -06:00
49ca91973a declare resource as texture pointer 2025-01-20 09:21:34 -06:00
511783243d draw ui & world to separate texture 2025-01-18 12:29:10 -06:00
acced9dfed render to texture 2025-01-17 19:29:57 -06:00
a015143f5c set topology per draw cmd 2025-01-17 14:05:01 -06:00
9549897e6b fix grid offset 2025-01-17 11:45:12 -06:00
a5111c5b51 rename rand.dat -> noise.dat 2025-01-17 10:16:50 -06:00
d78adcb9c9 copy random noise resource to memory on startup 2025-01-17 10:14:21 -06:00
e6cea55854 slight renderer refactor. grid shader. 2025-01-16 18:04:21 -06:00
bd77959675 formatting 2025-01-16 14:45:57 -06:00
6c5183fe0a merge sort typo 2025-01-16 14:33:13 -06:00
d2cfeed161 sorted layers first pass 2025-01-16 11:42:26 -06:00
c361becc73 add merge sort 2025-01-16 10:40:20 -06:00
81f4049f95 tweak player torque speed 2025-01-15 17:21:29 -06:00
ad7ca7d68c pre-generate rand.dat file for deterministic noise. calculate shake based on world time 2025-01-15 14:32:36 -06:00
4c194d3b39 camera shake 2025-01-14 17:06:25 -06:00
25592d24d3 rework collider clipping logic 2025-01-13 15:58:30 -06:00
a1b8f752c9 working on capsule collision bug 2025-01-13 11:58:32 -06:00
85234c8dac add random direction to blood test 2025-01-13 09:50:01 -06:00
ece13bc12f more transparent blood 2025-01-13 08:51:32 -06:00
5b29d4f36e bullet knockback. physics damping. 2025-01-13 08:46:11 -06:00
33ad436040 draw bullet circle in tracer 2025-01-13 07:53:06 -06:00
e961b6dceb test out adding shooter velocity to bullet 2025-01-12 18:30:06 -06:00
37f10d76dd working tracers 2025-01-12 18:23:01 -06:00
bcdd9660c2 comment 2025-01-12 16:06:24 -06:00
5026a967ff config option to disable detailed collision debug 2025-01-12 15:36:44 -06:00
a00798fc7a tracer beginnings 2025-01-12 11:54:48 -06:00
e70047f763 disable collision between bullet shooter & bullet 2025-01-12 09:40:33 -06:00
b66f130e9c respond to collisions using callbacks rather than events 2025-01-12 09:11:30 -06:00
0ef72e1b23 disable all warnings for profiling build 2025-01-11 15:49:57 -06:00
bbd11d2526 sort hit events by dt to prevent out of order bullet hit processing 2025-01-11 15:09:14 -06:00
5d6835ece3 bullet_has_hit 2025-01-11 10:22:27 -06:00
0c1d6a58de move phys arguments into phys_ctx 2025-01-10 16:05:22 -06:00
0716ebd398 separate physics logic from game.c 2025-01-10 15:44:07 -06:00
f4d8ec73e7 skip toi between non-bullets 2025-01-10 14:32:03 -06:00
1849f1143a de-duplicate collider.c gjk & epa logic 2025-01-10 11:37:27 -06:00
02290601c3 cleanup collision debug leak & merge structure with contact lookup into entity lookup 2025-01-06 17:09:39 -06:00
6268e012f6 add false position method to toi root finding 2025-01-06 16:33:14 -06:00
967a408972 fix dangling constraint entities 2025-01-06 15:05:15 -06:00
dd4b05cbd1 time of impact seemingly working 2025-01-06 12:20:06 -06:00
1e81a7ea41 create collider_closest_points function 2025-01-06 11:41:59 -06:00
2260b1bc36 fix collision issue between capsule rounded edge & corners, and with reverse-winding shapes 2025-01-03 18:42:46 -06:00
33df739cc6 create separate entities for visualizing collision debug info 2025-01-03 17:24:34 -06:00
9981b600a8 draw debug movement for kinematic objects 2025-01-03 16:04:32 -06:00
1bbe316b20 kinematic flag 2024-12-16 12:53:52 -06:00
bac3256d1e hit event testing 2024-12-16 12:23:58 -06:00
152656fbc5 create ground friction joint dynamically 2024-11-18 13:12:10 -06:00
bfa1f1e065 contact lookup, joint / contact removal 2024-10-30 18:34:45 -05:00
f5e45d6ba1 game tick continuity gen. start removing static constraint lookup 2024-10-30 14:47:17 -05:00
c071e17305 fix clip winding swap 2024-10-30 13:58:11 -05:00
c8b48b9537 object dragging via mouse joint 2024-10-30 10:16:09 -05:00
8eadda9931 store & calculate friction 2024-10-29 18:35:35 -05:00
c966924760 fix incorrect contact point calculation 2024-10-29 13:59:12 -05:00
d0089329e2 start mouse joints. separate contact creation & preparation 2024-10-29 13:26:32 -05:00
483a95dfca testing linear movement using motor joint 2024-10-29 11:13:31 -05:00
c6b2a8c283 fix turn speed framerate dependent 2024-10-28 16:06:46 -05:00
161e615aa7 specify control torque in turns / second 2024-10-28 15:58:00 -05:00
5dde85a04a motor joint warm starting 2024-10-28 15:12:23 -05:00
4e920e071d motor joint 2024-10-28 14:33:26 -05:00
68d80de75a move manifold data into 'contact_constraint' struct 2024-10-23 16:35:09 -05:00
59b48694e8 fix aim angle diff check 2024-10-23 15:19:18 -05:00
7708b8e5b8 rework transformation math functions, add separate 'world' transform functions 2024-10-22 15:16:34 -05:00
ed8b03941e use v2_winding when clipping 2024-10-22 11:15:52 -05:00
55fc39fddd minor tweaking 2024-10-15 17:47:57 -05:00
8f1422a882 more popping work 2024-10-15 14:00:03 -05:00
73b7fef768 more fixed up capsule collision. remove transform matrix skewing 2024-10-12 00:37:15 -05:00
6951fa62e3 popping probably fixed 2024-10-11 14:32:01 -05:00
687e9b8c99 fix atan2f causing skew drift 2024-10-11 11:22:33 -05:00
31082916ad unevenly-scaled shape collisions working 2024-10-10 16:43:31 -05:00
daf1a862f5 more physics config defines 2024-10-10 13:52:57 -05:00
c193e31cce only draw collider line for circles 2024-10-10 13:24:08 -05:00
59361a60af divide warm start impulse by num contacts 2024-10-10 13:13:37 -05:00
9b4cfa345d halve warm start impulse to reduce jitter 2024-10-10 10:29:35 -05:00
bc19bd816d gonna probably rework clipping to better support round shapes 2024-10-10 08:57:55 -05:00
1eac05e8f1 re-enable collisions 2024-10-09 17:17:57 -05:00
f22aec28bb more gjk collision work for rounded shapes 2024-10-09 13:05:01 -05:00
33b32e849c ignore speculative bias during relaxation for stabililty 2024-10-08 19:34:52 -05:00
ac042a3306 rounded collisions working except for clipping 2024-10-08 16:01:30 -05:00
d52effe5c1 wip collider shapes 2024-10-08 12:15:11 -05:00
5ef8ee3f40 rename module gjk -> collider. remove unused gjk functions. 2024-10-08 07:43:45 -05:00
06afe6263f small formatting 2024-10-08 07:35:02 -05:00
71e3d9f05f fix gjk causing unstable collisions between flat diagonals 2024-10-05 01:03:07 -05:00
1dde27d31b fix wild collisions at low precision 2024-10-05 00:09:50 -05:00
aac6acd18f apparent stability for now 2024-10-04 20:15:44 -05:00
cf911f27b7 soft contact testing 2024-10-04 09:18:09 -05:00
3c275dfc9a warm starting testing 2024-10-02 16:13:38 -05:00
2758bdc394 friction testing 2024-10-02 14:17:48 -05:00
62df86a66a return un-negated normal from gjk 2024-10-02 11:27:52 -05:00
acbd97aa84 tweaking 2024-09-26 17:21:51 -05:00
3b21f641ad calculate contact ponits outside of substeps by storing local positions 2024-09-25 19:36:28 -05:00
c00d43b1de resolve collisions using the new clipped contacts 2024-09-25 17:02:46 -05:00
ef7ba9e77d commit config.h 2024-09-25 17:02:20 -05:00
a6412ba4f1 working face clipping along normal in gjk_contact_points 2024-09-24 18:55:41 -05:00
88334f2ab1 test midpoint contact point 2024-09-23 15:00:14 -05:00
4b88b282df fix manifold swap issue 2024-09-19 20:42:31 -05:00
dbdd653ae8 fix epa collision not detecting when diagonals touch 2024-09-19 17:37:24 -05:00
1f0c8964d0 skip redundant manifold based on manifold iteration 2024-09-19 12:50:26 -05:00