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

Map generator for FreeDoom released

Recommended Posts

Hello, everyone,

I have a modified version of SLIGE called Slump that makes FreeDoom maps. Basically, I have changed SLIGE to only place FreeDoom monsters in maps. In other words, this program will not make any maps with Barons, Hell Knights, Skels, Pain elementals, etc.

I have also made some other changes, including adding monster progression (early levels have basic monsters, later levels have big meanies) and making the levels more sunny and have more puzzles (keys and switches to find) than SLIGE.

In response to David Chess' wishes, this program is *not* called SLIGE; it is called "Slump".

The Linux/UNIX source code for the program can be downloaded here:

http://www.samiam.org/slump.html

If anyone wants to make a Windows port, be my guest.

Share this post


Link to post

Eh? Wasn't Freedoom and exact clone of DOOM II, functionally speaking? One of the main points of Freedoom (which I've argued against specifically, even) is that you can pick up any PWAD and load it with the Freedoom IWADs as opposed to id's. How does SLIGE not create Freedoom compatible wads? The Freedoom monsters haven't changed, only their sprites, which are in the IWADs, not the PWADs.

Share this post


Link to post

It is true that FreeDoom wads are 100% Doom2-compatible (and vice versa)

FreeDoom is still a work in progress; a number of monsters haven't been drawn yet. For example, a Hell Knight looks like this box that says "Graphic not available yet". It's a little weird to be fighting a tiny black box. :) What Slump does is not make any maps with such monsters (with the exception of the Lost Soul, which is done except for the damage and dying graphics).

Share this post


Link to post
myk said:

