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

ObHack 006b released; Random map generator

Recommended Posts

Well, while Andrew is working on polishing up Oblige III, I have made some final touches to the Oblige II codebase.

ObHack is a fork I have made of the older Oblige code that adds a number of features Oblige proper doesn't have, such as more flexibility with level size, difficulty, and so on.

One issue that has always annoyed me a bit about Oblige is that the secrets are trivial to find. This release of ObHack fixes that issue; the secrets now take some work to find. In addition, every level has at least one secret.

Another issue that has bothered me a bit is that I don't like the "find the switch to open the door" puzzles; these kinds of puzzles make a map unplayable as a deatchmatch map, among other issues. So now, it's possible to have the only puzzles be "find the key" puzzles; have both key and switch puzzles; and even have only switch puzzles.

Another long-standing issue with ObHack which I have finally fixed is the issue with monsters and items on crates; this release shouldn't have any monsters or items on crates.

Also, "Mr. Chris" enjoys contributing and making modified versions of the texture definitions. I now have added some of Mr. Chris' contributions; there is a new game type, "Doom 1 Mr. Chris", which is Doom 1 with Mr. Chris' Doom 1 textures and themes, instead of Andrew's default Doom 1 themes.

This will probably be my last release of ObHack; Oblige 3 is now out and, while there is more I could do with the older "Oblige 2" code, I think Oblige 3 will make for far better maps once Andrew (or someone else) finishes up the code.

Right now, I feel that while Oblige 3 has better architecture, ObHack 006b makes for more fun maps; I prefer small, tight maps, and I like having Doom 1, FreeDoom, and Heretic support, in addition to having more themes and more general flexibility (not to mention secrets).

ObHack 006b can be downloaded here:

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

Share this post


Link to post

Nifty, I'll check it out and nice to see you use the altered files I put up as an alternate.

I'm wondering, why wasn't all the vanilla Doom2 additions to doom2.lua tossed in so the seperate LUA you did for me works for both games? :)

Share this post


Link to post

Thanks !!

Also I would like to add more monsters from the bestiary to ObHack.
Can we add them somehow like in the case for Oblige 3.39 ?

I tried to add them to the x_doom2.lua file unfortunately that did nothing of the sort, just the regular doom2 monsters appeared.

If it is not possible, at least, tell us how to get cyberbarons and Spidermasterminds in our levels.

So, if there is a way, please let us know.
Thanks

Share this post


Link to post

I'm wondering, why wasn't all the vanilla Doom2 additions to doom2.lua tossed in so the seperate LUA you did for me works for both games?

I prefer Doom1 over Doom2 (I like 9-level mini-quests over 32-level mega-quests, and the Doom1 registered wad is smaller than the Doom2 wad), and feel Doom1 is too often neglected by mappers.

I would like to add more monsters from the bestiary to ObHack

The monsters are mostly there but not very commonly placed in maps; to get more big monsters set monsters to "swarms" and that should give you more than enough challenge.

The thing about ObHack is that it creates small, tight levels. You just can't circle-strafe around a demon, easily killing it, the way you can in Oblige 3. So even a Demon is a nastier monster in ObHack than in Oblige.

If you want to make big monsters more common, the file you want to edit is x_doom1.lua (NOT x_doom2.lua). Look for DM_MONSTERS in x_doom1.lua and have fun make smaller monsters less common and big monsters more common (also D2_MONSTERS). Note that if you want a lot of big monsters, it's best to set monsters to "swarms".

- Sam

Share this post


Link to post

Thanks. Now I was able to add more monsters using Mr Chris' module for Oblige 3.39 based on Tormentor's bestiary.

http://www.doomworld.com/vb/doom-editing/45919-oblige-3-39-released/

So, this is what I did :

In x_doom1.lua DM_MONSTERS I added :

  --- Realm667 beastiary ---

  plasmaguy   = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  rocketguy   = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  suicideguy  = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  inferno     = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  archon      = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  afrit       = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  cybaron     = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  cybruiser   = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  gunner2     = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  stoneimp    = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  fusion      = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  zombie2     = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  chainsawguy = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  tortsoul    = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  chainarach  = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  zsec        = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  zombie3     = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  defiler     = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  nailborg    = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  satyr       = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  stonedemon  = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  tornado     = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },
  diabloist   = { prob=80, hp=60,  dm=20, fp=1.6, cage_prob= 3, wuss=80 },

  --- End Realm667 beastiary ---
Obviously, I need to play with the probabilities and other parameters.

Also in x_doom2.lua DM_THINGS, right after where the monsters are defined, I added :
  --- Realm667 beastiary ---
  plasmaguy   = { id=3205,  kind="monster", r=20,h=56 },
  rocketguy   = { id=3202,  kind="monster", r=20,h=56 },
  suicideguy  = { id=22099, kind="monster", r=20,h=56 },
  inferno     = { id=30105, kind="monster", r=31,h=56 },
  archon      = { id=30104, kind="monster", r=24,h=64 },
  afrit       = { id=3120,  kind="monster", r=24,h=64 },
  cybaron     = { id=10000, kind="monster", r=24,h=64 },
  cybruiser   = { id=30128, kind="monster", r=24,h=64 },
  gunner2     = { id=30124, kind="monster", r=20,h=56 },
  stoneimp    = { id=3103,  kind="monster", r=20,h=56 },
  fusion      = { id=20000, kind="monster", r=66,h=64 },
  zombie2     = { id=3201,  kind="monster", r=20,h=56 },
  chainsawguy = { id=3204,  kind="monster", r=20,h=56 },
  tortsoul    = { id=3122,  kind="monster", r=31,h=56 },
  chainarach  = { id=12456, kind="monster", r=66,h=64 },
  zsec        = { id=6699,  kind="monster", r=20,h=56 },
  zombie3     = { id=3200,  kind="monster", r=20,h=56 },
  defiler     = { id=9654,  kind="monster", r=31,h=56 },
  nailborg    = { id=27800, kind="monster", r=20,h=56 },
  satyr       = { id=3109,  kind="monster", r=18,h=48 },
  stonedemon  = { id=31999, kind="monster", r=30,h=56 },
  tornado     = { id=32725, kind="monster", r=20,h=56 },
  diabloist   = { id=30112, kind="monster", r=20,h=56 },
  --- End Realm667 beastiary ---
