Page 1 of 2

Mapping - misc settings, decorations, borks prevention

Posted: Thu Feb 07, 2019 5:12 pm
by Nelsona
This topic has as audience those mappers who are convinced that they know what they are doing but actually do not know too much, they are even tempted to write tutorials while mistaking relatively basic things.

Let's start with something more or less known.

MH-BoomBoomBridge (as a sample) was a MH conversion capturing attention from some people.
One of the problems that this map has developed - just like MH-GXech - is the scratch spam in these maps causing the destruction of the game, even crashing the server, creating hundreds of actors that have no utility. Decorations that are supposed to be destroyed are set bStatic and/or bNoDelete and continue to create fragments without stopping when a madman has nothing to do and is shooting them for fun.
Spam_notMap.PNG
Spam_notMap.PNG (380.94 KiB) Viewed 11213 times
The setup here is entirely hilarious having even a LifeSpan for actor which will never be deleted - this is guessing or just dumbness.
In other circumstances, we have decorations that have changed meshes and that do not contain the original animations for which they were created causing error entries in log files - why this spam after all. FORGET these habits, forget IntroDude, IntroBoss, Boulders and decorations which have their unique purpose not a general purpose.

Code: Select all

class Boulder extends Decoration;
....

function PostBeginPlay()
{
	local float Decision;

	Super.PostBeginPlay();
	Decision = FRand();
	if (Decision<0.25) PlayAnim('Pos1');
	if (Decision<0.5) PlayAnim('Pos2');
	if (Decision<0.75) PlayAnim('Pos3');
	else PlayAnim('Pos4');	
}
This boulder, if has original mesh changed, will never run these animations, but spamming console.

A simple Solution for decorating a map with something really STATIC and immune at spam is

BlockAll - this is not only for covering BSP holes this can be RESIZED and used with "DrawType=DT_MESH" from Display section in Actor properties, after applying a MESH and bHidden=False - desired mesh with desired frame with desired size with..... bla bla....
We can have Vases, Statues, Symbols, Placards, all of them being BLOCKALL actors happily adjusted without any issue, simple as that.
If you want a dynamic decoration able for running several animations programmed or less programmed just ASK HELP. A selfish attitude is not helpful - yes this needs to be written in "mapping" tutorials instead of cheap useless stories.

Re: Mapping - misc settings, decorations, borks prevention

Posted: Thu Feb 07, 2019 5:34 pm
by Nelsona
Chapter 2 - more or less known things about collision cylinder.

We might need to know when our decoration/trigger/etc. might react at a bump/touch problem. Let's see how does our actor looks like:
How_does_it_collide.PNG
How_does_it_collide.PNG (421.4 KiB) Viewed 11207 times
A WARNING: for figuring collision cylinder, actor should have in Collision Properties Section bCollideActors=True. If actor has no collision, no cylinder is shown and this actor won't react at "touch" called by engine when is available. You'll be surprised to find how many even old mappers don't have more clue what they do here.

Re: Mapping - misc settings, decorations, borks prevention

Posted: Sat Jan 04, 2020 10:48 am
by Nelsona
In mean-time
MapGarbage builder and mapping helper has various features and last time I added some comments taken from documents which are shown a single time per editing session in order to prevent spamming. Last feature added so far (and I'm thinking what else it's helpful) was removing useless TAGS which Editor is adding to an actor based on GetItemName thing. These Tags are only bytes added with no use especially if are "default" only grows file-size - probably it's only my insanity toward saving resources.

The question is if MapGarbage needs to print in logs other explanations without doing anything, or a feature for pointing overcrowded spots with paths. Here might go hints according to what mappers are doing considered "cool" but without use On-Line. I saw a lot of flares attached or not attached to Movers which are NONE in clients playing On-Line, recommendations for MyLevel which has no use in MH mapping if original 503 MonsterHunt.u file is loaded and uncompiled actors are just map junks. I might copy some hints written in old tutorials this way being more handy for access right from Editor.
Expl_MGrb.PNG
Expl_MGrb.PNG (277.79 KiB) Viewed 10949 times
I see UT99.org it's very relaxed - like all work it's done - and no one says anything about some "HLP" for Editor - that would be the right tutorial containing original assets written by Polge and Sweney, and then if coders are busy these free days with doing nothing I think I'll drop some lines that can be read in Editor.log file and also in Editor's Console.

Re: Mapping - misc settings, decorations, borks prevention

Posted: Sun Jan 05, 2020 7:48 pm
by Nelsona
And we can keep going forward - due to last map inspection done:
1. kicker support doable with MapGarbage - will speed up kicker setup.
We are selecting a (more) kicker(s) and we put a boolean on True - Hit build - in next second selected kicker(s) will have events generated and spawned SpecialEvents with jump sounds and all setup done automated. SpecialEvent is placed at 2 units above kicker or a value defined in builder. Simple as that and fast and 100% accurate.
2. Pathing hit.
I see Editor and XC_PathsBuilder adding paths from teleporters to whatever points. In majority of cases these are hijacking bot's road. If teleporter is a jumppad will throw Bot away and then he need to reconfigure his wills. If is about other Teleporter, Bot is thrown in other zone unable to reach at Routecache[2] whatever if teleporter is unidirectional. I don't know how you like UT games generally, but definitely I'm not a fan of creating borks just for having UNR files.
Here I could write something for removing Paths[x] coming from teleporter as long as that route has no logic all time but I have to take in account UpStreamPaths[x] as well - I'm not sure if this is necessary but... heck... Here we speak about iterations which are nasty even in Editor...

