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


  • Content count

  • Joined

  • Last visited

Posts posted by SaladBadger

  1. In certain cases, I can see that. From what I understand, Doom 64 under load tended not to be as "well defined" as PC doom is (where the game will always execute tics the same regardless of whether it's running at 10 FPS or 35 FPS or whatever). Things like this though really can't be simulated effectively without emulating the entire console, which would be a lot more work, so the source code won't provide much on that front.

  2. Apparently during Doom's development Romero was playing with some NeXT features in DoomED like shared objects, which allowed for DoomED to be networked. I can't remember the source on it, but there's a story of it where one person's laying down lines while someone else is busy placing things in the level.


    I assume in practice it didn't get too much use, but it did exist apparently.

  3. this is some good sleuthing, but it is frustrating there's very little documentation. My own searches turned up the potential phar lap connection, but also got caught up in a red herring in the form of an obscure gcc port that also used the "xm" prefix and had a dos extender named "xm" with similarly named modules like "xmdos", but the dates on all of the files I found are from 1990, so it's too early. Phar Lap does come up a lot seeing as it's one of the earliest DOS extenders, but I don't think I've ever seen any DOS binary use it or any actual documentation on using it, so that's annoying.


    ed: re: floating point usage: The only floating point use I have found so far is creating the sine LUT. I haven't turned up anything that occurs in the game logic.

  4. I dunno if anyone's too interested in hacking the 0.2 and 0.3 alphas, but I've found a brute-force way to generate a flat executable that can be loaded into a disassembler. I've tried Ghidra, but it should hopefully work with IDA


    1. Locate the start of the code section (I dunno, I think it's a code section). this has the signature EB 0E 64 62 67 6F 74 6F 20 3D 6D 61 69 6E (ë dbgoto =main in ansi)
    2. Nuke every byte in the binary before the EB
    3. Add more bytes at the end for the data. How much? I dunno, there's probably a field somewhere in the header that says. I padded my executable to one meg to be safe.
    4. Load that mess up in Ghidra as a flat binary. Can specify x86, 32 bit, GCC and it seems to work just fine.
    5. Stare at that mess in the code browser.

    This seems to work. Mostly (I've only tested it with 0.2 atm, since that has extensive debugging symbols). The compiler and linker used for Doom 0.2 and 0.3 is weird (does anyone know for certain which compiler was used to begin with?) and seems to group string and other literals by input file with its functions, and starting the flat binary at the start at the segment seems to align accesses to these literals properly. I wanted to figure out more about the executable format itself, which would probably be vital for any extensive hacks, but I honestly couldn't make heads and tails of the dos extender binary involved. It's pretty tiny, especially compared to DOS4GW, but still beyond my scope.


    There are some problems I've observed with this. Some functions don't seem to get called right, and the main function isn't properly detected so it needs to be added manually, but unless I could figure out what sort of relocation data is present, this is the only way I've been able to make anything work.

  5. I'm somewhat familiar with xttl and Quasar's work, and I remember many years ago Quasar talking about architectural differences in the pre-beta release. It's all very neat, and I admire the things the two have managed to pull off. So far as I'm aware though there's never been much work done with any of the earlier alpha versions, which is a shame since they bury lots of interesting secrets and tell a tale of the game's evolution, especially on the rendering front.

  6. gonna be honest, I can extrapolate from a single tutorial prompt "here's an arachnotron. he fucking sucks, but he sucks much less if you can blow up the bigass gun" that "if a demon has a bigass gun, you can shoot at it to break it" which is basically what all weak points are. The game is brutally honest that the "weak point" is basically always a bigass gun. The mecha-zombie's arm, on the other hand, isn't a bigass gun, it's a little blaster, so I wouldn't expect to be able to shoot it.

  7. Doom had no online servers. The concept of game servers as we know them was pretty much nonexistent. There were some services that let you play online, the most famous being DWANGO, which was a dial-up service. I recall an attempt to emulate the DWANGO protocol, but I don't think it was ever finished. Other common options included Kali, which would allow tunneling the IPX packets over a TCP network, allowing Internet play.


    If you're using DosBox, there's no reason to worry about any of these, as its IPX network emulation should be able to communicate over the internet, and you can set up your game as if you were just setting up for LAN play back in the day. The period options are simply unlikely to work under DosBox, since it doesn't provide adequate emulation (ie for Kali) or it would rely on a now-dead service (DWANGO)

  8. Join me again next year, when I'll be listing the Top 35 sector tram lines.

    Well I'm gonna have to step up my game in Evil Unleashed if I want a chance to place here...


    All of these boats are so cute. Everyone says Doom shouldn't be done for these sorts of things, and to be fair that's usually true, but I love what mappers are able to pull off with both stock and custom resources to add just that extra familiar touch to their maps.

  9. I'd definitely believe it for good monitors these days, but I am morbidly curious, have you done any testing with modern TVs? Their game modes help a lot (playing Project Diva with game mode off by accident was almost magical in how horrible it was), but the impression I've gotten from others is that they still tend to fall short of good monitors.

  10. I remember ling proposing the idea that it's a heat distortion effect (a la the original Predator), he had some screenshots of the game modified to only copy pixels without darkening and it looked like that. It's possible the darkness was added later with the intention of making it more visible, but they didn't account for the same pixel being copied multiple times.


    edit: I found the post in question

  11. Giving missiles enough health to take a shot and not die doesn't work because when something shoots them, their target gets set to whatever shot it. And the target field is used as the projectile owner, so in essence any projectile you shoot would become yours, explaining the revenant rocket problem.


    Some ports should offer means to work around this.

  12. quake 2 is indeed limited strictly to native DLLs, as graf had mentioned earlier. id didn't reintroduce the idea of a scripting VM until Quake 3, though Quake 3 still supports dlls for debugging purposes or mods that need things like filesystem access. it's kinda a nightmare, I like that I can grab yamagi's x86 build and play any old mod just fine, but if I go for a x86-64 build, that breaks down immediately. Another game I kinda enjoy, descent 3, suffers even worse because they decided to use dlls for things like level scripting, so it came to pass that a new linux build was made that happens to be not as bad as the old one but then suddenly practically all old levels break because of this.


    The late 90's were kinda a dark time for game dev, weren't they?

  13. my one experience with the software was that it could take upwards of 5-10 minutes to actually respond if something got blocked by either the antivirus or its included firewall. This was probably around a decade and a half ago, and it's left a sour impression on me so bad I would never touch it again. Like seriously, I'd hit "browse servers" in whatever version of Skulltag was out at that time, but I forgot to allow it in the firewall, so it held the computer hostage for 10 minutes before it finally showed the "The mcafee firewall has blocked this program" prompt allowing me to let it through.

  14. I've been reverse engineering 0.5 lately, the sound support is insanely limited. I haven't looked too much into it, but the only functions linked in seem to be related to playing music. The game tries initializing DMX on startup, but under DosBox under default circumstances, this always fails. (You can see the "DMX_Init failed" message if you use a pipe). In the offchance it did work, the game then tries to load a song named "KICKBUTG", which isn't present in the data.


    There's no reference to the sound configuration file the press release beta has, so I wonder if it's expecting a very specific configuration. The call to DMX_Init doesn't match anything I've seen from the heretic/hexen source or the leaked DMX source code, so I have no clue. I'm not well versed enough in the low level sound hardware programming to make heads and tails of this.


    As for the press-release beta, I recall xttl had a working WAD file with sounds and a working sound.cfg file. Most of the sound code functions, but there's still a lot of bugs.


    WRT COLORS12: I have found no reference to this in the game's source at all. COLORS12 does not appear in the binary once, and I haven't seen anything that does something silly like take COLORS15 and changes it to COLORS12 and then uses the new string to load the lump, so I don't think it's ever used. On whole though the high color mode seems even less stable than 0.4 though so 0.5 probably isn't a good reference. (edit: code to generate COLORS12 is present in dcolors in the id doom utilities)

  15. Ah, this is why I wanted to do the demo. Health balancing has been fairly tricky for me, and I find in my own tests there's often an excess, but I also know the levels by heart, and if players are having issues, I should probably do something. I was trying to be a bit stingy so an occasional life would be lost, but I can add more if too many lives are lost.


    To rationalize my thoughts on a few things here, most levels have multiple ins and outs, I wanted the monorail to be a bit more difficult since it's more direct, older versions were even more stingy, not providing any extra ammo or health, but I backed out of that. The external route is a little more annoying, but you get a shotgun immediately on the next level (okay on UV you have to beat it out of a shotgunner's hands, but that's not much of an issue), but I think the external route wins out here. Also I'll double check why the music isn't playing, I have it defined in MAPINFO (I usually test with music off, ooops.....)


    Scoring is there, though I haven't found a good way to put it in the default Doom-derived UI yet, so it's only on the automap status bar. Hopefully I'll find a better way to place it... The other alpha-derived HUDs have it as a more first-party feature.


    EDIT: The telefrag bug was easy to fix, thankfully. I'll try to release a demo tomorrow with the telefrag fix and a little more resources available, since this seems to be a pretty common grumbling. It's annoying, since my testing constantly pointed at the game having way too much health and ammo, but again, I also know everything about the encounters

  16. The map format is just UDMF, but it's a very deliberate subset to be more like a "vanilla+" sort of deal. I tried to keep the features relatively plausible for something that could have been implemented back in 1993, like 90 degree flat rotations and flat alignment. The rest of the project is too buried in GZDoom features (hubs, gameplay related scripting, and so on) to actually be for vanilla or boom, though.

  17. for some reason, I decided to try to make the most cursed and most commonly failed project, with various experiments to try to make it not completely fail. One of these ideas is to only introduce the project with an extensive demo to see if it's actually any fun to play.


    What's in the demo:
    The demo focused mostly on gameplay, so all the main gameplay elements are in. Things like specialized art and sounds were skipped over in favor of getting levels working.

    • Seven mostly complete (playable from start to finish) levels: Hangar 2, Supply Depot 2, Waste Processing Facility, Enlisted Quarters, Recreation and Training Center, Mess, and Officer's Quarters. A stub for Control Center is in, to add an end to the demo.
    • Level design that I seriously hope isn't very flat and alpha-like. (I probably failed, ugh)
    • The basic arsenal: Knife, pistol, shotgun, machine gun, and a new missile launcher. The chainsaw is also available, and heat-seeker missiles can be dropped from canisters.
    • Basic bestiary: Two possessed humans, demon troops (lesser impling and greater imp), demon sargeants (lesser demon and greater fiend), and "flying imps" (lesser lost soul and greater name tbd)
    • Some minor gameplay tweaks. Nothing serious, it should hopefully be relatively doom-like. This came about mostly from my dislike of E1-style combat, but we'll see how this goes.Lives, scoring, and scoring items. You get a new life every 50,000 points. When you die, you lose a life and drop all your items at the spot. You can then respawn to get it back. Much balance is still to be done, and there's no fate when you run out of lives. (in the final game, it'll probably just zero your score, and then give you 3 new lives)
    • Four player characters with individual gameplay traits.
    • A temporary intermission map to serve as the hub.


    What's still to be done:
    There's a lot that needs to be done:

    • Complete the seven remaining levels (thankfully a bunch of these are short): Communication Tower, Personal Storage, Control Center/Power Plant, Lab, Observatory, Supply Depot 1, and the Anomaly.
    • Finalize the current levels. This will mostly involve getting the specialized art needed done, and some fun details like signs and blood decals, and so on.
    • Balance the four characters. The faster characters seem to suffer more at the moment.
    • Get the special weapons in: The officer's pistol and the sawn-off shotgun.
    • Get sounds for most of the things that don't have sounds yet, such as sliding doors.
    • Finalized screens for the intermission, character select, and so on.
    • An intro sequence.
    • Balance the characters, and give the females a new voice. The faster characters currently suffer more compared to the slower, tankier characters.


    Not many atm because imgur's been having issues lately.






    Download: (for GZDoom, using DOOM.WAD)