Upvote Upvoted 50 Downvote Downvoted
Announcing DemoMan, the TF2 demo manager
posted in Projects
1
#1
0 Frags +

I want to share something I've been working on for a little over two years:
DemoMan is a program that helps you manage all of your demo files!
If you're anything like me, you probably have 'ds_enable' set to 2 to record
every game of TF2 you play, and so you have accumulated a few gigabytes
of demos on your hard drive gathering dust.
With no efficient way to find the demos containing your best highlights,
you'll probably never make that epic fragmovie you always wanted to make.
With DemoMan, you can quickly browse all of your demos to find clips,
add, remove, and edit bookmarks, and free up space by automatically deleting
all demos without bookmarks. DemoMan also has support for loading events
for demos recorded with P-REC for those who need it.
You can also assign tags to demos to categorize them.

If you're not like me, or don't know what I'm talking about,
you should give recording demos a shot. It's a very nice feature
you can use to record all of your gameplay while using much less
hard drive space than shadowplay.
I've written a tutorial on how to set up automatic demo recording. (link)

TL;DR: I made a tool for organizing your demo files.
Check out the GitHub for screenshots and a list of features.

DemoMan is free and open-source software released under the GNU GPLv3 license.
It is available for Linux, Windows and MacOS.

Source code, screenshots and installation instructions are available on GitHub

Join the Discord server

All feedback is greatly appreciated.
Don't hesitate to submit bug reports, suggestions or questions on GitHub or Discord.

I want to share something I've been working on for a little over two years:
DemoMan is a program that helps you manage all of your demo files!
If you're anything like me, you probably have 'ds_enable' set to 2 to record
every game of TF2 you play, and so you have accumulated a few gigabytes
of demos on your hard drive gathering dust.
With no efficient way to find the demos containing your best highlights,
you'll probably never make that epic fragmovie you always wanted to make.
With DemoMan, you can quickly browse all of your demos to find clips,
add, remove, and edit bookmarks, and free up space by automatically deleting
all demos without bookmarks. DemoMan also has support for loading events
for demos recorded with P-REC for those who need it.
You can also assign tags to demos to categorize them.

If you're not like me, or don't know what I'm talking about,
you should give recording demos a shot. It's a very nice feature
you can use to record all of your gameplay while using much less
hard drive space than shadowplay.
I've written a tutorial on how to set up automatic demo recording. [url=https://github.com/Narcha/DemoMan/wiki/Setting-up-demo-recording](link)[/url]

TL;DR: I made a tool for organizing your demo files.
Check out the GitHub for screenshots and a list of features.

DemoMan is free and open-source software released under the GNU GPLv3 license.
It is available for Linux, Windows and MacOS.

