/!\ PRBOOM ABANDONS 2.4.0 /!\
No seriously I just went to the repository as I do from time to time to look for changes and I found that
- trunk was moved to branches/historical/aborted-prboom-24. Aborted!
- it was replaced with the old stable branch, currently 2.2.7
- Also, all the recent releases of Prboom+ were imported, although they're not merged into trunk yet.
Look at my horrible tendency to back the wrong horse! As you know I deliberately switched from stable to experimental because I thought upstream would be more likely to accept dumb new features for an experimental branch. I'm still glad I did this, as I said before I like most of the new stuff in 2.4.0. But it's true there is a lot of things that are missing or not working properly; I've fixed some of them, but nowhere near all.
As for this Prboom+ thing: it's a well-known fact that Prboom+ is only for Windows. I can only hope that if any merge happens, Prboom will remain compilable on POSIX systems. There aren't many Doom engines left that don't basically require Windows, and of those I'm not sure I'd want to use any of them for general gameplay (Chocolate Doom is a great idea but let's face it, it's a niche market)
But, 2.4.0 is abandoned. Aborted, even. What a word. It's been mauled. Eviscerated! With a coathanger!!
Initially I was like, "shitshitshit, now what am I going to do?" I'm pretty sure there's bugs in 240 that I don't know how to fix; very occasional segfaults that I can't fathom, other than there being some issue related to SDL making it multithreaded, I don't know. That sort of thing. I was hoping someone else would fix that shit, eventually. Also, it's an awful lot of work that's just been abandoned here. I mean, the console, the key bindings, the single hybrid software/GL executable, the sound code, blah blah blah. And all this is assuming they don't manage to break portability - keeping my stuff in sync with upstream would be a challenge then!
But then it struck me. In a remarkably out-of-character moment I realised this crisis was in fact an opportunity. The thing is, I no longer have to care about maintaining ease of compatibility with upstream's source tree because there no longer is an upstream source tree. I can delete - no, obliterate the parts I don't like - RPM building specs can be replaced with debian equivalents, the Dreamcast port I can't possibly maintain can go (console FPS gaming is a crock of bilge, anyway) not to mention FraggleScript (I am vaguely aware of the pain Eternity went through before they dropped that shit completely) etc.
In short, it's mine. MINE! MIIIIIIIIIIIIINE!!
Sorry. I can't believe this but I'm actually excited...
RBoom
RBoom is what I shall call my PrBoom patch due to the following arguments in addition to those previously given:
- Relative uniqueness of the word - CDave googled all the choices and sent me the totals. I didn't think to do this.
- He also pointed out that I could use "Taking the P from PrBoom" as a slogan, which is so terrible I can't resist.
- Furthermore Amy said Droom sounds more like "something you clean drains with"
So yeah. I guess I should make a site or at least expose the repository. But I don't want to because I'm shy about my code and especially dislike having to deal with "users" haha
Castle of Evil and UAC Experiment
UAC Experiment has been mentioned on this site many times before because for me it is the definitive sprawling E1 style map that you can get happily lost in. Having over 350 monsters and 25 secret areas it can easily take an hour to do properly, although nowadays I know it too well and can do it in half that. It was released in late 2000 and replaces E1M4.
You can run round it any which way you like and there's no death frustration; you get tons of health and ammo and most of the monsters are demons or smaller. I heartily recommend it if you like large exploration type maps and the E1 style, and aren't too fussed about everything being pixel perfect.
You can get all the secrets although some of them are extremely tricky and you need to know exactly what to do. The only outright bug is a walk trigger that stops you lowering a wall due to being in front of a switch. This is the wall opposite the red key door, it's meant to be a one-way shortcut, but you don't lose much by its inaccessibility.
Such was its impression on me that as I have found similarly large maps I've played them thinking "this could be the next UAC Experiment". But they're too hard, or too linear, or not open enough. Then I found Castle of Evil.
Castle of Evil, well, my first reaction was "this is UAC Experiment on crack." Look at this: it has over 500 monsters, 47 secrets(!), but most impressive of all, it predates the former by six years. Yes this is the answer to all the people who say 1994 stuff is half-arsed junk. God only knows how the guy managed to make it. It's insane.
But I've played it pretty much every day for the past week and I'm still not bored of it, even though each attempt takes at least 40 minutes. I think this is deliberate; I realise that if I left it since finishing the first time, when I came back I'd have to rediscover everything over again but remember it as I was going along, so you don't get that initial unfamiliarity that draws you in.
The map is in two halves, roughly, although they're more like a third and a two-thirds. The best place to start out is the E1/E2 base style side, the E2/E3 hell part is harder and it helps to have accumulated guns health and ammo before you go there. The two sections are fairly self-contained, the link being the lift room at the start that has about 8 passageways leading away from it to choose from; although there are teleporters everywhere so there's still plenty of interconnection.
There are a number of annoyances, places you can get stuck, doors that only open once, that sort of thing. Also two of the secrets are inaccessible without no-clipping mode; one is a step that's too thin and the other is a teleporter pad you can't step onto. There are also a few others that are nearly impossible to get unless you know exactly where to walk.
Still, I really, really like this map. Both of these maps, in fact, although I know UAC Experiment too well now. I suggest you play them both - if you can find several hours to spare...
Speed Villa is in the /idgames archive
It got uploaded as dac19.zip, part of the Doom Advent Calendar. You know they're already planning for next year? Well, I guess it makes sense, hopefully it won't be six maps short next December! Anyway, take a look, the reviews are funny.
What should I call my Doom engine
I don't know what to call it and since I have recorded some demos with it which I would like to post on Doomworld I suppose I'll need to fix its name. I'll probably have to release the code or at least prove somehow I'm not cheating but I'll cross that bridge when I come to it. Anyway here is the current list of potential candidates.
prjyboom
- Points in favour
- naturally arises from my name and the name of its parent
- this is the name to which it compiles currently. I wouldn't have to fuck around with autoconf again
- Points against
- has my name in it which looks like egotistical wank
- too long, hard to say (8 characters, 5 syllables)
- Having used it for some weeks now I just don't like it very much!
rprboom
- Points in favour
- name naturally arises from name of its parent; typical open source way of naming a fork/subproject
- Points against
- too long, quite hard to say (7 characters, 4 syllables)
rboom
- Points in favour
- short, easy to say & type (its tab completion rbo<tab> is very easy to type)
- Points against
droom
- Points in favour
- short, even easier to say (1 syllable!), tab completes quite easily (dr<tab> here)
- as in Dread Dragon! (if you understand that you are REALLY FUCKING OLD)
- Points against
- ancestry totally obscured
Personally I think it's between rboom and droom. I have no qualms about dropping the Boom association; Prboom, in spite of being based just as much on MBF and LxDoom as it is based on Boom, doesn't feel the need to have either of those names shoehorned into it somehow. Well anyway email me if you have my address; if you don't I probably don't value your opinion highly enough (that was a joke)
Shot in the face and you're to blame
You give multiplayer co-op a bad name
Poor man's version control
Yesterday I found out what "refactoring" means. This is one of those words that seem to turn up in every discussion about computer programming in which "professionals" participate. It seems like something you're supposed to know about but I didn't.
I found it means basically rewriting your functions so they're split up into different bits, cleaning up parts that are no longer used, etc. For example in Doom there's the face on the status bar. I'd like to put the code that works out which face to display into its own function so I can use it both on the status bar and on the fullscreen HUD in the corner (somebody had this idea on Doomworld and I liked it). This is "refactoring".
You do this kind of shit all the time, especially if like me you never design your code properly because you never did some knobby computer science course that taught you how to. But what's happened is, some gargantuan wanker's come along and invented a fancy term for it so he and his wanker buddies can make themselves look clever by using big words. "Agile programming methodologies", ugh.
Another thing is version control, or even more pretentiously, "Source Code Management". I started using svn last year because Prboom upstream does and I wanted the changes made to it since 2.2.6 was released. I decided to use it in which to keep my copy of the prboom source and my changes to it. Since doing so I have realised that all it is is a fancy way of doing something that I've done for years.
- checkout: Before you start making a change that you don't think will work out, or might break something significant, make a copy of the files you're going to change in a backup directory ("repository")
- revert: So your changes didn't work out? Oh well. Retrieve the files you backed up earlier and put them back in the main source directory.
- commit: There is no explicit commit operation other than deleting the backups you made earlier!
- merge: Obviously this was never needed with my own stuff but once or twice in the time I was working on DIY, a new version would come out upstream. That would require manual merging, where a file would either a) not be changed b) changed upstream c) changed by me or d) changed by both. All the cases were trivial except d) where you had to be a bit more careful. Fortunately somebody had ported GNU diff to RISC OS which made things easier.
My point is, don't get discouraged if you hear "industry professionals" talking bollocks you can't understand. Chances are they're talking about something perfectly simple that will arise naturally from your own tinkering, just they've been on fucking corporate wanker training programmes that give everything twattish names.
Incidentally if you've just committed something to svn and then decided it was wrong and don't want the mistake in your repository making you look bad, you can do this: go into the repository directory, edit db/current, change the first field - the latest revision number - from N to N-1, then delete db/revs/N and db/revprops/N. Your working directory will then disagree with the repository over valid version numbers; at this point it's probably easiest to check out a new one. Oh this shit probably only works with fsfs type repositories. I don't know about the older db type. They don't work over NFS, so I don't use them.
MASSACRE
I just deleted a bunch of sites off snafu because they never update or I don't care about them any more or whatever. If you would like to continue checking them manually here are the URLs which you can bookmark.
If you are the owner of one of these sites and wish to shout at me feel free to do so. I know a couple of you have plans to resurrect your sites at some point in the future, rest assured you will be readded then if you so desire.
What do you get if you cross
No, don't get cross, get even!
megawad status report
I admit for a while I had given up. It started off so well but testing map 5 was annoying. Being near the end of the first "episode" it needed to be harder, and what was happening was that I'd want to test the gameplay at the end of the map, but I'd always die before I got that far. I mean you could get there by playing carefully, but when you're playing the same thing over and over, carelessness creeps in...
Anyway excuses aside I managed to finish map 5 yesterday. I think the recent plethora of good maps has been inspiring. 5 maps is not 32 but it's a start - although I have more than just 5 maps. I also have:
- Speed Villa (once I've tarted it up a bit, but that shouldn't take long, hopefully)
- Three maps from Amy, one of which is pretty much finished save for a couple of easy fixes. Another has pretty much all its architecture made but needs a population and a lot of testing. The third is little more than the basic idea at this stage.
- Stik made a map last summer that I think he said I could use - I'll have to check that - however it is very large and I think I will need to work on its gameplay if I decide to use it at all
- I have made the title screen, but that will probably need changing. However I have an intermission screen which I like and will probably keep. Finally, I made an ugly perl script that makes the map title graphics for the intermission screen, so doing proper map titles isn't a problem.
Maybe Christmas 2005 was asking a bit much. Christmas 2006? Or maybe it's better not to make promises at all!
HAPPY NEW YEAR
Completing the trio (no I'm not going to do an easter one any time soon) Also a message from BDave was relayed to me, so I shall return it: hello to you, too.
Truly we have been spoiled
In the past year or so I have been known to complain heartily about the apparent lack of new maps for vanilla, limit-removing, or Boom-compatible Doom engines ("source ports", but I never did like that term.) Everything seemed to be
- Requiring ZDoom (one day I shall write an article called ZDoom is the Internet Explorer of Doom engines, post it on Doomworld, and get banned for trolling or stupidity)
- A weapons mod (ooh new guns! wow!)
- A deathmatch map that nobody will ever play because nobody plays anything but DWANGO5 (allegedly)
- An upload to the archive of a "missing classic" (that is, a map from 1994, usually off a CD a nameless company made at the height of Doom's popularity, by downloading a bunch of wads off BBSs, for the sole purpose of cashing in)
Some of the 1994 wads aren't so bad, I've played a few, indeed, thanks to CDave I've got one of those CDs!
However in recent times there has been something of a plethora of new releases! In the past month alone:
The latter in particular took me completely by surprise. I admit I don't read NewDoom as much as I should - which is especially silly since it updates far more often than Doomworld does - and was only vaguely aware of the project's existence. Thus to find a whole new megawad turn up without warning was a delightful late Christmas present.
Classic Episode 2
I knew about a sequel to the Classic Episode a couple of months ago when a thread was posted about it on Doomworld by its author, Jan Van der Veken. I sort of forgot about it though, as I think I decided to try not to get too excited. But now, here it is.
It incorporates Classic10, Classic11, and three other maps; one of which was made from a fork of what went on to be map 3 of the original Classic Episode, and another which is repeated 5 different times with various modifications. There is no secret level, so you do them in the order 1, 2, 3, 9, 4, 5, 6, 7, and finally 8 (it replaces Doom E1) - the repeated map is 1, 3, 4, 6 and 8.
I have to say I think Equinox did the repeated level idea better. "Singularity Complex I/II/III/IV/V" doesn't really change that much between revisions, except for thing layout. The exception is the final one where some hell corruption starts to creep in (and is very effective) They are also often awkward to begin, weapons and ammo being hard to come by, and shooting demons with a pistol can be quite boring or frustrating!
Having said that the other maps are amazing and everything you'd expect from Classic Episode base maps. 5 (which was classic10) is a delight; 7 is even better. Complex routes, lots of windows for interconnection, you name it. The whole thing looks wonderful, it's noticably more detailed than the original. I just don't think it has as many maps that play so well (it's not as varied, either, there are no E3 or E4 styled maps)
In summary this is a better-looking sequel whose gameplay slightly lacks on some of the maps. However don't let that put you off - the bottom line is it's still extremely good in its own right. Go play it now.