#ddnet #twgame #teehistorian

teehistorian-replayer

Passing Teehistorian events in the correct order into TwGame-Core world interface

6 releases (breaking)

new 0.7.0 Nov 5, 2024
0.6.0 Nov 1, 2024
0.5.0 Oct 23, 2024
0.4.0 Oct 14, 2024
0.2.0 Oct 12, 2024

#17 in #ddnet

Download history 185/week @ 2024-10-07 328/week @ 2024-10-14 134/week @ 2024-10-21 131/week @ 2024-10-28

778 downloads per month
Used in tee-hee

AGPL-3.0-only

99KB
2.5K SLoC

TwGame

This repository contains multiple DDNet related libraries and tools. It is based on libtw2, twmap and teehistorian.

Features:

Bolded items have known edge cases not yet working:

  • DDNet physics
    • spawn
    • collision
    • movement
    • jump
      • jump count setter
      • wall jump
      • double jump refresher
    • hook
      • old hookthrough
      • hookthrough
      • directional hookthrough
    • freeze
      • deep freeze
      • freeze heart
      • live freeze
    • hammer
    • weapon switch
    • collectable weapons
      • shotgun
      • grenade
      • laser
      • ninja
    • shields (removing weapons)
    • solo
    • power ups
      • endless hook
      • weapons off
      • collision off
      • infinite jumps
      • jetpack
      • hook off
    • start/finish
    • checkpoints
    • teams
      • switching teams
      • /lock
      • unlock block
      • join team0 on finish
    • swap
    • ignoring practice
    • save/load
    • chat command /kill
    • teleporter
      • checkpoints
      • hook teleporter
      • weapon teleporter
    • telegun gun/grenade/laser
    • stopper
    • config variables
    • tune zones
    • switch layer
      • static freezing laser
      • rotating freezing laser
      • laser length changer
      • explosion turrents
      • moving bullets
      • dragger
      • doors
    • speedup layer
    • entity speeder
    • /spec and /pause
    • Spectator mode
    • ...
  • Unit tests for physics
  • Teehistorian replayer
  • Teehistorian indexer - making collections of teehistorian files searchable in sqlite3

Future plans:

  • Output teehistorian file as .demo
  • Allow using DDNet C++ physics via Rust bindings
  • Python binding to work with teehistorian files
  • Demo reader/writer allowing conversion to and from teehistorian
  • Make a server wrapper around the game implementation using libtw2 network library
  • Allow rendering teehistorian files with twmap
  • In teehistorian replayer allow checking which bugs quirks were abused like tele, shotgun, skippable tiles, ... or map specific bugs.

Dependencies

~9MB
~168K SLoC