Edit: Of course, by doing these I might be sounding like I'm lazy or this is for lazy mappers, but it's not that. I'm trying to prevent wasting time and even making mistakes when brain is tired by walls... At least hacking teleporters takes time when map is a bigger one.
Here I would like to see someone with a better english setting up a video tutorial/document with these functions and XC addons.

Re: Mapping - misc settings, decorations, borks prevention

Posted: Wed Jan 15, 2020 3:01 pm
by Nelsona
Bumping next: Common MH problem - Queen - these are troubles specific to original plain UT... probably not a problem for servers tweaked correctly. Yes, I think it's time to clarify WHAT can be done in an old map except changing textures and adding a wall, which means Technical works aka map's mechanics.
What I would do ?
Let me see:
- only a Queen it's allowed to spawn in maps using QueenDest and not only there - two Queens counted might head to a failure at random;
- combined Factories also should take in account the EXACT number for creatures from certain wave and NOT even a single one more - unless next wave will deliver a Queen facing the older from previous wave and allowing this way TWO. When these both are teleporting in the same spot, say good bye to counter;
- Alternate Solution (not AlternatePath) using events granted by... SPAWNPOINT actors - read well - a Spawnpoint bringing a creature will deliver an Event accordingly. Have you ever tried this ? No... the only thing done was having "fix1" to "fix199" and NOTHING fixed here - problems were moved not fixed. You'll see by using this solution Left-Over spawned creatures but you won't have problem with opening critical doors - SpawnPoints won't stop doing their events because are not removed like in Queen-to-Queen case. I used this way without a single problem.

Re: Mapping - misc settings, decorations, borks prevention

Posted: Sun Jan 19, 2020 3:59 am
by evilgrins
Yeah, I'm familiar with those. Once out of boredom I unloaded with the excessive minigun into one of those urns just to see how big a pile of shards I could get.

Re: Mapping - misc settings, decorations, borks prevention

Posted: Sun Jan 19, 2020 8:54 pm
by Nelsona
I'll try to find some free time for writing a doc with regard to next updated MapGarbage toy with a few new features.
There is nothing more easy than selecting that "static decoration" - spammer - and setting up a bool to TRUE, press build and here it is a BlockAll set as a perfect clone of decoration. No more IntroDude craps or Boulders or whatever attempts to run animations when actually these don't have such a purpose.
It's nasty that mappers are not busy to do their best when 21th century has options, no problem, I can click the Ignore box from my brain, I don't even need to read topics where messed up things are happily introduced as big shots or such.

But I have a similar question:
What would you do Dear Mappers if a surgery needed by you would be done by such a "doctor" who claim skill but has no idea what is doing in that hospital :tease: or is doing that sort of job like UT mappers are doing ?

Have a nice day everyone !

Re: Mapping - misc settings, decorations, borks prevention

Posted: Tue Jan 21, 2020 4:57 pm
by Nelsona
Heading to the next thing.
I did a map with something taken from another place. How do I know if it will work On-Line or it will have problems, or clients will not have full map feeling as Off-Line ?
The most common people will reply something funny and not entirely True: I do not have a server for testing my map. This answer-sentence it's a LIE. Every single map-maker can do a minimal test (not with Nexgen, Mapvote and all those things) which contains a basic network structure - a LAN server - LAN is something which if you don't know the term maybe you want to learn about it before touching UT Editor.
If you say that I did maps with good Net support because I have a private testing server, I might not be entirely agree with this. First I did a basic test in the same machine before facing a real server stage. These initial tests are conclusive for discovering net problems caused by wrong moves.
MH-Sk_BattlingLottery is such a map where I was writing custom scripts and I had to do a check if these are working instead of posting map and asking if it works On-Line.
How goes things with this "server" for testing ? I'll use images combined with explanations:
1st Step means creating/starting server
2nd Step means joining to said LAN server as player
Step 1 stages:
- moving to network menu in here:
Net_Menu.png
Net_Menu.png (525.14 KiB) Viewed 10845 times
- choosing game-type and map:
Game_And_Map_Choice.png
Game_And_Map_Choice.png (536.28 KiB) Viewed 10845 times
- optional chosing mutators - some of them have to be placed in serverpackages especially those having custom things like sounds meshes textures
Optional_Packages_Mutators.png
Optional_Packages_Mutators.png (504.99 KiB) Viewed 10845 times
- if map it's intended to have Bot Support and we want to check it, it's good to inspect menu for settings:
SettingUp_Bots.png
SettingUp_Bots.png (582.98 KiB) Viewed 10845 times
- heading to last TAB for setting up server completely private - not advertised anywhere to Master-Servers - uncheck advertiseserver box:
Not_Advertised.png
Not_Advertised.png (589.64 KiB) Viewed 10845 times
- and final stage Hit Dedicated Button where UT will get vanished usually in system tray if everything it's okay:
Dedicated_Server_Start.png
Dedicated_Server_Start.png (577.07 KiB) Viewed 10845 times
Server should be active awaiting connections.
Step 2 stage:
- fire the same UT version - yes, it works and move to network menu in know section for browsing servers:
Browse_LAN_Servers.png
Browse_LAN_Servers.png (252.62 KiB) Viewed 10845 times
Look for LAN servers and you have to see your whatever-named server over there - my case it's "checker". Join it.
See how do stuff works.
Not the last thing - after stopping client-game and server-game don't forget to look at log files: files "UnrealTournament.log" and "server.log". Except default MH errors from console you should not see others coming from whatever package used in map, if that has happened this means you can forget that package. Client developed UnrealTournament.log file where also errors should have a minimal charge and no funky warnings about actors that cannot be created in client because those are not seen On-Line (screwed decorations, flares and all those having initially bStatic=True and being set False in map). If whatever actor is bStatic won't be created in client so such "great effects" won't work On-Line.

