Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
40oz

Doom monster kill counter

Recommended Posts

Are there any ZDoom scripts or scripts for other ports that can count the number of monsters you kill, the kind of monsters you kill, and keep a record of them every time I play doom? Like maybe generate a text file of some sort? It would be pretty sweet if I could keep track of all the monsters I kill in Doom.

Share this post


Link to post

I have often wondered to myself since I first played Doom way back in 1991: "How many imps have I killed? how many Spectres? How many shotty shells have I fired?" etc. To know stats like that would be really cool.

The only answer I have at the moment to all of those questions is "A lot."

'Course, I wouldn't really know where to start with actually making something like that, so , errrm

<-twiddles thumbs.

But I hope someone does.

Share this post


Link to post

I think every port can display the ammount of kills etc on the current map. Just to continue the cycle, In Doomsday you enter "map-cheat-counter 0/1" in the console.

...But that wasn't what Rancid was asking ;)

I don't think what Rancid was asking has been done in any port and I doubt it will ever.

So, you'll have to do it the hard way and add up the ammount of kills you do on every map by hand and keep a manual record :p

Share this post


Link to post
Kyka said:

I have often wondered to myself since I first played Doom way back in 1991: "How many imps have I killed? how many Spectres? How many shotty shells have I fired?" etc. To know stats like that would be really cool.

You played Doom in 1991? It must have been KDIKDIZD! So that's were it went. I never would've expected to find it only two years prior to Doom's release. Clever Essel. ;-)

Anyways, I think a good thing to do would perhaps be to compile a bunch of charts like the ones in the wiki that tell you how many of each type of enemy is on each of the skill levels in a given map. I would imagine it would be a lot simpler to make a program from there that you simply enter these numbers into and it will keep track of them for you, writing it to a text file or something. Actually, I suspect the program would be the easy part, but the tedious part would be collecting the stats for each map. Just a thought anyway.

Share this post


Link to post

Keeping track of kills over all sessions sounds as useless as ZDaemon experience points.

