Jump to content
The Dark Mod Forums

HMart

Member
  • Posts

    1541
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by HMart

  1. IMO just Tessellating a low poly model, may help round silhouette's a little but will not magically make them look better, perhaps may even make it look worse (and unnatural) and imo is very wasteful, why, because like I said above, when doing that, many polies will very probably end on flat peace's and still look flat, have no visual impact but still make GPU's work harder.
  2. This engine doesn't support quads at all, all models need to be triangulated at export time. Don't take my word for it but IMO that limit seems to be a old recommendation for Doom 3, today is very possible to have a character with more polys (triangles), those Dragfer suggested sound reasonable but I would be surprised, if you couldn't have one or two 10 000 or more characters moving around, all depends on the amount of characters you want on view and the minimum PC you want to support. But with all respect, please make those polys mean something, don't make a high poly model, where many triangles are wasted in flat peace's, I've seen this in some games. Also it seems this engine, cares more about material complexity than raw polygon count, of course within reason, don't go crazy on polys just because, when many lights cast unto a single model, all at the same time, it is re-rendered per frame, for each light that strikes it, that can potentially mean, millions of triangles being rendered per frame (including all the rest of the scene), please have that in mind. Btw afaik for animated MD5 models the higher poly it is and the more complex the skeleton is (many bones), slower it will become, I assume because bones will have to transform (move around) more vertexes, so imo is always good to test and if necessary optimize animated md5 models and use only the strictly necessary bones. And to finish , like Dragfer said, TDM has a level of detail system, so please make LOD models. make a low poly shadow mesh (use the last LOD level for that?). Not sure if required for animated md5 models (I think those use a ragdool? "articulated figure") for that, but at lest for static level geometry, making a low poly collision mesh, is necessary (can be the shadow mesh), if not the engine will use the real mesh for collision, very slow. Not important for animated characters or static models but for dynamic rigid body models, (those moved by the physics engine) unfortunately there's a limit of 16 polys/triangles for the collision model the visual model can be higher poly. Hope this helps.
  3. haha yes that is true, is a fact of game development, is because people are writing new code, copying or moving code around and sometimes simple mistakes are made, in code, even a simple comma in the wrong place, can break a entire game. And even code that worked fine before, after some new work can stop working for some obscure reason, is called regressions, 3 steeps forward, 1 steep backward. Have patience and just wait, I'm sure that when someone in the team sees this, they will solve it and maybe, make a patch or solve it for the next TDM version but only them can decided that.
  4. Go here https://bugs.thedarkmod.com/ You need a account to be able to report bugs.
  5. I'm talking about the engine and game source code, the c++ source code. Unfortunately, unless you know how to code in c++ and how to compile the engine than you will have to wait for the TDM team to solve that bug. The best way is to make a bug report and link this thread there.
  6. I think I found the real problem on the player cpp file on UpdateConditions() function this code // DarkMod: Catch the creep modifier ... else { int creepLimit = cv_pm_creepmod.GetFloat() * 127; AI_CREEP = (usercmd.buttons & BUTTON_CREEP) || (idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove <= creepLimit)); } Needs to be like this // DarkMod: Catch the creep modifier ... else { int creepLimit = cv_pm_creepmod.GetFloat() * 127; AI_CREEP = (usercmd.buttons & BUTTON_CREEP) | (idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove) <= creepLimit); } The close ) for the idMath::Abs was on the wrong place. The change to bitwise OR | instead of the logic OR || was a recommendation of visual studio 2022, not something I really know if necessary, changing that didn't solved the bug nor the behavior, a better programmer may explain why VS recommended that change.
  7. I could be wrong because it was a fast look at the code but based on my debug section of the Move code, the problem seems to be that, when the player steeps to the left the "moveType" string, is set to "creep" and when moving right, is set to "walk", that causes different sound volumes to be set for the final steep sound.
  8. Yes you are right, I should have thought of that, I got the latest source from here https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk/ so is not exactly original compiled TDM 2.10, so probably something you guys did in this new version solved that bug, nice to know.
  9. Holly sh I saw something strange right now, when I started the game with my own compiled exe. When using the original TDM exactable, all sliders in the menu miss the small red gismo, that you use to see where the slide value is at, when using my compiled exe the gismos are there!? What could be causing that? TDM original My compiled exe
  10. Thanks for the pointers stgatilov, btw not sure if correct but in the mean time I did solved the OpenAL errors by updating in the "ThirdParty\artefacts\" the OpenAL library and include files, to the latest OpenAL soft version, after that I got only a single unresolved external symbol error with pugixml. But I will start over with a clean install, so the solution is the one that comes by default and not something I hacked around, cheers. Update: Cleaned the solution like you said, rebuild with VS2022 worked. I most have broken it when I tried to compile with VS 2017 and when it failed, tried to retarget it (like suggested by VS...). And yes I still have 2017 installed, hell I still have VS 2010 that I used to try compile HPL engine from Frictional Games, VS 2015 that I use to edit Dewm3 engine, VS 2017, VS 2019 and now VS 2022 all in the same computer, based on how bad Microsoft has become, I don't know how they all can coexist so well and everything works.
  11. hey stgatilov, I'm trying to compile TDM source, but it seems the source compilation guide here is out of date, it still recommends VS2017 when the source now requires VS 2022 and after installing the latest VS, I get a bunch of unresolved external symbol errors for OpenAL mostly, I assume I need to update OpenAL soft? I'm still a little green about this type of errors, when they happen, they are the ones that stump me the most. Severity Code Description Project File Line Suppression State Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(helpers.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(alfstream.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(ambdec.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(chorus.cpp.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(fshifter.cpp.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(modulator.cpp.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(vmorpher.cpp.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(threads.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(alconfig.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(cpu_caps.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(convolution.cpp.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(winmm.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(wave.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(hrtf.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(panning.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(event.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(null.cpp.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(wasapi.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(dsound.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(alc.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(logging.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(voice.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(auxeffectslot.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\pugixml.lib(pugixml.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(buffer.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(source.obj) 1 Error LNK2001 unresolved external symbol __GSHandlerCheck_EH4 DarkModTools L:\darkmod_src\OpenAL32.lib(state.obj) 1 Error LNK2019 unresolved external symbol __imp___std_init_once_begin_initialize referenced in function alcOpenDevice DarkModTools L:\darkmod_src\OpenAL32.lib(alc.obj) 1 Error LNK2019 unresolved external symbol __imp___std_init_once_complete referenced in function alcOpenDevice DarkModTools L:\darkmod_src\OpenAL32.lib(alc.obj) 1 Error LNK2001 unresolved external symbol __std_reverse_copy_trivially_copyable_1 DarkModTools L:\darkmod_src\OpenAL32.lib(hrtf.obj) 1 Error LNK2019 unresolved external symbol __std_reverse_copy_trivially_copyable_8 referenced in function "class std::unique_ptr<struct HrtfStore,struct std::default_delete<struct HrtfStore> > __cdecl `anonymous namespace'::LoadHrtf02(class std::basic_istream<char,struct std::char_traits<char> > &,char const *)" (?LoadHrtf02@?A0xe8b25d95@@YA?AV?$unique_ptr@UHrtfStore@@U?$default_delete@UHrtfStore@@@std@@@std@@AEAV?$basic_istream@DU?$char_traits@D@std@@@3@PEBD@Z) DarkModTools L:\darkmod_src\OpenAL32.lib(hrtf.obj) 1 Error LNK2019 unresolved external symbol __std_reverse_copy_trivially_copyable_4 referenced in function "void __cdecl MixDirectHrtfBase<&void __cdecl `anonymous namespace'::ApplyCoeffs(class std::array<float,2> * __restrict,unsigned __int64,class std::array<class std::array<float,2>,128> const &,float,float)>(class std::array<float,1024> &,class std::array<float,1024> &,class al::span<class std::array<float,1024> const ,-1>,class std::array<float,2> * __restrict,float *,struct HrtfChannelState *,unsigned __int64,unsigned __int64)" (??$MixDirectHrtfBase@$1?ApplyCoeffs@?A0xd07b7227@@YAXPEIAV?$array@M$01@std@@_KAEBV?$array@V?$array@M$01@std@@$0IA@@4@MM@Z@@YAXAEAV?$array@M$0EAA@@std@@0V?$span@$$CBV?$array@M$0EAA@@std@@$0?0@al@@PEIAV?$array@M$01@1@PEAMPEAUHrtfChannelState@@_K5@Z) DarkModTools L:\darkmod_src\OpenAL32.lib(mixer_c.obj) 1 Error LNK2001 unresolved external symbol __std_reverse_copy_trivially_copyable_4 DarkModTools L:\darkmod_src\OpenAL32.lib(mixer_sse.obj) 1 Error LNK1120 6 unresolved externals DarkModTools L:\darkmod\TheDarkModx64.exe 1
  12. TDM has no Prey like Portal capability but I assume, it should have the capability to do a portal view effect that does what you said, like Doom 3 RoE did the portal sky effect, see the link bellow, unfortunately didn't found a TDM wiki entry for portal sky, so perhaps I'm wrong about TDM or was never used. https://modwiki.dhewm3.org/How_to_add_a_sky
  13. Was just a idea, thinking about it better, I'm not sure that is even possible in idtech 4, because of way levels are compiled/baked. But what i meant with that, was just the act of swapping/changing a room for another during gameplay, outside of the player view or not. I have seen that done in some Source games, Stanley Parable and some HL2 mods, for example Nightmare House 2. Rooms that stretch/twist dynamically, change looks or get progressively small, etc.
  14. Is like the translucent materials, those that blend with background using a alpha value, not a black&white alpha mask. "perforated" materials = alpha test. translucent materials = alpha blend.
  15. I don't think that is really a Prey portal, but a cleaver trick done with real time room swapping (or no swapping at all, just a copy of the room at the other side of the tunnel) or player instant transport, why I think so, because a Prey portal, doesn't need a tunnel, it works exactly like a Valve Portal, portal, meaning you can pass from one region to another totally different, seamlessly. But I could be wrong and he is using the Prey version of idtech 4.
  16. Don't know if already posted but here is, Unreal on Doom 3 engine (idtech 4), done for fun by a oficial Prey 1/Rage/Doom (2016) level designer, this is what the old original idtech 4 can do in the right hands.
  17. Why not just open the PC, disassembling it and bring the most important components with you, CPU, GPU and RAM? They are small enough to be put in a small suitcase. Then when you reach destination, you just need to find a new or used motherboard, box and screen and assemble a new desktop pc.
  18. No it was based on original idtech4 but has since changed way beyond it.
  19. Like i said not a rendering programmer but I don't think so, the first one is a Nvidia link and the last two about a Intel invented method (like I said), unless they invented the same thing, I assume they are different somehow (one maybe GPU bound, while the other is more CPU bound). About shader code availability, again I don't really know but did you saw the last link? There's some kind of example code in there. If useful for TDM or not is another story. Someone with shader code experience needs to look at it and decided. But afaik most papers are just general guides not a plug&play affair (most don't want to make life easy, for potencial competitors in the industry...).
  20. update on the boid system, not TDM related.
  21. I don't know, not a graphics programmer, just curious but I'm sure there are more than one, like for all graphics techniques. A online search gets me this links: https://developer.nvidia.com/gpugems/gpugems3/part-ii-light-and-shadows/chapter-13-volumetric-light-scattering-post-process https://www.slideshare.net/BenjaminGlatzel/volumetric-lighting-for-many-lights-in-lords-of-the-fallen https://dl.acm.org/doi/10.1145/1730804.1730823 https://www.jianshu.com/p/f5e87d23f18d // intel invented technique https://github.com/robertcupisz/LightShafts // using the Intel technique of the link above Also have you guys looked at the sikkmod god rays post process effect? IMO Is not as good looking and realistic, compared to the current one you guys implemented, is mostly for outdoor, sun rays and also uses ARB shaders but one thing it has for it, is smooth looking and is fast. "The original effort was naive multisampling" The only thing I know about MS is that is used for anti-alising
  22. What technique was used to make this light rays in TDM? Is there some paper I can read?
  23. I don't have the game but have you tried this bellow? Some people online say it solves their horizon zero dawn texture problem.
  24. indeed and happy you liked it. btw was able to improve performance to be more or less the older system, now stays at 50fps's with 500 boids (the fish model is not optimized also), in real game you would use way less than that. Still not finished, need to improve collision, specially at corners, because of the way I'm making the ray tracing, sometimes when a boid gets into a level corner it misses collision and gets out of the level into the void... like i said WIP.
×
×
  • Create New...