Custom Maps - What you need to know!

First, custom maps are NOT broken broken or somehow removed from the game after this patch. They are however, not going to load without some additional data. I’ll explain the issues we had first - then cover the solutions:

  • As with most data in this game, custom maps are LUA. Some custom maps are code that runs to ‘build’ the level, others are just huge lists of objects. In either case, trying to scan those levels for things like level-selection lists means having to load them as LUA. After a certain number of complex levels, this becomes a MASSIVE CPU killer. For very active level authors, we’re talking minutes, not seconds, just to refresh the list.

  • One idea early on was to force maps to come in 2 parts: The info about the map, and the actual map content. This would allow maps to be scanned and loaded much faster.

So, what did we do?

First, we created a new file (xxx.levels) that is the metadata for a set of levels. Take a look at the ones included - they are quite easy to understand. All of these files are loaded once at game start.

Then, when a GameRule (GR) is selected (setting up a mission/lobby/skirmish) - the tags for that GR are used to filter the levels discovered via this mechanism. The result is MUCH faster performance. On top of that, now levels can be made for only specific Game Rules - and your Mod can actually set a filter to hide any that it doesn’t want to see, without hacking them.

In the future it is likely that .levels files will also list the author, maybe some graphics or description - and the level select controls will be more grouped and visual. We haven’t done this work yet, so it is an idea - but it is not hard to imagine somebody in the near future opening a lobby and then selecting levels by browsing ‘collections’, instead of a big list.

Here are the paths searched for .levels files:

  • DATA:\LevelData\Multiplayer
  • BIN:\LevelData
  • PROFILES:\LevelData

Have any questions about this change? Ask right here!

4 Likes

I hope someone comes out with a tool that will do a mass update to map files so they work with this update. I have almost 100 maps and the thought of manually trying to update all of them is damned frustrating and annoying. :stuck_out_tongue:

Where is the sample file so we can start the process of importing the custom maps we have already

As I said, check the .levels in the current code. And make sure you think and use tags… the details they provide for filtering and such are important for Mods that want to hide things that aren’t for that Mod, etc.

1 Like

I updated the Ace Map pack to work with the latest HWR patch:

@SandyD Heres an easy way to get your other maps working:

  1. Download the Ace map pack and follow the readme instructions
  2. Copy the “Ace_Maps.levels” file and name it “SandyD_Maps.levels”
  3. Open the file in notepad and replace the maps with your maps. Then your maps will show up in game too.

What current code?

Where?

There’s nothing in the directories. Is it here somewhere? I map with a text editor. Gimme something that needs a text editor to open.

I’m a mapper, not a modder. I don’t mess with your precious big files.

@whitemagic2929, its probably a typo in the .levels file. I got the same error if I had a typo. Take a good look at my “Ace_Maps.levels” file and try again.

@SirRunOn, follow the instructions in my post above so you dont have to mess with the .big files.

1 Like

I shouldn’t have to download something seperate to make my maps work.

Paste code and keep your maps to yourself. If I wanted someone else’s maps I would have made better versions for them.

P5yNerGy just quit mapmaking for homeworld over this. You have no idea how pissed I am about it.

We’re mappers not modders.

yeah I fixed the solution. I had to open the Ace_Maps.levels file with notepad and there it was a typo. Thanks Cloaked! :smile:

Maps are Mods. Any outside content is. That is the very root of the disconnect here. You are welcome to disagree (you do) - but that won’t change the fact that content from outside of the game is a Mod. The format/rules and mechanisms for that are subject to change, and will change.

These changes were in response to performance and data management issues, not for no reason - and frankly have a positive performance impact for many/most users. That an additional file is required to gain that benefit is acceptable and the choice we made.

The dude’s trying to get you the info you want, which is script (oh wait, so are Maps!) - being angry about it (or our changes) seems like a rather inflated response, no?

As for P5yNerGy - that’s their business. If making the game better isn’t acceptable - meh.

We have tons more to do, as I’ve said to countless others - the edits/changes will be a net positive, even if a few people don’t like them, as pleasing everyone is impossible, it won’t be considered a metric for success.

3 Likes

I may be able to get a ‘helper’ in the next patch… a cmd-line switch/tool to list mis-matches between .levels and .level files - or even list/dump un-matched .level files… should help with that. On the other hand, once you know what to look for it, is quite easy (as you now know).

Most of the maps in the Ace pack are actually P5ynergy’s.

Ill post a .levels example on the forms later so you dont have to download anything. Its really just a text file list of the maps for a particular gametype. Its quite simple and a positive change for performance and mods to filter maps. Definitly not a reason to quit map making by any means.

Even though we’re this same age this is apparently way before your homeworld time so you won’t get this. It’s something I spent the better part of a decade fighting tooth and nail for and it means nothing to you so who cares. I just have to get this bit of HW1 out there.

Unauthorized Modification = CHEAT DETECT = Not supported

New Map(currently content) <> CHEAT DETECT = Auto downloaded as standard code.

CHEAT DETECT caused by Modder

Modder = Cheater