A list including each type of monsters and kills might be okay. Maybe it could use a score board functionality like in multiplayer engines. But being able to know the total opposition (or secrets and items, for that matter) beforehand is kind of lame, so maybe it could have an option to list only monsters seen by the player (any thing that appears in the player's screen would be added to the list during play).

Share this post


Link to post

myk said...
A list including each type of monsters and kills might be okay.

Indeed, this is something that I have thought about as well. It would be interesting to see exactly how many Cyberdemons you have killed throughout your time playing wads. I don't really know how to go about coding it either but I will play around with the idea.

Share this post


Link to post

I am well aware that doing it manually would simply do the trick, however I don't plan on enjoying doom any longer if I need a peice of paper and pencil everytime I play Doom so I can make a journal entry of everything I killed during that time. Also, in addition to keeping a tally of all the monsters I have killed per level, It would record how many monsters you killed that day, so the next time you play doom, it will add the monsters you killed the next day to the previous day, so it will constantly add up.

It's a little late for this, but I think it would be neat to keep a tally on how many cyberdemons and icons of sin I have defeated over the course of playing doom to share with friends. It might encourage me to want to complete all the popular megawads again. I'd probably play through AV and HR2 a couple times just for some quick monster kills. It would have been much better if this kinda thing existed years ago, back when I did complete all the megawads the first time. However I still would be very very very grateful if someone knows a way this could be done.

This idea seems a little more in the ScoreDoom department however, maybe I should ask Bilbohicks if he's interested in implementing something like it?

Share this post


Link to post

Some possible issues I can see would be:

  • What happens when using cheats of any kind?
  • What about -skill 1, -fast, and -skill 5?
  • What of mods that modify monster behavior?
What would be kind of cool in my opinion is an option that lets you see how many kills each monster gets. You could get an idea of how useful each is for infighting on a particular level.

PrBoom+ has a neat feature associated to this sort of thing; in can keep track of the hit points of specific monsters.

Share this post


Link to post

SuperSonicDoom had a scoring system linked to all the monsters in DECORATE. With some tweaking to that system, by giving points to several variables instead of one lump sum, and only one point per monster, it should work. Same could be done with the weapons for shot count.

Share this post


Link to post

I keep track of all sorts of stuff in OpenOffice spreadsheets but can't see myself pausing and alt-tabbing back and forth everytime I kill something. That would take the fun out of the game.

Kyka said:

I have often wondered to myself since I first played Doom way back in 1991[/b]

Ralphis said:
Doom came out in 1993

We will be landing at Sydney International (Kingsford Smith) Airport in ten minutes. Please remember to turn your watches back [b]two years. :P

Share this post


Link to post
myk said:

Some possible issues I can see would be:

  • What happens when using cheats of any kind?
  • What about -skill 1, -fast, and -skill 5?
  • What of mods that modify monster behavior?


Yeah im sure those issues would be absolutely present. Using cheats or mods that modify monster behavior would simply be 'cheating' in addition to just opening the text file and modifying it yourself. The program in effect would leave a lot of holes and would have to resort to an honor's system of some sort unless the person who makes it would want to secure it. If I made the program myself, I wouldn't really be interested in making it a serious competition, just a self examination of my dooming.

Share this post


Link to post

Hey, there's a program called "STAT.exe" that you can run on a WAD and it will write a bunch of info about all the levels in a WAD to a text file. It will tell you stuff like how many enemies of each type are on each skill setting. It will do the same for health, armor, ammo, and weapons as well as telling you how many individual clips and cells you can have throughout the map. It will also tell you things like the number of sectors in the map and the XY positions of the items. It may not be what you're describing with this Zdoom kill counter, but you may find it interesting to glance through to see how much ammo you've eaten through in a neat megaWAD and what you killed with it. I think this program was in a zip called "editutil.zip" or something.

Share this post


Link to post
Death-Destiny said:

Hey, there's a program called "STAT.exe" that you can run on a WAD and it will write a bunch of info about all the levels in a WAD to a text file. It will tell you stuff like how many enemies of each type are on each skill setting. It will do the same for health, armor, ammo, and weapons as well as telling you how many individual clips and cells you can have throughout the map.

So what we basically need is a variant of the "stat.exe" code that can also account for spawned/resurrected monsters and when the exit is reached deduct any unused items and surviving monsters from the tally.

Share this post


Link to post
GreyGhost said:

So what we basically need is a variant of the "stat.exe" code that can also account for spawned/resurrected monsters and when the exit is reached deduct any unused items and surviving monsters from the tally.


Almost perfect, I don't want this per map though, I want this at all time, regardless of whether the map was completed or not. A buddy was telling me about Doom the Roguelike, and it keeps a counter on how many monsters you killed and what type. Granted it's an RPG game consisting of turn-based battles, experience points, and leveling up. In regular Doom, I'd prefer to skip the leveling up and experience points, but knowing how many monsters you slayed would be awesome info.

Share this post


Link to post

There's still the question of how to account for custom monsters. Would they be listed separately, associated with their base type (family) or lumped together as "others"?

Share this post


Link to post

I think "Others" would be the easiest way to do it but it could probably be done in a way that uses the actual name of the monster to tell how many you killed. However, this might present a problem if two of the exact same monsters are killed but have different names. If people did not change the name of a monster for their own wad though, it would be fine.

Share this post


Link to post

Zdoom monsters have both a unique thing number and a MONSTER flag set. It might be possible to list each thingtype with this flag, though that would require the program to read DECORATE lmps, which would probably get messy.

Share this post


Link to post

Hmmm.. I dont know, i figured it would just ignore them. Does anyone truly care how many dark imps they killed?

Share this post


Link to post

Life would be easier without custom monsters, though with more of them finding their way into maps they should be accounted for one way or another. Might be worthwhile having a look at ScoreDoom's source to see how it identifies and scores monsters - especially custom monsters.

Share this post


Link to post
GreyGhost said:

Life would be easier without custom monsters, though with more of them finding their way into maps they should be accounted for one way or another. Might be worthwhile having a look at ScoreDoom's source to see how it identifies and scores monsters - especially custom monsters.


Yes custom monsters do make it more complicated. For instance, different wads could use the same thing number for different monsters. You could use the decorate name of the custom monster, which would be better, I think. Then you have a very long list of monsters, but that's not so bad in a text file.

Since scoredoom is essentially gzdoom, once the monsters are loaded from the decorate lmps they get treated as regular monsters in terms of how I reference them to work out kill bonuses etc... (10% of health).
I have a hacky, but imo, effective way of replacing regular monsters with custom monsters which uses the custom monster's decorate name and associates it with the spawn id of regular monster it replaces when the map loads.

Come to think of it, if it's just a case of tallying up the number of kills based on decorate monster name like:

[Kill Stats]
ShotGunGuy 12
DoomImp 21
DarkImp 6
...

It might not be too bad using zdoom's config file I/O code which I used to set hi scores for scoredoom.
IIRC zdoom's config file I/O code caches the config file in memory, and writes changes to it there, and only writes to the file when the game exits, or a certain console command is executed. So I think it is possible to write in real time to the config file as monsters are killed during the game. This is a simple but *very* hacky way to do it, even with scoredoom's hi scores, since everything is loaded into memory when it is stored in the config file. Not a big deal I think, due to todays hardware, but obviously not ideal.

I'm personally not bothered about stats like these, but if it turns out to be as easy to add as I think it is, then I *may* add it along with a console variable for turning it on, no promises though, since I dont have much time to work on it, and I have a couple of bug fixes to add already.

Share this post


Link to post

ThingCount(doomednum, thingid);

Returns an integer of the number of Things counted. Does not count dead Things. You may optionally choose either a specific doomednum, a ThingID, or both (like a group of imps with a specific TID). Subtract the number of each monster currently active from the total on the level to get the number killed.

Usage:

#include "zcommon.acs"
#define TOTALIMPS [number]

Script 900 OPEN
{
  Print(d:(ThingCount(T_IMP,0)-TOTALIMPS),s:" imps killed.");  //TOTALIMPS is #define'd
  Delay(5);
  Restart;
}
Thread's over, go home now

Share this post


Link to post

Fisk said:
Thread's over, go home now


Wait wait, before we call it a night, mind going into a little more detail on how I go about that? I know nothing about ACS, but I'd llike to try what you have in mind.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×