Author Topic: OBLIGE V7 mods and mod discussion  (Read 2778 times)

Glaice

  • Contributor
  • *****
  • Posts: 1235
  • Veteran OBLIGE modder
    • The Doom Video Vault
OBLIGE V7 mods and mod discussion
« on: October 16, 2016, 06:14:48 PM »
V6 thread here

Since 7.50 came out, I have started doing tweaking and tinkering, specifically themes and material tweaks.

Download - You will need 7-zip and extract it inside the main OBLIGE directory. Don't forget to back up first!

Some things done:
-Additions to all themes, including Doom/Ultimate Doom
-Fixed "bright" pillar prefab (from SVN)
-Some material tweaks
-Usage of darker indoor and outdoor lighting used more.
-Naming tweaks
-Other minor edits


Succeeded by the 7.55 mod, check HERE

Feel free to post V7 mods and talk about modifications here, as per like the previous topic
« Last Edit: June 24, 2017, 09:12:54 AM by Glaice »

sehes

  • Beastiary Men
  • Posts: 1
Modul with custom monsters
« Reply #1 on: November 08, 2016, 02:54:45 PM »
I started work on a module that adds many custom monsters to oblige. My ultimate goal is to add every monster from Bestiary on realm667.com and add many different options for monsters. I go step-by-step, in this moment, I add monsters from doom category which best fit to the doom levels and atmosphere and working on balancing the parameters for OBLIGE. Density,  probability, level, damage, etc.

Here is the alpha version module with pk3 file with the monsters:
 https://www.mediafire.com/folder/2ofnbf7hh3enm/DOOM

In this moment contains 23 monsters. Ten is a different type of demon, one monster is Boss  and 12 others.
I only take credits for the module file and pk3 file is the only compile wads  monsters from web realm667.com

In time, I create a repository on Github where will be hosting project and others will be able to join to me and working on if someone wants.

Currently, I am struggling on calculating right damage value because I can't figure out how author OBLIGE this value calculate. The problem is  following: In "monsters.lua" file is described damage value as (average * accuracy), but I can't figure out how to calculate accuracy and what kind of  average author meaning. Value for monsters which I add to oblige, I grab from DECORATE files and I thought that damage in the file is absolutely, and I  lately discover that real damage which causes to the player is calculated example this: Fireball from Imp in his missile attack  is calculate  3 * random( 1, 8 ). Then, the range of damage is that 3-24, a mathematical average is (24-3)/2=10.1 approximately and author use in "monsters.lua" use value 1.3 and I don't know how this value was calculating.

Another big problem which I deal is the right values of density, probability, and level which needs more testing different generates levels.

Last but not least I need study how OBLIGE decide which monster and how many and other similar things when generating level.

If someone knows something from stuff which I struggling with, I will be relly glad, if he helps me.
I apology if I write too long text.
thanks for reading and have a nice day
« Last Edit: November 10, 2016, 10:07:14 AM by sehes »

andrewj

  • Developer
  • *****
  • Posts: 1503
Re: OBLIGE V7 mods and mod discussion
« Reply #2 on: November 09, 2016, 03:37:31 AM »
Hi sehes, and welcome :)

(I edited your post to make it easier to read, adding some blank lines between the paragraphs)

The damage value of a monster is basically how much health OBLIGE will give you for fighting that monster (each one).  There is no clear way to decide what to use though.

For example, a Revenant missile can do 60 damage (less if you have armor), but players can dodge them most of the time.  The Chaingunner is a hitscan monster, so can hit you more often, but is weak and so can be killed quite quickly.

Current values in V7 were determined by analysing demos of very good players playing the various DOOM games, and seeing how much damage they received from each monster.

Another way is to generate a large map solely with a single monster, then play it and see if the amount of health seems right.  But there is no "perfect" answer, it is guesswork. 

Notice that the DOOM monsters are quite small values, 8.5 for a Revenant, 5.5 for a Chaingunner, so I suggest looking for the monster in DOOM which is most similar to the new one, and using its value as a starting point.  For example, if it seems twice as deadly as a Revenant, use 2.0 * the revenant damage.

The density is how much the monster is used in a room, compared to other monsters.  If you imagine the new monster in a room with Imps (and no other monsters in that room), then density=1.0 will mean about 50% Imps and 50% new monster.  density=0.1 is roughly 10% new monster and 90% Imps (that math is not exactly right, but you get the idea).

