UnrealSP.org, now with 100% more Web 2.0!

What is the most complex/advanced/etc. thing you have made?

For questions and discussion about UnrealEd, UnrealScript, and other aspects of Unreal Engine design.

Moderators: Semfry, ividyon

User avatar Buff Skeleton
>:E >:E
Posts: 4173
Joined: 15 Dec 2007, 00:46

Subject: What is the most complex/advanced/etc. thing you have made?

Post Posted: 05 Apr 2008, 01:03

Bonus points if it actually works and is getting used for something!

Just a couple of days ago, I finished setting up a very complex scripted sequence after about 5 hours of work (and several more the previous night). The scripting itself wasn't particularly advanced, but the level of tedium I experienced manually numbering all of the actors (over 600) involved and manually positioning the 300 in-game actors was more than I have ever done before. Best part? It all worked flawlessly the first time I tested it!

It's a boss battle where the rocks come alive and start shooting homing fireballs at you. Here's how it happens:

Image
  1. The player enters the battle arena (this area) and triggers a Dispatcher (topmost one) that begins the sequence by triggering a small earthquake and sound, starting the fight music, triggering some bolt effects from the sky, and then activating the main sequence where the real complexity comes in.
  2. A second Dispatcher (second from top) with a longer initial delay then kicks in, which activates 18 other Dispatchers (third row) all at the same time (the parallel ones--more than 8 are activated at once by adding a "Next1" event at the end of the first, which triggers the second, and a "Next2" on the second that triggers the third, etc.). The 18 Dispatchers are activated by a sequence of 4 Dispatchers, as you can see. The 18 Dispatchers are needed to cover the 150 events necessary for this whole thing to work.
  3. Each one of these Dispatchers triggers an AttachMover. Every event has an 0.25-second delay so that not all of the movers are tripped at the same time--this is just for effect. Every event in each of these Dispatchers goes like AF001, AF002, etc. All the way to AF0150 (yes, I pasted in the first 0 before I realized I wouldn't need it for the latter two thirds, but like hell was I going to bother removing it). AF = Arena Fight.
  4. All of these AttachMovers, when triggered, bring up ONE Dice actor each that is set to be a Sprite and display a glowy red texture.
  5. After all of the AttachMovers have been triggered, one event goes off that activates all the Gasbags, which thus begins the boss battle.


Gasbags, you ask?

Oh yeah. All of that up there is just the beginning; see, I placed all of the Dice on the rock formations (five of them--including the two really tall ones) before I started doing any of this; the location of these glowing Dice would serve as the location for the specially-coded Gasbags I made.

Basically, I manually placed these Dice and positioned them--all 150 of them--until I had covered the rocks in a way that looked good and didn't result in too much uneven clustering. Next, I placed my specially-coded Gasbags (invisible in-game and set to Ignore the player by default) on the rocks exactly where the dice were. These two phases took a really long time, but nothing took as long as labeling the Events, Tags, and AttachTags of all the actors involved.

See, when I had all the Gasbags in place, I had to make it look like the rocks were just normal, black rocks before the battle begins. Red-spotted rocks would look too obvious. So, to set this up, I took one AttachMover and moved it waaaaaay below the map; I then duplicated it and moved it up to where it was even with one of the Dice. Then I duplicated it again. I then selected all the Dice and ONE of the upper movers (making sure to select its vertex to keep it exactly on the grid). I then dragged the entire group--150 dice + one mover--until the mover was even with the lower-level one. This ensured all my dice would move up by exactly the same amount and that they would end up in the positions I originally placed them in once triggered. The Gasbags were left alone, of course, since they can't exist outside the world. To protect them before the battle begins, I put large bShoot Triggers around each area which are moved away when the battle starts. Since no other monsters are in this area, it is unlikely a player will want to shoot anything and possibly disrupt the sequence, but since killing one before the battle starts has the potential to break it, I wanted to be sure. It IS still possible to kill some of them with splash damage, but again, it is unlikely someone will aim for the right place for no reason.

Anyway, I duplicated out 150 AttachMovers and gave them all the AF001, AF002, etc. tags and ArenaFight001, ArenaFight002 AttachTags. I also gave each GASBAG an EVENT that fit this scheme. The Dice, of course, had ArenaFight001 Tags and AttachTags so that they would move properly. ALL of the Gasbags had a WakeTheBags tag so they could be triggered once all of the dice were in place on the map.

Since the Gasbags had the same event as their respective movers' tags, this meant that killing one Gasbag would toggle its AttachMover, which would remove the Dice, making it appear that one of the glowy fireball spawners had been destroyed!

In order to keep track of how many of the 150 Gasbags have been killed, I have 150 Counters each set to trigger after 2 counts. This is because the first count for each Counter happens when the master list of Dispatchers initially brings out the Dice. Killing each individual Gasbag, which again toggles each mover, results in the second count for each Counter. A master counter, meanwhile, waits until all 150 counters have tripped it, ending the scripted scene and beginning Phase II of the battle.

Here's what it all looks like zoomed out. I did everything as orderly as possible to avoid making mistakes, and it paid off. I also made extra "markers" out of dummy AttachMovers to indicate the 50- and 100-mover mark in the row so I could more easily isolate a problem if one occurred. Fortunately, none did!
Image

The result looks fantastic and it works perfectly in-game. It's quite intimidating to see the rocks suddenly start becoming speckled with demonic red flares--only to have ALL of them start shooting at you seconds later! Don't worry, though; each fireball, though nearly impossible to dodge thanks to UArchitect's seeker missile code, only does 1 damage each. But when you have 150 of these things, well... if you aren't careful, you'll take damage in a hurry.

But by far the most tedius part of the construction was numbering everything. Even with some amount of copy/pasting to make things easier, I still had to type in hundreds of numbers by hand. I also had to make sure that the Gasbags' Events matched up to their respective Dice's Tags. Since the Dice were placed fairly unevenly on uneven surfaces, numbering them in an orderly way proved to be a challenge. I had to be sure I didn't miss any while I was numbering, AND I had to make sure I didn't make any typos or duplicate a number, which could have thrown off the whole sequence by causing it to not end properly.

Wow. Congratulations if you read all of that and understood it! Now, what other crazily complicated shit have you guys made? It doesn't have to be UED; just, ideally, something Unreal-related.

User avatar Hellscrag
Founder Founder
Posts: 4007
Joined: 11 Nov 2007, 19:14
Location: In a random access memory of dreams

Subject:

Post Posted: 05 Apr 2008, 13:06

Wow... That really puts my chiming clock into perspective!

Said clock is probably my most complex thing, and involves the use of quite a few dispatchers. It appeared in the "Piazza" section of DOM-TempoClasm.

The objective was to recreate the chiming pattern of church clocks that I've heard in some Italian towns. There are two bells: A deeper one (we'll call it "dong") and a higher one (we'll call it "ding"). They chime as follows at the following times (the map always starts at 1:00):

1:00 - "Dong"
1:15 - "Dong... ding"
1:30 - "Dong... ding, ding"
1:45 - "Dong... ding, ding, ding"
2:00 - "Dong, dong"
2:15 - "Dong, dong... ding"
2:30 - "Dong, dong... ding, ding"
and so on until
12:45 - "Dong, dong, dong, dong, dong, dong, dong, dong, dong, dong, dong, dong... ding, ding, ding"
and then repeat

I don't have the map installed at the moment, so I can't check exactly how it worked, but it involved one main set of dispatchers keeping time, which every fifteen minutes triggered another dispatcher (probably one for each of the quarter hours in a 12 hour period).

The scripted sequence wasn't that compex, it was just a case of getting the maths right. The tricky part was testing it, which could have taken 12 hours, but which I eventually did using the SLOMO command to speed time up. The same map has the time visible on a clock face, you see, so I was able to reduce the game speed back to slomo 1 when I wanted to test the chimes at a particular quarter hour.

(Unfortunately I was unable to get the correct looping effect by rotating movers between keyframes, so the clock's "hands" are just dots that move around the clockface, which rather undermines the whole thing.)
Image
Life is what you make of it.

User avatar cronodevir
Skaarj Berserker Skaarj Berserker
Posts: 271
Joined: 12 Nov 2007, 07:46

Subject:

Post Posted: 06 Apr 2008, 08:46

I made a computer using the[i forgot the name..but it was like usable screen..but way better :S] computer mod from the polish guys. [yeah..i got leet access !] to bad i lost everything i was working on. after loosing everything for a 3rd time..ive decided to just not map anymore...lol.
I'm Garble and MrBlowtatoes

Az
Skaarj Scout Skaarj Scout
Posts: 11
Joined: 07 Apr 2008, 00:20
Location: Oldunreal - UTSP

Subject:

Post Posted: 23 Apr 2008, 04:55

A map with 64 zones that I started half decade ago and still not done... It causes UED to crash if I try to rebuild it with all, over 50 groups, unhidden.

User avatar Turboman
Skaarj Berserker Skaarj Berserker
Posts: 457
Joined: 13 Nov 2007, 16:18
Location: The Netherlands
Contact:

Subject:

Post Posted: 23 Apr 2008, 10:43

The most complicated thing i made was a digital clock that was entirely built out of movers, each number was a mover on itself and it would count down from two minutes, the amount of dispatchers would control which mover (number) was called at which time, and many had to be called five or six times at least.
The initial sequence was very complicated and involved a dozen of dispatchers. I left it untouched for years before i used it again, and somewhere there i screwed up or something because it did not count properly anymore, and would instead display random numerals in a chaos. Not understanding what exactly happened i decided to scale it down and start over, now the countdown only lasts 30 seconds ;)

Imo creating scripted sequences can somehow be the least fun part of mapping imo. I'm not bad at creating them, but they always involve trial-and-error work where you have to switch from ued to unreal, fix in ued, test in unreal, fix in ued, test in unreal, fix in ued etc... which can be particulary annoying if you're creating cutscenes that last over 5 minutes. You have to watch the ENTIRE thing to the end, then fix it in ued, then do that process again aaaaah.....

User avatar Hellscrag
Founder Founder
Posts: 4007
Joined: 11 Nov 2007, 19:14
Location: In a random access memory of dreams

Subject:

Post Posted: 23 Apr 2008, 20:31

Az wrote:A map with 64 zones that I started half decade ago and still not done... It causes UED to crash if I try to rebuild it with all, over 50 groups, unhidden.


Sounds like you hit the 65536 node limit!
Image

Life is what you make of it.

Az
Skaarj Scout Skaarj Scout
Posts: 11
Joined: 07 Apr 2008, 00:20
Location: Oldunreal - UTSP

Subject:

Post Posted: 23 Apr 2008, 22:03

With over 2k lights and over 5k brushes I must have...

But I'm still able to rebuild it if I close all viewpoints first.

wael
Skaarj Lord Skaarj Lord
Posts: 200
Joined: 15 Nov 2007, 19:07
Location: KSA, Jeddah
Contact:

Subject:

Post Posted: 23 Apr 2008, 23:17

The most complicated thing i've done is my BfNP map (the mine one) I had to split in two and it still has node trouble. If BfNP (god forbid) gets cancelled i'll add some stuff and release it. It's the map I'm most proud of.
BTW Waff, holy fucking shit.

User avatar Hellscrag
Founder Founder
Posts: 4007
Joined: 11 Nov 2007, 19:14
Location: In a random access memory of dreams

Subject:

Post Posted: 23 Apr 2008, 23:19

Az wrote:With over 2k lights and over 5k brushes I must have...

But I'm still able to rebuild it if I close all viewpoints first.


Definitely sounds like the node limit. You either need to reduce the level of detail, turn some of the details into meshes, or split the map in two.

There is also a maximum limit of 64 zones (above which the zone count will appear in the stats window as 63). If you exceed this, zones will start to merge at random when you rebuild.
Image

Life is what you make of it.

Az
Skaarj Scout Skaarj Scout
Posts: 11
Joined: 07 Apr 2008, 00:20
Location: Oldunreal - UTSP

Subject:

Post Posted: 23 Apr 2008, 23:42

My map is doomed, it was rebuilding because the it hadn't reached the node limit yet... but after some more work it did reach the limit and won't compile anymore.

User avatar Buff Skeleton
>:E >:E
Posts: 4173
Joined: 15 Dec 2007, 00:46

Subject:

Post Posted: 24 Apr 2008, 00:03

Split the map in two, then?

Az
Skaarj Scout Skaarj Scout
Posts: 11
Joined: 07 Apr 2008, 00:20
Location: Oldunreal - UTSP

Subject:

Post Posted: 25 Apr 2008, 03:04

Image

For some reason the semi solids are turning non solid everywhere in this map.... I'm trying to make lamps, trims, edges, corners, stairs, almost everything that isn't part of the "hull" of this map's structure with semi solids.

User avatar StalwartUK
Skaarj Berserker Skaarj Berserker
Posts: 362
Joined: 11 Nov 2007, 21:31
Location: UK

Subject:

Post Posted: 25 Apr 2008, 03:50

No wonder you're having problems with a level like that. Try converting some of the brushes to meshes (via MeshMaker), merging brush polys and generally just simplifying the architecture. Remember, guys the first Unreal Engine was never designed to withstand these kinds of extremes!
StalwartUK


Who is online

Users browsing this forum: No registered users and 33 guests

Copyright © 2001-2024 UnrealSP.org

Powered by phpBB® Forum Software © phpBB Limited