[url=https://github.com/Narcha/DemoMan]Source code, screenshots and installation instructions are available on GitHub[/url]

[url=https://discord.gg/GduKxhYFhR]Join the Discord server[/url]

All feedback is greatly appreciated.
Don't hesitate to submit bug reports, suggestions or questions on GitHub or Discord.
2
#2
3 Frags +

The tool you didn't know you needed in your life - highly recommend!

The tool you didn't know you needed in your life - highly recommend!
3
#3
25 Frags +

demoman is the fourth selectable class in the videogame Team Fortress 2

demoman is the fourth selectable class in the videogame Team Fortress 2
4
#4
9 Frags +

this is really cool good shit bro

this is really cool good shit bro
5
#5
9 Frags +

good shit narcha this program slaps

good shit narcha this program slaps
6
#6
0 Frags +

I have all my 2 years of comp experience to sieve through - thank you so much for this!

I have all my 2 years of comp experience to sieve through - thank you so much for this!
7
#7
2 Frags +

For those who have p-rec and have issues loading bookmarks from KillStreaks.txt into events:

Open KillStreaks.txt in Notepad++

CTRL + F > Replace

Paste:

\..+\"

in the "Find what" bar and paste:

"

in the "Replace with" bar

MAKE SURE the search mode is on "Regular expression" and then you can click on the "Replace All" button

This renames "RED_vs._BLU.dem" into "RED_vs.dem" inside the KillStreaks.txt file - the same way p-rec names demo files

For those who have p-rec and have issues loading bookmarks from KillStreaks.txt into events:

Open KillStreaks.txt in Notepad++

[b]CTRL + F[/b] > Replace

Paste: [code]\..+\"[/code] in the "[u]F[/u]ind what" bar and paste: [code]"[/code] in the "Rep[u]l[/u]ace with" bar

MAKE SURE the search mode is on "[b]Re[u]g[/u]ular expression[/b]" and then you can click on the "Replace [u]A[/u]ll" button

This renames "RED_vs._BLU.dem" into "RED_vs.dem" inside the KillStreaks.txt file - the same way p-rec names demo files
8
#8
2 Frags +

This issue only seems to affect demos with a "." in the name, and the workaround seems to work so far for affected users.
I'm working on a more permanent fix.

This issue only seems to affect demos with a "." in the name, and the workaround seems to work so far for affected users.
I'm working on a more permanent fix.
9
#9
2 Frags +

Cool project, a few things:

* When I have the demo list sorted (for example, by events), then click on a demo, then go back, it ends up being unsorted. Having consistency here would be nice.
* Ability to sort by date would be cool (for example, if I want demos from a specific season)
* Ability to sort by class would be nice, but I'm not really sure how possible this is

Other than that, it's pretty useful for quickly sifting through a bunch of demos to find which ones have events

Cool project, a few things:

* When I have the demo list sorted (for example, by events), then click on a demo, then go back, it ends up being unsorted. Having consistency here would be nice.
* Ability to sort by date would be cool (for example, if I want demos from a specific season)
* Ability to sort by class would be nice, but I'm not really sure how possible this is

Other than that, it's pretty useful for quickly sifting through a bunch of demos to find which ones have events
10
#10
7 Frags +
BYS_ShadowFenixCool project, a few things:

* When I have the demo list sorted (for example, by events), then click on a demo, then go back, it ends up being unsorted. Having consistency here would be nice.
* Ability to sort by date would be cool (for example, if I want demos from a specific season)
* Ability to sort by class would be nice, but I'm not really sure how possible this is

Other than that, it's pretty useful for quickly sifting through a bunch of demos to find which ones have events

Thanks for the feedback!
I'll make sorting and filtering persistent in the next update, and sorting by date should also not be too hard to implement. Ability to sort by class will be possible in version 2.0.

Speaking of version 2.0, here's what to expect:

  • Full demo parsing, allowing users to see chat log, rounds info, kill log, scoreboard etc. of a demo
    • This also enables me to supercharge the search and filter features, something like "filter by class: soldier" or "search all marget gardener kills" are possible (not sure about performance on these though, they're not implemented yet)
  • Completely re-written backend to speed everything up (I measured 1000x-10000x faster load times)
  • New UI probably because I felt like it

This is in very active development, but it will take a few more months at least because I also have to finish my bachelor's thesis.
Join the discord for occasional dev updates :)

[quote=BYS_ShadowFenix]Cool project, a few things:

* When I have the demo list sorted (for example, by events), then click on a demo, then go back, it ends up being unsorted. Having consistency here would be nice.
* Ability to sort by date would be cool (for example, if I want demos from a specific season)
* Ability to sort by class would be nice, but I'm not really sure how possible this is

Other than that, it's pretty useful for quickly sifting through a bunch of demos to find which ones have events[/quote]

Thanks for the feedback!
I'll make sorting and filtering persistent in the next update, and sorting by date should also not be too hard to implement. Ability to sort by class [b]will be possible[/b] in version 2.0.

Speaking of version 2.0, here's what to expect:
[list]
[*] Full demo parsing, allowing users to see chat log, rounds info, kill log, scoreboard etc. of a demo
[list]
[*] This also enables me to supercharge the search and filter features, something like "filter by class: soldier" or "search all marget gardener kills" are possible (not sure about performance on these though, they're not implemented yet)
[/list]
[*] Completely re-written backend to speed everything up (I measured 1000x-10000x faster load times)
[*] New UI probably because I felt like it
[/list]

This is in very active development, but it will take a few more months at least because I also have to finish my bachelor's thesis.
Join the discord for occasional dev updates :)
11
#11
2 Frags +

i have 3000 demos this is the most useful thing that i have ever used regarding demos. THANK YOU!

i have 3000 demos this is the most useful thing that i have ever used regarding demos. THANK YOU!
12
#12
1 Frags +
mintyxdi have 3000 demos this is the most useful thing that i have ever used regarding demos. THANK YOU!

Glad you like it! Apologies if it's really slow with so many demos, I only tested this version with ~300 demos :) .
The new version I'm working on will be many orders of magnitude faster. Stay tuned for that...

[quote=mintyxd]i have 3000 demos this is the most useful thing that i have ever used regarding demos. THANK YOU![/quote]

Glad you like it! Apologies if it's really slow with so many demos, I only tested this version with ~300 demos :) .
The new version I'm working on will be many orders of magnitude faster. Stay tuned for that...
13
#13
1 Frags +

if logs.tf can detect airshots (albeit imperfectly) is there any way demo managers can detect them as well? as events

if logs.tf can detect airshots (albeit imperfectly) is there any way demo managers can detect them as well? as events
14
#14
1 Frags +
riotbzif logs.tf can detect airshots (albeit imperfectly) is there any way demo managers can detect them as well? as events

Logs.tf "cheats" a bit by recording events such as airshots during the game and then writing them to the log.
I don't have that luxury, and detecting airshots would require "manually" parsing the entire demo, which involves basically simulating the entire game in the app.
Nevertheless, version 2 of DemoMan is capable of doing just that (thanks to work done by icewind1991).
That means detecting things like airshots is feasible, and might be implemented later in version 2.

[quote=riotbz]if logs.tf can detect airshots (albeit imperfectly) is there any way demo managers can detect them as well? as events[/quote]
Logs.tf "cheats" a bit by recording events such as airshots during the game and then writing them to the log.
I don't have that luxury, and detecting airshots would require "manually" parsing the entire demo, which involves basically simulating the entire game in the app.
Nevertheless, version 2 of DemoMan is capable of doing just that (thanks to work done by icewind1991).
That means detecting things like airshots is feasible, and might be implemented later in version 2.
15
#15
4 Frags +

could you add a trimming feature? including auto trimming for stv demos (get rid of pre/post game)

could you add a trimming feature? including auto trimming for stv demos (get rid of pre/post game)
16
#16
2 Frags +
geducould you add a trimming feature? including auto trimming for stv demos (get rid of pre/post game)

Trimming/Cutting demos is quite complicated, but possible in theory. To get accurate results, I would have to simulate the entire game up to the new start tick.
This is something I want to look into at some point in the future, right now I want to get version 2 out :)

[quote=gedu]could you add a trimming feature? including auto trimming for stv demos (get rid of pre/post game)[/quote]
Trimming/Cutting demos is quite complicated, but possible in theory. To get accurate results, I would have to simulate the entire game up to the new start tick.
This is something I want to look into at some point in the future, right now I want to get version 2 out :)
17
#17
1 Frags +
Narchamintyxdi have 3000 demos this is the most useful thing that i have ever used regarding demos. THANK YOU!
Glad you like it! Apologies if it's really slow with so many demos, I only tested this version with ~300 demos :) .
The new version I'm working on will be many orders of magnitude faster. Stay tuned for that...

not that laggy to me as is, but i have a pretty good pc. keep up the good work man

[quote=Narcha][quote=mintyxd]i have 3000 demos this is the most useful thing that i have ever used regarding demos. THANK YOU![/quote]

Glad you like it! Apologies if it's really slow with so many demos, I only tested this version with ~300 demos :) .
The new version I'm working on will be many orders of magnitude faster. Stay tuned for that...[/quote]
not that laggy to me as is, but i have a pretty good pc. keep up the good work man
Please sign in through STEAM to post a comment.