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

OBLIGE 3.51 available

Recommended Posts

I just released v3.51 of OBLIGE, the world's nuttiest random level generator for DOOM.

The most significant feature is the new Cave/Landscape generation code. Although it's still a bit crunchy around the edges, it sometimes makes some pretty tasty areas.

Hope you enjoy playing this release as much as I've enjoyed making it, and thanks to everybody who helped make it!

LINK: http://oblige.sourceforge.net

CHANGES: http://oblige.sourceforge.net/doc_history.html

(refresh the page if the 3.51 stuff doesn't show up)


P.S. are there any OSX programmers out there who would be interested in porting OBLIGE to OSX?

Share this post


Link to post
andrewj said:

The most significant feature is the new Cave/Landscape generation code. Although it's still a bit crunchy around the edges, it sometimes makes some pretty tasty areas.


A random ZTerrain-esque slope generation for cave ceilings, for the ports that support them (EDGE, Eternity, Vavoom and of course ZDoom and derived) could be interesting.

Share this post


Link to post

Another release and another great job well done, Andrew. :7

I'm also trying to figure out to make the program exclude several bestiary monsters (in bestiary module) from being added in Doom 1 due to the use of Doom 2 resources in a couple of them. I've tried using a cut-paste (below) of the exclusion code in the Skulltag code

function ZDoom_Beastiary_setup(self)
    if OB_CONFIG.game == "doom1" then
    GAME.monsters["fusion"] = nil
    GAME.monsters["chainarach"] = nil
    GAME.monsters["plasele"] = nil
    GAME.monsters["tortsoul"] = nil
  end
But I get "( expected near 'ZDoom_Bestiary_Setup'. Any idea where to place the code? I shoved it under BESTIARY_CHOICES but don't know where to put it. I'll comment it out until I can figure out what to do about the snippet. I was also thinking a "doom2only" parameter for the monsters/items so the program knows not to place it if the game choice is Doom.

Share this post


Link to post

For those who want a view of the cave and outdoor areas that can be generated, I've provided some screenshots..




Share this post


Link to post

The cave/outdoor areas are very impressive. Something I'd like to see is a wider variety of themes, using texture wads like the ones on Afterglow's site (downloaded separately). It would be really nice to be able to choose themes like "Quake Castle", "Blood City", "Dark Forces Base", etc. Also, is support for Doom64EX planned?

Share this post


Link to post

I am certain specific theming can be done via modules for the themes you ask of, Jute...but I don't know if it's possible for Doom64EX since it looks like an entirely different format for the maps as from reading Kaiser's thread regarding testing editor config for Doom Builder.

Share this post


Link to post
Mr. Chris said:

I don't know if it's possible for Doom64EX since it looks like an entirely different format for the maps

Indeed, it's different, but then again, so is the Hexen format which is planned to be supported eventually. It would certainly be easier to write an IO protocol for D64 maps than for, say, Quake or Duke Nukem maps.

Share this post


Link to post
Gez said:

Indeed, it's different, but then again, so is the Hexen format which is planned to be supported eventually. It would certainly be easier to write an IO protocol for D64 maps than for, say, Quake or Duke Nukem maps.


Or just make a materials/monster module using the Doom64 TC.

Share this post


Link to post

Great update, everything looks much more awesome now (indoor areas included). But I have a problem with items being placed in 16-deep crevices that are too thin to drop into, making them inaccessible. Also, monsters sometimes get placed too close to walls and get stuck.

Share this post


Link to post

Yes, he's aware of those problems Solarn..he has to do a bit of work to fix that..it's not that big of a problem if I recall.

Share this post


Link to post

Mr. Chris said:

function ZDoom_Beastiary_setup(self)
    if OB_CONFIG.game == "doom1" then
    GAME.monsters["fusion"] = nil
    GAME.monsters["chainarach"] = nil
    GAME.monsters["plasele"] = nil
    GAME.monsters["tortsoul"] = nil
  end
....
[/B]

That snippet of code looks fine, something else must be wrong. Email me the whole file (as-is, not zipped).

Share this post


Link to post

Chris, you need to insert the five lines "if OBCONFIG ..... end" into the real ZDoom_Beastiary_setup function (at the very front), which can be found about 10-15 lines below. [from the snippet you gave, that's what I thought you had done]. You definitely shouldn't have two "function ZDoom_Beastiary_setup" lines.

Share this post


Link to post

Thanks, I really didn't know.

EDIT: Nevermind my PM, I believe I got it working now

Share this post


Link to post
jute said:

Something I'd like to see is a wider variety of themes, using texture wads like the ones on Afterglow's site (downloaded separately). It would be really nice to be able to choose themes like "Quake Castle", "Blood City", "Dark Forces Base", etc. Also, is support for Doom64EX planned?

Support for texture wads is possible right now (with just Lua code). What it needs is someone to create the material definitions and theme definitions. OBLIGE's theming system is not stable yet (I'm not satisfied with the current system), that's one reason I won't be experimenting with texture packs for a while yet. Another reason is the "bigger fish to fry", e.g. I'd like to get Heretic and Hexen working again soon.

I have no interest in Doom64EX support.

Share this post


Link to post

I’m really impressed with this release. The natural-looking caverns are amazing and look as good as the maps Doom or Heretic come with when they have natural caverns; indeed, they very much remind me of the mapping style for E2 (Hell's Maw) in Heretic.

Reducing the size of the fundamental square from 256 to 192 units has done a lot to really improve the architecture of rooms; I know it has caused some bugs but I’m sure they can be worked out (make the doors smaller, etc.).

I’m really looking forward to the up and coming Heretic support for Oblige. Personally, I hope themes can affect how common those natural-looking caverns are; for Heretic caves should be rare in E1, common in E2, and somewhat common in E3. I would, if going along with the “Egypt Sand” theme I made for ObHack’s E4 in Heretic, make caverns about as common as they are in E3.

I would give E2 caverns pretty much the same theme as they have in ObHack; E3 should be pretty much like E1, but I would make the occasional cavern in E3 be very watery (water flowing down walls and the floor being full of pools), or be like some areas in the original E3M7.

Alas, I probably won’t have time to help with Oblige 3 like I was able to with Oblige 2 (resulting in ObHack and improved heretic themes in Oblige 0.97); the amount of free time I have these days is quite a bit less.

So, all I can do is praise Andrew for this really great random map generator. Thanks a lot for the great free code!

Share this post


Link to post

Thanks Sam.

The smaller square size has been a difficult decision. I agree that the rooms have a more proportioned feel to them now (except perhaps height differences, which have not yet been updated for the smaller size). Yet larger non-boss monsters (arachnotrons, mancubi) often don't fit in a single square anymore, especially in hallways. A few wall pictures were also disabled because they don't fit.

Nevertheless I'm sure that 192 is the optimal size, and the niggles can be resolved -- e.g. one idea is to group them into "superseeds" to allow large doors, monsters, prefabs etc.

I am keen to get Heretic (and everything else V2 supported) working again in V3. There are some things needed first, though, like getting the prefab system and theme system solidified.

Share this post


Link to post

Wow it's amazing that my computer is generating these levels. They definitely feel more "human" now in terms of level design.

Share this post


Link to post

I can not finish E1M8 in the following Doom 1 megawad:

-- Levels created by OBLIGE 3.51
-- OBLIGE Level Maker (C) 2006-2010 Andrew Apted
-- http://oblige.sourceforge.net/
-- Game Settings --
seed = 12010
game = doom1
mode = sp
engine = doomsday
length = full
-- Level Architecture --
theme = mixed
size = small
outdoors = mixed
secrets = heaps
traps = mixed
-- Playing Style --
mons = normal
strength = weak
powers = more
health = more
ammo = more
-- Custom Modules --
weap_control.self = true
weap_control.super = none
weap_control.saw = none
weap_control.chain = none
weap_control.plasma = default
weap_control.launch = scarce
weap_control.bfg = none
weap_control.berserk = none
weap_control.shotty = loveit
zdoom_marine_control.self = false
sktag_mons.self = false
zdoom_marines.self = false
sktag_mon_control.self = false
mon_control.self = false
level_control.self = false
stealth_mons.self = false
sky_gen_doom.self = true
imm_conduct.self = false
sktag_weap_control.self = false
stealth_mon_control.self = false

I am using Doomsday 1.8.6 to play Doom.

Share this post


Link to post

It was a mistake on my end, samiam..the lower floor linedef where the launcher is was a Boom linedef. Check the Oblige forum for the "Minor updates" thread here and download the replacement anomaly_towers.wad, which fixes that line to a vanilla Doom specific linedef action. Place the file in the /data subdirectory and overwrite the old file.

I also strongly advise any other Doomsday users to download the updated WAD file to replace it...I don't think Risen3d has this problem due to having Boom linedef support.

Share this post


Link to post

OK, I’ve replaced anomaly_towers.wad and everything works really great in Doomsday 1.8.6; I was able to finish E1M8 without problem.

Thanks a lot for fixing this and I am really pleased with where Oblige is going. Heretic support is what I would love to see next; I think I mentioned that before.

And, oh, while I’m dreaming, real deathmatch maps, CTF maps, “race” maps (Nexuiz actually has a race mode), and Quake and Nexuiz support would be nice too. Not to mention Cube support and a maid to clean my room and make my coffee in the morning. And, oh, Freedoom support (this should be a little easier to implement; hell you have it right now by just disabling the monsters Freedoom doesn’t have sprites for yet in the GUI). :-)

Share this post


Link to post

Cube won't be supported in V3, because the map format is too limited. Same goes for Wolf3D and similar games using a tile-based map format.

And while I think there is little demand for random DM and CTF maps, the sheer coolness factor means I might work on them in the future.

BTW, I've done some work on supporting the BUILD map format, so soon games like Duke Nukem 3D will be possible -- of course then a huge amount of work is still needed to create a decent game definition for them.

Share this post


Link to post

Really nice caves!

Would you mind explaining the reasons behind your assertion that 192x192 units is the optimum block size? Feel free to get technical :)