And ran ObHack for a 'Limit Removing' port, huge level and swarms of monsters and created "mymap.wad".

So I ran :
"C:\Program Files\Skulltag\skulltag.exe" -file C:\WADS\mymap.wad ~Random.pk3 -warp 01 -skill 4

So far, there they are, as far as I could see, all the new monsters were there.

And about beating this kind of level, well... there is always the posibility of cheating.

Share this post


Link to post

That looks really good. If you want, once you get an x_doom1.lua and x_doom2.lua file in the form you want, email them to me and I'll put them on the ObHack page.

Mr. Chris: I'm also willing to host your lua files as a separate package on my ObHack page.

My email is here:

http://samiam.org/mailme.php

- Sam

Share this post


Link to post

lzvk25: You should move chainarach, tornado, gunner2, fusion, diabloist, tortsoul, inferno and any other Doom2 based monsters to D2_MONSTERS or else you will get some errors (very likely no-sound badguys who share mancubus/spider/etc sounds)

samiam: Were there any significant changes to x_doom2.lua between 005c and 006b so I can just drop it in without the program barfing any script errors?

I will test it out and I will just say I'm too lazy to edit out ALL the Skulltag themes since..well..I'm lazy :P

I'll just say that the modification is Skulltag only. Those who wish to painstakingly edit out all the Skulltag monsters and large number of themes used in the LUA files may do that on their own leisure.

-- http://www.mediafire.com/?n2yutdwwk5j --
Edit: PK3 updated again.

This is the slightly updated PK3, it pretty much fixes the super shotgun zombie's dropped weapon giving 8 shells instead of the normal 4.

Let me test the older 005 LUA files to see it works normally with the 006b before I upload them. (Mmmm...nope, but a direct copy of 0.97's files worked, I had to comment out that potion table first)

Oh yea another thing, I keep getting unknown thing when I want to use the starting weapon options, what's up with that?

Share this post


Link to post

samiam: Were there any significant changes to x_doom2.lua between 005c and 006b so I can just drop it in without the program barfing any script errors?

Yes. 005c uses the old strange ObHack format where combos have "mixed" in their theme_probs. ObHack 006b has a more Oblige-2 (0.97) compatible syntax for the themes, so themes written for ObHack 006b work in Oblige 0.97

Oh yea another thing, I keep getting unknown thing when I want to use the starting weapon options, what's up with that?

Add something like this to the x_doom2.lua file:

--- SETTINGS.iweapon (Start weapon) starting weapons

iw_basic = { id=2001, kind="pickup", r=20,h=16, pass=true }, -- Shotgun

iw_hardcore = { id=2003, kind="pickup", r=20,h=16, pass=true }, -- RL

Share this post


Link to post

Ahh yes the v2 (0.97) files DO work find on 006c but strangely I had to comment out the prefab that has the blue potions on it before things worked fine.

So far, the stuff works normally with that PK3 mentioned above so this means this alteration would be a Skulltag exclusive modification.

I also see 006c now placing cell and rocket ammo now. :3

I'll upload the accompanying modded LUA files once I go through another RMG megawad.

Edit 4/26/09: Have you thought of tossing in a "Mix it up/random" option the way OBv3 has for level size, monster amount and outdoors options/etc? Do you have any other ideas for ObHack atm?

Share this post


Link to post

I have no plans to release a new release of ObHack with new features at the present time; I am, however, willing to host user-contributed modifications to the ".lua" script files on the ObHack page, such as new themes, or perhaps code that makes the map sizes more random and unpredictable.

- Sam

Share this post


Link to post

Well, I spoke too soon.

This evening, I found a bug in ObHack 006b.

Occasionally, the "You found a secret area!" message pops up when I stand outside a secret door, which spoils the secret.

In more detail, with the seed "OB-Doom1-200906" (no quotes in the actual seed), using the game "Doom 1", the length "Full Game", the mode "Single player", and with the following adjustments: Level Size "Small", Monsters "Plenty", Puzzles "Heaps", Outdoors "More", Switches "Keys only", Steepness "Some", Health "Enough", Ammo "Enough", and Start weapon "Basic", in E1M3, the secret area leading to the secret level gives me the "Your found a secret area" message when I stand outside the secret door.

I hope to find time to fix this bug this week sometime and released ObHack 006c with this one bug fixed.

Share this post


Link to post

Perhaps blocked out areas requiring 2 or more keys and/or barriers needing to be cleared?

Share this post


Link to post
samiam said:

Occasionally, the "You found a secret area!" message pops up when I stand outside a secret door, which spoils the secret.

That happens in a number of older maps though.  I think it's due to a node builder that reacts badly to unused sectors.

Of course, you could always turn that message off, like you did in 1994.

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
×