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


  • Content count

  • Joined

  • Last visited

Posts posted by DoomeDx

  1. 1 minute ago, Arctangent said:

    The short answer is that GZDoom has far steeper CPU requirements than most other Doom ports you'll find.


    Thing is, basic AI functions like A_Look and A_Chase are several times the size in GZDoom compared to their original size in vanilla Doom, and their subroutines have, for the most part, seen a similar increase. While the difference is fairly negligible with just a handful of monsters, once you have to deal with hundreds of monsters checking for basic map geometry, portals, 3D floors, and heavily customizable code with every step they take, and then doing a line-of-sight check that has to factor in all that map geometry and portals and 3D floors in again after taking that step ... yeah, it's no wonder you're having trouble with a dated CPU that I'm pretty sure was subpar when it was fresh on the market.

    Explains a lot, since the issue was a lot less intense 3 years ago. Probably been way overused after 6 years of heavy usage. Ah well, was planning on making an upgrade soon anyway.

  2. Hey all,


    I recently got back into Doom again and downloaded some custom wads (Winter's Fury, Scythe etc). What I noticed is that my performance is pure garbage in a lot of scenes. I even manage to hit 20-30 fps on big areas without any action going on (First level of Winter Fury's 3rd Episode). Older wads like the original Doom II run fine.


    I've had this issue a few years ago as well so it's not a problem with the newest version.


    My computer uses an Intel i5-3570k with a Nvidia Geforce GTX1070. I run all games fine, but GzDoom is a nightmare at times.


    Any idea's on what could be causing the problem? I already tweaked with the ingame settings (disabling anti aliasing, ambient occlusion, texture enhancing etc)


    EDIT: Problem seems CPU related. When running the game in 320x240, the framerate remains the exact same. Which is odd since I run other games at 2k just fine

  3. Most WADS I see online look great and have plenty of demons to kill. All fine for those who enjoy that sort of thing!


    But what are some good WADS that dont rely on just slaughter and pure mayhem in every room you enter? Because that is what most of the WADS (including the WADS in cacowards) feel like. I prefer my maps to be more like Ultimate Doom Episode 1/2/3. Action packed with plenty of key searching and room to breathe.


    Thank you!

  4. 50 minutes ago, Edward850 said:



    You seem to have a rather weird and grossly misinformed idea on how Doom works. You are playing in a 3D space (Doom just doesn't rely on 3D vectors for collision math, which results in oddities and inconsistencies), and it's perfectly possible for it to identify if an upper or lower wall is struck, it need it to be able to do the collision in the first place. The question is how it's exposed to whatever you have on hand. In this case as you can't create upper or lower triggers, you need a script that triggers on wall collision and then to check the height of the thing that collided from the script.

    As of the last time I ever cared to check, you can do this exclusively with projectiles by using MissilesActivateImpactLines from mapinfo, and than checking the height of the thing that collided (and also that it is actually a projectile).

    I based my knowledge on this video: 


  5. Is this possible? I am aware that IDTech1 has limitations when it comes to detecting height and that you are (technically) playing in 2d space in terms of how walls work. But with the massive improvements that GZDoom provides, is it possible to only detect projectiles impacts when it's on the bottom side of a linedef?


    I created destructible crates and everything works well, except for one thing: They also break when shooting above it.


    Any ideas on a fix?


    str items[100] = {"GibbedMarine ", "stimpack", "shellBox", "clip", "cell", "medikit", "RocketBox", 
    				"ClipBox", "HandGrenade", "ThrownGrenade1Trap", "GreenArmor",
    				"Stimpack", "HealthBonus", "DeadMarine", "shell", "Stimpack", "backpack", 
    str crateHits[3] = {"dest/hcrate1", "dest/hcrate2", "dest/hcrate3"};
    str crateBreaks[3] = {"dest/crate1","dest/crate2","dest/crate3"};
    script 3 (int wallID, int particleID, int health)
    	if (health <= 0) {
    		str item = items[random(0,26)];
    		SetLineSpecial(wallID, 0,0,0,0,0);
    		SpawnSpot("CrateSmoke", particleID);
    		playSound(particleID, crateBreaks[random(0,2)],0,1.0);
    		Sector_SetTranslucent(wallID, 0, 0, 0);
    		///	ANIMATION ////
    		setlinetexture (wallID, SIDE_FRONT, TEXTURE_BOTTOM, "t1crate");
    		setlinetexture (wallID, SIDE_BACK, TEXTURE_BOTTOM, "t1crate");
    		setlinetexture (wallID, SIDE_FRONT, TEXTURE_BOTTOM, "t2crate");
    		setlinetexture (wallID, SIDE_BACK, TEXTURE_BOTTOM, "t2crate");
    		setlinetexture (wallID, SIDE_FRONT, TEXTURE_BOTTOM, "t3crate");
    		setlinetexture (wallID, SIDE_BACK, TEXTURE_BOTTOM, "t3crate");
    		setlinetexture (wallID, SIDE_FRONT, TEXTURE_BOTTOM, "t4crate");
    		setlinetexture (wallID, SIDE_BACK, TEXTURE_BOTTOM, "t4crate");
    		///	ANIMATION END ////
    		Floor_LowerByValue(wallID, 100000000, 37);
    		setlinetexture (wallID, SIDE_FRONT, TEXTURE_MIDDLE, "-");
    		setlinetexture (wallID, SIDE_BACK, TEXTURE_MIDDLE, "-");
    		setlinetexture (wallID, SIDE_FRONT, TEXTURE_TOP, "-");
    		setlinetexture (wallID, SIDE_BACK, TEXTURE_TOP, "-");
    		ChangeFloor(wallID, "WOOD8");
    		setlinetexture (wallID, SIDE_FRONT, TEXTURE_BOTTOM, "WOOD8");
    		setlinetexture (wallID, SIDE_BACK, TEXTURE_BOTTOm, "WOOD8");	
    		SpawnSpot(item, particleID);
    		if (item == "ThrownGrenade1Trap") {
    			HudMessage(s: "LIVE GRENADE !!"; HUDMSG_PLAIN, 0, CR_green, 0.5, 0.32, 3.7);
    	} else {
    		playSound(ParticleID, crateHits[random(0,2)],0,1.0);
    		SetLineSpecial(wallID, 80,3,0,WallID,ParticleID,Health-1);


  6. Hello!


    I'm working on a pretty big WAD with multiple segments. It is possible to travel back to previously completed maps to search for secrets ofrimportant things the player might've missed. However, when travelling back to a previous map (using the ChangeLevel() function in ACS), everything is reset. Monster placement, item placement etc.


    How do I keep things as is?

  7. My map has special keys that can unlock cabinets that contain weapons and ammo. I want those keys to carry over to the next level, however, it doesn't work as intended since it keeps reverting back to "0'' when the new map is loaded.



    Cabinet Script

    #library "cabinet"
    #include "zcommon.acs"
    bool PowerOn = FALSE;
    global int 2: cabinetKeys;
    script "cabinetKeyFound" (void){
    	HudMessage(s: "Cabinet Card acquired"; HUDMSG_PLAIN, 0, CR_GREEN, 0.5, 0.27, 3.7);
    	HudMessage(s: "Card Count:", i: cabinetKeys; HUDMSG_PLAIN, 0, CR_GREEN, 0.5, 0.32, 3.7);

    Map01 and Map02 import the cabinet library using...

    #import "main"
    #import "cabinet"
    #include "zcommon.acs"


    Any ideas on how to make the variable carry over to the other map? I've been trying things for over an hour

  8. 15 minutes ago, leodoom85 said:

    Ok. If you're using a skybox, then you need to add a GLDEFS lump. It's a text file where you can set the skybox properly. It's shown like this (this is an example):


    skybox NSKY1


    This one uses a 6-image skybox. Then you can define, in this case, NSKY1 in MAPINFO. 

    Well, I can see the skybox in Visual mode. However when I start the game I get this error


    "Script error, "Toxicity.wad:MAPINFO" line 7:
    titlepatch: Unknown top level keyword"


    My Mapinfo file looks like this:

    map MAP01 "Introduction"
    		Sky1 = "SKY1", 0
    titlepatch CWILV00

    Any advice?

  9. Hey guys! Until recently I started working on outdoor environments. However, when I use the F_SKY texture, my skybox is a blue placeholder sky with the text ''SKY, MAYBE'' on it. This happened ever since I played with the MAPINFO file from my wad.


    How can this be fixed?



  10. Hey all,


    After spending lots of hours with Snapmap (200+ total. Maybe you played my level once, The Last of Doom?), I decided to go back to Classic Doom and have some fun with Doom Builder.


    I soon realised just how flexible it is. Being able to do pretty much anything without limitations is amazing. A got a friend to assist me with this (hes doing some custom texture work for the WAD) and went for it.


    The result is in the video below. I use Project Bruality for the video (sorry I know people hate it!). Usually when testing, I play the game full vanilla to test map balance and such. I also made some modifications to the game myself through ACS and modding. The zombie sounds have been replaced by Fear Replica chatter for example, I just love their voices lol.


    I could go with some feedback though! Compared to the real pro's out there, I have a looooooooooong way to go!


    (FYI I put the keycard at the beginning to skip to the newer section of the level)



  11. 1 minute ago, leodoom85 said:

    If you want permanent and quieter sounds for the map, you should use the SNDINFO lump to define the sounds. Hope that this helps...


    I know, that's what I did and the sounds are working fine. But the problem is that I want the sounds to be location specific. When you stand near a computer console, the beeps should become louder. Move away from the console and the sounds should become softer. Giving the illusion that you move further away from the sound source.

  12. Hey all!


    I am working on a map that relies highly on action and atmosphere. When working on atmosphere, sound is crucial! Now I already have the OGG files I want to use for the sounds (computers humming, steam pipes blowing etc) and I want to play them when players enter certain rooms.


    What is the best way to do this? I currently use PlaySound and it works but I want the sounds to be location specific. As in, when I move further away from the source of the sound effect, I want the sound effect to become quieter. I use GzDoomBuilder.


    I got a degree in programming so no need to go easy on me in terms of coding language.

  13. Hey all!

    Basically I have this room with 4 doors. One door opens, 5 monsters come out, next door opens, repeat process. The script works, however, when multiple monsters are killed simultaneously, the script doesn't seem to register every kill. It only registers one.


    Here is how I did it:


    Every monster executes the "processingKills" script when killed (Using action 80).


    The script:

    script "processingKills" (void) 
    	int doorDelay = 80;
    	print(i: trapRoomKills);
    	if (trapRoomKills == 4) {
    		Door_Open(30, 64);
    	if (trapRoomKills == 9) {
    		door_open(31, 64);

    How can I make it so that simultanious kills are registered properly? When I kill 3 monsters with a rocket, it should count as 3 kills rather than just 1.


    I have a history in programming. No need to hold back in terms of code languages.