Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
General Rainbow Bacon

Theoretical # of monsters possible

Recommended Posts

Quasar said:

Any "general" fix that would reduce processing for all corpses or for inerts such as pickup items will break compatibility, both for demos and for DeHackEd patches, which can cause such effects as walking/attacking corpses and pickup items that move or explode, etc.


Not only that, but determining whether something will definitively be ALWAYS inert, or even when something has died without any possibility that it may e.g. spring back to life or animate or interact in any way can range from tricky (analyzing the possible state progressions etc.) to impossible, without extending the engine to handle it (e.g. mark mobj_t's as "inert" or "killed" during gameplay after they are found not to be able to transition to any other states). As it is, the engine is way too general and ambiguous, as it treats everything equally.

It's funny though... we're debating whether Doom should be capable of handling 1000000 corpses with no slowdown, while modern shooters can't handle more than a couple dozen anyway ;-)

Share this post


Link to post

Well, corpses aren't inert in modern shooters, because it's so very important to have ragdoll fun with them! :p

Share this post


Link to post
Guest

115,545 kills.

Of which, I killed, maybe 4.

Share this post


Link to post

A map of that size exhibits other artifacts as well, like bullet puffs stopping in mid-air etc. so even the effective range of all those zombies is actually pretty limited.

Share this post


Link to post

I've only recently been looking at the source code for this out of curiosity, and nuts.wad had me thinking about the thinker code. I was curious about multi-threading P_RunThinkers, (most people by now at least have dual cores) but I haven't looked at it enough to know if its even possible. Glancing at the code though, it doesn't really seem worth it.

Share this post


Link to post

It is possible if you don't mind losing demo compatibility or even self-compatibility, as every time you run it the outcome will be different unless you introduce forced synchronizations which would defeat the purpose of multithreading in the first place.

It would also cause a lot of causality problems e.g. a monster may be killed before it can act in singlethreaded code, but attack and then be killed in multithreaded. In short, you would likely see a lot of weird glitches happening.

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
×