Share this post


Link to post

BUILD support? That's a new thing for any potential Duke3d players lingering around here but I only see one minor problem..zero infighting in that game...which would mean every single monster in the level would be on Duke's ass.

..but I am certain there is somebody out there who can produce a Doom-style infighting mod for Duke.

Share this post


Link to post
DaniJ said:

Would you mind explaining the reasons behind your assertion that 192x192 units is the optimum block size? Feel free to get technical :)

Sure :)

Firstly, I use the term "seed" to mean a fundamental square on the map. The original idea was that they would start small and grow to accommodate their content, e.g. a seed containing a Spider Mastermind might become 320x320 units. That idea did not work out, but the name stuck.

DOOM's inability to align flats means that the seed size needs to be a multiple of 64 -- in order to make pedestals, ceiling lights and eventually teleporters to work without too much hassle. When the seeds were 256x256, the whole map was offset by 32 units so that the middle 64x64 area would have an aligned flat.

The basic idea of a seed is to have one thing going on in the middle (e.g. a monster or a switch or stairs) and upto one thing happening on each border (e.g. a wall, a door or a picture).

Since the main DOOM doors are 128 units wide, and some of the non-boss monsters are 128x128 (Arachnotron), then a seed size of 128x128 is too small. Also some pictures, like COMPSTA# and ZZWOLF#, cannot fit either -- you need a bit of wall on each side.