Note: And yes, you have no excuses for not testing map in a minimal Net environment before releasing something useless On-line.
If said server crashed - start it again. Try a few times to see if server.log has the same end - definitely something it's wrong if the crash happens repeatedly.

Here I have setup a test using XC_Engine, next stage is testing after removing it - if you are a XC user. Testing map for default plain UT server and client should be done as well. If map has passed such tests a few times, probably it's ready for being tested in another server located "outside" more exactly in another machine running a dedicated server with all specific things - this might not be doable by everyone for getting extra feed-back - this is the stage for a beta release.

Re: Mapping - misc settings, decorations, borks prevention

Posted: Thu Jan 23, 2020 8:51 pm
by Nelsona
The next point: Hints.
A map with Hints like in SP usually it's not working in the same way but... this doesn't means that some stuff cannot be delivered privately to a player. No, we don't need to force admin to split hair and get older wasting time doing mutators able to deal with a translator.
Let me see, it might be a simple way in showing one or even more messages to player without to stop him in place and letting man to look around as much as he can check monsters and read some lines - or more lines chained properly instead of filling screen.
- We start with a Trigger having RepeatTriggerTime and ReTriggerDelay for a period. This one will have an Event using Tag from a Dispatcher, Trigger will stay away for that time and won't react, taking a break - this delay is also helpful at triggered doors and prevents Bot to run at a closed door because this will get triggered again after passing of this set time - patch modules which I did for NavAdder are hacking door triggers this way and map won't have flaws;
- This trigger as alternate option might be set for toggling turned off and back on as described in next lines - InitialState OtherTriggerToggles;
- Dispatcher will have Events according to Tags from a few SpecialEvents set with InitialState "DisplayMessage" and a small text written there and dispatching timers defined, 3-4 seconds for reading messages with pause between them. Here we can disable Trigger as first goal, if it has a toggling feature by setting up one of Events matching his Tag and then triggering it again for getting ready for next story after dispatching all messages using internal Events;
- Dispatcher will trigger SpecialEvent Actors during a period - A CaveAt - while Dispatcher is busy it might not react too quickly if another player wants hints unless has finished the task;
- Also here first SpecialEvent can be combined with another to do a SoundEvent similar to translator message;
- Said period will be the delay (or even less time) which initial Trigger has as described above, if it's not used with InitialState OtherTriggerToggles.
Player will touch trigger and he can leave the place even in next two seconds, Dispatcher being started will keep doing events and displaying messages to player. Player can read the story even if it's no longer around Trigger but is noticed with those needed hints.
In practice this is used successfully in MH-Sk_ThoseSeasons_cTb. Trigger is in some location not very noticed but it might react if player is crawling corners from second stage. Triggering in stages combined with Dispatchers can do good team together for other various actors.

I decided to describe these "hints as hints" because I did not see any such explanations in any MH Tutorial or other SP tutorial, only nice stories with no techs for preventing bugs manufacturing.

Re: Mapping - misc settings, decorations, borks prevention

Posted: Sun Feb 02, 2020 6:46 am
by Nelsona
Before to release some update at Builder MapGarbage I think I got some idea about protecting map against future edits, here it's about crashing Editor when map is opened but in game map can be used. What's the problem ? The problem is that if map has errors you won't be able to fix it so easy or others as well, not before doing some byte-hacking and I'm not sure if this will be helpful. If we want to do good things I might advice to not make a mess and letting other advanced mappers to fix what has to be fixed. As extra note, probably I'm not going to implement in MapGarbage this sort of protection against n00b editing, because it might be nasty even for advanced mappers when it comes to fix wrong things. Perhaps very good and original maps which is not a need to be ruined can have such a minimal protection.
I'm not sure if UT469 will have a deal here because... that bug from Editor has an advantage, and then... I don't want any fix at this point...