Jump to content

How to make a mod with its own gameworld and story à la Project: Brazil?


LFOxidizer

Recommended Posts

Some time ago, I had a dream regarding a fictional Fallout game that had its own story, like Fallout: New Vegas is to Fallout 3. Recently, I've been thinking of making a few changes to this dream and re-creating it as a mod to F:NV, like what was done with Project: Brazil. However, I have no prior experience with using the GECK, and while there are plenty of tutorials out there plus the ability to learn through Trial-And-Error, there are two primary difficulties I'll need to overcome beforehand:

 

• Problem 1: How to make an entirely new game world?

 

The DLCs each used their own world seperate from the Mojave Wasteland, and with good reason. This mod would, similarly, need its own unique world. It isn't just making the world, too; I'd like to make it sort of like the Divide from Lonesome Road, with an orange sky and the dust storms. Is there a way to add them in too, or they're Divide-specific?

 

• Problem 2: How to let the player choose whether they want to play basegame Fallout: New Vegas, or this mod?

 

When watching gameplay of Project: Brazil, something which caught my eye is how, when you click to start a New Game, it gives you a prompt if you want to play Project: Brazil or vanilla New Vegas. I'd like to have this feature as well, so users don't have to constantly switch the mod on and off to alter between it and NV. Prefferably without conflicting with PB.

 

...A little help on to making the mod have its own radio stations that only work in its specific gameworld would be helpful as well, but not urgent.

Link to comment
Share on other sites

This is a large undertaking. So put it into chunks.

 

1: Learn how to make a worldspace

2: Learn scripts to male it separate

3: Make the radio trigger point in your worldspace only.

 

That is extremely basic, there is much more to it than that

Link to comment
Share on other sites

Problem 1: How to make an entirely new game world?

 

I haven't found any good tutorials that fully explain how to do this. I've created quite a few new worldspaces, and I learned how to do it by going through what tutorials there are and a lot of trial and error. Be forewarned that this gets you into some of the buggiest sections of the GECK. When I first started creating worldspaces, I probably spent as much time figuring out how to prevent the GECK from crashing or royally screwing things up than I did actually learning how to create the worldspace.

 

It's also not at all intuitive for much of it. There is a reason that you see very few mods with new worldspaces in them, and those that you do see are often flat worldspaces that use landscape objects like cliffs and rocks to make terrain because the mod author didn't understand heightmaps. Creating a new worldspace is one of the more difficult things to do in the GECK.

 

The basic procedure is this:

 

Go to World -> World Spaces and make a new world space, then fill in all the info in the form for it. You'll want to make a texture that shows up on your Pipboy, so make sure you fill that bit in too. You can create a blank texture and use that as a placeholder just to get it into the form if you want, then fill in the texture later.

 

Now, save your mod, then exit and re-start the GECK. If you don't do this, the GECK crashes at the next step (I told you this was buggy). The GECK will crash often during worldspace stuff, so save often.

 

Now that you have re-started the GECK, click on World -> Heightmap Editing and make a heightmap for your world. If you go in here and just do something that looks like it would work, most likely the GECK will crash when you exit. There's a few tricks you need to know for this. First, the GECK has a major problem if any part of the landscape is too low. But the GECK is more than happy to generate a heightmap with this problem and it won't give you any warning whatsoever that there's a problem. It just crashes when you save your heightmap (buggy buggy buggy...). What I do to get around this is I generate a random terrain with very little randomness, but an offset of about 6000 or so. This gets you a flat terrain with a height offset that won't crash the GECK, and from there, I edit it to look like the terrain I want. Another thing, don't make drastic changes in height, or you'll create landscape tears with invalid lanscape heights. The GECK will tell you that it has detected this and will try to correct it. In practice, I've never had it successfully correct anything. If you get this error, scrap your heightmap and start over. Make gentle changes to the landscape, and you'll avoid landscape tears. Also, don't edit too close to the edge of the heightmap, or the GECK will often screw up and create a bit of mangled landscape at the edge that may crash the game if you actually go near it in-game. Don't forget to save your heightmap when you are done. If you just close the window and don't save, all of your changes are lost. Also, there's no undo in heightmap editing. If you totally bork something up, CTRL-Z doesn't do anything at all. Close the window and reload your heightmap and start over.

 

Now that you've got that done, you can add some regions to your worldspace. You'll want to add a border region so that people can't walk off of the edge of the map. Alternately, some folks like to arrange the terrain and use cliffs and such so that you can't get anywhere near the edge. Even if you do that, it's still a good idea to add a border region just in case someone manages to figure out some weird cliff jumping scheme to get around your terrain blocks. Also, there are some people who hate contrived terrain as it is often very unrealistic. Those people would rather run into invisible walls than goofy terrain. On the other hand, some people really hate invisible walls and would rather face contrived terrain instead. No matter what you do, you can't win, so use whichever method you prefer.

 