Anything above 256x256 is probably too big, you would need more than one thing going on in each seed to look good, which goes against the basic idea of seeds.

One reason that 192x192 seems better than 256x256 is not really technical, but aesthetic -- the rooms just feel more "natural" at 192x192. With 256x256 seeds the rooms feel a bit too spacious, dwarfing the player. (I actually think a value in between, say 208, would be optimal, to give more space for thicker walls and wall detail, but 192 is the closest).

With 256x256 seeds, a 2x2 or 2x3 room was OK (512 units is quite a large area), but 4 or 6 seeds doesn't give much options to layout the room. With 192x192 seeds, the minimum room is now 3x3 seeds and there are more room patterns that can be used. This is perhaps the most compelling reason for the 192x192 seed size, getting rid of the boring flat 2x2 rooms which were common before.

A lesser reason is to use a single seed size for every game. Quake has a face size limit of 240 units (due to the way lightmaps work), so with 256x256 seeds the faces from a seed would often need to be split, making the maps inefficient, hence Quake was using 240x240 as the seed size. Having a single fixed seed size would lead to simpler code -- prefabs in particular.

Share this post


Link to post

I think there is one other thing that should be avoided with the cavern stuff, to avoid placing items (especially health) on the damaging liquid floors.

Speaking of liquids, is it possible to have deathpits (areas inescapable except with noclip) set to -10/20% damage and damage varying on the type on areas that don't trap the player (0% for water, -2/5 for nukage/slime/blood and -5/10 for lava)?

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
×