Koko Ricky Posted December 27, 2016 How did Doom 64 originally render the laser from the unmaker? 0 Quote Share this post Link to post
Nevander Posted December 27, 2016 GoatLord said:How did Doom 64 originally render the laser from the unmaker? Basically, when fired it sends out a line of new mobjs at the player's height that spawn in each subsector that the line fired from will cross. Once fired, it connects all these laser "nodes" into a straight beam and gives us the beam we see. The tech bible explains it better. For my version, right now I have it so it fires a fast projectile which spawns a shit load of smaller projectiles behind it as it travels to "appear" linked together. It's far from perfect but it's the best Unmaker firing attempt I've seen from all the Doom 64 projects so far. I'm sure it can be improved more. 0 Quote Share this post Link to post
Nevander Posted December 29, 2016 EDIT: Scratch that, figured it out. Lel. --- Well it seems I've discovered the true pain in the ass, and here I thought it was the Dark Entries Soulsphere puzzle. You probably know what I'm about to say: the switch combinations in Unholy Temple. I just got to that part during my remake of that map, and I'm kinda stuck. No joke I have no clue how to make it work, yet. The original map's macros re-assign the other lines to other macros which do the same thing, assign more new macro actions. It's like macroception. There has got to be a way to do it without needing to do a bunch of line special setting, but then again that might be the key. The problem with this part is that it's not just a single possible series, there are 6 possible combinations and only 3 of them end in success, the other 3 end in the wall closing down and spawning Hell Knights and it all resets again. This means I can't simply do what I do on Holding Area and assign a "nextSwitch" type variable and check against that since you can start with 3 different switches and still end up in success. 0 Quote Share this post Link to post
Guest DILDOMASTER666 Posted December 29, 2016 #define SWX_FIRST 100 //default values of each switch #define SWX_SECOND 200 //basically just included for reference #define SWX_THIRD 400 #define SWX_MOD_FIRST 10 //values each switch is modified by according to the previous #define SWX_MOD_SECOND 20 //basically just included for reference #define SWX_MOD_THIRD 40 int value=0; int mod=0; int numpressed=0; Script 1000 (int which) { if(numpressed < 3 && numpressed) { value += which-mod; ++numpressed; } else if(!numpressed) { value += which; ++numpressed; } if(numpressed==3) { switch(value) { case 650: //2,3,1 case 670: //1,2,3 or 2,1,3 //do stuff here break; //... case default: //Thing_Spawn(...); //spawn hellknights? } } mod = which/10; }Call script 1000 for each switch. Each switch should have a first argument of 100, 200, or 400 only. It's on you to figure out which combinations/values you want to use. The script will "remember" which switch was last pressed by the current contents of "value" (if switch #1 with first argument 100 was pressed prior to the current switch, then subtract 10 from the value added by this switch, etc.) 0 Quote Share this post Link to post
Nevander Posted December 29, 2016 Mine is... not that short lol. I basically looked at the way Doom 64 did it originally and wrote scripts to do SetLineSpecial changes on the switches depending on which ones you pressed. It's quite long, but it works. Looking at that script through I'm trying to figure out how it knows which one you pushed. Only thing that comes to mind is that is some arithmetic sorcery where a certain switch will always fall in that number range when the next is pressed, but I haven't tried that code yet. 0 Quote Share this post Link to post
Guest DILDOMASTER666 Posted December 29, 2016 The script is aware of which switch has just been pushed because you are literally giving it the value through the first argument when the line is activated. Let us assume that the "leftmost" switch is assigned first argument 100. Whenever script 1000 is run on this line, the script evaluates this to mean which=100 (because it's the first argument the script can accept). The script is aware of the previous switch pressed because its value divided by 10 (so, a multiple of 10) is subtracted from the previous value. On the first switch press, no value is subtracted because there is no previous switch. EDIT: you can probably simplify the script I posted somehow by evaluating "value" when numpressed==2, and probably have fewer collisions. An example: * "value" is 290 at the time the third switch is pressed, meaning the order pressed is 1,2,3 (100 + (200-10) ). * "value" is 490 at the time the third switch is pressed, meaning the order pressed is 1,3,2 (100 + (400-10) ). * "value" is 580 at the time the third switch is pressed, meaning the order pressed is 2,3,1 (200 + (400-20) ). etc. etc. you get the idea. EDIT EDIT:Script 1000 (int which) { if(numpressed == 2) { switch(value) { case 290: case 490: case 580: //do stuff for correct combination break; case default: //wrong! break; } //do stuff that always happens regardless of combination here } else { if(!numpressed) { value += which; mod = which/10; ++numpressed; } else { value += which-mod; mod = which/10; ++numpressed; } } } 0 Quote Share this post Link to post
Nevander Posted December 31, 2016 You guys are gonna love the Test Facility map, the one where you can see all weapons, ammo, items, monsters and props. Doing some cool stuff on it, one of which is a firing range. There's a script that will spawn Zombiemen that look like they are holographic and thrust them towards you every second, then when they cross a line close enough to you, they get removed. It would be even cooler if I could script some kind of scoring system for multiple players. Also did a fully 3D midtexture as a test. Always thought it looked weird in Doom for a midtexture to be meant to be 3D but is flat as can be when you look at it from the side, so I created a 3D one using 3D floors and void space. Gonna see what other cool stuff I can come up with. 0 Quote Share this post Link to post
Guest DILDOMASTER666 Posted December 31, 2016 #define NUMPLAYERS 4 str Score[NUMPLAYERS]={0,0,0,0}; Script 1001 (int howmuch) { Score[PlayerNumber()] += howmuch; }This should work 0 Quote Share this post Link to post
Koko Ricky Posted December 31, 2016 This is a testament to how clever the puzzles in Doom 64 are. 0 Quote Share this post Link to post
Nevander Posted January 1, 2017 Remaking the actual TITLEMAP level now to use as the titlemap for the main menu. Got all the cameras working and it looks very good. Follows the path at almost the same speed (needs more tweaking). I will create a new static Cyberdemon that only fires rockets, like the original. After the sequence is done, the camera will be moved to another room where you can see the normal menu graphic as expected, and the music will also change to the main menu's MIDI. The only thing I'm not sure how I should handle is the marine bots. I don't know how to create bots and have them infight. 0 Quote Share this post Link to post
Guest DILDOMASTER666 Posted January 2, 2017 #define BOTS_THINGID 2000 #define OTHERMONSTERS_THINGID 2001 #define CYBERDEMON_THINGID 2002 #define CAMERA_THINGID 2003 Script "ML_MakeBotsFight" OPEN { Thing_Hate(BOTS_THINGID, OTHERMONSTERS_THINGID, 0); Thing_Hate(BOTS_THINGID, CYBERDEMON_THINGID, 0); Thing_Hate(CYBERDEMON_THINGID, CAMERA_THINGID, 0); }http://zdoom.org/wiki/Thing_Hate Assign all marine bots on the map with TID 2000, and assign all other monsters except cybies TID 2001. Cybies get 2002, and the moving camera gets 2003 0 Quote Share this post Link to post
Nevander Posted January 5, 2017 New screenshot added, showing fire skies. They are not pre-filtered like the ones in Brutal Doom 64. They are straight up. I am nearing completion of the first round of all original Doom 64 maps. I have two left to colorize and then I need to finish the TITLEMAP for the main menu and the Test Facility level. Then I will go back through all the maps again, replay them and test them, look for and fix bugs or anything I find. Then, I will have a playable build. I plan to make some trailers somewhere around next month prior to release in March. 0 Quote Share this post Link to post
JohnnyTheWolf Posted January 5, 2017 Awesome news! But what do you mean by "first round of all original Doom 64 maps"? 0 Quote Share this post Link to post
Nevander Posted January 5, 2017 JohnnyTheWolf said:Awesome news! But what do you mean by "first round of all original Doom 64 maps"? The first finished version of all the maps. My second round through the maps is going to be for additional polish, bug fixing, checking difficulty spawns, you name it. The second round should go quite faster. But, I know and expect that I won't catch everything. I am prepared to accept bug reports and more when release hits, I have a system for reporting them that I will explain when release gets here that you can use to easily break down what the bug is so I can fix it and get an update out after enough have been reported and fixed. Another important note about bug reports, everything will be considered a bug report for this project and nothing will be ignored. I myself am personally tired of reporting bugs to developers for other games (like games on Steam) and never getting a response or never seeing it get fixed. That will NOT happen here. I will NOT ignore any potential bug reports. Anyway, mini-rant over. Just know that post-release support is going to be alive and well here. 0 Quote Share this post Link to post
enderandrew Posted January 5, 2017 Nevander said:I myself am personally tired of reporting bugs to developers for other games (like games on Steam) and never getting a response or never seeing it get fixed. That will NOT happen here. I will NOT ignore any potential bug reports. Anyway, mini-rant over. Just know that post-release support is going to be alive and well here. I'm a Software Engineer (though oddly enough not really a coder, though that is a rant for another time). I just posted some bug reports over on QuakeOne forums about DarkPlaces only for someone to jump on me and tell me not to report it, because error messages in the log on start-up out of the box don't constitute a bug. And if I think that is a bug, then I must not understand Windows, software or what a DLL is. You'd think developers would encourage the community to report bugs. 0 Quote Share this post Link to post
Edward850 Posted January 5, 2017 Lacking any sort of context to that post, what if for example the error is "couldn't find autoexec.cfg"? That's not really a bug at all. Notices in a console about things that failed are not automatically bugs, and sometimes the errors don't even come from the engine itself, such as if you were loading an old/outdated mod, reporting those issues to a port author who didn't even make said mod is just preaching the choir. 0 Quote Share this post Link to post
enderandrew Posted January 5, 2017 Edward850 said:Lacking any sort of context to that post, what if for example the error is "couldn't find autoexec.cfg"? That's not really a bug at all. Notices in a console about things that failed are not automatically bugs, and sometimes the errors don't even come from the engine itself, such as if you were loading an old/outdated mod, reporting those issues to a port author who didn't even make said mad is just preaching the choir. I said it throws errors out of the box (with no mods). And the errors are missing DLLs, as well as saying it can't load font files (even if you're not putting in any files from mods). So the engine is expecting DLL files that aren't included in the build. But apparently that bug report won't be passed on to Lord Havok. As for who I reported it to, I posted it in the Darkplaces Engine Bug Reports thread. With a full log uploaded to pastebin. Lord Havok doesn't list contact info on his site. It appears to be the place to post DP bug reports. Someone there passes on the reports to Lord Havok and he fixes them, but my report doesn't count as a bug. http://quakeone.com/forums/quake-help/quake-clients/6978-darkplaces-error-reporting-thread.html 0 Quote Share this post Link to post
t3hPoundcake Posted January 6, 2017 Nevander said:Oh man... the blue key/Soulsphere puzzle in Dark Entries was the single hardest thing I've done so far. Scripting that was a serious PITA, but I got it to work exactly like the original. You don't even wanna know how long the code is... when this thing comes out in March you can take a look at the SCRIPTS lump yourself and see if you want to have your mind blown. I mean like, I had to spawn armor bonuses and then assign each one a different special action to execute all different scripts depending on not only which armor bonuses were spawned but also depending on which spot they spawned in. That puzzle was exhausting, but thankfully the rest of that map is simple. FYI, I will post in here in my thread from time to time like this to give progress updates and things I'm doing/discovered. It's not to bump the thread constantly, I promise. It's to provide constant information and progress updates to those interested. Hope this is not a problem. :) That puzzle is really unique for sure. This is one of the many reasons I revere D64 so much, it's honestly a forgotten masterpiece it's a brilliant addition to the series. Such a shame that nobody likes it or even knows about it compared to other games. 0 Quote Share this post Link to post
Nevander Posted January 6, 2017 t3hPoundcake said:That puzzle is really unique for sure. This is one of the many reasons I revere D64 so much, it's honestly a forgotten masterpiece it's a brilliant addition to the series. Such a shame that nobody likes it or even knows about it compared to other games. That's my hopes for this project, to give it the love it deserves on this particular engine. A lot of people enjoy the comfort and ease of using G/ZDoom (personally it's always been my favorite source port), so being able to play a good and faithful version of Doom 64 on this engine is long overdue. 0 Quote Share this post Link to post
Nevander Posted January 7, 2017 Fisk said:http://zdoom.org/wiki/Thing_Hate Assign all marine bots on the map with TID 2000, and assign all other monsters except cybies TID 2001. Cybies get 2002, and the moving camera gets 2003 Hmmm... can't seem to get the Cyberdemon to hate the camera. The wiki says the thing must have at least 1 health, but cameras don't have health nor is it classified as a living thing. Got any ideas? EDIT: Got it working. Used a Hate Target and Actor Mover to do it. 0 Quote Share this post Link to post
Nevander Posted January 11, 2017 Updated the link to the texture pack. Now has a ton of new switches, some new flipped/mirrored textures, removed the FIREBLU crap that didn't make sense to have, and added some fresh "Doom: The Way Midway Did" textures from Cage. All credit for those goes to him. 0 Quote Share this post Link to post
enderandrew Posted January 12, 2017 Did you see this? https://forum.zdoom.org/viewtopic.php?f=37&t=54248 0 Quote Share this post Link to post
Nevander Posted January 12, 2017 enderandrew said:Did you see this? https://forum.zdoom.org/viewtopic.php?f=37&t=54248 What do you mean? They are in the texture pack now, I said they were in the post above yours. 0 Quote Share this post Link to post
enderandrew Posted January 13, 2017 I didn't know if you included them when making your pack. 0 Quote Share this post Link to post
Nevander Posted January 13, 2017 enderandrew said:I didn't know if you included them when making your pack. Yes, they are included now. Also, added screenshot of a monster fighting arena that I am including in the Test Facility map as a way to look at and experiment with monsters. Originally I was going to just put them all in a line and have them respawn when killed, but I came up with an idea for an arena instead which I think is 10x cooler. Here's how it will work: there is a control room and you can pick which monster will spawn on which side (side A or B) by using a switch that will cycle through a monster array and each time you change, it will show what monster will go on which side so you will always know which two will spawn. You will be able to choose how many monsters per side will spawn (0 to 12, there are 12 spawn pads per side), as well as whether or not each side should attack the player first or attack (hate) each other first. Then once you have all that set up, press a switch and voila. War ensues. The only limit is 12 per side (right now). Want to have 12 Cyberdemons fight 12 Mother Demons? You got it! Want to spawn more of the same or different monsters while the current battle is going on? Change the switch for what monster spawns and hit this switch again! At any time, you can press another switch which will kill everything in the battlefield so you can begin a fresh battle. *** Stadium seating included *** 0 Quote Share this post Link to post
MinerOfWorlds Posted January 13, 2017 I like the arena idea. I'll probably make maps for it. 0 Quote Share this post Link to post
Nevander Posted January 13, 2017 Here's a screenshot of the control room and the switches to control which monsters will fight and how many for each side. Who do you think would win? :D 0 Quote Share this post Link to post
MinerOfWorlds Posted January 13, 2017 I think the cacodemon would win. 0 Quote Share this post Link to post
Nevander Posted January 15, 2017 Yeah I tried it and the Demons got rekt. Completely. Not even a single Cacodemon died. Ever feel bad for Demons? They die so easily, one SSG blast and they are dead. They just never seem to be able to win a fight. I'm almost done with the Test Facility map finally. Got one last room to make and that's for animated textures. So all in all here's what it's got: - Armory for seeing and using all weapons and ammo, all of which respawn even in single player mode - Target range adjacent to the armory for target practice and experimenting with the weapons - Infirmary where you can get all items and powerups, they also respawn even in single player mode - Room made just for keys, with doors to test them on - Fully functional monster arena where you can fight any of Doom 64's monsters, or pit them against each other to see who wins (limit of 12 per side spawned at a time, but you can spawn more just by pressing the switch again although not all will spawn due to being blocked) - Texture hall where you can see every animated texture, I'll use this mainly for fine tuning the animation tics - Finally, a room for all the props like torches, gibs, fires, trees, and lamps Whew. 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.