One of the main points of Freedoom (which I've argued against specifically, even) is that you can pick up any PWAD and load it with the Freedoom IWADs as opposed to id's.


Forgive my foggy memory, I'm off ill at the moment, but what was your objection to this?

Share this post


Link to post

I will be very interested to know what David Chess says about putting the program under an open source license (been tempted to ask him this myself). I'm sure DaniJ (working on SCUDD) will be interested too.

BTW, slump doesn't generate correct wads on big-endian cpus, although neither did slige (looks like quite a lot of work to fix this).

Share this post


Link to post

Jon said:
Forgive my foggy memory, I'm off ill at the moment, but what was your objection to this?

Ah, the answer more or less lies here, beyond the fog and two years' time.

Share this post


Link to post
myk said:

Ah, the answer more or less lies here, beyond the fog and two years' time.


Ah - I agree with virtually all your sentiments :) RE the monster names, trademarks, etc. - yes I imagine there'd be a trademark issue if we referred to the arch vile as an arch vile etc.. however we don't need to, the engine does it for us :) As for level names, afaik nobody has supplied an alternative level name. I have no problem supporting a dehacked lump (which is ignored if the port doesn't support it, anyway).

In terms of freedoom having a unique feel to it rather than being a doom knock-off: the feel it has at present has just sort-of come together as a result of many people working independently. I think things could be tightened up once we hit 100% resources, and can start thinking about making stuff more coherent.

[That scragadelic is an opinionated so-and-so, isn't he?]

Share this post


Link to post
Ajapted said:

I will be very interested to know what David Chess says about putting the program under an open source license (been tempted to ask him this myself). I'm sure DaniJ (working on SCUDD) will be interested too.


David has just told me that I can re-license Slump. I should have a GPL-licensed version of Slump by tomorrow. I will avoid calling it SLIGE since that is David's program; I will also add David's requests to the COPYING document.


BTW, slump doesn't generate correct wads on big-endian cpus, although neither did slige (looks like quite a lot of work to fix this).


Once the licensing issue is worked out, I will fix the endian issue. It will take me about a day of work to do so; I should have time this weekend to work on it.

Share this post


Link to post
samiam said:

David has just told me that I can re-license Slump. I should have a GPL-licensed version of Slump by tomorrow.

Bloody excellent! :D

Share this post


Link to post

I just got a license change permission email from David Chess. The GPL-relicensed Slump which is 99% David's code is here:

http://www.samiam.org/slump-0.002.02.tar.bz2

Next: Make Slump work on a big-endian machines. Fortunatly, I have an account on my school's web server, which is a Sun box. Of course, there is something wrong about making web page accesses slower because I'm compiling a revised Slump. Can you say "nice +19 Make"?

- Sam

Share this post


Link to post
samiam said:

Next: Make Slump work on a big-endian machines.

If I were you, I'd split off the level saving / wad handling code into a separate file. Perhaps import the wad code from another project (there's a wad library floating about - check freshmeat, alternatively have a look at the code in glBSP, which is endian-safe).

More modularity in general would be great (the one big source file is a real barrier for anyone wanting to jump into the code and see how it works).

Share this post


Link to post

This license change is good to know, although from SCUDD's POV there is very little of David's original code left in any case.

Cheers for the heads-up Adjapted.

Indeed one of the very first things I did with the Slidge src was divide it up in to logical chunks.

If my memory serves, pretty much the only problem you'll have is with the pwad saving code. I haven't bothered to replace it in SCUDD yet either.

Share this post


Link to post
samiam said:

This has now been fixed.

I can verify that it works here (PowerPC CPU). Good stuff.

One small issue: the custom end-switch texture is not working right (in both EDGE and LsdlDoom). Slump needs to add a PNAMES lump into the output wad. (Personally I'd just remove all the custom stuff).

Share this post


Link to post

One small issue: the custom end-switch texture is not working right (in both EDGE and LsdlDoom). Slump needs to add a PNAMES lump into the output wad. (Personally I'd just remove all the custom stuff). [/B]


Yes, I should just disable the custom textures. There are still too many bugs in the core level renderer to even start thinking about cutesy things like custom music or custom textures.

For example, slump -seed 1 -levels 29 puts no ammo (except for one backpack) in map07 at "Hurt me plenty" difficulty. Needless to say, I'm out of ammo halfway through the level and quickly die. Normally, slump generates maps I get through at HMP, but here it didn't.

I think the answer is to modify the HMA (Slump's code which decides how much health, ammo, and monsters to put on a level) to assume the player starts with just the gun and 50 bullets at the beginning of every level, and slowly increase the "macho" level (a switch that makes levels harder for really good players) for higher levels.

- Sam

Share this post


Link to post


For example, slump -seed 1 -levels 29 puts no ammo (except for one backpack) in map07 at "Hurt me plenty" difficulty. Needless to say, I'm out of ammo halfway through the level and quickly die. Normally, slump generates maps I get through at HMP, but here it didn't.

I think the answer is to modify the HMA (Slump's code which decides how much health, ammo, and monsters to put on a level) to assume the player starts with just the gun and 50 bullets at the beginning of every level, and slowly increase the "macho" level (a switch that makes levels harder for really good players) for higher levels.


I've done all this and now have released slump 0.002.04, which is slump 0.002.03 with the improvements described above. What I haven't addressed is the buggy end-of-level textures. I should deal with this, but I have a lot on my plate right now, and there are plenty of other Slump bugs to fix (see the file BUGS in the Slump tarball)

http://www.samiam.org/slump-0.002.04.tar.bz2

- Sam

Share this post


Link to post

One small issue: the custom end-switch texture is not working right (in both EDGE and LsdlDoom). Slump needs to add a PNAMES lump into the output wad. (Personally I'd just remove all the custom stuff).

Again one of the very first things I ditched. There used to be a command line switch that would disable both custom music and textures but I can't remember what it was.

Also, you could do a quick check through the built in config and remove all instances of custom textures/flats.

I'm getting the itch to work on SCUDD again now...

Share this post


Link to post

Well, this seems like a good project, but could I request a small feature change?

Instead of making this program always leave out extras not yet in FreeDoom, have a parameter that chooses the game, with the default of FreeDoom 0.3? Also, would it take much research to find out what would be needed to make FreeDoom 0.1 and 0.2 compatible levels as well?

The non-FreeDoom related changes are very nice as well, keep up the good work! I might soon try to compile it with DJGPP as to make a 32-bit MS-DOS binary ;)

Edit: No luck with DJGPP. It was even worse for Services for UNIX. Bah... if you Windows/DOS people want this, just a get a good operating system

Share this post


Link to post
MikeRS said:

would it take much research to find out what would be needed to make FreeDoom 0.1 and 0.2 compatible levels as well?


Is there any compelling reason to use freedoom 0.1/0.2, rather than 0.3?

Share this post


Link to post

You mean other than Freedoom-nostalgic purposes? No, can't think of anything... unless you count checking the general progress with releases.

fraggle: Haven't tried Cygwin or MinGW; neither of them are/were complete enough for my tastes.

Share this post


Link to post
MikeRS said:

fraggle: Haven't tried Cygwin or MinGW; neither of them are/were complete enough for my tastes.

How much more complete than "fully working" do they have to be for your taste?

Share this post


Link to post
MikeRS said:

You mean other than Freedoom-nostalgic purposes? No, can't think of anything... unless you count checking the general progress with releases.


I don't think `internal' support for older freedoom releases is a good idea. However, allowing the list of supported resources to be specified in an external text file would be useful for a wider variety of things, and would let you handle 0.1 0.2 if you saw fit..

Share this post


Link to post

Oh, I tried Cygwin and MinGW years ago. Neither of them felt much like a unix at all... and their builds of gcc couldn't get much done without tremendous amounts of hacking the source. While DJGPP is only a compiling environment and not a shell environment, it sure did a whole lot better at compiling than those two Windows ones.

Perhaps I should go ahead and try them both again. A lot can change in a few years, especially true of the free software world.

Share this post


Link to post

Since I have updated this program, I'm bumping this thread up to see if there is still interest in this fork of Slige optimized for FreeDoom.

- Sam

Share this post


Link to post

Since there's already plenty of good hand-made doom2 maps for freedoom, maybe readapt the thing for Doom 1 (not just episode 1) instead? heh

Share this post


Link to post

Just glancing through the latest Freedoom wad, I see that there isn't a Map08, Map09; Map12 is nowhere near finished; no Map14, and so on. Not to mention that most, if not all, maps do not have difficulty levels implemented. While the maps that do exist are very good, the FreeDoom map set is incomplete. Without difficulty levels, the maps that do exist are far too hard for a casual user (e.g. someone who's just bored while a long compile happens or what not) to enjoy.

I long for the day that all 32 Doom2 maps will get finished in FreeDoom. We're nowhere near that point right now. Until then, people can use Slump to make fun, playable maps which are complete and which have difficulty levels implemented.

It would also be nice if Freedoom had sprites for the Hell Knight, Baron of Hell, Pain Elemental, Revenant, Arch-Vile, Spider Mastermind, and Cyberdemon. This would allow me to add these monsters to the maps Slump generates, making the game have greater variety and fun.

That said, Slump can make Doom1 maps (just use the -doom1 switch). What Slump currently can't do is make Doom1 maps which only use textures and objects that only exist in FreeDoom's "shareware" wad. Is there a list of FreeDoom "shareware" textures, flats, and objects out there?

Also, is there at least one texture or object in the Freedoom "shareware" was which isn't in the read Doom "shareware" wad? This way, I can have Slump make maps which are guaranteed to not run in Doom shareware (in accordance with ID Games' wishes).

Share this post


Link to post
samiam said:

Also, is there at least one texture or object in the Freedoom "shareware" was which isn't in the read Doom "shareware" wad? This way, I can have Slump make maps which are guaranteed to not run in Doom shareware (in accordance with ID Games' wishes).

Source ports aren't supposed to load pwads with the shareware iwad anyway. I don't see why you would need to implement something like this in slump.

Share this post


Link to post
samiam said:

Also, is there at least one texture or object in the Freedoom "shareware" was which isn't in the read Doom "shareware" wad? This way, I can have Slump make maps which are guaranteed to not run in Doom shareware (in accordance with ID Games' wishes).

The GLASS* textures (GLASS1, GLASS2, GLASS1B, GLASS2B) seem to be unique to Freedoom's E1M1. Unfortunately, I think they're new in version 0.4 (or maybe 0.4.1)...

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×