SaarStar Posted October 27, 2015 Hello Doomworld community members, I am a design student trying to determine if it would be feasible to create an infographic based off player routes through E1M1 of Doom. This would require me to collect data such as the players positioning (pathway through map) as well as items collected, demons killed, shots fired, switches hit, doors opened... etc. I have a fair level of understanding of Doom source ports however when it comes to demo recordings (specifically LMP files) I am less keen. To my knowledge they contain some of this data? My question is whether or not its possible to generate a comprehensible log file from either a demo lmp. or straight from a modern source port command line that would give me access to this data. I look forward to reading your responses! Thanks! 0 Quote Share this post Link to post
Kappes Buur Posted October 27, 2015 Something like this ? Spoiler If yes, then it has been done already for these maps Knee-Deep In The Dead Maps The Shores Of Hell Maps Inferno Maps Thy Flesh Consumed Maps Doom II Maps TNT Maps Plutonia Maps Master Levels Maps 0 Quote Share this post Link to post
SaarStar Posted October 27, 2015 No, sorry, to clarify I'm not simply trying to create a map for a level. I would like to know if it is possible to accurately plot a players movement through a map using information recorded inside Doom's demo LMP files. For my project I plan on comparing the routes of multiple players through E1M1: using the pathways to compare how people interpret the game environment differently. 0 Quote Share this post Link to post
andrewj Posted October 27, 2015 Yes it is possible, but you cannot use an LMP file directly, instead you need to modify the engine (e.g. PrBoom+) and add code to print stuff into a log file whilst a demo is being played back. If you are a programmer with some C experience then it is fairly straightforward. 0 Quote Share this post Link to post
scifista42 Posted October 27, 2015 Relevant technical/practical info: http://doomwiki.org/wiki/Demo https://www.doomworld.com/vb/post/546372 0 Quote Share this post Link to post
Gez Posted October 27, 2015 I can't find the thread, but I'm pretty sure it's been done already. 0 Quote Share this post Link to post
fraggle Posted October 27, 2015 SaarStar said:No, sorry, to clarify I'm not simply trying to create a map for a level. I would like to know if it is possible to accurately plot a players movement through a map using information recorded inside Doom's demo LMP files. For my project I plan on comparing the routes of multiple players through E1M1: using the pathways to compare how people interpret the game environment differently. You'll need to create a modified source port that can play back Vanilla demos (would therefore probably have to be based on something like PrBoom or Chocolate Doom) and write out the player coordinates at each tic. Then automate the process to run through lots of demos - you can find some in Compet-N for example. Demos can be played back at maximum speed (essentially fast forwarded) so there's no need to sit through every demo in real time. Then you need to plot all the collected data over an image of the map - there are a bunch of existing tools to generate nice looking maps so it's probably just a matter of drawing a bunch of lines or plotting points. So it can be done but I doubt there's any existing tool or source port that can do this. You'll need some programming skills but not particularly advanced ones. 0 Quote Share this post Link to post
dew Posted October 27, 2015 I'd start with Odamex. It combines vanilla compatibility including demo playback with thorough logging common in multiplayer ports. Just set up the logging level to item pickups. You'd have to add the more detailed stuff yourself. 0 Quote Share this post Link to post
SaarStar Posted November 2, 2015 fraggle said:You'll need to create a modified source port that can play back Vanilla demos (would therefore probably have to be based on something like PrBoom or Chocolate Doom) and write out the player coordinates at each tic. Then automate the process to run through lots of demos - you can find some in Compet-N for example. Demos can be played back at maximum speed (essentially fast forwarded) so there's no need to sit through every demo in real time. Then you need to plot all the collected data over an image of the map - there are a bunch of existing tools to generate nice looking maps so it's probably just a matter of drawing a bunch of lines or plotting points. This sounds like exactly what I need, however with no programming skills I don't think I can move on with this idea. However, i'd still like to thank everyone for the help! The Doom community has never been a let down. 0 Quote Share this post Link to post
Linguica Posted November 2, 2015 I made a quick EXE hack outputting player position data: http://www.doomworld.com/linguica/chocolate-doom-pathdraw/chocolate-doom-pathdraw.zip It just outputs the tic number with current player X and Y positions to stderr. I tried DEMO3 in Doom 2 and overlaid it on the map to make sure it seemed to work OK: 0 Quote Share this post Link to post
RestlessRodent Posted November 2, 2015 Linguica said:I made a quick EXE hack outputting player position data: http://www.doomworld.com/linguica/chocolate-doom-pathdraw/chocolate-doom-pathdraw.zip It just outputs the tic number with current player X and Y positions to stderr. I tried DEMO3 in Doom 2 and overlaid it on the map to make sure it seemed to work OK: http://www.doomworld.com/linguica/chocolate-doom-pathdraw/path.png Gave me an idea! Draw by moving around in a Doom level! Could paint some Cacodemons. I thought of doing such things when I eventually develop bots. Play demos made by specific players and determine their playstyle so to speak, to emulate them 0 Quote Share this post Link to post
SaarStar Posted November 2, 2015 That does look pretty good Linguica, thanks for whipping that up. Can the accuracy of the path be enhanced? Say by decreasing stroke thickness? Embarrassing as it may sound I currently can't test the .exe because I use the mac port of chocolate doom. 0 Quote Share this post Link to post
Linguica Posted November 2, 2015 SaarStar said:That does look pretty good Linguica, thanks for whipping that up. Can the accuracy of the path be enhanced? Say by decreasing stroke thickness? Embarrassing as it may sound I currently can't test the .exe because I use the mac port of chocolate doom. OK... http://www.doomworld.com/linguica/chocolate-doom-pathdraw/chocolate-doom-pathdraw-mac.zip You'll have to be able to run it in Terminal via ./chocolate-doom-pathdraw -timedemo demo 2> out.txt and supply your own IWAD. 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.