The prob is how often the monster is chosen for rooms.  Double the value and the monster is chosen twice as often (more or less, it depends on a few other factors).

The level value controls the gradual introduction of monsters, over the course of a megawad.  If you don't care about that, you can leave it as "1".  Otherwise decide if the monster can appear early (use a low number), or appear later.  The range is "1" or "9".  If you enable debugging, and view the logs after building a megawad, look for "Planned monsters" to see when monsters start being used.  Note that user settings, especially "Strength", will affect the results.

Getting the balance right is not easy, it takes a lot of trial-and-error, so good luck with it.

flyingdeath

  • Posts: 235
Re: OBLIGE V7 mods and mod discussion
« Reply #3 on: November 09, 2016, 08:59:26 PM »
@sehes

Quite a few of us (maybe only 3, and I never uploaded my attempt) have tried creating a 667 monster pack (though there are none for the current version as far as I know).

Whilst aiming to add every monster is admirable, it might tempt you to go through the monsters systematically. I would advise against this.

If I were to attempt it again I would concentrate on adding the coolest, most awesome and well balanced monsters first. Make sure you get them working exactly the way you want.

Getting bogged down with balancing a load of mediocre enemies is really demotivating.

Also there are lots of awesome looking hit scanners with high pain tolerance. Its very easy to underestimate there damage output. I would tend to avoid adding them because they are kind of jarring when you expect them to behave like normal doom enemies.

One last piece of advice. As you add more enemies, what started out as a nice balance of regular enemies to 667 ones gets highly skewed, and the game can start to feel real clunky (there are few good substitutes for the regular fodder of doom).

Anyway good luck

@Andrew
Can the chance of enemies appearing be grouped? Can you have a control that, for example, sets the ratio of regular enemies to ones added from a mod. I can't remember if it was discussed.


edit:@sehes
Also you can use the replace function (see spectre (in games/doom/monsters.lua)) to have thematically linked enemies appear together. Example, double chaingunners to replace regular chaingunners, set the prob and density down so sometimes you get 1 or 2 of them amongst their smaller companions.
« Last Edit: November 09, 2016, 11:47:30 PM by flyingdeath »

andrewj

  • Developer
  • *****
  • Posts: 1503
Re: OBLIGE V7 mods and mod discussion
« Reply #4 on: November 10, 2016, 12:52:20 AM »
@Andrew
Can the chance of enemies appearing be grouped? Can you have a control that, for example, sets the ratio of regular enemies to ones added from a mod. I can't remember if it was discussed.
You already mentioned it later in your post, but the replacement system can do that, with a few caveats -- firstly sometimes OBLIGE will replace *all* the monsters (of that type) in a room, and not just the given percentage, and secondly I don't think the replacement system works for guard or boss monsters.

flyingdeath

  • Posts: 235
Re: OBLIGE V7 mods and mod discussion
« Reply #5 on: November 10, 2016, 06:15:15 AM »
I mean changing the occurrence rate across a large number of enemies. Example, you get really far making a monster pack, but notice that there are in general too many or to few of the new monster compared to regular ones. Also having it as a possible option on a module, instead of editing every enemies occurrence rate. This would be useful if I have several different monster packs made by different people as an example.

This is simply to avoid having to manually edit the probs of every monster in your pack, retesting the mod, and then repeating.

Glaice

  • Contributor
  • *****
  • Posts: 1235
  • Veteran OBLIGE modder
    • The Doom Video Vault
Re: OBLIGE V7 mods and mod discussion
« Reply #6 on: November 11, 2016, 06:50:24 PM »
I've successfully ported my mega textures to the standard themes, minus the extra Snow/Sand/Goth themes so far.

Glaice

  • Contributor
  • *****
  • Posts: 1235
  • Veteran OBLIGE modder
    • The Doom Video Vault
Re: OBLIGE V7 mods and mod discussion
« Reply #7 on: November 15, 2016, 09:51:38 PM »
I'm almost ready to release a version of the 7.50 megatexture modification but have a question. Why do some lights show up fully tiling with the big ceiling gaps (seen in  screenshots)? Is it ceil_light_prob that uses those lights more, since I added a bunch of ceiling lights with some of them best used for single lights and not for tiling.

andrewj

  • Developer
  • *****
  • Posts: 1503