You can use regions to also add a lot of objects like trees and bushes to your worldspace. Be forewarned. Large regions take exponentially longer to create objects. That means that a region that is twice as big will take four times as long, not twice as long. Three times as big, nine times as long. It may not be exactly exponential, but it sure seems close to it when I've tried it.

 

If you add a lot of objects, you can also run into another bug with the game. The game stores objects as an 8 digit hex number. The first two digits are the mod number, with 00 being the vanilla game. For example, purified water is 000151a3. The 00 at the beginning means that it's from the vanilla game. The 0151a3 is the offset into the file. The important thing here is that the offset, being a six digit hex number, is limited to 16 megs. That may seem like a lot, but your typical landscape and heightmap are going to put you somewhere in the region of 12 megs in your file. The first worldspace I created had a small forest area of dead trees. After auto-generating a forest that looked very cool and realistic, the file ended up being about 20 megs. After saving it, not only would the game not load it, but the GECK would crash every time I tried to load it. That means that you can't even use the GECK to fix it. Hope you saved an earlier version, because your mod is trashed. If you are only using a small area inside the worldspace, this probably won't be an issue. If you are using a large area with lots of landscape objects, this may be a problem. I've had to split mods into multiple files to deal with this.

 

Once you have your landscape and objects all in place, then you can navmesh. What's really cool is that the GECK comes with an automatic navmesh generator for regions to make your life easy. What's not so cool is that it doesn't work. At all. Don't use it. Ever. I have actually had it successfully navmesh a region once or twice. Most of the time though, it goes completely wonky. It will navmesh areas outside of your region. It will crash with a "get Jean!" error. It will lock up the GECK. Seriously, don't ever use it.

 

That means you have to navmesh every cell. A worldspace is 64 x 64 cells, so if you use a large portion of the map, you have to generate a navmesh for 4096 cells. Fortunately, the automatic navmesh generator for cells kinda works. It doesn't handle SCOLs very well, and it will happily navmesh across a fence while often refusing to navmesh across a road. It works well for basic wilderness landscapes, in my experience, so you can generate 4 or 5 cells per minute with it. At 4 cells per minute, you can generate 4096 cells in about 18 hours. That's 18 straight hours of sitting at the computer, so if you do 3 hours a night, it will take you six days. You might want to consider making your first worlspace relatively small. If you make your border area 10x10 and only use the area inside of that, then you only have 100 cells to navmesh. The auto navmesher doesn't handle town areas very well, so expect to do most of those by hand, which takes time.

 

Navmeshing takes up a lot of space in your file, but it's ok if the navmesh goes over the 16 meg boundary. However, don't try to add objects after that, or they'll end up past the 16 meg boundary and will ruin your file.

 

That's the basics of it, without going into details like painting your landscape and using the render window to fine tune what you created in the heightmap. A typical heightmap will create a flat-ish landscape that doesn't look at all realistic. You can play around with the noise generator (make sure you set it to addative to add noise to an existing map, or it will create a brand new random landscape, overwriting your old one). A lot of high amplitude noise will make your landscape look like something from Mars. It will also be impossible for your character to walk on. Not enough noise though and the landscape looks flat and unrealistic. You have to find a balance for the type of landscape that you want to create.

 

There's also another bug in the GECK that if there aren't any objects in a cell, when it goes to render that cell in the render window, it will often display it as a big blob of water, no matter what your water height is set to. I always go to the first interior cell and render that just so that the renderer has a chance to render some objects. After that, then I can go to the new worldspace and view the world in the render window. Sometimes moving to another cell in the render window will clear up the water bug.

 

So consider yourself forewarned. Generating worldspaces in the GECK is miserable. Once you figure it out though, it can be done.

 

 

 

Problem 2: How to let the player choose whether they want to play basegame Fallout: New Vegas, or this mod?

 

I don't remember the name of the startup script for FNV, but all you need to do is hack into that and put up your own pop-up window to ask the player whether they want your game or FNV. Obviously, knowledge of scripting is going to be required in order to do this.

Link to comment
Share on other sites

Yeesh. Well, after that, I'm not sure if I can quite make that map. It's supposed to be a city with four different regions surrounded by mountains and canyons(all of which are accessible). It could very easily go past the 16meg limit. IF I can get the heightmap working.

 

Ah well, I suppose I'll try it someday. Worth a shot.

Link to comment
Share on other sites

Okay, so... I'm kind of stuck in the heightmap part. The heightmap editor has a lot of options and doesn't seem to be your typical grayscale heightmap editor(which made me a bit annoyed, as I already made a grayscale heightmap in advance), and there are no tutorials on how to use it(which is understandable, yet frustrating). Could you clarify on what each option does, and which ones I want to use?

 