No CHEAT DETECT caused by Mapper

Mapper <> Cheater

Mod = Cheat

Map <> Cheat

MAP <> MOD

I know you don’t care sitting on your high developer’s horse looking down at all the things we had to do in the past laughing at we primitives with our strange ideas. Yes it was all caused by Relic deciding instead of listing Sync Errors as Sync Errors it listed them with big words CHEAT DETECT plastered over your screen. However, this is ingrained into the HW1 community you’re tromping all over, and just because you think the hate is silly, doesn’t mean you won’t catch it.

I have my dignity and integrity to think of here, care or not. I can not work with code outside of a level file or folder.

Thanks cloaked. I appreciate it.

Thank you so much for this. Took some time cutting and pasting names and such but I now have all of my maps back. I really appreciate it. :acmaffirmative:

1 Like

This is just a short version from what I got from Ace’s levels file.

--Local_Desc - Description of this package
--Package_Sym - Shared name for packages with the same catagory
--Package_Desc - Description - may move to a 'package' desc file...

Root = "DATA:\\LevelData\\Multiplayer\\deathmatch"

ExtFilter = "levels_dm,levels_hw2,levels_dm_hw2,levels_hw1,levels_dm_hw1"

--Tags - Set single tags for all levels...
Tags = "dm,hw2,dm_hw2,hw1,dm_hw1"

--TagSets - Set groups of tags for all levels (defined in Scripts/Tags/*.tags) - makes bulk editing faster...
--TagSets = "hw2"

LevelList = {
    {
        Tags = "6p",
        Name = "6P_SarumDustFields",
        Desc = "Sarum Dust Fields",
        MaxPlayers = 6,
        },
    }

Just copy…

 {
        Tags = "6p",
        Name = "6P_SarumDustFields",
        Desc = "Sarum Dust Fields",
        MaxPlayers = 6,
 },

for each map you want added. The name has to be the exact filename, minus .level, of the map. Change the MaxPlayers to fit the map along with the tag. It’s really quite easy just time consuming.

1 Like

Would you have to add the original map names?

Would you have to list Kharam, Shield, Sarum etc?

Ermm Hi, assumptions aside, this is the first time ive read about this entire topic/issue… so lol.

How far away is the official maptool in terms of development? - I think thats the most critical question when it comes to “custom maps”

Meh. Map making is by far the easiest and least technical skill in the whole universe of Mod work (yes I consider it Mod work, regardless of any historical basis in error messages). And to author a useful/viable map editor given that maps are LUA script is one of the most difficult tools to create. Notepad works just fine to get it done, without the need for WYSIWYG UI.

At the same time, all of the OTHER Mod authors are doing things that are actually REALLY hard at times. With no tools for the most part, because it is all distributed LUA (good luck making a tool for that), and again, Notepad works fine. They actually have to struggle to understand complex (and busted/poorly designed) systems - and are aware they won’t get tools. Artists making ships/fx have to use complex tools and have a pretty serious set of skills to do their work - and yet they still get amazing stuff done. Their world changes with every update and new feature as well…

I just can’t empathize with Map authors feeling put down by this update - the majority of Mod authors are making their own paints & canvas while hanging upside down from a rope covered in stinging ants… And they still get stuff done, and have a much more cooperative attitude about what we can help them with. Map authors can do it all with notepad - and an extra file for performance is ‘one stone too many’ somehow?

There isn’t a custom map tool. There was never going to be one. Relic didn’t release one, and we hadn’t stated we would… nor is that in the plans. I’d be happy to help somebody working on one with support or even maybe edits/commands to the .level script to help. But our level work was (mostly) one of the 3 methods:

  • Use old files, hand edit.
  • Script convert old HW1 missions to HW2 level files and related files (zero chance of public release, this is some crazy stuff).
  • Max editing of scenes -> DAE -> .level (existing maps only)

That last item is entirely inside of Max - as that’s the only tool we use, and so, wouldn’t do anyone not already capable of making maps any good. The other issue is that the Max path requires some stuff not public, and unlikely to ever be public. Never say never, as I have a small idea that could make it fly - it is REALLY low on the list of ideas to get up into the sky. And again, part of that is because it would require Max, which few of you would be happy about.

As I’ve said elsewhere, supporting Mods isn’t about making ‘HWRM’ versions of community tools - those came from other sources, and updates to them won’t come from us - how could they?

3 Likes

Skunks map tool works for me on win 7 and win 8. Be sure to use compatibility mode, and you may need to disability windows DEP or anti virus. I can help you get it working if you can describe exacly what happens when you try to start it.

Also BlackBaps is still in contact with SkunkBaps. Its possible he still has the source. If so Skunk or I can take a stab at updating it.

Nope, just make a text file like SirRunOn_Maps.levels use the example code above and add your custom maps to it. Any of the file paths in the OP should work. Let me know if you have issues. Been busy all weekend or Id had written a proper tutorial!

2 Likes

Yes thanks cloaked

Ive actually got it to work. Thats fine. Ive also managed to sort out the extra level folder problem.

1 Like