Re: OBLIGE V7 mods and mod discussion
« Reply #8 on: November 16, 2016, 04:52:03 AM »
I think textures like TLITE6_5 tile nicely with the ceiling sinks is just because those textures repeat on a 32x32 grid, other flats repeat on a 64x64 grid and get cut-off because the edges of sinks generally goes through the middle of each 64x64 flat.

ceil_light_prob does not affect the large ceiling sinks, they are controlled by the "ceiling_sinks" table in a theme definition.  The sinks are chosen first, and only if the ceiling is PLAIN does the ceil_light_prob get checked to see whether to use the small ceiling light fixtures.

So if you want less ceiling sinks, increase the value of the PLAIN entry in the "ceiling_sinks" table of a theme.

Glaice

  • Contributor
  • *****
  • Posts: 1235
  • Veteran OBLIGE modder
    • The Doom Video Vault
Re: OBLIGE V7 mods and mod discussion
« Reply #9 on: November 16, 2016, 10:11:39 AM »
Ohh, okay. Thanks :)

Glaice

  • Contributor
  • *****
  • Posts: 1235
  • Veteran OBLIGE modder
    • The Doom Video Vault
Re: OBLIGE V7 mods and mod discussion
« Reply #10 on: November 22, 2016, 08:59:08 PM »
« Last Edit: November 22, 2016, 09:10:04 PM by Glaice »

Glaice

  • Contributor
  • *****
  • Posts: 1235
  • Veteran OBLIGE modder
    • The Doom Video Vault
Re: OBLIGE V7 mods and mod discussion
« Reply #11 on: December 13, 2016, 06:59:27 PM »
I am attempting to hack in Oblige placing thing decorations as prefabs but I got Assertion Failed. The commented out LUA entry and LOGS.TXT snippet below:

Code: [Select]
-- Hack to place marine corpses
UNFINISHED.Decor_marines =
{
  file   = "decor/hell_gore.wad"
  map    = "MAP06"
  theme  = "!hell"

  prob   = 85

  where  = "point"
  size   = 64 --100
  height = 48 --guess

  bound_z1 = 0

  thing_34 =
  {
    dead_player = 80
    gibbed_player = 30
  }
}

-- Hack to place normal decorations
UNFINISHED.Decor_hellgore6 =
{
  file   = "decor/hell_gore.wad"
  map    = "MAP06"

  prob   = 70
  theme  = "hell"

  where  = "point"
  size   = 100
  height = 64 --guess

  bound_z1 = 0

  thing_34 =
  {
    impaled_human = 50
    impaled_twitch = 30
    skull_kebab = 20
    skull_pole = 15
    skull_cairn = 10
  }
}

The MAP06 inside the hell_gore.wad is a copy of MAP03 (the bloody skin pedestal) with just the candle thing in the same location. What am I doing wrong?

  1: c-function assert()
  2: Fab_determine_bbox() @ prefab.lua:406
  3: load_it() @ prefab.lua:1534
  4: Fab_load_wad() @ prefab.lua:1547
  5: Fabricate() @ prefab.lua:2003
  6: content_decoration() @ render.lua:2235
  7: build_important() @ render.lua:2275
  8: Render_importants() @ render.lua:2311
  9: Room_build_all() @ room.lua:3344
  10: Level_build_it() @ level.lua:1964
  11: Level_make_level() @ level.lua:2089
  12: Level_make_all() @ level.lua:2147
  13: ob_build_cool_shit() @ oblige.lua:1101

Script Error: assertion failed!

andrewj

  • Developer
  • *****
  • Posts: 1503
Re: OBLIGE V7 mods and mod discussion
« Reply #12 on: December 13, 2016, 08:19:02 PM »
I don't think the code can handle prefabs which are nothing but things.

It would need at least a small rectangle, say 16x16 in size, where the floor height is zero and the floor texture is "_FLOOR" (note the beginning underscore).

Glaice

  • Contributor
  • *****
  • Posts: 1235
  • Veteran OBLIGE modder
    • The Doom Video Vault
Re: OBLIGE V7 mods and mod discussion
« Reply #13 on: December 14, 2016, 02:29:38 PM »
Okay, will give that a try and show results later :)

Glaice

  • Contributor
  • *****
  • Posts: 1235
  • Veteran OBLIGE modder
    • The Doom Video Vault
Re: OBLIGE V7 mods and mod discussion
« Reply #14 on: December 14, 2016, 08:50:11 PM »
The hack works, tho they're not placed with full randomness (as in two in same room, it's on either same X or Y coordinate away from it) in terms of positioning but I can live with that.