After thinking a bit on the map, I decided to simply make the mod take place on Niagara Falls, which, as it's actually a real world location, should make the audience feel more comfortable. It also means the map should be relatively simple: just a river cutting through the center of the map, connected to a ravine leading to the southeastern end of the map.

Link to comment
Share on other sites

Yep, it's a horrid little toolset, isn't it? I've often said that the GECK is actually a Vault-Tec experiment designed to test modder's frustration levels.

 

Anyway, across the top you've got Save, Undo, Grid, Color Masking, (not sure what this button does? I never use it), Lasso, Raise, Lower, Smooth, Noise, Smudge, Preview, Overview, Paintrbush, Eyedropper.

 

I don't know why they have separate raise and lower buttons. When you are in raise mode, your mouse buttons both raise and lower. The lower button just reverses those buttons.

 

I never bother changing the color masking, but that sets the different colors on the heightmap as you change the height altitude. It's a color map, not a grayscale.

 

Once you have one of your brushes selected, the brush control section controls the size, intensity, and falloff of the brush. Generally, keep the intensity pretty low. If you have the intensity set too high, it will make drastic changes to your heightmap and that's a great way to end up with landscape tears and invalid heights that totally trash your heightmap and make you start over.

 

The noise function makes the landscape noisy, or bumpy. You can use it on its own to generate a random landscape, or you can select additive (and/or subtractive) and have it add noise to your landscape. A higher frequency is going to make the bumps closer together, and a higher amplitude will make the bumps and valleys taller and deeper. A very high frequency and high amplitude makes a very surreal alien type landscape that, while kinda cool looking if you want something bizarre, ends up being too steep in most places and your players, NPCs, and creatures can't actually walk on it. So don't go overboard with the noise. On the opposite end, low frequency and low amplitude will make wide, rolling hills.

 

The noise section also affects the noise brush. Basically, you can use the noise brush to add bumpy bits to only certain parts of your landscape. Personally, I've found it to be extremely difficult to use. It's kinda like painting, where the more you put your brush over a particular spot the more paint you get, only in this case it's more noise. What makes it difficult is that it is very hard to see exactly what it's doing, so you can end up with too much noise in some places and not enough noise in places that you kinda rushed over.

 

You can also apply erosion to your landscape. Personally, I haven't been very impressed with what it does and I usually don't bother with it.

 

What I do is first I use the noise generator with very low frequency and very low amplitude to create an almost flat landscape, but I set the offset to 6000 so that the new flat landscape is all well above the height that makes the GECK crash.

 

Then I use the raise/lower brush to create mountains and lakes. I set the brush intensity lower when making lakes as I want them to be under water, but not so deep that they get too low in height and crash the GECK.

 

Sometimes I will use the raise/lower brush to create rivers. I've also used the raise/lower brush to make a small section of lowered landscape, and then I've used the flatten brush to make the river. The way the flatten brush works is as soon as you push the mouse button, whatever height is directly under the cursor is the height that it will set everything under the cursor to, so this is an easy way to make the bottom of your river all the same height.

 

I find rivers to be a bit of a pain. When you use the raise/lower tool or the flatten tool, you tend to make rivers with very steep shoreline dropoffs. Then I go back and smooth those out to make the shores more realistic, which is a bit time-consuming.

 

Once I have all of that done (remember, save often), then I look at the landscape in the render window and see if it is mostly to my liking. If it is, then the last step I do is add noise to it to make it look realistic.

 

You are going to need two different water heights, which is a bit tricky and a bit buggy. Basically, set the water height of your map to the height of the river below the falls. Then, what you are going to have to do is set the water height in the cells above the falls to be the higher water level. Save your mod somewhere before you do this, as this is known to be buggy and sometimes setting the cell water height ends up screwing up the map's overall water height in a way that can't easily be fixed (the fix is generally to reload a saved version of your mod before the GECK ruined it). But this is basically what they did in FNV. Lake mead is at a higher water height, where the Colorado River south of there is all at a lower water height.

 

Shouldn't your ravine be on the north end of the map? Niagara Falls drains Lake Erie from the south into Lake Ontario north of the falls, if I recall correctly.

 

 

Also, there is a way to import heightmaps. I've never used it so I don't know how it works, and I don't know what format your heightmap needs to be in. You might be able to use that grayscale heightmap you already have.

Edited by madmongo
Link to comment
Share on other sites

Thanks for the clarification, I should be able to use the heightmap editor efficiently now. Regarding the water height, I know Honest Hearts has a waterfall deco that I could use. Know how I could add it?

 

Also, by ravine I meant the river before the falls, the one that passes through Kenmore and Buffalo. I originally planned it to be dry(and therefore a ravine) because I didn't know I could make water above the "sea level". After the waterfall, the lower river should, indeed head to the north of the map and lead into Lake Ontario.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...